[jboss-svn-commits] JBL Code SVN: r12679 - in labs/jbossrules/trunk: drools-jbrms and 4 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jun 18 22:26:51 EDT 2007
Author: michael.neale at jboss.com
Date: 2007-06-18 22:26:51 -0400 (Mon, 18 Jun 2007)
New Revision: 12679
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/URLScanner.java
labs/jbossrules/trunk/drools-jbrms/JBRMS.launch
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/FileManagerUtils.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java
labs/jbossrules/trunk/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.html
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/FileManagerUtilsTest.java
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
Log:
JBRULES-933 BRMS HEAD update lastModified for deployment agent
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-19 02:09:24 UTC (rev 12678)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/URLScanner.java 2007-06-19 02:26:51 UTC (rev 12679)
@@ -21,10 +21,19 @@
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();
+
} catch ( IOException e ) {
throw new RuntimeDroolsException(e);
}
Modified: labs/jbossrules/trunk/drools-jbrms/JBRMS.launch
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/JBRMS.launch 2007-06-19 02:09:24 UTC (rev 12678)
+++ labs/jbossrules/trunk/drools-jbrms/JBRMS.launch 2007-06-19 02:26:51 UTC (rev 12679)
@@ -1,55 +1,55 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/drools-jbrms"/>
+</listAttribute>
+<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER" javaProject="drools-brms" path="1" type="4"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/src/main/java" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/classes" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-compiler/src/main/java" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="GWT_DEV" path="3" type="3"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="GWT_HOME/gwt-servlet.jar" path="3" type="3"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="GWT_HOME/gwt-user.jar" path="3" type="3"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry path="3" projectName="drools-core" type="1"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/asm-1.5.3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/asm-attrs-1.5.3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/cglib-2.1_3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-collections-3.1.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-fileupload-1.1.1.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-io-1.1.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-logging-1.0.4.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/concurrent-1.3.4.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/derby-10.2.1.6.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/dom4j-1.6.1.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jackrabbit-api-1.2.2.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jackrabbit-core-1.2.2.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jackrabbit-jcr-commons-1.2.2.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/javasvn-1.1-beta5.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jboss-seam-1.2.0.GA.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jcr-1.0.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jta-1.0.1B.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/log4j-1.2.8.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/lucene-core-2.0.0.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/antlr-3.0.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/slf4j-log4j12-1.0.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xercesImpl-2.4.0.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xml-apis-1.0.b2.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xpp3-1.1.3.4.O.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xstream-1.1.3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry path="3" projectName="drools-compiler" type="1"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry path="3" projectName="drools-repository" type="1"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry path="3" projectName="drools-decisiontables" type="1"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jxl-2.4.2.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/janino-2.5.7.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/mvel14-1.2beta25.jar" path="3" type="2"/> "/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="drools-jbrms"/>
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.GWTShell"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
-<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER" javaProject="drools-brms" path="1" type="4"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/src/main/java" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/classes" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-compiler/src/main/java" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="GWT_DEV" path="3" type="3"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="GWT_HOME/gwt-servlet.jar" path="3" type="3"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="GWT_HOME/gwt-user.jar" path="3" type="3"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry path="3" projectName="drools-core" type="1"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/asm-1.5.3.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/asm-attrs-1.5.3.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/cglib-2.1_3.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-collections-3.1.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-fileupload-1.1.1.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-io-1.1.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-logging-1.0.4.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/concurrent-1.3.4.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/derby-10.2.1.6.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/dom4j-1.6.1.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jackrabbit-api-1.2.2.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jackrabbit-core-1.2.2.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jackrabbit-jcr-commons-1.2.2.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/javasvn-1.1-beta5.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jboss-seam-1.2.0.GA.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jcr-1.0.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jta-1.0.1B.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/log4j-1.2.8.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/lucene-core-2.0.0.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/antlr-3.0.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/slf4j-log4j12-1.0.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xercesImpl-2.4.0.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xml-apis-1.0.b2.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xpp3-1.1.3.4.O.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xstream-1.1.3.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry path="3" projectName="drools-compiler" type="1"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry path="3" projectName="drools-repository" type="1"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry path="3" projectName="drools-decisiontables" type="1"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jxl-2.4.2.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/janino-2.5.7.jar" path="3" type="2"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/mvel14-1.2beta23.jar" path="3" type="2"/> "/>
-</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-out www org.drools.brms.JBRMS/JBRMS.html"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="drools-jbrms"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/drools-jbrms"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
</launchConfiguration>
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/FileManagerUtils.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/FileManagerUtils.java 2007-06-19 02:09:24 UTC (rev 12678)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/FileManagerUtils.java 2007-06-19 02:26:51 UTC (rev 12679)
@@ -7,6 +7,7 @@
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.URLEncoder;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -198,4 +199,17 @@
repository.save();
}
+ /**
+ * This will return the last time the package was built.
+ */
+ public long getLastModified(String name, String version) {
+ PackageItem item = null;
+ if (version.equals( "LATEST" )) {
+ item = repository.loadPackage( name );
+ } else {
+ item = repository.loadPackageSnapshot( name, version );
+ }
+ return item.getLastModified().getTimeInMillis();
+ }
+
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java 2007-06-19 02:09:24 UTC (rev 12678)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java 2007-06-19 02:26:51 UTC (rev 12679)
@@ -7,7 +7,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.log4j.Logger;
import org.drools.brms.server.util.FormData;
import org.drools.compiler.DroolsParserException;
import org.drools.repository.RulesRepositoryException;
@@ -20,9 +19,22 @@
public class PackageDeploymentServlet extends RepositoryServlet {
private static final long serialVersionUID = 3909768997932550498L;
- private static final Logger log = Logger.getLogger( PackageDeploymentURIHelper.class );
+ @Override
+ protected void doHead(HttpServletRequest request, HttpServletResponse response) throws ServletException,
+ IOException {
+ if (request.getMethod().equals( "HEAD" )) {
+ PackageDeploymentURIHelper helper = new PackageDeploymentURIHelper(request.getRequestURI());
+ FileManagerUtils fm = getFileManager();
+ long mod = fm.getLastModified( helper.getPackageName(), helper.getVersion() );
+ response.addHeader( "lastModified", "" + mod);
+
+ } else {
+ super.doHead(request, response);
+ }
+ }
+
/**
* This is used for importing legacy DRL.
*/
@@ -30,7 +42,7 @@
HttpServletResponse response) throws ServletException,
IOException {
FormData data = FileManagerUtils.getFormData( request );
- System.err.println("Filename: " + data.getFile().getName());
+ //System.err.println("Filename: " + data.getFile().getName());
try {
getFileManager().importClassicDRL( data.getFile().getInputStream() );
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.html
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.html 2007-06-19 02:09:24 UTC (rev 12678)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.html 2007-06-19 02:26:51 UTC (rev 12679)
@@ -69,11 +69,11 @@
var F;
var I = ["true", (F=window["prop$user.agent"],F(1))];
- O(["true","gecko1_8"],"034134F06D16CCCE334A657D6D32A228");
- O(["true","gecko"],"1583769603D25B02BE222B760E6DF6B6");
- O(["true","safari"],"16948878FEA478227718611F9835C46E");
- O(["true","ie6"],"1F965ABB8845993B78247B297857B342");
- O(["true","opera"],"F3122D9210B14DC925B70CA5062B9922");
+ O(["true","gecko"],"30D1A4DF0A75C4AC302B0044461E82C1");
+ O(["true","opera"],"663C1634FB615A09BEDC752CDCDD1F30");
+ O(["true","ie6"],"71FAF60B27629F9F6AE721EF3CDE86A4");
+ O(["true","gecko1_8"],"778596C93FBC79AF8F0F7650F8CD92B2");
+ O(["true","safari"],"92C905D807EDE0E17BA8BE37830D8668");
var strongName = O.answers[I[0]][I[1]];
var query = location.search;
Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/FileManagerUtilsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/FileManagerUtilsTest.java 2007-06-19 02:09:24 UTC (rev 12678)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/FileManagerUtilsTest.java 2007-06-19 02:26:51 UTC (rev 12679)
@@ -8,6 +8,7 @@
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -16,6 +17,7 @@
import org.apache.commons.fileupload.FileItem;
import org.drools.brms.client.common.AssetFormats;
import org.drools.brms.client.packages.PackageSnapshotView;
+import org.drools.brms.server.ServiceImplementation;
import org.drools.brms.server.files.FileManagerUtils;
import org.drools.repository.AssetItem;
import org.drools.repository.PackageItem;
@@ -76,16 +78,28 @@
}
public void testGetBinaryPackage() throws Exception {
+
+ RulesRepository repo = new RulesRepository(TestEnvironmentSessionHelper.getSession());
+ ServiceImplementation impl = new ServiceImplementation();
+ impl.repository = repo;
+
+
+ long before = System.currentTimeMillis();
+ Thread.sleep( 20 );
FileManagerUtils uploadHelper = new FileManagerUtils();
- RulesRepository repo = new RulesRepository(TestEnvironmentSessionHelper.getSession());
+
uploadHelper.repository = repo;
PackageItem pkg = repo.createPackage( "testGetBinaryPackageServlet", "" );
pkg.updateHeader( "import java.util.List" );
pkg.updateCompiledPackage( new ByteArrayInputStream("foo".getBytes()) );
pkg.checkin( "" );
- repo.createPackageSnapshot( pkg.getName(), "SNAPPY 1" );
+ assertTrue(before < uploadHelper.getLastModified( pkg.getName(), "LATEST" ));
+
+ impl.createPackageSnapshot( pkg.getName(), "SNAPPY 1", false, "" );
+
+
ByteArrayOutputStream out = new ByteArrayOutputStream();
String fileName = uploadHelper.loadBinaryPackage( pkg.getName(), PackageSnapshotView.LATEST_SNAPSHOT, true, out );
assertEquals("testGetBinaryPackageServlet.pkg", fileName);
@@ -99,8 +113,23 @@
assertEquals("testGetBinaryPackageServlet_SNAPPY+1.pkg", fileName);
file = out.toByteArray();
assertNotNull(file);
- assertEquals("foo", new String(file));
+ assertEquals("foo", new String(file));
+ Thread.sleep( 100 );
+ impl.createPackageSnapshot( pkg.getName(), "SNAPX", false, "" );
+
+
+ long lastMod = uploadHelper.getLastModified( pkg.getName(), "SNAPPY 1");
+ assertTrue(pkg.getLastModified().getTimeInMillis() < lastMod);
+
+ Thread.sleep( 100 );
+
+ impl.createPackageSnapshot( pkg.getName(), "SNAPX", true, "yeah");
+
+ long lastMod2 = uploadHelper.getLastModified( pkg.getName(), "SNAPX");
+ assertTrue(lastMod < lastMod2);
+
+
}
public void testClassicDRLImport() throws Exception {
Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java 2007-06-19 02:09:24 UTC (rev 12678)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java 2007-06-19 02:26:51 UTC (rev 12679)
@@ -636,7 +636,9 @@
public PackageItem updateCompiledPackage(InputStream data) {
checkout();
try {
- this.node.setProperty( COMPILED_PACKAGE_PROPERTY_NAME, data );
+ this.node.setProperty( COMPILED_PACKAGE_PROPERTY_NAME, data );
+ this.node.setProperty( LAST_MODIFIED_PROPERTY_NAME,
+ Calendar.getInstance() );
return this;
} catch (RepositoryException e ) {
log.error( "Unable to update the assets binary content", e );
Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java 2007-06-19 02:09:24 UTC (rev 12678)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java 2007-06-19 02:26:51 UTC (rev 12679)
@@ -20,9 +20,13 @@
import javax.jcr.PropertyIterator;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
+import javax.jcr.ValueFormatException;
+import javax.jcr.lock.LockException;
+import javax.jcr.nodetype.ConstraintViolationException;
import javax.jcr.query.Query;
import javax.jcr.query.QueryResult;
import javax.jcr.version.Version;
+import javax.jcr.version.VersionException;
import org.apache.log4j.Logger;
@@ -37,12 +41,6 @@
* repository, and this reference can either follow the head version, or a
* specific version of the DSL node.
* <p>
- * The RulesRepository also is capable of storing RulePackages, which aggregate
- * one or more Rules into a set. RulePackages hold references to the nodes
- * storing the content of the rules in the set within the repository. Each entry
- * in a rulepackage can either refer to the head version of the given rule node,
- * or a specific version.
- * <p>
* Rules can be tagged. Tags are stored in a separate area of the repository,
* and can be added on demand. Rules can have 0 or more tags. Tags are intended
* to help provide a means for searching for specific types of rules quickly,
@@ -63,6 +61,7 @@
*
* @author Ben Truitt
* @author Fernando Meyer
+ * @author Michael Neale
*/
public class RulesRepository {
@@ -365,6 +364,7 @@
}
}
+
public PackageItem loadPackageSnapshot(String packageName, String snapshotName) {
try {
Node n = this.getAreaNode( PACKAGE_SNAPSHOT_AREA ).getNode( packageName ).getNode( snapshotName );
@@ -400,6 +400,7 @@
String source = rulePackageNode.getPath();
this.session.getWorkspace().copy( source, newName );
+
} catch ( RepositoryException e ) {
log.error( "Unable to create snapshot", e );
throw new RulesRepositoryException( e );
More information about the jboss-svn-commits
mailing list