diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 52342cee8e791f9d7f0706da78bc0d442ef2d9c7..ebe5dc853da1d76fc6b4f37ed0747b2a28db91f0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,7 +22,7 @@ variables: OSDU_SECURITY_HTTPS_CERTIFICATE_TRUST: 'true' OSDU_GCP_STORAGE_RECORDS_BATCH_SIZE: 20 OSDU_GCP_DATA_GROUP: osdu - OSDU_GCP_ENV_VARS: AUTHORIZE_API=$OSDU_GCP_ENTITLEMENTS_URL,GOOGLE_CLOUD_PROJECT=$OSDU_GCP_PROJECT,REDIS_SEARCH_HOST=$REDIS_SEARCH_HOST,REDIS_GROUP_HOST=$REDIS_GROUP_HOST,SECURITY_HTTPS_CERTIFICATE_TRUST=$OSDU_SECURITY_HTTPS_CERTIFICATE_TRUST,INDEXER_HOST=$OSDU_GCP_INDEXER_HOST,STORAGE_QUERY_RECORD_HOST=$OSDU_GCP_STORAGE_QUERY_RECORD_HOST,STORAGE_SCHEMA_HOST=$OSDU_GCP_STORAGE_SCHEMA_HOST,STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST=$OSDU_GCP_STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST,STORAGE_HOSTNAME=$OSDU_GCP_STORAGE_HOSTNAME,STORAGE_RECORDS_BATCH_SIZE=$OSDU_GCP_STORAGE_RECORDS_BATCH_SIZE,INDEXER_QUEUE_HOST=$OSDU_GCP_INDEXER_QUEUE_HOST,LEGALTAG_API=$OSDU_GCP_LEGALTAG_API,CRS_API=$OSDU_GCP_CRS_API,DATA_GROUP=$OSDU_GCP_DATA_GROUP,GOOGLE_AUDIENCES=$GOOGLE_AUDIENCE,INDEXER_QUE_SERVICE_MAIL=$OSDU_GCP_QUEUE_SA_EMAIL,SCHEMA_HOST=$OSDU_GCP_SCHEMA_URL/api/schema-service/v1/schema --vpc-connector=$OSDU_GCP_VPC_CONNECTOR + OSDU_GCP_ENV_VARS: AUTHORIZE_API=$OSDU_GCP_ENTITLEMENTS_URL,GOOGLE_CLOUD_PROJECT=$OSDU_GCP_PROJECT,REDIS_SEARCH_HOST=$REDIS_SEARCH_HOST,REDIS_GROUP_HOST=$REDIS_GROUP_HOST,SECURITY_HTTPS_CERTIFICATE_TRUST=$OSDU_SECURITY_HTTPS_CERTIFICATE_TRUST,INDEXER_HOST=$OSDU_GCP_INDEXER_HOST,STORAGE_QUERY_RECORD_HOST=$OSDU_GCP_STORAGE_QUERY_RECORD_HOST,STORAGE_SCHEMA_HOST=$OSDU_GCP_STORAGE_SCHEMA_HOST,STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST=$OSDU_GCP_STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST,STORAGE_HOSTNAME=$OSDU_GCP_STORAGE_HOSTNAME,STORAGE_RECORDS_BATCH_SIZE=$OSDU_GCP_STORAGE_RECORDS_BATCH_SIZE,INDEXER_QUEUE_HOST=$OSDU_GCP_INDEXER_QUEUE_HOST,LEGALTAG_API=$OSDU_GCP_LEGALTAG_API,CRS_API=$OSDU_GCP_CRS_API,DATA_GROUP=$OSDU_GCP_DATA_GROUP,GOOGLE_AUDIENCES=$GOOGLE_AUDIENCE,PARTITION_API=$OSDU_GCP_PARTITION_API,INDEXER_QUE_SERVICE_MAIL=$OSDU_GCP_QUEUE_SA_EMAIL,SCHEMA_HOST=$OSDU_GCP_SCHEMA_URL/api/schema-service/v1/schema --vpc-connector=$OSDU_GCP_VPC_CONNECTOR OSDU_GCP_TEST_SUBDIR: testing/$OSDU_GCP_SERVICE-test-$OSDU_GCP_VENDOR IBM_BUILD_SUBDIR: provider/indexer-ibm diff --git a/NOTICE b/NOTICE index 31eb59906c5af75bf368a436b2dbcc49544d40f6..f26b38d79a26e4ed4242828fb75b1e2c06f17ff0 100644 --- a/NOTICE +++ b/NOTICE @@ -42,14 +42,10 @@ The following software have components provided under the terms of this license: - AWS Java SDK :: SDK Core (from https://aws.amazon.com/sdkforjava) - AWS Java SDK :: Services :: AWS Simple Systems Management (SSM) (from https://aws.amazon.com/sdkforjava) - AWS Java SDK :: Utilities (from ) -- AWS Java SDK for AWS Amplify (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS App Mesh (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS AppSync (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Application Auto Scaling (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Application Discovery Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Audit Manager (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Auto Scaling Plans (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Backup (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Batch (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Budgets (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Certificate Manager (from https://aws.amazon.com/sdkforjava) @@ -63,241 +59,118 @@ The following software have components provided under the terms of this license: - AWS Java SDK for AWS CodeDeploy (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS CodePipeline (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS CodeStar (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS CodeStar Notifications (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS CodeStar connections (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Comprehend Medical (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Compute Optimizer (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Config (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Cost Explorer (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Cost and Usage Report (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Data Exchange (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Data Pipeline (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS DataSync (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Database Migration Service (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Device Farm (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Direct Connect (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Directory Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS EC2 Instance Connect (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Elastic Beanstalk (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Elemental MediaConvert (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Elemental MediaLive (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Elemental MediaPackage (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Elemental MediaPackage VOD (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Elemental MediaStore (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Elemental MediaStore Data Plane (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Fault Injection Simulator (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS GameLift (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Global Accelerator (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Glue (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Glue DataBrew (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Greengrass (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Ground Station (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Health APIs and Notifications (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS IAM (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Import/Export (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS IoT (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT 1-Click Devices (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT 1-Click Projects (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS IoT Analytics (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Core Device Advisor (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Events (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Events Data (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Fleet Hub (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Greengrass V2 (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS IoT Jobs Data Plane (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Secure Tunneling (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT SiteWise (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Things Graph (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Wireless (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS KMS (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Lake Formation (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Lambda (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Lex (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS License Manager (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Marketplace Catalog (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Marketplace Commerce Analytics (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Marketplace Entitlement (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Marketplace Metering Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS MediaConnect (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS MediaTailor (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Migration Hub (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Migration Hub Config (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Mobile (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Network Firewall (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Network Manager (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS OpsWorks (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS OpsWorks for Chef Automate (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Organizations (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Outposts (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Performance Insights (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Pricing (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS RDS Data (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Resource Access Manager (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Resource Groups (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Resource Groups Tagging API (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS RoboMaker (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS S3 Control (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS SSO Identity Store (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS SSO OIDC (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS STS (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Savings Plans (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Secrets Manager (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS SecurityHub (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Server Migration (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Service Catalog (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Service Catalog App Registry (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Shield (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Signer (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Single Sign-On (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Single Sign-On Admin (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Step Functions (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Storage Gateway (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Support (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Systems Manager Incident Manager (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Systems Manager Incident Manager Contacts (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Transfer for SFTP (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS WAF (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS WAFV2 (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Well-Architected Tool (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS X-Ray (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWSKendraFrontend (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWSServerlessApplicationRepository (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Access Analyzer (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Alexa For Business (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon API Gateway (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon AppConfig (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon AppIntegrations (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon AppStream (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Appflow (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Athena (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Augmented AI Runtime (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Chime (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon CloudDirectory (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon CloudFront (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon CloudSearch (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon CloudWatch (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon CloudWatch Application Insights (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon CloudWatch Events (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon CloudWatch Logs (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon CodeGuru Profiler (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon CodeGuru Reviewer (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Cognito Identity (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Cognito Identity Provider Service (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Cognito Sync (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Comprehend (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Connect (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Connect Contact Lens (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Connect Customer Profiles (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Connect Participant (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Data Lifecycle Manager (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Detective (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon DevOps Guru (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon DocumentDB with MongoDB compatibility (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon DynamoDB (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon DynamoDB Accelerator (DAX) (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon EC2 (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon EMR (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon EMR Containers (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon ElastiCache (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Elastic Inference (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Elastic Block Store (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Elastic Container Registry Public (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Elastic Container Service for Kubernetes (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Elastic File System (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Elastic Transcoder (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Elasticsearch Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon EventBridge (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon FSx (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Forecast (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Forecast Query (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Fraud Detector (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Glacier (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon GuardDuty (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon HealthLake (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Honeycode (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Interactive Video (from https://aws.amazon.com/sdkforjava) +- AWS Java SDK for Amazon Inspector Service (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Kinesis (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Kinesis Analytics (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Kinesis Video Signaling Channels (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Kinesis Video Streams (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Lex Model Building (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Lex Model Building V2 (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Lex Runtime V2 (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Lightsail (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Location (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Lookout for Equipment (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Lookout for Metrics (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Lookout for Vision (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Machine Learning (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Macie (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Macie 2 (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Managed Blockchain (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Mechanical Turk Requester (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Neptune (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Personalize (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Personalize Events (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Personalize Runtime (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Pinpoint (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Pinpoint Email (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Pinpoint SMS and Voice (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Polly (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Prometheus (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon QLDB (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon QLDB Session (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon QuickSight (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon RDS (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Redshift (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Rekognition (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Route 53 Auto Naming (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Route 53 Resolver (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Route53 (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon S3 (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon S3 on Outposts (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon SES (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon SNS (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon SQS (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon SWF (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon SageMaker (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon SageMaker Feature Store Runtime (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon SageMaker Runtime (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Sagemaker Edge Manager (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Simple Email (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon SimpleDB (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Snowball (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Textract (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Timestream Query (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Timestream Write (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Transcribe (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Translate (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon WorkLink (from https://aws.amazon.com/sdkforjava) +- AWS Java SDK for Amazon WorkDocs (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon WorkMail (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon WorkMail Message Flow (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon WorkSpaces (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AmazonApiGatewayManagementApi (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AmazonApiGatewayV2 (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AmazonMQ (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AmazonMWAA (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AmazonNimbleStudio (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AmplifyBackend (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Application Migration (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Auto Scaling (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Braket (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for CodeArtifact (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for EC2 Image Builder (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Elastic Load Balancing (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Elastic Load Balancing (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for FinSpace Public API (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for FinSpace User Environment Management (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Firewall Management (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Managed Streaming for Kafka (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Redshift Data API (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Schemas (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Service Quotas (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Synthetics (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for the AWS CloudHSM (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for the AWS Simple Systems Management (SSM) Service (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for the Amazon EC2 Container Registry (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for the Amazon EC2 Container Service (from https://aws.amazon.com/sdkforjava) +- AWS SDK For Java (from https://aws.amazon.com/sdkforjava) +- AWS SDK for Java - BOM (from https://aws.amazon.com/sdkforjava) - AWS SDK for Java - Core (from https://aws.amazon.com/sdkforjava) - AWS SDK for Java - Models (from https://aws.amazon.com/sdkforjava) - Adapter: RxJava (from ) @@ -336,6 +209,7 @@ The following software have components provided under the terms of this license: - Asynchronous Http Client (from ) - Asynchronous Http Client Netty Utils (from ) - AutoValue (from ) +- AutoValue Annotations (from ) - Azure AD Spring Security Integration Spring Boot Starter (from https://github.com/Microsoft/azure-spring-boot) - Azure Metrics Spring Boot Starter (from https://github.com/Microsoft/azure-spring-boot) - BSON (from http://bsonspec.org) @@ -364,6 +238,7 @@ The following software have components provided under the terms of this license: - Elasticsearch: 5.0.0-alpha5 (from https://github.com/elastic/elasticsearch) - Elasticsearch: 5.0.0-alpha5 (from https://github.com/elastic/elasticsearch) - FindBugs-jsr305 (from http://findbugs.sourceforge.net/) +- GSON extensions to the Google HTTP Client Library for Java. (from ) - Google APIs Client Library for Java (from ) - Google APIs Client Library for Java (from ) - Google App Engine extensions to the Google HTTP Client Library for Java. (from ) @@ -612,6 +487,8 @@ The following software have components provided under the terms of this license: - StAX (from http://stax.codehaus.org/) - StAX API (from http://stax.codehaus.org/) - T-Digest (from https://github.com/tdunning/t-digest) +- Vavr (from http://vavr.io) +- Vavr Match (from http://vavr.io) - Woodstox (from https://github.com/FasterXML/woodstox) - Xerces2-j (from https://xerces.apache.org/xerces2-j/) - aalto-xml (from ) @@ -686,6 +563,8 @@ The following software have components provided under the terms of this license: - proton-j (from ) - rank-eval (from https://github.com/elastic/elasticsearch) - rank-eval (from https://github.com/elastic/elasticsearch) +- resilience4j (from https://github.com/resilience4j/resilience4j) +- resilience4j (from https://github.com/resilience4j/resilience4j) - rest (from https://github.com/elastic/elasticsearch) - rest (from https://github.com/elastic/elasticsearch) - rest-high-level (from https://github.com/elastic/elasticsearch) @@ -761,6 +640,8 @@ The following software have components provided under the terms of this license: - Google APIs Client Library for Java (from ) - Google APIs Client Library for Java (from ) - Google Auth Library for Java - Credentials (from ) +- Google Auth Library for Java - Credentials (from ) +- Google Auth Library for Java - OAuth2 HTTP (from ) - Google Auth Library for Java - OAuth2 HTTP (from ) - Hamcrest library (from ) - JDOM (from http://www.jdom.org) diff --git a/indexer-core/pom.xml b/indexer-core/pom.xml index 6a506916315115f5e405e38bd3cd126c2017721d..94aa6f13d7c3c3c7f9c755f5585eea1306ed5481 100644 --- a/indexer-core/pom.xml +++ b/indexer-core/pom.xml @@ -4,19 +4,19 @@ <parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <artifactId>indexer-core</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <name>indexer-core</name> <description>Indexer Service Core</description> <packaging>jar</packaging> <properties> <commons-beanutils.version>1.9.4</commons-beanutils.version> - <osdu.oscorecommon.version>0.9.0-SNAPSHOT</osdu.oscorecommon.version> + <osdu.oscorecommon.version>0.9.0</osdu.oscorecommon.version> </properties> <dependencies> diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java index 095b66a84fd8b3174140d0294012e0aa0c025b5e..fb0469356a95978325aa45d9f44b3dd186b308fa 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java @@ -244,7 +244,11 @@ public class IndexSchemaServiceImpl implements IndexSchemaService { HashMap<String, Object> propertiesMap = new HashMap<>(); for (SchemaItem propertiesItem : schemaItem.getProperties()) { String propertiesItemKind = propertiesItem.getKind(); - String propertiesElasticType = TypeMapper.getIndexerType(propertiesItemKind,ElasticType.TEXT.getValue()); + Object propertiesElasticType = TypeMapper.getIndexerType(propertiesItemKind,ElasticType.TEXT.getValue()); + if(propertiesItem.getProperties() != null){ + HashMap<String, Object> innerProperties = normalizeInnerProperties(propertiesItem); + propertiesElasticType = TypeMapper.getObjectsArrayMapping(propertiesItemKind, innerProperties); + } propertiesMap.put(propertiesItem.getPath(),propertiesElasticType); } return propertiesMap; diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java index 7141317fa91b646dd22ed35a3746fa5ffefa275b..6a9a9dc4c30900a76fa811ac63315bce6358efb0 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java @@ -45,7 +45,7 @@ public class TypeMapper { metaAttributeIndexerType.put(RecordMetaAttribute.VERSION.getValue(), ElasticType.LONG.getValue()); metaAttributeIndexerType.put(RecordMetaAttribute.X_ACL.getValue(), ElasticType.KEYWORD.getValue()); metaAttributeIndexerType.put(RecordMetaAttribute.ACL.getValue(), getAclIndexerMapping()); - metaAttributeIndexerType.put(RecordMetaAttribute.TAGS.getValue(), ElasticType.OBJECT.getValue()); + metaAttributeIndexerType.put(RecordMetaAttribute.TAGS.getValue(), ElasticType.FLATTENED.getValue()); metaAttributeIndexerType.put(RecordMetaAttribute.LEGAL.getValue(), getLegalIndexerMapping()); metaAttributeIndexerType.put(RecordMetaAttribute.ANCESTRY.getValue(), getAncestryIndexerMapping()); metaAttributeIndexerType.put(RecordMetaAttribute.INDEX_STATUS.getValue(), getIndexStatusMapping()); @@ -104,7 +104,11 @@ public class TypeMapper { Map<String,Object> type = (Map<String, Object>) indexerType; Map<String, Object> propertiesMap = (Map<String, Object>) type.get(Constants.PROPERTIES); for (Map.Entry<String,Object> entry : propertiesMap.entrySet()){ - entry.setValue(Records.Type.builder().type(entry.getValue().toString()).build()); + if(isMap(entry.getValue())){ + entry.setValue(getDataAttributeIndexerMapping(entry.getValue())); + }else { + entry.setValue(Records.Type.builder().type(entry.getValue().toString()).build()); + } } return indexerType; } diff --git a/pom.xml b/pom.xml index 6265945bd14bac470785a373998e3e37ade3b30a..6cb939bafbe005a3fafe98a932c1a130fd3a9199 100644 --- a/pom.xml +++ b/pom.xml @@ -12,14 +12,14 @@ <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> <packaging>pom</packaging> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <description>Indexer Service</description> <properties> <java.version>1.8</java.version> <springfox-version>2.7.0</springfox-version> <spring-cloud.version>Greenwich.SR2</spring-cloud.version> - <os-core-common.version>0.9.0-SNAPSHOT</os-core-common.version> + <os-core-common.version>0.9.0</os-core-common.version> <snakeyaml.version>1.26</snakeyaml.version> <hibernate-validator.version>6.1.5.Final</hibernate-validator.version> <jackson.version>2.11.4</jackson.version> diff --git a/provider/indexer-aws/pom.xml b/provider/indexer-aws/pom.xml index d445ae8f36d195b77597115a7d91875de213c5ee..9b61d00163515ed199c46bbf6cb307eabdb07891 100644 --- a/provider/indexer-aws/pom.xml +++ b/provider/indexer-aws/pom.xml @@ -18,7 +18,7 @@ <parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> @@ -26,12 +26,11 @@ <artifactId>indexer-aws</artifactId> <description>Storage service on AWS</description> <packaging>jar</packaging> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <properties> <aws.version>1.11.637</aws.version> <deployment.environment>dev</deployment.environment> - <version.number>1.0.6-SNAPSHOT</version.number> </properties> <dependencies> @@ -43,7 +42,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-core</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.opengroup.osdu.core.aws</groupId> diff --git a/provider/indexer-azure/pom.xml b/provider/indexer-azure/pom.xml index 764fabd09e41e39c7aa40402da08f2e7102b1d97..9a4e029c2ad739b40f409b02fc0f2b5e5f2d07da 100644 --- a/provider/indexer-azure/pom.xml +++ b/provider/indexer-azure/pom.xml @@ -21,12 +21,12 @@ <parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> <artifactId>indexer-azure</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <name>indexer-azure</name> <description>Indexer Service Azure</description> <packaging>jar</packaging> @@ -39,7 +39,7 @@ <azure.appservice.subscription /> <log4j.version>2.11.2</log4j.version> <nimbus-jose-jwt.version>8.2</nimbus-jose-jwt.version> - <indexer-core.version>0.9.0-SNAPSHOT</indexer-core.version> + <indexer-core.version>0.10.0-SNAPSHOT</indexer-core.version> <spring-security-jwt.version>1.1.1.RELEASE</spring-security-jwt.version> <osdu.corelibazure.version>0.6.2</osdu.corelibazure.version> <reactor-netty.version>0.9.12.RELEASE</reactor-netty.version> @@ -203,6 +203,18 @@ <artifactId>elasticsearch-rest-high-level-client</artifactId> </dependency> + <!-- Resilience4j Dependencies--> + <dependency> + <groupId>io.github.resilience4j</groupId> + <artifactId>resilience4j-retry</artifactId> + <version>1.7.0</version> + </dependency> + <dependency> + <groupId>io.github.resilience4j</groupId> + <artifactId>resilience4j-core</artifactId> + <version>1.7.0</version> + </dependency> + <!-- Test Dependencies --> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/RetryPolicy.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/RetryPolicy.java new file mode 100644 index 0000000000000000000000000000000000000000..47d906c9ad7e83e29b112ea8339117877503a430 --- /dev/null +++ b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/RetryPolicy.java @@ -0,0 +1,81 @@ +// 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.service; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import io.github.resilience4j.retry.RetryConfig; +import lombok.Data; +import lombok.extern.java.Log; +import org.opengroup.osdu.core.common.logging.JaxRsDpsLog; +import org.opengroup.osdu.core.common.model.http.HttpResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +import java.time.Duration; + +/** + * This class handles retry configuration logic for calls made to <prefix>/storage/v2/query/records:batch + * to resolve intermittent CosmosDb Not found issue + */ + +@Log +@Component +@Data +@ConfigurationProperties(prefix = "azure.storage.client.retry") +public class RetryPolicy { + + @Autowired + private JaxRsDpsLog logger; + + private int attempts = 3; + private int waitDuration = 1000; + private final String RECORD_NOT_FOUND = "notFound"; + + /** + * @return RetryConfig with 3 attempts and 1 sec wait time + */ + public RetryConfig retryConfig() { + return RetryConfig.<HttpResponse>custom() + .maxAttempts(attempts) + .waitDuration(Duration.ofMillis(waitDuration)) + .retryOnResult(response -> isRetryRequired(response)) + .build(); + } + + /** + * Unfound records get listed under a JsonArray "notFound" in the http json response + * @param response + * @return if there are elements in "notFound" returns true, else false + */ + private boolean isRetryRequired(HttpResponse response) { + if (response == null || response.getBody().isEmpty()) { + return false; + } + JsonObject jsonObject = new JsonParser().parse(response.getBody()).getAsJsonObject(); + JsonElement notFoundElement = (JsonArray) jsonObject.get(RECORD_NOT_FOUND); + if (notFoundElement == null || + !notFoundElement.isJsonArray() || + notFoundElement.getAsJsonArray().size() == 0 || + notFoundElement.getAsJsonArray().isJsonNull()) { + return false; + } + log.info("Retry is set true"); + return true; + } +} diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImpl.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..d56b888fafaf747bd51f97658e7bfd255a0f31e9 --- /dev/null +++ b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImpl.java @@ -0,0 +1,95 @@ +// 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.service; + +import io.github.resilience4j.retry.Retry; +import io.github.resilience4j.retry.RetryConfig; +import io.github.resilience4j.retry.RetryRegistry; +import org.opengroup.osdu.core.common.http.FetchServiceHttpRequest; +import org.opengroup.osdu.core.common.http.IUrlFetchService; +import org.opengroup.osdu.core.common.http.UrlFetchServiceImpl; +import org.opengroup.osdu.core.common.logging.JaxRsDpsLog; +import org.opengroup.osdu.core.common.model.http.HttpResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Service; +import org.springframework.web.context.annotation.RequestScope; + +import java.net.URISyntaxException; +import java.util.function.Supplier; + +/** + * This class has same function as that of UrlFetchService except in the case of + * <prefix>/storage/v2/query/records:batch call for which it enables retry + */ + +@Service +@RequestScope +@Primary +public class UrlFetchServiceAzureImpl implements IUrlFetchService { + + public static final String STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST_URL = "storage/v2/query/records:batch"; + + @Autowired + private RetryPolicy policy; + + @Autowired + private UrlFetchServiceImpl urlFetchService; + + @Autowired + private JaxRsDpsLog logger; + /** + * this method invokes retryFunction only for <prefix>/storage/v2/query/records:batch + * calls otherwise invokes UrlFetchService.sendRequest(FetchServiceHttpRequest request) + * + * @param httpRequest + * @return + * @throws URISyntaxException + */ + @Override + public HttpResponse sendRequest(FetchServiceHttpRequest httpRequest) throws URISyntaxException { + HttpResponse output; + if (httpRequest.getUrl().contains(STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST_URL)) { + output = this.retryFunction(httpRequest); + if (output != null) { + return output; + } + } + return this.urlFetchService.sendRequest(httpRequest); + } + + /** + * decorates UrlFetchService.sendRequest(FetchServiceHttpRequest request) + * with retry configurations in RetryPolicy + * + * @param request + * @return null if URISyntaxException is caught else returns HttpResponse + */ + private HttpResponse retryFunction(FetchServiceHttpRequest request) { + RetryConfig config = this.policy.retryConfig(); + RetryRegistry registry = RetryRegistry.of(config); + Retry retry = registry.retry("retryPolicy", config); + + Supplier<HttpResponse> urlFetchServiceSupplier = () -> { + try { + return this.urlFetchService.sendRequest(request); + } catch (URISyntaxException e) { + logger.error("HttpResponse is null due to URISyntaxException. " + e.getReason()); + return null; + } + }; + return (urlFetchServiceSupplier == null) ? null : Retry.decorateSupplier(retry, urlFetchServiceSupplier).get(); + } +} diff --git a/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/RetryPolicyTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/RetryPolicyTest.java new file mode 100644 index 0000000000000000000000000000000000000000..70a7fcb9e0e7bdbb2da003a5953645e8cf91cfc3 --- /dev/null +++ b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/RetryPolicyTest.java @@ -0,0 +1,163 @@ +// 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.service; + +import io.github.resilience4j.retry.RetryConfig; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.opengroup.osdu.core.common.http.FetchServiceHttpRequest; +import org.opengroup.osdu.core.common.http.UrlFetchServiceImpl; +import org.opengroup.osdu.core.common.logging.JaxRsDpsLog; +import org.opengroup.osdu.core.common.model.http.HttpResponse; + +import java.util.function.Predicate; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class RetryPolicyTest { + + private static final String JSON_RESPONSE_WITH_NOT_FOUND = "{\n" + + " \"records\": [\n" + + " {\n" + + " \"data\": {\n" + + " \"Spuddate\": \"atspud\",\n" + + " \"UWI\": \"atuwi\",\n" + + " \"latitude\": \"latitude\",\n" + + " \"longitude\": \"longitude\"\n" + + " },\n" + + " \"meta\": null,\n" + + " \"id\": \"demo\",\n" + + " \"version\": demo,\n" + + " \"kind\": \"demo\",\n" + + " \"acl\": {\n" + + " \"viewers\": [\n" + + " \"demo\"\n" + + " ],\n" + + " \"owners\": [\n" + + " \"demo\"\n" + + " ]\n" + + " },\n" + + " \"legal\": {\n" + + " \"legaltags\": [\n" + + " \"opendes-test-tag\"\n" + + " ],\n" + + " \"otherRelevantDataCountries\": [\n" + + " \"BR\"\n" + + " ],\n" + + " \"status\": \"compliant\"\n" + + " },\n" + + " \"createUser\": \"demo\",\n" + + " \"createTime\": \"demo\"\n" + + " }\n" + + " ],\n" + + " \"notFound\": [\n" + + " \"demo\"\n" + + " ],\n" + + " \"conversionStatuses\": []\n" + + "}"; + + private static final String JSON_RESPONSE1_WITHOUT_NOT_FOUND = "{\n" + + " \"records\": [\n" + + " {\n" + + " \"data\": {\n" + + " \"Spuddate\": \"atspud\",\n" + + " \"UWI\": \"atuwi\",\n" + + " \"latitude\": \"latitude\",\n" + + " \"longitude\": \"longitude\"\n" + + " },\n" + + " \"meta\": null,\n" + + " \"id\": \"demo\",\n" + + " \"version\": demo,\n" + + " \"kind\": \"demo\",\n" + + " \"acl\": {\n" + + " \"viewers\": [\n" + + " \"demo\"\n" + + " ],\n" + + " \"owners\": [\n" + + " \"demo\"\n" + + " ]\n" + + " },\n" + + " \"legal\": {\n" + + " \"legaltags\": [\n" + + " \"opendes-test-tag\"\n" + + " ],\n" + + " \"otherRelevantDataCountries\": [\n" + + " \"BR\"\n" + + " ],\n" + + " \"status\": \"compliant\"\n" + + " },\n" + + " \"createUser\": \"demo\",\n" + + " \"createTime\": \"demo\"\n" + + " }\n" + + " ],\n" + + " \"notFound\": [],\n" + + " \"conversionStatuses\": []\n" + + "}"; + + private static final String JSON_RESPONSE2_WITHOUT_NOT_FOUND = "{\n" + + " \"records\" :[],\n" + + " \"conversionStatuses\":[]\n" + + "}"; + + @Mock + private UrlFetchServiceImpl urlFetchService; + @Mock + private FetchServiceHttpRequest httpRequest; + @InjectMocks + private HttpResponse response; + @InjectMocks + private RetryPolicy retryPolicy; + @Mock + private JaxRsDpsLog logger; + + + @Test + public void retry_should_be_true_for_jsonResponseWithNotFound() { + RetryConfig config = this.retryPolicy.retryConfig(); + Predicate<HttpResponse> retry = config.getResultPredicate(); + response.setBody(JSON_RESPONSE_WITH_NOT_FOUND); + assert retry != null; + boolean value = retry.test(response); + + assertTrue(value); + } + + @Test + public void retry_should_be_false_for_jsonResponse1WithOut_NotFound() { + RetryConfig config = this.retryPolicy.retryConfig(); + Predicate<HttpResponse> retry = config.getResultPredicate(); + response.setBody(JSON_RESPONSE1_WITHOUT_NOT_FOUND); + boolean value = retry.test(response); + + assertFalse(value); + } + + @Test + public void retry_should_be_false_for_jsonResponse2WithOut_NotFound() { + RetryConfig config = this.retryPolicy.retryConfig(); + Predicate<HttpResponse> retry = config.getResultPredicate(); + response.setBody(JSON_RESPONSE2_WITHOUT_NOT_FOUND); + boolean value = retry.test(response); + + assertFalse(value); + } + +} diff --git a/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImplTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImplTest.java new file mode 100644 index 0000000000000000000000000000000000000000..916c5b8bc987621937eb80d955fb80c4e7dab5f2 --- /dev/null +++ b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImplTest.java @@ -0,0 +1,139 @@ +// 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.service; + +import io.github.resilience4j.retry.RetryConfig; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.opengroup.osdu.core.common.http.FetchServiceHttpRequest; +import org.opengroup.osdu.core.common.http.UrlFetchServiceImpl; +import org.opengroup.osdu.core.common.logging.JaxRsDpsLog; +import org.opengroup.osdu.core.common.model.http.HttpResponse; + +import java.time.Duration; + +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.atMost; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.when; + + +@RunWith(MockitoJUnitRunner.class) +public class UrlFetchServiceAzureImplTest { + + @Mock + private JaxRsDpsLog logger; + @Mock + private UrlFetchServiceImpl urlFetchService; + @InjectMocks + private FetchServiceHttpRequest httpRequest; + @InjectMocks + private HttpResponse response; + @Mock + private RetryPolicy retryPolicy; + @InjectMocks + private UrlFetchServiceAzureImpl urlFetchServiceAzure; + + private static final String JSON1 = "{\n" + + " \"records\": [\n" + + " {\n" + + " \"data\": {\n" + + " \"Spuddate\": \"atspud\",\n" + + " \"UWI\": \"atuwi\",\n" + + " \"latitude\": \"latitude\",\n" + + " \"longitude\": \"longitude\"\n" + + " },\n" + + " \"meta\": null,\n" + + " \"id\": \"demo\",\n" + + " \"version\": demo,\n" + + " \"kind\": \"demo\",\n" + + " \"acl\": {\n" + + " \"viewers\": [\n" + + " \"demo\"\n" + + " ],\n" + + " \"owners\": [\n" + + " \"demo\"\n" + + " ]\n" + + " },\n" + + " \"legal\": {\n" + + " \"legaltags\": [\n" + + " \"opendes-test-tag\"\n" + + " ],\n" + + " \"otherRelevantDataCountries\": [\n" + + " \"BR\"\n" + + " ],\n" + + " \"status\": \"compliant\"\n" + + " },\n" + + " \"createUser\": \"demo\",\n" + + " \"createTime\": \"demo\"\n" + + " }\n" + + " ],\n" + + " \"notFound\": [\n" + + " \"demo\"\n" + + " ],\n" + + " \"conversionStatuses\": []\n" + + "}"; + + private static final String JSON2 = "{\n" + + " \"records\" :[],\n" + + " \"conversionStatuses\":[]\n" + + "}"; + + private static final String url = "https://demo/api/storage/v2/query/records:batch"; + private static final String url2 = "https://demo/api/storage/v2/schemas"; + + @Before + public void setUp() { + when(this.retryPolicy.retryConfig()).thenReturn(new RetryPolicy().retryConfig()); + } + + @Test + public void shouldRetry_ForJSON1_when_storageQueryRecordCallIsMade() throws Exception { + response.setBody(JSON1); + httpRequest.setUrl(url); + + when(urlFetchServiceAzure.sendRequest(httpRequest)).thenReturn(response); + + urlFetchServiceAzure.sendRequest(httpRequest); + verify(urlFetchService, atMost(4)).sendRequest(httpRequest); + } + + @Test + public void shouldNotRetry_ForJSON2_when_storageQueryRecordCallIsMade() throws Exception { + response.setBody(JSON2); + httpRequest.setUrl(url); + + when(urlFetchServiceAzure.sendRequest(httpRequest)).thenReturn(response); + + urlFetchServiceAzure.sendRequest(httpRequest); + verify(urlFetchService, atMost(2)).sendRequest(httpRequest); + } + + + @Test + public void retryFunction_shouldNotBeCalled() throws Exception { + httpRequest.setUrl(url2); + + when(urlFetchService.sendRequest(httpRequest)).thenReturn(response); + + urlFetchServiceAzure.sendRequest(httpRequest); + verify(urlFetchService, times(1)).sendRequest(httpRequest); + } + +} diff --git a/provider/indexer-gcp/README.md b/provider/indexer-gcp/README.md index c40c11f423195ef35f0f093617f1dbcdcf0d3c75..8fee43caf512cb0347543246e7724bb53ad82aaa 100644 --- a/provider/indexer-gcp/README.md +++ b/provider/indexer-gcp/README.md @@ -148,6 +148,8 @@ You will need to have the following environment variables defined. | `SEARCH_HOST` | ex `http://localhost:8080/api/search/v2/` | Endpoint of search service | no | - | | `STORAGE_HOST` | ex `http://os-storage-dot-opendes.appspot.com/api/storage/v2/schemas` | Storage API endpoint | Storage Host | no | output of infrastructure deployment | | `SECURITY_HTTPS_CERTIFICATE_TRUST` | ex `false` | Elastic client connection uses TrustSelfSignedStrategy(), if it is 'true' | false | output of infrastructure deployment | +| `GOOGLE_AUDIENCES` | ex `*****.apps.googleusercontent.com` | Client ID for getting access to cloud resources | yes | https://console.cloud.google.com/apis/credentials | +| `PARTITION_API` | ex `http://localhost:8081/api/partition/v1` | Partition service endpoint | no | - | **Entitlements configuration for integration accounts** diff --git a/provider/indexer-gcp/pom.xml b/provider/indexer-gcp/pom.xml index bd5ed65ec20508a34f618533bc0b443dcb113557..3777b89133e2f85a6ef41ab8a991f93b8f35876e 100644 --- a/provider/indexer-gcp/pom.xml +++ b/provider/indexer-gcp/pom.xml @@ -5,12 +5,12 @@ <parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> <artifactId>indexer-gcp</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <name>indexer-gcp</name> <description>Indexer Service GCP App Engine</description> <packaging>jar</packaging> @@ -19,13 +19,13 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-core</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.opengroup.osdu</groupId> <artifactId>core-lib-gcp</artifactId> - <version>0.7.0</version> + <version>0.9.0</version> </dependency> <dependency> diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java index 21af7655f45f1dcc797b5b819c2f10120067a3ba..2d0c77f76e1ec4ad097d3dc8a3c921f8a879dabd 100644 --- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java +++ b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java @@ -47,6 +47,7 @@ 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.opengroup.osdu.indexer.config.IndexerConfigurationProperties; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import org.springframework.web.context.annotation.RequestScope; @@ -56,6 +57,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +@Primary @Component @RequestScope public class ServiceAccountJwtGcpClientImpl implements IServiceAccountJwtClient { diff --git a/provider/indexer-gcp/src/main/resources/application.properties b/provider/indexer-gcp/src/main/resources/application.properties index 2213e4dca947f3ad90a5998299005c613a47ef61..e18440679858d1208f1f6f683220e78a7e372978 100644 --- a/provider/indexer-gcp/src/main/resources/application.properties +++ b/provider/indexer-gcp/src/main/resources/application.properties @@ -42,3 +42,6 @@ security.https.certificate.trust=false indexer.que.service.mail=default@iam.gserviceaccount.com SCHEMA_HOST=${HOST}/api/schema-service/v1/schema storage-query-kinds-host=https://${STORAGE_HOSTNAME}/api/storage/v2/query/kinds + +google.audiences=123.apps.googleusercontent.com +partition.api=http://localhost:8081/api/partition/v1 \ No newline at end of file diff --git a/provider/indexer-ibm/pom.xml b/provider/indexer-ibm/pom.xml index 15a818c39d86a80de1099c158e3310c26e456118..4da0811c54dcdcbd8dee467802452e48e7bc56e4 100644 --- a/provider/indexer-ibm/pom.xml +++ b/provider/indexer-ibm/pom.xml @@ -21,7 +21,7 @@ <parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> @@ -53,7 +53,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-core</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> </dependency> <dependency> diff --git a/provider/indexer-reference/pom.xml b/provider/indexer-reference/pom.xml index 745a8c4fd3531ea7eb2bc5b64e71582ac57667f9..b1cf1243eedff75bba1f34662720559e476b26f0 100644 --- a/provider/indexer-reference/pom.xml +++ b/provider/indexer-reference/pom.xml @@ -22,12 +22,12 @@ <parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> <artifactId>indexer-reference</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <name>indexer-reference</name> <description>Indexer Service GCP Anthos</description> <packaging>jar</packaging> @@ -36,7 +36,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-core</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> </dependency> <dependency> diff --git a/testing/indexer-test-aws/pom.xml b/testing/indexer-test-aws/pom.xml index a2686385de571c4f159e8d9c7494b6bcf829a734..3b30e04e49c219b315f3f291f8f1c4a153215765 100644 --- a/testing/indexer-test-aws/pom.xml +++ b/testing/indexer-test-aws/pom.xml @@ -21,13 +21,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-aws</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -42,7 +42,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-core</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> </dependency> <!-- AWS specific packages --> diff --git a/testing/indexer-test-azure/pom.xml b/testing/indexer-test-azure/pom.xml index 961263fefb4798ab2c3305c0957a21dc70f88455..69b19fdf0ed9ab49bc14c7e1bdad2ac96a83763f 100644 --- a/testing/indexer-test-azure/pom.xml +++ b/testing/indexer-test-azure/pom.xml @@ -21,13 +21,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-azure</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -45,7 +45,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-core</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> </dependency> <!-- Azure dependencies --> diff --git a/testing/indexer-test-core/pom.xml b/testing/indexer-test-core/pom.xml index cdcc8eb5752f007ec5757910352043c0fadd5ff8..365aa1f09e4d65f87aa0a097fe56769d393a2621 100644 --- a/testing/indexer-test-core/pom.xml +++ b/testing/indexer-test-core/pom.xml @@ -5,13 +5,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-core</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <properties> <maven.compiler.target>1.8</maven.compiler.target> diff --git a/testing/indexer-test-gcp/pom.xml b/testing/indexer-test-gcp/pom.xml index e25538ed89f404b93bd6f2cee8bae8992475e726..2d94432a53ce3b8317865e30a90a55815aa943c7 100644 --- a/testing/indexer-test-gcp/pom.xml +++ b/testing/indexer-test-gcp/pom.xml @@ -6,13 +6,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-gcp</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -37,7 +37,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-core</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> </dependency> <!-- Cucumber --> diff --git a/testing/indexer-test-gcp/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java b/testing/indexer-test-gcp/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java index 26060454cb859e06fb80bbfa8a8c0b2d4d8c45a2..ab965b04ed67538ee2e97d80537afd2d87b81839 100644 --- a/testing/indexer-test-gcp/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java +++ b/testing/indexer-test-gcp/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java @@ -53,6 +53,11 @@ public class Steps extends SchemaServiceRecordSteps { super.iShouldGetTheNumberDocumentsForTheIndexInTheElasticSearchWithOutSkippedAttribute(expectedCount, index, skippedAttributes); } + @Then("^I should be able to search (\\d+) record with index \"([^\"]*)\" by tag \"([^\"]*)\" and value \"([^\"]*)\"$") + public void iShouldBeAbleToSearchRecordByTagKeyAndTagValue(int expectedNumber, String index, String tagKey, String tagValue) throws Throwable { + super.iShouldBeAbleToSearchRecordByTagKeyAndTagValue(index, tagKey, tagValue, expectedNumber); + } + @Then("^I should be able search (\\d+) documents for the \"([^\"]*)\" by bounding box query with points \\((-?\\d+), (-?\\d+)\\) and \\((-?\\d+), (-?\\d+)\\) on field \"([^\"]*)\"$") public void i_should_get_the_documents_for_the_in_the_Elastic_Search_by_geoQuery( int expectedCount, String index, Double topLatitude, Double topLongitude, Double bottomLatitude, Double bottomLongitude, String field) diff --git a/testing/indexer-test-ibm/pom.xml b/testing/indexer-test-ibm/pom.xml index 599761e657c782bab128ac69dd0f3945eaaacaf0..5fe05406e7e282d498ac755f731354a8d0cb7495 100644 --- a/testing/indexer-test-ibm/pom.xml +++ b/testing/indexer-test-ibm/pom.xml @@ -6,13 +6,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-ibm</artifactId> - <version>0.0.2</version> + <version>0.10.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -38,7 +38,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-core</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> </dependency> <dependency> diff --git a/testing/pom.xml b/testing/pom.xml index 7ad59c09a01617bbcc5dcf2c747e467e8f68ecfd..e33b2a83643bab6e01eed2ccd6852fe69f15c484 100644 --- a/testing/pom.xml +++ b/testing/pom.xml @@ -18,7 +18,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.9.0-SNAPSHOT</version> + <version>0.10.0-SNAPSHOT</version> <description>Indexer Service Integration Test Root Project</description> <properties> <spring.version>5.1.19.RELEASE</spring.version> @@ -36,6 +36,9 @@ <modules> <module>indexer-test-core</module> <module>indexer-test-gcp</module> + <module>indexer-test-aws</module> + <module>indexer-test-azure</module> + <module>indexer-test-ibm</module> </modules> <repositories>