@Override public String getBoundName() { return action.getBoundName(); }
@Override public String getBoundName() { return action.getBoundName(); }
@Override public boolean isBound() { return !(action.getBoundName() == null || "".equals(action.getBoundName())); }
@Override public boolean isBound() { return !(action.getBoundName() == null || "".equals(action.getBoundName())); }
protected OptionalInt findLastIndexOfActionInsertFactColumn(final ActionInsertFactCol52 column) { final String binding = column.getBoundName(); final List<ActionCol52> relatedColumns = new ArrayList<>(); relatedColumns.addAll(model.getActionCols().stream() .filter(c -> c instanceof ActionInsertFactCol52) .map(c -> (ActionInsertFactCol52) c) .filter(c -> c.getBoundName().equals(binding)) .collect(Collectors.toList())); return relatedColumns.stream().mapToInt(c -> model.getActionCols().indexOf(c)).max(); }
protected OptionalInt findLastIndexOfActionInsertFactColumn(final ActionInsertFactCol52 column) { final String binding = column.getBoundName(); final List<ActionCol52> relatedColumns = new ArrayList<>(); relatedColumns.addAll(model.getActionCols().stream() .filter(c -> c instanceof ActionInsertFactCol52) .map(c -> (ActionInsertFactCol52) c) .filter(c -> c.getBoundName().equals(binding)) .collect(Collectors.toList())); return relatedColumns.stream().mapToInt(c -> model.getActionCols().indexOf(c)).max(); }
@Override public String getBoundName() { return getActionCol52().getBoundName(); }
@Override public String getBoundName() { return getActionCol52().getBoundName(); }
private String getFactType(final ActionSetFieldCol52 asf) { final String binding = asf.getBoundName(); final Optional<Pattern52> pattern = Optional.ofNullable(model.getConditionPattern(binding)); if (pattern.isPresent()) { return pattern.get().getFactType(); } return model.getActionCols() .stream() .filter(c -> c instanceof ActionInsertFactCol52) .map(c -> (ActionInsertFactCol52) c) .filter(c -> c.getBoundName().equals(binding)) .findFirst() .map(ActionInsertFactCol52::getFactType) .get(); }
private String getFactType(final ActionSetFieldCol52 asf) { final String binding = asf.getBoundName(); final Optional<Pattern52> pattern = Optional.ofNullable(model.getConditionPattern(binding)); if (pattern.isPresent()) { return pattern.get().getFactType(); } return model.getActionCols() .stream() .filter(c -> c instanceof ActionInsertFactCol52) .map(c -> (ActionInsertFactCol52) c) .filter(c -> c.getBoundName().equals(binding)) .findFirst() .map(ActionInsertFactCol52::getFactType) .get(); }
@Override public boolean handlesMoveColumnsTo(final List<? extends MetaData> metaData) throws ModelSynchronizer.MoveVetoException { final boolean isActionInsetFactFragment = isActionInsertFactFragment(metaData); if (!isActionInsetFactFragment) { return false; } final List<ActionCol52> columnsToMove = metaData.stream() .map(c -> (MoveColumnToMetaData) c) .map(MoveColumnToMetaData::getColumn) .map(c -> (ActionInsertFactCol52) c) .collect(Collectors.toList()); final String binding = ((ActionInsertFactCol52) columnsToMove.get(0)).getBoundName(); final int tgtIndex = ((MoveColumnToMetaData) metaData.get(0)).getTargetColumnIndex(); final List<BaseColumn> modelColumns = model.getExpandedColumns(); //Cannot move "Insert and Set field" to before the Facts creation by WID return model.getActionCols().stream() .filter(c -> !columnsToMove.contains(c)) .filter(c -> c instanceof ActionWorkItemInsertFactCol52) .map(c -> (ActionWorkItemInsertFactCol52) c) .filter(c -> c.getBoundName().equals(binding)) .map(modelColumns::indexOf) .noneMatch(i -> i >= tgtIndex); }
@Override public List<String> getAllRHSVariables() { final Set<String> variables = new HashSet<>(); for (ActionCol52 col : dtable.getActionCols()) { if (col instanceof ActionInsertFactCol52) { final ActionInsertFactCol52 action = (ActionInsertFactCol52) col; variables.add(action.getBoundName()); } else if (col instanceof BRLActionColumn) { //Delegate to super class's implementation final RuleModel rm = new RuleModel(); final BRLActionColumn brl = (BRLActionColumn) col; rm.rhs = brl.getDefinition().toArray(new IAction[brl.getDefinition().size()]); variables.addAll(rm.getAllRHSVariables()); } } variables.addAll(super.getAllRHSVariables()); return new ArrayList<>(variables); }
@Override public List<GridColumn.HeaderMetaData> makeHeaderMetaData(final BaseColumn column) { return new ArrayList<GridColumn.HeaderMetaData>() {{ if (column instanceof ActionInsertFactCol52) { ActionInsertFactCol52 actionInsertFactColumn = (ActionInsertFactCol52) column; StringBuilder headerFirstRow = new StringBuilder(); if (actionInsertFactColumn.getBoundName() != null && !actionInsertFactColumn.getBoundName().isEmpty()) { headerFirstRow.append(actionInsertFactColumn.getBoundName()) .append(" : "); } headerFirstRow.append(actionInsertFactColumn.getFactType()); add(new BaseHeaderMetaData(headerFirstRow.toString(), ActionCol52.class.getName())); add(new BaseHeaderMetaData(column.getHeader(), headerFirstRow.toString())); } else { add(new BaseHeaderMetaData(column.getHeader(), ActionCol52.class.getName())); } }}; } }
@Override public List<String> getRHSBoundFacts() { final Set<String> variables = new HashSet<>(); for (ActionCol52 col : dtable.getActionCols()) { if (col instanceof ActionInsertFactCol52) { final ActionInsertFactCol52 action = (ActionInsertFactCol52) col; variables.add(action.getBoundName()); } else if (col instanceof BRLActionColumn) { //Delegate to super class's implementation final RuleModel rm = new RuleModel(); final BRLActionColumn brl = (BRLActionColumn) col; rm.rhs = brl.getDefinition().toArray(new IAction[brl.getDefinition().size()]); variables.addAll(rm.getRHSBoundFacts()); } } variables.addAll(super.getRHSBoundFacts()); return new ArrayList<>(variables); }
@Test public void testColumnManagementGroupTitleInsertFact() throws Exception { final ActionInsertFactCol52 column = mock(ActionInsertFactCol52.class); doReturn(FACT_TYPE_APPLICANT).when(column).getFactType(); doReturn(APPLICANT_BOUND_NAME).when(column).getBoundName(); assertEquals(FACT_TYPE_APPLICANT + " [" + APPLICANT_BOUND_NAME + "]", DecisionTableColumnViewUtils.getColumnManagementGroupTitle(column)); }
public HeaderMetaData getHeaderMetaData() { int columnIndex = 0; final Map<Integer, ModelMetaData> map = new HashMap<>(); for (final BaseColumn baseColumn : model.getExpandedColumns()) { if (baseColumn instanceof ConditionCol52) { map.put(columnIndex, new ModelMetaData(model.getPattern((ConditionCol52) baseColumn), PatternType.LHS)); } else if (baseColumn instanceof ActionInsertFactCol52) { final ActionInsertFactCol52 aif = (ActionInsertFactCol52) baseColumn; map.put(columnIndex, new ModelMetaData(aif.getFactType(), aif.getBoundName(), PatternType.RHS)); } else if (baseColumn instanceof ActionSetFieldCol52) { final ActionSetFieldCol52 asf = (ActionSetFieldCol52) baseColumn; map.put(columnIndex, new ModelMetaData(getFactType(asf), asf.getBoundName(), PatternType.RHS)); } columnIndex++; } return new HeaderMetaData(map); }
private void update(final ActionInsertFactCol52 originalColumn, final ActionInsertFactCol52 editedColumn) { originalColumn.setBoundName(editedColumn.getBoundName()); originalColumn.setType(editedColumn.getType()); originalColumn.setFactField(editedColumn.getFactField()); originalColumn.setHeader(editedColumn.getHeader()); originalColumn.setValueList(editedColumn.getValueList()); originalColumn.setDefaultValue(editedColumn.getDefaultValue()); originalColumn.setHideColumn(editedColumn.isHideColumn()); originalColumn.setFactType(editedColumn.getFactType()); originalColumn.setInsertLogical(editedColumn.isInsertLogical()); if (originalColumn instanceof LimitedEntryCol && editedColumn instanceof LimitedEntryCol) { ((LimitedEntryCol) originalColumn).setValue(((LimitedEntryCol) editedColumn).getValue()); } }
private void update(final ActionInsertFactCol52 originalColumn, final ActionInsertFactCol52 editedColumn) { originalColumn.setBoundName(editedColumn.getBoundName()); originalColumn.setType(editedColumn.getType()); originalColumn.setFactField(editedColumn.getFactField()); originalColumn.setHeader(editedColumn.getHeader()); originalColumn.setValueList(editedColumn.getValueList()); originalColumn.setDefaultValue(editedColumn.getDefaultValue()); originalColumn.setHideColumn(editedColumn.isHideColumn()); originalColumn.setFactType(editedColumn.getFactType()); originalColumn.setInsertLogical(editedColumn.isInsertLogical()); if (originalColumn instanceof LimitedEntryCol && editedColumn instanceof LimitedEntryCol) { ((LimitedEntryCol) originalColumn).setValue(((LimitedEntryCol) editedColumn).getValue()); } }
private ActionInsertFactCol52 clone(final ActionInsertFactCol52 column) { final ActionInsertFactCol52 clone = newActionInsertFact(); if (tableFormat() == LIMITED_ENTRY) { asLimited(clone).setValue(asLimited(column).getValue()); } clone.setFactField(column.getFactField()); clone.setBoundName(column.getBoundName()); clone.setValueList(column.getValueList()); clone.setHeader(column.getHeader()); clone.setInsertLogical(column.isInsertLogical()); clone.setDefaultValue(column.getDefaultValue()); clone.setFactType(column.getFactType()); clone.setHideColumn(column.isHideColumn()); clone.setType(column.getType()); return clone; }
private ActionInsertFactCol52 clone(final ActionInsertFactCol52 column) { final ActionInsertFactCol52 clone = newActionInsertFact(); if (tableFormat() == LIMITED_ENTRY) { asLimited(clone).setValue(asLimited(column).getValue()); } clone.setFactField(column.getFactField()); clone.setBoundName(column.getBoundName()); clone.setValueList(column.getValueList()); clone.setHeader(column.getHeader()); clone.setInsertLogical(column.isInsertLogical()); clone.setDefaultValue(column.getDefaultValue()); clone.setFactType(column.getFactType()); clone.setHideColumn(column.isHideColumn()); clone.setType(column.getType()); return clone; }