Skip to content

Commit 7e5acba

Browse files
authored
Merge branch 'main' into dependabot/maven/jackson.version-2.20.0
2 parents dc1d7db + 98037c6 commit 7e5acba

21 files changed

+1806
-766
lines changed

.gitignore

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,14 @@ replay_pid*
7777
# When using Gradle or Maven with auto-import, you should exclude module files,
7878
# since they will be recreated, and may cause churn. Uncomment if using
7979
# auto-import.
80-
# .idea/artifacts
81-
# .idea/compiler.xml
82-
# .idea/jarRepositories.xml
83-
# .idea/modules.xml
84-
# .idea/*.iml
85-
# .idea/modules
86-
# *.iml
87-
# *.ipr
80+
.idea/artifacts
81+
.idea/compiler.xml
82+
.idea/jarRepositories.xml
83+
.idea/modules.xml
84+
.idea/*.iml
85+
.idea/modules
86+
*.iml
87+
*.ipr
8888

8989
# CMake
9090
cmake-build-*/

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2024 Data Mesh Manager
3+
Copyright (c) 2025 Entropy Data
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
Data Mesh Manager SDK
1+
Entropy Data SDK
22
======================
33

4-
The Data Mesh Manager SDK is a Java library that provides a set of APIs to interact with [Data Mesh Manager](https://datamesh-manager.com) and [Data Contract Manager](https://datacontract-manager.com).
4+
The Entropy Data SDK is a Java library that provides a set of APIs to interact with [Entropy Data](https://entropy-data.com).
55

66
Using the SDK, you can build Java applications to automate data platform operations, such as:
77

8-
- Synchronize data products and data assets from the data platform to the Data Mesh Manager
9-
- Synchronize datacontract.yaml in Git repositories with Data Contract Manager
8+
- Synchronize data products and data assets from the data platform to Entropy Data
9+
- Synchronize datacontract.yaml in Git repositories with Entropy Data
1010
- Automate permissions in the data platform when an access request has been approved
1111
- Notify downstream consumers when data contract tests have failed
12-
- Publish data product costs and usage data to Data Mesh Manager
12+
- Publish data product costs and usage data to Entropy Data
1313

1414
This SDK is designed as a foundation for building data platform integrations that run as long-running connectors on customer's data platform, e.g., as containers running in a Kubernetes cluster or any other container-runtime.
1515

16-
It interacts with the Data Mesh Manager APIs to send metadata and to subscribe to events to trigger actions in the data platform or with other services.
16+
It interacts with the Entropy Data APIs to send metadata and to subscribe to events to trigger actions in the data platform or with other services.
1717

1818

1919
Existing Connectors
2020
---
2121

22-
We provide some connectors for commonly-used platforms that that use this SDK and that can be used out-of-the-box or as a template for custom integrations:
22+
We provide some connectors for commonly used platforms that use this SDK and that can be used out-of-the-box or as a template for custom integrations:
2323

2424
| Platform | Connector | Synchronize Assets | Access Management | Remarks |
2525
|-----------------------|------------------------------------------------------------------------------------------------------------|--------------------|-------------------|-----------------------------|
@@ -53,64 +53,64 @@ Add this dependency to your `pom.xml`:
5353

5454
```xml
5555
<dependency>
56-
<groupId>com.datamesh-manager</groupId>
57-
<artifactId>datamesh-manager-sdk</artifactId>
56+
<groupId>com.entropy-data</groupId>
57+
<artifactId>entropy-data-sdk</artifactId>
5858
<version>RELEASE</version>
5959
</dependency>
6060
```
6161

6262
Replace the `RELEASE` with the latest version of the SDK.
6363

64-
### Instantiate a DataMeshManagerClient
64+
### Instantiate an EntropyDataClient
6565

66-
To work with the API, you need an [API key](https://docs.datamesh-manager.com/quickstart).
67-
Then you can instantiate a `DataMeshManagerClient`:
66+
To work with the API, you need an [API key](https://docs.entropy-data.com/quickstart).
67+
Then you can instantiate an `EntropyDataClient`:
6868

6969
```java
70-
var client = new DataMeshManagerClient(
71-
"https://api.datamesh-manager.com",
72-
"dmm_live_..."
70+
var client = new EntropyDataClient(
71+
"https://api.entropy-data.com",
72+
"ed_live_..."
7373
);
7474
```
7575

76-
This client has all methods to interact with the [Data Mesh Manager API](https://api.datamesh-manager.com/swagger/index.html).
76+
This client has all methods to interact with the [Entropy Data API](https://api.entropy-data.com/swagger/index.html).
7777

7878
### Implement an AssetsProvider (optional)
7979

80-
To synchronize assets (such as tables, views, files, topics, ...) from your data platform with Data Mesh Manager, implement the `DataMeshManagerAssetsProvider` interface:
80+
To synchronize assets (such as tables, views, files, topics, ...) from your data platform with Entropy Data, implement the `EntropyDataAssetsProvider` interface:
8181

8282
```java
8383

84-
public class MyAssetsProvider implements DataMeshManagerAssetsProvider {
84+
public class MyAssetsProvider implements EntropyDataAssetsProvider {
8585
@Override
8686
public void fetchAssets(AssetCallback assetCallback) {
8787
// query your data platform for assets
88-
// convert them to datameshmanager.sdk.client.model.Asset objects
88+
// convert them to entropydata.sdk.client.model.Asset objects
8989
// and call assetCallback.onAssetUpdated(asset) for each new or updated asset
9090
}
9191
}
9292
```
9393

94-
With this implementation, you can start an `DataMeshManagerAssetsSynchronizer`:
94+
With this implementation, you can start an `EntropyDataAssetsSynchronizer`:
9595

9696
```java
9797
var connectorid = "my-unique-assets-synchronization-connector-id";
9898
var assetsProvider = new MyAssetsProvider();
99-
var assetsSynchronizer = new DataMeshManagerAssetsSynchronizer(connectorid, client, assetsSupplier);
99+
var assetsSynchronizer = new EntropyDataAssetsSynchronizer(connectorid, client, assetsSupplier);
100100
assetsSynchronizer.start(); // This will start a long-running connector that calls the fetchAssets method periodically
101101
```
102102

103103
### Implement an EventListener (optional)
104104

105-
To trigger actions in your data platform when events happen in Data Mesh Manager, you can implement the `DataMeshManagerEventListener` interface:
105+
To trigger actions in your data platform when events happen in Entropy Data, you can implement the `EntropyDataEventListener` interface:
106106

107107
```java
108-
public class MyEventHandler implements DataMeshManagerEventHandler {
108+
public class MyEventHandler implements EntropyDataEventHandler {
109109

110110
@Override
111111
public void onAccessActivatedEvent(AccessActivatedEvent event) {
112112
// TODO grant permissions in your data platform
113-
// use the DataMeshManagerClient to retrieve the current access resource and data product and consumer resource for details
113+
// use the EntropyDataClient to retrieve the current access resource and data product and consumer resource for details
114114
}
115115

116116
@Override
@@ -120,41 +120,41 @@ public class MyEventHandler implements DataMeshManagerEventHandler {
120120
}
121121
```
122122

123-
You can listen to any event from Data Mesh Manager. The SDK provides a method for each event type.
123+
You can listen to any event from Entropy Data. The SDK provides a method for each event type.
124124

125-
With this implementation, you can start an `DataMeshManagerEventListener`:
125+
With this implementation, you can start an `EntropyDataEventListener`:
126126

127127
```java
128128
var connectorid = "my-unique-event-listener-connector-id";
129129
var eventHandler = new MyEventHandler();
130130
var stateRepository = ... // see below
131-
var eventListener = new DataMeshManagerEventListener(connectorid, client, eventHandler, stateRepository);
132-
eventListener.start(); // This will start a long-running connector that listens to events from Data Mesh Manager
131+
var eventListener = new EntropyDataEventListener(connectorid, client, eventHandler, stateRepository);
132+
eventListener.start(); // This will start a long-running connector that listens to events from Entropy Data
133133
```
134134

135135
If you have multiple connectors in an application, make sure to start the `start()` methods in separate threads.
136136

137137
### State Repository
138138

139-
The `DataMeshManagerEventListener` requires a `DataMeshManagerStateRepository` to store the `lastEventId` that has been processed.
139+
The `EntropyDataEventListener` requires an `EntropyDataStateRepository` to store the `lastEventId` that has been processed.
140140
Also, you can use the state repository in other connectors, if you need to store information what has been processed or what is the current state of your connector.
141141
You can implement this interface to store the state in a database, a file, or any other storage:
142142

143143
```java
144-
public interface DataMeshManagerStateRepository {
144+
public interface EntropyDataStateRepository {
145145
Map<String, Object> getState();
146146
void saveState(Map<String, Object> state);
147147
}
148148
```
149149

150-
For your convenience, you can use the `DataMeshManagerStateRepositoryRemote` to store the state directly in the Data Mesh Manager:
150+
For your convenience, you can use the `EntropyDataStateRepositoryRemote` to store the state directly in Entropy Data:
151151

152152
```java
153153
var connectorId = "my-unique-event-listener-connector-id";
154-
var stateRepository = new DataMeshManagerStateRepositoryRemote(connectorId, client);
154+
var stateRepository = new EntropyDataStateRepositoryRemote(connectorId, client);
155155
```
156156

157-
and for testing there is also a `DataMeshManagerStateRepositoryInMemory`.
157+
and for testing there is also an `EntropyDataStateRepositoryInMemory`.
158158

159159

160160

pom.xml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
55
<modelVersion>4.0.0</modelVersion>
66

7-
<groupId>com.datamesh-manager</groupId>
8-
<artifactId>datamesh-manager-sdk</artifactId>
9-
<version>0.0.4-SNAPSHOT</version>
7+
<groupId>com.entropy-data</groupId>
8+
<artifactId>entropy-data-sdk</artifactId>
9+
<version>0.1.1-SNAPSHOT</version>
1010

11-
<name>datamesh-manager-sdk</name>
12-
<description>SDK for Data Mesh Manager</description>
13-
<url>https://github.com/datamesh-manager/datamesh-manager-sdk</url>
11+
<name>entropy-data-sdk</name>
12+
<description>SDK for Entropy Data</description>
13+
<url>https://github.com/entropy-data/entropy-data-sdk</url>
1414

1515
<licenses>
1616
<license>
@@ -22,16 +22,16 @@
2222
<developers>
2323
<developer>
2424
<name>Jochen Christ</name>
25-
<email>jochen.christ@datamesh-manager.com</email>
26-
<organization>Data Mesh Manager</organization>
27-
<organizationUrl>https://datamesh-manager.com/</organizationUrl>
25+
<email>jochen.christ@entropy-data.com</email>
26+
<organization>Entropy Data</organization>
27+
<organizationUrl>https://entropy-data.com/</organizationUrl>
2828
</developer>
2929
</developers>
3030

3131
<scm>
32-
<connection>scm:git:git://github.com/datamesh-manager/datamesh-manager-sdk.git</connection>
33-
<developerConnection>scm:git:ssh://github.com/datamesh-manager/datamesh-manager-sdk.git</developerConnection>
34-
<url>http://github.com/datamesh-manager/datamesh-manager-sdk/tree/main</url>
32+
<connection>scm:git:git://github.com/entropy-data/entropy-data-sdk.git</connection>
33+
<developerConnection>scm:git:ssh://github.com/entropy-data/entropy-data-sdk.git</developerConnection>
34+
<url>http://github.com/entropy-data/entropy-data-sdk/tree/main</url>
3535
</scm>
3636

3737
<properties>
@@ -41,7 +41,7 @@
4141
<maven.compiler.target>17</maven.compiler.target>
4242
<maven.compiler.source>17</maven.compiler.source>
4343
<jackson.version>2.20.0</jackson.version>
44-
<junit-jupiter.version>5.13.2</junit-jupiter.version>
44+
<junit-jupiter.version>5.13.4</junit-jupiter.version>
4545
</properties>
4646

4747
<dependencies>
@@ -86,7 +86,7 @@
8686
<dependency>
8787
<groupId>org.assertj</groupId>
8888
<artifactId>assertj-core</artifactId>
89-
<version>3.27.3</version>
89+
<version>3.27.6</version>
9090
<scope>test</scope>
9191
</dependency>
9292
<dependency>
@@ -121,7 +121,7 @@
121121
<goal>generate</goal>
122122
</goals>
123123
<configuration>
124-
<!-- <inputSpec>https://api.datamesh-manager.com/openapi.yaml</inputSpec>-->
124+
<!-- <inputSpec>https://api.entropy-data.com/openapi.yaml</inputSpec>-->
125125
<inputSpec>src/main/resources/openapi.yaml</inputSpec>
126126
<generatorName>java</generatorName>
127127
<library>apache-httpclient</library>
@@ -133,9 +133,9 @@
133133
<hideGenerationTimestamp>true</hideGenerationTimestamp>
134134
<sourceFolder>src/gen/java/main</sourceFolder>
135135
<generateBuilders>false</generateBuilders>
136-
<apiPackage>datameshmanager.sdk.client.api</apiPackage>
137-
<invokerPackage>datameshmanager.sdk.client</invokerPackage>
138-
<modelPackage>datameshmanager.sdk.client.model</modelPackage>
136+
<apiPackage>entropydata.sdk.client.api</apiPackage>
137+
<invokerPackage>entropydata.sdk.client</invokerPackage>
138+
<modelPackage>entropydata.sdk.client.model</modelPackage>
139139
<useRuntimeException>true</useRuntimeException>
140140
</configOptions>
141141
<generateModelTests>false</generateModelTests>
@@ -161,7 +161,7 @@
161161
<plugin>
162162
<groupId>org.apache.maven.plugins</groupId>
163163
<artifactId>maven-javadoc-plugin</artifactId>
164-
<version>3.11.2</version>
164+
<version>3.12.0</version>
165165
<executions>
166166
<execution>
167167
<id>attach-javadocs</id>
@@ -174,7 +174,7 @@
174174
<plugin>
175175
<groupId>org.apache.maven.plugins</groupId>
176176
<artifactId>maven-gpg-plugin</artifactId>
177-
<version>3.2.7</version>
177+
<version>3.2.8</version>
178178
<executions>
179179
<execution>
180180
<id>sign-artifacts</id>

src/main/java/datameshmanager/sdk/DataMeshManagerAssetsProvider.java renamed to src/main/java/entropydata/sdk/EntropyDataAssetsProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package datameshmanager.sdk;
1+
package entropydata.sdk;
22

3-
import datameshmanager.sdk.client.model.Asset;
3+
import entropydata.sdk.client.model.Asset;
44

55
/**
6-
* Implementations of this interface fetch assets (tables, views, schemas, ...) from the data platform or data catalog. They convert them to the Asset format of the Data Mesh Manager, and can either send them for creation/update or for deletion to synchronize the asset metadata.
6+
* Implementations of this interface fetch assets (tables, views, schemas, ...) from the data platform or data catalog. They convert them to the Asset format of Entropy Data, and can either send them for creation/update or for deletion to synchronize the asset metadata.
77
*/
8-
public interface DataMeshManagerAssetsProvider {
8+
public interface EntropyDataAssetsProvider {
99
void fetchAssets(AssetCallback callback);
1010

1111
interface AssetCallback {

src/main/java/datameshmanager/sdk/DataMeshManagerAssetsSynchronizer.java renamed to src/main/java/entropydata/sdk/EntropyDataAssetsSynchronizer.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
1-
package datameshmanager.sdk;
1+
package entropydata.sdk;
22

3-
import datameshmanager.sdk.DataMeshManagerAssetsProvider.AssetCallback;
4-
import datameshmanager.sdk.client.ApiException;
5-
import datameshmanager.sdk.client.model.Asset;
3+
import entropydata.sdk.EntropyDataAssetsProvider.AssetCallback;
4+
import entropydata.sdk.client.ApiException;
5+
import entropydata.sdk.client.model.Asset;
66
import java.time.Duration;
77
import java.util.Objects;
88
import org.slf4j.Logger;
99
import org.slf4j.LoggerFactory;
1010

1111

12-
public class DataMeshManagerAssetsSynchronizer {
12+
public class EntropyDataAssetsSynchronizer {
1313

14-
private static final Logger log = LoggerFactory.getLogger(DataMeshManagerAssetsSynchronizer.class);
14+
private static final Logger log = LoggerFactory.getLogger(EntropyDataAssetsSynchronizer.class);
1515

1616
private final String connectorId;
17-
private final DataMeshManagerClient client;
18-
private final DataMeshManagerConnectorRegistration connectorRegistration;
19-
private final DataMeshManagerAssetsProvider assetsProvider;
17+
private final EntropyDataClient client;
18+
private final EntropyDataConnectorRegistration connectorRegistration;
19+
private final EntropyDataAssetsProvider assetsProvider;
2020
private volatile boolean stopped = false;
2121

2222
private Duration delay = Duration.parse("PT60M");
2323

24-
public DataMeshManagerAssetsSynchronizer(
24+
public EntropyDataAssetsSynchronizer(
2525
String connectorId,
26-
DataMeshManagerClient client,
27-
DataMeshManagerAssetsProvider assetsProvider) {
26+
EntropyDataClient client,
27+
EntropyDataAssetsProvider assetsProvider) {
2828
this.connectorId = connectorId;
2929
this.client = client;
3030
this.assetsProvider = assetsProvider;
31-
this.connectorRegistration = new DataMeshManagerConnectorRegistration(client, connectorId, "assets-synchronizer");
31+
this.connectorRegistration = new EntropyDataConnectorRegistration(client, connectorId, "assets-synchronizer");
3232

3333
this.connectorRegistration.register();
3434
}

0 commit comments

Comments
 (0)