private ConditionCol52 makeNewConditionColumn( final AvailableField f ) { final GuidedDecisionTable52.TableFormat format = presenter.getTableFormat(); if ( format == GuidedDecisionTable52.TableFormat.EXTENDED_ENTRY ) { final ConditionCol52 c = new ConditionCol52(); c.setFactField( f.getName() ); c.setFieldType( f.getType() ); c.setConstraintValueType( f.getCalculationType() ); return c; } else { final LimitedEntryConditionCol52 c = new LimitedEntryConditionCol52(); c.setFactField( f.getName() ); c.setFieldType( f.getType() ); c.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL ); return c; } }
private void populateModelColumn( final ConditionCol52 col, final ConditionCol52 editingCol ) { col.setConstraintValueType( editingCol.getConstraintValueType() ); col.setFactField( editingCol.getFactField() ); col.setFieldType( editingCol.getFieldType() ); col.setHeader( editingCol.getHeader() ); col.setOperator( editingCol.getOperator() ); col.setValueList( editingCol.getValueList() ); col.setDefaultValue( editingCol.getDefaultValue() ); col.setHideColumn( editingCol.isHideColumn() ); col.setParameters( editingCol.getParameters() ); col.setBinding( editingCol.getBinding() ); if ( col instanceof LimitedEntryCol && editingCol instanceof LimitedEntryCol ) { ( (LimitedEntryCol) col ).setValue( ( (LimitedEntryCol) editingCol ).getValue() ); } }
public boolean isConditionOperatorValid( ConditionCol52 c ) { if ( c.getConstraintValueType() == BaseSingleFieldConstraint.TYPE_PREDICATE ) { return true; } return !( c.getOperator() == null || c.getOperator().equals( "" ) ); }
private SmallLabel makeColumnLabel( ConditionCol52 cc ) { StringBuilder sb = new StringBuilder(); if ( cc.isBound() ) { sb.append( cc.getBinding() ); sb.append( " : " ); } sb.append( cc.getHeader() ); SmallLabel label = new SmallLabel( sb.toString() ); if ( cc.isHideColumn() ) { label.setStylePrimaryName( Resources.INSTANCE.css().columnLabelHidden() ); } return label; }
public void onClick( ClickEvent w ) { if ( null == editingCol.getHeader() || "".equals( editingCol.getHeader() ) ) { Window.alert( Constants.INSTANCE.YouMustEnterAColumnHeaderValueDescription() ); return; if ( editingCol.getConstraintValueType() != BaseSingleFieldConstraint.TYPE_PREDICATE ) { if ( null == editingCol.getFactField() || "".equals( editingCol.getFactField() ) ) { Window.alert( Constants.INSTANCE.PleaseSelectOrEnterField() ); return; if ( null == editingCol.getOperator() || "".equals( editingCol.getOperator() ) ) { Window.alert( Constants.INSTANCE.NotifyNoSelectedOperator() ); editingCol.setOperator( null ); if ( editingCol.isBound() && !isBindingUnique( editingCol.getBinding() ) ) { Window.alert( Constants.INSTANCE.PleaseEnterANameThatIsNotAlreadyUsedByAnotherPattern() ); return; if ( !unique( editingCol.getHeader() ) ) { Window.alert( Constants.INSTANCE.ThatColumnNameIsAlreadyInUsePleasePickAnother() ); return; if ( !col.getHeader().equals( editingCol.getHeader() ) ) { if ( !unique( editingCol.getHeader() ) ) { Window.alert( Constants.INSTANCE.ThatColumnNameIsAlreadyInUsePleasePickAnother() ); return; if ( editingCol.getConstraintValueType() != BaseSingleFieldConstraint.TYPE_LITERAL ) {
&& isEqualOrNull( origColumn.getFactField(), editColumn.getFactField() ) && origColumn.getConstraintValueType() == editColumn.getConstraintValueType() ) { if ( origColumn.isHideColumn() != editColumn.isHideColumn() ) { setColumnVisibility( origColumn, !editColumn.isHideColumn() ); if ( !isEqualOrNull( origColumn.getOperator(), editColumn.getOperator() ) ) { bUpdateColumnDefinition = true; || !isEqualOrNull( origColumn.getFactField(), editColumn.getFactField() ) || !isEqualOrNull( origColumn.getFieldType(), editColumn.getFieldType() ) || !isEqualOrNull( origColumn.getOperator(), editColumn.getOperator() ) || origColumn.getConstraintValueType() != editColumn.getConstraintValueType() ) { bUpdateColumnData = true; bUpdateColumnDefinition = true; if ( !isEqualOrNull( origColumn.getValueList(), editColumn.getValueList() ) ) { bUpdateColumnDefinition = true; bUpdateColumnData = updateCellsForOptionValueList( editColumn, if ( !origColumn.getHeader().equals( editColumn.getHeader() ) ) { bUpdateColumnDefinition = true;
public void onClick( ClickEvent w ) { editingCol.setFactField( box.getItemText( box.getSelectedIndex() ) ); editingCol.setFieldType( oracle.getFieldType( editingPattern.getFactType(), editingCol.getFactField() ) ); //Clear Operator when field changes editingCol.setOperator( null ); //Setup UI doFieldLabel(); doValueList(); doCalculationType(); makeLimitedValueWidget(); makeDefaultValueWidget(); doOperatorLabel(); pop.hide(); } } );
tsdt.getConditionPattern( "z1" ).getChildColumns().get( 0 ).getConstraintValueType() ); assertEquals( "age", tsdt.getConditionPattern( "z1" ).getChildColumns().get( 0 ).getFactField() ); assertEquals( "Driver", tsdt.getPattern( tsdt.getConditionPattern( "z1" ).getChildColumns().get( 0 ) ).getFactType() ); assertEquals( "Driver z1 age", tsdt.getConditionPattern( "z1" ).getChildColumns().get( 0 ).getHeader() ); assertEquals( "==", tsdt.getConditionPattern( "z1" ).getChildColumns().get( 0 ).getOperator() ); tsdt.getConditionPattern( "z1" ).getChildColumns().get( 1 ).getConstraintValueType() ); assertEquals( "rating", tsdt.getConditionPattern( "z1" ).getChildColumns().get( 1 ).getFactField() ); assertEquals( "Driver", tsdt.getPattern( tsdt.getConditionPattern( "z1" ).getChildColumns().get( 1 ) ).getFactType() ); assertEquals( "Driver rating", tsdt.getConditionPattern( "z1" ).getChildColumns().get( 1 ).getHeader() ); assertEquals( "==", tsdt.getConditionPattern( "z1" ).getChildColumns().get( 1 ).getOperator() ); tsdt.getConditionPattern( "f1" ).getChildColumns().get( 0 ).getConstraintValueType() ); assertEquals( "name", tsdt.getConditionPattern( "f1" ).getChildColumns().get( 0 ).getFactField() ); assertEquals( "Person", tsdt.getPattern( tsdt.getConditionPattern( "f1" ).getChildColumns().get( 0 ) ).getFactType() ); assertEquals( "Person f1 name", tsdt.getConditionPattern( "f1" ).getChildColumns().get( 0 ).getHeader() ); assertEquals( "==", tsdt.getConditionPattern( "f1" ).getChildColumns().get( 0 ).getOperator() );
dt ); final ConditionCol52 c1 = new ConditionCol52(); final Pattern52 p1 = new Pattern52(); p1.setBoundName( "c1" ); p1.setFactType( "Driver" ); c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_PREDICATE ); c1.setFieldType( DataType.TYPE_STRING ); c1.setValueList( "age>10,age>20,age>30" ); p1.getChildColumns().add( c1 ); dt.getConditions().add( p1 );
private void makeLiteral( final StringBuilder sb, final ConditionCol52 condition ) { appendHeader( sb, condition ); sb.append( condition.getFactField() ); }
private void doOperatorLabel() { if ( editingCol.getConstraintValueType() == BaseSingleFieldConstraint.TYPE_PREDICATE ) { operatorLabel.setText( Constants.INSTANCE.notNeededForPredicate() ); } else if ( nil( editingPattern.getFactType() ) ) { operatorLabel.setText( Constants.INSTANCE.pleaseSelectAPatternFirst() ); } else if ( nil( editingCol.getFactField() ) ) { operatorLabel.setText( Constants.INSTANCE.pleaseChooseAFieldFirst() ); } else if ( nil( editingCol.getOperator() ) ) { operatorLabel.setText( Constants.INSTANCE.pleaseSelectAField() ); } else { operatorLabel.setText( HumanReadable.getOperatorDisplayName(editingCol.getOperator()) ); } }
txtColumnHeader.setText( chosenConditionsSelection.getHeader() ); txtValueList.setEnabled( !presenter.requiresValueList( availablePatternsSelection, chosenConditionsSelection ) ); txtValueList.setText( chosenConditionsSelection.getValueList() ); if ( chosenConditionsSelection.getConstraintValueType() == BaseSingleFieldConstraint.TYPE_PREDICATE ) { txtPredicateExpression.setText( chosenConditionsSelection.getFactField() ); switch ( chosenConditionsSelection.getConstraintValueType() ) { case BaseSingleFieldConstraint.TYPE_LITERAL: optLiteral.setValue( true );
@Override public String[] getOperatorCompletions( final Pattern52 selectedPattern, final ConditionCol52 selectedCondition ) { final String factType = selectedPattern.getFactType(); final String factField = selectedCondition.getFactField(); final String[] ops = this.oracle.getOperatorCompletions( factType, factField ); //Operators "in" and "not in" are only allowed if the Calculation Type is a Literal final List<String> filteredOps = new ArrayList<String>(); for ( String op : ops ) { filteredOps.add( op ); } if ( BaseSingleFieldConstraint.TYPE_LITERAL != selectedCondition.getConstraintValueType() ) { filteredOps.remove( "in" ); } //But remove "in" if the Fact\Field is enumerated if ( oracle.hasEnums( factType, factField ) ) { filteredOps.remove( "in" ); } final String[] displayOps = new String[ filteredOps.size() ]; filteredOps.toArray( displayOps ); return displayOps; }
final ConditionCol52 c1 = new ConditionCol52(); final Pattern52 p1 = new Pattern52(); p1.setBoundName( "c1" ); p1.setFactType( "Driver" ); c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL ); p1.getChildColumns().add( c1 ); dt.getConditions().add( p1 ); final ConditionCol52 c2 = new ConditionCol52(); final Pattern52 p2 = new Pattern52(); p2.setBoundName( "c2" ); p2.setFactType( "Driver" ); c2.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL ); c2.setValueList( "a,b,c" ); p2.getChildColumns().add( c2 ); dt.getConditions().add( p1 );
public void onClick( ClickEvent w ) { String[] val = pats.getValue( pats.getSelectedIndex() ).split( "\\s" ); editingPattern = model.getConditionPattern( val[ 1 ] ); //Clear Field and Operator when pattern changes editingCol.setFactField( null ); editingCol.setOperator( null ); //Set-up UI entryPointName.setText( editingPattern.getEntryPointName() ); cwo.selectItem( editingPattern.getWindow().getOperator() ); makeLimitedValueWidget(); makeDefaultValueWidget(); displayCEPOperators(); doPatternLabel(); doValueList(); doCalculationType(); pop.hide(); } } );
@Test public void testNoConstraints() { GuidedDecisionTable52 dt = new GuidedDecisionTable52(); Pattern52 p1 = new Pattern52(); p1.setBoundName( "x" ); p1.setFactType( "Context" ); ConditionCol52 c = new ConditionCol52(); c.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL ); p1.getChildColumns().add( c ); dt.getConditions().add( p1 ); ActionSetFieldCol52 asf = new ActionSetFieldCol52(); asf.setBoundName( "x" ); asf.setFactField( "age" ); asf.setType( DataType.TYPE_STRING ); dt.getActionCols().add( asf ); String[][] data = new String[][]{ new String[]{ "1", "desc", "y", "old" } }; dt.setData( DataUtilities.makeDataLists( data ) ); String drl = GuidedDTDRLPersistence.getInstance().marshal( dt ); assertTrue( drl.indexOf( "Context( )" ) > -1 ); assertTrue( drl.indexOf( "x.setAge" ) > drl.indexOf( "Context( )" ) ); assertFalse( drl.indexOf( "update( x );" ) > -1 ); dt.setData( DataUtilities.makeDataLists( new String[][]{ new String[]{ "1", "desc", "", "old" } } ) ); drl = GuidedDTDRLPersistence.getInstance().marshal( dt ); assertEquals( -1, drl.indexOf( "Context( )" ) ); }
private void doCalculationType() { if ( model.getTableFormat() == TableFormat.LIMITED_ENTRY ) { return; } //Disable Formula and Predicate if the Fact\Field has enums final String factType = editingPattern.getFactType(); final String factField = editingCol.getFactField(); final boolean hasEnums = oracle.hasEnums( factType, factField ); this.literal.setEnabled( hasEnums || !isReadOnly ); this.formula.setEnabled( !( hasEnums || isReadOnly ) ); this.predicate.setEnabled( !( hasEnums || isReadOnly ) ); //If Fact\Field has enums the Value Type has to be a literal if ( hasEnums ) { this.editingCol.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL ); } }
private DecoratedGridCellValueAdaptor<? extends Comparable<?>> derieveCellFromCondition( ConditionCol52 col ) { //Operators "is null" and "is not null" require a boolean cell if ( col.getOperator() != null && ( col.getOperator().equals( "== null" ) || col.getOperator().equals( "!= null" ) ) ) { return makeBooleanCell(); } //Check if the column has a "Value List" or an enumeration. Value List takes precedence final String factType = model.getPattern( col ).getFactType(); final String fieldName = col.getFactField(); if ( utils.hasValueList( col ) ) { return makeValueListCell( col ); } else if ( oracle.hasEnums( factType, fieldName ) ) { return makeEnumCell( factType, fieldName ); } return derieveCellFromModel( col ); }
return; if ( nil( editingCol.getFactField() ) ) { setAttributeVisibility( defaultValueWidgetContainerIndex, false ); if ( editingCol.getDefaultValue() == null ) { editingCol.setDefaultValue( factory.makeNewValue( editingPattern, editingCol ) ); final DTCellValue52 defaultValue = editingCol.getDefaultValue(); final DataType.DataTypes dataType = utilities.getDataType( editingPattern, editingCol );
public void onClick( ClickEvent w ) { editingCol.setFactField( null ); applyConsTypeChange( BaseSingleFieldConstraint.TYPE_LITERAL ); } } );