/*******************************************************************************
* Copyright (c) 2014 itemis AG and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Mark Broerkens (itemis AG) - initial API and implementation
*******************************************************************************/
package org.eclipse.rmf.tests.reqif10.serialization.uc001.tc1300;
import java.math.BigInteger;
import org.eclipse.emf.common.util.EList;
import org.eclipse.rmf.reqif10.AttributeDefinitionString;
import org.eclipse.rmf.reqif10.AttributeDefinitionXHTML;
import org.eclipse.rmf.reqif10.AttributeValueString;
import org.eclipse.rmf.reqif10.AttributeValueXHTML;
import org.eclipse.rmf.reqif10.DatatypeDefinition;
import org.eclipse.rmf.reqif10.DatatypeDefinitionString;
import org.eclipse.rmf.reqif10.DatatypeDefinitionXHTML;
import org.eclipse.rmf.reqif10.RelationGroup;
import org.eclipse.rmf.reqif10.RelationGroupType;
import org.eclipse.rmf.reqif10.ReqIF10Factory;
import org.eclipse.rmf.reqif10.SpecHierarchy;
import org.eclipse.rmf.reqif10.SpecObject;
import org.eclipse.rmf.reqif10.SpecObjectType;
import org.eclipse.rmf.reqif10.SpecRelation;
import org.eclipse.rmf.reqif10.SpecRelationType;
import org.eclipse.rmf.reqif10.Specification;
import org.eclipse.rmf.reqif10.SpecificationType;
import org.eclipse.rmf.tests.reqif10.serialization.util.SimpleModelBuilder;
@SuppressWarnings("nls")
public class TC1300SpecRelationModelBuilder extends SimpleModelBuilder {
final static String LAST_CHANGE_STRING = "2012-04-07T01:51:37.112+02:00";
final static String TEST_CASE_ID = "TC1300";
// datatypes
DatatypeDefinitionString datatypeDefinitionString;
DatatypeDefinitionXHTML datatypeDefinitionXHTML;
// SpecObjectTypes
SpecObjectType specObjectType;
AttributeDefinitionString attributeDefinitionStringForSpecObject;
// SpecificationTypes
SpecificationType specificationType;
// SpecObjects
SpecObject specObject1;
SpecObject specObject2;
// SpecRelationTypes
SpecRelationType specRelationType;
AttributeDefinitionXHTML attributeDefinitionXhtmlForSpecRelation;
// RelationGroupTypes
// TODO: why isn't it called SpecRelationGroupType?
RelationGroupType relationGroupType;
// TODO: why isn't it called SpecRelationGroup?
RelationGroup relationGroup;
// SpecRelation
SpecRelation specRelation;
// Specifications
Specification specification;
public TC1300SpecRelationModelBuilder() throws Exception {
super("ID_TC1300_ReqIfHeader", "TC 1300 'SpecRelation'");
}
@Override
public void createDatatypes() throws Exception {
datatypeDefinitionString = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionString();
datatypeDefinitionString.setIdentifier("ID_TC1300_DatatypeDefinitionString");
datatypeDefinitionString.setLongName("TC1300 String");
datatypeDefinitionString.setLastChange(toDate(LAST_CHANGE_STRING));
datatypeDefinitionString.setMaxLength(new BigInteger("256"));
// datatypeDefinitionXHTML
datatypeDefinitionXHTML = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionXHTML();
datatypeDefinitionXHTML.setIdentifier("ID_TC1300_DatatypeDefinitionXHTML");
datatypeDefinitionXHTML.setLongName("TC1300 XHTML");
datatypeDefinitionXHTML.setLastChange(toDate(LAST_CHANGE_STRING));
EList<DatatypeDefinition> datatypes = getReqIF().getCoreContent().getDatatypes();
datatypes.add(datatypeDefinitionString);
datatypes.add(datatypeDefinitionXHTML);
}
@Override
public void createSpecObjectTypes() throws Exception {
specObjectType = ReqIF10Factory.eINSTANCE.createSpecObjectType();
specObjectType.setIdentifier("ID_TC1300_SpecObjectType");
specObjectType.setLongName("TC1300 SpecObjectType");
specObjectType.setLastChange(toDate(LAST_CHANGE_STRING));
attributeDefinitionStringForSpecObject = ReqIF10Factory.eINSTANCE.createAttributeDefinitionString();
attributeDefinitionStringForSpecObject.setIdentifier("ID_TC1300_AttributeDefinitionString");
attributeDefinitionStringForSpecObject.setLongName("TC1300 String");
attributeDefinitionStringForSpecObject.setLastChange(toDate(LAST_CHANGE_STRING));
attributeDefinitionStringForSpecObject.setType(datatypeDefinitionString);
specObjectType.getSpecAttributes().add(attributeDefinitionStringForSpecObject);
getReqIF().getCoreContent().getSpecTypes().add(specObjectType);
}
@Override
public void createSpecificationTypes() throws Exception {
specificationType = ReqIF10Factory.eINSTANCE.createSpecificationType();
specificationType.setIdentifier("ID_TC1300_SpecificationType");
specificationType.setLongName("TC1300 SpecificationType");
specificationType.setLastChange(toDate(LAST_CHANGE_STRING));
getReqIF().getCoreContent().getSpecTypes().add(specificationType);
}
@Override
public void createSpecifications() throws Exception {
specification = ReqIF10Factory.eINSTANCE.createSpecification();
specification.setIdentifier("ID_TC1300_Specification");
specification.setType(specificationType);
specification.setLastChange(toDate(LAST_CHANGE_STRING));
SpecHierarchy specHierarchy;
specHierarchy = ReqIF10Factory.eINSTANCE.createSpecHierarchy();
specHierarchy.setIdentifier("ID_TC1300_SpecHierarchy1");
specHierarchy.setLongName("TC1300 SpecHierarchy1");
specHierarchy.setLastChange(toDate(LAST_CHANGE_STRING));
specHierarchy.setObject(specObject1);
specification.getChildren().add(specHierarchy);
specHierarchy = ReqIF10Factory.eINSTANCE.createSpecHierarchy();
specHierarchy.setIdentifier("ID_TC1300_SpecHierarchy2");
specHierarchy.setLongName("TC1300 SpecHierarchy2");
specHierarchy.setLastChange(toDate(LAST_CHANGE_STRING));
specHierarchy.setObject(specObject2);
specification.getChildren().add(specHierarchy);
getReqIF().getCoreContent().getSpecifications().add(specification);
}
@Override
public void createSpecObjects() throws Exception {
// specObject1
specObject1 = ReqIF10Factory.eINSTANCE.createSpecObject();
specObject1.setIdentifier("ID_TC1300_SpecObject1");
specObject1.setLastChange(toDate(LAST_CHANGE_STRING));
specObject1.setType(specObjectType);
AttributeValueString attributeValueString;
attributeValueString = ReqIF10Factory.eINSTANCE.createAttributeValueString();
attributeValueString.setDefinition(attributeDefinitionStringForSpecObject);
attributeValueString.setTheValue("Requirement 1");
specObject1.getValues().add(attributeValueString);
getReqIF().getCoreContent().getSpecObjects().add(specObject1);
// specObject2
specObject2 = ReqIF10Factory.eINSTANCE.createSpecObject();
specObject2.setIdentifier("ID_TC1300_SpecObject2");
specObject2.setLastChange(toDate(LAST_CHANGE_STRING));
specObject2.setType(specObjectType);
attributeValueString = ReqIF10Factory.eINSTANCE.createAttributeValueString();
attributeValueString.setDefinition(attributeDefinitionStringForSpecObject);
attributeValueString.setTheValue("Requirement 2");
specObject2.getValues().add(attributeValueString);
getReqIF().getCoreContent().getSpecObjects().add(specObject2);
}
@Override
public void createRelationGroupTypes() throws Exception {
relationGroupType = ReqIF10Factory.eINSTANCE.createRelationGroupType();
relationGroupType.setIdentifier("ID_TC1300_SpecRelationGroupType");
relationGroupType.setLongName("TC 1300 SpecRelationGroupType");
relationGroupType.setLastChange(toDate(LAST_CHANGE_STRING));
getReqIF().getCoreContent().getSpecTypes().add(relationGroupType);
}
@Override
public void createRelationGroups() throws Exception {
relationGroup = ReqIF10Factory.eINSTANCE.createRelationGroup();
relationGroup.setIdentifier("ID_TC1300_RelationGroup");
relationGroup.setLongName("TC 1300 RelationGroup");
relationGroup.setLastChange(toDate(LAST_CHANGE_STRING));
relationGroup.setType(relationGroupType);
relationGroup.getSpecRelations().add(specRelation);
relationGroup.setSourceSpecification(specification);
relationGroup.setTargetSpecification(specification);
getReqIF().getCoreContent().getSpecRelationGroups().add(relationGroup);
}
@Override
public void createSpecRelations() throws Exception {
specRelation = ReqIF10Factory.eINSTANCE.createSpecRelation();
specRelation.setIdentifier("ID_TC1300_SpecRelation");
specRelation.setLongName("TC 1300 SpecRelation");
specRelation.setLastChange(toDate(LAST_CHANGE_STRING));
specRelation.setType(specRelationType);
specRelation.setSource(specObject1);
specRelation.setTarget(specObject2);
AttributeValueXHTML attributeValueXhtml = ReqIF10Factory.eINSTANCE.createAttributeValueXHTML();
attributeValueXhtml.setDefinition(attributeDefinitionXhtmlForSpecRelation);
attributeValueXhtml.setTheValue(createXhtmlValue("TC 1300 SpecRelation"));
specRelation.getValues().add(attributeValueXhtml);
getReqIF().getCoreContent().getSpecRelations().add(specRelation);
}
@Override
public void createSpecRelationTypes() throws Exception {
specRelationType = ReqIF10Factory.eINSTANCE.createSpecRelationType();
specRelationType.setIdentifier("ID_TC1300_SpecRelationType");
specRelationType.setLongName("TC 1300 SpecRelationType");
specRelationType.setLastChange(toDate(LAST_CHANGE_STRING));
attributeDefinitionXhtmlForSpecRelation = ReqIF10Factory.eINSTANCE.createAttributeDefinitionXHTML();
attributeDefinitionXhtmlForSpecRelation.setIdentifier("ID_TC1300_AttributeDefinitionString_SpecRelation");
attributeDefinitionXhtmlForSpecRelation.setLongName("ReqIF.Name");
attributeDefinitionXhtmlForSpecRelation.setLastChange(toDate(LAST_CHANGE_STRING));
attributeDefinitionXhtmlForSpecRelation.setType(datatypeDefinitionXHTML);
specRelationType.getSpecAttributes().add(attributeDefinitionXhtmlForSpecRelation);
getReqIF().getCoreContent().getSpecTypes().add(specRelationType);
}
}