Package org.emftrace.metamodel.LinkModel

Examples of org.emftrace.metamodel.LinkModel.LinkContainer


   
    public void updateLinkContainer(Project project)
    {
        if( project == null ) return;
       
        LinkContainer      container = null;       
        List<EObject> helper    = accessLayer.getElements(project, "LinkContainer");
        if( helper.isEmpty() )         
        {
            container = LinkModelFactory.eINSTANCE.createLinkContainer();
            accessLayer.addElement(project, container);
        }
        else
        {
            // merge containers:
            container = (LinkContainer)helper.get(0);
            for(int i = 0; i < helper.size(); i++)
            {        
                if( i == 0 ) continue;

                container.getLinks().addAll(((LinkContainer)helper.get(i)).getLinks());
                ((LinkContainer)helper.get(i)).getLinks().clear();
                container.getTraces().addAll(((LinkContainer)helper.get(i)).getTraces());               
                ((LinkContainer)helper.get(i)).getTraces().clear();
               
                accessLayer.removeElement(project, helper.get(i));
                helper.remove(i);
                i--;
            }
        }
       
        // move all links & traces into the container:
        List<EObject> links = accessLayer.getElements(project, "TraceLink");
        List<EObject> traces = accessLayer.getElements(project, "Trace");
       
        int numLinks = links.size();
        int numTraces = traces.size();
       
        if( container.getLinks().size() != numLinks )
            for(int i = 0; i < numLinks; i++)
                if( !container.getLinks().contains(links.get(i)))
                    container.getLinks().add((TraceLink)links.get(i));
       
        if( container.getTraces().size() != numTraces )
            for(int i = 0; i < numTraces; i++)
                if( !container.getTraces().contains(traces.get(i)))
                    container.getTraces().add((Trace)traces.get(i));
       
        // update the names of traces:
        for(int i = 0; i < numTraces; i++)
        {
            ((Trace) traces.get(i)).setName("Trace" + "#" + i + " [spanning " + ((Trace)traces.get(i)).getTraceabilityLinks().size() + " links]");
        }
       
        String linkText = " link";
        if( numLinks == 0 || numLinks > 1 ) linkText += "s";
       
        String traceText = " trace";
        if( numTraces == 0 || numTraces > 1 ) traceText += "s";
       
        container.setName("[" + numLinks + linkText +  ", " + numTraces + traceText + "]");
       
        if( isLoggingEnabled ) printToLog("updateLinkContainer", "9. link container has been updated");
    }
View Full Code Here


    {
        assertEquals(0, accessLayer.getElements(project, "LinkContainer").size());
        projectCleaner.updateLinkContainer(project);
        assertEquals(1, accessLayer.getElements(project, "LinkContainer").size());
       
        LinkContainer c1 = LinkModelFactory.eINSTANCE.createLinkContainer();
        LinkContainer c2 = LinkModelFactory.eINSTANCE.createLinkContainer();
       
        accessLayer.addElement(project, c1);
        accessLayer.addElement(project, c2);
       
        TraceLink l1 = LinkModelFactory.eINSTANCE.createTraceLink();
        TraceLink l2 = LinkModelFactory.eINSTANCE.createTraceLink();
        TraceLink l3 = LinkModelFactory.eINSTANCE.createTraceLink();
       
        accessLayer.addElement(project, l1);
        accessLayer.addElement(project, l2);
        accessLayer.addElement(project, l3);
       
        c1.getLinks().add(l1);
        c2.getLinks().add(l2);
        c2.getLinks().add(l3);
       
        assertEquals(3, accessLayer.getElements(project, "LinkContainer").size());
        assertEquals(3, accessLayer.getElements(project, "TraceLink").size());
        projectCleaner.updateLinkContainer(project);
        assertEquals(1, accessLayer.getElements(project, "LinkContainer").size());
View Full Code Here

    public TraceLink checkIfLinkExists(Project project, List<EObject> sources, List<EObject> targets, String rule, LinkType type)
    {
        List<EObject> helper = accessLayer.getElements(project, "LinkContainer");
        if( helper.isEmpty() ) return null;
       
        LinkContainer container = (LinkContainer)helper.get(0);  
       
        for(TraceLink e : container.getLinks())
        {          
            if( e.getType() == type && e.getCreatedByRule() != null /*&& e.getCreatedByRule().equals(rule)*/ )
            {
              int srcSize = sources.size();
              int dstSize = targets.size();
View Full Code Here

        if( source  == null ) return null;
        if( target  == null ) return null;
        if( type    == null ) return null;
        if( creator == null ) return null;
       
        LinkContainer container = null;       
        List<EObject> helper    = accessLayer.getElements(project, "LinkContainer");
        if( helper.isEmpty() )         
        {
            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);
View Full Code Here

   
    public Trace createTrace(Project project, List<TraceLink> traceLinks, String creator)
    {
        if( project == null || creator == null ) return null;
       
        LinkContainer      container = null;       
        List<EObject> helper    = accessLayer.getElements(project, "LinkContainer");
        if( helper.isEmpty() )         
        {
            container = LinkModelFactory.eINSTANCE.createLinkContainer();
            accessLayer.addElement(project, container);
        }
        else container = (LinkContainer)helper.get(0);
       
        Trace trace = LinkModelFactory.eINSTANCE.createTrace();
       
        accessLayer.addElement(project, trace);
        container.getTraces().add(trace);
       
        if( traceLinks != null )
            for(int i = 0; i < traceLinks.size(); i++)
                trace.getTraceabilityLinks().add(traceLinks.get(i));     
           
View Full Code Here

   
    public void updateLinkContainer(ECPProject project)
    {
        if( project == null ) return;
       
        LinkContainer container = null;       
        List<EObject> helper    = accessLayer.getElements(project, "LinkContainer");
        if( helper.isEmpty() )         
        {
            container = LinkModelFactory.eINSTANCE.createLinkContainer();
            accessLayer.addElement(project, container);
        }
        else
        {
            // merge containers:
            container = (LinkContainer)helper.get(0);
            for(int i = 0; i < helper.size(); i++)
            {        
                if( i == 0 ) continue;

                container.getLinks().addAll(((LinkContainer)helper.get(i)).getLinks());
                ((LinkContainer)helper.get(i)).getLinks().clear();
                container.getTraces().addAll(((LinkContainer)helper.get(i)).getTraces());               
                ((LinkContainer)helper.get(i)).getTraces().clear();
               
                accessLayer.removeElement(project, helper.get(i));
                helper.remove(i);
                i--;
            }
        }
       
        // move all links & traces into the container:
        List<EObject> links = accessLayer.getElements(project, "TraceLink");
        List<EObject> traces = accessLayer.getElements(project, "Trace");
       
        int numLinks = links.size();
        int numTraces = traces.size();
       
        if( container.getLinks().size() != numLinks )
            for(int i = 0; i < numLinks; i++)
                if( !container.getLinks().contains(links.get(i)))
                    container.getLinks().add((TraceLink)links.get(i));
       
        if( container.getTraces().size() != numTraces )
            for(int i = 0; i < numTraces; i++)
                if( !container.getTraces().contains(traces.get(i)))
                    container.getTraces().add((Trace)traces.get(i));
       
        // update the names of traces:
        for(int i = 0; i < numTraces; i++)
        {
            ((Trace) traces.get(i)).setName("Trace" + "#" + i + " [spanning " + ((Trace)traces.get(i)).getTraceabilityLinks().size() + " links]");
        }
       
        String linkText = " link";
        if( numLinks == 0 || numLinks > 1 ) linkText += "s";
       
        String traceText = " trace";
        if( numTraces == 0 || numTraces > 1 ) traceText += "s";
       
        container.setName("[" + numLinks + linkText +  ", " + numTraces + traceText + "]");
       
        if( isLoggingEnabled ) printToLog("updateLinkContainer", "9. link container has been updated");
    }
View Full Code Here

         
            assertEquals(0, accessLayer.getElements(project, "LinkContainer").size());
            projectCleaner.updateLinkContainer(project);
            assertEquals(1, accessLayer.getElements(project, "LinkContainer").size());
           
            LinkContainer c1 = LinkModelFactory.eINSTANCE.createLinkContainer();
            LinkContainer c2 = LinkModelFactory.eINSTANCE.createLinkContainer();
           
            accessLayer.addElement(project, c1);
            accessLayer.addElement(project, c2);
           
            TraceLink l1 = LinkModelFactory.eINSTANCE.createTraceLink();
            TraceLink l2 = LinkModelFactory.eINSTANCE.createTraceLink();
            TraceLink l3 = LinkModelFactory.eINSTANCE.createTraceLink();
           
            accessLayer.addElement(project, l1);
            accessLayer.addElement(project, l2);
            accessLayer.addElement(project, l3);
           
            c1.getLinks().add(l1);
            c2.getLinks().add(l2);
            c2.getLinks().add(l3);
           
            assertEquals(3, accessLayer.getElements(project, "LinkContainer").size());
            assertEquals(3, accessLayer.getElements(project, "TraceLink").size());
            projectCleaner.updateLinkContainer(project);
            assertEquals(1, accessLayer.getElements(project, "LinkContainer").size());
View Full Code Here

TOP

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

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.