diff --git a/provider/indexer-aws/maven/buildspec-pre-deploy.yml b/provider/indexer-aws/buildspec-pre-deploy.yml similarity index 100% rename from provider/indexer-aws/maven/buildspec-pre-deploy.yml rename to provider/indexer-aws/buildspec-pre-deploy.yml diff --git a/provider/indexer-azure/README.md b/provider/indexer-azure/README.md index ad4d4624a06a940142e6950e047321ed87508e04..419f45f6093cd09aaad383ff7654c6cf9ce8bced 100644 --- a/provider/indexer-azure/README.md +++ b/provider/indexer-azure/README.md @@ -20,3 +20,19 @@ Due to the usage of [Managed Identity](https://docs.microsoft.com/en-us/azure/ac Service deployments into Azure are standardized to make the process the same for all services. The steps to deploy into Azure can be [found here](https://dev.azure.com/slb-des-ext-collaboration/open-data-ecosystem/_git/infrastructure-templates?path=%2Fdocs%2Fosdu%2FSERVICE_DEPLOYMENTS.md&_a=preview) + + +## License +Copyright © Microsoft Corporation + +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](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. \ No newline at end of file diff --git a/provider/indexer-azure/azure-build.yml b/provider/indexer-azure/azure-build.yml index cd450529e24fa04c77f2134580f25a8153d66d06..6e04925aef616a2d177f5c1b2ebcaefa648aeeb2 100644 --- a/provider/indexer-azure/azure-build.yml +++ b/provider/indexer-azure/azure-build.yml @@ -1,3 +1,17 @@ +# Copyright © Microsoft Corporation +# +# 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. + # Maven # Build your Java project and run tests with Apache Maven. # Add steps that analyze code, save build artifacts, deploy, and more: diff --git a/provider/indexer-azure/pom.xml b/provider/indexer-azure/pom.xml index 28e85745f44368b3246f81683e73f217a1c99640..fc9c57586dabccb8a93b1dc9b1846fa55edf84b7 100644 --- a/provider/indexer-azure/pom.xml +++ b/provider/indexer-azure/pom.xml @@ -136,6 +136,11 @@ <scope>test</scope> </dependency> + <dependency> + <groupId>com.auth0</groupId> + <artifactId>java-jwt</artifactId> + <version>3.8.1</version> + </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> @@ -230,7 +235,7 @@ <useSystemClassLoader>false</useSystemClassLoader> <threadCount>1</threadCount> </configuration> - </plugin> + </plugin> </plugins> </build> diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/IndexCache.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/IndexCache.java index dd33ae348a9566b2bc977a3fa99dfefd046268f2..8ca5500c282716c31ebda76606ee3315a7d41aa2 100644 --- a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/IndexCache.java +++ b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/IndexCache.java @@ -1,3 +1,17 @@ +// Copyright © Microsoft Corporation +// +// 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.opengroup.osdu.indexer.azure.cache; import org.opengroup.osdu.core.common.cache.VmCache; diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/JwtCache.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/JwtCache.java index cf807c8b250597516a32b5f2a997fc493e01dea7..07e4f0403961315e41fc1267452dc0ed057e3bc9 100644 --- a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/JwtCache.java +++ b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/JwtCache.java @@ -1,3 +1,17 @@ +// Copyright © Microsoft Corporation +// +// 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.opengroup.osdu.indexer.azure.cache; import org.opengroup.osdu.core.common.cache.VmCache; diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/KindsCache.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/KindsCache.java index 8cd6c3a9342bfddcf70bafb815230613bfa40dfa..319371052160ddb50e83afc71db2425d83b9f781 100644 --- a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/KindsCache.java +++ b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/KindsCache.java @@ -1,3 +1,17 @@ +// Copyright © Microsoft Corporation +// +// 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.opengroup.osdu.indexer.azure.cache; import org.opengroup.osdu.core.common.cache.VmCache; diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/SchemaCache.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/SchemaCache.java index 99d5f3f1fe36b3d2f591db677564dbf8da041f94..97a5f1810ccc2d0f5e3ce07d33aa655422756fa7 100644 --- a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/SchemaCache.java +++ b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/SchemaCache.java @@ -1,3 +1,17 @@ +// Copyright © Microsoft Corporation +// +// 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.opengroup.osdu.indexer.azure.cache; import org.opengroup.osdu.core.common.cache.VmCache; diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/config/AzureBootstrapConfig.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/config/AzureBootstrapConfig.java index cf4c6f56562704ba92531f4cce07cd2f8a0ffb48..918869920c0fb6b47b56132441724a5539483ca3 100644 --- a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/config/AzureBootstrapConfig.java +++ b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/config/AzureBootstrapConfig.java @@ -1,3 +1,17 @@ +// Copyright © Microsoft Corporation +// +// 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.opengroup.osdu.indexer.azure.config; import com.azure.security.keyvault.secrets.SecretClient; diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoService.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoService.java index 0cf37ded10b836dbc2824c9bef824d5e7c03b31b..b54253284aa6cfb11e69f0eb776bd8c2897c4e93 100644 --- a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoService.java +++ b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoService.java @@ -1,3 +1,17 @@ +// Copyright © Microsoft Corporation +// +// 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.opengroup.osdu.indexer.azure.di; import org.opengroup.osdu.core.common.model.http.DpsHeaders; diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/DpsHeadersAzureQueue.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/DpsHeadersAzureQueue.java index 9bab4cec8aaf529b9039fb2beb9e0ecbaee6c0e6..2335abb334b8a1960f1028bea2d250285dde97d0 100644 --- a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/DpsHeadersAzureQueue.java +++ b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/DpsHeadersAzureQueue.java @@ -1,3 +1,17 @@ +// Copyright © Microsoft Corporation +// +// 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.opengroup.osdu.indexer.azure.util; import java.util.Collections; diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/IHeadersInfo.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/IHeadersInfo.java deleted file mode 100644 index a716772f32cd6fdb40781269069bd829e6079e8a..0000000000000000000000000000000000000000 --- a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/IHeadersInfo.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.opengroup.osdu.indexer.azure.util; - -import java.util.Map; - -import org.opengroup.osdu.core.common.model.http.DpsHeaders; - -public interface IHeadersInfo { - - DpsHeaders getHeaders(); - - String getUser(); - - String getPartitionId(); - - String getPrimaryPartitionId(); - - Map<String, String> getHeadersMap(); - - DpsHeaders getCoreServiceHeaders(Map<String, String> input); - -} diff --git a/provider/indexer-azure/src/main/resources/application.properties b/provider/indexer-azure/src/main/resources/application.properties index 071854026a8258d18e035c26db2b3281ade72a48..65f111f5775f1f121dd8ae3a36ff1bf46f8b1c7e 100644 --- a/provider/indexer-azure/src/main/resources/application.properties +++ b/provider/indexer-azure/src/main/resources/application.properties @@ -1,3 +1,17 @@ +# Copyright © Microsoft Corporation +# +# 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. + LOG_PREFIX=indexer REGION=centralus logging.level.org.opendes.osdu=DEBUG diff --git a/provider/indexer-gcp/maven/settings.xml b/provider/indexer-gcp/maven/settings.xml index 601aa71ea3679d558de22b4e530c9dc2a9467f7f..2a633d9a30c1997609060dcc31667d3dc1b6774a 100644 --- a/provider/indexer-gcp/maven/settings.xml +++ b/provider/indexer-gcp/maven/settings.xml @@ -4,10 +4,10 @@ xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <servers> <server> - <id>dev-azure-com-slb-des-ext-collaboration-os-core</id> - <username>os-core</username> + <id>os-core</id> + <username>slb-des-ext-collaboration</username> <!-- Treat this auth token like a password. Do not share it with anyone, including Microsoft support. --> - <!-- The generated token expires on or before 10/8/2019 --> + <!-- The generated token expires on or before 11/14/2019 --> <password>${VSTS_FEED_TOKEN}</password> </server> </servers> diff --git a/provider/indexer-gcp/pom.xml b/provider/indexer-gcp/pom.xml index ca0533b05535fd6ca4a46f836fa1a8ba1d2ab4c8..e5ad401653ea99e64f8eac189c2d06a73377937c 100644 --- a/provider/indexer-gcp/pom.xml +++ b/provider/indexer-gcp/pom.xml @@ -18,7 +18,7 @@ <packaging>jar</packaging> <repositories> <repository> - <id>dev-azure-com-slb-des-ext-collaboration-os-core</id> + <id>os-core</id> <url>https://pkgs.dev.azure.com/slb-des-ext-collaboration/_packaging/os-core/maven/v1</url> <releases> <enabled>true</enabled> @@ -147,6 +147,12 @@ <scope>test</scope> </dependency> + <dependency> + <groupId>com.auth0</groupId> + <artifactId>java-jwt</artifactId> + <version>3.8.1</version> + </dependency> + <!-- https://mvnrepository.com/artifact/com.github.stefanbirkner/system-rules --> <dependency> <groupId>com.github.stefanbirkner</groupId> @@ -197,9 +203,9 @@ <useSystemClassLoader>false</useSystemClassLoader> <threadCount>1</threadCount> </configuration> - </plugin> + </plugin> </plugins> </build> -</project> +</project> \ No newline at end of file diff --git a/provider/indexer-gcp/scripts/stage-artifacts.sh b/provider/indexer-gcp/scripts/stage-artifacts.sh index 20056c7ee1d1f93d85fafbf56026df777845b270..33e36f2c3a6430017f35f40f27f49acb7590fe55 100644 --- a/provider/indexer-gcp/scripts/stage-artifacts.sh +++ b/provider/indexer-gcp/scripts/stage-artifacts.sh @@ -25,7 +25,7 @@ cd .. # Upload all build and deploy scripts as artifacts cp -R ./scripts $STAGE_DIR # Upload the build generated .jar file as an artifact -cp ./target/indexer-gcp-1.0.0.jar $STAGE_DIR +cp ./target/indexer-gcp-*-spring-boot.jar $STAGE_DIR echo "Staging deployment artifacts to folder: $STAGE_DIR" cp ./src/main/appengine/app.yaml $STAGE_DIR diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/AttributesCache.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/AttributesCache.java index 4f0383bd9ec812e6cf307353d07b1b8beedd79c4..b5789ec76026b8f7dc16737fe7cb3ae50301477d 100644 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/AttributesCache.java +++ b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/AttributesCache.java @@ -57,4 +57,4 @@ public class AttributesCache implements IAttributesCache<String,Set>, AutoClosea public void close() { this.cache.close(); } -} +} \ No newline at end of file diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/DatastoreCredentialCache.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/DatastoreCredentialCache.java index 5f780afbbaf2c1ab87b19c0c4812a63318c718ab..1ec502fe6aa4ab1f2267e429eab0b3c066f8e3f4 100644 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/DatastoreCredentialCache.java +++ b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/DatastoreCredentialCache.java @@ -26,4 +26,4 @@ public class DatastoreCredentialCache extends RedisCache<String, AccessToken> { public DatastoreCredentialCache(@Value("${REDIS_SEARCH_HOST}") final String REDIS_SEARCH_HOST, @Value("${REDIS_SEARCH_PORT}") final String REDIS_SEARCH_PORT) { super(REDIS_SEARCH_HOST, Integer.parseInt(REDIS_SEARCH_PORT), 58 * 60, String.class, AccessToken.class); } -} +} \ No newline at end of file diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/DpsLogFactory.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/DpsLogFactory.java deleted file mode 100644 index 3de3fdf9d8583de246c8457e166e8224df3d417b..0000000000000000000000000000000000000000 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/DpsLogFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -// 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.opengroup.osdu.indexer.di; - -import org.opengroup.osdu.core.gcp.logging.logger.AppEngineLoggingProvider; -import org.opengroup.osdu.core.logging.DpsLog; -import org.springframework.beans.factory.config.AbstractFactoryBean; -import org.springframework.stereotype.Component; -import org.springframework.web.context.annotation.RequestScope; - -@Component -@RequestScope -public class DpsLogFactory extends AbstractFactoryBean<DpsLog> { - - private AppEngineLoggingProvider appEngineLoggingProvider = new AppEngineLoggingProvider(); - - @Override - protected DpsLog createInstance() throws Exception { - return appEngineLoggingProvider.getLogger(); - } - - @Override - public Class<?> getObjectType() { - return DpsLog.class; - } -} \ No newline at end of file diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantFactoryService.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantFactoryService.java index cd27070db5fecde803d50e8aff083d5502573a9d..fa51ef212c0427bd21e4a522a99891d38163ccc4 100644 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantFactoryService.java +++ b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantFactoryService.java @@ -17,7 +17,6 @@ package org.opengroup.osdu.indexer.di; import lombok.extern.java.Log; import org.opengroup.osdu.core.common.provider.interfaces.ITenantFactory; import org.opengroup.osdu.core.gcp.multitenancy.TenantFactory; -import org.opengroup.osdu.core.multitenancy.ITenantFactory; import org.springframework.beans.factory.config.AbstractFactoryBean; import org.springframework.stereotype.Component; import org.springframework.web.context.annotation.RequestScope; @@ -36,4 +35,4 @@ public class TenantFactoryService extends AbstractFactoryBean<ITenantFactory> { public Class<?> getObjectType() { return ITenantFactory.class; } -} +} \ No newline at end of file diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantInfoFactory.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantInfoFactory.java deleted file mode 100644 index 8368a259e175f39f5abd9dfd9fd425d1479e076e..0000000000000000000000000000000000000000 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantInfoFactory.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.opengroup.osdu.indexer.di; - -import lombok.extern.java.Log; -import org.opengroup.osdu.core.api.DpsHeaders; -import org.opengroup.osdu.core.multitenancy.ITenantFactory; -import org.opengroup.osdu.core.multitenancy.TenantInfo; -import org.springframework.beans.factory.config.AbstractFactoryBean; -import org.springframework.stereotype.Component; -import org.springframework.web.context.annotation.RequestScope; -import javax.inject.Inject; - -@Log -@Component -@RequestScope -public class TenantInfoFactory extends AbstractFactoryBean<TenantInfo> { - @Inject - private ITenantFactory tenantFactory; - @Inject - private DpsHeaders headers; - @Override - protected TenantInfo createInstance() throws Exception { - String id = this.headers.getPartitionIdWithFallbackToAccountId(); - return this.tenantFactory.getTenantInfo(id); - } - @Override - public Class<?> getObjectType() { - return TenantInfo.class; - } -} diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/kms/KmsClient.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/kms/KmsClient.java index 9e83a5df918e7625a09d6768a00d00f994980395..020efb85eede96cb8eebd1beec4b23ce2fa42b83 100644 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/kms/KmsClient.java +++ b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/kms/KmsClient.java @@ -99,4 +99,4 @@ public class KmsClient implements IKmsClient { .setApplicationName("CloudKMS snippets") .build(); } -} +} \ No newline at end of file diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreCredential.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreCredential.java index 0f41a697534a87a22476257265dad685377f41a1..5bde4448cfd77348818e0d04b312a1ca432f8dde 100644 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreCredential.java +++ b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreCredential.java @@ -29,8 +29,6 @@ import org.apache.commons.lang3.time.DateUtils; import org.opengroup.osdu.core.common.model.tenant.TenantInfo; import org.opengroup.osdu.core.common.util.Crc32c; import org.opengroup.osdu.indexer.cache.DatastoreCredentialCache; -import org.opengroup.osdu.core.cryptographic.Crc32c; -import org.opengroup.osdu.core.multitenancy.TenantInfo; import java.util.Date; @@ -108,4 +106,4 @@ public class DatastoreCredential extends GoogleCredentials { private String getCacheKey() { return Crc32c.hashToBase64EncodedString(String.format("datastoreCredential:%s", this.tenant.getName())); } -} +} \ No newline at end of file diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreFactory.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreFactory.java index 6af2b84bce1fb2c35efa90feffa06479d2b5a186..1a14870151f97f34e87e4967dd5e496cd3b24b3f 100644 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreFactory.java +++ b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreFactory.java @@ -21,7 +21,6 @@ import com.google.cloud.datastore.DatastoreOptions; import com.google.cloud.http.HttpTransportOptions; import org.opengroup.osdu.core.common.model.tenant.TenantInfo; import org.opengroup.osdu.indexer.cache.DatastoreCredentialCache; -import org.opengroup.osdu.core.multitenancy.TenantInfo; import org.springframework.stereotype.Component; import org.threeten.bp.Duration; diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/ElasticRepositoryDatastore.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/ElasticRepositoryDatastore.java index eb40bb0c43e29cc8590d8ac38fd1b819372d51a7..9c0b6b6eeb8f04001d16886385d6b244dc108fae 100644 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/ElasticRepositoryDatastore.java +++ b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/ElasticRepositoryDatastore.java @@ -87,4 +87,4 @@ public class ElasticRepositoryDatastore implements IElasticRepository { throw new AppException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "Cluster setting fetch error", "An error has occurred fetching cluster settings from the datastore.", e); } } -} +} \ No newline at end of file diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/publish/PublisherImpl.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/publish/PublisherImpl.java index 68dafca259fb3590d0747f1722839132c99335dc..cc7dcaabfc2d49cba5e57991854ca2b091ae787a 100644 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/publish/PublisherImpl.java +++ b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/publish/PublisherImpl.java @@ -140,4 +140,4 @@ public class PublisherImpl implements IPublisher { return publisher; } } -} +} \ No newline at end of file diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImpl.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImpl.java deleted file mode 100644 index 337ae032ccf2da39eddee17257f6aa21147d576c..0000000000000000000000000000000000000000 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImpl.java +++ /dev/null @@ -1,112 +0,0 @@ -// 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.opengroup.osdu.indexer.util; - -import com.google.common.base.Strings; -import lombok.extern.java.Log; -import org.opengroup.osdu.core.api.DpsHeaders; -import org.opengroup.osdu.core.gcp.model.AppEngineHeaders; -import org.opengroup.osdu.is.core.model.SlbHeaders; -import org.opengroup.osdu.is.core.provider.interfaces.util.IHeadersInfo; -import org.opengroup.osdu.is.core.util.Preconditions; -import org.springframework.stereotype.Component; -import org.springframework.web.context.annotation.RequestScope; - -import javax.inject.Inject; -import java.util.HashSet; -import java.util.Map; -import java.util.stream.Collectors; - -@Log -@Component -@RequestScope -public class HeadersInfoGcpImpl implements IHeadersInfo { - - @Inject - private DpsHeaders headersMap; - - private static final HashSet<String> FORBIDDEN_FROM_LOGGING = new HashSet<>(); - static { - FORBIDDEN_FROM_LOGGING.add(DpsHeaders.AUTHORIZATION); - FORBIDDEN_FROM_LOGGING.add(DpsHeaders.ON_BEHALF_OF); - } - - private static final HashSet<String> FORWARDED_HEADERS = new HashSet<>(); - static { - FORWARDED_HEADERS.add(AppEngineHeaders.CITY_LAT_LONG); - FORWARDED_HEADERS.add(AppEngineHeaders.COUNTRY); - FORWARDED_HEADERS.add(AppEngineHeaders.REGION); - FORWARDED_HEADERS.add(AppEngineHeaders.CITY); - FORWARDED_HEADERS.add(AppEngineHeaders.TASK_QUEUE_RETRY_COUNT); - FORWARDED_HEADERS.add(AppEngineHeaders.TASK_QUEUE_NAME); - FORWARDED_HEADERS.add(AppEngineHeaders.DATA_GROUPS); - FORWARDED_HEADERS.add(AppEngineHeaders.CLOUD_TRACE_CONTEXT); - FORWARDED_HEADERS.add(AppEngineHeaders.TRACE_ID); - FORWARDED_HEADERS.add(AppEngineHeaders.CRON_SERVICE); - FORWARDED_HEADERS.add(SlbHeaders.PRIMARY_PARTITION_ID); - } - - @Override - public DpsHeaders getHeaders() { - Preconditions.checkNotNull(headersMap, "input headers cannot be null"); - DpsHeaders headers = this.getCoreServiceHeaders(headersMap.getHeaders()); - return headers; - } - - @Override - public String getUser() { - return getHeaders().getUserEmail(); - } - - @Override - public String getPartitionId() { - return getHeaders().getPartitionIdWithFallbackToAccountId(); - } - - @Override - public String getPrimaryPartitionId() { - return getHeadersMap().get(SlbHeaders.PRIMARY_PARTITION_ID); - } - - @Override - public Map<String, String> getHeadersMap() { - return getHeaders().getHeaders(); - } - - @Override - public DpsHeaders getCoreServiceHeaders(Map<String, String> input) { - DpsHeaders output = DpsHeaders.createFromMap(input); - input.forEach((key,value) -> { - if (FORWARDED_HEADERS.contains(key)) { - if (key.equals(AppEngineHeaders.CLOUD_TRACE_CONTEXT)) { - String traceContext = input.get(AppEngineHeaders.CLOUD_TRACE_CONTEXT); - if (!Strings.isNullOrEmpty(traceContext)) { - output.put(AppEngineHeaders.TRACE_ID, TraceIdExtractor.getTraceId(traceContext)); - output.put(key, traceContext); - } - } else { - output.put(key, input.get(key)); - } - } - }); - return output; - } - - @Override - public String toString() { - return this.getHeadersMap().entrySet().stream().filter(map -> !FORBIDDEN_FROM_LOGGING.contains(map.getKey().toLowerCase())).map(Map.Entry::toString).collect(Collectors.joining(" | ")); - } - -} \ No newline at end of file diff --git a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/CronServiceImplTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/CronServiceImplTest.java index 7d9e84f5643682f361207f89687da991f4c686bf..39ad6fb0eebd03b8540c606318bc5e29eb007aab 100644 --- a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/CronServiceImplTest.java +++ b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/CronServiceImplTest.java @@ -132,4 +132,4 @@ public class CronServiceImplTest { verify(this.indicesService, times(0)).deleteIndex(any(), any()); } -} +} \ No newline at end of file diff --git a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceTest.java index 19feb615eb7be7ab8075ab49e820de9808aee211..43f24cc6cdbe134714cdb2fd6ca4ce42c1ec8446 100644 --- a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceTest.java +++ b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceTest.java @@ -166,7 +166,7 @@ public class IndexerMappingServiceTest { doReturn(response).when(this.restHighLevelClient).updateByQuery(any(), any(RequestOptions.class)); when(response.getBulkFailures()).thenReturn(new ArrayList<Failure>()); when(elasticClientHandler.createRestClient()).thenReturn(restHighLevelClient); - + this.sut.updateIndexMappingForIndicesOfSameType( indices,"any field"); } catch (Exception e) { fail("Should not throw this exception" + e.getMessage()); @@ -200,8 +200,8 @@ public class IndexerMappingServiceTest { doReturn(response).when(this.restHighLevelClient).updateByQuery(any(), any(RequestOptions.class)); when(response.getBulkFailures()).thenReturn(new ArrayList<Failure>()); when(elasticClientHandler.createRestClient()).thenReturn(restHighLevelClient); - - this.sut.updateIndexMappingForIndicesOfSameType(indices,"any field"); + + this.sut.updateIndexMappingForIndicesOfSameType(indices,"any field"); } catch (Exception e) { throw e; } @@ -211,7 +211,7 @@ public class IndexerMappingServiceTest { public void should_throw_exception_if_type_of_index_is_invalid_andWeIndexfield_with_keyword() throws Exception { try { Set<String> indices = new HashSet<String>(); - indices.add("indices 1"); + indices.add("indices 1"); GetFieldMappingsResponse getFieldMappingsResponse = mock(GetFieldMappingsResponse.class); doReturn(this.indicesClient).when(this.restHighLevelClient).indices(); when(this.indicesClient.getFieldMapping(any(), any())).thenReturn(getFieldMappingsResponse); diff --git a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/TenantInfoServiceTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/TenantInfoServiceTest.java deleted file mode 100644 index 199337eb2ad69a5123e94e5dcf4449df1546c0e5..0000000000000000000000000000000000000000 --- a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/TenantInfoServiceTest.java +++ /dev/null @@ -1,89 +0,0 @@ -// 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.opengroup.osdu.indexer.service; - -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.opengroup.osdu.core.api.DpsHeaders; -import org.opengroup.osdu.core.multitenancy.ITenantFactory; -import org.opengroup.osdu.core.multitenancy.TenantInfo; -import org.opengroup.osdu.is.core.provider.interfaces.util.IHeadersInfo; -import org.opengroup.osdu.is.core.util.AppException; -import org.springframework.http.HttpHeaders; -import org.springframework.test.context.junit4.SpringRunner; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.mockito.Mockito.when; - -@RunWith(SpringRunner.class) -public class TenantInfoServiceTest { - - private static final String HEADER_NAME = "ANY_HEADER"; - private static final String HEADER_VALUE = "ANY_VALUE"; - - @Mock - private ITenantFactory tenantFactory; - @Mock - private IHeadersInfo headersInfo; - @InjectMocks - private TenantInfoServiceImpl sut; - - @Mock - private TenantInfo info; - - @Mock - private HttpHeaders httpHeaders; - - @InjectMocks - private DpsHeaders HEADERS; - - @Before - public void setup() { - HEADERS.put(HEADER_NAME, HEADER_VALUE); - } - - @Ignore - @Test - public void should_return_validTenant_given_validAccountId() { - - when(this.info.getName()).thenReturn("tenant1"); - when(tenantFactory.getTenantInfo("tenant1")).thenReturn(info); - - when(this.headersInfo.getHeaders()).thenReturn(HEADERS); - - when(this.headersInfo.getPartitionId()).thenReturn("tenant1"); - - when(this.sut.getTenantInfo()).thenReturn(info); - - assertNotNull(this.sut.getTenantInfo()); - assertEquals("tenant1", this.sut.getTenantInfo().getName()); - } - - @Test(expected = AppException.class) - public void should_throwException_given_invalidAccountId() { - - when(this.info.getName()).thenReturn("tenant2"); - when(tenantFactory.getTenantInfo("tenant1")).thenReturn(null); - - when(this.sut.getTenantInfo()).thenReturn(info); - - assertNotNull(this.sut.getTenantInfo()); - } -} \ No newline at end of file diff --git a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImplTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImplTest.java deleted file mode 100644 index c2296eb027b937ad44708df5057728380cc5a958..0000000000000000000000000000000000000000 --- a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImplTest.java +++ /dev/null @@ -1,204 +0,0 @@ -// 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.opengroup.osdu.indexer.util; - -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.opengroup.osdu.core.api.DpsHeaders; -import org.opengroup.osdu.core.gcp.model.AppEngineHeaders; -import org.opengroup.osdu.is.core.model.SlbHeaders; -import org.opengroup.osdu.is.core.util.HeadersUtil; -import org.springframework.http.HttpHeaders; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; - -import java.util.HashMap; -import java.util.Map; - -import static java.util.Collections.singletonList; -import static org.junit.Assert.*; -import static org.mockito.Mockito.when; - -@RunWith(SpringRunner.class) -public class HeadersInfoGcpImplTest { - - @Mock - private HttpHeaders httpHeaders; - @Mock - private DpsHeaders dpsHeaders; - @InjectMocks - private HeadersInfoGcpImpl sut; - - @Test - public void should_convert_Cloud_Trace_when_header_contains_it() { - Map<String, String> requestHeaders = new HashMap<>(); - requestHeaders.put(DpsHeaders.AUTHORIZATION, "any token"); - requestHeaders.put(AppEngineHeaders.CLOUD_TRACE_CONTEXT, "any trace"); - - DpsHeaders map = this.sut.getCoreServiceHeaders(requestHeaders); - - assertEquals("any token", map.getAuthorization()); - assertEquals("any trace", map.getHeaders().get(AppEngineHeaders.TRACE_ID)); - } - - @Test - public void should_return_header_logs_when_header_contains_email() { - MultiValueMap<String, String> requestHeaders = new LinkedMultiValueMap<>(); - requestHeaders.add(DpsHeaders.AUTHORIZATION, "any token"); - requestHeaders.add(DpsHeaders.ON_BEHALF_OF, "any onBehalf"); - requestHeaders.add(DpsHeaders.CORRELATION_ID, "any correlationId"); - requestHeaders.add(DpsHeaders.USER_EMAIL, "abc@xyz.com"); - requestHeaders.add(DpsHeaders.ACCOUNT_ID, "any account"); - - DpsHeaders map = this.sut.getCoreServiceHeaders(requestHeaders.toSingleValueMap()); - assertEquals("any token", map.getAuthorization()); - DpsHeaders headers = DpsHeaders.createFromEntrySet(requestHeaders.entrySet()); - - assertEquals("account id: any account | on behalf: any onBehalf | user email: any onBehalf | correlation id: " + - "any correlationId", HeadersUtil.toLogMsg(headers, "any onBehalf")); - } - - @Test - public void should_return_header_logs_when_jwt_decode_fails() { - MultiValueMap<String, String> requestHeaders = new LinkedMultiValueMap<>(); - requestHeaders.add(DpsHeaders.AUTHORIZATION, "any token"); - requestHeaders.add(DpsHeaders.ON_BEHALF_OF, "any onBehalf"); - requestHeaders.add(DpsHeaders.CORRELATION_ID, "any correlationId"); - requestHeaders.add(DpsHeaders.ACCOUNT_ID, "any account"); - - DpsHeaders map = this.sut.getCoreServiceHeaders(requestHeaders.toSingleValueMap()); - - assertEquals("any token", map.getAuthorization()); - - DpsHeaders headers = DpsHeaders.createFromEntrySet(requestHeaders.entrySet()); - assertEquals("account id: any account | on behalf: any onBehalf | correlation id: any correlationId", - HeadersUtil.toLogMsg(headers, null)); - } - - @Test - public void should_return_header_logs_when_header_doesNot_contain_email() { - Map<String, String> requestHeaders = new HashMap<>(); - requestHeaders.put(DpsHeaders.AUTHORIZATION, "any token"); - requestHeaders.put(DpsHeaders.ON_BEHALF_OF, "any onBehalf"); - requestHeaders.put(DpsHeaders.CORRELATION_ID, "any correlationId"); - requestHeaders.put(DpsHeaders.ACCOUNT_ID, "any account"); - - DpsHeaders map = this.sut.getCoreServiceHeaders(requestHeaders); - assertEquals("any token", map.getHeaders().get(DpsHeaders.AUTHORIZATION)); - } - - @Test - public void check_correct_headers() { - Map<String, String> requestHeaders = new HashMap<>(); - requestHeaders.put(DpsHeaders.AUTHORIZATION, "any token"); - requestHeaders.put(DpsHeaders.CORRELATION_ID, "any correlationId"); - requestHeaders.put(DpsHeaders.ACCOUNT_ID, "any account"); - requestHeaders.put(DpsHeaders.ON_BEHALF_OF, "any onBehalf"); - requestHeaders.put(DpsHeaders.USER_EMAIL, "abc@xyz.com"); - requestHeaders.put(DpsHeaders.CONTENT_TYPE, "any contentType"); - requestHeaders.put(AppEngineHeaders.DATA_GROUPS, "any dataGrp"); - requestHeaders.put(AppEngineHeaders.CRON_SERVICE, "true"); - - DpsHeaders map = this.sut.getCoreServiceHeaders(requestHeaders); - - assertEquals("any token", map.getAuthorization()); - assertEquals("any correlationId", map.getCorrelationId()); - assertEquals("abc@xyz.com", map.getUserEmail()); - assertEquals("any account", map.getPartitionIdWithFallbackToAccountId()); - assertEquals("any onBehalf", map.getOnBehalfOf()); - assertEquals("any contentType", map.getHeaders().get(DpsHeaders.CONTENT_TYPE)); - assertEquals("any dataGrp", map.getHeaders().get(AppEngineHeaders.DATA_GROUPS)); - assertEquals("true", map.getHeaders().get(AppEngineHeaders.CRON_SERVICE)); - } - - @Test - public void should_return_null_auth_header_when_invalid_header() { - Map<String, String> requestHeaders = new HashMap<>(); - requestHeaders.put(DpsHeaders.AUTHORIZATION, null); - - DpsHeaders map = this.sut.getCoreServiceHeaders(requestHeaders); - - assertNotNull(map); - assertNull(map.getAuthorization()); - } - - @Ignore - @Test - public void should_addCorrelationId_when_gettingHeaders() { - MultiValueMap<String, String> requestHeaders = new LinkedMultiValueMap<>(); - requestHeaders.put(DpsHeaders.USER_EMAIL, singletonList("a@b.com")); - when(httpHeaders.toSingleValueMap()).thenReturn(requestHeaders.toSingleValueMap()); - - assertNotNull(sut.getHeaders().getCorrelationId()); - } - - @Ignore - @Test - public void should_returnUser_when_requested() { - MultiValueMap<String, String> requestHeaders = new LinkedMultiValueMap<>(); - requestHeaders.put(DpsHeaders.USER_EMAIL, singletonList("a@b.com")); - when(httpHeaders.toSingleValueMap()).thenReturn(requestHeaders.toSingleValueMap()); - - assertEquals("a@b.com", sut.getUser()); - } - - @Ignore - @Test - public void should_returnPrimaryAccountId_when_requested() { - MultiValueMap<String, String> requestHeaders = new LinkedMultiValueMap<>(); - requestHeaders.put(SlbHeaders.PRIMARY_PARTITION_ID, singletonList("apc")); - when(httpHeaders.toSingleValueMap()).thenReturn(requestHeaders.toSingleValueMap()); - - assertEquals("apc", sut.getPrimaryPartitionId()); - } - - @Test - public void should_convert_to_string_when_map_is_correct() { - MultiValueMap<String, String> requestHeaders = new LinkedMultiValueMap<>(); - requestHeaders.add("a", "a val"); - requestHeaders.add("b", "b val"); - requestHeaders.add(DpsHeaders.AUTHORIZATION, "blah"); - when(this.httpHeaders.toSingleValueMap()).thenReturn(requestHeaders.toSingleValueMap()); - - assertFalse(this.sut.toString().contains("a=a val")); - assertFalse(this.sut.toString().contains("b=b val")); - } - -// @Test -// public void should_convert_multivalued_map_to_hash_map_when_input_map_is_correct() { -// MultivaluedMap<String, String> requestHeaders = new MultivaluedMapImpl<String, String>(); -// requestHeaders.putSingle(DpsHeaders.AUTHORIZATION, "any token"); -// requestHeaders.putSingle(DpsHeaders.CORRELATION_ID, "any correlationId"); -// requestHeaders.putSingle(DpsHeaders.ACCOUNT_ID, "any account"); -// requestHeaders.putSingle(DpsHeaders.ON_BEHALF_OF, "any onBehalf"); -// requestHeaders.putSingle(DpsHeaders.USER_EMAIL, "abc@xyz.com"); -// requestHeaders.putSingle(DpsHeaders.CONTENT_TYPE, "any contentType"); -// requestHeaders.putSingle(AppEngineHeaders.DATA_GROUPS, "any dataGrp"); -// -// Map<String, String> map = this.sut.convertMultiToRegularMap(requestHeaders); -// -// assertEquals("any token", map.get(DpsHeaders.AUTHORIZATION)); -// assertEquals("any correlationId", map.get(DpsHeaders.CORRELATION_ID)); -// assertEquals("abc@xyz.com", map.get(DpsHeaders.USER_EMAIL)); -// assertEquals("any account", map.get(DpsHeaders.ACCOUNT_ID)); -// assertEquals("any onBehalf", map.get(DpsHeaders.ON_BEHALF_OF)); -// assertEquals("any contentType", map.get(DpsHeaders.CONTENT_TYPE)); -// assertEquals("any dataGrp", map.get(AppEngineHeaders.DATA_GROUPS)); -// } -} \ No newline at end of file diff --git a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImplTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImplTest.java index 2fdd61dfd50a85de220e4fa808fce032e2539495..b25cf1fc4e62590d9589179917e713c6bc30dd36 100644 --- a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImplTest.java +++ b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImplTest.java @@ -102,7 +102,7 @@ public class ServiceAccountJwtGcpClientImplTest { when(Config.getGoogleAudiences()).thenReturn("aud"); // when(this.tenantInfoServiceProvider).thenReturn(this.tenantInfoService); - + TenantInfo tenantInfo = new TenantInfo(); tenantInfo.setServiceAccount("tenant"); // when(this.tenantInfoService.getTenantInfo()).thenReturn(tenantInfo); diff --git a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/TraceIdExtractorTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/TraceIdExtractorTest.java deleted file mode 100644 index 4f248003784c0e00548b26e2caaf3989ab48c4cf..0000000000000000000000000000000000000000 --- a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/TraceIdExtractorTest.java +++ /dev/null @@ -1,71 +0,0 @@ -// 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.opengroup.osdu.indexer.util; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.opengroup.osdu.core.api.DpsHeaders; -import org.opengroup.osdu.core.gcp.model.AppEngineHeaders; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; - -import java.util.ArrayList; -import java.util.List; - -import static junit.framework.TestCase.assertTrue; - -@RunWith(SpringRunner.class) -public class TraceIdExtractorTest { - - @Test - public void should_getTraceableCloudContext_when_header_doesNot_contains_it() { - List<String> token = new ArrayList<>(); - token.add("any token"); - MultiValueMap<String, String> requestHeaders = new LinkedMultiValueMap<>(); - requestHeaders.put(DpsHeaders.AUTHORIZATION, token); - - String actual = TraceIdExtractor.getTraceableCloudContext(requestHeaders); - - assertTrue(actual.matches(".*o=1")); - } - - @Test - public void should_getTraceableCloudContext_when_header_contains_it() { - List<String> token = new ArrayList<>(); - token.add("any token"); - List<String> trace = new ArrayList<>(); - trace.add("any trace"); - MultiValueMap<String, String> requestHeaders = new LinkedMultiValueMap<>(); - requestHeaders.put(DpsHeaders.AUTHORIZATION, token); - requestHeaders.put(AppEngineHeaders.CLOUD_TRACE_CONTEXT, trace); - - String actual = TraceIdExtractor.getTraceableCloudContext(requestHeaders); - assertTrue(actual.matches("any trace/.*o=1")); - - trace = new ArrayList<>(); - trace.add("any/trace"); - requestHeaders.put(AppEngineHeaders.CLOUD_TRACE_CONTEXT, trace); - actual = TraceIdExtractor.getTraceableCloudContext(requestHeaders); - assertTrue(actual.matches("any/trace;o=1")); - - trace = new ArrayList<>(); - trace.add("any/trace/test"); - requestHeaders.put(AppEngineHeaders.CLOUD_TRACE_CONTEXT, trace); - actual = TraceIdExtractor.getTraceableCloudContext(requestHeaders); - assertTrue(actual.matches("any/trace;o=1")); - } - -} diff --git a/provider/indexer-ibm/maven/settings.xml b/provider/indexer-ibm/maven/settings.xml deleted file mode 100644 index 79c58d344efccb52d3f026e28ce38a368da983aa..0000000000000000000000000000000000000000 --- a/provider/indexer-ibm/maven/settings.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Copyright 2019 IBM Corp. All Rights Reserved. - - 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. - --> - -<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> - <servers> - <server> - <id>azure-auth</id> - <configuration> - <tenant>${AZURE_DEPLOY_TENANT}</tenant> - <client>${AZURE_DEPLOY_CLIENT_ID}</client> - <key>${AZURE_DEPLOY_CLIENT_SECRET}</key> - <environment>AZURE</environment> - </configuration> - </server> - </servers> -</settings> \ No newline at end of file diff --git a/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/security/SecurityConfig.java b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/security/SecurityConfig.java index 5cf0266c2b5e41369459f82c190f5100ebfa477f..7bbc21c8222226c25a043cccc811adabaed9a053 100644 --- a/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/security/SecurityConfig.java +++ b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/security/SecurityConfig.java @@ -38,10 +38,6 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { "/swagger", "/swagger-ui.html", "/webjars/**").permitAll() - .anyRequest() - .authenticated() - .and() - .oauth2ResourceServer().jwt(); - //changed the http authentication to jwt authetication. + .anyRequest().anonymous(); } } diff --git a/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/KeyCloakUser.java b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/KeyCloakProvider.java similarity index 79% rename from provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/KeyCloakUser.java rename to provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/KeyCloakProvider.java index cb264e9ac2c7b945899a030c1a959f2d103393fb..086292f6eeaed5ee664a6c7c53aab87b8a388b88 100644 --- a/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/KeyCloakUser.java +++ b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/KeyCloakProvider.java @@ -20,10 +20,14 @@ import javax.net.ssl.SSLSession; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + import com.google.gson.Gson; import com.google.gson.JsonObject; -public class KeyCloakUser { +@Component +public class KeyCloakProvider { static { disableSslVerification(); @@ -65,26 +69,30 @@ public class KeyCloakUser { } } -// curl --request POST \ -// --url https://keycloak-osdu-r2.osduadev-a1c3eaf78a86806e299f5f3f207556f0-0000.us-south.containers.appdomain.cloud/auth/realms/OSDU/protocol/openid-connect/token \ -// --header 'content-type: application/x-www-form-urlencoded' \ -// --data grant_type=password \ -// --data client_id=osdu-login \ -// --data username=osdu-user \ -// --data password=password1 - - public static String getToken() throws IOException { - //String aad_endpoint = String.format("https://login.microsoftonline.com/%s/oauth2/token", tenant_id); - URL url = new URL("https://keycloak-osdu-r2.osduadev-a1c3eaf78a86806e299f5f3f207556f0-0000.us-south.containers.appdomain.cloud/auth/realms/OSDU/protocol/openid-connect/token"); + @Value("${ibm.keycloak.endpoint_url}") + private String url; + + @Value("${ibm.keycloak.realm}") + private String realm ; + + @Value("${ibm.keycloak.grant_type:password}") + private String grantType; + + @Value("${ibm.keycloak.client_id}") + private String clientId; + + public String getToken(String user, String password) throws IOException { + String endpoint = String.format("https://%s/auth/realms/%s/protocol/openid-connect/token", url, realm); + URL url = new URL(endpoint); HttpsURLConnection con = (HttpsURLConnection) url.openConnection(); con.setRequestMethod("POST"); con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); Map<String, String> parameters = new HashMap<>(); - parameters.put("grant_type", "password"); - parameters.put("client_id", "osdu-login"); - parameters.put("username", "osdu-user"); - parameters.put("password", "password1"); + parameters.put("grant_type", grantType); + parameters.put("client_id", clientId); + parameters.put("username", user); + parameters.put("password", password); con.setDoOutput(true); DataOutputStream out = new DataOutputStream(con.getOutputStream()); diff --git a/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/ServiceAccountJwtClientImpl.java b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/ServiceAccountJwtClientImpl.java index 5c3312d2b41711dda5e6478a3a7cce09fdb9c44b..152cd58a442d41180e5a79afd62293d9339f6007 100644 --- a/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/ServiceAccountJwtClientImpl.java +++ b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/ServiceAccountJwtClientImpl.java @@ -23,6 +23,7 @@ import org.opengroup.osdu.core.common.model.http.DpsHeaders; import org.opengroup.osdu.core.common.provider.interfaces.IJwtCache; import org.opengroup.osdu.core.common.provider.interfaces.ITenantFactory; import org.opengroup.osdu.core.common.util.IServiceAccountJwtClient; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.context.annotation.RequestScope; @@ -41,6 +42,18 @@ public class ServiceAccountJwtClientImpl implements IServiceAccountJwtClient { @Inject private JaxRsDpsLog log; + + @Inject + private KeyCloakProvider keyCloack; + + @Value("${ibm.keycloak.useremail}") + private String userEmail; + + @Value("${ibm.keycloak.username}") + private String userName; + + @Value("${ibm.keycloak.password}") + private String userPassword; @Override public String getIdToken(String tenantName) { @@ -53,9 +66,9 @@ public class ServiceAccountJwtClientImpl implements IServiceAccountJwtClient { String ACCESS_TOKEN = ""; try { - this.dpsHeaders.put(DpsHeaders.USER_EMAIL, "osdu-user@osdu.opengroup.org"); + this.dpsHeaders.put(DpsHeaders.USER_EMAIL, userEmail); - ACCESS_TOKEN = KeyCloakUser.getToken(); + ACCESS_TOKEN = keyCloack.getToken(userName, userPassword); } catch (AppException e) { throw e; diff --git a/provider/indexer-ibm/src/main/resources/application.properties b/provider/indexer-ibm/src/main/resources/application.properties index a9ff96a7aadf4a7b697d36b14a00f5e0f6f631b3..cb1707c702fb936e4d529c88648a1d7d184acbc8 100644 --- a/provider/indexer-ibm/src/main/resources/application.properties +++ b/provider/indexer-ibm/src/main/resources/application.properties @@ -2,7 +2,6 @@ server.servlet.contextPath=/api/indexer/v2/ LOG_PREFIX=indexer -spring.main.allow-bean-definition-overriding=true logging.level.org.springframework.web=DEBUG server.port=8060 JAVA_HEAP_OPTS=-Xms4096M -Xmx4096M @@ -14,8 +13,6 @@ AUTHORIZE_API=https://entitlements-osdu-r2.osduadev-a1c3eaf78a86806e299f5f3f2075 AUTHORIZE_API_KEY=tobeupdated LEGALTAG_API=https://os-legal-ibm-osdu-r2.osduadev-a1c3eaf78a86806e299f5f3f207556f0-0000.us-south.containers.appdomain.cloud/api/legal/v1 -INSECURE_HOSTNAMES=keycloak-osdu-r2.osduadev-a1c3eaf78a86806e299f5f3f207556f0-0000.us-south.containers.appdomain.cloud:85e9c617-e295-460e-a2ff-048b18a76b22.blijs0dd0dcr4f55oehg.databases.appdomain.cloud:elasticsearch-instance-osdu-es.osduadev-a1c3eaf78a86806e299f5f3f207556f0-0000.us-south.containers.appdomain.cloud - DEPLOYMENT_ENVIRONMENT=CLOUD SCHEMA_CACHE_EXPIRATION=60 @@ -36,39 +33,32 @@ STORAGE_QUERY_RECORD_HOST=${storage_service_url}/api/storage/v2/query/records STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST=${storage_service_url}/api/storage/v2/query/records:batch STORAGE_RECORDS_BATCH_SIZE=20 -spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://keycloak-osdu-r2.osduadev-a1c3eaf78a86806e299f5f3f207556f0-0000.us-south.containers.appdomain.cloud/auth/realms/OSDU/protocol/openid-connect/certs - -#spring.security.user.name=opendes@byoc.local -#spring.security.user.password=123 -#spring.security.user.roles=service.indexer.admin - ibm.cloudant.url=https://5be9693e-3324-400a-aadc-59908c132be2-bluemix.cloudant.com ibm.cloudant.apikey=0TsJrjBedUyyu4DhtpxcoL-D8vnHUsPlT5r8A-1IN4SE -ibm.tenant.cloudant.url=https://5be9693e-3324-400a-aadc-59908c132be2-bluemix.cloudant.com -ibm.tenant.cloudant.apikey=0TsJrjBedUyyu4DhtpxcoL-D8vnHUsPlT5r8A-1IN4SE +ibm.tenant.cloudant.url=${ibm.cloudant.url} +ibm.tenant.cloudant.apikey=${ibm.cloudant.apikey} ibm.rabbitmq.uri=amqps://ibm_cloud_45338a90_9047_4927_a6a4_67cd2f7ad9f7:32769652ee6c161f72fd4bcee2929a1866178092b90d22e7f0d7650b8d3b6fa1@e6530902-b278-496b-92bb-230dd55edf86.bn2a2vgd01r3l0hfmvc0.databases.appdomain.cloud:30270 +ibm.keycloak.endpoint_url=keycloak-osdu-r2.osduadev-a1c3eaf78a86806e299f5f3f207556f0-0000.us-south.containers.appdomain.cloud +ibm.keycloak.realm=OSDU +ibm.keycloak.client_id=osdu-login +ibm.keycloak.username=osdu-user +ibm.keycloak.password=password1 +ibm.keycloak.useremail=osdu-user@osdu.opengroup.org + #Indexer-Queue-header indexer.queue.key=abcd -#REDIS_GROUP_HOST=127.0.0.1 -#REDIS_GROUP_PORT=6379 -#REDIS_SEARCH_HOST=localhost -#REDIS_SEARCH_PORT=6379 - ELASTIC_DATASTORE_KIND=SearchSettings ELASTIC_DATASTORE_ID=indexer-service -#ELASTIC_HOST=elasticsearch-instance-osdu-es.osduadev-a1c3eaf78a86806e299f5f3f207556f0-0000.us-south.containers.appdomain.cloud -#ELASTIC_PORT=443 -#ELASTIC_USER_PASSWORD=elastic:5bljztd8jtpv76cxqqhvf46 -ELASTIC_HOST=85e9c617-e295-460e-a2ff-048b18a76b22.blijs0dd0dcr4f55oehg.databases.appdomain.cloud -ELASTIC_PORT=30842 -ELASTIC_USER_PASSWORD=ibm_cloud_a3207231_f8ea_4ca5_9e7e_b63badc2e544:61e86fddfd5b9385510e961bec444d95799258d41b635422e59b073610d7f62d - - +ELASTIC_HOST=elasticsearch-instance-osdu-es.osduadev-a1c3eaf78a86806e299f5f3f207556f0-0000.us-south.containers.appdomain.cloud +ELASTIC_PORT=443 +ELASTIC_USER_PASSWORD=elastic-internal:mp7m94xrgz4t7rz758p4k79m +#ELASTIC_HOST=85e9c617-e295-460e-a2ff-048b18a76b22.blijs0dd0dcr4f55oehg.databases.appdomain.cloud +#ELASTIC_PORT=30842 +#ELASTIC_USER_PASSWORD=ibm_cloud_a3207231_f8ea_4ca5_9e7e_b63badc2e544:61e86fddfd5b9385510e961bec444d95799258d41b635422e59b073610d7f62d #GAE_SERVICE=indexer - diff --git a/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/Config.java b/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/Config.java index cd7dc979b2cfe198ad66d0d312f85caee84d1860..c76cb4307f74d17257d0c540c8dd5f16be784421 100644 --- a/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/Config.java +++ b/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/Config.java @@ -2,29 +2,24 @@ package org.opengroup.osdu.util; public class Config { - //FIXME: remove credentials from here - private static final String DEFAULT_ELASTIC_HOST = "elasticsearch-instance-osdu-es.osduadev-a1c3eaf78a86806e299f5f3f207556f0-0000.us-south.containers.appdomain.cloud"; - //private static final String DEFAULT_ELASTIC_HOST = "localhost"; - private static final String DEFAULT_ELASTIC_USER_NAME = "elastic"; - private static final String DEFAULT_ELASTIC_PASSWORD = "f5bljztd8jtpv76cxqqhvf46"; - - //static final int PORT = 8080; - static final int PORT = 443; - - private static final String DEFAULT_INDEXER_HOST = "localhost"; - private static final String DEFAULT_SEARCH_HOST = "localhost"; - private static final String DEFAULT_STORAGE_HOST = "https://os-storage-ibm-osdu-r2.osduadev-a1c3eaf78a86806e299f5f3f207556f0-0000.us-south.containers.appdomain.cloud/api/storage/v2/"; - private static final String DEFAULT_STORAGE_AUTH_TOKEN = "FIX ME"; - private static final String DEFAULT_DATA_PARTITION_ID_TENANT1 = "opendes"; - private static final String DEFAULT_DATA_PARTITION_ID_TENANT2 = "common"; + private static final String DEFAULT_ELASTIC_HOST = ""; + private static final String DEFAULT_ELASTIC_USER_NAME = ""; + private static final String DEFAULT_ELASTIC_PASSWORD = ""; + static final int PORT = 9243; + + private static final String DEFAULT_INDEXER_HOST = ""; + private static final String DEFAULT_SEARCH_HOST = ""; + private static final String DEFAULT_STORAGE_HOST = ""; + private static final String DEFAULT_DATA_PARTITION_ID_TENANT1 = ""; + private static final String DEFAULT_DATA_PARTITION_ID_TENANT2 = ""; private static final String DEFAULT_SEARCH_INTEGRATION_TESTER = ""; private static final String DEFAULT_TARGET_AUDIENCE = ""; - private static final String DEFAULT_LEGAL_TAG = "common-public-usa-dataset-us"; - private static final String DEFAULT_OTHER_RELEVANT_DATA_COUNTRIES = "US"; + private static final String DEFAULT_LEGAL_TAG = ""; + private static final String DEFAULT_OTHER_RELEVANT_DATA_COUNTRIES = ""; - private static final String DEFAULT_ENTITLEMENTS_DOMAIN = "ibm.com"; + private static final String DEFAULT_ENTITLEMENTS_DOMAIN = ""; public static String getOtherRelevantDataCountries() { @@ -75,10 +70,6 @@ public class Config { return getEnvironmentVariableOrDefaultValue("STORAGE_HOST", DEFAULT_STORAGE_HOST); } - public static String getStorageBasicAuthToken() { - return getEnvironmentVariableOrDefaultValue("STORAGE_AUTH_TOKEN", DEFAULT_STORAGE_AUTH_TOKEN); - } - public static String getEntitlementsDomain() { return getEnvironmentVariableOrDefaultValue("ENTITLEMENTS_DOMAIN", DEFAULT_ENTITLEMENTS_DOMAIN); } diff --git a/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/ElasticUtils.java b/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/ElasticUtils.java index d817d347b84116df0551460e8cddf205820e8ea2..fa8e8f716b3031a86a0d417b3feeb3ebbbf9fdf8 100644 --- a/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/ElasticUtils.java +++ b/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/ElasticUtils.java @@ -1,22 +1,9 @@ package org.opengroup.osdu.util; -import java.io.IOException; -import java.security.SecureRandom; -import java.security.cert.X509Certificate; -import java.util.ArrayList; -import java.util.Base64; -import java.util.List; -import java.util.Map; -import java.util.logging.Level; - -import javax.net.ssl.SSLContext; -import javax.net.ssl.TrustManager; -import javax.net.ssl.X509TrustManager; - +import com.google.gson.Gson; +import lombok.extern.java.Log; import org.apache.http.Header; import org.apache.http.HttpHost; -import org.apache.http.conn.ssl.SSLSocketFactory; -import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; import org.apache.http.message.BasicHeader; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.ElasticsearchStatusException; @@ -34,11 +21,7 @@ import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.support.master.AcknowledgedResponse; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.RestClient; -import org.elasticsearch.client.RestClientBuilder; -import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback; -import org.elasticsearch.client.RestHighLevelClient; +import org.elasticsearch.client.*; import org.elasticsearch.cluster.metadata.MappingMetaData; import org.elasticsearch.common.collect.ImmutableOpenMap; import org.elasticsearch.common.settings.Settings; @@ -48,9 +31,12 @@ import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.rest.RestStatus; import org.elasticsearch.search.builder.SearchSourceBuilder; -import com.google.gson.Gson; - -import lombok.extern.java.Log; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Base64; +import java.util.List; +import java.util.Map; +import java.util.logging.Level; /** @@ -110,8 +96,6 @@ public class ElasticUtils { if (e.status() == RestStatus.BAD_REQUEST && (e.getMessage().contains("resource_already_exists_exception") || e.getMessage().contains("IndexAlreadyExistsException"))) { log.info("Index already exists. Ignoring error..."); - } else { - log.log(Level.SEVERE, e.getMessage()); } } catch (Exception e) { throw new AssertionError(e.getMessage()); @@ -279,35 +263,11 @@ public class ElasticUtils { int port = Config.PORT; try { String rawString = String.format("%s:%s", username, password); - String protocol = (port == 443)?"https":"http"; - RestClientBuilder builder = RestClient.builder(new HttpHost(host, port, protocol)); + RestClientBuilder builder = RestClient.builder(new HttpHost(host, port, "https")); builder.setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder.setConnectTimeout(REST_CLIENT_CONNECT_TIMEOUT) .setSocketTimeout(REST_CLIENT_SOCKET_TIMEOUT)); builder.setMaxRetryTimeoutMillis(REST_CLIENT_RETRY_TIMEOUT); - SSLContext sslContext = SSLContext.getInstance("SSL"); - - // set up a TrustManager that trusts everything - sslContext.init(null, new TrustManager[] { new X509TrustManager() { - public X509Certificate[] getAcceptedIssuers() { - System.out.println("getAcceptedIssuers ============="); - return null; - } - - public void checkClientTrusted(X509Certificate[] certs, - String authType) { - System.out.println("checkClientTrusted ============="); - } - - public void checkServerTrusted(X509Certificate[] certs, - String authType) { - System.out.println("checkServerTrusted ============="); - } - } }, new SecureRandom()); - - - - Header[] defaultHeaders = new Header[]{ new BasicHeader("client.transport.nodes_sampler_interval", "30s"), new BasicHeader("client.transport.ping_timeout", "30s"), @@ -317,18 +277,8 @@ public class ElasticUtils { new BasicHeader("xpack.security.transport.ssl.enabled", Boolean.toString(true)), new BasicHeader("Authorization", String.format("Basic %s", Base64.getEncoder().encodeToString(rawString.getBytes()))), }; - - - builder.setHttpClientConfigCallback(new HttpClientConfigCallback() { - @Override - public HttpAsyncClientBuilder customizeHttpClient( - HttpAsyncClientBuilder httpClientBuilder) { - return httpClientBuilder - .setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER) - .setSSLContext(sslContext); - } - }) - .setDefaultHeaders(defaultHeaders); + + builder.setDefaultHeaders(defaultHeaders); restHighLevelClient = new RestHighLevelClient(builder); } catch (Exception e) { diff --git a/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/HTTPClient.java b/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/HTTPClient.java index 0a28571abbdbf7c905628266ccbd6125c3c876a6..28d7aa69c95bbf74a9cb547f549c6b54753aa3c1 100644 --- a/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/HTTPClient.java +++ b/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/HTTPClient.java @@ -1,24 +1,21 @@ package org.opengroup.osdu.util; -import java.net.URLEncoder; -import java.security.SecureRandom; -import java.security.cert.X509Certificate; -import java.util.HashMap; -import java.util.Map; -import java.util.Random; +import com.sun.jersey.api.client.Client; +import com.sun.jersey.api.client.ClientResponse; +import com.sun.jersey.api.client.WebResource; +import lombok.ToString; +import lombok.extern.java.Log; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import javax.ws.rs.core.MediaType; - -import com.sun.jersey.api.client.Client; -import com.sun.jersey.api.client.ClientResponse; -import com.sun.jersey.api.client.WebResource; - -import lombok.ToString; -import lombok.extern.java.Log; +import java.security.SecureRandom; +import java.security.cert.X509Certificate; +import java.util.HashMap; +import java.util.Map; +import java.util.Random; @Log @ToString