[jboss-svn-commits] JBL Code SVN: r24593 - in labs/jbossrules/trunk/drools-guvnor/src: main/java/org/drools/guvnor/server and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jan 7 21:41:36 EST 2009


Author: michael.neale at jboss.com
Date: 2009-01-07 21:41:36 -0500 (Wed, 07 Jan 2009)
New Revision: 24593

Removed:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/RuleListViewLegacy.java
Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/ContentPackageAssembler.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/files/FileManagerUtils.java
   labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/BRMSPackageBuilderTest.java
   labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java
Log:
JBRULES-1907 Adding conf and properties to package builder.

Deleted: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/RuleListViewLegacy.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/RuleListViewLegacy.java	2009-01-08 01:50:30 UTC (rev 24592)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/RuleListViewLegacy.java	2009-01-08 02:41:36 UTC (rev 24593)
@@ -1,324 +0,0 @@
-package org.drools.guvnor.client.rulelist;
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-/**
- * This class is fully deprecated. Move along, nothing to see here.
- * (useful notes are in the comments).
- * @deprecated
- * @author Michael Neale
- *
- */
-public class RuleListViewLegacy {
-    
-}
-
-//package org.drools.guvnor.client.rulelist;
-//
-//import org.drools.guvnor.client.rpc.RepositoryServiceAsync;
-//import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
-//import org.drools.guvnor.client.rpc.TableConfig;
-//
-//import com.google.gwt.user.client.rpc.AsyncCallback;
-//import com.google.gwt.user.client.ui.ClickListener;
-//import com.google.gwt.user.client.ui.Composite;
-//import com.google.gwt.user.client.ui.Grid;
-//import com.google.gwt.user.client.ui.HTML;
-//import com.google.gwt.user.client.ui.HorizontalPanel;
-//import com.google.gwt.user.client.ui.Image;
-//import com.google.gwt.user.client.ui.SourcesTableEvents;
-//import com.google.gwt.user.client.ui.TableListener;
-//import com.google.gwt.user.client.ui.VerticalPanel;
-//import com.google.gwt.user.client.ui.Widget;
-//
-///**
-// * NOTE: this is not currently used, but it worked OK.
-// * It did NOT have sorting, but did have paging, and performed reasonably well.
-// * 
-// * SO KEEP THIS AROUND IN CASE THE OTHER ONE BLOWS CHUNKS !
-// * This one is based on the mail app example.
-// * 
-// * A composite that displays an explorer and a list view.
-// */
-//public class RuleListView extends Composite
-//    implements
-//    TableListener,
-//    ClickListener {
-//
-//    
-//    public static final String RULE_LIST_TABLE_ID = "ruleList";
-//
-//    private int                    visibleItemCount = -1;
-//
-//    private HTML                   countLabel         = new HTML();
-//    private HTML                   prevButton         = new HTML( "<a href='javascript:;'>&lt; prev</a>",
-//                                                                  true );
-//    private HTML                   nextButton         = new HTML( "<a href='javascript:;'>next &gt;</a>",
-//                                                                  true );
-//    private HTML                   editButton         = new HTML( "<a href='javascript:;'>edit</a>",
-//                                                                  true );
-//
-//    private int                    startIndex, selectedRow = -1;
-//    private Grid              table              = new Grid();
-//    private HorizontalPanel        navBar             = new HorizontalPanel();
-//    
-//    
-//    private static final RepositoryServiceAsync service = RepositoryServiceFactory.getService();
-//    private String[][] data;
-//    protected int numberOfColumns;
-//    private EditItemEvent editEvent;
-//
-//    public RuleListView(EditItemEvent event) {
-//
-//        this.editEvent = event;
-//        
-//
-//        // Setup the table.
-//        table.setCellSpacing( 0 );
-//        table.setCellPadding( 0 );
-//        table.setWidth( "100%" );
-//
-//        // Hook up events.
-//        table.addTableListener( this );
-//        prevButton.addClickListener( this );
-//        nextButton.addClickListener( this );
-//        editButton.addClickListener( this );
-//
-//        // Create the 'navigation' bar at the upper-right.
-//        HorizontalPanel innerNavBar = new HorizontalPanel();
-//        innerNavBar.setStyleName( "rule-ListNavBar" );
-//        innerNavBar.setSpacing( 8 );
-//        
-//        innerNavBar.add( prevButton );
-//        innerNavBar.add( countLabel );
-//        innerNavBar.add( nextButton );
-//        innerNavBar.add( editButton );
-//        
-//        navBar.setHorizontalAlignment( HorizontalPanel.ALIGN_RIGHT );
-//        navBar.add( innerNavBar );
-//        navBar.setWidth( "100%" );
-//
-//        //this is so we can stack controls on top of the table
-//        VerticalPanel vert = new VerticalPanel();
-//        vert.add( navBar );
-//        vert.add( table );
-//        vert.setStyleName( "rule-List" );
-//        vert.setWidth( "100%" );
-//        
-//        table.setStyleName( "rule-List" );
-//        table.setWidth( "100%" );
-//        
-//        // needed for composite to work
-//        initWidget( vert );
-//        setStyleName( "rule-List" );
-//        initTable();
-//
-//    }
-//
-//    public void onCellClicked(SourcesTableEvents sender,
-//                              int row,
-//                              int cell) {
-//        // Select the row that was clicked (-1 to account for header row).
-//        if ( row > 0 ) selectRow( row - 1 );
-//    }
-//
-//    public void onClick(Widget sender) {
-//        if ( sender == nextButton ) {
-//            // Move forward a page.
-//            startIndex += visibleItemCount;
-//            if ( startIndex >= data.length ) startIndex -= visibleItemCount;
-//            else {
-//                styleRow( selectedRow,
-//                          false );
-//                selectedRow = -1;
-//                update();
-//            }
-//        } else if ( sender == prevButton ) {
-//            // Move back a page.
-//            startIndex -= visibleItemCount;
-//            if ( startIndex < 0 ) startIndex = 0;
-//            else {
-//                styleRow( selectedRow,
-//                          false );
-//                selectedRow = -1;
-//                update();
-//            }
-//        } else if ( sender == editButton ) {
-//            openEditor();
-//        }
-//    }
-//
-//    /**
-//     * Open the editor as pertains to the selected row !
-//     */
-//    private void openEditor() {
-//        if (selectedRow < data.length) {
-//            this.editEvent.open( data[selectedRow][0] );
-//        }
-//    }
-//
-//    /**
-//     * Initializes the table. Will load the header config, initialise etc.
-//     */
-//    private void initTable() {
-//        // Create the header row.
-//
-//        table.resize( 1, 1 );
-//        table.getRowFormatter().setStyleName( 0, "rule-ListHeader" );  
-//        table.setText( 0, 0, "Please wait..." );    
-//        
-//        service.loadTableConfig( RULE_LIST_TABLE_ID, new AsyncCallback() {
-//
-//            public void onFailure(Throwable caught) {
-//                //TODO
-//            }
-//
-//            public void onSuccess(Object result) {
-//                TableConfig config = (TableConfig) result;
-//                
-//                String[] header = config.headers;
-//                numberOfColumns = header.length;                
-//                
-//                visibleItemCount = config.rowsPerPage;
-//                table.resize( visibleItemCount + 1, numberOfColumns);
-// 
-//                for ( int i = 0; i < numberOfColumns; i++ ) {
-//                    table.setText( 0, i, header[i]);
-//                }   
-//                
-//                data = new String[1][numberOfColumns];
-//                update();      
-//                
-//            }
-//            
-//        });
-//        
-//    }
-//
-//    /**
-//     * Selects the given row (relative to the current page).
-//     * 
-//     * @param row the row to be selected
-//     */
-//    private void selectRow(int row) {
-//
-//        //change the style flags
-//        styleRow( selectedRow,
-//                  false );
-//        styleRow( row,
-//                  true );
-//
-//        //mark the selected row
-//        selectedRow = row;
-//
-//        //TODO: also show "preview" view here of rule.
-//        System.out.println("[Preview rule now]");
-//    }
-//
-//    private void styleRow(int row,
-//                          boolean selected) {
-//        if ( row != -1 ) {
-//            if ( selected ) table.getRowFormatter().addStyleName( row + 1,
-//                                                                  "rule-SelectedRow" );
-//            else table.getRowFormatter().removeStyleName( row + 1,
-//                                                          "rule-SelectedRow" );
-//        }
-//    }
-//    
-//    
-//    
-//
-//    
-//
-//    private void update() {
-//                        
-//        if (this.numberOfColumns == -1) {
-//            //if it hasn't been setup, can't load data yet
-//            return;
-//        }
-//        
-//        // Update the older/newer buttons & label.
-//        int count = data.length;
-//        int max = startIndex + visibleItemCount;
-//        if ( max > count ) max = count;
-//
-//        prevButton.setVisible( startIndex != 0 );
-//        nextButton.setVisible( startIndex + visibleItemCount < count );
-//        countLabel.setText( "" + (startIndex + 1) + " - " + max + " of " + count );
-//
-//        // Show the selected emails.
-//        int i = 0;
-//        for ( ; i < visibleItemCount; ++i ) {
-//            // Don't read past the end.
-//            if ( startIndex + i >= count ) break;
-//
-//            String[] rowData = data[startIndex + i];
-//            
-//            //RuleListItem item = data.getMailItem( startIndex + i );
-//
-//            // Add a new row to the table, then set each of its columns value
-//            
-//            for ( int col = 0; col < rowData.length; col++ ) {
-//                table.setText( i + 1, col, rowData[col] );
-//            }
-//            
-////            table.setText( i + 1,
-////                           0,
-////                           item.name );
-////            table.setText( i + 1,
-////                           1,
-////                           item.status );
-////            table.setText( i + 1,
-////                           2,
-////                           item.changedBy );
-////            table.setText( i + 1,
-////                           3,
-////                           item.version );
-//        }
-//
-//        // Clear any remaining slots.
-//        for ( ; i < visibleItemCount; ++i ) {
-//            table.setHTML( i + 1, 0, "&nbsp;" );
-//        }
-//        
-//        // Select the first row if none is selected.
-//        if ( selectedRow == -1 ) selectRow( 0 );
-//        
-//    }
-//
-//    public void loadRulesForCategoryPath(String selectedPath) {
-//        service.loadRuleListForCategories( selectedPath, "", new AsyncCallback() {
-//
-//            public void onFailure(Throwable caught) {
-//                // TODO Auto-generated method stub
-//            }
-//
-//            public void onSuccess(Object result) {
-//                String[][] data = (String[][]) result;
-//                updateData(data);
-//            }
-//            
-//        });
-//        
-//    }
-//    
-//    private void updateData(String[][] data) {
-//        this.data = data;
-//        update();
-//    }
-//}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2009-01-08 01:50:30 UTC (rev 24592)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2009-01-08 02:41:36 UTC (rev 24593)
@@ -1450,7 +1450,7 @@
         StringBuffer buf = new StringBuffer();
         if ( handler.isRuleAsset() ) {
 
-            BRMSPackageBuilder builder = new BRMSPackageBuilder( new PackageBuilderConfiguration() );
+            BRMSPackageBuilder builder = new BRMSPackageBuilder(  );
             // now we load up the DSL files
             builder.setDSLFiles( BRMSPackageBuilder.getDSLMappingFiles( item.getPackage(),
                                                                         new BRMSPackageBuilder.DSLErrorEvent() {

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java	2009-01-08 01:50:30 UTC (rev 24592)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java	2009-01-08 02:41:36 UTC (rev 24593)
@@ -60,8 +60,10 @@
     /**
      * This will give you a fresh new PackageBuilder
      * using the given classpath.
+     * @param classpath The classpath from the package
+     * @param buildProps Properties to pass into the package builder configuration.
      */
-    public static BRMSPackageBuilder getInstance(List<JarInputStream> classpath) {
+    public static BRMSPackageBuilder getInstance(List<JarInputStream> classpath, Properties buildProps) {
         MapBackedClassLoader loader = createClassLoader(classpath);
 
 
@@ -76,6 +78,7 @@
         Properties properties = new Properties();
         properties.setProperty( "drools.dialect.java.compiler",
                                 chainedProperties.getProperty( "drools.dialect.java.compiler", "ECLIPSE" ) );
+        properties.putAll(buildProps);
         PackageBuilderConfiguration pkgConf = new PackageBuilderConfiguration( properties );
         pkgConf.setAllowMultipleNamespaces(false);
         pkgConf.setClassLoader( loader );
@@ -145,11 +148,15 @@
      * In the BRMS you should not need to use this, use the getInstance factory method instead.
      * @param config
      */
-    public BRMSPackageBuilder(
+    private BRMSPackageBuilder(
                               PackageBuilderConfiguration config) {
         super( config );
     }
 
+    public BRMSPackageBuilder() {
+        super(new PackageBuilderConfiguration());
+    }
+
     /**
      * This will reset the errors.
      */

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/ContentPackageAssembler.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/ContentPackageAssembler.java	2009-01-08 01:50:30 UTC (rev 24592)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/ContentPackageAssembler.java	2009-01-08 02:41:36 UTC (rev 24593)
@@ -21,6 +21,7 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Properties;
 import java.util.jar.JarInputStream;
 
 import org.drools.compiler.DroolsError;
@@ -130,10 +131,33 @@
 
 	public void createBuilder() {
 		List<JarInputStream> jars = BRMSPackageBuilder.getJars(pkg);
-		builder = BRMSPackageBuilder.getInstance(jars);
+        Properties ps = new Properties();
+        try {
+            ps = loadConfProperties(pkg);
+        } catch (IOException e) {
+            throw new RulesRepositoryException("Unable to load configuration properties for package.", e);            
+        }
+        builder = BRMSPackageBuilder.getInstance(jars, ps);
 	}
 
-	/**
+
+    /**
+     * Load all the .properties and .conf files into one big happy Properties instance.
+     */
+    Properties loadConfProperties(PackageItem pkg) throws IOException {
+        Properties ps = new Properties();
+        AssetItemIterator iter = pkg.listAssetsByFormat(new String[] {"properties", "conf"});
+        while(iter.hasNext()) {
+            AssetItem conf = iter.next();
+            conf.getContent();
+            Properties p = new Properties();
+            p.load(conf.getBinaryContentAttachment());
+            ps.putAll(p);
+        }
+        return ps;
+    }
+
+    /**
 	 * This will build the package.
 	 */
 	private void buildPackage() {

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/files/FileManagerUtils.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/files/FileManagerUtils.java	2009-01-08 01:50:30 UTC (rev 24592)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/files/FileManagerUtils.java	2009-01-08 02:41:36 UTC (rev 24593)
@@ -355,7 +355,7 @@
         StringBuffer buf = new StringBuffer();
         if ( handler.isRuleAsset() ) {
 
-            BRMSPackageBuilder builder = new BRMSPackageBuilder( new PackageBuilderConfiguration() );
+            BRMSPackageBuilder builder = new BRMSPackageBuilder( );
             //now we load up the DSL files
             builder.setDSLFiles( BRMSPackageBuilder.getDSLMappingFiles( item.getPackage(),
                                                                         new BRMSPackageBuilder.DSLErrorEvent() {

Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/BRMSPackageBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/BRMSPackageBuilderTest.java	2009-01-08 01:50:30 UTC (rev 24592)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/BRMSPackageBuilderTest.java	2009-01-08 02:41:36 UTC (rev 24593)
@@ -20,6 +20,7 @@
 import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Properties;
 import java.util.jar.JarInputStream;
 
 import junit.framework.TestCase;
@@ -50,7 +51,7 @@
         JarInputStream jis = new JarInputStream( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
         List<JarInputStream> l = new ArrayList<JarInputStream>();
         l.add( jis );
-        BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( l );
+        BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( l, new Properties() );
 
         PackageDescr pc = new PackageDescr("foo.bar");
         builder.addPackage( pc );
@@ -105,7 +106,7 @@
             JarInputStream jis = new JarInputStream( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
             List<JarInputStream> l = new ArrayList<JarInputStream>();
             l.add( jis );
-            BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( l );
+            BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( l, new Properties() );
 
             PackageDescr pc = new PackageDescr("foo.bar");
             builder.addPackage( pc );
@@ -137,12 +138,12 @@
     }
 
     public void testHasDSL() {
-        BRMSPackageBuilder builder = new BRMSPackageBuilder(null);
+        BRMSPackageBuilder builder = new BRMSPackageBuilder();
         assertFalse(builder.hasDSL());
     }
 
     public void testGetExpander() {
-        BRMSPackageBuilder builder = new BRMSPackageBuilder(null);
+        BRMSPackageBuilder builder = new BRMSPackageBuilder();
         List<DSLTokenizedMappingFile> files = new ArrayList<DSLTokenizedMappingFile>();
         files.add( new DSLTokenizedMappingFile() );
         builder.setDSLFiles( files );
@@ -150,22 +151,16 @@
         assertNotNull(builder.getDSLExpander());
     }
 
-//    public void testDefaultCompiler() {
-//        assertEquals(JavaDialectConfiguration.JANINO, BRMSPackageBuilder.COMPILER);
-//        assertEquals(PackageBuilderConfiguration.JANINO, BRMSPackageBuilder.getPreferredBRMSCompiler());
-//        System.setProperty( "drools.compiler", "ECLIPSE" );
-//        assertEquals(PackageBuilderConfiguration.ECLIPSE, BRMSPackageBuilder.getPreferredBRMSCompiler());
-//        System.setProperty( "drools.compiler", "" );
-//        assertEquals(PackageBuilderConfiguration.JANINO, BRMSPackageBuilder.getPreferredBRMSCompiler());
-//    }
 
-    // @FIXME rule "abc" is null and the Packge has no namespace
     public void testDefaultCompiler() throws Exception {
 
         JarInputStream jis = new JarInputStream( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
         List<JarInputStream> l = new ArrayList<JarInputStream>();
         l.add( jis );
-        BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( l );
+        Properties p = new Properties();
+        p.setProperty("drools.accumulate.function.groupCount", "wee");
+        BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( l, p );
+        assertEquals("wee", builder.getPackageBuilderConfiguration().getAccumulateFunctionsMap().get("groupCount"));
 
         PackageDescr pc = new PackageDescr("foo.bar");
         builder.addPackage( pc );
@@ -184,7 +179,7 @@
         JarInputStream jis = new JarInputStream( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
         List<JarInputStream> l = new ArrayList<JarInputStream>();
         l.add( jis );
-        BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( l );
+        BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( l, new Properties() );
 
         PackageDescr pc = new PackageDescr("foo.bar");
         builder.addPackage( pc );
@@ -203,7 +198,7 @@
         JarInputStream jis = new JarInputStream( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
         List<JarInputStream> l = new ArrayList<JarInputStream>();
         l.add( jis );
-        BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( l );
+        BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( l, new Properties() );
 
         assertFalse(builder.getPackageBuilderConfiguration().isAllowMultipleNamespaces());
     }

Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java	2009-01-08 01:50:30 UTC (rev 24592)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java	2009-01-08 02:41:36 UTC (rev 24593)
@@ -18,8 +18,10 @@
 
 import java.io.InputStream;
 import java.io.StringReader;
+import java.io.ByteArrayInputStream;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 import java.util.jar.JarInputStream;
 
 import junit.framework.TestCase;
@@ -148,6 +150,45 @@
         assertNotEmpty( assembler.getErrors().get( 0 ).errorReport );
     }
 
+    public void testLoadConfProperties () throws Exception {
+        RulesRepository repo = getRepo();
+
+        PackageItem pkg = repo.createPackage( "testLoadConfProperties",
+                                              "" );
+        AssetItem model = pkg.addAsset( "model",
+                                        "qed" );
+        model.updateFormat( AssetFormats.MODEL );
+
+        model.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
+        model.checkin( "" );
+
+        ServiceImplementation.updateDroolsHeader( "import com.billasurf.Board\n global com.billasurf.Person customer",
+                                                  pkg );
+
+        AssetItem rule1 = pkg.addAsset( "rule_1",
+                                        "" );
+        rule1.updateFormat( AssetFormats.DRL );
+        rule1.updateContent( "rule 'rule1' \n when Board() \n then customer.setAge(42); \n end" );
+        rule1.checkin( "" );
+
+        AssetItem props1 = pkg.addAsset("conf1", "");
+        props1.updateFormat("properties");
+        props1.updateContent("drools.accumulate.function.groupCount = wee");
+        props1.checkin("");
+
+
+        AssetItem props2 = pkg.addAsset("conf2", "");
+        props2.updateFormat("conf");
+        props2.updateBinaryContentAttachment(new ByteArrayInputStream("drools.accumulate.function.groupFun = wah".getBytes()));
+        props2.checkin("");
+
+        ContentPackageAssembler asm = new ContentPackageAssembler(pkg);
+        assertEquals("wee", asm.builder.getPackageBuilderConfiguration().getAccumulateFunctionsMap().get("groupCount"));
+        assertEquals("wah", asm.builder.getPackageBuilderConfiguration().getAccumulateFunctionsMap().get("groupFun"));
+
+    }
+
+
     public void testPackageWithRuleflow() throws Exception {
         RulesRepository repo = getRepo();
 
@@ -189,7 +230,7 @@
 
         //now check we can do some MVEL stuff from the classloader...
         List<JarInputStream> jars = BRMSPackageBuilder.getJars( pkg );
-        PackageBuilder builder = BRMSPackageBuilder.getInstance( jars );
+        PackageBuilder builder = BRMSPackageBuilder.getInstance( jars, new Properties() );
         ClassLoader newCL = builder.getPackageBuilderConfiguration().getClassLoader();
         ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
 




More information about the jboss-svn-commits mailing list