[jboss-svn-commits] JBL Code SVN: r11845 - in labs/jbossrules/trunk/drools-jbrms/src: main/webapp/WEB-INF and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon May 14 16:38:31 EDT 2007
Author: fmeyer
Date: 2007-05-14 16:38:31 -0400 (Mon, 14 May 2007)
New Revision: 11845
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/PackageDeploymentURIHelper.java
labs/jbossrules/trunk/drools-jbrms/src/main/webapp/WEB-INF/web.xml
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/files/DeploymentURIHelperTest.java
Log:
JBRULES-852
- corrected a bug on download deployment snapshot
- improve to use regular expression pattern matching recover instead StringTokenizer
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-05-14 14:39:36 UTC (rev 11844)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java 2007-05-14 20:38:31 UTC (rev 11845)
@@ -7,6 +7,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.log4j.Logger;
+import org.drools.repository.RulesRepository;
+
/**
* This servlet deals with providing packages in binary form.
*
@@ -15,6 +18,7 @@
public class PackageDeploymentServlet extends RepositoryServlet {
private static final long serialVersionUID = 3909768997932550498L;
+ private static final Logger log = Logger.getLogger( PackageDeploymentURIHelper.class );
/**
@@ -44,6 +48,11 @@
HttpServletResponse response) throws ServletException,
IOException {
PackageDeploymentURIHelper helper = new PackageDeploymentURIHelper(req.getRequestURI());
+
+ System.out.println( "PackageName: " + helper.getPackageName() );
+ System.out.println( "PackageVersion: " + helper.getVersion() );
+ System.out.println( "PackageIsLatest: " + helper.isLatest() );
+
ByteArrayOutputStream out = new ByteArrayOutputStream();
String fileName = uploadHelper.loadBinaryPackage( helper.getPackageName(),
helper.getVersion(), helper.isLatest(), out, getRepository() );
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentURIHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentURIHelper.java 2007-05-14 14:39:36 UTC (rev 11844)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentURIHelper.java 2007-05-14 20:38:31 UTC (rev 11845)
@@ -2,44 +2,45 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
-import java.util.StringTokenizer;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.drools.brms.client.packages.PackageSnapshotView;
/**
* Works out from the path URI what package is being requested.
+ * Uses Regular expression Pattern matching to recover packagename and version
+ * it works both with gwt hosted mode and application server standalone.
*
* @author Michael Neale
+ * @author Fernando Meyer
*/
public class PackageDeploymentURIHelper {
-
-
private String version;
private String packageName;
public PackageDeploymentURIHelper(String uri) throws UnsupportedEncodingException {
- StringTokenizer tok = new StringTokenizer( URLDecoder.decode( uri, "UTF-8" ), "/" );
- String[] toks = new String[tok.countTokens()];
- int i = 0;
- while ( tok.hasMoreTokens() ) {
- toks[i] = tok.nextToken();
- i++;
- }
- if ( i < 3 ) {
- throw new IllegalArgumentException( "Bad URI - can't get a package binary for " + uri );
+ String url = URLDecoder.decode( uri, "UTF-8" );
+
+ Pattern pattern = Pattern.compile( ".*/(package|asset)/(.*)" );
+ Matcher m = pattern.matcher( url );
+ if ( m.matches() ) {
+ String result = m.group(2);
+ String []mtoks = result.split( "/" );
+
+
+ this.version = mtoks[1];
+ this.packageName = mtoks[0];
}
- this.version = toks[i - 1];
- this.packageName = toks[i -2];
}
public String getPackageName() {
return packageName;
}
-
public String getVersion() {
return version;
}
@@ -47,10 +48,4 @@
public boolean isLatest() {
return PackageSnapshotView.LATEST_SNAPSHOT.equals( version );
}
-
-
-
-
-
-
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/webapp/WEB-INF/web.xml
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/webapp/WEB-INF/web.xml 2007-05-14 14:39:36 UTC (rev 11844)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/webapp/WEB-INF/web.xml 2007-05-14 20:38:31 UTC (rev 11845)
@@ -44,7 +44,7 @@
</servlet-mapping>
<servlet-mapping>
<servlet-name>PackageDeploymentServlet</servlet-name>
- <url-pattern>/org.drools.brms.JBRMS/package</url-pattern>
+ <url-pattern>/org.drools.brms.JBRMS/package/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>RepositoryBackupServlet</servlet-name>
@@ -53,7 +53,7 @@
<!-- following are security constraints, this can be modified to suit your environment -->
- <!-- ************ Uncomment to enable security
+ <!-- ************ Uncomment to enable security
<security-constraint>
<web-resource-collection>
<web-resource-name>JBRMS Protected Area</web-resource-name>
@@ -92,6 +92,6 @@
<description>General user access</description>
<role-name>UserRol</role-name>
</security-role>
- -->
+-->
</web-app>
Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/files/DeploymentURIHelperTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/files/DeploymentURIHelperTest.java 2007-05-14 14:39:36 UTC (rev 11844)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/files/DeploymentURIHelperTest.java 2007-05-14 20:38:31 UTC (rev 11845)
@@ -5,8 +5,7 @@
public class DeploymentURIHelperTest extends TestCase {
public void testGetPackageToExport() throws Exception {
- String uri = "/org.drools.brms.JBRMS/asset/boo/ya+man";
- //from getPathInfo() on req.
+ String uri = "/org.drools.brms.JBRMS/package/boo/ya+man";
PackageDeploymentURIHelper helper = new PackageDeploymentURIHelper(uri);
@@ -14,7 +13,7 @@
assertEquals( "boo", helper.getPackageName() );
assertFalse(helper.isLatest());
- helper = new PackageDeploymentURIHelper("/foo/bar/LATEST");
+ helper = new PackageDeploymentURIHelper("/asset/bar/LATEST");
assertTrue(helper.isLatest());
assertEquals("bar", helper.getPackageName());
More information about the jboss-svn-commits
mailing list