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 <betoflow...@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);