public DecisionTableValidator( final GuidedDecisionTable52 dtable ) { this.dtable = dtable; this.illegalAttributes = HitPolicyValidation.getReservedAttributes( dtable.getHitPolicy() ); }
@Override public Set<String> getReservedAttributeNames() { final Set<String> result = new HashSet<>(); result.addAll(getExistingAttributeNames()); result.addAll(HitPolicyValidation.getReservedAttributes(model.getHitPolicy())); return result; }
@Override public Set<String> getReservedAttributeNames() { final Set<String> result = new HashSet<>(); result.addAll(getExistingAttributeNames()); result.addAll(HitPolicyValidation.getReservedAttributes(model.getHitPolicy())); return result; }
@Override public List<GridColumn.HeaderMetaData> makeHeaderMetaData(final BaseColumn column) { return new ArrayList<GridColumn.HeaderMetaData>() {{ add(new BaseHeaderMetaData(model.getHitPolicy().getId(), RowNumberCol52.class.getName())); }}; } }
private void isValid( final AttributeCol52 attributeCol52 ) { if ( illegalAttributes.contains( attributeCol52.getAttribute() ) ) { throw new InvalidAttributeColumnForHitPolicyException( attributeCol52.getAttribute(), dtable.getHitPolicy() ); } }
@Override public List<GridColumn.HeaderMetaData> makeHeaderMetaData(final BaseColumn column) { return new ArrayList<GridColumn.HeaderMetaData>() {{ add(new BaseHeaderMetaData(model.getHitPolicy().getId(), RowNumberCol52.class.getName())); }}; } }
private DecisionTableValidator getDecisionTableValidator() { table = mock( GuidedDecisionTable52.class ); when( table.getHitPolicy() ).thenReturn( GuidedDecisionTable52.HitPolicy.NONE ); return new DecisionTableValidator( table ); }
private List<GridColumn.HeaderMetaData> makeSalienceHeaderMetaData( final BaseColumn column ) { final List<GridColumn.HeaderMetaData> headerMetaData; if ( model.getHitPolicy() .equals( GuidedDecisionTable52.HitPolicy.RESOLVED_HIT ) ) { headerMetaData = new ArrayList<GridColumn.HeaderMetaData>() {{ add( new BaseHeaderMetaData( GuidedDecisionTableConstants.INSTANCE.HasPriorityOverRow(), AttributeCol52.class.getName() ) ); }}; } else { headerMetaData = makeHeaderMetaData( column ); } return headerMetaData; }
private List<GridColumn.HeaderMetaData> makeSalienceHeaderMetaData( final BaseColumn column ) { final List<GridColumn.HeaderMetaData> headerMetaData; if ( model.getHitPolicy() .equals( GuidedDecisionTable52.HitPolicy.RESOLVED_HIT ) ) { headerMetaData = new ArrayList<GridColumn.HeaderMetaData>() {{ add( new BaseHeaderMetaData( GuidedDecisionTableConstants.INSTANCE.HasPriorityOverRow(), AttributeCol52.class.getName() ) ); }}; } else { headerMetaData = makeHeaderMetaData( column ); } return headerMetaData; }
public void insertRow(final int insertedRowIndex) { if (!GuidedDecisionTable52.HitPolicy.RESOLVED_HIT.equals(model.getHitPolicy())) { return; } final Optional<BaseColumnInfo> optional = getPriorityColumnInfo(); if (optional.isPresent()) { final BaseColumnInfo baseColumnInfo = optional.get(); int rowNumber = 0; for (final List<DTCellValue52> row : model.getData()) { final DTCellValue52 dtCellValue52 = row.get(baseColumnInfo.getColumnIndex()); final int oldValue = getNumber(dtCellValue52); if (oldValue != 0 && oldValue >= insertedRowIndex) { dtCellValue52.setStringValue(Integer.toString(oldValue + 1)); uiModel.setCellValueInternal(rowNumber, baseColumnInfo.getColumnIndex(), gridWidgetCellFactory.convertCell(dtCellValue52, baseColumnInfo.getBaseColumn(), cellUtilities, columnUtilities)); } rowNumber++; } } }
public void insertRow(final int insertedRowIndex) { if (!GuidedDecisionTable52.HitPolicy.RESOLVED_HIT.equals(model.getHitPolicy())) { return; } final Optional<BaseColumnInfo> optional = getPriorityColumnInfo(); if (optional.isPresent()) { final BaseColumnInfo baseColumnInfo = optional.get(); int rowNumber = 0; for (final List<DTCellValue52> row : model.getData()) { final DTCellValue52 dtCellValue52 = row.get(baseColumnInfo.getColumnIndex()); final int oldValue = getNumber(dtCellValue52); if (oldValue != 0 && oldValue >= insertedRowIndex) { dtCellValue52.setStringValue(Integer.toString(oldValue + 1)); uiModel.setCellValueInternal(rowNumber, baseColumnInfo.getColumnIndex(), gridWidgetCellFactory.convertCell(dtCellValue52, baseColumnInfo.getBaseColumn(), cellUtilities, columnUtilities)); } rowNumber++; } } }
public void deleteRow(final int deletedRowIndex) { if (!GuidedDecisionTable52.HitPolicy.RESOLVED_HIT.equals(model.getHitPolicy())) { return; } final int deletedRowNumber = deletedRowIndex + 1; final Optional<BaseColumnInfo> optional = getPriorityColumnInfo(); if (optional.isPresent()) { final BaseColumnInfo baseColumnInfo = optional.get(); int rowNumber = 0; for (final List<DTCellValue52> row : model.getData()) { final DTCellValue52 dtCellValue52 = row.get(baseColumnInfo.getColumnIndex()); final int oldValue = getNumber(dtCellValue52); if (oldValue >= deletedRowNumber) { dtCellValue52.setStringValue(Integer.toString(oldValue - 1)); uiModel.setCellValueInternal(rowNumber, baseColumnInfo.getColumnIndex(), gridWidgetCellFactory.convertCell(dtCellValue52, baseColumnInfo.getBaseColumn(), cellUtilities, columnUtilities)); } rowNumber++; } } }
AnalyzerConfiguration getConfiguration() { if (configuration == null) { configuration = new AnalyzerConfiguration( initialize.getUuid(), new DateTimeFormatProvider() { @Override public String format(final Date dateValue) { return DateTimeFormat.getFormat(initialize.getDateFormat()) .format(dateValue); } }, new UUIDKeyProvider() { @Override protected String newUUID() { return UUID.uuid(); } }, CheckConfigurationProvider.get(initialize.getModel() .getHitPolicy()), checkRunner); } return configuration; }
public void deleteRow(final int deletedRowIndex) { if (!GuidedDecisionTable52.HitPolicy.RESOLVED_HIT.equals(model.getHitPolicy())) { return; } final int deletedRowNumber = deletedRowIndex + 1; final Optional<BaseColumnInfo> optional = getPriorityColumnInfo(); if (optional.isPresent()) { final BaseColumnInfo baseColumnInfo = optional.get(); int rowNumber = 0; for (final List<DTCellValue52> row : model.getData()) { final DTCellValue52 dtCellValue52 = row.get(baseColumnInfo.getColumnIndex()); final int oldValue = getNumber(dtCellValue52); if (oldValue >= deletedRowNumber) { dtCellValue52.setStringValue(Integer.toString(oldValue - 1)); uiModel.setCellValueInternal(rowNumber, baseColumnInfo.getColumnIndex(), gridWidgetCellFactory.convertCell(dtCellValue52, baseColumnInfo.getBaseColumn(), cellUtilities, columnUtilities)); } rowNumber++; } } }
@Test public void testDefault() throws Exception { assertEquals( GuidedDecisionTable52.HitPolicy.NONE, new GuidedDecisionTable52().getHitPolicy() ); }
private GuidedDecisionTable52 enhance() { new DecisionTableValidator( dtable ).validate(); switch ( dtable.getHitPolicy() ) { case RESOLVED_HIT: addActivationGroup( "resolved-hit-policy-group" ); addSalienceByMetadata(); break; case UNIQUE_HIT: addActivationGroup( "unique-hit-policy-group" ); break; case FIRST_HIT: addActivationGroup( "first-hit-policy-group" ); break; case RULE_ORDER: case NONE: default: // We do nothing. break; } return dtable; }
@Before public void setup() { super.setup(); factory = new GridWidgetColumnFactoryImpl(); factory.setConverters(getConverters()); when(model.getHitPolicy()).thenReturn(GuidedDecisionTable52.HitPolicy.NONE); access = new GuidedDecisionTablePresenter.Access(); }
@Test public void addAttributeColumn() throws Exception { final GuidedDecisionTable52 table = mock( GuidedDecisionTable52.class ); when( table.getHitPolicy() ).thenReturn( hitPolicy ); final DecisionTableValidator validator = new DecisionTableValidator( table ); final AttributeCol52 attributeCol52 = new AttributeCol52(); attributeCol52.setAttribute( attributeName ); boolean wasAllowed = true; try { validator.isValidToAdd( attributeCol52 ); } catch ( final Exception e ) { wasAllowed = false; } assertEquals( wasAllowed, isAllowed ); } }
@Test public void testBackwardsCompatibility() throws Exception { final String xml = loadResource( "ExistingDecisionTable.xml" ); final GuidedDecisionTable52 dt_ = GuidedDTXMLPersistence.getInstance() .unmarshal( xml ); assertNotNull( dt_ ); assertEquals( GuidedDecisionTable52.HitPolicy.NONE, dt_.getHitPolicy() ); }
@Test public void testRoundTrip() { final GuidedDecisionTable52 dt = new GuidedDecisionTable52(); dt.setHitPolicy( GuidedDecisionTable52.HitPolicy.FIRST_HIT ); final String xml = GuidedDTXMLPersistence.getInstance() .marshal( dt ); assertNotNull( xml ); assertTrue( xml.contains( "<hitPolicy>FIRST_HIT</hitPolicy>" ) ); final GuidedDecisionTable52 dt_ = GuidedDTXMLPersistence.getInstance() .unmarshal( xml ); assertEquals( GuidedDecisionTable52.HitPolicy.FIRST_HIT, dt_.getHitPolicy() ); }