use of org.eclipse.emf.ecore.EReference in project Palladio-Editors-Sirius by PalladioSimulator.
the class AddExternalCallAction method getOperationSignature.
private OperationSignature getOperationSignature(ExternalCallAction extCall, HashMap<OperationInterface, OperationRequiredRole> requiredRolesMap) {
Collection<Object> filter = new ArrayList<Object>();
filter.add(Repository.class);
filter.add(OperationInterface.class);
filter.add(OperationSignature.class);
Collection<EReference> additionalChildReferences = new ArrayList<EReference>();
PalladioSelectEObjectDialog dialog = new PalladioSelectEObjectDialog(SHELL, filter, additionalChildReferences, extCall.eResource().getResourceSet());
dialog.setProvidedService(OperationSignature.class);
for (Object o : dialog.getTreeViewer().getExpandedElements()) {
if (// if the current object is not an OperationInterface, skip.
!(o instanceof OperationInterface))
continue;
ResourceDemandingBehaviour rd = extCall.getResourceDemandingBehaviour_AbstractAction();
ServiceEffectSpecification seff = SEFFUtil.getEnclosingSEFF(rd);
BasicComponent parent = seff.getBasicComponent_ServiceEffectSpecification();
// if o is not referenced by any OperationRequiredRole, remove it from the tree viewer
OperationRequiredRole requiredRole = getOperationRequiredRole(parent.getRequiredRoles_InterfaceRequiringEntity(), (OperationInterface) o);
if (requiredRole != null)
requiredRolesMap.put((OperationInterface) o, requiredRole);
else
dialog.getTreeViewer().remove(o);
}
dialog.open();
return (OperationSignature) dialog.getResult();
}
use of org.eclipse.emf.ecore.EReference in project Palladio-Editors-Sirius by PalladioSimulator.
the class AddReleaseAction method getPassiveResource.
private PassiveResource getPassiveResource(ReleaseAction releaseAction) {
Collection<Object> filter = new ArrayList<Object>();
filter.add(Repository.class);
filter.add(BasicComponent.class);
filter.add(PassiveResource.class);
// Additional Child References
Collection<EReference> additionalChildReferences = new ArrayList<EReference>();
// Creating the dialog
PalladioSelectEObjectDialog dialog = new PalladioSelectEObjectDialog(SHELL, filter, additionalChildReferences, releaseAction.eResource().getResourceSet());
// Setting the needed object type
dialog.setProvidedService(PassiveResource.class);
dialog.open();
return (PassiveResource) dialog.getResult();
}
use of org.eclipse.emf.ecore.EReference in project Palladio-Editors-Sirius by PalladioSimulator.
the class SetInfrastructureSignature method getSignature.
private InfrastructureSignature getSignature(InfrastructureCall call) {
Collection<Object> filter = new ArrayList<Object>();
filter.add(Repository.class);
filter.add(InfrastructureInterface.class);
filter.add(InfrastructureSignature.class);
Collection<EReference> additionalChildReferences = new ArrayList<EReference>();
PalladioSelectEObjectDialog dialog = new PalladioSelectEObjectDialog(SHELL, filter, additionalChildReferences, call.eResource().getResourceSet());
dialog.setProvidedService(InfrastructureSignature.class);
// only take required InfrastructureInterfaces
for (Object o : dialog.getTreeViewer().getExpandedElements()) {
if (!(o instanceof InfrastructureInterface))
continue;
ServiceEffectSpecification seff = (ServiceEffectSpecification) call.getAction__InfrastructureCall().getResourceDemandingBehaviour_AbstractAction();
BasicComponent parent = seff.getBasicComponent_ServiceEffectSpecification();
boolean found = false;
for (RequiredRole r : parent.getRequiredRoles_InterfaceRequiringEntity()) {
if (!(r instanceof InfrastructureRequiredRole))
continue;
InfrastructureRequiredRole ir = (InfrastructureRequiredRole) r;
if (ir.getRequiredInterface__InfrastructureRequiredRole().equals(o)) {
found = true;
call.setRequiredRole__InfrastructureCall(ir);
}
}
if (!found)
dialog.getTreeViewer().remove(o);
}
dialog.open();
return (InfrastructureSignature) dialog.getResult();
}
use of org.eclipse.emf.ecore.EReference in project Palladio-Editors-Sirius by PalladioSimulator.
the class SetResourceCallSignature method getSignature.
private ResourceSignature getSignature(final ResourceCall call) {
Collection<Object> filter = new ArrayList<Object>();
filter.add(ResourceRepository.class);
filter.add(ResourceSignature.class);
filter.add(ResourceInterface.class);
Collection<EReference> additionalChildReferences = new ArrayList<EReference>();
PalladioSelectEObjectDialog dialog = new PalladioSelectEObjectDialog(SHELL, filter, additionalChildReferences, call.eResource().getResourceSet());
dialog.setProvidedService(ResourceSignature.class);
// only take required InfrastructureInterfaces
for (Object o : dialog.getTreeViewer().getExpandedElements()) {
if (!(o instanceof ResourceInterface)) {
continue;
}
ResourceRequiredRole resourceRequiredRole = call.getResourceRequiredRole__ResourceCall();
if (!resourceRequiredRole.getRequiredResourceInterface__ResourceRequiredRole().equals(o)) {
dialog.getTreeViewer().remove(o);
}
}
dialog.open();
return (ResourceSignature) dialog.getResult();
}
use of org.eclipse.emf.ecore.EReference in project Palladio-Editors-Sirius by PalladioSimulator.
the class EntryLevelSystemCallDialog method getOperationProvidedRole.
private OperationProvidedRole getOperationProvidedRole(EntryLevelSystemCall element) {
Collection<Object> filter = new ArrayList<Object>();
filter.add(System.class);
filter.add(OperationProvidedRole.class);
Collection<EReference> additionalChildReferences = new ArrayList<EReference>();
PalladioSelectEObjectDialog dialog = new PalladioSelectEObjectDialog(SHELL, filter, additionalChildReferences, element.eResource().getResourceSet());
dialog.setProvidedService(OperationProvidedRole.class);
dialog.open();
return (OperationProvidedRole) dialog.getResult();
}
Aggregations