@@ -47,6 +47,10 @@ public class InesdataAssetValidator {
4747 public static final String PROPERTY_ASSET_TYPE = EDC_NAMESPACE + "assetType" ;
4848 public static final String PROPERTY_KEYWORD = DCAT_SCHEMA + "keyword" ;
4949 public static final String PROPERTY_AMAZONS3_REGION = EDC_NAMESPACE + "region" ;
50+ public static final String PROPERTY_AMAZONS3_BUCKET_NAME = EDC_NAMESPACE + "bucketName" ;
51+ public static final String PROPERTY_AMAZONS3_ACCESS_KEY_ID = EDC_NAMESPACE + "accessKeyId" ;
52+ public static final String PROPERTY_AMAZONS3_SECRET_ACCESS_KEY = EDC_NAMESPACE + "secretAccessKey" ;
53+ public static final String PROPERTY_AMAZONS3_ENDPOINT_OVERRIDE = EDC_NAMESPACE + "endpointOverride" ;
5054 public static final String PROPERTY_HTTP_DATA_BASE_URL = EDC_NAMESPACE + "baseUrl" ;
5155 public static final String PROPERTY_ASSET_DATA = EDC_NAMESPACE + "assetData" ;
5256
@@ -184,6 +188,34 @@ private ValidationResult validateAmazonS3(JsonObject dataAddress) {
184188 ));
185189 }
186190
191+ if (extractValueFromJsonArray (dataAddress , PROPERTY_AMAZONS3_BUCKET_NAME ) == null ) {
192+ violations .add (violation (
193+ "Field 'https://w3id.org/edc/v0.0.1/ns/bucketName' is required for AmazonS3 DataAddress type" ,
194+ PROPERTY_AMAZONS3_BUCKET_NAME
195+ ));
196+ }
197+
198+ if (extractValueFromJsonArray (dataAddress , PROPERTY_AMAZONS3_ACCESS_KEY_ID ) == null ) {
199+ violations .add (violation (
200+ "Field 'https://w3id.org/edc/v0.0.1/ns/accessKeyId' is required for AmazonS3 DataAddress type" ,
201+ PROPERTY_AMAZONS3_ACCESS_KEY_ID
202+ ));
203+ }
204+
205+ if (extractValueFromJsonArray (dataAddress , PROPERTY_AMAZONS3_SECRET_ACCESS_KEY ) == null ) {
206+ violations .add (violation (
207+ "Field 'https://w3id.org/edc/v0.0.1/ns/secretAccessKey' is required for AmazonS3 DataAddress type" ,
208+ PROPERTY_AMAZONS3_SECRET_ACCESS_KEY
209+ ));
210+ }
211+
212+ if (extractValueFromJsonArray (dataAddress , PROPERTY_AMAZONS3_ENDPOINT_OVERRIDE ) == null ) {
213+ violations .add (violation (
214+ "Field 'https://w3id.org/edc/v0.0.1/ns/endpointOverride' is required for AmazonS3 DataAddress type" ,
215+ PROPERTY_AMAZONS3_ENDPOINT_OVERRIDE
216+ ));
217+ }
218+
187219 return violations .isEmpty () ? ValidationResult .success () : ValidationResult .failure (violations );
188220 }
189221
0 commit comments