Search in sources :

Example 21 with System

use of org.obeonetwork.graal.System in project InformationSystem by ObeoNetwork.

the class UseCaseServicesTest method testDirectlyReferencedDomainClasses.

@Test
public void testDirectlyReferencedDomainClasses() {
    System system = loadRoot("DirectlyReferencedDomainClasses.graal", System.class);
    UseCase useCase = query(() -> {
        return (UseCase) system.getUseCases().get(0);
    });
    verifyAllDomainClasses(useCase, new String[] { "ns1.DomainClass3", "ns1.ns3.DomainClass6", "ns2.DomainClass2" });
}
Also used : UseCase(org.obeonetwork.graal.UseCase) System(org.obeonetwork.graal.System) Test(org.junit.Test)

Example 22 with System

use of org.obeonetwork.graal.System in project InformationSystem by ObeoNetwork.

the class TaskUtils method getSystem.

/**
 * Return the system corresponding to the context.
 *
 * @param context
 *            the context on which is applied the service
 * @return the system
 */
public System getSystem(EObject context) {
    System system = null;
    EObject container = context.eContainer();
    if (container != null) {
        while (!(container instanceof System) && container.eContainer() != null) {
            container = container.eContainer();
        }
    }
    if (container instanceof System) {
        system = (System) container;
    } else if (context instanceof System) {
        system = (System) context;
    }
    return system;
}
Also used : EObject(org.eclipse.emf.ecore.EObject) System(org.obeonetwork.graal.System)

Example 23 with System

use of org.obeonetwork.graal.System in project InformationSystem by ObeoNetwork.

the class TaskUtils method deleteSystem.

/**
 * Deletes a whole System including its own Tasks, TasksGroups and
 * SubSystems
 *
 * @param system
 *            System to delete
 */
public void deleteSystem(System system) {
    // Delete all tasks and groups
    deleteChildrenTasksAndTasksGroups(system);
    // Delete all subsystems
    List<System> subSystems = new ArrayList<System>(system.getSubSystems());
    for (System subSystem : subSystems) {
        deleteSystem(subSystem);
    }
    DeleteUtils.delete(system);
}
Also used : ArrayList(java.util.ArrayList) System(org.obeonetwork.graal.System)

Example 24 with System

use of org.obeonetwork.graal.System in project InformationSystem by ObeoNetwork.

the class TaskImpl method getReferencedBy.

/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated NOT
 */
public EList<TaskReference> getReferencedBy() {
    Collection<Setting> referencingTasksReferences = new GraalUsageCrossReferencer() {

        @Override
        protected boolean crossReference(EObject eObject, EReference eReference, EObject crossReferencedEObject) {
            return eReference == GraalPackage.Literals.TASK_REFERENCE__TASK;
        }

        @Override
        protected boolean containment(EObject eObject) {
            // (We use Resource instead of CDOResource to avoid dependency on CDO)
            return (eObject instanceof Resource) || (eObject instanceof System) || (eObject instanceof TasksGroup) || (eObject instanceof Task) || (eObject instanceof Loop) || (eObject instanceof TaskReference);
        }
    }.findUsage(this);
    List<TaskReference> foundTasksReferences = new ArrayList<TaskReference>();
    for (Setting setting : referencingTasksReferences) {
        foundTasksReferences.add((TaskReference) setting.getEObject());
    }
    return ECollections.unmodifiableEList(new BasicEList<TaskReference>(foundTasksReferences));
}
Also used : Loop(org.obeonetwork.graal.Loop) AbstractTask(org.obeonetwork.graal.AbstractTask) Task(org.obeonetwork.graal.Task) Setting(org.eclipse.emf.ecore.EStructuralFeature.Setting) GraalUsageCrossReferencer(org.obeonetwork.graal.util.GraalUsageCrossReferencer) Resource(org.eclipse.emf.ecore.resource.Resource) ArrayList(java.util.ArrayList) System(org.obeonetwork.graal.System) TaskReference(org.obeonetwork.graal.TaskReference) TasksGroup(org.obeonetwork.graal.TasksGroup) EObject(org.eclipse.emf.ecore.EObject) EReference(org.eclipse.emf.ecore.EReference)

Example 25 with System

use of org.obeonetwork.graal.System in project InformationSystem by ObeoNetwork.

the class TaskImpl method getUseCase.

/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated NOT
 */
public UseCase getUseCase() {
    Collection<Setting> useCaseReferences = new GraalUsageCrossReferencer() {

        @Override
        protected boolean crossReference(EObject eObject, EReference eReference, EObject crossReferencedEObject) {
            return eReference == GraalPackage.Literals.USE_CASE__TASKS;
        }

        @Override
        protected boolean containment(EObject eObject) {
            // (We use Resource instead of CDOResource to avoid dependency on CDO)
            return (eObject instanceof Resource) || (eObject instanceof System) || (eObject instanceof UseCase);
        }
    }.findUsage(this);
    UseCase useCase = null;
    for (Setting setting : useCaseReferences) {
        useCase = (UseCase) setting.getEObject();
        break;
    }
    return useCase;
}
Also used : Setting(org.eclipse.emf.ecore.EStructuralFeature.Setting) EObject(org.eclipse.emf.ecore.EObject) GraalUsageCrossReferencer(org.obeonetwork.graal.util.GraalUsageCrossReferencer) Resource(org.eclipse.emf.ecore.resource.Resource) UseCase(org.obeonetwork.graal.UseCase) EReference(org.eclipse.emf.ecore.EReference) System(org.obeonetwork.graal.System)

Aggregations

System (org.obeonetwork.graal.System)25 Test (org.junit.Test)14 UseCase (org.obeonetwork.graal.UseCase)12 EObject (org.eclipse.emf.ecore.EObject)6 DomainClass (org.obeonetwork.graal.DomainClass)5 ArrayList (java.util.ArrayList)4 EReference (org.eclipse.emf.ecore.EReference)4 Setting (org.eclipse.emf.ecore.EStructuralFeature.Setting)4 Resource (org.eclipse.emf.ecore.resource.Resource)4 AbstractTask (org.obeonetwork.graal.AbstractTask)4 GraalUsageCrossReferencer (org.obeonetwork.graal.util.GraalUsageCrossReferencer)4 Date (java.util.Date)3 TasksGroup (org.obeonetwork.graal.TasksGroup)3 InputDialog (org.eclipse.jface.dialogs.InputDialog)2 Task (org.obeonetwork.graal.Task)2 Entity (org.obeonetwork.dsl.entity.Entity)1 Loop (org.obeonetwork.graal.Loop)1 TaskReference (org.obeonetwork.graal.TaskReference)1 TasksContainer (org.obeonetwork.graal.TasksContainer)1 UserStory (org.obeonetwork.graal.UserStory)1