use of org.palladiosimulator.pcm.repository.OperationSignature in project Palladio-Editors-Sirius by PalladioSimulator.
the class AddExternalCallAction method execute.
@Override
public void execute(Collection<? extends EObject> selections, Map<String, Object> parameters) {
ExternalCallAction extCall = (ExternalCallAction) parameters.get("instance");
HashMap<OperationInterface, OperationRequiredRole> requiredRolesMap = new HashMap<OperationInterface, OperationRequiredRole>();
OperationSignature os = getOperationSignature(extCall, requiredRolesMap);
if (os != null) {
extCall.setCalledService_ExternalService(os);
extCall.setRole_ExternalService(requiredRolesMap.get(os.getInterface__OperationSignature()));
}
}
use of org.palladiosimulator.pcm.repository.OperationSignature 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.palladiosimulator.pcm.repository.OperationSignature in project Palladio-Editors-Sirius by PalladioSimulator.
the class EntryLevelSystemCallDialog method execute.
@Override
public void execute(Collection<? extends EObject> selections, Map<String, Object> parameters) {
EntryLevelSystemCall element = (EntryLevelSystemCall) parameters.get("instance");
OperationProvidedRole oldRole = element.getProvidedRole_EntryLevelSystemCall();
OperationProvidedRole role = getOperationProvidedRole(element);
if (role != null) {
element.setProvidedRole_EntryLevelSystemCall(role);
OperationSignature signature = getOperationSignature(element);
if (signature != null) {
element.setOperationSignature__EntryLevelSystemCall(signature);
} else {
element.setProvidedRole_EntryLevelSystemCall(oldRole);
}
}
}
use of org.palladiosimulator.pcm.repository.OperationSignature in project Palladio-Editors-Sirius by PalladioSimulator.
the class Services method printParameters.
public String printParameters(Signature sig) {
String result = "";
EList<Parameter> parameters = null;
if (sig instanceof OperationSignature)
parameters = ((OperationSignature) sig).getParameters__OperationSignature();
else if (sig instanceof InfrastructureSignature) {
parameters = ((InfrastructureSignature) sig).getParameters__InfrastructureSignature();
}
if (// invalid list
parameters == null)
return "";
for (Parameter p : parameters) {
DataType parameterType = p.getDataType__Parameter();
String type = getDataTypeName(parameterType);
result += type + " " + p.getParameterName() + ", ";
}
if (result.endsWith(", "))
result = result.substring(0, result.length() - 2);
return result;
}
use of org.palladiosimulator.pcm.repository.OperationSignature in project Palladio-Editors-Sirius by PalladioSimulator.
the class AddCollectionIteratorAction method getParameter.
private Parameter getParameter(CollectionIteratorAction action, ServiceEffectSpecification seff) {
Collection<Object> filter = new ArrayList<Object>();
filter.add(Repository.class);
filter.add(Interface.class);
filter.add(Signature.class);
filter.add(Parameter.class);
Collection<EReference> additionalChildReferences = new ArrayList<EReference>();
PalladioSelectEObjectDialog dialog = new PalladioSelectEObjectDialog(SHELL, filter, additionalChildReferences, action.eResource().getResourceSet());
dialog.setProvidedService(Parameter.class);
for (Object o : dialog.getTreeViewer().getExpandedElements()) {
if (o instanceof Signature) {
if (!o.equals(seff.getDescribedService__SEFF())) {
dialog.getTreeViewer().remove(o);
continue;
}
EList<Parameter> parameters = null;
if (o instanceof OperationSignature)
parameters = ((OperationSignature) o).getParameters__OperationSignature();
else if (o instanceof InfrastructureSignature) {
parameters = ((InfrastructureSignature) o).getParameters__InfrastructureSignature();
}
for (Parameter p : parameters) {
if (!(p.getDataType__Parameter() instanceof CollectionDataType))
dialog.getTreeViewer().remove(p);
}
}
}
dialog.open();
return (Parameter) dialog.getResult();
}
Aggregations