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;
+        }
     }
 }

Reply via email to