private void setBooleanPredicate(Attribute pmmlAttribute, String field, String predicateAsString) { SimplePredicate simplePredicate = new SimplePredicate(); simplePredicate.setField(field); simplePredicate.setOperator(PMMLOperators.EQUAL); if ("TRUE".equalsIgnoreCase(predicateAsString)){ simplePredicate.setValue("TRUE"); } else if ("FALSE".equalsIgnoreCase(predicateAsString)){ simplePredicate.setValue("FALSE"); } pmmlAttribute.setSimplePredicate(simplePredicate); }
SimplePredicate simplePredicate = new SimplePredicate(); simplePredicate.setField(field); simplePredicate.setOperator(PMMLOperators.GREATER_OR_EQUAL); simplePredicate.setValue(left); compoundPredicate.getSimplePredicatesAndCompoundPredicatesAndSimpleSetPredicates().add(simplePredicate); simplePredicate = new SimplePredicate(); simplePredicate.setField(field); simplePredicate.setOperator(PMMLOperators.LESS_THAN); simplePredicate.setValue(right); compoundPredicate.getSimplePredicatesAndCompoundPredicatesAndSimpleSetPredicates().add(simplePredicate); simplePredicate.setField(field); if (predicateAsString.startsWith("<=")) { simplePredicate.setOperator(PMMLOperators.LESS_OR_EQUAL); simplePredicate.setValue(predicateAsString.substring(3).trim()); } else if (predicateAsString.startsWith(">=")) { simplePredicate.setOperator(PMMLOperators.GREATER_OR_EQUAL); simplePredicate.setValue(predicateAsString.substring(3).trim()); } else if (predicateAsString.startsWith("=")) { simplePredicate.setOperator(PMMLOperators.EQUAL); simplePredicate.setValue(predicateAsString.substring(2).trim()); } else if (predicateAsString.startsWith("!=")) { simplePredicate.setOperator(PMMLOperators.NOT_EQUAL); simplePredicate.setValue(predicateAsString.substring(3).trim()); } else if (predicateAsString.startsWith("<")) { simplePredicate.setOperator(PMMLOperators.LESS_THAN); simplePredicate.setValue(predicateAsString.substring(2).trim()); } else if (predicateAsString.startsWith(">")) { simplePredicate.setOperator(PMMLOperators.GREATER_THAN);
simplePredicate.setField(field); if ("!=".equalsIgnoreCase(operator)) { simplePredicate.setOperator(PMMLOperators.NOT_EQUAL); } else { simplePredicate.setOperator(PMMLOperators.EQUAL);
private void setupSimplePredicate(int index, String fieldName, String operator, String value) { if (index < 0 || index >= simplePredicate.length) { throw new IndexOutOfBoundsException("Invalid index for setting up SimplePredicate"); } simplePredicate[index] = new SimplePredicate(); simplePredicate[index].setField(fieldName); simplePredicate[index].setOperator(operator); simplePredicate[index].setValue(value); }
@Test(expected=IllegalStateException.class) public void testBadOperator() { predicate.setOperator(BAD_OP); SimpleSegmentPredicate ssp = new SimpleSegmentPredicate(predicate); String text = ssp.getPredicateRule(); assertNull(text); }
@Test public void testStringValue() { stringPred.setOperator(SimpleSegmentPredicate.EQUAL); SimpleSegmentPredicate ssp = new SimpleSegmentPredicate(stringPred); String text = ssp.getPredicateRule(); assertNotNull(text); assertEquals("( mTF3 == false ) && ( vTF3 == \"optA\" )",text); predicate.setOperator(SimpleSegmentPredicate.EQUAL); ssp = new SimpleSegmentPredicate(predicate); text = ssp.getPredicateRule(); assertNotNull(text); assertEquals("( mTF2 == false ) && ( vTF2 == 123 )",text); }
@Test public void testLessThan() { predicate.setOperator(SimpleSegmentPredicate.LESSER); SimpleSegmentPredicate ssp = new SimpleSegmentPredicate(predicate); String text = ssp.getPredicateRule(); assertNotNull(text); assertEquals("( mTF2 == false ) && ( vTF2 < 123 )",text); }
@Test public void testEquals() { predicate.setOperator(SimpleSegmentPredicate.EQUAL); SimpleSegmentPredicate ssp = new SimpleSegmentPredicate(predicate); String text = ssp.getPredicateRule(); assertNotNull(text); assertEquals("( mTF2 == false ) && ( vTF2 == 123 )",text); }
@Test public void testMissing() { predicate.setOperator(SimpleSegmentPredicate.MISSING); SimpleSegmentPredicate ssp = new SimpleSegmentPredicate(predicate); String text = ssp.getPredicateRule(); assertNotNull(text); assertEquals("mTF2 == true",text); }
@Test public void testNotMissing() { predicate.setOperator(SimpleSegmentPredicate.NOT_MISSING); SimpleSegmentPredicate ssp = new SimpleSegmentPredicate(predicate); String text = ssp.getPredicateRule(); assertNotNull(text); assertEquals("mTF2 == false",text); }
@Test public void testNotEquals() { predicate.setOperator(SimpleSegmentPredicate.NOT_EQUAL); SimpleSegmentPredicate ssp = new SimpleSegmentPredicate(predicate); String text = ssp.getPredicateRule(); assertNotNull(text); assertEquals("( mTF2 == false ) && ( vTF2 != 123 )",text); }
@Test public void testGreaterThan() { predicate.setOperator(SimpleSegmentPredicate.GREATER); SimpleSegmentPredicate ssp = new SimpleSegmentPredicate(predicate); String text = ssp.getPredicateRule(); assertNotNull(text); assertEquals("( mTF2 == false ) && ( vTF2 > 123 )",text); }
@Test public void testGreaterEqual() { predicate.setOperator(SimpleSegmentPredicate.GREATER_EQUAL); SimpleSegmentPredicate ssp = new SimpleSegmentPredicate(predicate); String text = ssp.getPredicateRule(); assertNotNull(text); assertEquals("( mTF2 == false ) && ( vTF2 >= 123 )",text); }
@Test public void testLesserEqual() { predicate.setOperator(SimpleSegmentPredicate.LESSER_EQUAL); SimpleSegmentPredicate ssp = new SimpleSegmentPredicate(predicate); String text = ssp.getPredicateRule(); assertNotNull(text); assertEquals("( mTF2 == false ) && ( vTF2 <= 123 )",text); }