[jboss-svn-commits] JBL Code SVN: r12735 - in labs/jbossrules/trunk/drools-core/src: test/java/org/drools/agent and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jun 21 03:45:43 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-06-21 03:45:43 -0400 (Thu, 21 Jun 2007)
New Revision: 12735

Added:
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/DirectoryScannerTest.java
   labs/jbossrules/trunk/drools-core/src/test/resources/sample-agent-config.properties
Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/URLScanner.java
Log:
JBRULES-752

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/URLScanner.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/URLScanner.java	2007-06-21 07:00:09 UTC (rev 12734)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/URLScanner.java	2007-06-21 07:45:43 UTC (rev 12735)
@@ -1,47 +1,74 @@
 package org.drools.agent;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
+import java.net.ProtocolException;
 import java.net.URL;
 import java.net.URLConnection;
 
 import org.drools.RuntimeDroolsException;
+import org.drools.common.DroolsObjectInputStream;
+import org.drools.rule.Package;
 
 public class URLScanner {
 
     
     
     
-    public URLScanner(String uri) {
+    public URLScanner(String uri) throws Exception {
         try {
+            
+            checkLastUpdated( uri );
             URL url = new URL(uri);
             
             URLConnection con = url.openConnection();
             HttpURLConnection httpCon = (HttpURLConnection) con;
-            httpCon.setRequestMethod( "HEAD" );
+            httpCon.setRequestMethod( "GET" );
+            InputStream in = httpCon.getInputStream();
             
-            //if this is null, then its not cool
-            System.err.println(httpCon.getHeaderField( "lastModified" ));
+            DroolsObjectInputStream oin = new DroolsObjectInputStream(in);
+            Package p = (Package) oin.readObject();
+            in.close();
             
-            //can check for '200 OK' to make sure its kosher.
-            System.err.println(httpCon.getHeaderFields());
             
-            String status = httpCon.getHeaderField( null );
+            System.err.println(p.getName());
             
-            
-            System.err.println(status);
-            
-            httpCon.disconnect();
-            
         } catch ( IOException e ) {
             throw new RuntimeDroolsException(e);
         }
         
     }
+
+    private void checkLastUpdated(String uri) throws MalformedURLException,
+                                             IOException,
+                                             ProtocolException {
+        URL url = new URL(uri);
+        
+        URLConnection con = url.openConnection();
+        HttpURLConnection httpCon = (HttpURLConnection) con;
+        httpCon.setRequestMethod( "HEAD" );
+        
+        
+        
+        //if this is null, then its not cool
+        System.err.println(httpCon.getHeaderField( "lastModified" ));
+        
+        //can check for '200 OK' to make sure its kosher.
+        System.err.println(httpCon.getHeaderFields());
+        
+        String status = httpCon.getHeaderField( null );
+        
+        
+        System.err.println(status);
+        
+        httpCon.disconnect();
+    }
     
-    public static void main(String[] args) {
+    public static void main(String[] args) throws Exception {
         URLScanner scan = new URLScanner("http://localhost:8888/org.drools.brms.JBRMS/package/com.billasurf.manufacturing.plant/SNAP");
+        
     }
     
 }

Added: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/DirectoryScannerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/DirectoryScannerTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/DirectoryScannerTest.java	2007-06-21 07:45:43 UTC (rev 12735)
@@ -0,0 +1,48 @@
+package org.drools.agent;
+
+import java.io.File;
+import java.util.Properties;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.rule.Package;
+
+import junit.framework.TestCase;
+
+
+
+public class DirectoryScannerTest extends TestCase {
+
+    public void testScan() throws Exception {
+        File dir = RuleBaseAssemblerTest.getTempDirectory();
+        
+        Package p1 = new Package("p1");
+        Package p2 = new Package("p2");
+        File p1f = new File(dir, "p1.pkg");
+        File p2f = new File(dir, "p2.pkg");
+        
+        RuleBaseAssemblerTest.writePackage( p1, p1f );
+        RuleBaseAssemblerTest.writePackage( p2, p2f);
+        
+        DirectoryScanner scan = new DirectoryScanner();
+        Properties props = new Properties();
+        props.setProperty( RuleBaseAgent.DIRECTORY, dir.getPath() );
+                
+        scan.configure( props );
+        
+        RuleBase rb = RuleBaseFactory.newRuleBase();
+        scan.updateRuleBase( rb, true );
+        assertEquals(2, rb.getPackages().length);
+                
+        Package p3 = new Package("p3");
+        File p3f = new File(dir, "p3.pkg");
+        
+        RuleBaseAssemblerTest.writePackage( p3, p3f );
+        
+        scan.updateRuleBase( rb, true );
+        assertEquals(3, rb.getPackages().length);        
+    }
+    
+    
+    
+}


Property changes on: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/DirectoryScannerTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-core/src/test/resources/sample-agent-config.properties
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/resources/sample-agent-config.properties	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/test/resources/sample-agent-config.properties	2007-06-21 07:45:43 UTC (rev 12735)
@@ -0,0 +1,6 @@
+newInstance=true
+dir=/home/packages
+file=/foo/bar.pkg \
+	 /wee/waa.pkg \
+	 /wee/waa2.pkg
+poll=10
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-core/src/test/resources/sample-agent-config.properties
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list