use of com.archimatetool.model.IDiagramModelArchimateObject in project archi by archimatetool.
the class FormatPainterToolTests method testCreateCommandForDiagramModelArchimateObject.
// ---------------------------------------------------------------------------------------------
// Tests
// ---------------------------------------------------------------------------------------------
@Test
public void testCreateCommandForDiagramModelArchimateObject() throws Exception {
// Source component
IDiagramModelArchimateObject sourceComponent = ArchimateTestModel.createDiagramModelArchimateObject(IArchimateFactory.eINSTANCE.createBusinessActor());
// Target component
IDiagramModelArchimateObject targetComponent = ArchimateTestModel.createDiagramModelArchimateObject(IArchimateFactory.eINSTANCE.createBusinessActor());
// Set FormatPainterInfo to Source component
FormatPainterInfo.INSTANCE.updatePaintFormat(sourceComponent);
PaintFormat pf = FormatPainterInfo.INSTANCE.getPaintFormat();
// Execute command
FormatPainterTool tool = new FormatPainterTool();
CompoundCommand compoundCmd = tool.createCommand(pf, targetComponent);
// Source and Target have same properties except for fill color so only one command
assertEquals(1, compoundCmd.getCommands().size());
// Fill Color should be set even if fill colour source is null (default)
Command cmd = (Command) compoundCmd.getCommands().get(0);
assertTrue(cmd instanceof FillColorCommand);
Object newValue = TestUtils.getPrivateField(cmd, "fNewValue");
assertEquals("#ffffb5", newValue);
// Now change some properties on the source component
sourceComponent.setFont("Consolas");
sourceComponent.setFontColor("#eeeeee");
sourceComponent.setLineColor("#eeeeee");
sourceComponent.setLineWidth(3);
sourceComponent.setTextAlignment(1);
compoundCmd = tool.createCommand(pf, targetComponent);
assertEquals(6, compoundCmd.getCommands().size());
}
use of com.archimatetool.model.IDiagramModelArchimateObject in project archi by archimatetool.
the class DuplicateCommandHandlerTests method testDuplicateDiagramModel.
@Test
public void testDuplicateDiagramModel() {
ArchimateTestModel tm = new ArchimateTestModel();
IArchimateModel model = tm.createNewModel();
IDiagramModel dm = model.getDefaultDiagramModel();
IArchimateElement actor = IArchimateFactory.eINSTANCE.createBusinessActor();
IDiagramModelArchimateObject dmo1 = tm.createDiagramModelArchimateObjectAndAddToModel(actor);
dmo1.setName("dm");
dm.getChildren().add(dmo1);
IArchimateElement role = IArchimateFactory.eINSTANCE.createBusinessRole();
IDiagramModelArchimateObject dmo2 = tm.createDiagramModelArchimateObjectAndAddToModel(role);
dm.getChildren().add(dmo2);
IArchimateRelationship relation = IArchimateFactory.eINSTANCE.createAssignmentRelationship();
relation.setSource(actor);
relation.setTarget(role);
IDiagramModelArchimateConnection dmc1 = tm.createDiagramModelArchimateConnectionAndAddToModel(relation);
dmc1.connect(dmo1, dmo2);
DuplicateCommandHandler handler = new DuplicateCommandHandler(new Object[] { dm });
handler.duplicate();
assertEquals(2, model.getDiagramModels().size());
IDiagramModel dmCopy = model.getDiagramModels().get(1);
assertNotSame(dm, dmCopy);
assertEquals(dm.getName() + " (copy)", dmCopy.getName());
EList<IDiagramModelObject> children = dmCopy.getChildren();
assertEquals(2, children.size());
IDiagramModelArchimateObject dmo1Copy = (IDiagramModelArchimateObject) children.get(0);
IDiagramModelArchimateObject dmo2Copy = (IDiagramModelArchimateObject) children.get(1);
assertNotSame(dmo1, dmo1Copy);
assertNotSame(dmo2, dmo2Copy);
assertSame(actor, dmo1Copy.getArchimateConcept());
assertSame(role, dmo2Copy.getArchimateConcept());
EList<IDiagramModelConnection> connections = dmo1Copy.getSourceConnections();
assertEquals(1, connections.size());
IDiagramModelArchimateConnection dmc1Copy = (IDiagramModelArchimateConnection) connections.get(0);
assertNotSame(dmc1, dmc1Copy);
assertSame(relation, dmc1Copy.getArchimateConcept());
}
use of com.archimatetool.model.IDiagramModelArchimateObject in project archi by archimatetool.
the class ArchimateTestModel method createDiagramModelArchimateObjectAndAddToModel.
/**
* Create a DiagramModelArchimateObject and add an Archimate element to it.
* The Archimate element will be added to its default container folder in the model
*/
public IDiagramModelArchimateObject createDiagramModelArchimateObjectAndAddToModel(IArchimateElement element) {
IDiagramModelArchimateObject dmo = IArchimateFactory.eINSTANCE.createDiagramModelArchimateObject();
dmo.setArchimateElement(element);
if (element.eContainer() == null) {
model.getArchimateModel().getDefaultFolderForObject(element).getElements().add(element);
}
return dmo;
}
use of com.archimatetool.model.IDiagramModelArchimateObject in project archi by archimatetool.
the class ArchimateDiagramModelFactoryTests method testGetNewObjectArchimateDiagramObject.
@Test
public void testGetNewObjectArchimateDiagramObject() {
ICreationFactory factory = new ArchimateDiagramModelFactory(IArchimatePackage.eINSTANCE.getBusinessActor());
IDiagramModelArchimateObject dmo = (IDiagramModelArchimateObject) factory.getNewObject();
assertTrue(dmo.getArchimateElement() instanceof IBusinessActor);
assertEquals("Business Actor", dmo.getName());
}
use of com.archimatetool.model.IDiagramModelArchimateObject in project archi by archimatetool.
the class AllArchimateTextControlContainerFigureTests method createFigure.
@Override
protected AbstractDiagramModelObjectFigure createFigure() {
IDiagramModelArchimateObject dmo = ArchimateTestModel.createDiagramModelArchimateObject((IArchimateElement) IArchimateFactory.eINSTANCE.create(eClass));
dmo.setBounds(IArchimateFactory.eINSTANCE.createBounds());
dmo.setName("Hello World!");
dm.getChildren().add(dmo);
editor.layoutPendingUpdates();
return (AbstractDiagramModelObjectFigure) editor.findFigure(dmo);
}
Aggregations