You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by jb...@apache.org on 2010/06/17 17:45:32 UTC
svn commit: r955645 - in
/servicemix/components/engines/servicemix-pdfcomposer/trunk/src:
main/java/org/apache/servicemix/pdfcomposer/
main/java/org/apache/servicemix/pdfcomposer/marshaler/
test/java/org/apache/servicemix/pdfcomposer/marshaler/
Author: jbonofre
Date: Thu Jun 17 15:45:32 2010
New Revision: 955645
URL: http://svn.apache.org/viewvc?rev=955645&view=rev
Log:
Add XPath marshaler and rename the default one as JAXB marshaler.
Added:
servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/JaxbPdfComposerMarshaler.java
- copied, changed from r955593, servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/DefaultPdfComposerMarshaler.java
servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/XpathPdfComposerMarshaler.java (with props)
Removed:
servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/DefaultPdfComposerMarshaler.java
Modified:
servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/PdfComposerEndpoint.java
servicemix/components/engines/servicemix-pdfcomposer/trunk/src/test/java/org/apache/servicemix/pdfcomposer/marshaler/DefaultPdfComposerMarshalerTest.java
Modified: servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/PdfComposerEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/PdfComposerEndpoint.java?rev=955645&r1=955644&r2=955645&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/PdfComposerEndpoint.java (original)
+++ servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/PdfComposerEndpoint.java Thu Jun 17 15:45:32 2010
@@ -29,7 +29,7 @@ import javax.xml.namespace.QName;
import javax.xml.transform.stream.StreamSource;
import org.apache.servicemix.common.endpoints.ProviderEndpoint;
-import org.apache.servicemix.pdfcomposer.marshaler.DefaultPdfComposerMarshaler;
+import org.apache.servicemix.pdfcomposer.marshaler.JaxbPdfComposerMarshaler;
import org.apache.servicemix.pdfcomposer.marshaler.PdfComposerDataField;
import org.apache.servicemix.pdfcomposer.marshaler.PdfComposerMarshalerSupport;
import org.apache.servicemix.pdfcomposer.marshaler.PdfComposerRequest;
@@ -56,7 +56,7 @@ public class PdfComposerEndpoint extends
private String template; // the template can be static (define in the endpoint descriptor) or provided in the "in" message
private String templatesBasedir = "."; // the location where to looking for template files
private Resource wsdl; // the abstract WSDL describing the endpoint behavior
- private PdfComposerMarshalerSupport marshaler = new DefaultPdfComposerMarshaler();
+ private PdfComposerMarshalerSupport marshaler = new JaxbPdfComposerMarshaler();
public String getTemplate() {
return this.template;
Copied: servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/JaxbPdfComposerMarshaler.java (from r955593, servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/DefaultPdfComposerMarshaler.java)
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/JaxbPdfComposerMarshaler.java?p2=servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/JaxbPdfComposerMarshaler.java&p1=servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/DefaultPdfComposerMarshaler.java&r1=955593&r2=955645&rev=955645&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/DefaultPdfComposerMarshaler.java (original)
+++ servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/JaxbPdfComposerMarshaler.java Thu Jun 17 15:45:32 2010
@@ -25,14 +25,14 @@ import org.apache.commons.logging.LogFac
/**
* <p>
- * Default PDF Composer marshaler that uses JAXB to marshal and unmarshal PdfComposerRequest/Response.
+ * JAXB PDF Composer marshaler that uses JAXB to marshal and unmarshal PdfComposerRequest/Response.
* </p>
*
* @author jbonofre
*/
-public class DefaultPdfComposerMarshaler implements PdfComposerMarshalerSupport {
+public class JaxbPdfComposerMarshaler implements PdfComposerMarshalerSupport {
- private final static transient Log LOG = LogFactory.getLog(DefaultPdfComposerMarshaler.class);
+ private final static transient Log LOG = LogFactory.getLog(JaxbPdfComposerMarshaler.class);
/*
* (non-Javadoc)
Added: servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/XpathPdfComposerMarshaler.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/XpathPdfComposerMarshaler.java?rev=955645&view=auto
==============================================================================
--- servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/XpathPdfComposerMarshaler.java (added)
+++ servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/XpathPdfComposerMarshaler.java Thu Jun 17 15:45:32 2010
@@ -0,0 +1,63 @@
+/*
+ * 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.servicemix.pdfcomposer.marshaler;
+
+import javax.jbi.messaging.NormalizedMessage;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.servicemix.jbi.jaxp.SourceTransformer;
+import org.jdom.xpath.XPath;
+import org.w3c.dom.Node;
+
+/**
+ * <p>
+ * XPath PDF composer marshaler.
+ * </p>
+ *
+ * @author jbonofre
+ */
+public class XpathPdfComposerMarshaler implements PdfComposerMarshalerSupport {
+
+ private final static transient Log LOG = LogFactory.getLog(XpathPdfComposerMarshaler.class);
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.servicemix.pdfcomposer.marshaler.PdfComposerMarshalerSupport#unmarshal(javax.jbi.messaging.NormalizedMessage)
+ */
+ public PdfComposerRequest unmarshal(NormalizedMessage in) throws Exception {
+ // TODO check performance issue by using stream
+
+ LOG.debug("Create the PDF composer request.");
+ PdfComposerRequest request = new PdfComposerRequest();
+
+ LOG.debug("Transform the in NoramlizedMessage to XML node.");
+ SourceTransformer transformer = new SourceTransformer();
+ Node root = transformer.toDOMNode(in);
+
+ LOG.debug("Extract template.");
+ XPath templateXPath = XPath.newInstance("//template");
+ request.setTemplate(templateXPath.valueOf(root));
+
+ //LOG.debug("Extract rows.");
+ //XPath rowsXPath = XPath.newInstance("*/row");
+ //List rows = rowsXPath.selectNodes(root);
+
+ return request;
+ }
+
+}
Propchange: servicemix/components/engines/servicemix-pdfcomposer/trunk/src/main/java/org/apache/servicemix/pdfcomposer/marshaler/XpathPdfComposerMarshaler.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: servicemix/components/engines/servicemix-pdfcomposer/trunk/src/test/java/org/apache/servicemix/pdfcomposer/marshaler/DefaultPdfComposerMarshalerTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-pdfcomposer/trunk/src/test/java/org/apache/servicemix/pdfcomposer/marshaler/DefaultPdfComposerMarshalerTest.java?rev=955645&r1=955644&r2=955645&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-pdfcomposer/trunk/src/test/java/org/apache/servicemix/pdfcomposer/marshaler/DefaultPdfComposerMarshalerTest.java (original)
+++ servicemix/components/engines/servicemix-pdfcomposer/trunk/src/test/java/org/apache/servicemix/pdfcomposer/marshaler/DefaultPdfComposerMarshalerTest.java Thu Jun 17 15:45:32 2010
@@ -46,7 +46,7 @@ public class DefaultPdfComposerMarshaler
* @see junit.framework.TestCase#setUp()
*/
public void setUp() {
- this.marshaler = new DefaultPdfComposerMarshaler();
+ this.marshaler = new JaxbPdfComposerMarshaler();
this.factory = new MessageExchangeFactoryImpl(new IdGenerator(), new AtomicBoolean(false));
}