EMMA Coverage Report (generated Sun Feb 05 10:43:15 CET 2012)
[all classes][de.uka.ipd.sdq.pcm.gmf.repository.edit.commands]

COVERAGE SUMMARY FOR SOURCE FILE [OperationProvidedRoleCreateCommand.java]

nameclass, %method, %block, %line, %
OperationProvidedRoleCreateCommand.java0%   (0/1)0%   (0/7)0%   (0/145)0%   (0/44)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class OperationProvidedRoleCreateCommand0%   (0/1)0%   (0/7)0%   (0/145)0%   (0/44)
OperationProvidedRoleCreateCommand (CreateRelationshipRequest, EObject, EObje... 0%   (0/1)0%   (0/13)0%   (0/4)
canExecute (): boolean 0%   (0/1)0%   (0/37)0%   (0/11)
doConfigure (OperationProvidedRole, IProgressMonitor, IAdaptable): void 0%   (0/1)0%   (0/49)0%   (0/16)
doExecuteWithResult (IProgressMonitor, IAdaptable): CommandResult 0%   (0/1)0%   (0/34)0%   (0/10)
getSource (): InterfaceProvidingEntity 0%   (0/1)0%   (0/4)0%   (0/1)
getTarget (): OperationInterface 0%   (0/1)0%   (0/4)0%   (0/1)
setElementToEdit (EObject): void 0%   (0/1)0%   (0/4)0%   (0/1)

1/*
2 * Copyright 2007, IPD, SDQ, University of Karlsruhe
3 */
4package de.uka.ipd.sdq.pcm.gmf.repository.edit.commands;
5 
6import org.eclipse.core.commands.ExecutionException;
7import org.eclipse.core.runtime.IAdaptable;
8import org.eclipse.core.runtime.IProgressMonitor;
9import org.eclipse.emf.ecore.EObject;
10import org.eclipse.gmf.runtime.common.core.command.CommandResult;
11import org.eclipse.gmf.runtime.common.core.command.ICommand;
12import org.eclipse.gmf.runtime.emf.type.core.IElementType;
13import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
14import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
15import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
16import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
17 
18import de.uka.ipd.sdq.pcm.core.entity.InterfaceProvidingEntity;
19import de.uka.ipd.sdq.pcm.gmf.repository.edit.policies.PalladioComponentModelBaseItemSemanticEditPolicy;
20import de.uka.ipd.sdq.pcm.repository.OperationInterface;
21import de.uka.ipd.sdq.pcm.repository.OperationProvidedRole;
22import de.uka.ipd.sdq.pcm.repository.RepositoryFactory;
23 
24/**
25 * @generated
26 */
27public class OperationProvidedRoleCreateCommand extends EditElementCommand {
28 
29        /**
30         * @generated
31         */
32        private final EObject source;
33 
34        /**
35         * @generated
36         */
37        private final EObject target;
38 
39        /**
40         * @generated
41         */
42        public OperationProvidedRoleCreateCommand(
43                        CreateRelationshipRequest request, EObject source, EObject target) {
44                super(request.getLabel(), null, request);
45                this.source = source;
46                this.target = target;
47        }
48 
49        /**
50         * @generated
51         */
52        public boolean canExecute() {
53                if (source == null && target == null) {
54                        return false;
55                }
56                if (source != null
57                                && false == source instanceof InterfaceProvidingEntity) {
58                        return false;
59                }
60                if (target != null && false == target instanceof OperationInterface) {
61                        return false;
62                }
63                if (getSource() == null) {
64                        return true; // link creation is in progress; source is not defined yet
65                }
66                // target may be null here but it's possible to check constraint
67                return PalladioComponentModelBaseItemSemanticEditPolicy.LinkConstraints
68                                .canCreateOperationProvidedRole_4105(getSource(), getTarget());
69        }
70 
71        /**
72         * @generated
73         */
74        protected CommandResult doExecuteWithResult(IProgressMonitor monitor,
75                        IAdaptable info) throws ExecutionException {
76                if (!canExecute()) {
77                        throw new ExecutionException(
78                                        "Invalid arguments in create link command"); //$NON-NLS-1$
79                }
80 
81                OperationProvidedRole newElement = RepositoryFactory.eINSTANCE
82                                .createOperationProvidedRole();
83                getSource().getProvidedRoles_InterfaceProvidingEntity().add(newElement);
84                newElement.setProvidedInterface__OperationProvidedRole(getTarget());
85                doConfigure(newElement, monitor, info);
86                ((CreateElementRequest) getRequest()).setNewElement(newElement);
87                return CommandResult.newOKCommandResult(newElement);
88 
89        }
90 
91        /**
92         * @generated
93         */
94        protected void doConfigure(OperationProvidedRole newElement,
95                        IProgressMonitor monitor, IAdaptable info)
96                        throws ExecutionException {
97                IElementType elementType = ((CreateElementRequest) getRequest())
98                                .getElementType();
99                ConfigureRequest configureRequest = new ConfigureRequest(
100                                getEditingDomain(), newElement, elementType);
101                configureRequest.setClientContext(((CreateElementRequest) getRequest())
102                                .getClientContext());
103                configureRequest.addParameters(getRequest().getParameters());
104                configureRequest.setParameter(CreateRelationshipRequest.SOURCE,
105                                getSource());
106                configureRequest.setParameter(CreateRelationshipRequest.TARGET,
107                                getTarget());
108                ICommand configureCommand = elementType
109                                .getEditCommand(configureRequest);
110                if (configureCommand != null && configureCommand.canExecute()) {
111                        configureCommand.execute(monitor, info);
112                }
113        }
114 
115        /**
116         * @generated
117         */
118        protected void setElementToEdit(EObject element) {
119                throw new UnsupportedOperationException();
120        }
121 
122        /**
123         * @generated
124         */
125        protected InterfaceProvidingEntity getSource() {
126                return (InterfaceProvidingEntity) source;
127        }
128 
129        /**
130         * @generated
131         */
132        protected OperationInterface getTarget() {
133                return (OperationInterface) target;
134        }
135 
136}

[all classes][de.uka.ipd.sdq.pcm.gmf.repository.edit.commands]
EMMA 2.0.9414 (unsupported private build) (C) Vladimir Roubtsov