public static Collection<InterpolationVariable> extractInterpolationVariables(final String text) { if (text == null || text.length() == 0) { return Collections.emptyList(); } List<InterpolationVariable> interpolationVariableList = new ArrayList<>(); int pos = 0; while ((pos = text.indexOf("@{", pos)) != -1) { int end = text.indexOf('}', pos + 2); if (end != -1) { String varName = text.substring(pos + 2, end); pos = end + 1; InterpolationVariable var = new InterpolationVariable(varName, DataType.TYPE_OBJECT); interpolationVariableList.add(var); } else { break; } } return interpolationVariableList; }
static String extractFieldName(final BaseSingleFieldConstraint con) { if (con instanceof SingleFieldConstraintEBLeftSide) { return ((SingleFieldConstraintEBLeftSide) con).getExpressionLeftSide().getFieldName(); } else if (con instanceof SingleFieldConstraint) { return ((SingleFieldConstraint) con).getFieldName(); } else if (con instanceof ConnectiveConstraint) { return ((ConnectiveConstraint) con).getFieldName(); } return null; }
static String extractFactType(final FactPattern factPattern, final BaseSingleFieldConstraint con) { if (con instanceof SingleFieldConstraintEBLeftSide) { return ((SingleFieldConstraintEBLeftSide) con).getExpressionLeftSide().getPreviousClassType(); } return factPattern.getFactType(); }
private void fixConnectiveConstraints(SingleFieldConstraint sfc) { if (sfc.getConnectives() == null) { return; } for (ConnectiveConstraint cc : sfc.getConnectives()) { if (cc.getFieldName() == null) { cc.setFieldName(sfc.getFieldName()); cc.setFieldType(sfc.getFieldType()); } } }
private void addModify(String itemText, int position) { this.model.addRhsItem(new ActionUpdateField(itemText), position); } }
private void setUpSingleFieldConstraintEBLeftSide(SingleFieldConstraintEBLeftSide sfexp) { this.factType = sfexp.getExpressionLeftSide().getPreviousClassType(); if (this.factType == null) { this.factType = sfexp.getExpressionLeftSide().getClassType(); } this.fieldName = sfexp.getExpressionLeftSide().getFieldName(); this.fieldType = sfexp.getExpressionLeftSide().getGenericType(); }
private static ExpressionFormLine buildExpressionFormLine() { ExpressionFormLine efl = new ExpressionFormLine(); efl.setBinding( "eflBinding" ); efl.appendPart( new ExpressionText( "text" ) ); efl.appendPart( new ExpressionCollectionIndex( "collectionIndex", "CT", "GT" ) ); return efl; }
private void addActionSetField(String itemText, int position) { this.model.addRhsItem(new ActionSetField(itemText), position); }
private void addNewFact(String itemText, int position) { this.model.addLhsItem(new FactPattern(itemText), position); }
private void addNewCE(String s, int position) { this.model.addLhsItem(new CompositeFactPattern(s), position); }
private void addCallMethod(String itemText, int position) { this.model.addRhsItem(new ActionCallMethod(itemText), position); }
private void addNewDSLRhs(DSLSentence sentence, int position) { this.model.addRhsItem(sentence.copy(), position); }
private void addNewDSLLhs(final DSLSentence sentence, int position) { model.addLhsItem(sentence.copy(), position); }
private void extractInterpolationVariablesAbstractActionMultiConstraintBendableMatch(final AbstractActionMultiConstraintBendableMatch constraintMatch) { Collection<InterpolationVariable> interpolationVariables = constraintMatch.extractInterpolationVariables(); assertEquals(2, interpolationVariables.size()); assertTrue(interpolationVariables.contains(new InterpolationVariable("var1", DataType.TYPE_OBJECT))); assertTrue(interpolationVariables.contains(new InterpolationVariable("var2", DataType.TYPE_OBJECT))); }
private void extractInterpolationVariablesAbstractActionConstraintMatch(final AbstractActionConstraintMatch constraintMatch) { Collection<InterpolationVariable> interpolationVariables = constraintMatch.extractInterpolationVariables(); assertEquals(1, interpolationVariables.size()); assertTrue(interpolationVariables.contains(new InterpolationVariable("var1", DataType.TYPE_OBJECT))); }
@Test public void extractInterpolationVariablesContainsVariables() { String string = "foo bar @{var1} baz @{var2}"; Collection<InterpolationVariable> interpolationVariables = TemplateUtils.extractInterpolationVariables(string); assertEquals(2, interpolationVariables.size()); assertTrue(interpolationVariables.contains(new InterpolationVariable("var1", DataType.TYPE_OBJECT))); assertTrue(interpolationVariables.contains(new InterpolationVariable("var2", DataType.TYPE_OBJECT))); }
@Test public void extractInterpolationVariablesActionMultiConstraintHardSoftMatch() { ActionHardConstraintMatch hardConstraintMatch = new ActionHardConstraintMatch("foo bar @{var1}"); ActionSoftConstraintMatch softConstraintMatch = new ActionSoftConstraintMatch("foo bar @{var2}"); ActionMultiConstraintHardSoftMatch multiConstraintHardSoftMatch = new ActionMultiConstraintHardSoftMatch(hardConstraintMatch, softConstraintMatch); Collection<InterpolationVariable> interpolationVariables = multiConstraintHardSoftMatch.extractInterpolationVariables(); assertEquals(2, interpolationVariables.size()); assertTrue(interpolationVariables.contains(new InterpolationVariable("var1", DataType.TYPE_OBJECT))); assertTrue(interpolationVariables.contains(new InterpolationVariable("var2", DataType.TYPE_OBJECT))); }
@Test public void extractInterpolationVariablesActionMultiConstraintHardMediumSoftMatch() { ActionHardConstraintMatch hardConstraintMatch = new ActionHardConstraintMatch("foo bar @{var1}"); ActionMediumConstraintMatch mediumConstraintMatch = new ActionMediumConstraintMatch("foo bar @{var2}"); ActionSoftConstraintMatch softConstraintMatch = new ActionSoftConstraintMatch("foo bar @{var3}"); ActionMultiConstraintHardMediumSoftMatch multiConstraintHardSoftMatch = new ActionMultiConstraintHardMediumSoftMatch(hardConstraintMatch, mediumConstraintMatch, softConstraintMatch); Collection<InterpolationVariable> interpolationVariables = multiConstraintHardSoftMatch.extractInterpolationVariables(); assertEquals(3, interpolationVariables.size()); assertTrue(interpolationVariables.contains(new InterpolationVariable("var1", DataType.TYPE_OBJECT))); assertTrue(interpolationVariables.contains(new InterpolationVariable("var2", DataType.TYPE_OBJECT))); assertTrue(interpolationVariables.contains(new InterpolationVariable("var3", DataType.TYPE_OBJECT))); }