[jboss-svn-commits] JBL Code SVN: r32050 - in labs/jbossrules/soa_branches/BRMS-5.0.1: 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
Fri Mar 12 01:14:32 EST 2010
Author: jervisliu
Date: 2010-03-12 01:14:31 -0500 (Fri, 12 Mar 2010)
New Revision: 32050
Added:
labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/LiteralEditor.java
Modified:
labs/jbossrules/soa_branches/BRMS-5.0.1/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java
labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java
labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DSLSentenceWidget.java
labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePicker.java
labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerLabel.java
labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerPopUp.java
labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerTextBox.java
labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/QueryWidget.java
Log:
Merged BRMS-131(broken reloading of values in drop down lists when working with enums) from trunk.
Merge log:
1. For Constants.java and Constants.properties, we only added constants needed by this version.
2. /labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java
replaced its content with r28994.
3. /labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePicker.java
replaced its content with 28994 version.
4. /labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerLabel.java
replaced its content with 28994 version.
5. /labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/LiteralEditor.java
replace its content with 28994 version.
6. /labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/security/SecurityServiceImplTest.java
did not do anything with this file
NOTE: wont compile after this merge. This is mainly because we missed r26981 which is part of fix for BRMS-125. Then did following:
replaced DatePickerTextBox.java with r27109
replaced DatePickerPopUp.java with r26981
replaced DSLSentenceWidget.java with r27110
replaced QueryWidget.java with r26981
replaced /labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java with r27001
For this merge, we also included fixes for following jiras:
r27109: GUVNOR-375 : DSL broken -Dates fixed
r27110: GUVNOR-375 : DSL broken -Broken regexp fixed
r27001: GUVNOR-374 : When using DSL for booleans the dropdown is always saved as true
GUVNOR-373 : Defining a checkbox via DSL doesn't work anymore - generated rule is broken - Fixed in Guvnor and Eclipse
r27000: GUVNOR-373 : Defining a checkbox via DSL doesn't work anymore - generated rule is broken
r26981: GUVNOR-173 : Replace the Date Picker widget in DSLSentenceWidget with a custom widget
Modified: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.0.1/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java 2010-03-12 04:00:47 UTC (rev 32049)
+++ labs/jbossrules/soa_branches/BRMS-5.0.1/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java 2010-03-12 06:14:31 UTC (rev 32050)
@@ -544,7 +544,7 @@
resultWidget.add( "true" );
resultWidget.add( "false" );
- if ( checkedUnchecked.equalsIgnoreCase( "checked" ) ) {
+s if ( checkedUnchecked.equalsIgnoreCase( "true" ) ) {
resultWidget.select( 0 );
} else {
resultWidget.select( 1 );
@@ -589,7 +589,7 @@
}
public String getCheckedValue() {
- return this.resultWidget.getSelectionIndex() == 0 ? "checked" : "checked";
+ return this.resultWidget.getSelectionIndex() == 0 ? "true" : "false";
}
}
@@ -754,4 +754,4 @@
}
-}
+}
\ No newline at end of file
Modified: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java 2010-03-12 04:00:47 UTC (rev 32049)
+++ labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java 2010-03-12 06:14:31 UTC (rev 32050)
@@ -1868,4 +1868,8 @@
String AreYouSureYouWantToRemoveThisBlockOfData();
String PleaseEnterANameThatIsNotAlreadyUsedByAnotherPattern();
+
+ String ValueCanNotBeEmpty();
+
+ String Value();
}
Modified: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties 2010-03-12 04:00:47 UTC (rev 32049)
+++ labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties 2010-03-12 06:14:31 UTC (rev 32050)
@@ -919,4 +919,6 @@
RecentlyOpened=Recently Opened
RecentlyEdited=Recently Edited
IncomingChanges=Incoming changes
-From=From
\ No newline at end of file
+From=From
+ValueCanNotBeEmpty=Value can not be empty
+Value=Value
\ No newline at end of file
Modified: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java 2010-03-12 04:00:47 UTC (rev 32049)
+++ labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java 2010-03-12 06:14:31 UTC (rev 32050)
@@ -45,6 +45,7 @@
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.KeyboardListener;
+import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.SimplePanel;
@@ -119,7 +120,10 @@
} else {
switch ( constraint.constraintValueType ) {
case SingleFieldConstraint.TYPE_LITERAL :
- panel.add( literalEditor() );
+ panel.add( new LiteralEditor( constraint,
+ this.dropDownData,
+ this.fieldType,
+ this.numericValue ) );
break;
case SingleFieldConstraint.TYPE_RET_VALUE :
panel.add( returnValueEditor() );
@@ -141,6 +145,7 @@
if ( this.constraint.value == null ) {
box.addItem( constants.Choose() );
}
+
int j = 0;
for ( int i = 0; i < vars.size(); i++ ) {
String var = (String) vars.get( i );
@@ -179,74 +184,11 @@
}
/**
- * An editor for literal values.
- */
- private Widget literalEditor() {
-
- //use a drop down if we have a fixed list
- if ( this.dropDownData != null ) {
- return enumDropDown( constraint.value,
- new ValueChanged() {
- public void valueChanged(String newValue) {
- constraint.value = newValue;
- }
- },
- this.dropDownData );
-
- } else if ( SuggestionCompletionEngine.TYPE_DATE.equals( this.fieldType ) ) {
-
- DatePickerLabel datePicker = new DatePickerLabel( constraint.value );
-
- // Set the default time
- constraint.value = datePicker.getDateString();
-
- datePicker.addValueChanged( new ValueChanged() {
- public void valueChanged(String newValue) {
- constraint.value = newValue;
- }
- } );
-
- return datePicker;
- } else {
-
- final TextBox box = boundTextBox( constraint );
-
- if ( this.numericValue ) {
- box.addKeyboardListener( new KeyboardListener() {
-
- public void onKeyDown(Widget arg0,
- char arg1,
- int arg2) {
-
- }
-
- public void onKeyPress(Widget w,
- char c,
- int i) {
- if ( Character.isLetter( c ) ) {
- ((TextBox) w).cancelKey();
- }
- }
-
- public void onKeyUp(Widget arg0,
- char arg1,
- int arg2) {
- }
-
- } );
- }
-
- box.setTitle( constants.LiteralValueTip() );
- return box;
- }
- }
-
- /**
* This will do a drop down for enumerated values..
*/
- public static Widget enumDropDown(final String currentValue,
- final ValueChanged valueChanged,
- final DropDownData dropData) {
+ public static ListBox enumDropDown(final String currentValue,
+ final ValueChanged valueChanged,
+ final DropDownData dropData) {
final ListBox box = new ListBox();
final Constants cs = GWT.create( Constants.class );
@@ -277,25 +219,6 @@
}
} );
- // box.addFocusListener(new FocusListener() {
- //
- //
- // public void onFocus(Widget w) {
- // DeferredCommand.addCommand(new Command() {
- // public void execute() {
- // LoadingPopup.showMessage("Refreshing list...");
- // RepositoryServiceFactory.getService().loadDropDownExpression(dropData.valuePairs, dropData.queryExpression, new GenericCallback() {
- // public void onSuccess(Object data) {
- // LoadingPopup.close();
- // String[] list = (String[]) data;
- // doDropDown(currentValue, list, box);
- // }
- // });
- // }
- // });
- // }
- // public void onLostFocus(Widget w) {}
- // });
} else {
//otherwise its just a normal one...
doDropDown( currentValue,
@@ -321,29 +244,6 @@
return box;
}
- // /**
- // * This will do a drop down for enumerated values..
- // */
- // public static Widget enumDropDown(//final ISingleFieldConstraint constraint,
- // final String currentValue, final ValueChanged valueChanged,
- // final String[] enumeratedValues) {
- // final ListBox box = new ListBox();
- //
- // if (currentValue == null || "".equals( currentValue )) {
- // box.addItem( "Choose ..." );
- // }
- //
- // doDropDown(currentValue, enumeratedValues, box);
- //
- // box.addChangeListener( new ChangeListener() {
- // public void onChange(Widget w) {
- // valueChanged.valueChanged( box.getValue( box.getSelectedIndex() ) );
- // //constraint.value = box.getValue( box.getSelectedIndex() );
- // }
- // });
- // return box;
- // }
-
private static void doDropDown(final String currentValue,
final String[] enumeratedValues,
final ListBox box) {
@@ -381,7 +281,7 @@
}
}
- private TextBox boundTextBox(final ISingleFieldConstraint c) {
+ public static TextBox boundTextBox(final ISingleFieldConstraint c) {
final TextBox box = new TextBox();
box.setStyleName( "constraint-value-Editor" ); //NON-NLS
if ( c.value == null ) {
@@ -400,7 +300,7 @@
box.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
c.value = box.getText();
- makeDirty();
+ // makeDirty();
}
} );
@@ -445,7 +345,9 @@
for ( int i = 0; i < vars.size(); i++ ) {
String var = (String) vars.get( i );
FactPattern f = model.getBoundFact( var );
- if ( f.factType.equals( this.fieldType ) ) {
+ String fieldConstraint = model.getFieldConstraint( var );
+
+ if ( (f != null && f.factType.equals( this.fieldType )) || this.fieldType.equals( fieldConstraint ) ) {
foundABouncVariableThatMatches = true;
break;
}
Modified: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DSLSentenceWidget.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DSLSentenceWidget.java 2010-03-12 04:00:47 UTC (rev 32049)
+++ labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DSLSentenceWidget.java 2010-03-12 06:14:31 UTC (rev 32050)
@@ -17,34 +17,25 @@
*/
import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
import java.util.Iterator;
import java.util.List;
import org.drools.guvnor.client.common.DirtyableComposite;
import org.drools.guvnor.client.common.SmallLabel;
import org.drools.guvnor.client.common.ValueChanged;
-import org.drools.guvnor.client.explorer.Preferences;
import org.drools.guvnor.client.messages.Constants;
import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
import org.drools.guvnor.client.modeldriven.brl.DSLSentence;
import com.google.gwt.core.client.GWT;
-import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.FocusListener;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
-import com.google.gwt.user.client.ui.Panel;
-import com.google.gwt.user.client.ui.PopupPanel;
-import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
@@ -162,26 +153,15 @@
// <varName>:DATE:<dateFormat>
// <varName>:BOOLEAN:[checked | unchecked] <-initial value
- int colonIndex = currVariable.indexOf( ":" );
- if ( colonIndex > 0 ) {
-
- String definition = currVariable.substring( colonIndex + 1,
- currVariable.length() );
-
- int secondColonIndex = definition.indexOf( ":" );
- if ( secondColonIndex > 0 ) {
-
- String type = currVariable.substring( colonIndex + 1,
- colonIndex + secondColonIndex + 1 );
- if ( type.equalsIgnoreCase( ENUM_TAG ) ) {
- result = getEnumDropdown( currVariable );
- } else if ( type.equalsIgnoreCase( DATE_TAG ) ) {
- result = getDateSelector( currVariable );
- } else if ( type.equalsIgnoreCase( BOOLEAN_TAG ) ) {
- result = getCheckbox( currVariable );
- }
+ if ( currVariable.contains( ":" ) ) {
+ if ( currVariable.contains( ":" + ENUM_TAG + ":" ) ) {
+ result = getEnumDropdown( currVariable );
+ } else if ( currVariable.contains( ":" + DATE_TAG + ":" ) ) {
+ result = getDateSelector( currVariable );
+ } else if ( currVariable.contains( ":" + BOOLEAN_TAG + ":" ) ) {
+ result = getCheckbox( currVariable );
} else {
- String regex = currVariable.substring( colonIndex + 1,
+ String regex = currVariable.substring( currVariable.indexOf( ":" ) + 1,
currVariable.length() );
result = getBox( currVariable,
regex );
@@ -221,7 +201,10 @@
}
public Widget getDateSelector(String variableDef) {
- return new DSLDateSelector( variableDef );
+ String[] parts = variableDef.split( ":" + DATE_TAG + ":" );
+
+ return new DSLDateSelector( parts[0],
+ parts[1] );
}
public Widget getLabel(String labelDef) {
@@ -452,7 +435,7 @@
resultWidget.addItem( "true" );
resultWidget.addItem( "false" );
- if ( checkedUnchecked.equalsIgnoreCase( "checked" ) ) {
+ if ( checkedUnchecked.equalsIgnoreCase( "true" ) ) {
resultWidget.setSelectedIndex( 0 );
} else {
resultWidget.setSelectedIndex( 1 );
@@ -489,18 +472,17 @@
}
public String getCheckedValue() {
- return this.resultWidget.getSelectedIndex() == 0 ? "checked" : "checked";
+ return this.resultWidget.getSelectedIndex() == 0 ? "true" : "false";
}
}
class DSLDateSelector extends DatePickerLabel {
- public DSLDateSelector(String variableDef) {
- super( variableDef.substring( 0,
- variableDef.indexOf( ":" ) ),
- variableDef.substring( variableDef.lastIndexOf( ":" ) + 1,
- variableDef.length() ) );
+ public DSLDateSelector(String selectedDate,
+ String dateFormat) {
+ super( selectedDate,
+ dateFormat );
addValueChanged( new ValueChanged() {
public void valueChanged(String newValue) {
Modified: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePicker.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePicker.java 2010-03-12 04:00:47 UTC (rev 32049)
+++ labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePicker.java 2010-03-12 06:14:31 UTC (rev 32050)
@@ -13,33 +13,73 @@
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.TextBox;
-public abstract class DatePicker extends DirtyableComposite {
- protected Panel panel = new HorizontalPanel();
- protected TextBox textWidget = new TextBox();
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+abstract class DatePicker extends DirtyableComposite {
+ protected DatePickerPopUp datePickerPopUp;
+
+ protected Panel panel = new HorizontalPanel();
+ protected TextBox textWidget = new TextBox();
+
// Format that the text box uses.
- protected String visualFormat = "";
+ protected String visualFormat = "";
// Format that the system uses.
- protected final static String defaultFormat = Preferences.getStringPref( "drools.dateformat" );
- protected DateTimeFormat formatter = null;
+ protected final static String defaultFormat = Preferences.getStringPref( "drools.dateformat" );
+ protected DateTimeFormat visualFormatFormatter = null;
- protected List<ValueChanged> valueChangeds = new ArrayList<ValueChanged>();
+ protected List<ValueChanged> valueChangeds = new ArrayList<ValueChanged>();
+ protected void solveVisualFormat(String visualFormat) {
+
+ if ( visualFormat == null || visualFormat.equals( "default" ) || visualFormat.equals( "" ) ) {
+ visualFormat = defaultFormat;
+ }
+ this.visualFormat = visualFormat;
+ }
+
public String getVisualFormat() {
return this.visualFormat;
}
public String getDateString() {
+ String t = textWidget.getText();
+ Date date = this.visualFormatFormatter.parse( t );
DateTimeFormat formatter = DateTimeFormat.getFormat( defaultFormat );
- Date date = this.formatter.parse( textWidget.getText() );
return formatter.format( date );
}
- public Date getDate() {
+ /**
+ * Set the date from the dropdowns
+ * @return
+ */
+ protected Date fillDate() {
+ Date date = visualFormatFormatter.parse( textWidget.getText() );
+
+ // years
+ date.setYear( Integer.parseInt( datePickerPopUp.years.getItemText( datePickerPopUp.years.getSelectedIndex() ) ) - 1900 );
+ // months
+ date.setMonth( datePickerPopUp.months.getSelectedIndex() );
+ // days
+ date.setDate( datePickerPopUp.dates.getSelectedIndex() + 1 );
+
+ if ( datePickerPopUp.showTime ) {
+ // hours
+ date.setHours( datePickerPopUp.hours.getSelectedIndex() );
+ // minutes
+ date.setMinutes( datePickerPopUp.minutes.getSelectedIndex() );
+ }
+ return date;
+ }
+
+ public Date getDate() throws IllegalArgumentException {
if ( textWidget.getText() == null || "".equals( textWidget.getText() ) ) {
return null;
} else {
- return this.formatter.parse( textWidget.getText() );
+ return this.visualFormatFormatter.parse( textWidget.getText().trim() );
}
}
Modified: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerLabel.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerLabel.java 2010-03-12 04:00:47 UTC (rev 32049)
+++ labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerLabel.java 2010-03-12 06:14:31 UTC (rev 32050)
@@ -1,64 +1,50 @@
package org.drools.guvnor.client.modeldriven.ui;
-import java.util.ArrayList;
import java.util.Date;
-import java.util.List;
-import org.drools.guvnor.client.common.DirtyableComposite;
-import org.drools.guvnor.client.common.ValueChanged;
-import org.drools.guvnor.client.explorer.Preferences;
-
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.FocusListener;
import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.Panel;
-import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
public class DatePickerLabel extends DatePicker {
- DatePickerPopUp datePickerPopUp = new DatePickerPopUp( new ClickListener() {
- public void onClick(Widget arg0) {
- // Set the date from the dropdowns
- Date date = formatter.parse( textWidget.getText() );
+ protected Label labelWidget = new Label();
- // years
- date.setYear( Integer.parseInt( datePickerPopUp.years.getItemText( datePickerPopUp.years.getSelectedIndex() ) ) - 1900 );
- // months
- date.setMonth( datePickerPopUp.months.getSelectedIndex() );
- // days
- date.setDate( datePickerPopUp.dates.getSelectedIndex() + 1 );
-
- textWidget.setText( formatter.format( date ) );
- labelWidget.setText( textWidget.getText() );
-
- valueChanged();
- makeDirty();
- panel.clear();
- panel.add( labelWidget );
- datePickerPopUp.hide();
- }
- } );
-
- protected Label labelWidget = new Label();
-
public DatePickerLabel(String selectedDate) {
this( selectedDate,
defaultFormat );
}
public DatePickerLabel(String selectedDate,
- String visualFormat) {
- this.visualFormat = visualFormat;
+ String visualFormat) {
+ solveVisualFormat( visualFormat );
- if ( visualFormat == null || visualFormat.equals( "default" ) || visualFormat.equals( "" ) ) {
- visualFormat = defaultFormat;
- }
+ visualFormatFormatter = DateTimeFormat.getFormat( this.visualFormat );
- formatter = DateTimeFormat.getFormat( visualFormat );
+ datePickerPopUp = new DatePickerPopUp( new ClickListener() {
+ public void onClick(Widget arg0) {
+ Date date = fillDate();
+ textWidget.setText( visualFormatFormatter.format( date ) );
+ labelWidget.setText( textWidget.getText() );
+
+ valueChanged();
+ makeDirty();
+ panel.clear();
+ panel.add( labelWidget );
+ datePickerPopUp.hide();
+ }
+ },
+ visualFormatFormatter );
+
labelWidget.setStyleName( "x-form-field" );
labelWidget.addClickListener( new ClickListener() {
@@ -68,16 +54,19 @@
datePickerPopUp.setPopupPosition( textWidget.getAbsoluteLeft(),
textWidget.getAbsoluteTop() + 20 );
- datePickerPopUp.setDropdowns( formatter.parse( textWidget.getText() ) );
+ datePickerPopUp.setDropdowns( visualFormatFormatter,
+ textWidget.getText() );
datePickerPopUp.show();
}
} );
// Check if there is a valid date set. If not, set this date.
try {
- formatter.parse( selectedDate );
+ DateTimeFormat formatter = DateTimeFormat.getFormat( defaultFormat );
+ Date date = formatter.parse( selectedDate );
+ selectedDate = visualFormatFormatter.format( date );
} catch ( Exception e ) {
- selectedDate = formatter.format( new Date() );
+ selectedDate = visualFormatFormatter.format( new Date() );
}
if ( selectedDate != null && !selectedDate.equals( "" ) ) {
@@ -104,4 +93,5 @@
panel.add( labelWidget );
initWidget( panel );
}
+
}
\ No newline at end of file
Modified: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerPopUp.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerPopUp.java 2010-03-12 04:00:47 UTC (rev 32049)
+++ labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerPopUp.java 2010-03-12 06:14:31 UTC (rev 32050)
@@ -5,30 +5,46 @@
import org.drools.guvnor.client.messages.Constants;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.Widget;
/**
- *
+ *
* @author Toni Rikkola
*
*/
public class DatePickerPopUp extends PopupPanel {
- private Constants constants = ((Constants) GWT.create( Constants.class ));
+ private Label timeColonLabel = new Label( ":" );
- protected ListBox years = new ListBox();
- protected ListBox months = new ListBox();
- protected ListBox dates = new ListBox();
+ private Label timeHyphenLabel = new Label( " - " );
- // private ListBox hours = new ListBox();
- // private ListBox minutes = new ListBox();
+ private Constants constants = ((Constants) GWT.create( Constants.class ));
- public DatePickerPopUp(ClickListener okClickListener) {
+ // It is show time! (When to show time next to date selectors)
+ protected boolean showTime = false;
+
+ protected ListBox years = new ListBox();
+ protected ListBox months = new ListBox();
+ protected ListBox dates = new ListBox();
+
+ protected ListBox hours = new ListBox();
+ protected ListBox minutes = new ListBox();
+
+ /**
+ *
+ * @param okClickListener What to do when ok, is pressed
+ * @param showTime Can you select time too.
+ */
+ public DatePickerPopUp(ClickListener okClickListener,
+ DateTimeFormat formatter) {
+
HorizontalPanel horizontalPanel = new HorizontalPanel();
// Add years
@@ -67,20 +83,23 @@
fillDates();
horizontalPanel.add( dates );
- // // Hours
- // for ( int i = 0; i < 24; i++ ) {
- // hours.addItem( Integer.toString( i ) );
- // }
- // horizontalPanel.add( new Label( " - " ) );
- // horizontalPanel.add( hours );
- //
- // // Minutes
- // for ( int i = 0; i < 60; i++ ) {
- // minutes.addItem( Integer.toString( i ) );
- // }
- // horizontalPanel.add( new Label( ":" ) );
- // horizontalPanel.add( minutes );
+ showTime = hasTime( formatter );
+ if ( showTime ) {
+ // Hours
+ for ( int i = 0; i < 24; i++ ) {
+ hours.addItem( Integer.toString( i ) );
+ }
+ horizontalPanel.add( timeHyphenLabel );
+ horizontalPanel.add( hours );
+ // Minutes
+ for ( int i = 0; i < 60; i++ ) {
+ minutes.addItem( Integer.toString( i ) );
+ }
+ horizontalPanel.add( timeColonLabel );
+ horizontalPanel.add( minutes );
+ }
+
Button okButton = new Button( constants.OK() );
okButton.addClickListener( okClickListener );
horizontalPanel.add( okButton );
@@ -89,9 +108,34 @@
}
/**
+ * Simple check, if time format has hours it has time.
+ *
+ * @param formatter
+ * @return
+ */
+ private boolean hasTime(DateTimeFormat formatter) {
+ return formatter.getPattern().contains( "h" ) || formatter.getPattern().contains( "H" ) || formatter.getPattern().contains( "k" ) || formatter.getPattern().contains( "K" );
+ }
+
+ private void setTimeVisible(boolean visible) {
+ hours.setVisible( visible );
+ minutes.setVisible( visible );
+ timeHyphenLabel.setVisible( visible );
+ timeColonLabel.setVisible( visible );
+ }
+
+ /**
* Sets the current year, month ect to dropdowns.
*/
- public void setDropdowns(Date date) {
+ public void setDropdowns(DateTimeFormat formatter,
+ String text) {
+ Date date;
+ try {
+ date = formatter.parse( text );
+ } catch ( Exception e ) {
+ date = new Date();
+ }
+
// Set year
years.clear();
int year = date.getYear() + 1900 - 50;
@@ -107,10 +151,16 @@
months.setSelectedIndex( date.getMonth() );
// day
dates.setSelectedIndex( date.getDate() - 1 );
- // // hours
- // hours.setSelectedIndex( date.getHours() );
- // // minutes
- // minutes.setSelectedIndex( date.getMinutes() );
+
+ setTimeVisible( showTime );
+
+ if ( showTime ) {
+ // hours
+ hours.setSelectedIndex( date.getHours() );
+
+ // minutes
+ minutes.setSelectedIndex( date.getMinutes() );
+ }
}
private void fillDates() {
@@ -118,7 +168,7 @@
dates.clear();
- // Check month
+ // Check month
int days = daysInMonth( months.getSelectedIndex() + 1 );
for ( int i = 1; i <= days; i++ ) {
@@ -143,4 +193,4 @@
}
}
-}
+}
\ No newline at end of file
Modified: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerTextBox.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerTextBox.java 2010-03-12 04:00:47 UTC (rev 32049)
+++ labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DatePickerTextBox.java 2010-03-12 06:14:31 UTC (rev 32050)
@@ -3,10 +3,8 @@
import java.util.Date;
import org.drools.guvnor.client.common.ImageButton;
-import org.drools.guvnor.client.common.ValueChanged;
import com.google.gwt.i18n.client.DateTimeFormat;
-import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.FocusListener;
import com.google.gwt.user.client.ui.TextBox;
@@ -14,27 +12,8 @@
public class DatePickerTextBox extends DatePicker {
- DatePickerPopUp datePickerPopUp = new DatePickerPopUp( new ClickListener() {
- public void onClick(Widget arg0) {
- // Set the date from the dropdowns
- Date date = formatter.parse( textWidget.getText() );
+ private ImageButton select = new ImageButton( "images/edit_tiny.gif" );
- // years
- date.setYear( Integer.parseInt( datePickerPopUp.years.getItemText( datePickerPopUp.years.getSelectedIndex() ) ) - 1900 );
- // months
- date.setMonth( datePickerPopUp.months.getSelectedIndex() );
- // days
- date.setDate( datePickerPopUp.dates.getSelectedIndex() + 1 );
-
- textWidget.setText( formatter.format( date ) );
-
- valueChanged();
- makeDirty();
- datePickerPopUp.hide();
- }
- } );
- ImageButton select = new ImageButton("images/edit_tiny.gif");
-
public DatePickerTextBox(String selectedDate) {
this( selectedDate,
defaultFormat );
@@ -42,35 +21,44 @@
public DatePickerTextBox(String selectedDate,
String visualFormat) {
- this.visualFormat = visualFormat;
+ solveVisualFormat( visualFormat );
- if ( visualFormat == null || visualFormat.equals( "default" ) || visualFormat.equals( "" ) ) {
- visualFormat = defaultFormat;
- }
+ visualFormatFormatter = DateTimeFormat.getFormat( this.visualFormat );
- formatter = DateTimeFormat.getFormat( visualFormat );
+ datePickerPopUp = new DatePickerPopUp( new ClickListener() {
+ public void onClick(Widget arg0) {
+ Date date = fillDate();
+ textWidget.setText( visualFormatFormatter.format( date ) );
+
+ valueChanged();
+ makeDirty();
+ datePickerPopUp.hide();
+ }
+ },
+ visualFormatFormatter );
+
select.addClickListener( new ClickListener() {
public void onClick(Widget arg0) {
datePickerPopUp.setPopupPosition( textWidget.getAbsoluteLeft(),
textWidget.getAbsoluteTop() + 20 );
if ( textWidget.getText() != null && "".equals( textWidget.getText() ) ) {
- textWidget.setText( formatter.format( new Date() ) );
+ textWidget.setText( visualFormatFormatter.format( new Date() ) );
}
- datePickerPopUp.setDropdowns( formatter.parse( textWidget.getText() ) );
+ datePickerPopUp.setDropdowns( visualFormatFormatter,
+ textWidget.getText() );
datePickerPopUp.show();
}
} );
-
if ( selectedDate != null && !selectedDate.equals( "" ) ) {
textWidget.setText( selectedDate );
// Check if there is a valid date set. If not, set this date.
try {
- formatter.parse( selectedDate );
+ visualFormatFormatter.parse( selectedDate );
} catch ( Exception e ) {
selectedDate = null;
}
@@ -94,5 +82,7 @@
initWidget( panel );
}
-
-}
+ public void clear() {
+ textWidget.setText( "" );
+ }
+}
\ No newline at end of file
Added: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/LiteralEditor.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/LiteralEditor.java (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/LiteralEditor.java 2010-03-12 06:14:31 UTC (rev 32050)
@@ -0,0 +1,193 @@
+package org.drools.guvnor.client.modeldriven.ui;
+
+import org.drools.guvnor.client.common.ErrorPopup;
+import org.drools.guvnor.client.common.ValueChanged;
+import org.drools.guvnor.client.messages.Constants;
+import org.drools.guvnor.client.modeldriven.DropDownData;
+import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.guvnor.client.modeldriven.brl.ISingleFieldConstraint;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.KeyboardListener;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.Panel;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ *
+ * Editor for literal values.
+ * Normally shows the value as text, when clicked opens a custom editor for dates,
+ * enums etc or by default a textbox.
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class LiteralEditor extends Composite {
+
+ private Constants constants = ((Constants) GWT.create( Constants.class ));
+ protected Panel panel = new HorizontalPanel();
+ protected Label labelWidget = new Label();
+ private ISingleFieldConstraint constraint;
+ private DropDownData dropDownData;
+ private String fieldType;
+ private final boolean numericValue;
+
+ private final Button okButton = new Button( constants.OK() );
+ private final ValueChanged valueChanged = new ValueChanged() {
+ public void valueChanged(String newValue) {
+ constraint.value = newValue;
+ okButton.click();
+ }
+ };
+
+ public LiteralEditor(ISingleFieldConstraint constraint,
+ DropDownData dropDownData,
+ String fieldType,
+ boolean numericValue) {
+ this.constraint = constraint;
+ this.dropDownData = dropDownData;
+ this.fieldType = fieldType;
+ this.numericValue = numericValue;
+
+ if ( SuggestionCompletionEngine.TYPE_DATE.equals( this.fieldType ) ) {
+
+ DatePickerLabel datePicker = new DatePickerLabel( constraint.value );
+
+ // Set the default time
+ this.constraint.value = datePicker.getDateString();
+
+ datePicker.addValueChanged( valueChanged );
+
+ initWidget( datePicker );
+ } else {
+
+ labelWidget.setStyleName( "x-form-field" );
+
+ if ( constraint.value != null && !"".equals( constraint.value ) ) {
+ labelWidget.setText( constraint.value );
+ } else {
+ labelWidget.setText( constants.Value() );
+ }
+
+ panel.add( labelWidget );
+
+ labelWidget.addClickListener( new ClickListener() {
+ public void onClick(Widget arg0) {
+ // panel.clear();
+ // panel.add( getWidget() );
+ showPopup();
+ }
+ } );
+
+ initWidget( panel );
+ }
+ }
+
+ private void showPopup() {
+ final PopupPanel popup = new PopupPanel();
+ HorizontalPanel horizontalPanel = new HorizontalPanel();
+
+ popup.setPopupPosition( this.getAbsoluteLeft(),
+ this.getAbsoluteTop() );
+
+ okButton.addClickListener( new ClickListener() {
+ public void onClick(Widget arg0) {
+
+ if ( !isValueEmpty( constraint.value ) ) {
+ labelWidget.setText( constraint.value );
+
+ // valueChanged();
+ panel.clear();
+ panel.add( labelWidget );
+ popup.hide();
+ }
+ }
+ } );
+
+ Widget w = getEditorWidget();
+
+ horizontalPanel.add( w );
+ horizontalPanel.add( okButton );
+
+ popup.add( horizontalPanel );
+
+ popup.show();
+
+ }
+
+ public Widget getEditorWidget() {
+
+ //use a drop down if we have a fixed list
+ if ( this.dropDownData != null ) {
+ ListBox box = ConstraintValueEditor.enumDropDown( constraint.value,
+ valueChanged,
+ this.dropDownData );
+
+ box.setVisibleItemCount( 6 );
+
+ return box;
+
+ } else if ( SuggestionCompletionEngine.TYPE_DATE.equals( this.fieldType ) ) {
+
+ DatePickerLabel datePicker = new DatePickerLabel( constraint.value );
+
+ // Set the default time
+ constraint.value = datePicker.getDateString();
+
+ datePicker.addValueChanged( valueChanged );
+
+ return datePicker;
+
+ } else {
+
+ final TextBox box = ConstraintValueEditor.boundTextBox( constraint );
+
+ box.addKeyboardListener( new KeyboardListener() {
+
+ public void onKeyDown(Widget arg0,
+ char arg1,
+ int arg2) {
+
+ }
+
+ public void onKeyPress(Widget w,
+ char c,
+ int i) {
+ if ( numericValue && Character.isLetter( c ) ) {
+ ((TextBox) w).cancelKey();
+ }
+ }
+
+ public void onKeyUp(Widget arg0,
+ char c,
+ int arg2) {
+ if ( '\r' == c || '\n' == c ) {
+ valueChanged.valueChanged( box.getText() );
+ } else {
+ constraint.value = box.getText();
+ }
+ }
+
+ } );
+
+ box.setTitle( constants.LiteralValueTip() );
+ return box;
+ }
+ }
+
+ private boolean isValueEmpty(String s) {
+ if ( s == null || "".equals( s.trim() ) ) {
+ ErrorPopup.showMessage( constants.ValueCanNotBeEmpty() );
+ return true;
+ } else {
+ return false;
+ }
+ }
+}
\ No newline at end of file
Property changes on: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/LiteralEditor.java
___________________________________________________________________
Name: svn:keywords
+ Rev Date
Name: svn:eol-style
+ native
Modified: labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/QueryWidget.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/QueryWidget.java 2010-03-12 04:00:47 UTC (rev 32049)
+++ labs/jbossrules/soa_branches/BRMS-5.0.1/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/QueryWidget.java 2010-03-12 06:14:31 UTC (rev 32050)
@@ -1,12 +1,15 @@
package org.drools.guvnor.client.rulelist;
+import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import org.drools.guvnor.client.common.ErrorPopup;
import org.drools.guvnor.client.common.FormStyleLayout;
import org.drools.guvnor.client.common.GenericCallback;
import org.drools.guvnor.client.common.SmallLabel;
+import org.drools.guvnor.client.explorer.Preferences;
import org.drools.guvnor.client.rpc.MetaDataQuery;
import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
import org.drools.guvnor.client.messages.Constants;
@@ -16,183 +19,223 @@
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.*;
import com.google.gwt.core.client.GWT;
+import com.gwtext.client.util.Format;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.form.DateField;
public class QueryWidget extends Composite {
- private VerticalPanel layout;
- private EditItemEvent openItem;
- private Constants constants = ((Constants) GWT.create(Constants.class));
+ private VerticalPanel layout;
+ private EditItemEvent openItem;
+ private Constants constants = ((Constants) GWT.create( Constants.class ));
public QueryWidget(EditItemEvent openItem) {
- layout = new VerticalPanel();
- this.openItem = openItem;
- doQuickFind();
- doTextSearch();
- doMetaSearch();
+ layout = new VerticalPanel();
+ this.openItem = openItem;
+ doQuickFind();
+ doTextSearch();
+ doMetaSearch();
- layout.setWidth("100%");
+ layout.setWidth( "100%" );
+ initWidget( layout );
+ setWidth( "100%" );
- initWidget(layout);
+ }
- setWidth("100%");
+ private void doMetaSearch() {
+ Panel p = new Panel();
+ p.setCollapsible( true );
+ p.setTitle( constants.AttributeSearch() );
- }
+ final Map<String, MetaDataQuery> atts = new HashMap<String, MetaDataQuery>() {
+ {
+ put( constants.CreatedBy(),
+ new MetaDataQuery( "drools:creator" ) ); //NON-NLS
+ put( constants.Format1(),
+ new MetaDataQuery( "drools:format" ) ); //NON-NLS
+ put( constants.Subject(),
+ new MetaDataQuery( "drools:subject" ) ); //NON-NLS
+ put( constants.Type1(),
+ new MetaDataQuery( "drools:type" ) ); //NON-NLS
+ put( constants.ExternalLink(),
+ new MetaDataQuery( "drools:relation" ) ); //NON-NLS
+ put( constants.Source(),
+ new MetaDataQuery( "drools:source" ) ); //NON-NLS
+ put( constants.Description1(),
+ new MetaDataQuery( "drools:description" ) ); //NON-NLS
+ put( constants.LastModifiedBy(),
+ new MetaDataQuery( "drools:lastContributor" ) ); //NON-NLS
+ put( constants.CheckinComment(),
+ new MetaDataQuery( "drools:checkinComment" ) ); //NON-NLS
+ }
+ };
- private void doMetaSearch() {
- Panel p = new Panel();
- p.setCollapsible(true);
- p.setTitle(constants.AttributeSearch());
+ FormStyleLayout fm = new FormStyleLayout();
+ for ( Iterator iterator = atts.keySet().iterator(); iterator.hasNext(); ) {
+ String fieldName = (String) iterator.next();
+ final MetaDataQuery q = (MetaDataQuery) atts.get( fieldName );
+ final TextBox box = new TextBox();
+ box.setTitle( constants.WildCardsSearchTip() );
+ fm.addAttribute( fieldName + ":",
+ box );
+ box.addChangeListener( new ChangeListener() {
+ public void onChange(Widget w) {
+ q.valueList = box.getText();
+ }
+ } );
+ }
- final Map<String, MetaDataQuery> atts = new HashMap<String, MetaDataQuery>() {
- {
- put(constants.CreatedBy(), new MetaDataQuery("drools:creator")); //NON-NLS
- put(constants.Format1(), new MetaDataQuery("drools:format")); //NON-NLS
- put(constants.Subject(), new MetaDataQuery("drools:subject")); //NON-NLS
- put(constants.Type1(), new MetaDataQuery("drools:type")); //NON-NLS
- put(constants.ExternalLink(), new MetaDataQuery("drools:relation")); //NON-NLS
- put(constants.Source(), new MetaDataQuery("drools:source")); //NON-NLS
- put(constants.Description1(), new MetaDataQuery("drools:description")); //NON-NLS
- put(constants.LastModifiedBy(), new MetaDataQuery("drools:lastContributor")); //NON-NLS
- put(constants.CheckinComment(), new MetaDataQuery("drools:checkinComment")); //NON-NLS
- }
- };
+ HorizontalPanel created = new HorizontalPanel();
+ created.add( new SmallLabel( constants.AfterColon() ) );
+ final DatePickerTextBox createdAfter = new DatePickerTextBox( "" );
+ created.add( createdAfter );
+ created.add( new SmallLabel( " " ) ); //NON-NLS
- FormStyleLayout fm = new FormStyleLayout();
- for (Iterator iterator = atts.keySet().iterator(); iterator.hasNext();) {
- String fieldName = (String) iterator.next();
- final MetaDataQuery q = (MetaDataQuery) atts.get(fieldName);
- final TextBox box = new TextBox();
- box.setTitle(constants.WildCardsSearchTip());
- fm.addAttribute(fieldName + ":", box);
- box.addChangeListener(new ChangeListener() {
- public void onChange(Widget w) {
- q.valueList = box.getText();
- }
- });
- }
+ created.add( new SmallLabel( constants.BeforeColon() ) );
+ final DatePickerTextBox createdBefore = new DatePickerTextBox( "" );
+ created.add( createdBefore );
- HorizontalPanel created = new HorizontalPanel();
- created.add(new SmallLabel(constants.AfterColon()));
- final DatePickerTextBox createdAfter = new DatePickerTextBox( "" );
- created.add(createdAfter);
-
- created.add(new SmallLabel(" ")); //NON-NLS
+ fm.addAttribute( constants.DateCreated1(),
+ created );
- created.add(new SmallLabel(constants.BeforeColon()));
- final DatePickerTextBox createdBefore = new DatePickerTextBox( "" );
- created.add(createdBefore);
+ HorizontalPanel lastMod = new HorizontalPanel();
+ lastMod.add( new SmallLabel( constants.AfterColon() ) );
+ final DatePickerTextBox lastModAfter = new DatePickerTextBox( "" );
+ lastMod.add( lastModAfter );
- fm.addAttribute(constants.DateCreated1(), created);
+ lastMod.add( new SmallLabel( " " ) ); //NON-NLS
+ lastMod.add( new SmallLabel( constants.BeforeColon() ) );
+ final DatePickerTextBox lastModBefore = new DatePickerTextBox( "" );
+ lastMod.add( lastModBefore );
+ fm.addAttribute( constants.LastModified1(),
+ lastMod );
- HorizontalPanel lastMod = new HorizontalPanel();
- lastMod.add(new SmallLabel(constants.AfterColon()));
- final DatePickerTextBox lastModAfter = new DatePickerTextBox( "" );
- lastMod.add(lastModAfter);
+ final SimplePanel resultsP = new SimplePanel();
+ Button search = new Button( constants.Search() );
+ fm.addAttribute( "",
+ search );
+ search.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ resultsP.clear();
+ AssetItemGrid grid = new AssetItemGrid( openItem,
+ "searchresults",
+ new AssetItemGridDataLoader() { //NON-NLS
+ public void loadData(int startRow,
+ int numberOfRows,
+ GenericCallback cb) {
+ MetaDataQuery[] mdq = new MetaDataQuery[atts.size()];
+ int i = 0;
+ for ( Iterator iterator = atts.keySet().iterator(); iterator.hasNext(); ) {
+ String name = (String) iterator.next();
+ mdq[i] = (MetaDataQuery) atts.get( name );
+ i++;
+ }
+ try {
+ RepositoryServiceFactory.getService().queryMetaData( mdq,
+ getDate( createdAfter ),
+ getDate( createdBefore ),
+ getDate( lastModAfter ),
+ getDate( lastModBefore ),
+ false,
+ startRow,
+ numberOfRows,
+ cb );
+ } catch ( IllegalArgumentException e ) {
+ ErrorPopup.showMessage( Format.format( constants.BadDateFormatPleaseTryAgainTryTheFormatOf0(),
+ Preferences.getStringPref( "drools.dateformat" ) ) );
+ }
+ }
- lastMod.add(new SmallLabel(" ")); //NON-NLS
+ private Date getDate(final DatePickerTextBox datePicker) {
+ try {
+ return datePicker.getDate();
+ } catch ( IllegalArgumentException e ) {
+ datePicker.clear();
+ throw e;
+ }
+ }
+ } );
+ resultsP.add( grid );
+ }
+ } );
+ fm.addRow( resultsP );
+ p.add( fm );
+ p.setCollapsed( true );
+ layout.add( p );
+ }
- lastMod.add(new SmallLabel(constants.BeforeColon()));
- final DatePickerTextBox lastModBefore = new DatePickerTextBox( "" );
- lastMod.add(lastModBefore);
+ private void doQuickFind() {
+ Panel p = new Panel();
+ p.setCollapsible( true );
+ p.setTitle( constants.NameSearch() );
+ p.add( new QuickFindWidget( openItem ) );
- fm.addAttribute(constants.LastModified1(), lastMod);
+ p.setCollapsed( false );
- final SimplePanel resultsP = new SimplePanel();
- Button search = new Button(constants.Search());
- fm.addAttribute("", search);
- search.addClickListener(new ClickListener() {
- public void onClick(Widget w) {
- resultsP.clear();
- AssetItemGrid grid = new AssetItemGrid(openItem, "searchresults", new AssetItemGridDataLoader() { //NON-NLS
- public void loadData(int startRow, int numberOfRows,
- GenericCallback cb) {
- MetaDataQuery[] mdq = new MetaDataQuery[atts.size()];
- int i = 0;
- for (Iterator iterator = atts.keySet().iterator(); iterator
- .hasNext();) {
- String name = (String) iterator.next();
- mdq[i] = (MetaDataQuery) atts.get(name);
- i++;
- }
- RepositoryServiceFactory.getService().queryMetaData(mdq, createdAfter.getDate(), createdBefore.getDate(),
- lastModAfter.getDate(), lastModBefore.getDate(), false, startRow, numberOfRows, cb);
- }
- });
- resultsP.add(grid);
- }
- });
- fm.addRow(resultsP);
- p.add(fm);
- p.setCollapsed(true);
- layout.add(p);
- }
+ layout.add( p );
+ }
- private void doQuickFind() {
- Panel p = new Panel();
- p.setCollapsible(true);
- p.setTitle(constants.NameSearch());
- p.add(new QuickFindWidget(openItem));
+ private void doTextSearch() {
+ Panel p = new Panel();
+ p.setCollapsible( true );
+ p.setTitle( constants.TextSearch() );
- p.setCollapsed(false);
+ p.setCollapsed( true );
- layout.add(p);
- }
+ FormStyleLayout ts = new FormStyleLayout();
+ final TextBox tx = new TextBox();
+ ts.addAttribute( constants.SearchFor(),
+ tx );
+ Button go = new Button();
+ go.setText( constants.Search1() );
+ ts.addAttribute( "",
+ go );
+ ts.setWidth( "100%" );
+ p.add( ts );
- private void doTextSearch() {
- Panel p = new Panel();
- p.setCollapsible(true);
- p.setTitle(constants.TextSearch());
-
- p.setCollapsed(true);
-
- FormStyleLayout ts = new FormStyleLayout();
- final TextBox tx = new TextBox();
- ts.addAttribute(constants.SearchFor(), tx);
- Button go = new Button();
- go.setText(constants.Search1());
- ts.addAttribute("", go);
- ts.setWidth("100%");
- p.add(ts);
-
-
- final SimplePanel resultsP = new SimplePanel();
+ final SimplePanel resultsP = new SimplePanel();
final ClickListener cl = new ClickListener() {
- public void onClick(Widget w) {
- if (tx.getText().equals("")) {
- Window.alert(constants.PleaseEnterSomeSearchText());
- return;
- }
- resultsP.clear();
- AssetItemGrid grid = new AssetItemGrid(openItem, "searchresults", new AssetItemGridDataLoader() { //NON-NLS
- public void loadData(int startRow, int numberOfRows,
- GenericCallback cb) {
- RepositoryServiceFactory.getService().queryFullText(tx.getText(), false, startRow, numberOfRows, cb);
- }
- });
- resultsP.add(grid);
- }
- };
+ public void onClick(Widget w) {
+ if ( tx.getText().equals( "" ) ) {
+ Window.alert( constants.PleaseEnterSomeSearchText() );
+ return;
+ }
+ resultsP.clear();
+ AssetItemGrid grid = new AssetItemGrid( openItem,
+ "searchresults",
+ new AssetItemGridDataLoader() { //NON-NLS
+ public void loadData(int startRow,
+ int numberOfRows,
+ GenericCallback cb) {
+ RepositoryServiceFactory.getService().queryFullText( tx.getText(),
+ false,
+ startRow,
+ numberOfRows,
+ cb );
+ }
+ } );
+ resultsP.add( grid );
+ }
+ };
- go.addClickListener(cl);
- tx.addKeyboardListener(new KeyboardListenerAdapter() {
+ go.addClickListener( cl );
+ tx.addKeyboardListener( new KeyboardListenerAdapter() {
@Override
- public void onKeyUp(Widget sender, char keyCode, int modifiers) {
- if (keyCode == KeyboardListener.KEY_ENTER) {
- cl.onClick(sender);
+ public void onKeyUp(Widget sender,
+ char keyCode,
+ int modifiers) {
+ if ( keyCode == KeyboardListener.KEY_ENTER ) {
+ cl.onClick( sender );
}
}
- });
- ts.addRow(resultsP);
- layout.add(p);
- }
+ } );
+ ts.addRow( resultsP );
+ layout.add( p );
+ }
-
-
-}
+}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list