[jboss-svn-commits] JBL Code SVN: r36985 - labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/server/files.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu May 5 14:31:48 EDT 2011


Author: tsurdilovic
Date: 2011-05-05 14:31:47 -0400 (Thu, 05 May 2011)
New Revision: 36985

Modified:
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/server/files/WebDAVImpl.java
Log:
BRMS-585: Rules uploaded from JBDS get an extra package statement

Modified: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/server/files/WebDAVImpl.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/server/files/WebDAVImpl.java	2011-05-05 17:38:11 UTC (rev 36984)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/server/files/WebDAVImpl.java	2011-05-05 18:31:47 UTC (rev 36985)
@@ -16,10 +16,13 @@
 
 package org.drools.guvnor.server.files;
 
+import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
 import java.security.Principal;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -599,7 +602,6 @@
                                    String contentType,
                                    String characterEncoding) {
         RulesRepository repository = getRepo();
-        //System.out.println("set resource content:" + uri);
         if ( uri.endsWith( ".DS_Store" ) ) return 0;
         String[] path = getPath( uri );
         if ( path[0].equals( "packages" ) && checkPackagePermission( path[1],
@@ -621,7 +623,24 @@
             String[] assetName = AssetItem.getAssetNameFromFileName( path[2] );
             PackageItem pkg = repository.loadPackage( packageName );
             AssetItem asset = pkg.loadAsset( assetName[0] );
-            asset.updateBinaryContentAttachment( content );
+	    if(asset.getFormat().equals("drl")) {
+                try {
+                    BufferedReader reader = new BufferedReader(new InputStreamReader(content));
+                    StringBuilder sb = new StringBuilder();
+                    String line = null;
+                    while ((line = reader.readLine()) != null) {
+                        if(!line.startsWith("package ")) {
+                            sb.append(line + "\n");
+                        }
+                    }
+                    asset.updateBinaryContentAttachment(new ByteArrayInputStream(sb.toString().getBytes("UTF-8")));
+                } catch (Exception e) {
+                    //default
+                    asset.updateBinaryContentAttachment( content );
+                } 
+            } else {
+                asset.updateBinaryContentAttachment( content );
+            }
             //here we could save, or check in, depending on if enough time has passed to justify
             //a new version. Otherwise we will pollute the version history with lots of trivial versions.
             //if (shouldCreateNewVersion(asset.getLastModified())) {



More information about the jboss-svn-commits mailing list