You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2011/03/02 04:49:51 UTC
svn commit: r1076099 - in /camel/trunk/components/camel-jt400/src:
main/java/org/apache/camel/component/jt400/
test/java/org/apache/camel/component/jt400/
Author: ningjiang
Date: Wed Mar 2 03:49:50 2011
New Revision: 1076099
URL: http://svn.apache.org/viewvc?rev=1076099&view=rev
Log:
CAMEL-3741 Added new PgmCall option to the Jt400 component
Added:
camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmEndpoint.java (with props)
camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmProducer.java (with props)
camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmEndpointTest.java (with props)
camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmRouteTest.java (with props)
Modified:
camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Component.java
camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400ComponentTest.java
Modified: camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Component.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Component.java?rev=1076099&r1=1076098&r2=1076099&view=diff
==============================================================================
--- camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Component.java (original)
+++ camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Component.java Wed Mar 2 03:49:50 2011
@@ -25,11 +25,12 @@ import org.apache.camel.impl.DefaultComp
/**
* {@link Component} to provide integration with AS/400 objects.
*
- * Current implementation only supports working with data queues (*DTAQ)
+ * Current implementation supports working with data queues (*DTAQ) and Program calls (*PGM)
*/
public class Jt400Component extends DefaultComponent {
private static final String DATA_QUEUE = "DTAQ";
+ private static final String PGM = "PGM";
@Override
protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> properties) throws Exception {
@@ -38,6 +39,11 @@ public class Jt400Component extends Defa
if (DATA_QUEUE.equals(type)) {
return new Jt400DataQueueEndpoint(uri, this);
}
+
+ if (PGM.equals(type)) {
+ return new Jt400PgmEndpoint(uri, this);
+ }
+
throw new CamelException(String.format("AS/400 Object type %s is not supported", type));
}
}
Added: camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmEndpoint.java?rev=1076099&view=auto
==============================================================================
--- camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmEndpoint.java (added)
+++ camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmEndpoint.java Wed Mar 2 03:49:50 2011
@@ -0,0 +1,123 @@
+/**
+ * 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.component.jt400;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Arrays;
+import java.util.Map;
+
+import javax.naming.OperationNotSupportedException;
+
+import com.ibm.as400.access.AS400;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelException;
+import org.apache.camel.Consumer;
+import org.apache.camel.Processor;
+import org.apache.camel.Producer;
+import org.apache.camel.impl.DefaultEndpoint;
+
+public class Jt400PgmEndpoint extends DefaultEndpoint {
+
+ private String programToExecute;
+
+ private Integer[] outputFieldsIdxArray;
+ private Integer[] outputFieldsLengthArray;
+
+ private AS400 iSeries;
+
+ /**
+ * Creates a new AS/400 PGM CALL endpoint
+ */
+ protected Jt400PgmEndpoint(String endpointUri, Jt400Component component) throws CamelException {
+ super(endpointUri, component);
+ try {
+ URI uri = new URI(endpointUri);
+ String[] credentials = uri.getUserInfo().split(":");
+ iSeries = new AS400(uri.getHost(), credentials[0], credentials[1]);
+ programToExecute = uri.getPath();
+ } catch (URISyntaxException e) {
+ throw new CamelException("Unable to parse URI for " + endpointUri, e);
+ }
+ }
+
+ public Jt400PgmEndpoint(String endpointUri, String programToExecute, Map<String, Object> parameters,
+ CamelContext camelContext) {
+ super(endpointUri, camelContext);
+ this.programToExecute = programToExecute;
+ }
+
+ public Producer createProducer() throws Exception {
+ return new Jt400PgmProducer(this);
+ }
+
+ public Consumer createConsumer(Processor processor) throws Exception {
+ throw new OperationNotSupportedException();
+ }
+
+ public boolean isSingleton() {
+ return false;
+ }
+
+ @Override
+ public void stop() throws Exception {
+ super.stop();
+ if (iSeries != null) {
+ iSeries.disconnectAllServices();
+ }
+ }
+
+ public boolean isFieldIdxForOuput(int idx) {
+ return Arrays.binarySearch(outputFieldsIdxArray, idx) >= 0;
+ }
+
+ public int getOutputFieldLength(int idx) {
+ return outputFieldsLengthArray[idx];
+ }
+
+ // getters and setters
+ public String getProgramToExecute() {
+ return programToExecute;
+ }
+
+ public AS400 getiSeries() {
+ return iSeries;
+ }
+
+ public void setOutputFieldsIdx(String outputFieldsIdx) {
+ if (outputFieldsIdx != null) {
+ String[] outputArray = outputFieldsIdx.split(",");
+ outputFieldsIdxArray = new Integer[outputArray.length];
+ for (int i = 0; i < outputArray.length; i++) {
+ String str = outputArray[i];
+ outputFieldsIdxArray[i] = Integer.parseInt(str);
+ }
+ }
+ }
+
+ public void setFieldsLength(String fieldsLength) {
+ if (fieldsLength != null) {
+ String[] outputArray = fieldsLength.split(",");
+ outputFieldsLengthArray = new Integer[outputArray.length];
+ for (int i = 0; i < outputArray.length; i++) {
+ String str = outputArray[i];
+ outputFieldsLengthArray[i] = Integer.parseInt(str);
+ }
+ }
+ }
+
+}
Propchange: camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmEndpoint.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmEndpoint.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmProducer.java?rev=1076099&view=auto
==============================================================================
--- camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmProducer.java (added)
+++ camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmProducer.java Wed Mar 2 03:49:50 2011
@@ -0,0 +1,160 @@
+/**
+ * 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.component.jt400;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.as400.access.AS400;
+import com.ibm.as400.access.AS400Message;
+import com.ibm.as400.access.AS400Text;
+import com.ibm.as400.access.ProgramCall;
+import com.ibm.as400.access.ProgramParameter;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.InvalidPayloadException;
+import org.apache.camel.impl.DefaultProducer;
+import org.apache.camel.util.ExchangeHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Jt400PgmProducer extends DefaultProducer {
+
+ private static final Logger LOG = LoggerFactory.getLogger(Jt400PgmProducer.class);
+
+ public Jt400PgmProducer(Jt400PgmEndpoint endpoint) {
+ super(endpoint);
+ }
+
+ private Jt400PgmEndpoint getISeriesEndpoint() {
+ return (Jt400PgmEndpoint)super.getEndpoint();
+ }
+
+ public void process(Exchange exchange) throws Exception {
+
+ AS400 iSeries = getISeriesEndpoint().getiSeries();
+
+ String commandStr = getISeriesEndpoint().getProgramToExecute();
+ ProgramParameter[] parameterList = getParameterList(exchange);
+
+ ProgramCall pgmCall = new ProgramCall(iSeries);
+ pgmCall.setProgram(commandStr);
+ pgmCall.setParameterList(parameterList);
+
+ if (LOG.isDebugEnabled()) {
+ LOG.trace("Starting to call PGM '" + commandStr + "' in host '" + iSeries.getSystemName()
+ + "' authenticatin with the user '" + iSeries.getUserId() + "'");
+ }
+
+ boolean result = pgmCall.run();
+
+ if (LOG.isTraceEnabled()) {
+ LOG.trace("Executed PGM '" + commandStr + "' in host '" + iSeries.getSystemName() + "'. Success?"
+ + result);
+ }
+
+ if (result) {
+ handlePGMOutput(exchange, pgmCall, parameterList);
+ } else {
+ // TODO Do we need to throw an exception
+ handleMessages(pgmCall);
+ }
+
+ }
+
+ private ProgramParameter[] getParameterList(Exchange exchange) throws InvalidPayloadException {
+
+ Object body = ExchangeHelper.getMandatoryInBody(exchange);
+
+ String[] params = (String[])body;
+
+ ProgramParameter[] parameterList = new ProgramParameter[params.length];
+ for (int i = 0; i < params.length; i++) {
+ Object param = params[i];
+
+ boolean input = param != null;
+ boolean output = getISeriesEndpoint().isFieldIdxForOuput(i);
+
+ byte[] inputData = null;
+ int outputLength = -1;
+ if (input) {
+ String value = (String)param;
+ inputData = new AS400Text(value.length()).toBytes(value);
+ }
+ if (output) {
+ outputLength = getISeriesEndpoint().getOutputFieldLength(i);
+ }
+
+ if (input && output) {
+ parameterList[i] = new ProgramParameter(inputData, outputLength);
+ }
+ if (input) {
+ parameterList[i] = new ProgramParameter(inputData);
+ }
+ if (output) {
+ parameterList[i] = new ProgramParameter(outputLength);
+ }
+ }
+
+ return parameterList;
+ }
+
+ private void handlePGMOutput(Exchange exchange, ProgramCall pgmCall, ProgramParameter[] inputs)
+ throws InvalidPayloadException {
+
+ Object bodyIN = ExchangeHelper.getMandatoryInBody(exchange);
+ String[] params = (String[])bodyIN;
+
+ List<String> results = new ArrayList<String>();
+
+ int i = 1;
+ for (ProgramParameter pgmParam : pgmCall.getParameterList()) {
+ byte[] output = pgmParam.getOutputData();
+
+ String value = params[i - 1];
+
+ if (output != null) {
+ int length = pgmParam.getOutputDataLength();
+ length = pgmParam.getOutputDataLength();
+
+ AS400Text text = new AS400Text(length);
+ value = (String)text.toObject(output);
+ }
+
+ results.add(value);
+ i++;
+ }
+
+ String[] bodyOUT = new String[results.size()];
+ bodyOUT = results.toArray(bodyOUT);
+
+ exchange.getOut().setBody(bodyOUT);
+ }
+
+ private void handleMessages(ProgramCall pgmCall) throws Exception {
+ // Show messages.
+ if (LOG.isDebugEnabled()) {
+ AS400Message[] messageList = pgmCall.getMessageList();
+ for (int i = 0; i < messageList.length; ++i) {
+ // Load additional message information.
+ messageList[i].load();
+ // Show each message.
+ LOG.debug("The message list [" + i + "]" + messageList[i].getText() + ", help info: " + messageList[i].getHelp());
+ }
+ }
+ }
+}
Propchange: camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmProducer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400PgmProducer.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400ComponentTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400ComponentTest.java?rev=1076099&r1=1076098&r2=1076099&view=diff
==============================================================================
--- camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400ComponentTest.java (original)
+++ camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400ComponentTest.java Wed Mar 2 03:49:50 2011
@@ -38,10 +38,10 @@ public class Jt400ComponentTest extends
}
/**
- * Test creation of a {@link Jt400DataQueueEndpoint}
+ * Test creation of a {@link Jt400DataQueueEndpoint} for Datq
*/
@Test
- public void testCreateEndpoint() throws Exception {
+ public void testCreateDatqEndpoint() throws Exception {
Endpoint endpoint = component
.createEndpoint("jt400://user:password@host/qsys.lib/library.lib/queue.dtaq",
"/user:password@host/qsys.lib/library.lib/queue.dtaq", new HashMap());
@@ -50,13 +50,25 @@ public class Jt400ComponentTest extends
}
/**
+ * Test creation of a {@link Jt400DataQueueEndpoint} for pgm calls
+ */
+ @Test
+ public void testCreatePgmEndpoint() throws Exception {
+ Endpoint endpoint = component
+ .createEndpoint("jt400://user:password@host/qsys.lib/library.lib/queue.pgm",
+ "/user:password@host/qsys.lib/library.lib/queue.pgm", new HashMap());
+ assertNotNull(endpoint);
+ assertTrue(endpoint instanceof Jt400PgmEndpoint);
+ }
+
+ /**
* Test exception when trying to access any other object type on AS/400
*/
@Test
public void testCreateEndpointForOtherObjectType() throws Exception {
try {
- component.createEndpoint("jt400://user:password@host/qsys.lib/library.lib/program.pgm",
- "/user:password@host/qsys.lib/library.lib/program.pgm", new HashMap());
+ component.createEndpoint("jt400://user:password@host/qsys.lib/library.lib/program.xxx",
+ "/user:password@host/qsys.lib/library.lib/program.xxx", new HashMap());
fail("Exception should been thrown when trying to create an endpoint for an unsupported object type");
} catch (CamelException e) {
// this is just what we expected
Added: camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmEndpointTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmEndpointTest.java?rev=1076099&view=auto
==============================================================================
--- camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmEndpointTest.java (added)
+++ camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmEndpointTest.java Wed Mar 2 03:49:50 2011
@@ -0,0 +1,58 @@
+/**
+ * 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.component.jt400;
+
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test case for {@link Jt400DataQueueEndpoint}
+ */
+public class Jt400PgmEndpointTest extends CamelTestSupport {
+
+ private static final String USER = "USER";
+ private static final String HOST = "host";
+ private static final String PASSWORD = "password";
+ private static final String PGM = "/qsys.lib/library.lib/prog.pgm";
+
+ private Jt400PgmEndpoint endpoint;
+
+ @Override
+ @Before
+ public void setUp() throws Exception {
+ super.setUp();
+ endpoint = (Jt400PgmEndpoint)resolveMandatoryEndpoint("jt400://" + USER + ":" + PASSWORD
+ + "@" + HOST + PGM + "?outputFieldsIdx=1,2&fieldsLength=10,512,255");
+ }
+
+ /**
+ * Check that the AS/400 connection is correctly configured for the URL
+ */
+ @Test
+ public void testSystemConfiguration() {
+ assertEquals(USER, endpoint.getiSeries().getUserId());
+ assertEquals(HOST, endpoint.getiSeries().getSystemName());
+ assertEquals(PGM, endpoint.getProgramToExecute());
+ assertEquals(10, endpoint.getOutputFieldLength(0));
+ assertEquals(512, endpoint.getOutputFieldLength(1));
+ assertEquals(255, endpoint.getOutputFieldLength(2));
+ assertEquals(false, endpoint.isFieldIdxForOuput(0));
+ assertEquals(true, endpoint.isFieldIdxForOuput(1));
+ assertEquals(true, endpoint.isFieldIdxForOuput(2));
+ }
+}
Propchange: camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmEndpointTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmEndpointTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmRouteTest.java?rev=1076099&view=auto
==============================================================================
--- camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmRouteTest.java (added)
+++ camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmRouteTest.java Wed Mar 2 03:49:50 2011
@@ -0,0 +1,91 @@
+/**
+ * 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.component.jt400;
+
+import java.util.Arrays;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.ExpressionClause;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Test;
+
+/**
+ * Test case for routes that contain <code>jt400:</code> endpoints This test
+ * case does nothing by default -- you can use it to test integration when there
+ * is a real AS/400 system available by filling in correct values for
+ * {@link #USER}, {@link #PASSWORD}, {@link #SYSTEM}, {@link #LIBRARY} and
+ * {@link #QUEUE}
+ */
+public class Jt400PgmRouteTest extends CamelTestSupport {
+
+ // fill in correct values for all constants to test with a real AS/400
+ // system
+ private static final String USER = "grupo";
+ private static final String PASSWORD = "atwork";
+ private static final String SYSTEM = null;
+ private static final String LIBRARY = "library";
+ private static final String PGM = "program";
+ private static final String FIELDS_LENGTH = "1,512,2";
+ private static final String OUTPUT_FIELDS = "1,2";
+
+ @Test
+ public void testBasicTest() throws Exception {
+ if (SYSTEM != null) {
+ final MockEndpoint endpoint = getMockEndpoint("mock:a");
+ endpoint.setExpectedMessageCount(1);
+ Runnable runnable = new Runnable() {
+
+ public void run() {
+ Exchange exchange = endpoint.getReceivedExchanges().get(0);
+ char[] secondParameter = new char[512];
+ Arrays.fill(secondParameter, ' ');
+ String[] expectedBody = new String[] {"1234", new String(secondParameter), "01"};
+ Object actualBody = exchange.getIn().getBody();
+
+ assertNotNull(actualBody);
+ assertTrue(actualBody.getClass().isArray());
+
+ String[] actualBodyTyped = (String[])actualBody;
+ for (int i = 0; i < expectedBody.length; i++) {
+ assertEquals(expectedBody[i], actualBodyTyped[i]);
+ }
+ }
+ };
+ endpoint.expects(runnable);
+ sendBody("direct:a", new String[] {"1234", "", ""});
+ endpoint.assertIsSatisfied();
+ }
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+
+ @Override
+ public void configure() throws Exception {
+ if (SYSTEM != null) {
+ String uri = String
+ .format("jt400://%s:%s@%s/QSYS.LIB/%s.LIB/%s.pgm?outputFieldsIdx=%s&fieldsLength=%s",
+ USER, PASSWORD, SYSTEM, LIBRARY, PGM, OUTPUT_FIELDS, FIELDS_LENGTH);
+ from("direct:a").to(uri).to("mock:a");
+ }
+ }
+ };
+ }
+}
Propchange: camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmRouteTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmRouteTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date