@Override public String getBoundName() { if (fp instanceof FactPattern) { return ((FactPattern) fp).getBoundName(); } throw new UnsupportedOperationException(); }
private IPattern doFindByFactPattern(final List<IPattern> patterns, final Pattern52 find) { final String boundName = find.getBoundName(); if (boundName == null || boundName.isEmpty()) { return null; } for (IPattern ifp : patterns) { if (ifp instanceof FactPattern) { FactPattern fp = (FactPattern) ifp; if (fp.getBoundName() != null && fp.getBoundName().equals(boundName)) { return fp; } } else if (ifp instanceof FromEntryPointFactPattern) { FromEntryPointFactPattern fefp = (FromEntryPointFactPattern) ifp; FactPattern fp = fefp.getFactPattern(); if (fp.getBoundName() != null && fp.getBoundName().equals(boundName)) { return fp; } } } return null; }
/** * This will return the FactPattern that a variable is bound Eto. * * @param var The bound fact variable (NOT bound field). * @return null or the FactPattern found. */ public FactPattern getLHSBoundFact(final String var) { if (this.lhs == null) { return null; } for (int i = 0; i < this.lhs.length; i++) { IPattern pat = this.lhs[i]; if (pat instanceof FromCompositeFactPattern) { pat = ((FromCompositeFactPattern) pat).getFactPattern(); } if (pat instanceof FactPattern) { final FactPattern p = (FactPattern) pat; if (p.getBoundName() != null && var.equals(p.getBoundName())) { return p; } } } return null; }
/** * This will return a List<String> of all FactPattern bindings * * @return The bindings or an empty list if no bindings are found. */ public List<String> getLHSBoundFacts() { if (this.lhs == null) { return Collections.emptyList(); } final List<String> list = new ArrayList<String>(); for (int i = 0; i < this.lhs.length; i++) { IPattern pat = this.lhs[i]; if (pat instanceof FromCompositeFactPattern) { pat = ((FromCompositeFactPattern) pat).getFactPattern(); } if (pat instanceof FactPattern) { final FactPattern p = (FactPattern) pat; if (p.getBoundName() != null) { list.add(p.getBoundName()); } } } return list; }
/** * @param idx Remove this index from the LHS. returns false if it was NOT * allowed to remove this item (ie it is used on the RHS). */ public boolean removeLhsItem(final int idx) { final IPattern[] newList = new IPattern[this.lhs.length - 1]; int newIdx = 0; for (int i = 0; i < this.lhs.length; i++) { if (i != idx) { newList[newIdx] = this.lhs[i]; newIdx++; } else { IPattern pat = this.lhs[i]; if (pat instanceof FromCompositeFactPattern) { pat = ((FromCompositeFactPattern) pat).getFactPattern(); } if (pat instanceof FactPattern) { final FactPattern p = (FactPattern) pat; if (p.getBoundName() != null && isBoundFactUsed(p.getBoundName())) { return false; } } } } this.lhs = newList; return true; }
private Optional<Pattern52> getConditionPattern(final String boundName, final IPattern p) { if (p instanceof FactPattern) { final FactPattern fp = (FactPattern) p; if (fp.isBound() && fp.getBoundName().equals(boundName)) { return Optional.of(new FactPatternPattern52Adaptor(fp)); } } else if (p instanceof FromCompositeFactPattern) { final FromCompositeFactPattern fcfp = (FromCompositeFactPattern) p; final FactPattern fp = fcfp.getFactPattern(); final Optional<Pattern52> factPattern = getConditionPattern(boundName, fp); if (factPattern.isPresent()) { return factPattern; } } return Optional.empty(); }
if (p.getBoundName() != null && var.equals(p.getBoundName())) { return p;
private void generateFactPattern(final FactPattern pattern, final LHSGeneratorContext gctx) { if (pattern.isNegated()) { buf.append("not "); } else if (pattern.isBound()) { bindingsPatterns.put(pattern.getBoundName(), pattern); buf.append(pattern.getBoundName()); buf.append(" : "); } if (pattern.getFactType() != null) { buf.append(pattern.getFactType()); } buf.append("( "); // top level constraints if (pattern.getConstraintList() != null) { generateConstraints(pattern, gctx); } buf.append(")"); //Add CEP window definition CEPWindow window = pattern.getWindow(); if (window.isDefined()) { buf.append(" "); buf.append(window.getOperator()); buf.append(buildOperatorParameterDRL(window.getParameters())); } }
public String getBoundFactType(String boundName) { for (CompositeColumn<?> cc : this.model.getConditions()) { if (cc instanceof Pattern52) { final Pattern52 p = (Pattern52) cc; if (p.isBound() && p.getBoundName() .equals(boundName)) { return p.getFactType(); } } else if (cc instanceof BRLConditionColumn) { final BRLConditionColumn brl = (BRLConditionColumn) cc; for (IPattern p : brl.getDefinition()) { if (p instanceof FactPattern) { FactPattern fp = (FactPattern) p; if (fp.isBound() && fp.getBoundName() .equals(boundName)) { return fp.getFactType(); } } } } } return ""; }
public String getBoundFactType(String boundName) { for (CompositeColumn<?> cc : this.model.getConditions()) { if (cc instanceof Pattern52) { final Pattern52 p = (Pattern52) cc; if (p.isBound() && p.getBoundName() .equals(boundName)) { return p.getFactType(); } } else if (cc instanceof BRLConditionColumn) { final BRLConditionColumn brl = (BRLConditionColumn) cc; for (IPattern p : brl.getDefinition()) { if (p instanceof FactPattern) { FactPattern fp = (FactPattern) p; if (fp.isBound() && fp.getBoundName() .equals(boundName)) { return fp.getFactType(); } } } } } return ""; }
node.setBinding(fp.getBoundName());
private void assertThereIsABoundFactFor(final String binding) { final FactPattern result = rm.getLHSBoundFact(binding); assertNotNull(result); assertEquals(binding, result.getBoundName()); }
private void assertLHSParentFactPatternFor(final String patternBinding, final String fieldBinding) { final FactPattern boundPattern1 = rm.getLHSParentFactPatternForBinding(patternBinding); assertNotNull(boundPattern1); assertEquals(patternBinding, boundPattern1.getBoundName()); final FactPattern boundPattern2 = rm.getLHSParentFactPatternForBinding(fieldBinding); assertNotNull(boundPattern2); assertEquals(patternBinding, boundPattern2.getBoundName()); }
private String getLHSBindingType(IPattern pat, String var) { if (pat instanceof FromCompositeFactPattern) { pat = ((FromCompositeFactPattern) pat).getFactPattern(); } if (pat instanceof CompositeFactPattern) { for (IPattern iPattern : ((CompositeFactPattern) pat).getPatterns()) { String type = getLHSBindingType(iPattern, var); if (type != null) { return type; } } } if (pat instanceof FactPattern) { final FactPattern p = (FactPattern) pat; if (p.isBound() && var.equals(p.getBoundName())) { return p.getFactType(); } for (FieldConstraint fc : p.getFieldConstraints()) { String type = getFieldBinding(fc, var); if (type != null) { return type; } } } return null; }
if (bindable || !(modeller.getModel().isBoundFactUsed(pattern.getBoundName()))) { HorizontalPanel varName = new HorizontalPanel(); final TextBox varTxt = new BindingTextBox(); if (pattern.getBoundName() == null) { varTxt.setText(""); } else { varTxt.setText(pattern.getBoundName());
/** * This returns the pattern label. */ private Widget getPatternLabel(final FactPattern fp) { ClickHandler click = new ClickHandler() { public void onClick(ClickEvent event) { popupCreator.showPatternPopup(fp, null, false); } }; String patternName = (pattern.isBound()) ? pattern.getFactType() + " <b>[" + pattern.getBoundName() + "]</b>" : pattern.getFactType(); String desc; if (isAll0WithLabel) { desc = GuidedRuleEditorResources.CONSTANTS.All0with(patternName); } else { if (pattern.getNumberOfConstraints() > 0) { desc = GuidedRuleEditorResources.CONSTANTS.ThereIsAAn0With(patternName); } else { desc = GuidedRuleEditorResources.CONSTANTS.ThereIsAAn0(patternName); } desc = anA(desc, patternName); } return new ClickableLabel(desc, click, !this.readOnly); }
@Test public void testMakeFactPattern() throws Exception { final String factType = "factType"; final String boundName = "boundName"; final PatternWrapper patternWrapper = new PatternWrapper(factType, boundName); final FactPattern factPattern = patternWrapper.makeFactPattern(); assertEquals(factType, factPattern.getFactType()); assertEquals(boundName, factPattern.getBoundName()); } }
/** * This returns the pattern label. */ private Widget getPatternLabel(final FactPattern fp) { ClickHandler click = new ClickHandler() { public void onClick(ClickEvent event) { popupCreator.showPatternPopup(fp, null, false); } }; String patternName = (pattern.isBound()) ? pattern.getFactType() + " <b>[" + pattern.getBoundName() + "]</b>" : pattern.getFactType(); String desc; if (isAll0WithLabel) { desc = GuidedRuleEditorResources.CONSTANTS.All0with(patternName); } else { if (pattern.getNumberOfConstraints() > 0) { desc = GuidedRuleEditorResources.CONSTANTS.ThereIsAAn0With(patternName); } else { desc = GuidedRuleEditorResources.CONSTANTS.ThereIsAAn0(patternName); } desc = anA(desc, patternName); } return new ClickableLabel(desc, click, !this.readOnly); }
private FactPattern visitFactPattern(FactPattern pattern) { FactPattern clone = new FactPattern(); clone.setBoundName(pattern.getBoundName()); clone.setFactType(pattern.getFactType()); clone.setNegated(pattern.isNegated()); CEPWindow cloneCEPWindow = new CEPWindow(); cloneCEPWindow.setOperator(pattern.getWindow().getOperator()); cloneCEPWindow.setParameters(cloneCEPWindowParameters(pattern.getWindow())); clone.setWindow(cloneCEPWindow); for (FieldConstraint fc : pattern.getFieldConstraints()) { clone.addConstraint((FieldConstraint) visit(fc)); } return clone; }
private FactPattern visitFactPattern(FactPattern pattern) { FactPattern clone = new FactPattern(); clone.setBoundName(pattern.getBoundName()); clone.setFactType(pattern.getFactType()); clone.setNegated(pattern.isNegated()); CEPWindow cloneCEPWindow = new CEPWindow(); cloneCEPWindow.setOperator(pattern.getWindow().getOperator()); cloneCEPWindow.setParameters(cloneCEPWindowParameters(pattern.getWindow())); clone.setWindow(cloneCEPWindow); for (FieldConstraint fc : pattern.getFieldConstraints()) { clone.addConstraint((FieldConstraint) visit(fc)); } return clone; }