/**
* Copyright (c) 2012, 2013 itemis AG.
* 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 - initial API and implementation
*
*/
package org.eclipse.rmf.tests.reqif10.serialization.uc001.tc3000;
import java.math.BigInteger;
import org.eclipse.emf.common.util.EList;
import org.eclipse.rmf.reqif10.AttributeDefinitionString;
import org.eclipse.rmf.reqif10.AttributeValueString;
import org.eclipse.rmf.reqif10.DatatypeDefinition;
import org.eclipse.rmf.reqif10.DatatypeDefinitionString;
import org.eclipse.rmf.reqif10.ReqIF10Factory;
import org.eclipse.rmf.reqif10.ReqIFToolExtension;
import org.eclipse.rmf.reqif10.SpecHierarchy;
import org.eclipse.rmf.reqif10.SpecObject;
import org.eclipse.rmf.reqif10.SpecObjectType;
import org.eclipse.rmf.reqif10.Specification;
import org.eclipse.rmf.reqif10.SpecificationType;
import org.eclipse.rmf.tests.reqif10.serialization.model.toolextension.Extension;
import org.eclipse.rmf.tests.reqif10.serialization.model.toolextension.SpecObjectExtension;
import org.eclipse.rmf.tests.reqif10.serialization.model.toolextension.ToolextensionFactory;
import org.eclipse.rmf.tests.reqif10.serialization.util.SimpleModelBuilder;
@SuppressWarnings("nls")
public class TC3000ToolExtensionsModelBuilder extends SimpleModelBuilder {
final static String LAST_CHANGE_STRING = "2012-04-07T01:51:37.112+02:00";
final static String TEST_CASE_ID = "TC3000";
// datatypes
protected DatatypeDefinitionString datatypeDefinitionString;
// SpecObjectTypes
SpecObjectType specObjectType;
AttributeDefinitionString attributeDefinitionString;
// SpecificationTypes
SpecificationType specificationType;
// SpecObjects
SpecObject specObject;
/**
* @throws Exception
*
*/
public TC3000ToolExtensionsModelBuilder() throws Exception {
super("ID_TC3000_ReqIfHeader", "TC 3000 'Tool Extensions'");
}
public TC3000ToolExtensionsModelBuilder(String creationTimeString, String identifier, String title) throws Exception {
super(creationTimeString, identifier, title);
}
@Override
public void createDatatypes() throws Exception {
datatypeDefinitionString = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionString();
datatypeDefinitionString.setIdentifier("ID_TC3000_DatatypeDefinitionString");
datatypeDefinitionString.setLongName("TC3000 DatatypeDefinitionString");
datatypeDefinitionString.setLastChange(toDate(LAST_CHANGE_STRING));
datatypeDefinitionString.setMaxLength(new BigInteger("255"));
EList<DatatypeDefinition> datatypes = getReqIF().getCoreContent().getDatatypes();
datatypes.add(datatypeDefinitionString);
}
@Override
public void createSpecObjectTypes() throws Exception {
specObjectType = ReqIF10Factory.eINSTANCE.createSpecObjectType();
specObjectType.setIdentifier("ID_TC3000_SpecObjectType");
specObjectType.setLongName("TC3000 SpecObjectType");
specObjectType.setLastChange(toDate(LAST_CHANGE_STRING));
attributeDefinitionString = ReqIF10Factory.eINSTANCE.createAttributeDefinitionString();
attributeDefinitionString.setIdentifier("ID_TC3000_AttributeDefinitionString");
attributeDefinitionString.setLongName("TC3000 String");
attributeDefinitionString.setLastChange(toDate(LAST_CHANGE_STRING));
attributeDefinitionString.setType(datatypeDefinitionString);
specObjectType.getSpecAttributes().add(attributeDefinitionString);
getReqIF().getCoreContent().getSpecTypes().add(specObjectType);
}
@Override
public void createSpecificationTypes() throws Exception {
specificationType = ReqIF10Factory.eINSTANCE.createSpecificationType();
specificationType.setIdentifier("ID_TC3000_SpecificationType");
specificationType.setLongName("TC3000 SpecificationType");
specificationType.setLastChange(toDate(LAST_CHANGE_STRING));
getReqIF().getCoreContent().getSpecTypes().add(specificationType);
}
@Override
public void createRelationGroups() throws Exception {
// TODO Auto-generated method stub
super.createRelationGroups();
}
@Override
public void createSpecifications() throws Exception {
Specification specification = ReqIF10Factory.eINSTANCE.createSpecification();
specification.setIdentifier("ID_TC3000_Specification");
specification.setType(specificationType);
specification.setLastChange(toDate(LAST_CHANGE_STRING));
SpecHierarchy specHierarchy = ReqIF10Factory.eINSTANCE.createSpecHierarchy();
specHierarchy.setIdentifier("ID_TC3000_SpecHierarchy");
specHierarchy.setLongName("TC3000 SpecHierarchy");
specHierarchy.setLastChange(toDate(LAST_CHANGE_STRING));
specHierarchy.setObject(specObject);
specification.getChildren().add(specHierarchy);
getReqIF().getCoreContent().getSpecifications().add(specification);
}
@Override
public void createSpecObjects() throws Exception {
specObject = ReqIF10Factory.eINSTANCE.createSpecObject();
specObject.setIdentifier("ID_TC3000_SpecObject");
specObject.setLastChange(toDate(LAST_CHANGE_STRING));
specObject.setType(specObjectType);
AttributeValueString attributeValueString = ReqIF10Factory.eINSTANCE.createAttributeValueString();
attributeValueString.setDefinition(attributeDefinitionString);
attributeValueString.setTheValue("Plain");
specObject.getValues().add(attributeValueString);
getReqIF().getCoreContent().getSpecObjects().add(specObject);
}
@Override
public void createToolExtensions() throws Exception {
Extension extension = ToolextensionFactory.eINSTANCE.createExtension();
SpecObjectExtension specObjectExtension1 = ToolextensionFactory.eINSTANCE.createSpecObjectExtension();
specObjectExtension1.setExtendedDesc("This is an extended description of a SpecObject");
specObjectExtension1.setExtendedSpecObject(specObject);
SpecObjectExtension specObjectExtension2 = ToolextensionFactory.eINSTANCE.createSpecObjectExtension();
specObjectExtension2.setExtendedDesc("This is another extended description of a SpecObject");
specObjectExtension2.setExtendedSpecObject(specObject);
extension.getSpecObjectExtensions().add(specObjectExtension1);
extension.getSpecObjectExtensions().add(specObjectExtension2);
ReqIFToolExtension reqIFToolExtension = ReqIF10Factory.eINSTANCE.createReqIFToolExtension();
reqIFToolExtension.getExtensions().add(extension);
getReqIF().getToolExtensions().add(reqIFToolExtension);
}
}