[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