[jboss-svn-commits] JBL Code SVN: r34803 - in labs/jbossrules/trunk: drools-pipeline and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Aug 19 17:34:35 EDT 2010


Author: lucazamador
Date: 2010-08-19 17:34:35 -0400 (Thu, 19 Aug 2010)
New Revision: 34803

Added:
   labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/ftp/
   labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/ftp/FTPUploadWorkItemHandler.java
Modified:
   labs/jbossrules/trunk/drools-pipeline/pom.xml
   labs/jbossrules/trunk/drools-process/drools-workitems/pom.xml
   labs/jbossrules/trunk/pom.xml
Log:
JBRULES-2670 commons-net library is not availabe in mvn repo
	- commons-net library version was pushed back to 2.0

Modified: labs/jbossrules/trunk/drools-pipeline/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/pom.xml	2010-08-19 19:36:48 UTC (rev 34802)
+++ labs/jbossrules/trunk/drools-pipeline/pom.xml	2010-08-19 21:34:35 UTC (rev 34803)
@@ -71,9 +71,19 @@
 		<artifactId>xalan</artifactId>
 	</dependency>
 	
+	<dependency>
+		<groupId>commons-net</groupId>
+		<artifactId>commons-net</artifactId>
+	</dependency>
       <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>activemq-core</artifactId>
+         <exclusions>
+         	<exclusion>
+         		<groupId>commons-net</groupId>
+				<artifactId>commons-net</artifactId>
+         	</exclusion>
+         </exclusions>
       </dependency>
       <dependency>
          <groupId>simple-jndi</groupId>

Modified: labs/jbossrules/trunk/drools-process/drools-workitems/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-workitems/pom.xml	2010-08-19 19:36:48 UTC (rev 34802)
+++ labs/jbossrules/trunk/drools-process/drools-workitems/pom.xml	2010-08-19 21:34:35 UTC (rev 34803)
@@ -73,7 +73,18 @@
          <groupId>rome</groupId>
          <artifactId>rome</artifactId>
       </dependency>
+      <!-- FTP Client LIB -->
       <dependency>
+         <groupId>commons-net</groupId>
+         <artifactId>commons-net</artifactId>
+         <version>2.0</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.ftpserver</groupId>
+         <artifactId>ftpserver-core</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
       	<groupId>jdom</groupId>
       	<artifactId>jdom</artifactId>
       	<version>1.0</version>

Added: labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/ftp/FTPUploadWorkItemHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/ftp/FTPUploadWorkItemHandler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/ftp/FTPUploadWorkItemHandler.java	2010-08-19 21:34:35 UTC (rev 34803)
@@ -0,0 +1,122 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed 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.drools.process.workitem.ftp;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.SocketException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.apache.commons.net.ftp.FTP;
+import org.apache.commons.net.ftp.FTPClient;
+import org.apache.commons.net.ftp.FTPReply;
+import org.drools.process.instance.WorkItemHandler;
+import org.drools.process.workitem.email.Connection;
+import org.drools.runtime.process.WorkItem;
+import org.drools.runtime.process.WorkItemManager;
+
+
+
+/**
+ *
+ * @author salaboy
+ */
+public class FTPUploadWorkItemHandler implements WorkItemHandler {
+    private String user;
+    private String password;
+    private String server;
+    private String filePath;
+    private int port;
+    private FTPClient client; 
+   
+    private Connection connection;
+    private boolean result = false;
+
+	public void setConnection(String host, String port, String userName, String password) {
+		connection = new Connection();
+		connection.setHost(host);
+		connection.setPort(port);
+		connection.setUserName(userName);
+		connection.setPassword(password);
+	}
+    
+
+
+
+    public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
+
+        
+
+        this.user = (String) workItem.getParameter("User");
+        this.password = (String) workItem.getParameter("Password");
+        this.filePath = (String) workItem.getParameter("FilePath");
+        
+        client = new FTPClient();
+        try {
+            if(connection != null){
+                client.connect(connection.getHost(), Integer.parseInt(connection.getPort()));
+                int reply = client.getReplyCode();
+
+                if (FTPReply.isPositiveCompletion(reply))
+                {
+            
+                    if(client.login(user, password)){
+
+                        InputStream input;
+                        input = new FileInputStream(filePath);
+                        client.setFileType(FTP.BINARY_FILE_TYPE);
+                        this.setResult(client.storeFile(filePath, input));
+                         client.logout();
+                    }
+                }
+
+            }
+        } catch (SocketException ex) {
+            Logger.getLogger(FTPUploadWorkItemHandler.class.getName()).log(Level.SEVERE, null, ex);
+        } catch (IOException ex) {
+            Logger.getLogger(FTPUploadWorkItemHandler.class.getName()).log(Level.SEVERE, null, ex);
+        }
+       
+       
+       
+
+        manager.completeWorkItem(workItem.getId(), null);
+
+         
+    }
+
+    public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    /**
+     * @return the result
+     */
+    public boolean isResult() {
+        return result;
+    }
+
+    /**
+     * @param result the result to set
+     */
+    public void setResult(boolean result) {
+        this.result = result;
+    }
+
+}


Property changes on: labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/ftp/FTPUploadWorkItemHandler.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/pom.xml
===================================================================
--- labs/jbossrules/trunk/pom.xml	2010-08-19 19:36:48 UTC (rev 34802)
+++ labs/jbossrules/trunk/pom.xml	2010-08-19 21:34:35 UTC (rev 34803)
@@ -1396,7 +1396,7 @@
       <dependency>
          <groupId>commons-net</groupId>
          <artifactId>commons-net</artifactId>
-         <version>2.1</version>
+         <version>2.0</version>
       </dependency>
       <dependency>
          <groupId>org.apache.ftpserver</groupId>



More information about the jboss-svn-commits mailing list