[jboss-svn-commits] JBL Code SVN: r32482 - in labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega: drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/dt and 8 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Apr 8 16:43:25 EDT 2010


Author: baunax
Date: 2010-04-08 16:43:23 -0400 (Thu, 08 Apr 2010)
New Revision: 32482

Added:
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleTemplateEditor.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/util/BRDRTXMLPersistence.java
Modified:
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/RuleModel.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/dt/TemplateModel.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRXMLPersistence.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/ActionToolbar.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/TemplateModelHandler.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/util/BRDRTPersistence.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/test/java/org/drools/guvnor/server/util/BRDRTPersistenceTest.java
Log:
- Edition of the rule template

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/RuleModel.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/RuleModel.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/RuleModel.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -19,6 +19,8 @@
     public IPattern[] lhs = new IPattern[0];
     public IAction[] rhs = new IAction[0];
 
+    public RuleModel() {
+	}
     /**
      * This will return the fact pattern that a variable is bound to.
      *

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/dt/TemplateModel.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/dt/TemplateModel.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/dt/TemplateModel.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -1,7 +1,9 @@
 package org.drools.guvnor.client.modeldriven.dt;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.drools.guvnor.client.modeldriven.brl.ActionFieldValue;
 import org.drools.guvnor.client.modeldriven.brl.ActionInsertFact;
@@ -28,8 +30,17 @@
 		table.add(row);
 	}
 	
-	public List<String> getInterpolationVariables() {
-		List<String> result = new ArrayList<String>();
+	public String[] getInterpolationVariablesList() {
+		Map<String, Integer> vars = getInterpolationVariables();
+		String[] ret = new String[vars.size()];
+		for (Map.Entry<String, Integer> entry: vars.entrySet()) {
+			ret[entry.getValue()] = entry.getKey();
+		}
+		return ret;
+	}
+	
+	public Map<String, Integer> getInterpolationVariables() {
+		Map<String, Integer> result = new HashMap<String, Integer>();
         for (IPattern pattern : this.lhs) {
             if (pattern instanceof FactPattern) {
                 FactPattern fact = (FactPattern) pattern;
@@ -37,7 +48,7 @@
                     if (fc instanceof ISingleFieldConstraint) {
                         ISingleFieldConstraint con = (ISingleFieldConstraint) fc;
                         if (ISingleFieldConstraint.TYPE_TEMPLATE == con.constraintValueType) {
-                            result.add(con.value);
+                            result.put(con.value, result.size());
                         }
                     }
                 }
@@ -48,7 +59,7 @@
                 ActionInsertFact fact = (ActionInsertFact) action;
                 for (ActionFieldValue afv : fact.fieldValues) {
                 	if (afv.nature == ActionFieldValue.TYPE_TEMPLATE ) {
-                		result.add(afv.value);
+                		result.put(afv.value, result.size());
                 	}
                 }
             }

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -624,7 +624,6 @@
                     buf.append(fieldValues[i].value.substring(1));
                 } else if (SuggestionCompletionEngine.TYPE_STRING.equals(fieldValues[i].type)) {
                     buf.append("\"");
-                    
                     buf.append(generateFieldValue(fieldValues[i]));
                     buf.append("\"");
                 } else {

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRXMLPersistence.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRXMLPersistence.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRXMLPersistence.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -19,7 +19,7 @@
     private XStream                     xt;
     private static final BRLPersistence INSTANCE = new BRXMLPersistence();
 
-    private BRXMLPersistence() {
+    protected BRXMLPersistence() {
         this.xt = new XStream( new DomDriver() );
 
         this.xt.alias( "rule",
@@ -108,12 +108,9 @@
      * @see org.drools.guvnor.server.util.BRLPersistence#toModel(java.lang.String)
      */
     public RuleModel unmarshal(final String xml) {
-        if ( xml == null ) {
-            return new RuleModel();
+        if ( xml == null || xml.trim().length() == 0) {
+            return createEmptyModel();
         }
-        if ( xml.trim().equals( "" ) ) {
-            return new RuleModel();
-        }
         RuleModel rm = (RuleModel) this.xt.fromXML( xml );
         //Fixme , hack for a upgrade to add Metadata
         if ( rm.metadataList == null ) {
@@ -125,6 +122,10 @@
         return rm;
     }
 
+	protected RuleModel createEmptyModel() {
+		return new RuleModel();
+	}
+
     /**
      * 
      * The way method calls are done changed after 5.0.0.CR1 so every rule done before that needs to be updated.

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -81,7 +81,7 @@
     /**
      * The following group the assets together for lists, helpers etc...
      */
-    public static final String[] BUSINESS_RULE_FORMATS = new String[]{AssetFormats.BUSINESS_RULE, AssetFormats.DSL_TEMPLATE_RULE, AssetFormats.DECISION_SPREADSHEET_XLS, AssetFormats.DECISION_TABLE_GUIDED};
+    public static final String[] BUSINESS_RULE_FORMATS = new String[]{AssetFormats.BUSINESS_RULE, AssetFormats.DSL_TEMPLATE_RULE, AssetFormats.DECISION_SPREADSHEET_XLS, AssetFormats.DECISION_TABLE_GUIDED, AssetFormats.RULE_TEMPLATE};
 
     /**
      * These define assets that are really package level "things". Used to decide when to flush any caches.
@@ -93,13 +93,11 @@
      * Package dependencies are needed before the package is validated, and any rule assets are processed.
      */
     public static boolean isPackageDependency(String format) {
-        for ( int i = 0; i < PACKAGE_DEPENCENCIES.length; i++ ) {
-            if (PACKAGE_DEPENCENCIES[i].equals( format )) {
+        for (String dep : PACKAGE_DEPENCENCIES) {
+            if (dep.equals( format )) {
                 return true;
             }
         }
         return false;
     }
-
-
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -470,7 +470,7 @@
             attributeConfigWidget.add( hp );
         }
         for ( int i = 0; i < dt.getMetadataCols().size(); i++ ) {
-            MetadataCol at = (MetadataCol) dt.getMetadataCols().get( i );
+            MetadataCol at = dt.getMetadataCols().get( i );
             HorizontalPanel hp = new HorizontalPanel();
             hp.add( new HTML( "&nbsp;&nbsp;&nbsp;&nbsp;" ) ); //NON-NLS
             hp.add( removeMeta( at ) );
@@ -770,8 +770,7 @@
 
                 }
             };
-            colMap.put( attr.attr,
-                        attr );
+            colMap.put( attr.attr, attr );
             colCount++;
         }
 

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -55,6 +55,7 @@
 import org.drools.guvnor.client.modeldriven.brl.RuleMetadata;
 import org.drools.guvnor.client.modeldriven.brl.RuleModel;
 import org.drools.guvnor.client.packages.SuggestionCompletionCache;
+import org.drools.guvnor.client.rpc.AnalysisReportLine;
 import org.drools.guvnor.client.rpc.RuleAsset;
 import org.drools.guvnor.client.ruleeditor.RuleViewer;
 import org.drools.guvnor.client.security.Capabilities;
@@ -62,7 +63,6 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.ChangeListener;
 import com.google.gwt.user.client.ui.ClickListener;
@@ -80,14 +80,6 @@
 import com.google.gwt.user.client.ui.Widget;
 import com.gwtext.client.core.ExtElement;
 import com.gwtext.client.util.Format;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Set;
-import org.drools.guvnor.client.common.LoadingPopup;
-import org.drools.guvnor.client.packages.WorkingSetManager;
-import org.drools.guvnor.client.rpc.AnalysisReport;
-import org.drools.guvnor.client.rpc.AnalysisReportLine;
-import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
 
 /**
  * This is the parent widget that contains the model based rule builder.
@@ -103,7 +95,6 @@
     private boolean showingOptions = false;
     private int currentLayoutRow = 0;
     private String packageName;
-    private RuleAsset asset;
     private ModellerWidgetFactory widgetFactory;
     
     public RuleModeller(RuleAsset asset, RuleViewer viewer, ModellerWidgetFactory widgetFactory) {
@@ -111,7 +102,6 @@
     }
 
     public RuleModeller(RuleAsset asset, ModellerWidgetFactory widgetFactory) {
-        this.asset = asset;
         this.model = (RuleModel) asset.content;
         this.packageName = asset.metaData.packageName;
 
@@ -487,7 +477,7 @@
         // The list of facts
         //
         final String[] facts = completions.getFactTypes();
-        if (facts != null && facts.length > 0) {
+        if (facts.length > 0) {
             choices.addItem("..................");
 
             for (int i = 0; i < facts.length; i++) {
@@ -636,7 +626,6 @@
         popup.setWidth(-1);
         popup.setTitle(constants.AddANewAction());
 
-
         final ListBox positionCbo = new ListBox();
         if (position == null) {
             positionCbo.addItem(constants.Bottom(), String.valueOf(this.model.rhs.length));
@@ -650,10 +639,6 @@
             positionCbo.setSelectedIndex(0);
         }
 
-
-
-
-
         final ListBox choices = new ListBox(true);
         final Map<String, Command> cmds = new HashMap<String, Command>();
 

Added: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleTemplateEditor.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleTemplateEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleTemplateEditor.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -0,0 +1,201 @@
+package org.drools.guvnor.client.modeldriven.ui;
+
+import java.util.Map;
+
+import org.drools.guvnor.client.messages.Constants;
+import org.drools.guvnor.client.modeldriven.dt.TemplateModel;
+import org.drools.guvnor.client.rpc.RuleAsset;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Widget;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.data.ArrayReader;
+import com.gwtext.client.data.FieldDef;
+import com.gwtext.client.data.GroupingStore;
+import com.gwtext.client.data.MemoryProxy;
+import com.gwtext.client.data.Record;
+import com.gwtext.client.data.RecordDef;
+import com.gwtext.client.data.StringFieldDef;
+import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.TabPanel;
+import com.gwtext.client.widgets.Toolbar;
+import com.gwtext.client.widgets.ToolbarMenuButton;
+import com.gwtext.client.widgets.form.TextField;
+import com.gwtext.client.widgets.grid.ColumnConfig;
+import com.gwtext.client.widgets.grid.ColumnModel;
+import com.gwtext.client.widgets.grid.EditorGridPanel;
+import com.gwtext.client.widgets.grid.GridEditor;
+import com.gwtext.client.widgets.grid.GridPanel;
+import com.gwtext.client.widgets.grid.GroupingView;
+import com.gwtext.client.widgets.grid.event.EditorGridListenerAdapter;
+import com.gwtext.client.widgets.menu.BaseItem;
+import com.gwtext.client.widgets.menu.Item;
+import com.gwtext.client.widgets.menu.Menu;
+import com.gwtext.client.widgets.menu.event.BaseItemListenerAdapter;
+
+public class RuleTemplateEditor extends Composite {
+
+	private TemplateModel model;
+	private GroupingStore store;
+	private Constants constants = ((Constants) GWT.create(Constants.class));
+
+	public RuleTemplateEditor(RuleAsset asset) {
+		model = (TemplateModel) asset.content;
+		TabPanel tPanel = new TabPanel();
+		tPanel.setAutoWidth(true);
+		tPanel.setAutoHeight(true);
+		
+		Panel pnl = new Panel();
+		pnl.setAutoWidth(true);
+		pnl.setClosable(false);
+		pnl.setTitle("Template Editor");
+		pnl.setAutoHeight(true);
+		pnl.add(new RuleModeller(asset, new TemplateModellerWidgetFactory()));
+		tPanel.add(pnl);
+
+		pnl = new Panel();
+		pnl.setAutoWidth(true);
+		pnl.setClosable(false);
+		pnl.setTitle("Template Data");
+		pnl.setAutoHeight(true);
+		pnl.add(buildTemplateTable(asset));
+		tPanel.add(pnl);
+
+		tPanel.setActiveTab(0);
+		initWidget(tPanel);
+	}
+
+	private Widget buildTemplateTable(RuleAsset asset) {
+
+		final Map<String, Integer> vars = model.getInterpolationVariables();
+		if (vars.isEmpty()) {
+			return new Label("");
+		}
+
+		FieldDef[] fds = new FieldDef[vars.size()];
+		ColumnConfig[] cols = new ColumnConfig[fds.length];
+
+		for (Map.Entry<String, Integer> entry: vars.entrySet()) {
+			int idx = entry.getValue();
+			String var = entry.getKey();
+			
+			cols[idx] = new ColumnConfig();
+			cols[idx].setHeader(var);
+			cols[idx].setDataIndex(var);
+			cols[idx].setSortable(false);
+			cols[idx].setWidth(50);
+			cols[idx].setResizable(true);
+			cols[idx].setEditor(new GridEditor(new TextField()));
+			fds[idx] = new StringFieldDef(var);
+		}
+		final RecordDef recordDef = new RecordDef(fds);
+		ArrayReader reader = new ArrayReader(recordDef);
+		
+		MemoryProxy proxy = new MemoryProxy(model.getTable().toArray(new String[0][]));
+
+		ColumnModel cm = new ColumnModel(cols);
+		for (int i = 0; i < cm.getColumnCount(); i++) {
+			cm.setEditable(i, true);
+		}
+		System.out.println("cm.isCellEditable(0, 0): " + cm.isCellEditable(0, 0));
+		store = new GroupingStore(proxy, reader);
+		store.load();
+
+		final EditorGridPanel grid = new EditorGridPanel(store, cm);
+		grid.setStripeRows(true);
+
+		GroupingView gv = new GroupingView();
+
+		// to stretch it out
+		gv.setForceFit(true);
+		gv.setGroupTextTpl("{text} ({[values.rs.length]} {[values.rs.length > 1 ? \"" // NON-NLS
+				+ constants.Items() + "\" : \"" + constants.Item() + "\"]})");
+
+		grid.setView(gv);
+
+		grid.setStore(store);
+		grid.setAutoWidth(true);
+		grid.setAutoHeight(true);
+
+		Toolbar tb = new Toolbar();
+		Menu menu = new Menu();
+
+		menu.addItem(new Item(constants.AddRow(), new BaseItemListenerAdapter() {
+			public void onClick(BaseItem item, EventObject e) {
+				String[] rowData = new String[recordDef.getFields().length];
+				for (int i = 0; i < rowData.length; i++) {
+					rowData[i] = "";
+				}
+				store.add(recordDef.createRecord(rowData));
+				model.addRow(rowData);
+			}
+		}));
+
+		ToolbarMenuButton tbb = new ToolbarMenuButton(constants.Modify(), menu);
+		tb.addButton(tbb);
+		grid.add(tb);
+
+		grid.addEditorGridListener(new EditorGridListenerAdapter() {
+			@Override
+			public void onAfterEdit(GridPanel grid, Record record, String field, Object newValue, Object oldValue,
+					int rowIndex, int colIndex) {
+				model.getTable().get(rowIndex)[vars.get(field)] = (String) newValue;
+			}
+		});
+		
+//		grid.addGridCellListener(new GridCellListenerAdapter() {
+//			@Override
+//			public void onCellDblClick(GridPanel grid, int rowIndex, int colIndex, EventObject e) {
+//				final String dataIdx = grid.getColumnModel().getDataIndex( colIndex );
+//                final Record r = store.getAt( rowIndex );
+//                String val = r.getAsString( dataIdx );
+////				showTextEditor(e, grid.getColumnModel().g, r, val);
+//			}
+//		});
+
+		return grid;
+	}
+
+//	private void showTextEditor(EventObject e, final String dta, final Record r, String val) {
+//		final Window w = new Window();
+//		w.setWidth(200);
+//		w.setAutoDestroy(true);
+//		w.setPlain(true);
+//		w.setBodyBorder(false);
+//		w.setTitle(dta);
+//		final TextBox box = new TextBox();
+//		box.setText(val);
+//		box.addKeyboardListener(new KeyboardListenerAdapter() {
+//			public void onKeyUp(Widget sender, char keyCode, int modifiers) {
+//				if (keyCode == KeyboardListener.KEY_ENTER) {
+//					r.set(dta, box.getText());
+//
+//					w.destroy();
+//				}
+//			}
+//		});
+//
+//		if (dt.isNumeric(colConf, getSCE())) {
+//			box.addKeyboardListener(ActionValueEditor.getNumericFilter(box));
+//		}
+//
+//		Panel p = new Panel();
+//		p.add(box);
+//		w.add(p);
+//		w.setBorder(false);
+//
+//		Button ok = new Button(constants.OK());
+//		ok.addClickListener(new ClickListener() {
+//			public void onClick(Widget wg) {
+//				r.set(dta, box.getText());
+//				w.destroy();
+//			}
+//		});
+//		p.add(ok);
+//
+//		w.setPosition(e.getPageX(), e.getPageY());
+//		w.show();
+//	}
+}


Property changes on: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleTemplateEditor.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/ActionToolbar.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/ActionToolbar.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/ActionToolbar.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -53,9 +53,9 @@
  */
 public class ActionToolbar extends Composite {
 
-    static String[]         VALIDATING_FORMATS = new String[]{BUSINESS_RULE, DSL_TEMPLATE_RULE, DECISION_SPREADSHEET_XLS, DRL, ENUMERATION, DECISION_TABLE_GUIDED, DRL_MODEL, DSL, FUNCTION};
+    static String[]         VALIDATING_FORMATS = new String[]{BUSINESS_RULE, DSL_TEMPLATE_RULE, DECISION_SPREADSHEET_XLS, DRL, ENUMERATION, DECISION_TABLE_GUIDED, DRL_MODEL, DSL, FUNCTION, RULE_TEMPLATE};
 
-    static String[]         VERIFY_FORMATS     = new String[]{BUSINESS_RULE, DECISION_SPREADSHEET_XLS, DRL, DECISION_TABLE_GUIDED, DRL_MODEL};
+    static String[]         VERIFY_FORMATS     = new String[]{BUSINESS_RULE, DECISION_SPREADSHEET_XLS, DRL, DECISION_TABLE_GUIDED, DRL_MODEL, RULE_TEMPLATE};
 
     private Toolbar         toolbar;
     private CheckinAction   checkinAction;

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -28,7 +28,7 @@
 import org.drools.guvnor.client.factmodel.FactModelWidget;
 import org.drools.guvnor.client.modeldriven.ui.RuleModeller;
 import org.drools.guvnor.client.modeldriven.ui.RuleModellerWidgetFactory;
-import org.drools.guvnor.client.modeldriven.ui.TemplateModellerWidgetFactory;
+import org.drools.guvnor.client.modeldriven.ui.RuleTemplateEditor;
 import org.drools.guvnor.client.packages.ModelAttachmentFileWidget;
 import org.drools.guvnor.client.qa.ScenarioWidget;
 import org.drools.guvnor.client.rpc.RuleAsset;
@@ -93,7 +93,7 @@
 		} else if (asset.metaData.format.equals(AssetFormats.WORKING_SET)) {
 			return new WorkingSetEditor(asset);
         } else if (asset.metaData.format.equals(AssetFormats.RULE_TEMPLATE)) {
-            return new RuleModeller(asset, new TemplateModellerWidgetFactory());
+            return new RuleTemplateEditor(asset);
 		} else {
 			return new DefaultContentUploadEditor(asset, viewer);
 		}

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -73,7 +73,7 @@
 		Panel pnl = new Panel();
         pnl.setAutoWidth(true);
         pnl.setClosable(false);
-        pnl.setTitle("WS Definition");
+        pnl.setTitle("WS Definition"); //TODO {bauna} i18n
         pnl.setAutoHeight(true);
         pnl.add(buildDoubleList(wsData));
 		tPanel.add(pnl);
@@ -81,7 +81,7 @@
 		pnl = new Panel();
         pnl.setAutoWidth(true);
         pnl.setClosable(false);
-        pnl.setTitle("WS Constraints");
+        pnl.setTitle("WS Constraints"); //TODO {bauna} i18n
         pnl.setAutoHeight(true);
         pnl.add(buildFactsConstraintsEditor(tPanel));
 		tPanel.add(pnl);

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/TemplateModelHandler.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/TemplateModelHandler.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/TemplateModelHandler.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -1,36 +1,19 @@
 package org.drools.guvnor.server.contenthandler;
 
-import java.io.IOException;
-import java.io.StringReader;
-
-import org.drools.compiler.DroolsParserException;
-import org.drools.guvnor.server.builder.BRMSPackageBuilder;
-import org.drools.guvnor.server.builder.ContentPackageAssembler.ErrorLogger;
 import org.drools.guvnor.server.util.BRDRTPersistence;
+import org.drools.guvnor.server.util.BRDRTXMLPersistence;
 import org.drools.guvnor.server.util.BRLPersistence;
-import org.drools.repository.AssetItem;
 
 public class TemplateModelHandler extends BRLContentHandler {
 
-	public String getRawDRL(AssetItem asset) {
-		return null;
-	}
-
-//	public void compile(BRMSPackageBuilder builder, AssetItem asset, ErrorLogger logger) 
-//			throws DroolsParserException, IOException {
-//		  builder.addPackageFromDrl( new StringReader( getSourceDRL( asset,
-//                  builder ) ) );
-//	}
-
-	
-	
-	public void assembleDRL(BRMSPackageBuilder builder, AssetItem asset, StringBuffer buf) {
-
-	}
-
 	@Override
 	protected BRLPersistence getBrlDrlPersistence() {
 		return BRDRTPersistence.getInstance();
 	}
 	
+	@Override
+	protected BRLPersistence getBrlXmlPersistence() {
+		return BRDRTXMLPersistence.getInstance();
+	}
+	
 }

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/util/BRDRTPersistence.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/util/BRDRTPersistence.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/util/BRDRTPersistence.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -54,16 +54,14 @@
 	private Iterator<String[]> generateEmptyIterator(TemplateModel tplModel) {
 		List<String[]> l = new ArrayList<String[]>();
 
-		List<String> interpolationVariables = tplModel.getInterpolationVariables();
-		if (interpolationVariables == null || interpolationVariables.isEmpty()) {
+		String[] interpolationVariables = tplModel.getInterpolationVariablesList();
+		if (interpolationVariables == null || interpolationVariables.length == 0) {
 			l.add(new String[] { "" });
 		} else {
-			String[] r = new String[interpolationVariables.size()];
-			int i = 0;
-			for (String var : interpolationVariables) {
-				r[i++] = var + "_na";
+			for (int i = 0; i < interpolationVariables.length; i++) {
+				interpolationVariables[i] += "_na";
 			}
-			l.add(r);
+			l.add(interpolationVariables);
 		}
 		return l.iterator();
 	}
@@ -73,8 +71,8 @@
     	TemplateModel tplModel = (TemplateModel) model;
     	buf.append("template header\n");
     	
-    	List<String> interpolationVariables = tplModel.getInterpolationVariables();
-		if (interpolationVariables.isEmpty()) {
+    	String[] interpolationVariables = tplModel.getInterpolationVariablesList();
+		if (interpolationVariables.length == 0) {
 			buf.append("test_var").append('\n');
 		} else {
 			for (String var : interpolationVariables) {

Added: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/util/BRDRTXMLPersistence.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/util/BRDRTXMLPersistence.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/util/BRDRTXMLPersistence.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -0,0 +1,29 @@
+package org.drools.guvnor.server.util;
+
+import org.drools.guvnor.client.modeldriven.brl.RuleModel;
+import org.drools.guvnor.client.modeldriven.dt.TemplateModel;
+
+/**
+ * This class persists the template rule model to XML and back.
+ *
+ * This is the 'brl' xml format (Business Rule Language).
+ *
+ * @author Michael Neale
+ */
+public class BRDRTXMLPersistence extends BRXMLPersistence {
+	
+	private static final BRLPersistence INSTANCE = new BRDRTXMLPersistence();
+	
+	private BRDRTXMLPersistence() {
+		super();
+	}
+	
+	public static BRLPersistence getInstance() {
+		return INSTANCE;
+	}
+	
+	@Override
+	protected RuleModel createEmptyModel() {
+		return new TemplateModel();
+	}
+}


Property changes on: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/server/util/BRDRTXMLPersistence.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/test/java/org/drools/guvnor/server/util/BRDRTPersistenceTest.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/test/java/org/drools/guvnor/server/util/BRDRTPersistenceTest.java	2010-04-08 20:01:28 UTC (rev 32481)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/test/java/org/drools/guvnor/server/util/BRDRTPersistenceTest.java	2010-04-08 20:43:23 UTC (rev 32482)
@@ -71,7 +71,6 @@
 		log.info("drl :\n{}", drl);
         assertNotNull(drl);
         assertEquals(expected, drl);
-
 	}
 
 	public void testEmptyDataWithRHS() {



More information about the jboss-svn-commits mailing list