This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 3f17de60d816d59013dbb0b07481e2331a6979f7 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Sat May 2 09:51:10 2020 +0200 CAMEL-14998: component docs - Mark newly added artifacts as preview support level by default --- .../apache/camel/openapi/RestOpenApiSupport.java | 30 ++------------------ .../apache/camel/swagger/RestSwaggerSupport.java | 29 ++------------------ .../camel/tooling}/util/CamelVersionHelper.java | 9 +++++- .../tooling}/util/CamelVersionHelperTest.java | 11 ++++---- .../packaging/EndpointSchemaGeneratorMojo.java | 2 +- .../maven/packaging/PackageDataFormatMojo.java | 2 +- .../camel/maven/packaging/PackageLanguageMojo.java | 2 +- .../camel/maven/packaging/PackageOtherMojo.java | 28 +++++++++---------- .../camel/maven/packaging/SupportLevelHelper.java | 32 ++++++++++------------ 9 files changed, 51 insertions(+), 94 deletions(-) diff --git a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java index 6f97b96..f07bb8d 100644 --- a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java +++ b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java @@ -32,7 +32,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.management.AttributeNotFoundException; import javax.management.MBeanServer; import javax.management.ObjectName; @@ -62,7 +61,6 @@ import org.apache.camel.model.rest.RestsDefinition; import org.apache.camel.spi.ClassResolver; import org.apache.camel.spi.RestConfiguration; import org.apache.camel.support.PatternHelper; -import org.apache.camel.util.CamelVersionHelper; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.URISupport; import org.apache.camel.util.xml.XmlLineNumberParser; @@ -240,7 +238,6 @@ public class RestOpenApiSupport { public List<RestDefinition> getRestDefinitions(CamelContext camelContext, String camelId) throws Exception { ObjectName found = null; - boolean supportResolvePlaceholder = false; MBeanServer server = ManagementFactory.getPlatformMBeanServer(); Set<ObjectName> names = server.queryNames(new ObjectName("org.apache.camel:type=context,*"), null); @@ -250,25 +247,13 @@ public class RestOpenApiSupport { id = id.substring(1, id.length() - 1); } if (camelId == null || camelId.equals(id)) { - // filter out older Camel versions as this requires Camel 2.15 or better (rest-dsl) - String version = (String)server.getAttribute(on, "CamelVersion"); - if (CamelVersionHelper.isGE("2.15.0", version)) { - found = on; - } - if (CamelVersionHelper.isGE("2.15.3", version)) { - supportResolvePlaceholder = true; - } + found = on; } } if (found != null) { - String xml; - if (supportResolvePlaceholder) { - xml = (String)server.invoke(found, "dumpRestsAsXml", new Object[] {true}, + String xml = (String)server.invoke(found, "dumpRestsAsXml", new Object[] {true}, new String[] {"boolean"}); - } else { - xml = (String)server.invoke(found, "dumpRestsAsXml", null, null); - } if (xml != null) { LOG.debug("DumpRestAsXml:\n{}", xml); InputStream xmlis = camelContext.getTypeConverter().convertTo(InputStream.class, xml); @@ -294,16 +279,7 @@ public class RestOpenApiSupport { if (id.startsWith("\"") && id.endsWith("\"")) { id = id.substring(1, id.length() - 1); } - - // filter out older Camel versions as this requires Camel 2.15 or better (rest-dsl) - try { - String version = (String)server.getAttribute(on, "CamelVersion"); - if (CamelVersionHelper.isGE("2.15.0", version)) { - answer.add(id); - } - } catch (AttributeNotFoundException ex) { - // ignore - } + answer.add(id); } return answer; } diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java index 2cff328..6373a90 100644 --- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java +++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java @@ -55,7 +55,6 @@ import org.apache.camel.model.rest.RestsDefinition; import org.apache.camel.spi.ClassResolver; import org.apache.camel.spi.RestConfiguration; import org.apache.camel.support.PatternHelper; -import org.apache.camel.util.CamelVersionHelper; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.URISupport; import org.apache.camel.util.xml.XmlLineNumberParser; @@ -191,7 +190,6 @@ public class RestSwaggerSupport { public List<RestDefinition> getRestDefinitions(CamelContext camelContext, String camelId) throws Exception { ObjectName found = null; - boolean supportResolvePlaceholder = false; MBeanServer server = ManagementFactory.getPlatformMBeanServer(); Set<ObjectName> names = server.queryNames(new ObjectName("org.apache.camel:type=context,*"), null); @@ -201,24 +199,12 @@ public class RestSwaggerSupport { id = id.substring(1, id.length() - 1); } if (camelId == null || camelId.equals(id)) { - // filter out older Camel versions as this requires Camel 2.15 or better (rest-dsl) - String version = (String) server.getAttribute(on, "CamelVersion"); - if (CamelVersionHelper.isGE("2.15.0", version)) { - found = on; - } - if (CamelVersionHelper.isGE("2.15.3", version)) { - supportResolvePlaceholder = true; - } + found = on; } } if (found != null) { - String xml; - if (supportResolvePlaceholder) { - xml = (String) server.invoke(found, "dumpRestsAsXml", new Object[]{true}, new String[]{"boolean"}); - } else { - xml = (String) server.invoke(found, "dumpRestsAsXml", null, null); - } + String xml = (String) server.invoke(found, "dumpRestsAsXml", new Object[]{true}, new String[]{"boolean"}); if (xml != null) { LOG.debug("DumpRestAsXml:\n{}", xml); InputStream isxml = camelContext.getTypeConverter().convertTo(InputStream.class, xml); @@ -244,16 +230,7 @@ public class RestSwaggerSupport { if (id.startsWith("\"") && id.endsWith("\"")) { id = id.substring(1, id.length() - 1); } - - // filter out older Camel versions as this requires Camel 2.15 or better (rest-dsl) - try { - String version = (String) server.getAttribute(on, "CamelVersion"); - if (CamelVersionHelper.isGE("2.15.0", version)) { - answer.add(id); - } - } catch (AttributeNotFoundException ex) { - // ignore - } + answer.add(id); } return answer; } diff --git a/core/camel-util/src/main/java/org/apache/camel/util/CamelVersionHelper.java b/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/CamelVersionHelper.java similarity index 98% rename from core/camel-util/src/main/java/org/apache/camel/util/CamelVersionHelper.java rename to tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/CamelVersionHelper.java index 00e622b..0b6f6d7 100644 --- a/core/camel-util/src/main/java/org/apache/camel/util/CamelVersionHelper.java +++ b/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/CamelVersionHelper.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.camel.util; +package org.apache.camel.tooling.util; import java.math.BigInteger; import java.util.ArrayList; @@ -42,6 +42,13 @@ public final class CamelVersionHelper { * @return <tt>true</tt> if GE, <tt>false</tt> otherwise */ public static boolean isGE(String base, String other) { + if (base == null || base.isEmpty()) { + throw new IllegalArgumentException("Empty base version"); + } + if (other == null || other.isEmpty()) { + throw new IllegalArgumentException("Empty other version"); + } + ComparableVersion v1 = new ComparableVersion(base); ComparableVersion v2 = new ComparableVersion(other); return v2.compareTo(v1) >= 0; diff --git a/core/camel-util/src/test/java/org/apache/camel/util/CamelVersionHelperTest.java b/tooling/camel-tooling-util/src/test/java/org/apache/camel/tooling/util/CamelVersionHelperTest.java similarity index 81% copy from core/camel-util/src/test/java/org/apache/camel/util/CamelVersionHelperTest.java copy to tooling/camel-tooling-util/src/test/java/org/apache/camel/tooling/util/CamelVersionHelperTest.java index 8e80026..b92039a 100644 --- a/core/camel-util/src/test/java/org/apache/camel/util/CamelVersionHelperTest.java +++ b/tooling/camel-tooling-util/src/test/java/org/apache/camel/tooling/util/CamelVersionHelperTest.java @@ -14,14 +14,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.camel.util; +package org.apache.camel.tooling.util; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.apache.camel.util.CamelVersionHelper.isGE; +import static org.apache.camel.tooling.util.CamelVersionHelper.isGE; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; -public class CamelVersionHelperTest extends Assert { +public class CamelVersionHelperTest { @Test public void testGE() throws Exception { diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java index cf39969..c7dee8c 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java @@ -469,7 +469,7 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo { } else if (level != null) { model.setSupportLevel(SupportLevel.safeValueOf(level)); } else { - model.setSupportLevel(SupportLevel.Stable); + model.setSupportLevel(SupportLevelHelper.defaultSupportLevel(model.getFirstVersion(), model.getVersion())); } // get the java type class name via the @Component annotation from its diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java index d0a41db..853ca19 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java @@ -267,7 +267,7 @@ public class PackageDataFormatMojo extends AbstractGeneratorMojo { } else if (level != null) { model.setSupportLevel(SupportLevel.safeValueOf(level)); } else { - model.setSupportLevel(SupportLevel.Stable); + model.setSupportLevel(SupportLevelHelper.defaultSupportLevel(model.getFirstVersion(), model.getVersion())); } for (EipOptionModel opt : def.getOptions()) { diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java index d5952a3..d15c589 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java @@ -219,7 +219,7 @@ public class PackageLanguageMojo extends AbstractGeneratorMojo { } else if (level != null) { model.setSupportLevel(SupportLevel.safeValueOf(level)); } else { - model.setSupportLevel(SupportLevel.Stable); + model.setSupportLevel(SupportLevelHelper.defaultSupportLevel(model.getFirstVersion(), model.getVersion())); } for (EipOptionModel opt : def.getOptions()) { diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java index f33c506..cca4a01 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java @@ -109,34 +109,34 @@ public class PackageOtherMojo extends AbstractGeneratorMojo { try { // create json model - OtherModel otherModel = new OtherModel(); - otherModel.setName(name); - otherModel.setGroupId(project.getGroupId()); - otherModel.setArtifactId(project.getArtifactId()); - otherModel.setVersion(project.getVersion()); - otherModel.setDescription(project.getDescription()); - otherModel.setDeprecated(project.getName() != null && project.getName().contains("(deprecated)")); - otherModel.setFirstVersion(project.getProperties().getProperty("firstVersion")); - otherModel.setLabel(project.getProperties().getProperty("label")); + OtherModel model = new OtherModel(); + model.setName(name); + model.setGroupId(project.getGroupId()); + model.setArtifactId(project.getArtifactId()); + model.setVersion(project.getVersion()); + model.setDescription(project.getDescription()); + model.setDeprecated(project.getName() != null && project.getName().contains("(deprecated)")); + model.setFirstVersion(project.getProperties().getProperty("firstVersion")); + model.setLabel(project.getProperties().getProperty("label")); String title = project.getProperties().getProperty("title"); if (title == null) { title = Strings.camelDashToTitle(name); } - otherModel.setTitle(title); + model.setTitle(title); // grab level from pom.xml or default to stable String level = project.getProperties().getProperty("supportLevel"); if (level != null) { - otherModel.setSupportLevel(SupportLevel.safeValueOf(level)); + model.setSupportLevel(SupportLevel.safeValueOf(level)); } else { - otherModel.setSupportLevel(SupportLevel.Stable); + model.setSupportLevel(SupportLevelHelper.defaultSupportLevel(model.getFirstVersion(), model.getVersion())); } if (log.isDebugEnabled()) { - log.debug("Model: " + otherModel); + log.debug("Model: " + model); } - String schema = JsonMapper.createJsonSchema(otherModel); + String schema = JsonMapper.createJsonSchema(model); // write this to the directory String fileName = name + PackageHelper.JSON_SUFIX; diff --git a/core/camel-util/src/test/java/org/apache/camel/util/CamelVersionHelperTest.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SupportLevelHelper.java similarity index 52% rename from core/camel-util/src/test/java/org/apache/camel/util/CamelVersionHelperTest.java rename to tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SupportLevelHelper.java index 8e80026..5286cf2 100644 --- a/core/camel-util/src/test/java/org/apache/camel/util/CamelVersionHelperTest.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SupportLevelHelper.java @@ -14,27 +14,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.camel.util; +package org.apache.camel.maven.packaging; -import org.junit.Assert; -import org.junit.Test; +import org.apache.camel.tooling.model.SupportLevel; +import org.apache.camel.tooling.util.CamelVersionHelper; -import static org.apache.camel.util.CamelVersionHelper.isGE; +public final class SupportLevelHelper { -public class CamelVersionHelperTest extends Assert { - - @Test - public void testGE() throws Exception { - assertTrue(isGE("2.15.0", "2.15.0")); - assertTrue(isGE("2.15.0", "2.15.1")); - assertTrue(isGE("2.15.0", "2.16.0")); - assertTrue(isGE("2.15.0", "2.16-SNAPSHOT")); - assertTrue(isGE("2.15.0", "2.16-foo")); + private SupportLevelHelper() { + } - assertFalse(isGE("2.15.0", "2.14.3")); - assertFalse(isGE("2.15.0", "2.13.0")); - assertFalse(isGE("2.15.0", "2.13.1")); - assertFalse(isGE("2.15.0", "2.14-SNAPSHOT")); - assertFalse(isGE("2.15.0", "2.14-foo")); + public static SupportLevel defaultSupportLevel(String firstVersion, String currentVersion) { + boolean older = CamelVersionHelper.isGE(currentVersion, firstVersion); + if (older) { + return SupportLevel.Stable; + } else { + // its a new component that is added to this version so lets mark it as preview by default + return SupportLevel.Preview; + } } }