[jboss-svn-commits] JBL Code SVN: r29106 - in labs/jbossrules/trunk/drools-repository/src: test/java/org/drools/repository and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Aug 28 07:27:08 EDT 2009


Author: Rikkola
Date: 2009-08-28 07:27:08 -0400 (Fri, 28 Aug 2009)
New Revision: 29106

Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
Log:
JBRULES-2109 : Upload of Resource to Guvnor with multiple "." in file name causes resource type identification issues

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java	2009-08-28 11:11:38 UTC (rev 29105)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java	2009-08-28 11:27:08 UTC (rev 29106)
@@ -546,28 +546,25 @@
      *
      * File name is foo.drl -> ["foo", "drl"]
      *
-     * File name is foo.bar.xls -> ["foo", "bar.xls"]
      * @param fileName
      * @return
      */
     public static String[] getAssetNameFromFileName(String fileName) {
 
         String[] r = new String[]{"", ""};
-        char[] cs = fileName.toCharArray();
-        boolean name = true;
-        for ( int i = 0; i < cs.length; i++ ) {
-            if ( name && cs[i] == '.' ) {
-                String rhs = fileName.substring( i + 1 );
-                if ( !rhs.equals( "bpel.jar" ) && (rhs.contains( "_" ) || rhs.contains( " " ) || rhs.contains( ".jar" )) ) {
-                    r[0] = r[0] + '.'; //its part of the name
-                } else {
-                    name = false;
-                }
-            } else if ( name ) {
-                r[0] = r[0] + cs[i];
-            } else {
-                r[1] = r[1] + cs[i];
-            }
+        if ( fileName.endsWith( ".bpel.jar" ) ) {
+            r[0] = fileName.substring( 0,
+                                       fileName.lastIndexOf( ".bpel.jar" ) );
+            r[1] = "bpel.jar";
+        } else if ( fileName.endsWith( ".model.drl" ) ) {
+            r[0] = fileName.substring( 0,
+                                       fileName.lastIndexOf( ".model.drl" ) );
+            r[1] = "model.drl";
+        } else {
+            r[0] = fileName.substring( 0,
+                                       fileName.lastIndexOf( "." ) );
+            r[1] = fileName.substring( fileName.lastIndexOf( "." ) + 1 );
+
         }
         return r;
 

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java	2009-08-28 11:11:38 UTC (rev 29105)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java	2009-08-28 11:27:08 UTC (rev 29106)
@@ -182,6 +182,10 @@
     	assertEquals("application-model-1.0.0", asset[0]);
     	assertEquals("jar", asset[1]);
 
+    	asset = AssetItem.getAssetNameFromFileName("something-1.0.0.drl");
+    	assertEquals("something-1.0.0", asset[0]);
+    	assertEquals("drl", asset[1]);
+
         asset = AssetItem.getAssetNameFromFileName("foo.bpel.jar");
         assertEquals("foo", asset[0]);
         assertEquals("bpel.jar", asset[1]);



More information about the jboss-svn-commits mailing list