Package archmapper.main.test

Source Code of archmapper.main.test.MappingTestBase

package archmapper.main.test;

import org.junit.Before;

import archmapper.main.conformance.MappingHelper;
import archmapper.main.model.ArchitectureMappingModel;
import archmapper.main.model.architecture.ArchitectureXMLDAO;
import archmapper.main.model.architecture.Component;
import archmapper.main.model.architecture.Configuration;
import archmapper.main.model.architecture.Connector;
import archmapper.main.model.architecture.Port;
import archmapper.main.model.architecture.Role;
import archmapper.main.model.archmapping.ArchitectureMapping;
import archmapper.main.model.archmapping.ArchitectureMappingDAO;
import archmapper.main.model.archmapping.ClassDefinition;
import archmapper.main.model.archmapping.ComponentMapping;
import archmapper.main.model.archmapping.ConnectorMapping;
import archmapper.main.model.archmapping.FileDefinition;
import archmapper.main.model.archmapping.PortMapping;
import archmapper.main.model.archmapping.StyleTypeInformation;
import archmapper.main.model.stylemapping.ClassType;
import archmapper.main.model.stylemapping.ComponentTypeMapping;
import archmapper.main.model.stylemapping.FileType;
import archmapper.main.model.stylemapping.PortTypeMapping;
import archmapper.main.model.stylemapping.RoleTypeMapping;
import archmapper.main.model.stylemapping.StyleMapping;
import archmapper.main.model.stylemapping.StyleMappingDAO;
import archmapper.main.model.stylemapping.RoleTypeMapping.RoleTypeDirection;

public class MappingTestBase {
  protected Configuration architecture;
  protected ArchitectureMapping archMapping;
  protected StyleMapping styleMapping;
  protected ArchitectureMappingModel model;
  protected MappingHelper mappingHelper;
 
  @Before
  public void setUp() {
    architecture = new Configuration();
    archMapping = new ArchitectureMapping();
    styleMapping = new StyleMapping();
    model = new ArchitectureMappingModel(architecture,
        styleMapping, archMapping);
   
    mappingHelper = new MappingHelper(model);
  }
 
  protected void createArchitecture() {
    architecture.setArchitecturalStyle("testStyle");
    architecture.setName("Test-Architecture");
   
    // add a component
    Component comp = new Component();
    comp.setParent(architecture);
    architecture.getComponents().add(comp);
   
    comp.setName("Comp1");
    comp.setStyleType("CompType1");
   
    // add a property
    architecture.getProperties().put("Prop", "Value");
   
    // add a port to the component
    Port port = new Port();
    port.setParent(comp);
    comp.getPorts().add(port);
   
    port.setName("p");
    port.setStyleType("PortType1");
   
   
    // second component
    Component comp2 = new Component();
    comp2.setParent(architecture);
    architecture.getComponents().add(comp2);
   
    comp2.setName("Comp2");
    comp2.setStyleType("CompType2");
   
    Port port2 = new Port();
    port2.setParent(comp2);
    comp2.getPorts().add(port2);
   
    port2.setName("p2");
    port2.setStyleType("PortType2");
   
   
    // add a connector
    Connector conn = new Connector();
    architecture.getConnectors().add(conn);
   
    conn.setName("Connector1");
    conn.setStyleType("ConnType");
   
    Role role = new Role();
    role.setConnector(conn);
    conn.getRoles().add(role);
    role.setStyleType("CallerRole");
    port.getRoles().add(role);
    role.setPort(port);
   
    Role role2 = new Role();
    role2.setConnector(conn);
    conn.getRoles().add(role2);
    role2.setStyleType("CalleeRole");
    port2.getRoles().add(role2);
    role2.setPort(port2);
   
   
    // Set the role information from the style mapping
    model.setRoleDirectionInArchitecture(true);
  }
 
  protected void createArchitectureMapping() {
    // create a component mapping
    ComponentMapping compMapping = new ComponentMapping();
    compMapping.setParent(archMapping);
    archMapping.getComponentMapping().add(compMapping);
   
    compMapping.setComponentName("Comp1");
    compMapping.setDefaultPackage("de.superpackage");
   
    // add a class definition to the component mapping
    ClassDefinition classDef = new ClassDefinition();
    classDef.setParent(compMapping);
    compMapping.getClassDefinition().add(classDef);
   
    classDef.setType("ClassType1");
    classDef.setClassName("ClassName1");
   
    // add a file definition
    FileDefinition fileDef = new FileDefinition();
    fileDef.setParent(compMapping);
    compMapping.getFileDefinition().add(fileDef);
    fileDef.setFilename("file1");
    fileDef.setType("filetype1");
   
    // create a port mapping
    PortMapping portMapping = new PortMapping();
    compMapping.getPortMapping().add(portMapping);
    portMapping.setParent(compMapping);
    portMapping.setPortName("p");
    portMapping.getExposedClass().add(classDef);
    portMapping.getUsingClass().add(classDef);
   
    // Mapping for component2
    ComponentMapping comp2Mapping = new ComponentMapping();
    comp2Mapping.setComponentName("Comp2");
    archMapping.getComponentMapping().add(comp2Mapping);
    comp2Mapping.setParent(archMapping);
   
    ClassDefinition classDef2 = new ClassDefinition();
    comp2Mapping.getClassDefinition().add(classDef2);
    classDef2.setParent(comp2Mapping);
    classDef2.setClassName("Class2");
    classDef2.setType("ClassType2");
   
    // create a connector mapping
    ConnectorMapping connMapping = new ConnectorMapping();
    connMapping.setParent(archMapping);
    archMapping.getConnectorMapping().add(connMapping);
   
    connMapping.setConnectorName("Connector1");
   
    // create styleTypeInformation
    StyleTypeInformation stInfo = new StyleTypeInformation();
    archMapping.getStyleTypeInformation().add(stInfo);
    stInfo.setParent(archMapping);
    stInfo.setType("CompType2");
    stInfo.setDefaultPackage("com.testpackage");
   
  }
 
  protected void createStyleMapping() {
    styleMapping.setStyleName("testStyle");
   
    ComponentTypeMapping compT1Mapping = new ComponentTypeMapping();
    compT1Mapping.setTypeName("CompType1");
    styleMapping.getComponentTypeMapping().add(compT1Mapping);
    compT1Mapping.setExternal(true);
   
    FileType fileType1 = new FileType();
    compT1Mapping.getFileTypes().add(fileType1);
    fileType1.setFilenameEnding("txt");
    fileType1.setTemplateText("TestTemplate");
    fileType1.setOptional(true);
    fileType1.setTypeName("filetype1");
   
    ComponentTypeMapping compT2Mapping = new ComponentTypeMapping();
    compT2Mapping.setTypeName("CompType2");
    styleMapping.getComponentTypeMapping().add(compT2Mapping);
    compT2Mapping.setExternal(false);

    ClassType classType = new ClassType();
    compT2Mapping.getClassTypes().add(classType);
    classType.setTypeName("ClassType2");
    classType.setSingleton(true);
   
    PortTypeMapping ptMapping = new PortTypeMapping();
    styleMapping.getPortTypeMapping().add(ptMapping);
    ptMapping.setTypeName("PortType2");
    ptMapping.getExportedTypes().add(classType);
    //ptMapping.setExport(PortTypeExportOption.all);
   
    RoleTypeMapping rtMapping1 = new RoleTypeMapping();
    styleMapping.getRoleTypeMapping().add(rtMapping1);
    rtMapping1.setTypeName("CalleeRole");
    rtMapping1.setDirection(RoleTypeDirection.in);
   
    RoleTypeMapping rtMapping2 = new RoleTypeMapping();
    styleMapping.getRoleTypeMapping().add(rtMapping2);
    rtMapping2.setTypeName("CallerRole");
    rtMapping2.setDirection(RoleTypeDirection.out);
   
    // Set the role information from the style mapping
    model.setRoleDirectionInArchitecture(true);
  }
 
  protected void loadFiles() {
    architecture = ArchitectureXMLDAO.read(MappingTestBase.class.
        getResourceAsStream("testArchitecture.arch.xml"));
    styleMapping = StyleMappingDAO.read(MappingTestBase.class.
        getResourceAsStream("testStyleMapping.xml"));
    archMapping = ArchitectureMappingDAO.read(MappingTestBase.class.
        getResourceAsStream("testArchMapping.xml"));
   
   
    model = new ArchitectureMappingModel(architecture,
        styleMapping, archMapping);
   
    mappingHelper = new MappingHelper(model);
  }
}
TOP

Related Classes of archmapper.main.test.MappingTestBase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.