Skip to content

Commit ff50bb0

Browse files
authored
Add file system target property (#247)
1 parent f77afb5 commit ff50bb0

File tree

30 files changed

+249
-242
lines changed

30 files changed

+249
-242
lines changed

afs/aws/aws/src/main/java/org/eclipse/store/afs/aws/types/AwsFileSystemCreator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@
3232

3333
public abstract class AwsFileSystemCreator extends ConfigurationBasedCreator.Abstract<AFileSystem>
3434
{
35-
protected AwsFileSystemCreator()
35+
protected AwsFileSystemCreator(final String key)
3636
{
37-
super(AFileSystem.class);
37+
super(AFileSystem.class, key);
3838
}
3939

4040
protected void populateBuilder(

afs/aws/dynamodb/src/main/java/org/eclipse/store/afs/aws/dynamodb/types/DynamoDbFileSystemCreator.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,17 @@ public class DynamoDbFileSystemCreator extends AwsFileSystemCreator
2626
{
2727
public DynamoDbFileSystemCreator()
2828
{
29-
super();
29+
super("aws.dynamodb");
3030
}
3131

3232
@Override
33-
public AFileSystem create(
34-
final Configuration configuration
35-
)
33+
public AFileSystem create(final Configuration configuration)
3634
{
37-
final Configuration dynamoConfiguration = configuration.child("aws.dynamodb");
38-
if(dynamoConfiguration == null)
39-
{
40-
return null;
41-
}
42-
4335
final DynamoDbClientBuilder clientBuilder = DynamoDbClient.builder();
44-
this.populateBuilder(clientBuilder, dynamoConfiguration);
36+
this.populateBuilder(clientBuilder, configuration);
4537

4638
final DynamoDbClient client = clientBuilder.build();
47-
final boolean cache = dynamoConfiguration.optBoolean("cache").orElse(true);
39+
final boolean cache = configuration.optBoolean("cache").orElse(true);
4840
final DynamoDbConnector connector = cache
4941
? DynamoDbConnector.Caching(client)
5042
: DynamoDbConnector.New(client)

afs/aws/s3/src/main/java/org/eclipse/store/afs/aws/s3/types/S3FileSystemCreator.java

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,26 +27,18 @@ public class S3FileSystemCreator extends AwsFileSystemCreator
2727
{
2828
public S3FileSystemCreator()
2929
{
30-
super();
30+
super("aws.s3");
3131
}
3232

3333
@Override
34-
public AFileSystem create(
35-
final Configuration configuration
36-
)
34+
public AFileSystem create(final Configuration configuration)
3735
{
38-
final Configuration s3Configuration = configuration.child("aws.s3");
39-
if(s3Configuration == null)
40-
{
41-
return null;
42-
}
43-
4436
final S3ClientBuilder clientBuilder = S3Client.builder();
45-
this.populateBuilder(clientBuilder, s3Configuration);
37+
this.populateBuilder(clientBuilder, configuration);
4638

4739
final S3Client client = clientBuilder.build();
48-
final boolean cache = s3Configuration.optBoolean("cache").orElse(true);
49-
final boolean directory = s3Configuration.optBoolean("directory-bucket").orElse(false);
40+
final boolean cache = configuration.optBoolean("cache").orElse(true);
41+
final boolean directory = configuration.optBoolean("directory-bucket").orElse(false);
5042
final S3Connector connector =
5143
directory
5244
? (cache

afs/azure/storage/src/main/java/org/eclipse/store/afs/azure/storage/types/AzureStorageFileSystemCreator.java

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,44 +29,38 @@ public class AzureStorageFileSystemCreator extends ConfigurationBasedCreator.Abs
2929
{
3030
public AzureStorageFileSystemCreator()
3131
{
32-
super(AFileSystem.class);
32+
super(AFileSystem.class, "azure.storage");
3333
}
3434

3535
@Override
3636
public AFileSystem create(
3737
final Configuration configuration
3838
)
3939
{
40-
final Configuration azureConfiguration = configuration.child("azure.storage");
41-
if(azureConfiguration == null)
42-
{
43-
return null;
44-
}
45-
4640
final BlobServiceClientBuilder clientBuilder = new BlobServiceClientBuilder();
4741

48-
azureConfiguration.opt("endpoint").ifPresent(
42+
configuration.opt("endpoint").ifPresent(
4943
value -> clientBuilder.endpoint(value)
5044
);
5145

52-
azureConfiguration.opt("connection-string").ifPresent(
46+
configuration.opt("connection-string").ifPresent(
5347
value -> clientBuilder.connectionString(value)
5448
);
5549

56-
azureConfiguration.opt("encryption-scope").ifPresent(
50+
configuration.opt("encryption-scope").ifPresent(
5751
value -> clientBuilder.encryptionScope(value)
5852
);
5953

60-
azureConfiguration.opt("credentials.type").ifPresent(credentialsType ->
54+
configuration.opt("credentials.type").ifPresent(credentialsType ->
6155
{
6256
switch(credentialsType)
6357
{
6458
case "basic":
6559
{
6660
clientBuilder.credential(
6761
new BasicAuthenticationCredential(
68-
azureConfiguration.get("credentials.username"),
69-
azureConfiguration.get("credentials.password")
62+
configuration.get("credentials.username"),
63+
configuration.get("credentials.password")
7064
)
7165
);
7266
}
@@ -76,8 +70,8 @@ public AFileSystem create(
7670
{
7771
clientBuilder.credential(
7872
new StorageSharedKeyCredential(
79-
azureConfiguration.get("credentials.account-name"),
80-
azureConfiguration.get("credentials.account-key")
73+
configuration.get("credentials.account-name"),
74+
configuration.get("credentials.account-key")
8175
)
8276
);
8377
}
@@ -88,7 +82,7 @@ public AFileSystem create(
8882
}
8983
});
9084

91-
final Configuration furtherConfiguration = azureConfiguration.child("configuration");
85+
final Configuration furtherConfiguration = configuration.child("configuration");
9286
if(furtherConfiguration != null)
9387
{
9488
final com.azure.core.util.Configuration config = new com.azure.core.util.Configuration();
@@ -101,7 +95,7 @@ public AFileSystem create(
10195
}
10296

10397
final BlobServiceClient client = clientBuilder.buildClient();
104-
final boolean cache = azureConfiguration.optBoolean("cache").orElse(true);
98+
final boolean cache = configuration.optBoolean("cache").orElse(true);
10599
final AzureStorageConnector connector = cache
106100
? AzureStorageConnector.Caching(client)
107101
: AzureStorageConnector.New(client)

afs/googlecloud/firestore/src/main/java/org/eclipse/store/afs/googlecloud/firestore/types/GoogleCloudFirestoreFileSystemCreator.java

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,53 +38,45 @@ public class GoogleCloudFirestoreFileSystemCreator extends ConfigurationBasedCre
3838

3939
public GoogleCloudFirestoreFileSystemCreator()
4040
{
41-
super(AFileSystem.class);
41+
super(AFileSystem.class, "googlecloud.firestore");
4242
}
4343

4444
@Override
45-
public AFileSystem create(
46-
final Configuration configuration
47-
)
45+
public AFileSystem create(final Configuration configuration)
4846
{
49-
final Configuration firestoreConfiguration = configuration.child("googlecloud.firestore");
50-
if(firestoreConfiguration == null)
51-
{
52-
return null;
53-
}
54-
5547
final FirestoreOptions.Builder optionsBuilder = FirestoreOptions.getDefaultInstance().toBuilder();
5648

57-
firestoreConfiguration.opt("client-lib-token").ifPresent(
49+
configuration.opt("client-lib-token").ifPresent(
5850
value -> optionsBuilder.setClientLibToken(value)
5951
);
6052

61-
firestoreConfiguration.opt("database-id").ifPresent(
53+
configuration.opt("database-id").ifPresent(
6254
value -> optionsBuilder.setDatabaseId(value)
6355
);
6456

65-
firestoreConfiguration.opt("emulator-host").ifPresent(
57+
configuration.opt("emulator-host").ifPresent(
6658
value -> optionsBuilder.setEmulatorHost(value)
6759
);
6860

69-
firestoreConfiguration.opt("host").ifPresent(
61+
configuration.opt("host").ifPresent(
7062
value -> optionsBuilder.setHost(value)
7163
);
7264

73-
firestoreConfiguration.opt("project-id").ifPresent(
65+
configuration.opt("project-id").ifPresent(
7466
value -> optionsBuilder.setProjectId(value)
7567
);
7668

77-
firestoreConfiguration.opt("quota-project-id").ifPresent(
69+
configuration.opt("quota-project-id").ifPresent(
7870
value -> optionsBuilder.setQuotaProjectId(value)
7971
);
8072

8173
this.createCredentials(
82-
firestoreConfiguration,
74+
configuration,
8375
optionsBuilder
8476
);
8577

8678
final Firestore firestore = optionsBuilder.build().getService();
87-
final boolean cache = firestoreConfiguration.optBoolean("cache").orElse(true);
79+
final boolean cache = configuration.optBoolean("cache").orElse(true);
8880
final GoogleCloudFirestoreConnector connector = cache
8981
? GoogleCloudFirestoreConnector.Caching(firestore)
9082
: GoogleCloudFirestoreConnector.New(firestore)

afs/kafka/src/main/java/org/eclipse/store/afs/kafka/types/KafkaFileSystemCreator.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,17 @@ public class KafkaFileSystemCreator extends ConfigurationBasedCreator.Abstract<A
2626
{
2727
public KafkaFileSystemCreator()
2828
{
29-
super(AFileSystem.class);
29+
super(AFileSystem.class, "kafka");
3030
}
3131

3232
@Override
3333
public AFileSystem create(
3434
final Configuration configuration
3535
)
3636
{
37-
final Configuration kafkaConfiguration = configuration.child("kafka-properties");
38-
if(kafkaConfiguration == null)
39-
{
40-
return null;
41-
}
42-
4337
final Properties kafkaProperties = new Properties();
44-
kafkaProperties.putAll(kafkaConfiguration.coalescedMap());
45-
final boolean cache = kafkaConfiguration.optBoolean("cache").orElse(true);
38+
kafkaProperties.putAll(configuration.coalescedMap());
39+
final boolean cache = configuration.optBoolean("cache").orElse(true);
4640
final KafkaConnector connector = cache
4741
? KafkaConnector.Caching(kafkaProperties)
4842
: KafkaConnector.New(kafkaProperties)

afs/oraclecloud/objectstorage/src/main/java/org/eclipse/store/afs/oraclecloud/objectstorage/types/OracleCloudObjectStorageFileSystemCreator.java

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,24 +42,16 @@ public class OracleCloudObjectStorageFileSystemCreator extends ConfigurationBase
4242

4343
public OracleCloudObjectStorageFileSystemCreator()
4444
{
45-
super(AFileSystem.class);
45+
super(AFileSystem.class, "oraclecloud.object-storage");
4646
}
4747

4848
@Override
49-
public AFileSystem create(
50-
final Configuration configuration
51-
)
49+
public AFileSystem create(final Configuration configuration)
5250
{
53-
final Configuration objectStorageConfiguration = configuration.child("oraclecloud.object-storage");
54-
if(objectStorageConfiguration == null)
55-
{
56-
return null;
57-
}
58-
5951
String filePath = null;
6052
String profile = null;
6153
Charset charset = StandardCharsets.UTF_8;
62-
final Configuration configFileConfiguration = objectStorageConfiguration.child("config-file");
54+
final Configuration configFileConfiguration = configuration.child("config-file");
6355
if(configFileConfiguration != null)
6456
{
6557
filePath = configFileConfiguration.get("path");
@@ -87,7 +79,7 @@ public AFileSystem create(
8779
;
8880

8981
final ClientConfigurationBuilder clientConfigurationBuilder = ClientConfiguration.builder();
90-
final Configuration clientConfiguration = objectStorageConfiguration.child("client");
82+
final Configuration clientConfiguration = configuration.child("client");
9183
if(clientConfiguration != null)
9284
{
9385
this.createClientConfiguration(
@@ -100,14 +92,14 @@ public AFileSystem create(
10092
authDetailsProvider,
10193
clientConfigurationBuilder.build()
10294
);
103-
objectStorageConfiguration.opt("region").ifPresent(
95+
configuration.opt("region").ifPresent(
10496
value -> client.setRegion(value)
10597
);
106-
objectStorageConfiguration.opt("endpoint").ifPresent(
98+
configuration.opt("endpoint").ifPresent(
10799
value -> client.setEndpoint(value)
108100
);
109101

110-
final boolean cache = objectStorageConfiguration.optBoolean("cache").orElse(true);
102+
final boolean cache = configuration.optBoolean("cache").orElse(true);
111103
final OracleCloudObjectStorageConnector connector = cache
112104
? OracleCloudObjectStorageConnector.Caching(client)
113105
: OracleCloudObjectStorageConnector.New(client)
@@ -116,7 +108,7 @@ public AFileSystem create(
116108
}
117109
catch(final IOException e)
118110
{
119-
throw new ConfigurationException(objectStorageConfiguration, e);
111+
throw new ConfigurationException(configuration, e);
120112
}
121113
}
122114

afs/redis/src/main/java/org/eclipse/store/afs/redis/types/RedisFileSystemCreator.java

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import org.eclipse.serializer.afs.types.AFileSystem;
1818
import org.eclipse.serializer.chars.XChars;
19+
import org.eclipse.serializer.configuration.exceptions.ConfigurationException;
1920
import org.eclipse.serializer.configuration.types.Configuration;
2021
import org.eclipse.serializer.configuration.types.ConfigurationBasedCreator;
2122
import org.eclipse.store.afs.blobstore.types.BlobStoreFileSystem;
@@ -25,27 +26,19 @@ public class RedisFileSystemCreator extends ConfigurationBasedCreator.Abstract<A
2526
{
2627
public RedisFileSystemCreator()
2728
{
28-
super(AFileSystem.class);
29+
super(AFileSystem.class, "redis");
2930
}
3031

3132
@Override
32-
public AFileSystem create(
33-
final Configuration configuration
34-
)
33+
public AFileSystem create(final Configuration configuration)
3534
{
36-
final Configuration redisConfiguration = configuration.child("redis");
37-
if(redisConfiguration == null)
38-
{
39-
return null;
40-
}
41-
42-
final String redisUri = redisConfiguration.get("uri");
35+
final String redisUri = configuration.get("uri");
4336
if(XChars.isEmpty(redisUri))
4437
{
45-
return null;
38+
throw new ConfigurationException(configuration, "redis.uri cannot be empty");
4639
}
4740

48-
final boolean cache = redisConfiguration.optBoolean("cache").orElse(true);
41+
final boolean cache = configuration.optBoolean("cache").orElse(true);
4942
final RedisConnector connector = cache
5043
? RedisConnector.Caching(redisUri)
5144
: RedisConnector.New(redisUri)

0 commit comments

Comments
 (0)