diff --git a/indexer-service-azure/pom.xml b/indexer-service-azure/pom.xml index 53660ea2489a326dc0063d587e4486345c2befdf..438bda1b1732fb17716340afa2ca0d30b06a7fcb 100644 --- a/indexer-service-azure/pom.xml +++ b/indexer-service-azure/pom.xml @@ -63,7 +63,7 @@ <configuration> <classifier>spring-boot</classifier> <mainClass> - org.opendes.indexer.IndexerAzureApplication + org.opendes.indexer.azure.IndexerAzureApplication </mainClass> </configuration> </execution> diff --git a/indexer-service-azure/src/main/java/IndexerAzureApplication.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/IndexerAzureApplication.java similarity index 88% rename from indexer-service-azure/src/main/java/IndexerAzureApplication.java rename to indexer-service-azure/src/main/java/org/opendes/indexer/azure/IndexerAzureApplication.java index 4e2e80363e9327d204373e6a6d5177a924f04734..0662e463ff994655ca1d18f0d172eaab6493dcb5 100644 --- a/indexer-service-azure/src/main/java/IndexerAzureApplication.java +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/IndexerAzureApplication.java @@ -1,9 +1,13 @@ +package org.opendes.indexer.azure; + import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class IndexerAzureApplication { + public static void main(String[] args) { SpringApplication.run(IndexerAzureApplication.class, args); } + } diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/EntitlementsClientFactory.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/EntitlementsClientFactory.java similarity index 93% rename from indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/EntitlementsClientFactory.java rename to indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/EntitlementsClientFactory.java index 9a35576266d1741c332271a35f977fc7363eec5a..fea892cb0cd8b19c5a147a685eae16693694fab2 100644 --- a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/EntitlementsClientFactory.java +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/EntitlementsClientFactory.java @@ -1,4 +1,4 @@ -package org.opendes.indexer.azure.util.di; +package org.opendes.indexer.azure.di; import org.opendes.client.api.entitlements.IEntitlementsFactory; import org.springframework.beans.factory.config.AbstractFactoryBean; diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/EntitlementsFactoryAzure.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/EntitlementsFactoryAzure.java similarity index 89% rename from indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/EntitlementsFactoryAzure.java rename to indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/EntitlementsFactoryAzure.java index ee5fd82803f8d4bcdb684de84c1b28b93736165f..b4dc544dfcffbae670d1f5deada5ffcfe98b1ccf 100644 --- a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/EntitlementsFactoryAzure.java +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/EntitlementsFactoryAzure.java @@ -1,4 +1,4 @@ -package org.opendes.indexer.azure.util.di; +package org.opendes.indexer.azure.di; import org.opendes.client.api.DpsHeaders; import org.opendes.client.api.entitlements.IEntitlementsFactory; diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/EntitlementsServiceAzure.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/EntitlementsServiceAzure.java similarity index 98% rename from indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/EntitlementsServiceAzure.java rename to indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/EntitlementsServiceAzure.java index eb20161adae2f491cc3f4711baf535dbbe3030a5..d805136b92d7f61bfa6a2c20058596772d576d85 100644 --- a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/EntitlementsServiceAzure.java +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/EntitlementsServiceAzure.java @@ -1,4 +1,4 @@ -package org.opendes.indexer.azure.util.di; +package org.opendes.indexer.azure.di; import com.microsoft.azure.spring.autoconfigure.aad.UserPrincipal; import org.apache.http.HttpStatus; diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/TenantFactoryImpl.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/TenantFactoryImpl.java similarity index 96% rename from indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/TenantFactoryImpl.java rename to indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/TenantFactoryImpl.java index 6ecf8c0084b64f7f0cc448b994b685b957d1bcc0..ef4233b70eee64d26893736b28423966e11d619b 100644 --- a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/di/TenantFactoryImpl.java +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/di/TenantFactoryImpl.java @@ -1,4 +1,4 @@ -package org.opendes.indexer.azure.util.di; +package org.opendes.indexer.azure.di; import org.opendes.client.cache.ICache; import org.opendes.client.multitenancy.ITenantFactory; diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/kms/KmsClientImpl.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/kms/KmsClientImpl.java similarity index 89% rename from indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/kms/KmsClientImpl.java rename to indexer-service-azure/src/main/java/org/opendes/indexer/azure/kms/KmsClientImpl.java index 1743a82c7f7a2e702c8f24e1305ad797bdeee2d6..8e1b169e602d7595cad7f9e5b7bda4a411381e22 100644 --- a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/kms/KmsClientImpl.java +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/kms/KmsClientImpl.java @@ -1,4 +1,4 @@ -package org.opendes.indexer.azure.util.kms; +package org.opendes.indexer.azure.kms; import org.opendes.core.kms.IKmsClient; diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/ISchemaRepository.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/ISchemaRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..5f2d7dd978c701e91c59a4ede9818c7f10195c0c --- /dev/null +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/ISchemaRepository.java @@ -0,0 +1,30 @@ + + +// Copyright 2017-2019, Schlumberger +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package org.opendes.indexer.azure.model; + +public interface ISchemaRepository { + String SCHEMA_KIND = "IndexerSchema"; + + String SCHEMA = "schema"; + String USER = "user"; + String EXTENSION = "extension"; + + void add(Schema schema, String user); + + Schema get(String kind); +} + diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/Schema.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/Schema.java new file mode 100644 index 0000000000000000000000000000000000000000..14b1cf950ce8207aeb772c0dbf23f02836fae203 --- /dev/null +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/Schema.java @@ -0,0 +1,46 @@ +// Copyright 2017-2019, Schlumberger +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package org.opendes.indexer.azure.model; + + import java.util.Map; + + import javax.validation.Valid; + import javax.validation.constraints.NotNull; + + import lombok.AllArgsConstructor; + import lombok.Data; + import lombok.NoArgsConstructor; + + import io.swagger.annotations.ApiModelProperty; + import org.opendes.indexer.SwaggerDoc; + import org.opendes.core.validation.ValidKind; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Schema { + + @ValidKind + @NotNull + @ApiModelProperty(value = SwaggerDoc.SCHEMA_REQUEST_KIND, + required = true, + example = SwaggerDoc.RECORD_KIND_EXAMPLE) + private String kind; + + @Valid + private SchemaItem[] schema; + + private Map<String, Object> ext; +} \ No newline at end of file diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/SchemaItem.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/SchemaItem.java new file mode 100644 index 0000000000000000000000000000000000000000..d4fe01a153d8b38733207a639a4d2bea0754d503 --- /dev/null +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/SchemaItem.java @@ -0,0 +1,41 @@ +// Copyright 2017-2019, Schlumberger +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package org.opendes.indexer.azure.model; + +import java.util.Map; + +import javax.validation.constraints.NotEmpty; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SchemaItem { + + @NotEmpty + private String path; + + @NotEmpty + private String kind; + + @JsonInclude(value = Include.NON_NULL) + private Map<String, Object> ext; +} diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/persistence/ElasticRepositoryCosmosDB.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/persistence/ElasticRepositoryCosmosDB.java similarity index 86% rename from indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/persistence/ElasticRepositoryCosmosDB.java rename to indexer-service-azure/src/main/java/org/opendes/indexer/azure/persistence/ElasticRepositoryCosmosDB.java index e1b79ca8b980f042b9544cb6d959efc6b3019b04..b5796c629c3eef1dbbff4ece7e914ebe5520eaf3 100644 --- a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/persistence/ElasticRepositoryCosmosDB.java +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/persistence/ElasticRepositoryCosmosDB.java @@ -1,4 +1,4 @@ -package org.opendes.indexer.azure.util.persistence; +package org.opendes.indexer.azure.persistence; import org.opendes.client.multitenancy.TenantInfo; import org.opendes.core.model.ClusterSettings; diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/persistence/SchemaRepositoryImpl.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/persistence/SchemaRepositoryImpl.java similarity index 89% rename from indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/persistence/SchemaRepositoryImpl.java rename to indexer-service-azure/src/main/java/org/opendes/indexer/azure/persistence/SchemaRepositoryImpl.java index 7a3e795370af6d5bbafbbc1091bf305c92332a4e..a0a6445e608ff097a0de1dc000b8470d2ba910b1 100644 --- a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/persistence/SchemaRepositoryImpl.java +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/persistence/SchemaRepositoryImpl.java @@ -1,4 +1,4 @@ -package org.opendes.indexer.azure.util.persistence; +package org.opendes.indexer.azure.persistence; import com.microsoft.azure.spring.data.cosmosdb.core.mapping.Document; import com.microsoft.azure.spring.data.cosmosdb.core.mapping.PartitionKey; @@ -6,9 +6,9 @@ import com.microsoft.azure.spring.data.cosmosdb.repository.DocumentDbRepository; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import org.opendes.core.model.Schema; -import org.opendes.core.model.SchemaItem; -import org.opendes.core.service.ISchemaRepository; +import org.opendes.indexer.azure.model.Schema; +import org.opendes.indexer.azure.model.SchemaItem; +import org.opendes.indexer.azure.model.ISchemaRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.annotation.Id; import org.springframework.stereotype.Repository; diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/util/RequestInfoImpl.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/RequestInfoImpl.java similarity index 98% rename from indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/util/RequestInfoImpl.java rename to indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/RequestInfoImpl.java index c70f59b523055cbf561a93445a54e8f47ad6ee42..a1210a82345698a0ac231913a467adab195ed8fe 100644 --- a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/util/RequestInfoImpl.java +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/RequestInfoImpl.java @@ -1,4 +1,4 @@ -package org.opendes.indexer.azure.util.util; +package org.opendes.indexer.azure.util; import com.google.common.base.Strings; import org.apache.http.HttpStatus; diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/util/ServiceAccountJwtClientImpl.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/ServiceAccountJwtClientImpl.java similarity index 86% rename from indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/util/ServiceAccountJwtClientImpl.java rename to indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/ServiceAccountJwtClientImpl.java index 440b05b589830b0b7cfab111f47fa9103e6b5b63..609a5725594a463613222b4037ef62fff1915a12 100644 --- a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/util/ServiceAccountJwtClientImpl.java +++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/ServiceAccountJwtClientImpl.java @@ -1,4 +1,4 @@ -package org.opendes.indexer.azure.util.util; +package org.opendes.indexer.azure.util; import org.opendes.core.util.IServiceAccountJwtClient; import org.springframework.stereotype.Component; diff --git a/indexer-service-gcp/pom.xml b/indexer-service-gcp/pom.xml index 1ac5b18cf3eaa29efe27b031a188a5de37b818f0..87f79f80e85cf9ad3475252a1c2988121ab6f0f3 100644 --- a/indexer-service-gcp/pom.xml +++ b/indexer-service-gcp/pom.xml @@ -121,7 +121,7 @@ <configuration> <classifier>spring-boot</classifier> <mainClass> - org.opendes.indexer.IndexerGcpApplication + org.opendes.indexer.gcp.IndexerGcpApplication </mainClass> </configuration> </execution> diff --git a/indexer-service-gcp/src/main/java/IndexerGcpApplication.java b/indexer-service-gcp/src/main/java/org/opendes/indexer/gcp/IndexerGcpApplication.java similarity index 89% rename from indexer-service-gcp/src/main/java/IndexerGcpApplication.java rename to indexer-service-gcp/src/main/java/org/opendes/indexer/gcp/IndexerGcpApplication.java index 5ad552ea7c7a5267a6f8612604a8badad0ff1d91..402e5c8a2a836b1b97b14a9752b316eb5955802a 100644 --- a/indexer-service-gcp/src/main/java/IndexerGcpApplication.java +++ b/indexer-service-gcp/src/main/java/org/opendes/indexer/gcp/IndexerGcpApplication.java @@ -1,3 +1,5 @@ +package org.opendes.indexer.gcp; + import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -8,4 +10,4 @@ public class IndexerGcpApplication { SpringApplication.run(IndexerGcpApplication.class, args); } -} \ No newline at end of file +} diff --git a/indexer-service-root/src/main/java/org/opendes/indexer/SwaggerDoc.java b/indexer-service-root/src/main/java/org/opendes/indexer/SwaggerDoc.java index d0c9a387a220dd8f406253a2650f3a61a00251b0..4894e1df574b927c0402aa2c10786786528765ac 100644 --- a/indexer-service-root/src/main/java/org/opendes/indexer/SwaggerDoc.java +++ b/indexer-service-root/src/main/java/org/opendes/indexer/SwaggerDoc.java @@ -145,4 +145,8 @@ public final class SwaggerDoc { // REQUEST VALIDATION public static final String REQUEST_VALIDATION_NOT_NULL_BODY = "Request body can not be null"; + + // Azure Schema Request + public static final String SCHEMA_REQUEST_KIND = "Record kind for which the schema information is applied to."; + public static final String RECORD_KIND_EXAMPLE = "common:welldb:wellbore:1.0.0"; }