Package org.emftrace.metamodel.LinkModel

Examples of org.emftrace.metamodel.LinkModel.TraceLink


        linkManager.performTransitivityAnalysis(null);
        assertEquals(1, accessLayer.getElements(project, "Trace").size());
        linkManager.performTransitivityAnalysis(project);
        assertEquals(0, accessLayer.getElements(project, "Trace").size());
       
        TraceLink link1 = LinkModelFactory.eINSTANCE.createTraceLink();
        TraceLink link2 = LinkModelFactory.eINSTANCE.createTraceLink();
        accessLayer.addElement(project, link1);
        accessLayer.addElement(project, link2);
               
        Concern concern1 = URNModelFactory.eINSTANCE.createConcern();
        Concern concern2 = URNModelFactory.eINSTANCE.createConcern();
        Concern concern3 = URNModelFactory.eINSTANCE.createConcern();
        accessLayer.addElement(project, concern1);
        accessLayer.addElement(project, concern2);
        accessLayer.addElement(project, concern3);
       
        // create a transitive relation:       
        link1.setSource(concern1);
        link1.setTarget(concern2);
        link2.setSource(concern2);
        link2.setTarget(concern3);
       
        // this should result in one trace being created:
        linkManager.performTransitivityAnalysis(project);
        assertEquals(1, accessLayer.getElements(project, "Trace").size());
        assertEquals(2, ((Trace) (accessLayer.getElements(project, "Trace").get(0))).getTraceabilityLinks().size());
View Full Code Here


     * plug-in registry is required
     */
    @Test
    public void testValidateLinkProjectTraceLink()
    {               
        TraceLink link = LinkModelFactory.eINSTANCE.createTraceLink();
        accessLayer.addElement(project, link);
        link.setCreatedByUser(false);
        link.setCreatedByRule("Test");
       
        Concern c1 = URNModelFactory.eINSTANCE.createConcern();
        Concern c2 = URNModelFactory.eINSTANCE.createConcern();
        accessLayer.addElement(project, c1);
        accessLayer.addElement(project, c2);
       
        assertEquals(1, accessLayer.getElements(project, "TraceLink").size());
        linkManager.validateLink(project, (TraceLink)null);
        assertEquals(1, accessLayer.getElements(project, "TraceLink").size());
        linkManager.validateLink(null, link);
        assertEquals(1, accessLayer.getElements(project, "TraceLink").size());
        linkManager.validateLink(null, (TraceLink)null);
        assertEquals(1, accessLayer.getElements(project, "TraceLink").size());
       
        // test removing links with no content:
        linkManager.validateLink(project, link);
        assertEquals(0, accessLayer.getElements(project, "TraceLink").size());
              
        // test removing links without source:
        accessLayer.addElement(project, link);
        link.setTarget(c1);
        linkManager.validateLink(project, link);
        assertEquals(0, accessLayer.getElements(project, "TraceLink").size());
       
        // test removing links without target:
        accessLayer.addElement(project, link);
        link.setSource(c1);
        linkManager.validateLink(project, link);
        assertEquals(0, accessLayer.getElements(project, "TraceLink").size());
       
        // test validation of valid link:
        accessLayer.addElement(project, link);
        link.setSource(c1);
        link.setTarget(c2);
        linkManager.validateLink(project, link);
        assertEquals(1, accessLayer.getElements(project, "TraceLink").size());       
    }
View Full Code Here

    }

    @Test
    public void testValidateLinkProjectModelElementId()
    {               
        TraceLink link = LinkModelFactory.eINSTANCE.createTraceLink();
        accessLayer.addElement(project, link);
        link.setCreatedByUser(false);
       
        Concern c1 = URNModelFactory.eINSTANCE.createConcern();
        Concern c2 = URNModelFactory.eINSTANCE.createConcern();
        accessLayer.addElement(project, c1);
        accessLayer.addElement(project, c2);
       
        assertEquals(1, accessLayer.getElements(project, "TraceLink").size());
        linkManager.validateLink(project, (TraceLink)null);
        assertEquals(1, accessLayer.getElements(project, "TraceLink").size());
        linkManager.validateLink(null, link);
        assertEquals(1, accessLayer.getElements(project, "TraceLink").size());
        linkManager.validateLink(null, (TraceLink)null);
        assertEquals(1, accessLayer.getElements(project, "TraceLink").size());
       
        // test removing links with no content:
        linkManager.validateLink(project, project.getModelElementId(link));
        assertEquals(0, accessLayer.getElements(project, "TraceLink").size());
              
        // test removing links without source:
        accessLayer.addElement(project, link);
        link.setTarget(c1);
        linkManager.validateLink(project, project.getModelElementId(link));
        assertEquals(0, accessLayer.getElements(project, "TraceLink").size());
       
        // test removing links without target:
        accessLayer.addElement(project, link);
        link.setSource(c1);
        linkManager.validateLink(project, project.getModelElementId(link));
        assertEquals(0, accessLayer.getElements(project, "TraceLink").size());
       
        // test validation of valid link:
        accessLayer.addElement(project, link);
        link.setSource(c1);
        link.setTarget(c2);
        linkManager.validateLink(project, project.getModelElementId(link));
        assertEquals(1, accessLayer.getElements(project, "TraceLink").size());
    }
View Full Code Here

        accessLayer.addElement(project, concern1);
        accessLayer.addElement(project, concern2);
        accessLayer.addElement(project, concern3);
        accessLayer.addElement(project, concern4);
               
        TraceLink link1 = LinkModelFactory.eINSTANCE.createTraceLink();
        TraceLink link2 = LinkModelFactory.eINSTANCE.createTraceLink();
        accessLayer.addElement(project, link1);
        accessLayer.addElement(project, link2);
       
        link1.setSource(concern1);
        link1.setTarget(concern2);
        link2.setSource(concern2);
        link2.setTarget(concern3);
            
        // create the transitive trace:
        linkManager.addToTrace(project, trace, link1);
        linkManager.addToTrace(project, trace, link2);
       
        assertEquals(1, accessLayer.getElements(project, "Trace").size());
        linkManager.validateTrace(project, trace);
        assertEquals(1, accessLayer.getElements(project, "Trace").size());
       
        // break the transitive relation:
        link2.setSource(null);
        link2.setSource(concern3);
       
        linkManager.validateTrace(project, trace);
        assertEquals(0, accessLayer.getElements(project, "Trace").size());
       
        // now test splitting one trace into 2 traces (first create such a trace):
        TraceLink link3 = LinkModelFactory.eINSTANCE.createTraceLink();
        TraceLink link4 = LinkModelFactory.eINSTANCE.createTraceLink();
        accessLayer.addElement(project, link3);
        accessLayer.addElement(project, link4);       
        accessLayer.addElement(project, trace);

        linkManager.addToTrace(project, trace, link1);
        linkManager.addToTrace(project, trace, link2);
        linkManager.addToTrace(project, trace, link3);
        linkManager.addToTrace(project, trace, link4);
       
        link2.setSource(concern2);
       
        Concern concern5 = URNModelFactory.eINSTANCE.createConcern();
        Concern concern6 = URNModelFactory.eINSTANCE.createConcern();
        accessLayer.addElement(project, concern5);
        accessLayer.addElement(project, concern6);
               
        link3.setSource(concern4);
        link3.setTarget(concern5);
        link4.setSource(concern5);
        link4.setTarget(concern6);
       
        assertEquals(4, trace.getTraceabilityLinks().size());
        assertEquals(1, accessLayer.getElements(project, "Trace").size());
       
        // the trace consisting of 2 transitive links (each consisting of 2 links) should be splitted into
View Full Code Here

        accessLayer.addElement(project, concern1);
        accessLayer.addElement(project, concern2);
        accessLayer.addElement(project, concern3);
        accessLayer.addElement(project, concern4);
               
        TraceLink link1 = LinkModelFactory.eINSTANCE.createTraceLink();
        TraceLink link2 = LinkModelFactory.eINSTANCE.createTraceLink();
        accessLayer.addElement(project, link1);
        accessLayer.addElement(project, link2);
       
        link1.setSource(concern1);
        link1.setTarget(concern2);
        link2.setSource(concern2);
        link2.setTarget(concern3);
            
        // create the transitive trace:
        linkManager.addToTrace(project, trace, link1);
        linkManager.addToTrace(project, trace, link2);
       
        assertEquals(1, accessLayer.getElements(project, "Trace").size());
        linkManager.validateTrace(project, project.getModelElementId(trace));
        assertEquals(1, accessLayer.getElements(project, "Trace").size());
       
        // break the transitive relation:
        link2.setSource(null);
        link2.setSource(concern3);
       
        linkManager.validateTrace(project, project.getModelElementId(trace));
        assertEquals(0, accessLayer.getElements(project, "Trace").size());
       
        // now test splitting one trace into 2 traces (first create such a trace):
        TraceLink link3 = LinkModelFactory.eINSTANCE.createTraceLink();
        TraceLink link4 = LinkModelFactory.eINSTANCE.createTraceLink();
        accessLayer.addElement(project, link3);
        accessLayer.addElement(project, link4);       
        accessLayer.addElement(project, trace);

        linkManager.addToTrace(project, trace, link1);
        linkManager.addToTrace(project, trace, link2);
        linkManager.addToTrace(project, trace, link3);
        linkManager.addToTrace(project, trace, link4);
       
        link2.setSource(concern2);
       
        Concern concern5 = URNModelFactory.eINSTANCE.createConcern();
        Concern concern6 = URNModelFactory.eINSTANCE.createConcern();
        accessLayer.addElement(project, concern5);
        accessLayer.addElement(project, concern6);
               
        link3.setSource(concern4);
        link3.setTarget(concern5);
        link4.setSource(concern5);
        link4.setTarget(concern6);
       
        assertEquals(4, trace.getTraceabilityLinks().size());
        assertEquals(1, accessLayer.getElements(project, "Trace").size());
       
        // the trace consisting of 2 transitive links (each consisting of 2 links) should be splitted into
View Full Code Here

    }

    @Test
    public void testCheckForDirectRelationship()
    {               
        TraceLink link1 = LinkModelFactory.eINSTANCE.createTraceLink();
        TraceLink link2 = LinkModelFactory.eINSTANCE.createTraceLink();
        accessLayer.addElement(project, link1);
        accessLayer.addElement(project, link2);
               
        Concern concern1 = URNModelFactory.eINSTANCE.createConcern();
        Concern concern2 = URNModelFactory.eINSTANCE.createConcern();
        Concern concern3 = URNModelFactory.eINSTANCE.createConcern();
        accessLayer.addElement(project, concern1);
        accessLayer.addElement(project, concern2);
        accessLayer.addElement(project, concern3);
       
        // create a transitive relation:       
        link1.setSource(concern1);
        link1.setTarget(concern2);
        link2.setSource(concern2);
        link2.setTarget(concern3);
       
        assertTrue(linkManager.checkForDirectRelationship(link1, link2));
       
        // destroy the transitive relation:
        Concern concern4 = URNModelFactory.eINSTANCE.createConcern();
        accessLayer.addElement(project, concern4);
        link2.setSource(null);
        link2.setSource(concern4);
       
        assertFalse(linkManager.checkForDirectRelationship(link1, link2));
    }
View Full Code Here

    }

    @Test
    public void testCheckForIndirectRelationships()
    {       
        TraceLink link1 = LinkModelFactory.eINSTANCE.createTraceLink();
        TraceLink link2 = LinkModelFactory.eINSTANCE.createTraceLink();
        accessLayer.addElement(project, link1);
        accessLayer.addElement(project, link2);
               
        Concern concern1 = URNModelFactory.eINSTANCE.createConcern();
        Concern concern2 = URNModelFactory.eINSTANCE.createConcern();
        Concern concern3 = URNModelFactory.eINSTANCE.createConcern();
        Concern concern4 = URNModelFactory.eINSTANCE.createConcern();
        accessLayer.addElement(project, concern1);
        accessLayer.addElement(project, concern2);
        accessLayer.addElement(project, concern3);
        accessLayer.addElement(project, concern4);
       
        // create a transitive relation:
        link1.setSource(concern1);
        link1.setTarget(concern2);
        link2.setSource(concern2);
        link2.setTarget(concern3);
       
        List<TraceLink> list = new ArrayList<TraceLink>();
        list.clear();
        assertNull(linkManager.checkForIndirectRelationships(null));
        assertEquals(0, linkManager.checkForIndirectRelationships(list).size());
        list.add(link1);
        list.add(link2);
       
        assertEquals(2, linkManager.checkForIndirectRelationships(list).size());
        assertEquals(2, linkManager.checkForIndirectRelationships(list).get(0).size());
        assertEquals(0, linkManager.checkForIndirectRelationships(list).get(1).size());
       
        // check with non-transitive links:
        link2.setSource(null);
        link2.setSource(concern3);
       
        assertEquals(2, linkManager.checkForIndirectRelationships(list).size());
        assertEquals(1, linkManager.checkForIndirectRelationships(list).get(0).size());
        assertEquals(1, linkManager.checkForIndirectRelationships(list).get(1).size());
    }
View Full Code Here

            container = LinkModelFactory.eINSTANCE.createLinkContainer();
            accessLayer.addElement(project, container);
        }
        else container = (LinkContainer)helper.get(0);
       
        TraceLink link = LinkModelFactory.eINSTANCE.createTraceLink();    
              
        accessLayer.addElement(project, link);
       
        container.getLinks().add(link);
         
        link.setSource(source);
        link.setTarget(target);
              
        link.setType(type);
       
        String sourceName = accessLayer.getNameOfModel(source);
        String targetName = accessLayer.getNameOfModel(target);
        String linkName = "\"" + sourceName + "\" -> " + type.getName() + " -> \"" + targetName + "\"";
        link.setName(linkName);       
       
        link.setLastModified(Calendar.getInstance().getTime().toString());
        link.setLastVisited(Calendar.getInstance().getTime().toString());
       
        if( rule != null ) link.setCreatedByRule(rule);
                            
        if( isLoggingEnabled )
        {
            StringBuffer msg = new StringBuffer("from \"");
            msg.append(accessLayer.getNameOfModel(source));
View Full Code Here

    List<EObject>             models = new ArrayList<EObject>();
    List<TraceLink>           links2  = new ArrayList<TraceLink>();   
   
    for(int i = 0; i < links.size(); i++)
    {
      TraceLink link = (TraceLink)links.get(i);
     
      if( link.getSource() == model && !models.contains(link.getTarget()) && outgoing )
      {
        models.add(link.getTarget());
        links2.add(link);
      }
      if( link.getTarget() == model && !models.contains(link.getSource()) && incoming )
      {
        models.add(link.getSource());
        links2.add(link);
      }
    }
   
    String name = getFormatedNodeLabel(model);
View Full Code Here

            accessLayer.addElement(project, c1);
            accessLayer.addElement(project, c2);
            accessLayer.addElement(project, c3);
            accessLayer.addElement(project, c4);
           
            TraceLink l1 = LinkModelFactory.eINSTANCE.createTraceLink();
            accessLayer.addElement(project, l1);
           
            TraceLink l2 = LinkModelFactory.eINSTANCE.createTraceLink();
            accessLayer.addElement(project, l2);
           
            TraceLink l3 = LinkModelFactory.eINSTANCE.createTraceLink();
            accessLayer.addElement(project, l3);
           
            LinkType t1 = LinkModelFactory.eINSTANCE.createLinkType();
            accessLayer.addElement(project, t1);
           
            t1.setName("Refines");
           
            l1.setType(t1);
            l1.setSource(c1);
            l1.setTarget(c2);
           
            l2.setType(t1);
            l2.setSource(c2);
            l2.setTarget(c3);
           
            l3.setType(t1);
            l3.setSource(c3);
            l3.setTarget(c4);
                  
            result.add(new ArrayList<EObject>());
            result.add(new ArrayList<EObject>());
           
            result.get(0).add(c1);
View Full Code Here

TOP

Related Classes of org.emftrace.metamodel.LinkModel.TraceLink

Copyright © 2018 www.massapicom. 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.