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);