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

COVERAGE SUMMARY FOR SOURCE FILE [VariableUsage3ItemSemanticEditPolicy.java]

nameclass, %method, %block, %line, %
VariableUsage3ItemSemanticEditPolicy.java0%   (0/1)0%   (0/3)0%   (0/101)0%   (0/25)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class VariableUsage3ItemSemanticEditPolicy0%   (0/1)0%   (0/3)0%   (0/101)0%   (0/25)
VariableUsage3ItemSemanticEditPolicy (): void 0%   (0/1)0%   (0/4)0%   (0/2)
addDestroyChildNodesCommand (ICompositeCommand): void 0%   (0/1)0%   (0/49)0%   (0/12)
getDestroyElementCommand (DestroyElementRequest): Command 0%   (0/1)0%   (0/48)0%   (0/11)

1/*
2 * Copyright 2006 SDQ Research Group, University of Karlsruhe (TH)
3 */
4package de.uka.ipd.sdq.pcm.gmf.seff.edit.policies;
5 
6import java.util.Iterator;
7 
8import org.eclipse.emf.ecore.EAnnotation;
9import org.eclipse.gef.commands.Command;
10import org.eclipse.gmf.runtime.common.core.command.ICompositeCommand;
11import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
12import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
13import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
14import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
15import org.eclipse.gmf.runtime.notation.Node;
16import org.eclipse.gmf.runtime.notation.View;
17 
18import de.uka.ipd.sdq.pcm.gmf.seff.edit.parts.VariableCharacterisation4EditPart;
19import de.uka.ipd.sdq.pcm.gmf.seff.edit.parts.VariableCharacterisation5EditPart;
20import de.uka.ipd.sdq.pcm.gmf.seff.edit.parts.VariableUsageVariableCharacterisation3EditPart;
21import de.uka.ipd.sdq.pcm.gmf.seff.part.PalladioComponentModelVisualIDRegistry;
22import de.uka.ipd.sdq.pcm.gmf.seff.providers.PalladioComponentModelElementTypes;
23 
24/**
25 * @generated
26 */
27public class VariableUsage3ItemSemanticEditPolicy extends
28                PalladioComponentModelBaseItemSemanticEditPolicy {
29 
30        /**
31         * @generated
32         */
33        public VariableUsage3ItemSemanticEditPolicy() {
34                super(PalladioComponentModelElementTypes.VariableUsage_3036);
35        }
36 
37        /**
38         * @generated
39         */
40        protected Command getDestroyElementCommand(DestroyElementRequest req) {
41                View view = (View) getHost().getModel();
42                CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(
43                                getEditingDomain(), null);
44                cmd.setTransactionNestingEnabled(false);
45                EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
46                if (annotation == null) {
47                        // there are indirectly referenced children, need extra commands: false
48                        addDestroyChildNodesCommand(cmd);
49                        addDestroyShortcutsCommand(cmd, view);
50                        // delete host element
51                        cmd.add(new DestroyElementCommand(req));
52                } else {
53                        cmd.add(new DeleteCommand(getEditingDomain(), view));
54                }
55                return getGEFWrapper(cmd.reduce());
56        }
57 
58        /**
59         * @generated
60         */
61        private void addDestroyChildNodesCommand(ICompositeCommand cmd) {
62                View view = (View) getHost().getModel();
63                for (Iterator nit = view.getChildren().iterator(); nit.hasNext();) {
64                        Node node = (Node) nit.next();
65                        switch (PalladioComponentModelVisualIDRegistry.getVisualID(node)) {
66                        case VariableUsageVariableCharacterisation3EditPart.VISUAL_ID:
67                                for (Iterator cit = node.getChildren().iterator(); cit
68                                                .hasNext();) {
69                                        Node cnode = (Node) cit.next();
70                                        switch (PalladioComponentModelVisualIDRegistry
71                                                        .getVisualID(cnode)) {
72                                        case VariableCharacterisation5EditPart.VISUAL_ID:
73                                                cmd.add(new DestroyElementCommand(
74                                                                new DestroyElementRequest(getEditingDomain(),
75                                                                                cnode.getElement(), false))); // directlyOwned: true
76                                                // don't need explicit deletion of cnode as parent's view deletion would clean child views as well 
77                                                // cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), cnode));
78                                                break;
79                                        }
80                                }
81                                break;
82                        }
83                }
84        }
85 
86}

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