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:57:57 UTC

[camel] 02/20: add missing files to any23 dataformat basic structure

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 623949c3d155c45dc1e3d8ef59541732fb25aa2e
Author: Roberto Flores <be...@gmail.com>
AuthorDate: Sun Jun 9 12:22:46 2019 -0500

    add missing files to any23 dataformat basic structure
---
 .../src/main/docs/any23-dataformat.adoc            |  5 +-
 .../camel/dataformat/any23/any23DataFormat.java    |  3 +-
 .../tagsoup/TidyMarkupDataFormatAsStringTest.java  |  4 +-
 .../org/apache/camel/builder/DataFormatClause.java | 12 +++++
 .../org/apache/camel/model/MarshalDefinition.java  |  2 +
 .../apache/camel/model/UnmarshalDefinition.java    |  2 +
 .../model/dataformat/DataFormatsDefinition.java    |  1 +
 .../reifier/dataformat/Any23DataFormatReifier.java | 54 ++++++++++++++++++++++
 .../reifier/dataformat/DataFormatReifier.java      |  2 +
 9 files changed, 81 insertions(+), 4 deletions(-)

diff --git a/components/camel-any23/src/main/docs/any23-dataformat.adoc b/components/camel-any23/src/main/docs/any23-dataformat.adoc
index 74bcfc3..bb50788 100644
--- a/components/camel-any23/src/main/docs/any23-dataformat.adoc
+++ b/components/camel-any23/src/main/docs/any23-dataformat.adoc
@@ -1,5 +1,8 @@
+[[any23-dataformat]]
 == Any23 DataFormat
 == TidyMarkup DataFormat
+*Available as of Camel version 1.0*
+
 
 *Available as of Camel version 1.0*
 
@@ -108,4 +111,4 @@ the download page for the latest versions).
   <artifactId>camel-tagsoup</artifactId>
   <version>x.x.x</version>
 </dependency>
-----------------------------------------
+----------------------------------------
\ No newline at end of file
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 d4b1622..9dd325d 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
@@ -61,8 +61,7 @@ public class any23DataFormat extends ServiceSupport implements DataFormat, DataF
    * Marshal data. Generate RDF.
    */
   public void marshal(Exchange exchange, Object object, OutputStream outputStream) throws Exception {
-    throw new CamelException("Marshalling from Well Formed HTML to ugly HTML is not supported."
-            + " Only unmarshal is supported");
+    throw new CamelException("Sin implementaci[on aun");
   }
 
   /**
diff --git a/components/camel-any23/src/test/java/org/apache/camel/dataformat/tagsoup/TidyMarkupDataFormatAsStringTest.java b/components/camel-any23/src/test/java/org/apache/camel/dataformat/tagsoup/TidyMarkupDataFormatAsStringTest.java
index 204fd33..83e672c 100644
--- a/components/camel-any23/src/test/java/org/apache/camel/dataformat/tagsoup/TidyMarkupDataFormatAsStringTest.java
+++ b/components/camel-any23/src/test/java/org/apache/camel/dataformat/tagsoup/TidyMarkupDataFormatAsStringTest.java
@@ -64,7 +64,9 @@ public class TidyMarkupDataFormatAsStringTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("direct:start").unmarshal().tidyMarkup().to("mock:result");
+              from("direct:start").marshal().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 fa9cda9..54a7be6 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
@@ -23,6 +23,7 @@ import org.w3c.dom.Node;
 
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.model.dataformat.Any23DataFormat;
 import org.apache.camel.model.dataformat.ASN1DataFormat;
 import org.apache.camel.model.dataformat.AvroDataFormat;
 import org.apache.camel.model.dataformat.Base64DataFormat;
@@ -82,6 +83,17 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> {
         this.operation = operation;
     }
 
+
+
+
+     /**
+     * Uses the Any23 data format
+     */
+    public T any23() {
+        return dataFormat(new Any23DataFormat());
+    }
+
+
     /**
      * Uses the Avro data format
      */
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java
index 1c361c6..354d676 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java
@@ -22,6 +22,7 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElements;
 import javax.xml.bind.annotation.XmlRootElement;
 
+import org.apache.camel.model.dataformat.Any23DataFormat;
 import org.apache.camel.model.dataformat.ASN1DataFormat;
 import org.apache.camel.model.dataformat.AvroDataFormat;
 import org.apache.camel.model.dataformat.BarcodeDataFormat;
@@ -72,6 +73,7 @@ import org.apache.camel.spi.Metadata;
 public class MarshalDefinition extends NoOutputDefinition<MarshalDefinition> {
 
     @XmlElements({
+        @XmlElement(required = false, name = "any23", type = Any23DataFormat.class),
         @XmlElement(required = false, name = "asn1", type = ASN1DataFormat.class),
         @XmlElement(required = false, name = "avro", type = AvroDataFormat.class),
         @XmlElement(required = false, name = "barcode", type = BarcodeDataFormat.class),
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
index 4d20394..0e50e0d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
@@ -22,6 +22,7 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElements;
 import javax.xml.bind.annotation.XmlRootElement;
 
+import org.apache.camel.model.dataformat.Any23DataFormat;
 import org.apache.camel.model.dataformat.ASN1DataFormat;
 import org.apache.camel.model.dataformat.AvroDataFormat;
 import org.apache.camel.model.dataformat.BarcodeDataFormat;
@@ -73,6 +74,7 @@ import org.apache.camel.spi.Metadata;
 public class UnmarshalDefinition extends NoOutputDefinition<UnmarshalDefinition> {
 
     @XmlElements({
+        @XmlElement(required = false, name = "any23", type = Any23DataFormat.class),
         @XmlElement(required = false, name = "asn1", type = ASN1DataFormat.class),
         @XmlElement(required = false, name = "avro", type = AvroDataFormat.class),
         @XmlElement(required = false, name = "barcode", type = BarcodeDataFormat.class),
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
index 13a57c9..99b1a0a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
@@ -39,6 +39,7 @@ public class DataFormatsDefinition {
 
     // cannot use @XmlElementRef as it doesn't allow optional properties
     @XmlElements({
+        @XmlElement(required = false, name = "any23", type = Any23DataFormat.class),
         @XmlElement(required = false, name = "asn1", type = ASN1DataFormat.class),
         @XmlElement(required = false, name = "avro", type = AvroDataFormat.class),
         @XmlElement(required = false, name = "barcode", type = BarcodeDataFormat.class),
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
new file mode 100644
index 0000000..ae0ea05
--- /dev/null
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/Any23DataFormatReifier.java
@@ -0,0 +1,54 @@
+/*
+ * 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.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);
+    }
+
+   /* @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());
+        }*/
+    }
+
+}
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
index 61a9337..8fdabd1 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
@@ -24,6 +24,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.Model;
 import org.apache.camel.model.ProcessorDefinitionHelper;
+import org.apache.camel.model.dataformat.Any23DataFormat;
 import org.apache.camel.model.dataformat.ASN1DataFormat;
 import org.apache.camel.model.dataformat.AvroDataFormat;
 import org.apache.camel.model.dataformat.BarcodeDataFormat;
@@ -76,6 +77,7 @@ public abstract class DataFormatReifier<T extends DataFormatDefinition> {
     private static final Map<Class<? extends DataFormatDefinition>, Function<DataFormatDefinition, DataFormatReifier<? extends DataFormatDefinition>>> DATAFORMATS;
     static {
         Map<Class<? extends DataFormatDefinition>, Function<DataFormatDefinition, DataFormatReifier<? extends DataFormatDefinition>>> map = new HashMap<>();
+        map.put(Any23DataFormat.class,Any23DataFormatReifier::new);
         map.put(ASN1DataFormat.class, ASN1DataFormatReifier::new);
         map.put(AvroDataFormat.class, AvroDataFormatReifier::new);
         map.put(BarcodeDataFormat.class, BarcodeDataFormatReifier::new);