You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2009/03/11 16:30:37 UTC

svn commit: r752472 - in /camel/trunk/components: camel-cxf/src/main/java/org/apache/camel/component/cxf/ camel-ftp/src/test/java/org/apache/camel/component/file/remote/ camel-mina/src/main/java/org/apache/camel/component/mina/

Author: davsclaus
Date: Wed Mar 11 15:30:36 2009
New Revision: 752472

URL: http://svn.apache.org/viewvc?rev=752472&view=rev
Log:
Exchange.getException is Exception now instead of Throwable

Added:
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java   (with props)
Modified:
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/AsyncProcessorDecorator.java
    camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaPayloadHolder.java

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/AsyncProcessorDecorator.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/AsyncProcessorDecorator.java?rev=752472&r1=752471&r2=752472&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/AsyncProcessorDecorator.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/AsyncProcessorDecorator.java Wed Mar 11 15:30:36 2009
@@ -47,8 +47,8 @@
     public boolean process(final Exchange exchange, final AsyncCallback callback) {
         try {
             before.process(exchange);
-        } catch (Throwable t) {
-            exchange.setException(t);
+        } catch (Exception e) {
+            exchange.setException(e);
             callback.done(true);
             return true;
         }
@@ -57,8 +57,8 @@
                 try {
                     after.process(exchange);
                     callback.done(doneSynchronously);
-                } catch (Throwable t) {
-                    exchange.setException(t);
+                } catch (Exception e) {
+                    exchange.setException(e);
                 }
             }
         });

Added: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java?rev=752472&view=auto
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java (added)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java Wed Mar 11 15:30:36 2009
@@ -0,0 +1,88 @@
+/**
+ * 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.file.remote;
+
+import java.io.File;
+
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.Producer;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+
+/**
+ * @version $Revision$
+ */
+public class FromFtpDoNotDeleteFileIfProcessFailsTest extends FtpServerTestSupport {
+
+    private String ftpUrl = "ftp://admin@localhost:" + getPort() + "/deletefile?password=admin&binary=false&consumer.deleteFile=true";
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        prepareFtpServer();
+    }
+
+    private void prepareFtpServer() throws Exception {
+        // prepares the FTP Server by creating a file on the server that we want to unit
+        // test that we can pool and store as a local file
+        Endpoint endpoint = context.getEndpoint(ftpUrl);
+        Exchange exchange = endpoint.createExchange();
+        exchange.getIn().setBody("Hello World this file will NOT be deleted");
+        exchange.getIn().setHeader(Exchange.FILE_NAME, "hello.txt");
+        Producer producer = endpoint.createProducer();
+        producer.start();
+        producer.process(exchange);
+        producer.stop();
+
+        // assert file is created
+        File file = new File("./res/home/deletefile/hello.txt");
+        file = file.getAbsoluteFile();
+        assertTrue("The file should exists", file.exists());
+    }
+
+    public void testPollFileAndShouldNotBeDeleted() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:error");
+        mock.expectedMessageCount(1);
+        mock.expectedBodiesReceived("Hello World this file will NOT be deleted");
+
+        mock.assertIsSatisfied();
+
+        // give time to NOT delete file
+        Thread.sleep(200);
+
+        // assert the file is deleted
+        File file = new File("./res/home/deletefile/hello.txt");
+        file = file.getAbsoluteFile();
+        assertTrue("The file should NOT have been deleted", file.exists());
+    }
+
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            public void configure() throws Exception {
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).delay(100));
+
+                from(ftpUrl).process(new Processor() {
+                    public void process(Exchange exchange) throws Exception {
+                        throw new IllegalArgumentException("Forced by unittest");
+                    }
+                });
+            }
+        };
+    }
+}

Propchange: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaPayloadHolder.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaPayloadHolder.java?rev=752472&r1=752471&r2=752472&view=diff
==============================================================================
--- camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaPayloadHolder.java (original)
+++ camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaPayloadHolder.java Wed Mar 11 15:30:36 2009
@@ -55,7 +55,7 @@
     private Map<String, Object> outHeaders = new LinkedHashMap<String, Object>();
     private Map<String, Object> properties = new LinkedHashMap<String, Object>();
     private Map<String, Object> faultHeaders = new LinkedHashMap<String, Object>();
-    private Throwable exception;
+    private Exception exception;
 
     /**
      * Creates a payload object with the information from the given exchange.