Author: jstrachan
Date: Mon Jul 14 10:35:40 2008
New Revision: 676659
URL: http://svn.apache.org/viewvc?rev=676659&view=rev
Log:
added support for both fixed width and delimited endpoints for CAMEL-717
Added:
activemq/camel/trunk/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/component/flatpack
- copied unchanged from r676643,
activemq/camel/trunk/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/component/fp-delim
activemq/camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/DelimitedTest.java
- copied, changed from r676643,
activemq/camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthTest.java
activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/DelimitedTest-context.xml
- copied, changed from r676643,
activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthTest-context.xml
Removed:
activemq/camel/trunk/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/component/fp-fixed
Modified:
activemq/camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/DelimitedEndpoint.java
activemq/camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackComponent.java
activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthTest-context.xml
Modified:
activemq/camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/DelimitedEndpoint.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/DelimitedEndpoint.java?rev=676659&r1=676658&r2=676659&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/DelimitedEndpoint.java
(original)
+++
activemq/camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/DelimitedEndpoint.java
Mon Jul 14 10:35:40 2008
@@ -33,7 +33,7 @@
public class DelimitedEndpoint extends FixedLengthEndpoint {
private char delimiter = ',';
private char textQualifier = '"';
- private boolean ignoreFirstRecord = false;
+ private boolean ignoreFirstRecord = true;
public DelimitedEndpoint(String uri, Resource resource) {
super(uri, resource);
Modified:
activemq/camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackComponent.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackComponent.java?rev=676659&r1=676658&r2=676659&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackComponent.java
(original)
+++
activemq/camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackComponent.java
Mon Jul 14 10:35:40 2008
@@ -18,6 +18,7 @@
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
+import org.apache.camel.util.ObjectHelper;
import org.apache.camel.component.ResourceBasedComponent;
import org.springframework.core.io.Resource;
@@ -32,14 +33,32 @@
public class FlatpackComponent extends ResourceBasedComponent {
protected Endpoint<Exchange> createEndpoint(String uri, String remaining,
Map parameters) throws Exception {
- Resource resource = resolveMandatoryResource(remaining);
+ boolean fixed = false;
+ if (remaining.startsWith("fixed:")) {
+ fixed = true;
+ remaining = remaining.substring("fixed:".length());
+ } else if (remaining.startsWith("delim:")) {
+ remaining = remaining.substring("delim:".length());
+ }
+ Resource resource = null;
+ if (fixed) {
+ resource = resolveMandatoryResource(remaining);
+ } else {
+ if (ObjectHelper.isNotNullAndNonEmpty(remaining)) {
+ resource = getResourceLoader().getResource(remaining);
+ }
+ }
if (log.isDebugEnabled()) {
log.debug(this + " using flatpack map resource: " + resource);
}
- FixedLengthEndpoint answer = new FixedLengthEndpoint(uri, resource);
+ FixedLengthEndpoint answer;
+ if (fixed) {
+ answer = new FixedLengthEndpoint(uri, resource);
+ } else {
+ answer = new DelimitedEndpoint(uri, resource);
+ }
answer.setCamelContext(getCamelContext());
setProperties(answer, parameters);
return answer;
}
-
}
\ No newline at end of file
Copied:
activemq/camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/DelimitedTest.java
(from r676643,
activemq/camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthTest.java)
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/DelimitedTest.java?p2=activemq/camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/DelimitedTest.java&p1=activemq/camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthTest.java&r1=676643&r2=676659&rev=676659&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthTest.java
(original)
+++
activemq/camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/DelimitedTest.java
Mon Jul 14 10:35:40 2008
@@ -34,13 +34,13 @@
* @version $Revision: 1.1 $
*/
@ContextConfiguration
-public class FixedLengthTest extends AbstractJUnit38SpringContextTests {
+public class DelimitedTest extends AbstractJUnit38SpringContextTests {
private static final transient Log LOG =
LogFactory.getLog(FixedLengthTest.class);
@EndpointInject(uri = "mock:results")
protected MockEndpoint results;
- protected String[] expectedFirstName = {"JOHN", "JIMMY", "JANE", "FRED"};
+ protected String[] expectedItemDesc = {"SOME VALVE", "AN ENGINE", "A
BELT", "A BOLT"};
public void testCamel() throws Exception {
results.expectedMessageCount(4);
@@ -52,11 +52,11 @@
Message in = exchange.getIn();
Map body = in.getBody(Map.class);
assertNotNull("Should have found body as a Map but was: " +
ObjectHelper.className(in.getBody()), body);
- assertEquals("FIRSTNAME", expectedFirstName[counter],
body.get("FIRSTNAME"));
+ assertEquals("ITEM_DESC", expectedItemDesc[counter],
body.get("ITEM_DESC"));
LOG.info("Result: " + counter + " = " + body);
counter++;
}
}
-}
+}
\ No newline at end of file
Copied:
activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/DelimitedTest-context.xml
(from r676643,
activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthTest-context.xml)
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/DelimitedTest-context.xml?p2=activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/DelimitedTest-context.xml&p1=activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthTest-context.xml&r1=676643&r2=676659&rev=676659&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthTest-context.xml
(original)
+++
activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/DelimitedTest-context.xml
Mon Jul 14 10:35:40 2008
@@ -25,12 +25,12 @@
<!-- START SNIPPET: example -->
<camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
<route>
- <from uri="file://src/test/data/fixed?noop=true"/>
- <to uri="fp-fixed:PEOPLE-FixedLength.pzmap.xml"/>
+ <from uri="file://src/test/data/delim?noop=true"/>
+ <to uri="flatpack:delim:INVENTORY-Delimited.pzmap.xml"/>
</route>
<route>
- <from uri="fp-fixed:PEOPLE-FixedLength.pzmap.xml"/>
+ <from uri="flatpack:delim:INVENTORY-Delimited.pzmap.xml"/>
<convertBodyTo type="java.util.Map"/>
<to uri="mock:results"/>
</route>
Modified:
activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthTest-context.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthTest-context.xml?rev=676659&r1=676658&r2=676659&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthTest-context.xml
(original)
+++
activemq/camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthTest-context.xml
Mon Jul 14 10:35:40 2008
@@ -26,11 +26,11 @@
<camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
<route>
<from uri="file://src/test/data/fixed?noop=true"/>
- <to uri="fp-fixed:PEOPLE-FixedLength.pzmap.xml"/>
+ <to uri="flatpack:fixed:PEOPLE-FixedLength.pzmap.xml"/>
</route>
<route>
- <from uri="fp-fixed:PEOPLE-FixedLength.pzmap.xml"/>
+ <from uri="flatpack:fixed:PEOPLE-FixedLength.pzmap.xml"/>
<convertBodyTo type="java.util.Map"/>
<to uri="mock:results"/>
</route>