You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2022/04/07 12:49:01 UTC

[camel] 01/01: CAMEL-17924: Only expose public headers in the documentation

This is an automated email from the ASF dual-hosted git repository.

nfilotto pushed a commit to branch CAMEL-17924/public-headers-only
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 27a33d485a7da0533a039903a9446d4de38bc8fc
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Thu Apr 7 14:48:31 2022 +0200

    CAMEL-17924: Only expose public headers in the documentation
---
 .../maven/packaging/EndpointSchemaGeneratorMojo.java | 20 ++------------------
 .../packaging/endpoint/SomeCommonConstants.java      |  2 +-
 .../maven/packaging/endpoint/SomeConstants.java      |  4 ++--
 .../packaging/endpoint/SomeEndpointWithFilter.java   |  6 +++---
 .../SomeEndpointWithJavadocAsDescription.java        |  2 +-
 .../packaging/endpoint/SomeSpecificConstants.java    |  5 ++++-
 6 files changed, 13 insertions(+), 26 deletions(-)

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 116a48fdb9d..d0890ce1dc2 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
@@ -32,13 +32,11 @@ import java.net.URL;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Date;
-import java.util.Deque;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -319,20 +317,7 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
             getLog().debug(String.format("The endpoint %s has not defined any headers class", uriEndpoint.scheme()));
             return;
         }
-        // A header class has been defined
-        boolean foundHeader = false;
-        final Deque<Class<?>> classes = new ArrayDeque<>();
-        classes.add(headersClass);
-        Class<?> currentHeadersClass;
-        while ((currentHeadersClass = classes.poll()) != null) {
-            foundHeader |= addEndpointHeaders(componentModel, scheme, currentHeadersClass, uriEndpoint.headersNameProvider());
-            final Class<?> superclass = currentHeadersClass.getSuperclass();
-            if (superclass != null && !superclass.equals(Object.class)) {
-                classes.add(superclass);
-            }
-            classes.addAll(Arrays.asList(currentHeadersClass.getInterfaces()));
-        }
-        if (!foundHeader) {
+        if (!addEndpointHeaders(componentModel, scheme, headersClass, uriEndpoint.headersNameProvider())) {
             getLog().debug(String.format("No headers have been detected in the headers class %s", headersClass.getName()));
         }
     }
@@ -355,7 +340,7 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
             ComponentModel componentModel, String scheme, Class<?> headersClass, String headersNameProvider) {
         final boolean isEnum = headersClass.isEnum();
         boolean foundHeader = false;
-        for (Field field : headersClass.getDeclaredFields()) {
+        for (Field field : headersClass.getFields()) {
             if ((isEnum || isStatic(field.getModifiers()) && field.getType() == String.class)
                     && field.isAnnotationPresent(Metadata.class)) {
                 getLog().debug(
@@ -487,7 +472,6 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
             }
             return field.getName();
         }
-        field.trySetAccessible();
         return (String) field.get(null);
     }
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeCommonConstants.java b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeCommonConstants.java
index 577acff011e..2a0213f7d5f 100644
--- a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeCommonConstants.java
+++ b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeCommonConstants.java
@@ -21,7 +21,7 @@ import org.apache.camel.spi.Metadata;
 public class SomeCommonConstants {
 
     @Metadata
-    static final String KEY_FROM_COMMON = "KEY_FROM_COMMON";
+    public static final String KEY_FROM_COMMON = "KEY_FROM_COMMON";
 
     protected SomeCommonConstants() {
     }
diff --git a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeConstants.java b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeConstants.java
index 407bec9e123..1152334ca6e 100644
--- a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeConstants.java
+++ b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeConstants.java
@@ -25,12 +25,12 @@ public final class SomeConstants {
               defaultValue = "VAL1", deprecationNote = "my deprecated note", secret = true)
     public static final String KEY_FULL = "KEY_FULL";
     @Metadata
-    static final String KEY_EMPTY = "KEY_EMPTY";
+    public static final String KEY_EMPTY = "KEY_EMPTY";
     /**
      * Some description
      */
     @Metadata
-    static final String KEY_EMPTY_WITH_JAVA_DOC = "KEY_EMPTY_WITH_JAVA_DOC";
+    public static final String KEY_EMPTY_WITH_JAVA_DOC = "KEY_EMPTY_WITH_JAVA_DOC";
 
     private SomeConstants() {
     }
diff --git a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeEndpointWithFilter.java b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeEndpointWithFilter.java
index e406eb37a61..c9ddf5fa0e0 100644
--- a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeEndpointWithFilter.java
+++ b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeEndpointWithFilter.java
@@ -23,11 +23,11 @@ import org.apache.camel.spi.UriEndpoint;
 public final class SomeEndpointWithFilter {
 
     @Metadata(description = "some description")
-    static final String KEEP_1 = "keep-1";
+    public static final String KEEP_1 = "keep-1";
     @Metadata(description = "some description", applicableFor = "some")
-    static final String KEEP_2 = "keep-2";
+    public static final String KEEP_2 = "keep-2";
     @Metadata(description = "some description", applicableFor = "other")
-    static final String IGNORE = "ignore";
+    public static final String IGNORE = "ignore";
 
     private SomeEndpointWithFilter() {
     }
diff --git a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeEndpointWithJavadocAsDescription.java b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeEndpointWithJavadocAsDescription.java
index 24ed6baadde..6f1f50f95a4 100644
--- a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeEndpointWithJavadocAsDescription.java
+++ b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeEndpointWithJavadocAsDescription.java
@@ -26,7 +26,7 @@ public final class SomeEndpointWithJavadocAsDescription {
      * Some description about {@link #NO_DESCRIPTION}.
      */
     @Metadata
-    static final String NO_DESCRIPTION = "no-description";
+    public static final String NO_DESCRIPTION = "no-description";
 
     private SomeEndpointWithJavadocAsDescription() {
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeSpecificConstants.java b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeSpecificConstants.java
index 132de652ec9..58174396d23 100644
--- a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeSpecificConstants.java
+++ b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/endpoint/SomeSpecificConstants.java
@@ -21,7 +21,10 @@ import org.apache.camel.spi.Metadata;
 public final class SomeSpecificConstants extends SomeCommonConstants {
 
     @Metadata
-    static final String KEY_FROM_SPECIFIC = "KEY_FROM_SPECIFIC";
+    public static final String KEY_FROM_SPECIFIC = "KEY_FROM_SPECIFIC";
+
+    @Metadata
+    static final String INTERNAL_KEY_FROM_SPECIFIC = "INTERNAL_KEY_FROM_SPECIFIC";
 
     private SomeSpecificConstants() {
     }