From d62083bc96cd3f7c015c09d492b17385a81df9d1 Mon Sep 17 00:00:00 2001 From: Jagan Gottimukkula <jgottimukkula@slb.com> Date: Sat, 14 Sep 2019 07:16:27 -0700 Subject: [PATCH] * Fixed the package name in azure * Fixed the schema file dependency from core * Updated the spring boot applications for gcp and azure --- indexer-service-azure/pom.xml | 2 +- .../azure}/IndexerAzureApplication.java | 4 ++ .../di/EntitlementsClientFactory.java | 2 +- .../di/EntitlementsFactoryAzure.java | 2 +- .../di/EntitlementsServiceAzure.java | 2 +- .../{util => }/di/TenantFactoryImpl.java | 2 +- .../azure/{util => }/kms/KmsClientImpl.java | 2 +- .../azure/model/ISchemaRepository.java | 30 ++++++++++++ .../opendes/indexer/azure/model/Schema.java | 46 +++++++++++++++++++ .../indexer/azure/model/SchemaItem.java | 41 +++++++++++++++++ .../ElasticRepositoryCosmosDB.java | 2 +- .../persistence/SchemaRepositoryImpl.java | 8 ++-- .../util/{util => }/RequestInfoImpl.java | 2 +- .../ServiceAccountJwtClientImpl.java | 2 +- indexer-service-gcp/pom.xml | 2 +- .../indexer/gcp}/IndexerGcpApplication.java | 4 +- .../java/org/opendes/indexer/SwaggerDoc.java | 4 ++ 17 files changed, 142 insertions(+), 15 deletions(-) rename indexer-service-azure/src/main/java/{ => org/opendes/indexer/azure}/IndexerAzureApplication.java (88%) rename indexer-service-azure/src/main/java/org/opendes/indexer/azure/{util => }/di/EntitlementsClientFactory.java (93%) rename indexer-service-azure/src/main/java/org/opendes/indexer/azure/{util => }/di/EntitlementsFactoryAzure.java (89%) rename indexer-service-azure/src/main/java/org/opendes/indexer/azure/{util => }/di/EntitlementsServiceAzure.java (98%) rename indexer-service-azure/src/main/java/org/opendes/indexer/azure/{util => }/di/TenantFactoryImpl.java (96%) rename indexer-service-azure/src/main/java/org/opendes/indexer/azure/{util => }/kms/KmsClientImpl.java (89%) create mode 100644 indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/ISchemaRepository.java create mode 100644 indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/Schema.java create mode 100644 indexer-service-azure/src/main/java/org/opendes/indexer/azure/model/SchemaItem.java rename indexer-service-azure/src/main/java/org/opendes/indexer/azure/{util => }/persistence/ElasticRepositoryCosmosDB.java (86%) rename indexer-service-azure/src/main/java/org/opendes/indexer/azure/{util => }/persistence/SchemaRepositoryImpl.java (89%) rename indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/{util => }/RequestInfoImpl.java (98%) rename indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/{util => }/ServiceAccountJwtClientImpl.java (86%) rename indexer-service-gcp/src/main/java/{ => org/opendes/indexer/gcp}/IndexerGcpApplication.java (89%) diff --git a/indexer-service-azure/pom.xml b/indexer-service-azure/pom.xml index 53660ea24..438bda1b1 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 4e2e80363..0662e463f 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 9a3557626..fea892cb0 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 ee5fd8280..b4dc544df 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 eb20161ad..d805136b9 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 6ecf8c008..ef4233b70 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 1743a82c7..8e1b169e6 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 000000000..5f2d7dd97 --- /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 000000000..14b1cf950 --- /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 000000000..d4fe01a15 --- /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 e1b79ca8b..b5796c629 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 7a3e79537..a0a6445e6 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 c70f59b52..a1210a823 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 440b05b58..609a57255 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 1ac5b18cf..87f79f80e 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 5ad552ea7..402e5c8a2 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 d0c9a387a..4894e1df5 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"; } -- GitLab