Search in sources :

Example 6 with IIssue

use of com.archimatetool.hammer.validation.issues.IIssue in project archi by archimatetool.

the class EmptyViewsCheckerTests method testGetIssues.

@Test
public void testGetIssues() {
    List<IArchimateDiagramModel> views = new ArrayList<IArchimateDiagramModel>();
    IArchimateDiagramModel dm = IArchimateFactory.eINSTANCE.createArchimateDiagramModel();
    dm.setName("view");
    views.add(dm);
    EmptyViewsChecker checker = new EmptyViewsChecker(views);
    // Should be warning
    List<IIssue> issues = checker.getIssues();
    assertEquals(1, issues.size());
    assertTrue(issues.get(0) instanceof AdviceType);
    assertSame(dm, issues.get(0).getObject());
    // Add something to view for no issues
    dm.getChildren().add(IArchimateFactory.eINSTANCE.createDiagramModelGroup());
    issues = checker.getIssues();
    assertEquals(0, issues.size());
}
Also used : AdviceType(com.archimatetool.hammer.validation.issues.AdviceType) ArrayList(java.util.ArrayList) IIssue(com.archimatetool.hammer.validation.issues.IIssue) IArchimateDiagramModel(com.archimatetool.model.IArchimateDiagramModel) Test(org.junit.Test)

Example 7 with IIssue

use of com.archimatetool.hammer.validation.issues.IIssue in project archi by archimatetool.

the class JunctionsCheckerTests method testGetIssues.

@Test
public void testGetIssues() {
    List<IArchimateElement> elements = new ArrayList<IArchimateElement>();
    IArchimateElement e1 = IArchimateFactory.eINSTANCE.createBusinessActor();
    elements.add(e1);
    IArchimateElement junction = IArchimateFactory.eINSTANCE.createJunction();
    elements.add(junction);
    IArchimateElement e2 = IArchimateFactory.eINSTANCE.createBusinessActor();
    elements.add(e2);
    IArchimateRelationship rel1 = IArchimateFactory.eINSTANCE.createAssignmentRelationship();
    rel1.connect(e1, junction);
    IArchimateRelationship rel2 = IArchimateFactory.eINSTANCE.createAssignmentRelationship();
    rel2.connect(junction, e2);
    JunctionsChecker checker = new JunctionsChecker(elements);
    // Should be OK
    List<IIssue> issues = checker.getIssues();
    assertEquals(0, issues.size());
    // Add a different relationship
    IArchimateRelationship rel3 = IArchimateFactory.eINSTANCE.createTriggeringRelationship();
    rel3.connect(junction, e2);
    issues = checker.getIssues();
    assertEquals(1, issues.size());
    assertSame(junction, issues.get(0).getObject());
}
Also used : ArrayList(java.util.ArrayList) IArchimateElement(com.archimatetool.model.IArchimateElement) IArchimateRelationship(com.archimatetool.model.IArchimateRelationship) IIssue(com.archimatetool.hammer.validation.issues.IIssue) Test(org.junit.Test)

Example 8 with IIssue

use of com.archimatetool.hammer.validation.issues.IIssue in project archi by archimatetool.

the class NestedElementsCheckerTests method testGetIssues.

@Test
public void testGetIssues() {
    List<IArchimateDiagramModel> views = new ArrayList<IArchimateDiagramModel>();
    IArchimateDiagramModel dm = IArchimateFactory.eINSTANCE.createArchimateDiagramModel();
    dm.setName("view");
    views.add(dm);
    IDiagramModelArchimateObject dmo1 = IArchimateFactory.eINSTANCE.createDiagramModelArchimateObject();
    dmo1.setArchimateElement(IArchimateFactory.eINSTANCE.createGrouping());
    dm.getChildren().add(dmo1);
    IDiagramModelArchimateObject dmo2 = IArchimateFactory.eINSTANCE.createDiagramModelArchimateObject();
    dmo2.setArchimateElement(IArchimateFactory.eINSTANCE.createLocation());
    dmo1.getChildren().add(dmo2);
    NestedElementsChecker checker = new NestedElementsChecker(views);
    // Should not be ok
    List<IIssue> issues = checker.getIssues();
    assertEquals(1, issues.size());
    assertSame(dmo2, issues.get(0).getObject());
    // With this relationship should also not be OK
    IDiagramModelArchimateConnection conn = IArchimateFactory.eINSTANCE.createDiagramModelArchimateConnection();
    IArchimateRelationship relation = IArchimateFactory.eINSTANCE.createAssociationRelationship();
    relation.connect(dmo1.getArchimateElement(), dmo2.getArchimateElement());
    conn.setArchimateRelationship(relation);
    conn.connect(dmo1, dmo2);
    issues = checker.getIssues();
    assertEquals(1, issues.size());
    assertSame(dmo2, issues.get(0).getObject());
    // With a valid relationship should be OK
    relation = IArchimateFactory.eINSTANCE.createCompositionRelationship();
    relation.connect(dmo1.getArchimateElement(), dmo2.getArchimateElement());
    conn.setArchimateRelationship(relation);
    issues = checker.getIssues();
    assertEquals(0, issues.size());
}
Also used : IDiagramModelArchimateConnection(com.archimatetool.model.IDiagramModelArchimateConnection) ArrayList(java.util.ArrayList) IArchimateRelationship(com.archimatetool.model.IArchimateRelationship) IDiagramModelArchimateObject(com.archimatetool.model.IDiagramModelArchimateObject) IIssue(com.archimatetool.hammer.validation.issues.IIssue) IArchimateDiagramModel(com.archimatetool.model.IArchimateDiagramModel) Test(org.junit.Test)

Example 9 with IIssue

use of com.archimatetool.hammer.validation.issues.IIssue in project archi by archimatetool.

the class ViewpointCheckerTests method testGetIssues.

@Test
public void testGetIssues() {
    List<IArchimateDiagramModel> views = new ArrayList<IArchimateDiagramModel>();
    IArchimateDiagramModel dm = IArchimateFactory.eINSTANCE.createArchimateDiagramModel();
    dm.setName("view");
    views.add(dm);
    IDiagramModelArchimateObject dmo1 = IArchimateFactory.eINSTANCE.createDiagramModelArchimateObject();
    dmo1.setArchimateElement(IArchimateFactory.eINSTANCE.createNode());
    dm.getChildren().add(dmo1);
    ViewpointChecker checker = new ViewpointChecker(views);
    // Should be ok
    List<IIssue> issues = checker.getIssues();
    assertEquals(0, issues.size());
    // Set viewpoint
    dm.setViewpoint("organization");
    issues = checker.getIssues();
    assertEquals(1, issues.size());
    assertSame(dmo1, issues.get(0).getObject());
}
Also used : ArrayList(java.util.ArrayList) IDiagramModelArchimateObject(com.archimatetool.model.IDiagramModelArchimateObject) IIssue(com.archimatetool.hammer.validation.issues.IIssue) IArchimateDiagramModel(com.archimatetool.model.IArchimateDiagramModel) Test(org.junit.Test)

Example 10 with IIssue

use of com.archimatetool.hammer.validation.issues.IIssue in project archi by archimatetool.

the class DuplicateElementChecker method findDuplicateNamesElements.

List<IIssue> findDuplicateNamesElements() {
    List<IIssue> issues = new ArrayList<IIssue>();
    Set<IArchimateElement> dupes = new LinkedHashSet<IArchimateElement>();
    for (int i = 0; i < fArchimateElements.size(); i++) {
        for (int j = i + 1; j < fArchimateElements.size(); j++) {
            IArchimateElement element1 = fArchimateElements.get(i);
            IArchimateElement element2 = fArchimateElements.get(j);
            if (isDuplicate(element1, element2)) {
                dupes.add(element1);
                dupes.add(element2);
            }
        }
    }
    for (IArchimateElement element : dupes) {
        String description = NLS.bind(DESCRIPTION, new Object[] { element.getName(), ArchiLabelProvider.INSTANCE.getDefaultName(element.eClass()) });
        IIssue issue = new WarningType(NAME, description, EXPLANATION, element);
        issues.add(issue);
    }
    return issues;
}
Also used : LinkedHashSet(java.util.LinkedHashSet) ArrayList(java.util.ArrayList) WarningType(com.archimatetool.hammer.validation.issues.WarningType) IArchimateElement(com.archimatetool.model.IArchimateElement) IIssue(com.archimatetool.hammer.validation.issues.IIssue)

Aggregations

IIssue (com.archimatetool.hammer.validation.issues.IIssue)17 ArrayList (java.util.ArrayList)17 IArchimateElement (com.archimatetool.model.IArchimateElement)8 Test (org.junit.Test)8 IArchimateRelationship (com.archimatetool.model.IArchimateRelationship)7 IArchimateDiagramModel (com.archimatetool.model.IArchimateDiagramModel)6 IDiagramModelArchimateObject (com.archimatetool.model.IDiagramModelArchimateObject)6 WarningType (com.archimatetool.hammer.validation.issues.WarningType)4 AdviceType (com.archimatetool.hammer.validation.issues.AdviceType)3 ErrorType (com.archimatetool.hammer.validation.issues.ErrorType)3 IArchimateModel (com.archimatetool.model.IArchimateModel)2 IDiagramModelArchimateConnection (com.archimatetool.model.IDiagramModelArchimateConnection)2 ArchimateTestModel (com.archimatetool.testingtools.ArchimateTestModel)2 EObject (org.eclipse.emf.ecore.EObject)2 IArchimateDiagramEditor (com.archimatetool.editor.diagram.IArchimateDiagramEditor)1 IDiagramModelEditor (com.archimatetool.editor.diagram.IDiagramModelEditor)1 ITreeModelView (com.archimatetool.editor.views.tree.ITreeModelView)1 IArchimateConcept (com.archimatetool.model.IArchimateConcept)1 IDiagramModel (com.archimatetool.model.IDiagramModel)1 IDiagramModelComponent (com.archimatetool.model.IDiagramModelComponent)1