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 [VariableUsage2ItemSemanticEditPolicy.java]

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

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class VariableUsage2ItemSemanticEditPolicy0%   (0/1)0%   (0/3)0%   (0/101)0%   (0/25)
VariableUsage2ItemSemanticEditPolicy (): 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.VariableCharacterisation2EditPart;
19import de.uka.ipd.sdq.pcm.gmf.seff.edit.parts.VariableUsageVariableCharacterisation2EditPart;
20import de.uka.ipd.sdq.pcm.gmf.seff.part.PalladioComponentModelVisualIDRegistry;
21import de.uka.ipd.sdq.pcm.gmf.seff.providers.PalladioComponentModelElementTypes;
22 
23/**
24 * @generated
25 */
26public class VariableUsage2ItemSemanticEditPolicy extends
27                PalladioComponentModelBaseItemSemanticEditPolicy {
28 
29        /**
30         * @generated
31         */
32        public VariableUsage2ItemSemanticEditPolicy() {
33                super(PalladioComponentModelElementTypes.VariableUsage_3049);
34        }
35 
36        /**
37         * @generated
38         */
39        protected Command getDestroyElementCommand(DestroyElementRequest req) {
40                View view = (View) getHost().getModel();
41                CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(
42                                getEditingDomain(), null);
43                cmd.setTransactionNestingEnabled(false);
44                EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
45                if (annotation == null) {
46                        // there are indirectly referenced children, need extra commands: false
47                        addDestroyChildNodesCommand(cmd);
48                        addDestroyShortcutsCommand(cmd, view);
49                        // delete host element
50                        cmd.add(new DestroyElementCommand(req));
51                } else {
52                        cmd.add(new DeleteCommand(getEditingDomain(), view));
53                }
54                return getGEFWrapper(cmd.reduce());
55        }
56 
57        /**
58         * @generated
59         */
60        private void addDestroyChildNodesCommand(ICompositeCommand cmd) {
61                View view = (View) getHost().getModel();
62                for (Iterator nit = view.getChildren().iterator(); nit.hasNext();) {
63                        Node node = (Node) nit.next();
64                        switch (PalladioComponentModelVisualIDRegistry.getVisualID(node)) {
65                        case VariableUsageVariableCharacterisation2EditPart.VISUAL_ID:
66                                for (Iterator cit = node.getChildren().iterator(); cit
67                                                .hasNext();) {
68                                        Node cnode = (Node) cit.next();
69                                        switch (PalladioComponentModelVisualIDRegistry
70                                                        .getVisualID(cnode)) {
71                                        case VariableCharacterisation2EditPart.VISUAL_ID:
72                                                cmd.add(new DestroyElementCommand(
73                                                                new DestroyElementRequest(getEditingDomain(),
74                                                                                cnode.getElement(), false))); // directlyOwned: true
75                                                // don't need explicit deletion of cnode as parent's view deletion would clean child views as well 
76                                                // cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), cnode));
77                                                break;
78                                        }
79                                }
80                                break;
81                        }
82                }
83        }
84}

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