You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2019/08/21 07:58:01 UTC

[camel] 06/20: Add configuration parameters. Add data format build clauses.

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

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 786f65020dc87484c921b6ae02869e8c520c1c43
Author: Roberto Flores <be...@gmail.com>
AuthorDate: Mon Jun 24 00:29:05 2019 -0500

    Add configuration parameters.
    Add data format build clauses.
---
 bom/camel-bom/pom.xml                              |  10 ++
 .../camel/dataformat/any23/Any23DataFormat.java    | 186 ++++++++++++---------
 .../camel/dataformat/any23/Any23OutputFormat.java  |  30 +---
 .../camel/dataformat/any23/Any23Parameters.java    |  30 ++--
 .../dataformat/any23/Any23DataFormatBasicTest.java | 139 ++++++++-------
 .../org/apache/camel/builder/DataFormatClause.java |  19 ++-
 .../camel/model/dataformat/Any23DataFormat.java    |  80 +++++++--
 .../reifier/dataformat/Any23DataFormatReifier.java |  38 ++---
 .../camel-spring-boot-dependencies/pom.xml         |  10 ++
 9 files changed, 310 insertions(+), 232 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 765ba49..be58ba7 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -78,6 +78,16 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-any23</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-any23-starter</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-api</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/components/camel-any23/src/main/java/org/apache/camel/dataformat/any23/Any23DataFormat.java b/components/camel-any23/src/main/java/org/apache/camel/dataformat/any23/Any23DataFormat.java
index 12cd8dc..4b581c0 100644
--- a/components/camel-any23/src/main/java/org/apache/camel/dataformat/any23/Any23DataFormat.java
+++ b/components/camel-any23/src/main/java/org/apache/camel/dataformat/any23/Any23DataFormat.java
@@ -16,24 +16,21 @@
  */
 package org.apache.camel.dataformat.any23;
 
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import org.apache.any23.Any23;
-import org.apache.any23.extractor.ExtractionException;
-import org.apache.any23.http.HTTPClient;
+import org.apache.any23.configuration.DefaultConfiguration;
+import org.apache.any23.configuration.ModifiableConfiguration;
 import org.apache.any23.source.DocumentSource;
-import org.apache.any23.source.HTTPDocumentSource;
 import org.apache.any23.source.StringDocumentSource;
+import org.apache.any23.writer.JSONLDWriter;
+import org.apache.any23.writer.NQuadsWriter;
 import org.apache.any23.writer.NTriplesWriter;
+import org.apache.any23.writer.RDFXMLWriter;
 import org.apache.any23.writer.TripleHandler;
-import org.apache.any23.writer.TripleHandlerException;
+import org.apache.any23.writer.TurtleWriter;
 
-import org.apache.camel.CamelException;
 import org.apache.camel.Exchange;
-import org.apache.camel.NoTypeConversionAvailableException;
-import org.apache.camel.TypeConversionException;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
 import org.apache.camel.spi.annotations.Dataformat;
@@ -54,100 +51,133 @@ public class Any23DataFormat extends ServiceSupport implements DataFormat, DataF
    */
   private static final Logger LOG = LoggerFactory.getLogger(Any23DataFormat.class);
 
-  private Any23Parameters parameters ;
+  private Any23 any23;
+  private Any23OutputFormat format;
+  private ModifiableConfiguration conf;
+  private String[] extractorsList;
 
-  /**
-   * String or Node to return
-   */
-  private Class<?> dataObjectType;
-
-  /**
-   * What is the default output format ?
-   */
-  private String method;
+  private String configurations;
+  private String extractors;
+  private String outputFormat;
+  private String documentIRI;
 
   @Override
   public String getDataFormatName() {
     return "any23";
   }
-  
-  
-  /*protected final void setDefaultParameters () {
-     parameters = new Any23Parameters ();
-  
-  }*/
-  
-  /*public Any23DataFormat (){
-    this.setDefaultParameters();
-  }*/
 
   /**
    * Marshal data. Generate RDF.
    */
   public void marshal(Exchange exchange, Object object, OutputStream outputStream) throws Exception {
-   /*final String payload = ExchangeHelper.convertToMandatoryType(exchange, String.class, object);
-   System.out.print ("payload");
-   System.out.print (payload);
-   
-    Any23 runner = new Any23();*/
-    anytordf( exchange,  object,  outputStream);
-           //  return n3;
-   // throw new CamelException("Under construction");
+    final String payload = ExchangeHelper.convertToMandatoryType(exchange, String.class, object);
+    DocumentSource source = new StringDocumentSource(payload, documentIRI);
+    TripleHandler handler;
+    switch (format) {
+      case NTRIPLES:
+        handler = new NTriplesWriter(outputStream);
+        break;
+      case TURTLE:
+        handler = new TurtleWriter(outputStream);
+        break;
+      case NQUADS:
+        handler = new NQuadsWriter(outputStream);
+        break;
+      case RDFXML:
+        handler = new RDFXMLWriter(outputStream);
+        break;
+      case JSONLD:
+        handler = new JSONLDWriter(outputStream);
+        break;
+      case MODEL:
+        handler = new NTriplesWriter(outputStream);
+        break;
+      default:
+        handler = new NTriplesWriter(outputStream);
+    }
+    any23.extract(source, handler);
   }
 
   /**
    * Unmarshal the data
    */
   public Object unmarshal(Exchange exchange, InputStream inputStream) throws Exception {
-          Any23 runner = new Any23();
-          runner.setHTTPUserAgent("test-user-agent");
-          HTTPClient httpClient = runner.getHTTPClient();
-          DocumentSource source = new HTTPDocumentSource(
-                  httpClient,
-                  "http://dbpedia.org/page/Ecuador");
-        //  System.out.print("#######");
-        //  System.out.print(source.getContentType());
-          ByteArrayOutputStream out = new ByteArrayOutputStream();
-          TripleHandler handler = new NTriplesWriter(out);
-           
-              runner.extract(source, handler);
-        
-              
-             handler.close();
-            
-          
-             String n3 = out.toString("UTF-8");
-            
-           //  System.out.print (n3);
-             return n3;
-     //throw new CamelException("Under construction");
-  }
-  
-  private void anytordf (final Exchange exchange, Object object, OutputStream outputStream) throws IOException, ExtractionException, TypeConversionException, NoTypeConversionAvailableException, TripleHandlerException{
-    final String payload = ExchangeHelper.convertToMandatoryType(exchange, String.class, object);
-    System.out.println ("PAYLOAD");
-    System.out.println (payload);
-    DocumentSource source = new StringDocumentSource(payload, "http://host.com/service");
-    Any23 runner = new Any23();
-    ByteArrayOutputStream out = new ByteArrayOutputStream();
-    this.parameters = new Any23Parameters (out);
-    runner.extract(source, this.parameters.getTripleHandlerOutput());
-    this.parameters.getTripleHandlerOutput().close();
-   // out.toString("UTF-8").get
-   // out.toString("UTF-8");
-   System.out.println("SALIDA");
-    System.out.println(out.toString("UTF-8"));
-    outputStream.write(out.toByteArray());
-    
+    //TODO
+    return null;
   }
 
   @Override
   protected void doStart() throws Exception {
-    // noop
+    conf = DefaultConfiguration.copy();
+    String[] newConfigs = configurations.split(";");
+    for (String con : newConfigs) {
+      String[] vals = con.split("=");
+      conf.setProperty(vals[0], vals[0]);
+    }
+    extractorsList = extractors.split(";");
+    any23 = new Any23(conf, extractors);
+    format = Any23OutputFormat.valueOf(outputFormat);
   }
 
   @Override
   protected void doStop() throws Exception {
     // noop
   }
+
+  public Any23 getAny23() {
+    return any23;
+  }
+
+  public void setAny23(Any23 any23) {
+    this.any23 = any23;
+  }
+
+  public Any23OutputFormat getFormat() {
+    return format;
+  }
+
+  public void setFormat(Any23OutputFormat format) {
+    this.format = format;
+  }
+
+  public ModifiableConfiguration getConf() {
+    return conf;
+  }
+
+  public void setConf(ModifiableConfiguration conf) {
+    this.conf = conf;
+  }
+
+  public String[] getExtractorsList() {
+    return extractorsList;
+  }
+
+  public void setExtractorsList(String[] extractorsList) {
+    this.extractorsList = extractorsList;
+  }
+
+  public String getConfigurations() {
+    return configurations;
+  }
+
+  public void setConfigurations(String configurations) {
+    this.configurations = configurations;
+  }
+
+  public String getExtractors() {
+    return extractors;
+  }
+
+  public void setExtractors(String extractors) {
+    this.extractors = extractors;
+  }
+
+  public String getOutputFormat() {
+    return outputFormat;
+  }
+
+  public void setOutputFormat(String outputFormat) {
+    this.outputFormat = outputFormat;
+  }
+
 }
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/dataformat/Any23DataFormat.java b/components/camel-any23/src/main/java/org/apache/camel/dataformat/any23/Any23OutputFormat.java
similarity index 52%
copy from core/camel-core/src/main/java/org/apache/camel/model/dataformat/Any23DataFormat.java
copy to components/camel-any23/src/main/java/org/apache/camel/dataformat/any23/Any23OutputFormat.java
index af3596a..0ceddc5 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/dataformat/Any23DataFormat.java
+++ b/components/camel-any23/src/main/java/org/apache/camel/dataformat/any23/Any23OutputFormat.java
@@ -14,30 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.model.dataformat;
+package org.apache.camel.dataformat.any23;
 
-
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.spi.Metadata;
-
-/**
- * Any23 data format is used for parsing data to RDF.
- */
-@Metadata(firstVersion = "1.0.0", label = "dataformat,transformation", title = "Any23")
-@XmlRootElement(name = "any23")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class Any23DataFormat extends DataFormatDefinition {
-   
-    public Any23DataFormat() {
-        super("any23");
-        
-    }
-
-}
\ No newline at end of file
+public enum Any23OutputFormat {
+  NTRIPLES, TURTLE, NQUADS, RDFXML, JSONLD, RDFJSON, MODEL
+}
diff --git a/components/camel-any23/src/main/java/org/apache/camel/dataformat/any23/Any23Parameters.java b/components/camel-any23/src/main/java/org/apache/camel/dataformat/any23/Any23Parameters.java
index d15705a..cb9536c 100644
--- a/components/camel-any23/src/main/java/org/apache/camel/dataformat/any23/Any23Parameters.java
+++ b/components/camel-any23/src/main/java/org/apache/camel/dataformat/any23/Any23Parameters.java
@@ -14,23 +14,23 @@ import org.apache.any23.writer.TripleHandler;
  * @author joe
  */
 public class Any23Parameters {
-  
-private  ByteArrayOutputStream OUT;
+
+  private ByteArrayOutputStream OUT;
 //public static  final TripleHandler TRIPLEHANDLER ;
 
-private TripleHandler triplehandler ;
+  private TripleHandler triplehandler;
 
-public TripleHandler getTripleHandlerOutput (){
- return triplehandler;
-}
+  public TripleHandler getTripleHandlerOutput() {
+    return triplehandler;
+  }
+
+  public void setTripleHandlerOutput(TripleHandler triplehandler) {
+    this.triplehandler = triplehandler;
+  }
+
+  public Any23Parameters(ByteArrayOutputStream out) {
+    this.OUT = out;
+    this.triplehandler = new NTriplesWriter(out);
+  }
 
-public void setTripleHandlerOutput (TripleHandler triplehandler ){
-this.triplehandler = triplehandler;
-}
- 
-public Any23Parameters (ByteArrayOutputStream out) {
- this.OUT = out;
- this.triplehandler = new NTriplesWriter(out);
-}
-  
 }
diff --git a/components/camel-any23/src/test/java/org/apache/camel/dataformat/any23/Any23DataFormatBasicTest.java b/components/camel-any23/src/test/java/org/apache/camel/dataformat/any23/Any23DataFormatBasicTest.java
index fe83fc1..815fc4a 100644
--- a/components/camel-any23/src/test/java/org/apache/camel/dataformat/any23/Any23DataFormatBasicTest.java
+++ b/components/camel-any23/src/test/java/org/apache/camel/dataformat/any23/Any23DataFormatBasicTest.java
@@ -16,11 +16,7 @@
  */
 package org.apache.camel.dataformat.any23;
 
-import java.io.File;
 import java.util.List;
-
-import org.w3c.dom.Node;
-
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
@@ -28,80 +24,77 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
-
 public class Any23DataFormatBasicTest extends CamelTestSupport {
-   
-    @Test
-    public void testUnMarshalToStringOfXml() throws Exception {
-        MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
-        //resultEndpoint.expectedMessageCount(2);
 
-      //  String badHtml = TidyMarkupTestSupport.loadFileAsString(new File(
-      //          "src/test/resources/org/apache/camel/dataformat/any23/testfile1.html"));
-     //   String evilHtml = TidyMarkupTestSupport.loadFileAsString(new File(
-      //          "src/test/resources/org/apache/camel/dataformat/any23/testfile2-evilHtml.html"));
-      
-      String contenhtml = "<div id='hcard-JOSE-LUIS-SEGARRA-FLORES' class='vcard'> " +
-" <a class='url fn n' href='https://www.youtube.com/watch?v=kg1BljLu9YY'>  <span class='given-name'>JOSE</span> " +
-"  <span class='additional-name'>LUIS</span> " +
-"  <span class='family-name'>SEGARRA FLORES</span> " +
-"</a> " +
-" <div class='org'>TransExpress</div> " +
-" <a class='email' href='mailto:joesega7@gmail.com'>joesega7@gmail.com</a> " +
-" <div class='adr'> " +
-"  <div class='street-address'>7801 NW 37th Street Doral,  FL 33195-6503</div> " +
-"  <span class='locality'>Doral</span> " +
-",  " +
-"  <span class='region'>Florida</span> " +
-",  " +
-"  <span class='postal-code'>33195-6503</span> " +
-" " +
-"  <span class='country-name'>Estados Unidos</span> " +
-" " +
-" </div> " +
-" <div class='tel'>3055920839</div> " +
-"<p style='font-size:smaller;'>This <a href='http://microformats.org/wiki/hcard'>hCard</a> created with the <a href='http://microformats.org/code/hcard/creator'>hCard creator</a>.</p> " +
-"</div>";
-      
-      final String content = "<span class='vcard'> " +
-"  <span class='fn'>L'Amourita Pizza</span> " +
-"   Located at " +
-"  <span class='adr'> " +
-"    <span class='street-address'>123 Main St</span>, " +
-"    <span class='locality'>Albequerque</span>, " +
-"    <span class='region'>NM</span>. " +
-"  </span> " +
-"  <a href='http://pizza.example.com' class='url'>http://pizza.example.com</a> " +
-"</span>   ";
+  @Test
+  public void testUnMarshalToStringOfXml() throws Exception {
+    MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
+    //resultEndpoint.expectedMessageCount(2);
+
+    //  String badHtml = TidyMarkupTestSupport.loadFileAsString(new File(
+    //          "src/test/resources/org/apache/camel/dataformat/any23/testfile1.html"));
+    //   String evilHtml = TidyMarkupTestSupport.loadFileAsString(new File(
+    //          "src/test/resources/org/apache/camel/dataformat/any23/testfile2-evilHtml.html"));
+    String contenhtml = "<div id='hcard-JOSE-LUIS-SEGARRA-FLORES' class='vcard'> "
+        + " <a class='url fn n' href='https://www.youtube.com/watch?v=kg1BljLu9YY'>  <span class='given-name'>JOSE</span> "
+        + "  <span class='additional-name'>LUIS</span> "
+        + "  <span class='family-name'>SEGARRA FLORES</span> "
+        + "</a> "
+        + " <div class='org'>TransExpress</div> "
+        + " <a class='email' href='mailto:joesega7@gmail.com'>joesega7@gmail.com</a> "
+        + " <div class='adr'> "
+        + "  <div class='street-address'>7801 NW 37th Street Doral,  FL 33195-6503</div> "
+        + "  <span class='locality'>Doral</span> "
+        + ",  "
+        + "  <span class='region'>Florida</span> "
+        + ",  "
+        + "  <span class='postal-code'>33195-6503</span> "
+        + " "
+        + "  <span class='country-name'>Estados Unidos</span> "
+        + " "
+        + " </div> "
+        + " <div class='tel'>3055920839</div> "
+        + "<p style='font-size:smaller;'>This <a href='http://microformats.org/wiki/hcard'>hCard</a> created with the <a href='http://microformats.org/code/hcard/creator'>hCard creator</a>.</p> "
+        + "</div>";
 
-        template.sendBody("direct:start", contenhtml);
-      //  template.sendBody("direct:start", evilHtml);
+    final String content = "<span class='vcard'> "
+        + "  <span class='fn'>L'Amourita Pizza</span> "
+        + "   Located at "
+        + "  <span class='adr'> "
+        + "    <span class='street-address'>123 Main St</span>, "
+        + "    <span class='locality'>Albequerque</span>, "
+        + "    <span class='region'>NM</span>. "
+        + "  </span> "
+        + "  <a href='http://pizza.example.com' class='url'>http://pizza.example.com</a> "
+        + "</span>   ";
 
-        //resultEndpoint.assertIsSatisfied(); 
-        List<Exchange> list = resultEndpoint.getReceivedExchanges();
-         System.out.print(list.size());
-        for (Exchange exchange : list) {
-               
-                Message in = exchange.getIn();
-              //  Node tidyMarkup = in.getBody(Node.class);
-                System.out.print(in.getBody(String.class));
-               log.info("Received " + in.getBody(String.class));
-               // assertNotNull("Should be able to convert received body to a string", tidyMarkup);
-                
-            
-        }
-    } 
+    template.sendBody("direct:start", contenhtml);
+    //  template.sendBody("direct:start", evilHtml);
+
+    //resultEndpoint.assertIsSatisfied(); 
+    List<Exchange> list = resultEndpoint.getReceivedExchanges();
+    System.out.print(list.size());
+    for (Exchange exchange : list) {
+
+      Message in = exchange.getIn();
+      //  Node tidyMarkup = in.getBody(Node.class);
+      System.out.print(in.getBody(String.class));
+      log.info("Received " + in.getBody(String.class));
+      // assertNotNull("Should be able to convert received body to a string", tidyMarkup);
 
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            public void configure() { 
-              from("direct:start").marshal().any23().to("mock:result");
-              //from("direct:start").unmarshal().any23().to("mock:result");
-              //  from("direct:start").marshal().tidyMarkup();
-              //  from("direct:start").unmarshal().tidyMarkup().to("mock:result");
-            }
-        };
     }
+  }
+
+  @Override
+  protected RouteBuilder createRouteBuilder() {
+    return new RouteBuilder() {
+      public void configure() {
+        from("direct:start").marshal().any23("http://pizza.example.com").to("mock:result");
+        //from("direct:start").unmarshal().any23().to("mock:result");
+        //  from("direct:start").marshal().tidyMarkup();
+        //  from("direct:start").unmarshal().tidyMarkup().to("mock:result");
+      }
+    };
+  }
 
 }
diff --git a/core/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java b/core/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
index 54a7be6..b14d1d4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
+++ b/core/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
@@ -86,13 +86,24 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> {
 
 
 
-     /**
+    /**
      * Uses the Any23 data format
      */
-    public T any23() {
-        return dataFormat(new Any23DataFormat());
-    }
+  public T any23(String baseuri) {
+    return dataFormat(new Any23DataFormat(baseuri));
+  }
+
+  public T any23(String baseuri, String outputformat) {
+    return dataFormat(new Any23DataFormat(baseuri, outputformat));
+  }
+
+  public T any23(String baseuri, String outputformat, String configurations) {
+    return dataFormat(new Any23DataFormat(baseuri, outputformat, configurations));
+  }
 
+  public T any23(String baseuri, String outputformat, String configurations, String extractors) {
+    return dataFormat(new Any23DataFormat(baseuri, outputformat, configurations, extractors));
+  }
 
     /**
      * Uses the Avro data format
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/dataformat/Any23DataFormat.java b/core/camel-core/src/main/java/org/apache/camel/model/dataformat/Any23DataFormat.java
index af3596a..ecfde71 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/dataformat/Any23DataFormat.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/dataformat/Any23DataFormat.java
@@ -16,14 +16,10 @@
  */
 package org.apache.camel.model.dataformat;
 
-
-
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.spi.Metadata;
 
@@ -34,10 +30,74 @@ import org.apache.camel.spi.Metadata;
 @XmlRootElement(name = "any23")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class Any23DataFormat extends DataFormatDefinition {
-   
-    public Any23DataFormat() {
-        super("any23");
-        
-    }
 
-}
\ No newline at end of file
+  @XmlAttribute
+  @Metadata(defaultValue = "MODEL")
+  private String outputFormat;
+  @XmlAttribute
+  private String configurations;
+  @XmlAttribute
+  private String extractors;
+  @XmlAttribute
+  private String baseuri;
+
+  public Any23DataFormat() {
+    super("any23");
+  }
+
+  public Any23DataFormat(String baseuri) {
+    this();
+    this.baseuri = baseuri;
+  }
+
+  public Any23DataFormat(String baseuri, String outputFormat) {
+    this(baseuri);
+    this.outputFormat = outputFormat;
+  }
+
+  public Any23DataFormat(String baseuri, String outputFormat, String configurations) {
+    this(baseuri, outputFormat);
+    this.outputFormat = outputFormat;
+    this.configurations = configurations;
+  }
+
+  public Any23DataFormat(String baseuri, String outputFormat, String configurations, String extractors) {
+    this(baseuri, outputFormat, configurations);
+    this.outputFormat = outputFormat;
+    this.configurations = configurations;
+    this.extractors = extractors;
+  }
+
+  public String getOutputFormat() {
+    return outputFormat;
+  }
+
+  public void setOutputFormat(String outputFormat) {
+    this.outputFormat = outputFormat;
+  }
+
+  public String getConfigurations() {
+    return configurations;
+  }
+
+  public void setConfigurations(String configurations) {
+    this.configurations = configurations;
+  }
+
+  public String getExtractors() {
+    return extractors;
+  }
+
+  public void setExtractors(String extractors) {
+    this.extractors = extractors;
+  }
+
+  public String getBaseuri() {
+    return baseuri;
+  }
+
+  public void setBaseuri(String baseuri) {
+    this.baseuri = baseuri;
+  }
+
+}
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/Any23DataFormatReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/Any23DataFormatReifier.java
index ae0ea05..72adb99 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/Any23DataFormatReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/Any23DataFormatReifier.java
@@ -17,38 +17,24 @@
 package org.apache.camel.reifier.dataformat;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.dataformat.Any23DataFormat;
 import org.apache.camel.spi.DataFormat;
 
 public class Any23DataFormatReifier extends DataFormatReifier<Any23DataFormat> {
 
-    public Any23DataFormatReifier(DataFormatDefinition definition) {
-        super((Any23DataFormat) definition);
-    }
+  public Any23DataFormatReifier(DataFormatDefinition definition) {
+    super((Any23DataFormat) definition);
+  }
 
-   /* @Override
-    protected DataFormat doCreateDataFormat(CamelContext camelContext) {
-        if (definition.getDataObjectType() == null && definition.getDataObjectTypeName() != null) {
-            try {
-                definition.setDataObjectType(camelContext.getClassResolver().resolveMandatoryClass(definition.getDataObjectTypeName()));
-            } catch (ClassNotFoundException e) {
-                throw RuntimeCamelException.wrapRuntimeCamelException(e);
-            }
-        }
-
-        return super.doCreateDataFormat(camelContext);
-    }*/
-
-    @Override
-    protected void configureDataFormat(DataFormat dataFormat, CamelContext camelContext) {
-        /*if (definition.getDataObjectType() != null) {
-            setProperty(camelContext, dataFormat, "dataObjectType", definition.getDataObjectType());
-        }
-        if (definition.getOmitXmlDeclaration() != null) {
-            setProperty(camelContext, dataFormat, "omitXmlDeclaration", definition.getOmitXmlDeclaration());
-        }*/
-    }
+  @Override
+  protected void configureDataFormat(DataFormat dataFormat, CamelContext camelContext) {
+//    if (definition.getDataObjectType() != null) {
+//      setProperty(camelContext, dataFormat, "dataObjectType", definition.getDataObjectType());
+//    }
+//    if (definition.getOmitXmlDeclaration() != null) {
+//      setProperty(camelContext, dataFormat, "omitXmlDeclaration", definition.getOmitXmlDeclaration());
+//    }
+  }
 
 }
diff --git a/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml b/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
index e353bea..3764ce2 100644
--- a/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
+++ b/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
@@ -303,6 +303,16 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-any23</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-any23-starter</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-api</artifactId>
         <version>${project.version}</version>
       </dependency>