1818
1919package org .mycore .mcr .acl .accesskey .cli ;
2020
21- import static java .nio .charset .StandardCharsets .UTF_8 ;
22-
2321import java .io .IOException ;
2422import java .nio .file .Files ;
2523import java .nio .file .Path ;
3331import org .mycore .mcr .acl .accesskey .exception .MCRAccessKeyException ;
3432import org .mycore .mcr .acl .accesskey .exception .MCRAccessKeyNotFoundException ;
3533import org .mycore .mcr .acl .accesskey .mapper .MCRAccessKeyJsonMapper ;
36- import org .mycore .mcr .acl .accesskey .service .MCRAccessKeyServiceFactory ;
34+ import org .mycore .mcr .acl .accesskey .service .MCRAccessKeyService ;
35+ import org .mycore .mcr .acl .accesskey .service .MCRAccessKeyServiceProvider ;
36+ import org .mycore .mcr .acl .accesskey .service .MCRAccessKeyUserService ;
37+
38+ import static java .nio .charset .StandardCharsets .UTF_8 ;
3739
3840/**
3941 * Command class for managing access keys in the system.
@@ -43,14 +45,16 @@ public class MCRAccessKeyCommands {
4345
4446 private static final Logger LOGGER = LogManager .getLogger ();
4547
48+ private static final MCRAccessKeyService SERVICE = MCRAccessKeyServiceProvider .obtainInstance ();
49+
4650 /**
4751 * Removes all access keys.
4852 *
49- * @see org.mycore.mcr.acl.accesskey.service.MCRAccessKeyServiceImpl #removeAllAccessKeys()
53+ * @see org.mycore.mcr.acl.accesskey.service.MCRAccessKeyService #removeAllAccessKeys()
5054 */
5155 @ MCRCommand (syntax = "clear all access keys" , help = "Clears all access keys" )
5256 public static void removeAllAccessKeys () {
53- MCRAccessKeyServiceFactory . getAccessKeyService () .removeAllAccessKeys ();
57+ SERVICE .removeAllAccessKeys ();
5458 LOGGER .info ("Cleared all access keys." );
5559 }
5660
@@ -61,7 +65,7 @@ public static void removeAllAccessKeys() {
6165 */
6266 @ MCRCommand (syntax = "clear all access keys for {0}" , help = "Clears all access keys for reference {0}" )
6367 public static void removeAccessKeysByReference (String reference ) {
64- MCRAccessKeyServiceFactory . getAccessKeyService () .removeAccessKeysByReference (reference );
68+ SERVICE .removeAccessKeysByReference (reference );
6569 LOGGER .info ("Cleared all access keys of {}." , reference );
6670 }
6771
@@ -78,7 +82,7 @@ public static void removeAccessKeysByReference(String reference) {
7882 public static void createAccessKey (String reference , String path ) throws IOException {
7983 final MCRAccessKeyDto accessKeyDto = readAccessKeyFromFile (path );
8084 accessKeyDto .setReference (reference );
81- MCRAccessKeyServiceFactory . getAccessKeyService () .addAccessKey (accessKeyDto );
85+ SERVICE .addAccessKey (accessKeyDto );
8286 LOGGER .info ("Created access key for {}." , reference );
8387 }
8488
@@ -95,12 +99,11 @@ public static void createAccessKey(String reference, String path) throws IOExcep
9599 help = "Updates an access key for reference {0} with (hashed) secret {1} from file {2} in JSON format" )
96100 public static void updateAccessKey (String reference , String secret , String path ) throws IOException {
97101 final MCRAccessKeyDto accessKeyDto = readAccessKeyFromFile (path );
98- final MCRAccessKeyDto outdatedAccessKeyDto
99- = MCRAccessKeyServiceFactory .getAccessKeyService ().findAccessKeyByReferenceAndSecret (reference , secret );
102+ final MCRAccessKeyDto outdatedAccessKeyDto = SERVICE .findAccessKeyByReferenceAndSecret (reference , secret );
100103 if (outdatedAccessKeyDto == null ) {
101104 throw new MCRAccessKeyNotFoundException ("Access key does not exist" );
102105 }
103- MCRAccessKeyServiceFactory . getAccessKeyService () .updateAccessKey (outdatedAccessKeyDto .getId (), accessKeyDto );
106+ SERVICE .updateAccessKey (outdatedAccessKeyDto .getId (), accessKeyDto );
104107 LOGGER .info ("Updated access key ({}) for {}." , secret , reference );
105108 }
106109
@@ -114,12 +117,11 @@ public static void updateAccessKey(String reference, String secret, String path)
114117 @ MCRCommand (syntax = "delete access key for {0} with secret {1}" ,
115118 help = "Deletes an access key for reference {0} with (processed) secret {1}" )
116119 public static void removeAccessKey (String reference , String secret ) {
117- final MCRAccessKeyDto outdatedAccessKeyDto
118- = MCRAccessKeyServiceFactory .getAccessKeyService ().findAccessKeyByReferenceAndSecret (reference , secret );
120+ final MCRAccessKeyDto outdatedAccessKeyDto = SERVICE .findAccessKeyByReferenceAndSecret (reference , secret );
119121 if (outdatedAccessKeyDto == null ) {
120122 throw new MCRAccessKeyNotFoundException ("Access key does not exist" );
121123 }
122- MCRAccessKeyServiceFactory . getAccessKeyService () .removeAccessKey (outdatedAccessKeyDto .getId ());
124+ SERVICE .removeAccessKey (outdatedAccessKeyDto .getId ());
123125 LOGGER .info ("Deleted access key ({}) for {}." , secret , reference );
124126 }
125127
@@ -138,7 +140,7 @@ public static void importAccessKeysFromFile(String reference, String path) throw
138140 final List <MCRAccessKeyDto > accessKeyDtos
139141 = MCRAccessKeyJsonMapper .jsonToAccessKeyDtos (json ).stream ().peek (a -> a .setReference (reference )).toList ();
140142 for (MCRAccessKeyDto accessKeyDto : accessKeyDtos ) {
141- MCRAccessKeyServiceFactory . getAccessKeyService () .importAccessKey (accessKeyDto );
143+ SERVICE .importAccessKey (accessKeyDto );
142144 }
143145 LOGGER .info ("Imported access keys for {} from file {}." , reference , path );
144146 }
@@ -154,8 +156,7 @@ public static void importAccessKeysFromFile(String reference, String path) throw
154156 @ MCRCommand (syntax = "export access keys for {0} to file {1}" ,
155157 help = "Exports access keys for reference {0} to file {1} in JSON array format" )
156158 public static void exportAccessKeysToFile (String reference , String path ) throws IOException {
157- final List <MCRAccessKeyDto > accessKeyDtos
158- = MCRAccessKeyServiceFactory .getAccessKeyService ().findAccessKeysByReference (reference );
159+ final List <MCRAccessKeyDto > accessKeyDtos = SERVICE .findAccessKeysByReference (reference );
159160 final String json = MCRAccessKeyJsonMapper .accessKeyDtosToJson (accessKeyDtos );
160161 Files .writeString (Path .of (path ), json , UTF_8 );
161162 LOGGER .info ("Exported access keys for {} to file {}." , reference , path );
@@ -167,7 +168,7 @@ public static void exportAccessKeysToFile(String reference, String path) throws
167168 @ MCRCommand (syntax = "clean up access key user attributes" ,
168169 help = "Cleans all access key secret attributes of users if the corresponding key does not exist." )
169170 public static void cleanUp () {
170- MCRAccessKeyServiceFactory . getAccessKeyUserService ().cleanUpUserAttributes ();
171+ MCRAccessKeyUserService . obtainInstance ().cleanUpUserAttributes ();
171172 LOGGER .info ("Cleaned up access keys." );
172173 }
173174
@@ -179,7 +180,7 @@ public static void cleanUp() {
179180 */
180181 @ MCRCommand (syntax = "hash access key secret {0} for {1}" , help = "Hashes secret {0} for reference {1}" )
181182 public static void processSecret (String secret , String reference ) {
182- final String result = MCRAccessKeyServiceFactory . getAccessKeyService () .processSecret (reference , secret );
183+ final String result = SERVICE .processSecret (reference , secret );
183184 LOGGER .info ("Processed secret for {}: '{}'." , reference , result );
184185 }
185186
0 commit comments