Window.alert("Cannot find program requirement with a statement that has id: '" + newSubRule.getId() + "'"); GWT.log("Cannot find program requirement with a statement that has id: '" + newSubRule.getId() + "'", null); return null; if ((affectedTopTree.getReqComponents() != null) && !affectedTopTree.getReqComponents().isEmpty()) { StatementTreeViewInfo stmtTree = new StatementTreeViewInfo(); stmtTree.setId(ProgramRequirementsSummaryView.generateStatementTreeId()); stmtTree.setType( affectedRule.getStatement().getType()); stmtTree.setReqComponents(affectedTopTree.getReqComponents()); List<StatementTreeViewInfo> stmtList = new ArrayList<StatementTreeViewInfo>(); stmtList.add(stmtTree); affectedTopTree.setStatements(stmtList); List<StatementTreeViewInfo> affectedSubRules = affectedTopTree.getStatements(); if (isNewRule) { affectedSubRules.add(newSubRule); } else { //replace the related stored subrule with a new version for (StatementTreeViewInfo subRule : affectedSubRules) { if (subRule.getId().equals(newSubRule.getId())) { int treeIx = affectedSubRules.indexOf(subRule);
public StatementTreeViewInfo toStatementTreeViewInfo(Statement stmt) { StatementTreeViewInfo treeView = new StatementTreeViewInfo(); treeView.setAttributes(toAttributeMap(stmt.getAttributes())); treeView.setDesc(toRichTextInfo(stmt.getDescr())); treeView.setId(stmt.getId()); treeView.setMetaInfo(toMetaInfo(stmt.getMeta(), stmt.getVersionNumber())); treeView.setName(stmt.getName()); treeView.setType(stmt.getStatementType().getId()); treeView.setState(stmt.getState()); for (ReqComponent reqComp : stmt.getRequiredComponents()) { treeView.getReqComponents().add(toReqComponentInfo(reqComp)); } treeView.setOperator(stmt.getOperator()); for (Statement childStmt : stmt.getChildren()) { treeView.getStatements().add(toStatementTreeViewInfo(childStmt)); } return treeView; } }
public boolean isEmptyRule(StatementTreeViewInfo tree) { return (tree.getStatements() == null || tree.getStatements().isEmpty() && (tree.getReqComponents() == null || tree.getReqComponents().isEmpty())); }
public void statementTreeViewInfoStateSetter(String courseState, Iterator<StatementTreeViewInfo> itr) { while(itr.hasNext()) { StatementTreeViewInfo statementTreeViewInfo = (StatementTreeViewInfo)itr.next(); statementTreeViewInfo.setState(courseState); List<ReqComponentInfo> reqComponents = statementTreeViewInfo.getReqComponents(); for(Iterator<ReqComponentInfo> it = reqComponents.iterator(); it.hasNext();) it.next().setState(courseState); statementTreeViewInfoStateSetter(courseState, statementTreeViewInfo.getStatements().iterator()); } } }
public void onClick(ClickEvent event) { final StatementTreeViewInfo newSubRule = new StatementTreeViewInfo(); newSubRule.setId(generateStatementTreeId()); newSubRule.setType(stmtTypeId); RichTextInfo text = new RichTextInfo(); text.setPlain(""); newSubRule.setDesc(text); parentController.getView(ProgramRequirementsViewController.ProgramRequirementsViews.MANAGE, new Callback<View>() { @Override public void exec(View result) { ((ProgramRequirementsManageView) result).setRuleTree(newSubRule, true, internalProgReqID); parentController.showView(ProgramRequirementsViewController.ProgramRequirementsViews.MANAGE); } }); } });
List<StatementTreeViewInfo> statements = tree.getStatements(); List<ReqComponentInfo> reqComponentInfos = tree.getReqComponents(); if ((tree.getId() != null) && (tree.getId().indexOf(NEW_STMT_TREE_ID) >= 0)) { tree.setId(null);
public StatementInfo toStatementInfo(final StatementTreeViewInfo statementTreeViewInfo) { StatementInfo statementInfo = null; if (statementTreeViewInfo == null) return null; statementInfo = new StatementInfo(); copyValues(statementInfo, statementTreeViewInfo); // goes through the list of reqComponents in statementTreeViewInfo and extract the reqComponent ids if (statementTreeViewInfo.getReqComponents() != null) { List<String> reqCompIds = new ArrayList<String>(7); for (ReqComponentInfo reqComponentInfo : statementTreeViewInfo.getReqComponents()) { reqCompIds.add(reqComponentInfo.getId()); } statementInfo.setReqComponentIds(reqCompIds); } statementInfo.setState(statementTreeViewInfo.getState()); // TODO goes through the list of statements in statementTreeViewInfo and extract the statement ids if (statementTreeViewInfo.getStatements() != null) { List<String> statementIds = new ArrayList<String>(7); for (StatementTreeViewInfo subStatementTreeViewInfo : statementTreeViewInfo.getStatements()) { statementIds.add(subStatementTreeViewInfo.getId()); } statementInfo.setStatementIds(statementIds); } statementInfo.setType(statementTreeViewInfo.getType()); return statementInfo; }
private void updateStatementTreeViewHelper(StatementTreeViewInfo statementTreeViewInfo) throws CircularReferenceException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException { if (statementTreeViewInfo.getStatements() != null) { for (StatementTreeViewInfo subStatement : statementTreeViewInfo.getStatements()) { updateStatementTreeViewHelper(subStatement); } } if (statementTreeViewInfo.getReqComponents() != null) { List<ReqComponentInfo> updatedReqComponentInfos = new ArrayList<ReqComponentInfo>(7); for (ReqComponentInfo reqComponentInfo : statementTreeViewInfo.getReqComponents()) { ReqComponentInfo updatedReqComponentInfo = updateReqComponent(reqComponentInfo.getId(), reqComponentInfo); updatedReqComponentInfos.add(updatedReqComponentInfo); } statementTreeViewInfo.setReqComponents(updatedReqComponentInfos); } StatementInfo updatedStatementInfo = updateStatement(statementTreeViewInfo.getId(), statementAssembler.toStatementInfo( statementTreeViewInfo)); statementAssembler.copyValues(statementTreeViewInfo, updatedStatementInfo); }
stmt.setAttributes(toGenericAttributes(StatementAttribute.class, treeView.getAttributes(), stmt, this.statementDao)); StatementType stmtType = this.statementDao.fetch(StatementType.class, treeView.getType()); if (stmtType == null) { throw new InvalidParameterException("StatementType does not exist for id: " + treeView.getType()); for (ReqComponentInfo reqCompInfo : treeView.getReqComponents()) { stmt.setDescr(toRichText(StatementRichText.class, treeView.getDesc())); stmt.setChildren(new ArrayList<Statement>()); for (StatementTreeViewInfo childTreeView : treeView.getStatements()) { Statement childStmt; if (childTreeView.getId() != null && stmtsToDelete.containsKey(childTreeView.getId())) { childStmt = stmtsToDelete.remove(childTreeView.getId()); } else { childStmt = new Statement();
statementTreeView.setId(null); statementTreeView.setState(newState); for(ReqComponentInfo reqComp:statementTreeView.getReqComponents()){ reqComp.setId(null); reqComp.setState(newState); for(StatementTreeViewInfo child: statementTreeView.getStatements()){ clearStatementTreeViewIdsRecursively(child,newState, cluService,contextInfo);
private void createStatement(final StatementTreeViewInfo stmtInfo, Statement rootLuStatement) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, VersionMismatchException { for (StatementTreeViewInfo luNlStmt : stmtInfo.getStatements()) { Statement stmt = new Statement(); stmt.setName(luNlStmt.getName()); stmt.setOperator(luNlStmt.getOperator()); if (luNlStmt.getType() != null) { // TODO: Fix with CluService RC1.4 changes // stmt.setLuStatementType(this.cluService.getLuStatementType(luNlStmt.getStatementTypeId())); StatementType type = this.statementDao.fetch(StatementType.class, luNlStmt.getType()); stmt.setStatementType(type); } if (rootLuStatement.getChildren() == null) { rootLuStatement.setChildren(new ArrayList<Statement>()); } rootLuStatement.getChildren().add(stmt); if (luNlStmt.getStatements() == null || luNlStmt.getStatements().isEmpty()) { List<ReqComponentInfo> children = luNlStmt.getReqComponents(); // setReqComponentType(children); List<ReqComponent> customReqList = toReqComponents(children); stmt.setRequiredComponents(customReqList); } else { createStatement(luNlStmt, stmt); } } }
statementTreeView.setId(null); for(ReqComponentInfo reqComp:statementTreeView.getReqComponents()){ reqComp.setId(null); for(ReqCompFieldInfo field:reqComp.getReqCompFields()){ for(StatementTreeViewInfo child: statementTreeView.getStatements()){ clearStatementTreeViewIdsRecursively(child,contextInfo);
statementTreeViewInfo.setReqComponents(getReqComponentInfos(statementInfo, nlUsageTypeKey, language)); (statementTreeViewInfo.getStatements() == null) ? new ArrayList<StatementTreeViewInfo>() : statementTreeViewInfo.getStatements(); StatementTreeViewInfo subStatementTreeViewInfo = new StatementTreeViewInfo(); statementTreeViewInfo.setStatements(statements);
@Override @Transactional(readOnly=false,noRollbackFor={DoesNotExistException.class},rollbackFor={Throwable.class}) public StatementTreeViewInfo createStatementTreeView(final StatementTreeViewInfo statementTreeViewInfo) throws AlreadyExistsException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, CircularReferenceException { try { // insert statements and reqComponents if they do not already exists in database updateSTVHelperCreateStatements(statementTreeViewInfo); updateStatementTreeViewHelper(statementTreeViewInfo); StatementTreeViewInfo test = getStatementTreeView(statementTreeViewInfo.getId()); return test; } catch (VersionMismatchException e) { throw new OperationFailedException("Create failed.", e); } }
statement.setId(UUIDHelper.genStringUUID(statement.getId())); BaseDTOAssemblyNode<StatementTreeViewInfo, StatementTreeViewInfo> statementTree; try { relation.setRefObjectId(clu.getId()); relation.setRefObjectTypeKey(ProgramAssemblerConstants.PROGRAM_REQUIREMENT); relation.setStatementId(statement.getId());
throws CircularReferenceException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException { Statement stmt = this.statementDao.fetch(Statement.class, statementTreeViewInfo.getId()); if (stmt == null) { throw new DoesNotExistException("Statement does not exist for id: " + statementTreeViewInfo.getId()); if (!String.valueOf(stmt.getVersionNumber()).equals(statementTreeViewInfo.getMetaInfo().getVersionInd())) { throw new VersionMismatchException("Statement to be updated is not the current version");
@Override public StatementTreeViewInfo assemble(StatementTreeViewInfo baseDTO, StatementTreeViewInfo businessDTO, boolean shallowBuild, ContextInfo contextInfo) throws AssemblyException { StatementTreeViewInfo stmtTree = (null != businessDTO) ? businessDTO : new StatementTreeViewInfo(); try { BeanUtils.copyProperties(stmtTree, baseDTO); } catch (Exception e) { throw new AssemblyException("Error assembling StatementTree",e); } return stmtTree; }
public List<ProgramRequirementInfo> getProgReqInfo(String stmtTypeId) { List<ProgramRequirementInfo> rules = new ArrayList<ProgramRequirementInfo>(); for(ProgramRequirementInfo progReqInfo : progReqInfos.values()) { if (progReqInfo.getStatement().getType().equals(stmtTypeId)) { rules.add(progReqInfo); } } return rules; }
List<StatementTreeViewInfo> statements = tree.getStatements(); List<ReqComponentInfo> reqComponentInfos = tree.getReqComponents(); if ((tree.getId() != null) && (tree.getId().indexOf(NEW_STMT_TREE_ID) >= 0)) { tree.setId(null);
/** * This method will recursively set the state of all statements in the tree. * <p> * WARNING: you must call the statement service in order to update statements. * <p> * * @param state is the state we should set all statements in the tree to * @param statementTreeViewInfo the tree of statements * @throws Exception */ public static void updateStatementTreeViewInfoState(String state, StatementTreeViewInfo statementTreeViewInfo) { // Set the state on the statement tree itself statementTreeViewInfo.setState(state); // Get all the requirements components for this statement List<ReqComponentInfo> reqComponents = statementTreeViewInfo.getReqComponents(); // Loop over requirements and set the state for each requirement for(Iterator<ReqComponentInfo> it = reqComponents.iterator(); it.hasNext();) it.next().setState(state); // Loop over each statement and set the state for each statement (recursively calling this method) for(Iterator<StatementTreeViewInfo> itr = statementTreeViewInfo.getStatements().iterator(); itr.hasNext();) updateStatementTreeViewInfoState(state, (StatementTreeViewInfo)itr.next()); } /**