mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2026-01-07 13:07:22 +00:00
[Backend][Java SDK] Version Validation Fix (#6472)
This commit is contained in:
parent
cdcc51d05c
commit
1d3e876121
@ -45,6 +45,16 @@ public class OpenMetadata {
|
||||
private final String requestInterceptorKey = "custom";
|
||||
|
||||
public OpenMetadata(OpenMetadataServerConnection config) {
|
||||
initClient(config);
|
||||
validateVersion();
|
||||
}
|
||||
|
||||
public OpenMetadata(OpenMetadataServerConnection config, boolean validateVersion) {
|
||||
initClient(config);
|
||||
if (validateVersion) validateVersion();
|
||||
}
|
||||
|
||||
public void initClient(OpenMetadataServerConnection config) {
|
||||
serverConfig = config;
|
||||
apiClient = new ApiClient();
|
||||
Feign.Builder builder =
|
||||
@ -59,7 +69,6 @@ public class OpenMetadata {
|
||||
basePath = config.getHostPort() + "/";
|
||||
apiClient.setBasePath(basePath);
|
||||
apiClient.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
||||
validateVersion();
|
||||
}
|
||||
|
||||
public <T extends ApiClient.Api> T buildClient(Class<T> clientClass) {
|
||||
@ -91,9 +100,12 @@ public class OpenMetadata {
|
||||
}
|
||||
|
||||
public void validateVersion() {
|
||||
String clientVersion = getClientVersion();
|
||||
String serverVersion = getServerVersion();
|
||||
if (serverVersion.equals(clientVersion)) {
|
||||
String[] clientVersion = getClientVersion();
|
||||
String[] serverVersion = getServerVersion();
|
||||
// MAJOR MINOR REVISION
|
||||
if (serverVersion[0].equals(clientVersion[0])
|
||||
&& serverVersion[1].equals(clientVersion[1])
|
||||
&& serverVersion[2].equals(clientVersion[2])) {
|
||||
LOG.debug("OpenMetaData Client Initialized successfully.");
|
||||
} else {
|
||||
LOG.error(
|
||||
@ -101,13 +113,13 @@ public class OpenMetadata {
|
||||
}
|
||||
}
|
||||
|
||||
public String getServerVersion() {
|
||||
public String[] getServerVersion() {
|
||||
CatalogApi api = apiClient.buildClient(CatalogApi.class);
|
||||
io.swagger.client.model.CatalogVersion serverVersion = api.getCatalogVersion();
|
||||
return VersionUtils.getVersionFromString(serverVersion.getVersion());
|
||||
}
|
||||
|
||||
public String getClientVersion() {
|
||||
public String[] getClientVersion() {
|
||||
return VersionUtils.getVersionFromString(CATALOG_VERSION_CLIENT.getVersion());
|
||||
}
|
||||
}
|
||||
|
||||
@ -30,11 +30,7 @@ public final class VersionUtils {
|
||||
return catalogVersion;
|
||||
}
|
||||
|
||||
public static String getVersionFromString(String input) {
|
||||
if (input.contains("-")) {
|
||||
return input.split(Pattern.quote("-"))[0];
|
||||
} else {
|
||||
throw new IllegalArgumentException("Invalid Version Given :" + input);
|
||||
}
|
||||
public static String[] getVersionFromString(String input) {
|
||||
return input.split(Pattern.quote("."));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user