Skip to content

Commit 79e494a

Browse files
committed
Use service loader.
1 parent c4137cb commit 79e494a

File tree

2 files changed

+4
-28
lines changed

2 files changed

+4
-28
lines changed

hub/src/main/java/cloud/katta/protocols/s3/S3AssumeRoleProtocol.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ public class S3AssumeRoleProtocol extends S3Protocol {
1616

1717
// Token exchange
1818
public static final String OAUTH_TOKENEXCHANGE = "oauth.tokenexchange";
19-
public static final String OAUTH_TOKENEXCHANGE_VAULT = "oauth.tokenexchange.vault";
2019

2120
// STS assume role with web identity resource name
2221
public static final String S3_ASSUMEROLE_ROLEARN_WEBIDENTITY = Profile.STS_ROLE_ARN_PROPERTY_KEY;
@@ -25,16 +24,6 @@ public class S3AssumeRoleProtocol extends S3Protocol {
2524
public static final String S3_ASSUMEROLE_ROLEARN_TAG = "s3.assumerole.rolearn.tag";
2625
public static final String S3_ASSUMEROLE_ROLEARN_CREATE_BUCKET = "s3.assumerole.rolearn.createbucket";
2726

28-
private final String authorization;
29-
30-
public S3AssumeRoleProtocol() {
31-
this("AuthorizationCode");
32-
}
33-
34-
public S3AssumeRoleProtocol(final String authorization) {
35-
this.authorization = authorization;
36-
}
37-
3827
@Override
3928
public String getIdentifier() {
4029
return "s3-assumerole";
@@ -50,11 +39,6 @@ public String getPrefix() {
5039
return String.format("%s.%s", S3AssumeRoleProtocol.class.getPackage().getName(), "S3AssumeRole");
5140
}
5241

53-
@Override
54-
public String getAuthorization() {
55-
return authorization;
56-
}
57-
5842
@Override
5943
@SuppressWarnings("unchecked")
6044
public <T> T getFeature(final Class<T> type) {

hub/src/test/java/cloud/katta/testsetup/AbstractHubTest.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import ch.cyberduck.core.preferences.Preferences;
1010
import ch.cyberduck.core.preferences.PreferencesFactory;
1111
import ch.cyberduck.core.profiles.LocalProfilesFinder;
12+
import ch.cyberduck.core.serviceloader.AnnotationAutoServiceLoader;
1213
import ch.cyberduck.core.ssl.DefaultX509KeyManager;
1314
import ch.cyberduck.core.ssl.DefaultX509TrustManager;
1415
import ch.cyberduck.core.vault.VaultRegistryFactory;
@@ -28,11 +29,9 @@
2829

2930
import cloud.katta.core.DeviceSetupCallback;
3031
import cloud.katta.model.AccountKeyAndDeviceName;
31-
import cloud.katta.protocols.hub.HubProtocol;
3232
import cloud.katta.protocols.hub.HubSession;
3333
import cloud.katta.protocols.hub.HubUVFVault;
3434
import cloud.katta.protocols.hub.HubVaultRegistry;
35-
import cloud.katta.protocols.s3.S3AssumeRoleProtocol;
3635

3736
import static org.junit.jupiter.api.Assertions.assertNotNull;
3837
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -165,17 +164,10 @@ private static String staticSetupCode() {
165164

166165
protected static HubSession setupConnection(final HubTestConfig.Setup setup) throws Exception {
167166
final ProtocolFactory factory = ProtocolFactory.get();
168-
// ProtocolFactory.get() is static, the profiles contains OAuth token URL, leads to invalid grant exceptions when this changes during class loading lifetime (e.g. if the same storage profile ID is deployed to the LOCAL and the HYBRID hub).
169-
for(final Protocol protocol : factory.find()) {
170-
if(protocol instanceof Profile) {
171-
factory.unregister((Profile) protocol);
172-
}
173-
}
174167
// Register parent protocol definitions
175-
factory.register(
176-
new HubProtocol(),
177-
new S3AssumeRoleProtocol("PasswordGrant")
178-
);
168+
for(Protocol p : new AnnotationAutoServiceLoader<Protocol>().load(Protocol.class)) {
169+
factory.register(p);
170+
}
179171
// Load bundled profiles
180172
factory.load(new LocalProfilesFinder(factory, new Local(AbstractHubTest.class.getResource("/").toURI().getPath())));
181173
assertNotNull(factory.forName("hub"));

0 commit comments

Comments
 (0)