[jboss-svn-commits] JBL Code SVN: r34763 - in labs/jbossrules/branches/5.1.x: drools-guvnor/src/main/java/org/drools/guvnor/client/messages and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Aug 17 14:16:16 EDT 2010


Author: tsurdilovic
Date: 2010-08-17 14:16:15 -0400 (Tue, 17 Aug 2010)
New Revision: 34763

Modified:
   labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
   labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
   labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
   labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleAttributeWidget.java
   labs/jbossrules/branches/5.1.x/drools-ide-common/src/main/java/org/drools/ide/common/client/modeldriven/dt/DTColumnConfig.java
Log:
GUVNOR-605

Modified: labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
===================================================================
--- labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java	2010-08-17 16:45:23 UTC (rev 34762)
+++ labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java	2010-08-17 18:16:15 UTC (rev 34763)
@@ -17,6 +17,7 @@
 package org.drools.guvnor.client.decisiontable;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -513,6 +514,30 @@
                     at.defaultValue = defaultValue.getText();
                 }
             } );
+            // GUVNOR-605
+            if(at.attr.equals(RuleAttributeWidget.SALIENCE_ATTR)) {
+            	hp.add( new HTML( "  " ) );
+            	final CheckBox useRowNumber = new CheckBox();
+            	useRowNumber.setChecked(at.useRowNumber);
+            	useRowNumber.addClickListener( new ClickListener() {
+                    public void onClick(Widget sender) {
+                        at.useRowNumber = useRowNumber.isChecked();
+                    }
+                } );
+                hp.add( useRowNumber );
+            	hp.add( new SmallLabel( constants.UseRowNumber() ) );
+            	hp.add( new SmallLabel( "(" ) );
+            	final CheckBox reverseOrder = new CheckBox();
+            	reverseOrder.setChecked(at.reverseOrder);
+            	reverseOrder.addClickListener( new ClickListener() {
+                    public void onClick(Widget sender) {
+                        at.reverseOrder = reverseOrder.isChecked();
+                    }
+                } );
+            	hp.add(reverseOrder);
+            	hp.add( new SmallLabel( constants.ReverseOrder() ) );
+            	hp.add( new SmallLabel( ")" ) );
+            }
             hp.add( new HTML( "    " ) ); //NON-NLS
             hp.add( new SmallLabel( constants.DefaultValue() ) );
             hp.add( defaultValue );
@@ -1027,7 +1052,9 @@
                                         r.set( "num",
                                                store.getRecords().length + 1 ); //NON-NLS
 
-                                        store.add( r );
+                                        store.add( r );                              
+                                        // GUVNOR-605
+                                        renumberSalience(store.getRecords());
                                     }
                                 } ) );
 
@@ -1052,7 +1079,6 @@
                                                                    num ); //NON-NLS
                                                     temp.set( "num",
                                                               num + 1 ); //NON-NLS
-
                                                     store.addSorted( newRecord );
 
                                                 } else if ( num > selected ) {
@@ -1060,6 +1086,8 @@
                                                               num + 1 ); //NON-NLS
                                                 }
                                             }
+                                         // GUVNOR-605
+                                            renumberSalience(store.getRecords());
                                         } else {
                                             ErrorPopup.showMessage( constants.PleaseSelectARow() );
                                         }
@@ -1076,6 +1104,8 @@
                                                 store.remove( selected[i] );
                                             }
                                             renumber( store.getRecords() );
+                                            // GUVNOR-605
+                                            renumberSalience(store.getRecords());
                                         }
                                     }
                                 } ) );
@@ -1094,6 +1124,8 @@
                                             store.add( r );
                                         }
                                         renumber( store.getRecords() );
+                                        // GUVNOR-605
+                                        renumberSalience(store.getRecords());
                                     }
                                 } ) );
 
@@ -1235,6 +1267,27 @@
                        "" + (i + 1) ); //NON-NLS
         }
     }
+    
+    // GUVNOR-605
+    private void renumberSalience(Record[] rs) {
+    	List<AttributeCol> attcols =  dt.attributeCols;
+    	for(AttributeCol ac : attcols) {
+    		if(ac.useRowNumber) {
+    			for(int i=0; i<rs.length;i++) {
+    	    		Record nextrecord = rs[i];
+    	    		List<String> allFields = Arrays.asList(nextrecord.getFields());
+    	        	if(allFields.contains("salience")) {
+    	        		if(ac.reverseOrder) {
+    	        			rs[i].set( "salience", "" + (rs.length - i) ); //NON-NLS
+    	        		} else {
+    	        		   rs[i].set( "salience", "" + (i + 1) ); //NON-NLS
+    	        		}
+    	        	}
+    	    	}
+    		}
+    		break;
+    	}
+    }
 
     /**
      * Show a plain old text editor for a cell.

Modified: labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
===================================================================
--- labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-08-17 16:45:23 UTC (rev 34762)
+++ labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-08-17 18:16:15 UTC (rev 34763)
@@ -614,6 +614,10 @@
 
     String AddMetadataToTheRule();
 
+    String UseRowNumber();
+    
+    String ReverseOrder();
+
     String Metadata1();
 
     String Attribute();

Modified: labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
===================================================================
--- labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-08-17 16:45:23 UTC (rev 34762)
+++ labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-08-17 18:16:15 UTC (rev 34763)
@@ -859,6 +859,8 @@
 Browse=Browse
 KnowledgeBases=Knowledge Bases
 DefaultValue=Default value:
+UseRowNumber=Use row number
+ReverseOrder=Reverse order
 HideThisColumn=Hide this column
 PleaseSelectOrEnterField=Please select or enter field
 NotifyNoSelectedOrEnteredField=Field has not been selected or entered

Modified: labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleAttributeWidget.java
===================================================================
--- labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleAttributeWidget.java	2010-08-17 16:45:23 UTC (rev 34762)
+++ labs/jbossrules/branches/5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleAttributeWidget.java	2010-08-17 18:16:15 UTC (rev 34763)
@@ -65,7 +65,7 @@
     /**
      * These are the names of all of the rule attributes for this widget
      */
-    private static final String SALIENCE_ATTR = "salience";
+	public static final String SALIENCE_ATTR = "salience"; // needs to be public
     private static final String ENABLED_ATTR = "enabled";
     private static final String DATE_EFFECTIVE_ATTR = "date-effective";
     private static final String DATE_EXPIRES_ATTR = "date-expires";

Modified: labs/jbossrules/branches/5.1.x/drools-ide-common/src/main/java/org/drools/ide/common/client/modeldriven/dt/DTColumnConfig.java
===================================================================
--- labs/jbossrules/branches/5.1.x/drools-ide-common/src/main/java/org/drools/ide/common/client/modeldriven/dt/DTColumnConfig.java	2010-08-17 16:45:23 UTC (rev 34762)
+++ labs/jbossrules/branches/5.1.x/drools-ide-common/src/main/java/org/drools/ide/common/client/modeldriven/dt/DTColumnConfig.java	2010-08-17 18:16:15 UTC (rev 34763)
@@ -36,4 +36,13 @@
      */
     public boolean hideColumn = false;
 
+    /**
+     * to use the row number as number for the salience attribute.
+     */
+    public boolean useRowNumber = false;
+    
+    /**
+     * to use the reverse order of the row number as the salience attribute.
+     */
+    public boolean reverseOrder = false;
 }



More information about the jboss-svn-commits mailing list