private FromAccumulateCompositeFactPattern visitFromAccumulateCompositeFactPattern(FromAccumulateCompositeFactPattern pattern) { FromAccumulateCompositeFactPattern clone = new FromAccumulateCompositeFactPattern(); clone.setActionCode(pattern.getActionCode()); clone.setExpression((ExpressionFormLine) visit(pattern.getExpression())); clone.setFactPattern((FactPattern) visit(pattern.getFactPattern())); clone.setFunction(pattern.getFunction()); clone.setInitCode(pattern.getInitCode()); clone.setResultCode(pattern.getResultCode()); clone.setReverseCode(pattern.getReverseCode()); clone.setSourcePattern((IPattern) visit(pattern.getSourcePattern())); return clone; }
private void visitFromAccumulateCompositeFactPattern(final FromAccumulateCompositeFactPattern pattern) { visit(pattern.getFactPattern()); visit(pattern.getExpression()); visit(pattern.getSourcePattern()); }
private void visitFromAccumulateCompositeFactPattern(FromAccumulateCompositeFactPattern pattern) { visit(pattern.getFactPattern()); visit(pattern.getSourcePattern()); parseStringPattern(pattern.getActionCode()); parseStringPattern(pattern.getInitCode()); parseStringPattern(pattern.getReverseCode()); }
private static FromAccumulateCompositeFactPattern buildFromAccumulateCompositeFactPattern() { FromAccumulateCompositeFactPattern facc = new FromAccumulateCompositeFactPattern(); facc.setActionCode( "action code; " ); facc.setExpression( buildExpressionFormLine() ); facc.setFactPattern( buildFactPattern() ); facc.setFunction( "function;" ); facc.setInitCode( "setPlugin code;" ); facc.setResultCode( "result code;" ); facc.setReverseCode( "reverse code;" ); facc.setSourcePattern( buildExpressionFormLine() ); return facc; }
if (pattern.getFactPattern() != null) { final LHSGeneratorContext gctx = generatorContextFactory.newChildGeneratorContext(rootContext, pattern.getFactPattern()); generateFactPattern(pattern.getFactPattern(), gctx); if (pattern.getSourcePattern() != null) { if (pattern.getSourcePattern() instanceof FactPattern) { final LHSGeneratorContext soucrceGctx = generatorContextFactory.newGeneratorContext(); generateFactPattern((FactPattern) pattern.getSourcePattern(), soucrceGctx); } else if (pattern.getSourcePattern() instanceof FromAccumulateCompositeFactPattern) { visitFromAccumulateCompositeFactPattern((FromAccumulateCompositeFactPattern) pattern.getSourcePattern(), _isSubPattern); } else if (pattern.getSourcePattern() instanceof FromCollectCompositeFactPattern) { visitFromCollectCompositeFactPattern((FromCollectCompositeFactPattern) pattern.getSourcePattern(), _isSubPattern); } else if (pattern.getSourcePattern() instanceof FromEntryPointFactPattern) { visitFromEntryPointFactPattern((FromEntryPointFactPattern) pattern.getSourcePattern(), _isSubPattern); } else if (pattern.getSourcePattern() instanceof FromCompositeFactPattern) { visitFromCompositeFactPattern((FromCompositeFactPattern) pattern.getSourcePattern(), _isSubPattern); } else { throw new IllegalArgumentException("Unsupported pattern " + pattern.getSourcePattern() + " for FROM ACCUMULATE"); if (pattern.useFunctionOrCode().equals(FromAccumulateCompositeFactPattern.USE_FUNCTION)) { if (isDSLEnhanced) { buf.append(">");
setModified(true); if (sender == initField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setInitCode(code); } else if (sender == actionField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setActionCode(code); } else if (sender == reverseField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setReverseCode(code); } else if (sender == resultField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setResultCode(code); } else if (sender == functionField) { getFromAccumulatePattern().clearCodeFields(); initField.setText(""); actionField.setText(""); reverseField.setText(""); resultField.setText(""); getFromAccumulatePattern().setFunction(code);
@Test public void testFromAccumulateCompositePatternMissingValues() throws Exception { FactPattern pattern1 = new FactPattern("Person"); SingleFieldConstraint constraint1 = new SingleFieldConstraint("name"); constraint1.setOperator("=="); pattern1.addConstraint(constraint1); FactPattern pattern2 = new FactPattern("Address"); SingleFieldConstraint constraint2 = new SingleFieldConstraint("street"); constraint2.setOperator("!="); pattern2.addConstraint(constraint2); FromAccumulateCompositeFactPattern fromAccumulateCompositeFactPattern = new FromAccumulateCompositeFactPattern(); fromAccumulateCompositeFactPattern.setSourcePattern(pattern1); fromAccumulateCompositeFactPattern.setFactPattern(pattern2); fromAccumulateCompositeFactPattern.setFunction("test()"); model.lhs = new IPattern[]{fromAccumulateCompositeFactPattern}; assertFalse(validator.isValid()); assertEquals(2, validator.getErrors().size()); verify(constants, never()).WhenUsingFromTheSourceNeedsToBeSet(); verify(constants).FactType0HasAField1ThatHasAnOperatorSetButNoValuePleaseAddAValueOrRemoveTheOperator("Person", "name"); verify(constants).FactType0HasAField1ThatHasAnOperatorSetButNoValuePleaseAddAValueOrRemoveTheOperator("Address", "street"); }
@Test public void testFromAccumulateCompositePattern() throws Exception { FactPattern pattern1 = new FactPattern("Person"); SingleFieldConstraint constraint1 = new SingleFieldConstraint("name"); constraint1.setOperator("=="); constraint1.setValue("Toni"); pattern1.addConstraint(constraint1); FactPattern pattern2 = new FactPattern("Address"); SingleFieldConstraint constraint2 = new SingleFieldConstraint("street"); constraint2.setOperator("!="); constraint2.setValue("some street"); pattern2.addConstraint(constraint2); FromAccumulateCompositeFactPattern fromAccumulateCompositeFactPattern = new FromAccumulateCompositeFactPattern(); fromAccumulateCompositeFactPattern.setSourcePattern(pattern1); fromAccumulateCompositeFactPattern.setFactPattern(pattern2); ExpressionFormLine expression = new ExpressionFormLine(); expression.setBinding("person.addresses"); fromAccumulateCompositeFactPattern.setExpression(expression); model.lhs = new IPattern[]{fromAccumulateCompositeFactPattern}; assertTrue(validator.isValid()); }
private void validateFromAccumulateCompositeFactPattern(final FromAccumulateCompositeFactPattern fromAccumulateCompositeFactPattern) { validateIPattern(fromAccumulateCompositeFactPattern.getSourcePattern()); validateIPattern(fromAccumulateCompositeFactPattern.getFactPattern()); if (isExpressionBindingMissing(fromAccumulateCompositeFactPattern) && isStringNullOrEmpty(fromAccumulateCompositeFactPattern.getFunction()) && isAccumulateMissing(fromAccumulateCompositeFactPattern)) { reportMissingSource(); } }
private Set<String> visitFromAccumulateCompositeFactPattern(FromAccumulateCompositeFactPattern pattern) { final Set<String> factTypes = new HashSet<String>(); factTypes.addAll(visit(pattern.getFactPattern())); factTypes.addAll(visit(pattern.getSourcePattern())); return factTypes; }
private boolean isAccumulateMissing(final FromAccumulateCompositeFactPattern fromAccumulateCompositeFactPattern) { return isStringNullOrEmpty(fromAccumulateCompositeFactPattern.getActionCode()) && isStringNullOrEmpty(fromAccumulateCompositeFactPattern.getResultCode()) && isStringNullOrEmpty(fromAccumulateCompositeFactPattern.getResultCode()) && isStringNullOrEmpty(fromAccumulateCompositeFactPattern.getInitCode()); }
public void onClick(ClickEvent event) { Widget sender = (Widget) event.getSource(); if (sender == fromBtn) { getFromAccumulatePattern().setSourcePattern(new FromCompositeFactPattern()); } else if (sender == fromAccumulateBtn) { getFromAccumulatePattern().setSourcePattern(new FromAccumulateCompositeFactPattern()); } else if (sender == fromCollectBtn) { getFromAccumulatePattern().setSourcePattern(new FromCollectCompositeFactPattern()); } else if (sender == fromEntryPointBtn) { getFromAccumulatePattern().setSourcePattern(new FromEntryPointFactPattern()); } else { throw new IllegalArgumentException("Unknown sender: " + sender); } setModified(true); getModeller().refreshWidget(); popup.hide(); } };
private void addNewFCE(String type, int position) { FromCompositeFactPattern p = null; if (type.equals("from")) { p = new FromCompositeFactPattern(); } else if (type.equals("from accumulate")) { p = new FromAccumulateCompositeFactPattern(); } else if (type.equals("from collect")) { p = new FromCollectCompositeFactPattern(); } else if (type.equals("from entry-point")) { p = new FromEntryPointFactPattern(); } this.model.addLhsItem(p, position); } }
public void onClick(ClickEvent event) { if (Window.confirm(GuidedRuleEditorResources.CONSTANTS.RemoveThisBlockOfData())) { setModified(true); getFromAccumulatePattern().setSourcePattern(null); getModeller().refreshWidget(); } } }));
private void visitFromAccumulateCompositeFactPattern( final FromAccumulateCompositeFactPattern pattern ) { if ( pattern.getFactPattern() != null ) { visit( pattern.getFactPattern() ); } }
@Test public void testFromAccumulateCompositePatternMissingValues2() throws Exception { FactPattern pattern1 = new FactPattern("Person"); FactPattern pattern2 = new FactPattern("Address"); FromAccumulateCompositeFactPattern fromAccumulateCompositeFactPattern = new FromAccumulateCompositeFactPattern(); fromAccumulateCompositeFactPattern.setSourcePattern(pattern1); fromAccumulateCompositeFactPattern.setFactPattern(pattern2); fromAccumulateCompositeFactPattern.setFunction(""); fromAccumulateCompositeFactPattern.setReverseCode(""); fromAccumulateCompositeFactPattern.setInitCode(""); fromAccumulateCompositeFactPattern.setActionCode(""); fromAccumulateCompositeFactPattern.setResultCode(""); model.lhs = new IPattern[]{fromAccumulateCompositeFactPattern}; assertFalse(validator.isValid()); assertEquals(1, validator.getErrors().size()); verify(constants).WhenUsingFromTheSourceNeedsToBeSet(); }
if (this.getFromAccumulatePattern().getSourcePattern() == null) { panel.setWidget(r++, 0, !this.readOnly)); } else { IPattern rPattern = this.getFromAccumulatePattern().getSourcePattern(); initField.setText(getFromAccumulatePattern().getInitCode()); initField.setEnabled(!this.readOnly); codeTable.setWidget(codeTableRow++, final TextBox actionField = new TextBox(); actionField.setTitle(GuidedRuleEditorResources.CONSTANTS.ActionCode()); actionField.setText(getFromAccumulatePattern().getActionCode()); actionField.setEnabled(!this.readOnly); codeTable.setWidget(codeTableRow++, final TextBox reverseField = new TextBox(); reverseField.setTitle(GuidedRuleEditorResources.CONSTANTS.ReverseCode()); reverseField.setText(getFromAccumulatePattern().getReverseCode()); reverseField.setEnabled(!this.readOnly); codeTable.setWidget(codeTableRow++, final TextBox resultField = new TextBox(); resultField.setTitle(GuidedRuleEditorResources.CONSTANTS.ResultCode()); resultField.setText(getFromAccumulatePattern().getResultCode()); resultField.setEnabled(!this.readOnly); codeTable.setWidget(codeTableRow++,
setModified(true); if (sender == initField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setInitCode(code); } else if (sender == actionField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setActionCode(code); } else if (sender == reverseField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setReverseCode(code); } else if (sender == resultField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setResultCode(code); } else if (sender == functionField) { getFromAccumulatePattern().clearCodeFields(); initField.setText(""); actionField.setText(""); reverseField.setText(""); resultField.setText(""); getFromAccumulatePattern().setFunction(code);
private void visitFromAccumulateCompositeFactPattern(final FromAccumulateCompositeFactPattern pattern) { visit(pattern.getFactPattern()); visit(pattern.getSourcePattern()); parseStringPattern(pattern.getActionCode()); parseStringPattern(pattern.getInitCode()); parseStringPattern(pattern.getReverseCode()); }
@Test public void testFromAccumulateCompositePatternMissingValues() throws Exception { FactPattern pattern1 = new FactPattern("Person"); SingleFieldConstraint constraint1 = new SingleFieldConstraint("name"); constraint1.setOperator("=="); pattern1.addConstraint(constraint1); FactPattern pattern2 = new FactPattern("Address"); SingleFieldConstraint constraint2 = new SingleFieldConstraint("street"); constraint2.setOperator("!="); pattern2.addConstraint(constraint2); FromAccumulateCompositeFactPattern fromAccumulateCompositeFactPattern = new FromAccumulateCompositeFactPattern(); fromAccumulateCompositeFactPattern.setSourcePattern(pattern1); fromAccumulateCompositeFactPattern.setFactPattern(pattern2); fromAccumulateCompositeFactPattern.setFunction("test()"); model.lhs = new IPattern[]{fromAccumulateCompositeFactPattern}; assertFalse(validator.isValid()); assertEquals(2, validator.getErrors().size()); verify(constants, never()).WhenUsingFromTheSourceNeedsToBeSet(); verify(constants).FactType0HasAField1ThatHasAnOperatorSetButNoValuePleaseAddAValueOrRemoveTheOperator("Person", "name"); verify(constants).FactType0HasAField1ThatHasAnOperatorSetButNoValuePleaseAddAValueOrRemoveTheOperator("Address", "street"); }