public Statement toStatementRelation(boolean isUpdate, StatementInfo stmtInfo) throws DoesNotExistException, VersionMismatchException, InvalidParameterException, OperationFailedException { Statement stmt; if (isUpdate) { stmt = this.statementDao.fetch(Statement.class, stmtInfo.getId()); if (stmt == null) { throw new DoesNotExistException("Statement does not exist for id: " + stmtInfo.getId()); if (!String.valueOf(stmt.getVersionNumber()).equals(stmtInfo.getMetaInfo().getVersionInd())) { throw new VersionMismatchException("Statement to be updated is not the current version"); stmt.setAttributes(toGenericAttributes(StatementAttribute.class, stmtInfo.getAttributes(), stmt, this.statementDao)); StatementType stmtType = this.statementDao.fetch(StatementType.class, stmtInfo.getType()); if (stmtType == null) { throw new InvalidParameterException("StatementType does not exist for id: " + stmtInfo.getType()); for (String stmtId : stmtInfo.getStatementIds()) { if (stmtId.equals(stmtInfo.getId())) { throw new OperationFailedException("Statement nested within itself. Statement Id: " + stmtInfo.getId()); throw new DoesNotExistException("Nested Statement does not exist for id: " + stmtId + ". Parent Statement: " + stmtInfo.getId()); for (String reqId : stmtInfo.getReqComponentIds()) { ReqComponent reqComp = this.statementDao.fetch(ReqComponent.class, reqId); throw new DoesNotExistException("Nested Requirement does not exist for id: " + reqId + ". Parent Statement Id: " + stmtInfo.getId()); stmt.setDescr(toRichText(StatementRichText.class, stmtInfo.getDesc()));
public static StatementInfo toStatementInfo(Statement entity) { if (entity == null) { return null; } StatementInfo dto = new StatementInfo(); BeanUtils.copyProperties(entity, dto, new String[]{"parent", "children", "requiredComponents", "statementType", "attributes", "metaInfo"}); List<String> statementIds = new ArrayList<String>(entity.getChildren().size()); for (Statement statement : entity.getChildren()) { statementIds.add(statement.getId()); } dto.setStatementIds(statementIds); List<String> componentIds = new ArrayList<String>(entity.getRequiredComponents().size()); for (ReqComponent reqComponent : entity.getRequiredComponents()) { componentIds.add(reqComponent.getId()); } dto.setReqComponentIds(componentIds); dto.setType(entity.getStatementType().getId()); dto.setAttributes(toAttributeMap(entity.getAttributes())); dto.setMetaInfo(toMetaInfo(entity.getMeta(), entity.getVersionNumber())); dto.setName(entity.getName()); dto.setOperator(entity.getOperator()); dto.setDesc(toRichTextInfo(entity.getDescr())); return dto; }
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; }
switch(results.getOperation()){ case CREATE: StatementInfo created = statementService.createStatement(statement.getType(), statement); if(results.getAssembler() != null && results.getBusinessDTORef() != null) { results.getAssembler().assemble(created, results.getBusinessDTORef(), true, contextInfo); StatementInfo updated = statementService.updateStatement(statement.getId(), statement); if(results.getAssembler() != null && results.getBusinessDTORef() != null) { results.getAssembler().assemble(updated, results.getBusinessDTORef(), true, contextInfo); statementService.deleteStatement(statement.getId()); break;
newStatementInfo = createStatement(newStatementInfo.getType(), newStatementInfo); } catch (AlreadyExistsException e) {
/** * Goes through the list of reqComponentIds in statementInfo and retrieves the reqComponentInfos being referenced * @param statementInfo * @return list of reqComponentInfo referenced by the list of reqComponentIds in statementInfo * @throws DoesNotExistException * @throws InvalidParameterException * @throws MissingParameterException * @throws OperationFailedException */ private List<ReqComponentInfo> getReqComponentInfos(final StatementInfo statementInfo, final String nlUsageTypeKey, final String language) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException { List<ReqComponentInfo> reqComponentInfos = new ArrayList<ReqComponentInfo>(); if (statementInfo == null) return null; if (statementInfo.getReqComponentIds() != null) { for (String reqComponentId : statementInfo.getReqComponentIds()) { //ReqComponentInfo reqCompInfo = getReqComponent(reqComponentId); ReqComponentInfo reqCompInfo = statementAssembler.toReqComponentInfo(statementDao.fetch(ReqComponent.class, reqComponentId), nlUsageTypeKey, language); reqComponentInfos.add(reqCompInfo); } } return reqComponentInfos; }
statementTreeViewInfo.setReqComponents(getReqComponentInfos(statementInfo, nlUsageTypeKey, language)); if (statementInfo.getStatementIds() != null) { for (String statementId : statementInfo.getStatementIds()) { StatementInfo subStatement = getStatement(statementId);