예제 #1
0
  /**
   * 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();
  }
예제 #2
0
  /** 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);
  }
예제 #3
0
  /**
   * 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;
  }