[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