/** * Returns the list of default Label names. * * @return always a list, sometimes empty. */ public static List<String> getDefaultLabels(ReqIF reqif) { ProrToolExtension extension = getProrToolExtension(reqif); if (extension == null) { return Collections.emptyList(); } ProrGeneralConfiguration generalConfig = extension.getGeneralConfiguration(); if (generalConfig == null) { return Collections.emptyList(); } LabelConfiguration labelConfig = generalConfig.getLabelConfiguration(); if (labelConfig == null) { return Collections.emptyList(); } return labelConfig.getDefaultLabel(); }
/** If a ReqIF has no labels yet, this method configures some smart defaults. */ public static void setDefaultLabelsIfNecessary( AdapterFactory adapterFactory, EditingDomain editingDomain, ReqIF reqif) { CompoundCommand cmd = new CompoundCommand(); ProrToolExtension extension = createProrToolExtension(reqif, editingDomain); ProrGeneralConfiguration generalConfig = extension.getGeneralConfiguration(); if (generalConfig == null) { generalConfig = ConfigurationFactory.eINSTANCE.createProrGeneralConfiguration(); cmd.append( SetCommand.create( editingDomain, extension, ConfigurationPackage.Literals.PROR_TOOL_EXTENSION__GENERAL_CONFIGURATION, generalConfig)); } LabelConfiguration labelConfig = generalConfig.getLabelConfiguration(); if (labelConfig == null) { labelConfig = ConfigurationFactory.eINSTANCE.createLabelConfiguration(); cmd.append( SetCommand.create( editingDomain, generalConfig, ConfigurationPackage.Literals.PROR_GENERAL_CONFIGURATION__LABEL_CONFIGURATION, labelConfig)); } else { // If there is already a label configuration, we leave it alone. return; } labelConfig.getDefaultLabel().add("ReqIF.ChapterNumber"); labelConfig.getDefaultLabel().add("ReqIF.ChapterName"); labelConfig.getDefaultLabel().add("ReqIF.Name"); labelConfig.getDefaultLabel().add("ReqIF.Text"); labelConfig.getDefaultLabel().add("ID"); labelConfig.getDefaultLabel().add("Name"); labelConfig.getDefaultLabel().add("Description"); editingDomain.getCommandStack().execute(cmd); }
/** * Create a new model. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ protected EObject createInitialModel() { ReqIF root = reqif10Factory.createReqIF(); ReqIFHeader header = reqif10Factory.createReqIFHeader(); root.setTheHeader(header); XMLGregorianCalendar reqIFLastChange = ReqIF10Util.getReqIFLastChange(); header.setCreationTime(reqIFLastChange); header.setSourceToolId("ProR (http://pror.org)"); header.setIdentifier("rmf-" + UUID.randomUUID()); header.setReqIFVersion("1.0.1"); header.setReqIFToolId("ProR (http://pror.org)"); header.setComment("Created by: " + System.getProperty("user.name")); ReqIFContent content = reqif10Factory.createReqIFContent(); root.setCoreContent(content); // Add a DatatypeDefinition DatatypeDefinitionString ddString = reqif10Factory.createDatatypeDefinitionString(); ddString.setLongName("T_String32k"); ddString.setMaxLength(new BigInteger("32000")); ddString.setLastChange(reqIFLastChange); content.getDatatypes().add(ddString); // Add a SpecObjectType SpecObjectType specObjectType = reqif10Factory.createSpecObjectType(); specObjectType.setLongName("Requirement Type"); specObjectType.setLastChange(reqIFLastChange); content.getSpecTypes().add(specObjectType); // Add an AttributeDefinition AttributeDefinitionString ad1 = reqif10Factory.createAttributeDefinitionString(); ad1.setType(ddString); ad1.setLongName("Description"); ad1.setLastChange(reqIFLastChange); specObjectType.getSpecAttributes().add(ad1); // Add a SpecificationType SpecificationType specificationType = reqif10Factory.createSpecificationType(); specificationType.setLongName("Specification Type"); specificationType.setLastChange(reqIFLastChange); content.getSpecTypes().add(specificationType); // Add an AttributeDefinition AttributeDefinitionString ad2 = reqif10Factory.createAttributeDefinitionString(); ad2.setType(ddString); ad2.setLongName("Description"); ad2.setLastChange(reqIFLastChange); specificationType.getSpecAttributes().add(ad2); // Add a Specification Specification spec = reqif10Factory.createSpecification(); spec.setLongName("Specification Document"); spec.setType(specificationType); spec.setLastChange(reqIFLastChange); AttributeValueString value1 = reqif10Factory.createAttributeValueString(); value1.setTheValue("Requirements Document"); value1.setDefinition(ad2); spec.getValues().add(value1); content.getSpecifications().add(spec); // Configure the Specification View ProrToolExtension extension = ConfigurationFactory.eINSTANCE.createProrToolExtension(); ReqIFToolExtensionUtil.addToolExtension(root, extension); ProrSpecViewConfiguration prorSpecViewConfiguration = ConfigurationFactory.eINSTANCE.createProrSpecViewConfiguration(); extension.getSpecViewConfigurations().add(prorSpecViewConfiguration); prorSpecViewConfiguration.setSpecification(spec); Column col = ConfigurationFactory.eINSTANCE.createColumn(); col.setLabel("Description"); col.setWidth(400); prorSpecViewConfiguration.getColumns().add(col); Column leftHeaderColumn = ConfigurationFactory.eINSTANCE.createColumn(); leftHeaderColumn.setWidth(ConfigurationUtil.DEFAULT_LEFT_HEADER_COLUMN_WIDTH); leftHeaderColumn.setLabel(ConfigurationUtil.DEFAULT_LEFT_HEADER_COLUMN_NAME); prorSpecViewConfiguration.setLeftHeaderColumn(leftHeaderColumn); // Configure the Label configuration ProrGeneralConfiguration generalConfig = ConfigurationFactory.eINSTANCE.createProrGeneralConfiguration(); LabelConfiguration labelConfig = ConfigurationFactory.eINSTANCE.createLabelConfiguration(); labelConfig.getDefaultLabel().add("Description"); generalConfig.setLabelConfiguration(labelConfig); extension.setGeneralConfiguration(generalConfig); // Create one Requirement SpecObject specObject = reqif10Factory.createSpecObject(); specObject.setType(specObjectType); specObject.setLastChange(reqIFLastChange); content.getSpecObjects().add(specObject); AttributeValueString value2 = reqif10Factory.createAttributeValueString(); value2.setTheValue("Start editing here."); value2.setDefinition(ad1); specObject.getValues().add(value2); // Add the requirement to the Specification SpecHierarchy specHierarchy = reqif10Factory.createSpecHierarchy(); specHierarchy.setLastChange(reqIFLastChange); spec.getChildren().add(specHierarchy); specHierarchy.setObject(specObject); return root; }