Bhanu Agrawal 2fb34a9762
Migrate/es os maven hlrc removal (#24283)
* Setup new client for ES/OS

* Migrated createIndex and addIndexAlias methods

* Migrated createAliases method to new ES/OS client

* Migrated updateIndex and deleteIndex methods

* Updated indexExists methods

* refactor: extract index management operations into dedicated manager classes

* Add tests for ElasticSearch and OpenSearch index managers

* chore: fix code style issues"

* Added integeration tests for ES/OS index manager

* Fix log level

* Fixed priority key mapping for test_case_result_index

* fix test to use field name in the query as domains.id not domain.id

* Migrated createEntity and createEntities method

* Fixed failing tests

* Set headers so 8.x client can work with 7.17x or higher server for ES

* Added OpenSearch compatible stemmer configuration

* Fix java code style

* Fixed java checkstyle issue

* Added support for 7.17.x backward compatibility

* Fixed failing tests

* Migrated createTimeSeriesEntity and deleteEntity methods

* Refactor search client architecture with entity management abstraction

* Updated log level to ERROR form WARN

* deleteEntity method impl removed from ES client

* migrated deleteEntityByFields method to new es/os client

* migrated deleteEntityByFQNPrefix method to use new ES/OS client

* deleteEntityByFQNPrefix method removed

* Migrated deleteByScript method to new ES/OS client

* Removed deleteByScript method from SearchClient

* Migrated softDeleteOrRestoreEntity method to new ES/OS client

* Reverted BulkResponse static import

* Migrated softDeleteOrRestoreChildren method to new ES/OS client

* Migrated updateEntity method to new ES/OS client

* Migrated updateChildren method to new ES/OS client

* Removed unused methods

* Migrated getDocByID method to new ES/OS client

* Added info logging

* Fixed parsing issue while passing string doc

* Migrated updateEntityRelationship method to new ES/OS client

* Migrated reindexWithEntityIds method to new ES/OS client

* Added log to show error message for updateEntityRelationship

* Refactored entity manager methods

* Added async client, fixed null obj parsing issue

* Refactoring

* Refactored duplicate methods createEntity and createTimeSeriesEntity

* Added integration tests for ES/OS entity managers

* Updated client availability checks in both index manager classes to use the consistent !isClientAvailable pattern

* Removed comment

* chore: Fix line formatting in Playwright test files

- Adjusted line length in Domains.spec.ts for better readability
- Fixed indentation and formatting in Lineage.spec.ts
- Added missing newline at end of files

* Added new line

* Migrated other index related methods and add tests

* MIgrated updateByFqnPrefix and updateLineage and deleteByRangeQuery methods

* migrated deleteByRangeAndTerm method

* Added integration tests

* Migrated updateColumnsInUpstreamLineage and deleteColumnsInUpstreamLineage methods

* Migrated updateGlossaryTermByFqnPrefix method

* Removed unused method and updated error handling

* Migrated reindexEntities method to new ES/OS client

* Added integration tests for reindexEntities method

* Added interface and impl for generic methods migration

* added default impl

* Migrated deleteDataStream method

* Migrated deleteILMPolicy method

* Migrated deleteIndexTemplate method

* Migrated deleteComponentTemplate emthod

* migrated dettachIlmPolicyFromIndexes method

* migrated removeILMFromComponentTemplate method

* Migrated cluster metric methods

* Removed from ESClient/OSClient to GenericManager

* Migrated getSearchHealthStatus

* Add integration tests

* Migrated buildDIChart and fetchDIChartFields methods

* Migrated listDataInsightChartResult emthod

* Migrated getQueryCostRecords

* Migrated getSchemaEntityRelationship

* Added data insight aggregator tests

* Fixed failing tests

* Migrated aggregate method

* Migrated genericAggregation and aggregate methods

* Fixed failing data insight query

* Updated ref for OS aggregation manager

* Fixed issues with aggregations migration

* Fixed tests

* Migrated lineage methods

* fix aggregate api response

* Fixed aggregation response structure

* Migrated searchBySourceUrl and searchByField methods

* Migrated getEntityTypeCounts, listWithOffset and listWithDeepPagination methods

* Fix failing tests

* Fix tests

* Migrated searchWithDirectQuery method

* Migrated search and previewSearch methods

* Fix tests

* Migrated searchWithNLQ method

* Migrated searchEntityRelationship, searchDataQualityLineage and searchSchemaEntityRelationship methods

* Removed unused fields and methods

* Migrated bulk ES/OS methods

* Migrated DataInsightProcess ES/OS

* Migrated ES/OS bulk and index sinks

* Remove unused search methods

* Removed deprecated HLRC for ES/OS

* Removed maven HLRC ES/OS client

* Fixed collate compile issues

* Fixed collate compile issues

* Fix nested should

* Fix for failing playwright tests

---------

Co-authored-by: Mohit Yadav <105265192+mohityadav766@users.noreply.github.com>
2025-11-13 14:21:35 +05:30

267 lines
11 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>openmetadata-clients</artifactId>
<groupId>org.open-metadata</groupId>
<version>1.10.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>openmetadata-java-client</artifactId>
<name>OpenMetadata Java Client</name>
<properties>
<java.version>21</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<springfox-version>2.7.0</springfox-version>
<feign-version>13.5</feign-version>
<jackson-databind-nullable-version>0.2.6</jackson-databind-nullable-version>
<scribejava-apis-version>8.3.3</scribejava-apis-version>
<swagger-parser-version>2.1.23</swagger-parser-version>
<jakarta-annotation-version>1.3.5</jakarta-annotation-version>
<maven-javadoc-plugin.version>3.6.0</maven-javadoc-plugin.version>
<maven-source-plugin.version>3.3.1</maven-source-plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>org.open-metadata</groupId>
<artifactId>openmetadata-spec</artifactId>
<version>${project.version}</version>
</dependency>
<!-- FEIGN DEPENDENCY-->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-core</artifactId>
<version>${feign-version}</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-jackson</artifactId>
<version>${feign-version}</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-slf4j</artifactId>
<version>${feign-version}</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
<version>${feign-version}</version>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form</artifactId>
<version>3.8.0</version>
</dependency>
<!-- FEIGN DEPENDENCY END -->
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>jackson-databind-nullable</artifactId>
<version>${jackson-databind-nullable-version}</version>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>${jakarta-annotation-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.swagger.parser.v3</groupId>
<artifactId>swagger-parser</artifactId>
<version>${swagger-parser-version}</version>
</dependency>
<dependency>
<groupId>com.github.scribejava</groupId>
<artifactId>scribejava-apis</artifactId>
<version>${scribejava-apis-version}</version>
</dependency>
<dependency>
<groupId>com.google.auth</groupId>
<artifactId>google-auth-library-oauth2-http</artifactId>
<version>1.29.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>msal4j</artifactId>
<version>1.17.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- TEST -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
</dependency>
<!--avoid security issue https://security.snyk.io/vuln/SNYK-JAVA-ORGMOZILLA-1314295-->
<dependency>
<groupId>org.mozilla</groupId>
<artifactId>rhino</artifactId>
<version>1.7.15</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${org.junit.jupiter.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<doclint>none</doclint>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>analyze</id>
<goals>
<goal>analyze-only</goal>
</goals>
<configuration>
<ignoredDependencies>
<ignoredDependency>org.projectlombok:lombok</ignoredDependency>
</ignoredDependencies>
</configuration>
</execution>
</executions>
</plugin>
<!--Reformat Code to comply with Google Java Style -->
<plugin>
<groupId>com.theoryinpractise</groupId>
<artifactId>googleformatter-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<outputDirectory>${project.build.directory}/classes/catalog</outputDirectory>
<outputName>VERSION</outputName>
</configuration>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>create-metadata</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>7.13.0</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/../../openmetadata-service/target/classes/assets/swagger.yaml</inputSpec>
<generatorName>java</generatorName>
<library>feign</library>
<apiPackage>org.openmetadata.client.api</apiPackage>
<modelPackage>org.openmetadata.client.model</modelPackage>
<output>
${project.build.directory}/generated-sources/swagger
</output>
<skipOperationExample>true</skipOperationExample>
<skipValidateSpec>true</skipValidateSpec>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
</project>