You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2021/01/11 13:40:28 UTC
[camel-k-runtime] branch master updated: Catalog json keys should
be sorted #576
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git
The following commit(s) were added to refs/heads/master by this push:
new 94b4c63 Catalog json keys should be sorted #576
94b4c63 is described below
commit 94b4c638743778b43c1435ba82602a99c7e70ca9
Author: Luca Burgazzoli <lb...@gmail.com>
AuthorDate: Mon Jan 11 12:45:14 2021 +0100
Catalog json keys should be sorted #576
---
.../org/apache/camel/k/catalog/model/Artifact.java | 34 ++++++++++++++-
.../camel/k/catalog/model/CamelArtifact.java | 34 +++++++++------
.../camel/k/catalog/model/CamelCapability.java | 10 ++---
.../apache/camel/k/catalog/model/CamelLoader.java | 22 +++++-----
.../apache/camel/k/catalog/model/CamelScheme.java | 17 ++++++--
.../camel/k/catalog/model/CamelScopedArtifact.java | 14 +++---
.../camel/k/catalog/model/MavenArtifact.java | 50 ----------------------
.../camel/k/catalog/model/k8s/ObjectMeta.java | 7 +--
.../k/catalog/model/k8s/crd/CamelCatalogSpec.java | 19 ++++----
.../camel/k/catalog/model/k8s/crd/RuntimeSpec.java | 24 ++++++-----
.../camel/k/tooling/maven/GenerateCatalogMojo.java | 1 -
.../maven/processors/CatalogProcessor3x.java | 18 +++++---
12 files changed, 131 insertions(+), 119 deletions(-)
diff --git a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/Artifact.java b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/Artifact.java
index 334acd9..8f3dc72 100644
--- a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/Artifact.java
+++ b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/Artifact.java
@@ -16,10 +16,42 @@
*/
package org.apache.camel.k.catalog.model;
+import java.util.Comparator;
import java.util.Optional;
-public interface Artifact {
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonPropertyOrder({"groupId", "artifactId", "version"})
+public interface Artifact extends Comparable<Artifact> {
String getGroupId();;
String getArtifactId();
Optional<String> getVersion();
+
+ @Override
+ default int compareTo(Artifact o) {
+ return Comparator
+ .comparing(Artifact::getGroupId)
+ .thenComparing(Artifact::getArtifactId)
+ .thenComparing(Artifact::getVersion, Comparator.comparing(c -> c.orElse("")))
+ .compare(this, o);
+ }
+
+ static Artifact from(String groupId, String artifactId) {
+ return new Artifact() {
+ @Override
+ public String getGroupId() {
+ return groupId;
+ }
+
+ @Override
+ public String getArtifactId() {
+ return artifactId;
+ }
+
+ @Override
+ public Optional<String> getVersion() {
+ return Optional.empty();
+ }
+ };
+ }
}
diff --git a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelArtifact.java b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelArtifact.java
index 7cce932..40928d3 100644
--- a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelArtifact.java
+++ b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelArtifact.java
@@ -17,7 +17,7 @@
package org.apache.camel.k.catalog.model;
import java.util.Collections;
-import java.util.Set;
+import java.util.SortedSet;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@@ -30,38 +30,44 @@ import org.immutables.value.Value;
public interface CamelArtifact extends Artifact {
@Value.Auxiliary
@Value.Default
- default Set<CamelScheme> getSchemes() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<CamelScheme> getSchemes() {
+ return Collections.emptySortedSet();
}
@Value.Auxiliary
@Value.Default
- default Set<String> getLanguages() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<String> getLanguages() {
+ return Collections.emptySortedSet();
}
@Value.Auxiliary
@Value.Default
- default Set<String> getDataformats() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<String> getDataformats() {
+ return Collections.emptySortedSet();
}
@Value.Auxiliary
@Value.Default
- default Set<Artifact> getDependencies() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<Artifact> getDependencies() {
+ return Collections.emptySortedSet();
}
@Value.Auxiliary
@Value.Default
- default Set<Artifact> getExclusions() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<Artifact> getExclusions() {
+ return Collections.emptySortedSet();
}
@Value.Auxiliary
@Value.Default
- default Set<String> getJavaTypes() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<String> getJavaTypes() {
+ return Collections.emptySortedSet();
}
static Builder from(String groupId, String artifactId) {
@@ -70,7 +76,7 @@ public interface CamelArtifact extends Artifact {
class Builder extends ImmutableCamelArtifact.Builder {
public Builder addDependency(String groupId, String artifactId) {
- return super.addDependencies(MavenArtifact.from(groupId, artifactId));
+ return super.addDependencies(Artifact.from(groupId, artifactId));
}
}
}
diff --git a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelCapability.java b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelCapability.java
index ec18dbe..0b6c640 100644
--- a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelCapability.java
+++ b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelCapability.java
@@ -17,7 +17,7 @@
package org.apache.camel.k.catalog.model;
import java.util.Collections;
-import java.util.Set;
+import java.util.SortedSet;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@@ -30,8 +30,9 @@ import org.immutables.value.Value;
public interface CamelCapability {
@Value.Auxiliary
@Value.Default
- default Set<Artifact> getDependencies() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<Artifact> getDependencies() {
+ return Collections.emptySortedSet();
}
static CamelCapability forArtifact(String groupId, String artifactId) {
@@ -40,8 +41,7 @@ public interface CamelCapability {
class Builder extends ImmutableCamelCapability.Builder {
public Builder addDependency(String groupId, String artifactId) {
- addDependencies(MavenArtifact.from(groupId, artifactId));
- return this;
+ return super.addDependencies(Artifact.from(groupId, artifactId));
}
}
}
diff --git a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelLoader.java b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelLoader.java
index 2912508..83a56f5 100644
--- a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelLoader.java
+++ b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelLoader.java
@@ -17,8 +17,8 @@
package org.apache.camel.k.catalog.model;
import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
+import java.util.SortedMap;
+import java.util.SortedSet;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@@ -31,20 +31,23 @@ import org.immutables.value.Value;
public interface CamelLoader extends Artifact {
@Value.Auxiliary
@Value.Default
- default Set<String> getLanguages() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<String> getLanguages() {
+ return Collections.emptySortedSet();
}
@Value.Auxiliary
@Value.Default
- default Set<Artifact> getDependencies() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<Artifact> getDependencies() {
+ return Collections.emptySortedSet();
}
@Value.Auxiliary
@Value.Default
- default Map<String, String> getMetadata() {
- return Collections.emptyMap();
+ @Value.NaturalOrder
+ default SortedMap<String, String> getMetadata() {
+ return Collections.emptySortedMap();
}
static Builder fromArtifact(String groupId, String artifactId) {
@@ -53,8 +56,7 @@ public interface CamelLoader extends Artifact {
class Builder extends ImmutableCamelLoader.Builder {
public Builder addDependency(String groupId, String artifactId) {
- addDependencies(MavenArtifact.from(groupId, artifactId));
- return this;
+ return super.addDependencies(Artifact.from(groupId, artifactId));
}
}
}
diff --git a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelScheme.java b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelScheme.java
index fea0a29..14b68a7 100644
--- a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelScheme.java
+++ b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelScheme.java
@@ -17,15 +17,16 @@
package org.apache.camel.k.catalog.model;
import java.util.Collections;
+import java.util.Comparator;
import java.util.Optional;
-import java.util.Set;
+import java.util.SortedSet;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.immutables.value.Value;
@Value.Immutable
@JsonDeserialize(builder = CamelScheme.Builder.class)
-public interface CamelScheme {
+public interface CamelScheme extends Comparable<CamelScheme> {
String getId();
@Value.Auxiliary
@@ -42,8 +43,9 @@ public interface CamelScheme {
@Value.Auxiliary
@Value.Default
- default Set<String> getRequiredCapabilities() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<String> getRequiredCapabilities() {
+ return Collections.emptySortedSet();
}
@Value.Auxiliary
@@ -52,6 +54,13 @@ public interface CamelScheme {
@Value.Auxiliary
Optional<CamelScopedArtifact> getConsumer();
+ @Override
+ default int compareTo(CamelScheme o) {
+ return Comparator
+ .comparing(CamelScheme::getId)
+ .compare(this, o);
+ }
+
class Builder extends ImmutableCamelScheme.Builder {
}
}
diff --git a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelScopedArtifact.java b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelScopedArtifact.java
index a72429b..667dce0 100644
--- a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelScopedArtifact.java
+++ b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/CamelScopedArtifact.java
@@ -17,7 +17,7 @@
package org.apache.camel.k.catalog.model;
import java.util.Collections;
-import java.util.Set;
+import java.util.SortedSet;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@@ -30,19 +30,21 @@ import org.immutables.value.Value;
public interface CamelScopedArtifact {
@Value.Auxiliary
@Value.Default
- default Set<Artifact> getDependencies() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<Artifact> getDependencies() {
+ return Collections.emptySortedSet();
}
@Value.Auxiliary
@Value.Default
- default Set<String> getRequiredCapabilities() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<String> getRequiredCapabilities() {
+ return Collections.emptySortedSet();
}
class Builder extends ImmutableCamelScopedArtifact.Builder {
public Builder addDependency(String groupId, String artifactId) {
- return super.addDependencies(MavenArtifact.from(groupId, artifactId));
+ return super.addDependencies(Artifact.from(groupId, artifactId));
}
}
}
diff --git a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/MavenArtifact.java b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/MavenArtifact.java
deleted file mode 100644
index d75faf1..0000000
--- a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/MavenArtifact.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.camel.k.catalog.model;
-
-import java.util.Optional;
-
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.immutables.value.Value;
-
-@Value.Immutable
-@JsonDeserialize(builder = MavenArtifact.Builder.class)
-@JsonPropertyOrder({"groupId", "artifactId", "version"})
-public interface MavenArtifact extends Artifact {
- static MavenArtifact from(String groupId, String artifactId) {
- return new MavenArtifact() {
- @Override
- public String getGroupId() {
- return groupId;
- }
-
- @Override
- public String getArtifactId() {
- return artifactId;
- }
-
- @Override
- public Optional<String> getVersion() {
- return Optional.empty();
- }
- };
- }
-
- class Builder extends ImmutableMavenArtifact.Builder {
- }
-}
diff --git a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/ObjectMeta.java b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/ObjectMeta.java
index 60d7aff..faa66f9 100644
--- a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/ObjectMeta.java
+++ b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/ObjectMeta.java
@@ -17,7 +17,7 @@
package org.apache.camel.k.catalog.model.k8s;
import java.util.Collections;
-import java.util.Map;
+import java.util.SortedMap;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.immutables.value.Value;
@@ -28,8 +28,9 @@ public interface ObjectMeta {
String getName();
@Value.Default
- default Map<String, String> getLabels() {
- return Collections.emptyMap();
+ @Value.NaturalOrder
+ default SortedMap<String, String> getLabels() {
+ return Collections.emptySortedMap();
}
class Builder extends ImmutableObjectMeta.Builder {
diff --git a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/crd/CamelCatalogSpec.java b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/crd/CamelCatalogSpec.java
index 77360bb..d3b9cec 100644
--- a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/crd/CamelCatalogSpec.java
+++ b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/crd/CamelCatalogSpec.java
@@ -17,7 +17,7 @@
package org.apache.camel.k.catalog.model.k8s.crd;
import java.util.Collections;
-import java.util.Map;
+import java.util.SortedMap;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@@ -33,23 +33,24 @@ public interface CamelCatalogSpec {
RuntimeSpec getRuntime();
@Value.Default
- default Map<String, CamelArtifact> getArtifacts() {
- return Collections.emptyMap();
+ @Value.NaturalOrder
+ default SortedMap<String, CamelArtifact> getArtifacts() {
+ return Collections.emptySortedMap();
}
@Value.Default
- default Map<String, CamelLoader> getLoaders() {
- return Collections.emptyMap();
+ @Value.NaturalOrder
+ default SortedMap<String, CamelLoader> getLoaders() {
+ return Collections.emptySortedMap();
}
class Builder extends ImmutableCamelCatalogSpec.Builder {
public Builder putArtifact(CamelArtifact artifact) {
- putArtifact(artifact.getArtifactId(), artifact);
- return this;
+ return putArtifact(artifact.getArtifactId(), artifact);
}
+
public Builder putArtifact(String groupId, String artifactId) {
- putArtifact(new CamelArtifact.Builder().groupId(groupId).artifactId(artifactId).build());
- return this;
+ return putArtifact(new CamelArtifact.Builder().groupId(groupId).artifactId(artifactId).build());
}
}
}
diff --git a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/crd/RuntimeSpec.java b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/crd/RuntimeSpec.java
index a6b2d5a..730dc95 100644
--- a/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/crd/RuntimeSpec.java
+++ b/support/camel-k-catalog-model/src/main/java/org/apache/camel/k/catalog/model/k8s/crd/RuntimeSpec.java
@@ -17,13 +17,13 @@
package org.apache.camel.k.catalog.model.k8s.crd;
import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
+import java.util.SortedMap;
+import java.util.SortedSet;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.camel.k.catalog.model.Artifact;
import org.apache.camel.k.catalog.model.CamelCapability;
-import org.apache.camel.k.catalog.model.MavenArtifact;
import org.immutables.value.Value;
@Value.Immutable
@@ -36,24 +36,26 @@ public interface RuntimeSpec {
String getApplicationClass();
@Value.Default
- default Map<String, String> getMetadata() {
- return Collections.emptyMap();
+ @Value.NaturalOrder
+ default SortedMap<String, String> getMetadata() {
+ return Collections.emptySortedMap();
}
@Value.Default
- default Set<MavenArtifact> getDependencies() {
- return Collections.emptySet();
+ @Value.NaturalOrder
+ default SortedSet<Artifact> getDependencies() {
+ return Collections.emptySortedSet();
}
@Value.Default
- default Map<String, CamelCapability> getCapabilities() {
- return Collections.emptyMap();
+ @Value.NaturalOrder
+ default SortedMap<String, CamelCapability> getCapabilities() {
+ return Collections.emptySortedMap();
}
class Builder extends ImmutableRuntimeSpec.Builder {
public Builder addDependency(String groupId, String artifactId) {
- addDependencies(MavenArtifact.from(groupId, artifactId));
- return this;
+ return super.addDependencies(Artifact.from(groupId, artifactId));
}
}
}
diff --git a/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateCatalogMojo.java b/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateCatalogMojo.java
index 9590e37..0279087 100644
--- a/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateCatalogMojo.java
+++ b/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateCatalogMojo.java
@@ -148,7 +148,6 @@ public class GenerateCatalogMojo extends AbstractMojo {
CamelCatalogSpec.Builder catalogSpec = new CamelCatalogSpec.Builder()
.runtime(runtimeSpec.build());
-
StreamSupport.stream(ServiceLoader.load(CatalogProcessor.class).spliterator(), false)
.sorted(Comparator.comparingInt(CatalogProcessor::getOrder))
.filter(p -> p.accepts(catalog))
diff --git a/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java b/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java
index 2c7bd37..d4974e4 100644
--- a/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java
+++ b/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java
@@ -17,10 +17,12 @@
package org.apache.camel.k.tooling.maven.processors;
import java.util.Arrays;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
import com.vdurmont.semver4j.Semver;
import org.apache.camel.catalog.CamelCatalog;
@@ -93,7 +95,7 @@ public class CatalogProcessor3x implements CatalogProcessor {
@Override
public void process(MavenProject project, CamelCatalog catalog, CamelCatalogSpec.Builder specBuilder) {
- Map<String, CamelArtifact> artifacts = new HashMap<>();
+ Map<String, CamelArtifact> artifacts = new TreeMap<>();
processComponents(catalog, artifacts);
processLanguages(catalog, artifacts);
@@ -221,7 +223,9 @@ public class CatalogProcessor3x implements CatalogProcessor {
}
private static void processComponents(CamelCatalog catalog, Map<String, CamelArtifact> artifacts) {
- for (String name : catalog.findComponentNames()) {
+ final Set<String> elements = new TreeSet<>(catalog.findComponentNames());
+
+ for (String name : elements) {
String json = catalog.componentJSonSchema(name);
CatalogComponentDefinition definition = CatalogSupport.unmarshallComponent(json);
@@ -244,7 +248,9 @@ public class CatalogProcessor3x implements CatalogProcessor {
}
private static void processLanguages(CamelCatalog catalog, Map<String, CamelArtifact> artifacts) {
- for (String name : catalog.findLanguageNames()) {
+ final Set<String> elements = new TreeSet<>(catalog.findLanguageNames());
+
+ for (String name : elements) {
String json = catalog.languageJSonSchema(name);
CatalogLanguageDefinition definition = CatalogSupport.unmarshallLanguage(json);
@@ -259,7 +265,9 @@ public class CatalogProcessor3x implements CatalogProcessor {
}
private static void processDataFormats(CamelCatalog catalog, Map<String, CamelArtifact> artifacts) {
- for (String name : catalog.findDataFormatNames()) {
+ final Set<String> elements = new TreeSet<>(catalog.findDataFormatNames());
+
+ for (String name : elements) {
String json = catalog.dataFormatJSonSchema(name);
CatalogDataFormatDefinition definition = CatalogSupport.unmarshallDataFormat(json);