diff options
author | ashatalin | 2006-07-10 18:05:59 +0000 |
---|---|---|
committer | ashatalin | 2006-07-10 18:05:59 +0000 |
commit | 3708072049ff7fd3d4a07d05a11ada9a8db75cd5 (patch) | |
tree | d4e323f801e6c56afea49380106cabcb2116b132 /plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal | |
parent | 147ff40bc08bdeda3279f645a40c6bd70bf9952c (diff) | |
download | org.eclipse.gmf-tooling-3708072049ff7fd3d4a07d05a11ada9a8db75cd5.tar.gz org.eclipse.gmf-tooling-3708072049ff7fd3d4a07d05a11ada9a8db75cd5.tar.xz org.eclipse.gmf-tooling-3708072049ff7fd3d4a07d05a11ada9a8db75cd5.zip |
#148651 Plugin bridge.trace uses wrong namespace
Diffstat (limited to 'plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal')
28 files changed, 4966 insertions, 0 deletions
diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/AbstractTrace.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/AbstractTrace.java new file mode 100644 index 000000000..40e60685a --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/AbstractTrace.java @@ -0,0 +1,82 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Abstract Trace</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.AbstractTrace#getVisualID <em>Visual ID</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.AbstractTrace#isProcessed <em>Processed</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getAbstractTrace() + * @model abstract="true" + * @generated + */ +public interface AbstractTrace extends EObject { + /** + * Returns the value of the '<em><b>Visual ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Visual ID</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Visual ID</em>' attribute. + * @see #setVisualID(int) + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getAbstractTrace_VisualID() + * @model id="true" + * @generated + */ + int getVisualID(); + + /** + * Sets the value of the '{@link org.eclipse.gmf.internal.bridge.trace.AbstractTrace#getVisualID <em>Visual ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Visual ID</em>' attribute. + * @see #getVisualID() + * @generated + */ + void setVisualID(int value); + + /** + * Returns the value of the '<em><b>Processed</b></em>' attribute. + * The default value is <code>"false"</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Processed</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Processed</em>' attribute. + * @see #setProcessed(boolean) + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getAbstractTrace_Processed() + * @model default="false" transient="true" + * @generated + */ + boolean isProcessed(); + + /** + * Sets the value of the '{@link org.eclipse.gmf.internal.bridge.trace.AbstractTrace#isProcessed <em>Processed</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Processed</em>' attribute. + * @see #isProcessed() + * @generated + */ + void setProcessed(boolean value); + +} // AbstractTrace
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenChildNodeTrace.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenChildNodeTrace.java new file mode 100644 index 000000000..c67ee1183 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenChildNodeTrace.java @@ -0,0 +1,21 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Gen Child Node Trace</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getGenChildNodeTrace() + * @model + * @generated + */ +public interface GenChildNodeTrace extends GenNodeTrace { +} // GenChildNodeTrace
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenCompartmentTrace.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenCompartmentTrace.java new file mode 100644 index 000000000..180f1e928 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenCompartmentTrace.java @@ -0,0 +1,30 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + +import org.eclipse.gmf.codegen.gmfgen.GenCompartment; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Gen Compartment Trace</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getGenCompartmentTrace() + * @model + * @generated + */ +public interface GenCompartmentTrace extends MatchingTrace { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + void setContext(GenCompartment genCompartment); + +} // GenCompartmentTrace
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenLinkLabelTrace.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenLinkLabelTrace.java new file mode 100644 index 000000000..b37721321 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenLinkLabelTrace.java @@ -0,0 +1,30 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + +import org.eclipse.gmf.codegen.gmfgen.GenLinkLabel; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Gen Link Label Trace</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getGenLinkLabelTrace() + * @model + * @generated + */ +public interface GenLinkLabelTrace extends MatchingTrace { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + void setContext(GenLinkLabel genLinkLabel); + +} // GenLinkLabelTrace
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenLinkTrace.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenLinkTrace.java new file mode 100644 index 000000000..66a504f4e --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenLinkTrace.java @@ -0,0 +1,54 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.gmf.codegen.gmfgen.GenLink; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Gen Link Trace</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.GenLinkTrace#getLinkLabelTraces <em>Link Label Traces</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getGenLinkTrace() + * @model + * @generated + */ +public interface GenLinkTrace extends MatchingTrace { + /** + * Returns the value of the '<em><b>Link Label Traces</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.gmf.internal.bridge.trace.GenLinkLabelTrace}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Link Label Traces</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Link Label Traces</em>' containment reference list. + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getGenLinkTrace_LinkLabelTraces() + * @model type="org.eclipse.gmf.internal.bridge.trace.GenLinkLabelTrace" containment="true" + * @generated + */ + EList getLinkLabelTraces(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + void setContext(GenLink genLink); + +} // GenLinkTrace
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenNodeLabelTrace.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenNodeLabelTrace.java new file mode 100644 index 000000000..cd20f11df --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenNodeLabelTrace.java @@ -0,0 +1,30 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + +import org.eclipse.gmf.codegen.gmfgen.GenNodeLabel; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Gen Node Label Trace</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getGenNodeLabelTrace() + * @model + * @generated + */ +public interface GenNodeLabelTrace extends MatchingTrace { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + void setContext(GenNodeLabel genNodeLabel); + +} // GenNodeLabelTrace
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenNodeTrace.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenNodeTrace.java new file mode 100644 index 000000000..828640bd2 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GenNodeTrace.java @@ -0,0 +1,71 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.gmf.codegen.gmfgen.GenNode; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Gen Node Trace</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.GenNodeTrace#getNodeLabelTraces <em>Node Label Traces</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.GenNodeTrace#getCompartmentTraces <em>Compartment Traces</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getGenNodeTrace() + * @model + * @generated + */ +public interface GenNodeTrace extends MatchingTrace { + /** + * Returns the value of the '<em><b>Node Label Traces</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.gmf.internal.bridge.trace.GenNodeLabelTrace}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Node Label Traces</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Node Label Traces</em>' containment reference list. + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getGenNodeTrace_NodeLabelTraces() + * @model type="org.eclipse.gmf.internal.bridge.trace.GenNodeLabelTrace" containment="true" + * @generated + */ + EList getNodeLabelTraces(); + + /** + * Returns the value of the '<em><b>Compartment Traces</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.gmf.internal.bridge.trace.GenCompartmentTrace}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Compartment Traces</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Compartment Traces</em>' containment reference list. + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getGenNodeTrace_CompartmentTraces() + * @model type="org.eclipse.gmf.internal.bridge.trace.GenCompartmentTrace" containment="true" + * @generated + */ + EList getCompartmentTraces(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + void setContext(GenNode genNode); + +} // GenNodeTrace
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GmfTracePlugin.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GmfTracePlugin.java new file mode 100644 index 000000000..23d7c57b4 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/GmfTracePlugin.java @@ -0,0 +1,38 @@ +package org.eclipse.gmf.internal.bridge.trace; + +import java.io.IOException; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Plugin; +import org.eclipse.core.runtime.Status; +import org.osgi.framework.BundleContext; + +public class GmfTracePlugin extends Plugin { + + private static GmfTracePlugin myInstance; + + public void start(BundleContext context) throws Exception { + super.start(context); + myInstance = this; + } + + public void stop(BundleContext context) throws Exception { + super.stop(context); + myInstance = null; + } + + public static GmfTracePlugin getInstance() { + return myInstance; + } + + public void logError(String message, IOException exception) { + getLog().log(new Status(IStatus.ERROR, getBundle().getSymbolicName(), 0, message, exception)); + } + + public void logDebugInfo(String message) { + if (isDebugging()) { + getLog().log(new Status(IStatus.INFO, getBundle().getSymbolicName(), 0, message, null)); + } + } + +} diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/MatchingTrace.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/MatchingTrace.java new file mode 100644 index 000000000..0b1840883 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/MatchingTrace.java @@ -0,0 +1,97 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.ocl.query.Query; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Matching Trace</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.MatchingTrace#getQueryText <em>Query Text</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.MatchingTrace#getQuery <em>Query</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getMatchingTrace() + * @model abstract="true" + * @generated + */ +public interface MatchingTrace extends AbstractTrace { + /** + * Returns the value of the '<em><b>Query Text</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Query Text</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Query Text</em>' attribute. + * @see #setQueryText(String) + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getMatchingTrace_QueryText() + * @model derived="true" + * @generated + */ + String getQueryText(); + + /** + * Sets the value of the '{@link org.eclipse.gmf.internal.bridge.trace.MatchingTrace#getQueryText <em>Query Text</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Query Text</em>' attribute. + * @see #getQueryText() + * @generated + */ + void setQueryText(String value); + + /** + * Returns the value of the '<em><b>Query</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Query</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Query</em>' containment reference. + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getMatchingTrace_Query() + * @model containment="true" transient="true" changeable="false" derived="true" + * @generated + */ + Query getQuery(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + Query createQuery(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + String getEClassComparision(String varName, EClass eClass); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + String getEStructuralFeatureComparison(String varName, EStructuralFeature feature); + +} // MatchingTrace
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/MergingIdentifierDispenser.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/MergingIdentifierDispenser.java new file mode 100644 index 000000000..360fa69f6 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/MergingIdentifierDispenser.java @@ -0,0 +1,319 @@ +/** + * Copyright (c) 2006 Eclipse.org + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * vano - initial API and implementation + */ +package org.eclipse.gmf.internal.bridge.trace; + +import java.io.IOException; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.XMIResource; +import org.eclipse.gmf.codegen.gmfgen.GenChildNode; +import org.eclipse.gmf.codegen.gmfgen.GenCompartment; +import org.eclipse.gmf.codegen.gmfgen.GenDiagram; +import org.eclipse.gmf.codegen.gmfgen.GenLink; +import org.eclipse.gmf.codegen.gmfgen.GenLinkLabel; +import org.eclipse.gmf.codegen.gmfgen.GenNodeLabel; +import org.eclipse.gmf.codegen.gmfgen.GenTopLevelNode; +import org.eclipse.gmf.codegen.gmfgen.ToolGroup; +import org.eclipse.gmf.internal.bridge.StatefulVisualIdentifierDispencer; + +public class MergingIdentifierDispenser implements StatefulVisualIdentifierDispencer { + + private static final int CANVAS_COUNT_BASE = 1000; + private static final int TOP_NODE_COUNT_BASE = 2000; + private static final int CHILD_NODE_COUNT_BASE = 3000; + private static final int LINK_COUNT_BASE = 4000; + private static final int NODE_LABEL_COUNT_BASE = 5000; + private static final int LINK_LABEL_COUNT_BASE = 6000; + private static final int COMPARTMENT_COUNT_BASE = 7000; + private static final int OVERFLOW_COUNT_BASE = 8000; + + private static final int TOOL_GROUP_COUNT_BASE = 0; + + private int myTopNodeCount = TOP_NODE_COUNT_BASE; + private int myChildNodeCount = CHILD_NODE_COUNT_BASE; + private int myLinkCount = LINK_COUNT_BASE; + private int myNodeLabelCount = NODE_LABEL_COUNT_BASE; + private int myLinkLabelCount = LINK_LABEL_COUNT_BASE; + private int myCompartmentCount = COMPARTMENT_COUNT_BASE; + private int myToolGroupCount = TOOL_GROUP_COUNT_BASE; + private int myOverflowCount = OVERFLOW_COUNT_BASE; + + private TraceModel myTraceModel; + private Map mySavingOptions; + + public void loadState(URI genModelFileURI) { + loadTraceModel(genModelFileURI); + initCounters(); + } + + public void saveState() { + myTraceModel.purgeUnprocessedTraces(); + try { + myTraceModel.eResource().save(getSavingOptions()); + } catch (IOException e) { + GmfTracePlugin.getInstance().logError("Unable to save trace model", e); + } + myTraceModel = null; + } + + private Map getSavingOptions() { + if (mySavingOptions == null) { + mySavingOptions = new HashMap(); + mySavingOptions.put(XMIResource.OPTION_ENCODING, "UTF-8"); + } + return mySavingOptions; + } + + private void loadTraceModel(URI genModelFileURI) { + URI traceModelURI = genModelFileURI.trimFileExtension().appendFileExtension("trace"); + ResourceSet resSet = new ResourceSetImpl(); + Resource traceRes; + try { + traceRes = resSet.getResource(traceModelURI, true); + } catch (RuntimeException e) { + traceRes = resSet.createResource(traceModelURI); + } + + if (traceRes.getContents().size() > 0 && traceRes.getContents().get(0) instanceof TraceModel) { + myTraceModel = (TraceModel) traceRes.getContents().get(0); + } else { + myTraceModel = TraceFactory.eINSTANCE.createTraceModel(); + traceRes.getContents().add(0, myTraceModel); + } + } + + private void initCounters() { + myTopNodeCount = Math.max(myTopNodeCount, getMaxVid(myTraceModel.getNodeTraces())); + myChildNodeCount = Math.max(myChildNodeCount, getMaxVid(myTraceModel.getChildNodeTraces())); + myLinkCount = Math.max(myLinkCount, getMaxVid(myTraceModel.getLinkTraces())); + + initNodeChildrenCounters(myTraceModel.getNodeTraces()); + initNodeChildrenCounters(myTraceModel.getChildNodeTraces()); + + for (Iterator it = myTraceModel.getLinkTraces().iterator(); it.hasNext();) { + GenLinkTrace trace = (GenLinkTrace) it.next(); + myLinkLabelCount = Math.max(myLinkLabelCount, getMaxVid(trace.getLinkLabelTraces())); + } + + myToolGroupCount = Math.max(myToolGroupCount, getMaxVid(myTraceModel.getToolGroupTraces())); + } + + private void initNodeChildrenCounters(Collection nodeTraces) { + for (Iterator it = nodeTraces.iterator(); it.hasNext();) { + GenNodeTrace trace = (GenNodeTrace) it.next(); + myNodeLabelCount = Math.max(myNodeLabelCount, getMaxVid(trace.getNodeLabelTraces())); + myCompartmentCount = Math.max(myCompartmentCount, getMaxVid(trace.getCompartmentTraces())); + } + } + + private int getMaxVid(Collection abstractTraces) { + int id = -1; + for (Iterator it = abstractTraces.iterator(); it.hasNext();) { + AbstractTrace nextTrace = (AbstractTrace) it.next(); + id = Math.max(id, nextTrace.getVisualID()); + myOverflowCount = Math.max(myOverflowCount, nextTrace.getVisualID()); + } + return id; + } + + public int get(GenDiagram diagram) { + return CANVAS_COUNT_BASE; + } + + public int get(GenTopLevelNode node) { + int visualID = getMatchingVID(node, myTraceModel.getNodeTraces()); + if (visualID > -1) { + return visualID; + } + + visualID = getNextTopNodeVID(); + GenNodeTrace nodeTrace = TraceFactory.eINSTANCE.createGenNodeTrace(); + nodeTrace.setVisualID(visualID); + nodeTrace.setContext(node); + nodeTrace.setProcessed(true); + myTraceModel.getNodeTraces().add(nodeTrace); + return visualID; + } + + public int get(GenNodeLabel nodeLabel) { + GenNodeTrace nodeTrace = myTraceModel.getNodeTrace(nodeLabel.getNode().getVisualID()); + int visualID = getMatchingVID(nodeLabel, nodeTrace.getNodeLabelTraces()); + if (visualID > -1) { + return visualID; + } + + visualID = getNextNodeLabelVID(); + GenNodeLabelTrace nodeLabelTrace = TraceFactory.eINSTANCE.createGenNodeLabelTrace(); + nodeLabelTrace.setVisualID(visualID); + nodeTrace.getNodeLabelTraces().add(nodeLabelTrace); + nodeLabelTrace.setContext(nodeLabel); + nodeLabelTrace.setProcessed(true); + return visualID; + } + + public int get(GenLink link) { + int visualID = getMatchingVID(link, myTraceModel.getLinkTraces()); + if (visualID > -1) { + return visualID; + } + + visualID = getNextLinkVID(); + GenLinkTrace nodeLabelTrace = TraceFactory.eINSTANCE.createGenLinkTrace(); + nodeLabelTrace.setVisualID(visualID); + nodeLabelTrace.setContext(link); + myTraceModel.getLinkTraces().add(nodeLabelTrace); + nodeLabelTrace.setProcessed(true); + return visualID; + } + + public int get(GenChildNode childNode) { + int visualID = getMatchingVID(childNode, myTraceModel.getChildNodeTraces()); + if (visualID > -1) { + return visualID; + } + + visualID = getNextChildNodeVID(); + GenChildNodeTrace childNodeTrace = TraceFactory.eINSTANCE.createGenChildNodeTrace(); + childNodeTrace.setVisualID(visualID); + childNodeTrace.setContext(childNode); + myTraceModel.getChildNodeTraces().add(childNodeTrace); + childNodeTrace.setProcessed(true); + return visualID; + } + + public int get(GenCompartment compartment) { + GenNodeTrace nodeTrace = myTraceModel.getNodeTrace(compartment.getNode().getVisualID()); + int visualID = getMatchingVID(compartment, nodeTrace.getCompartmentTraces()); + if (visualID > -1) { + return visualID; + } + + visualID = getNextCompartmentVID(); + GenCompartmentTrace compartmentTrace = TraceFactory.eINSTANCE.createGenCompartmentTrace(); + compartmentTrace.setVisualID(visualID); + nodeTrace.getCompartmentTraces().add(compartmentTrace); + compartmentTrace.setContext(compartment); + compartmentTrace.setProcessed(true); + return visualID; + } + + public int get(GenLinkLabel label) { + GenLinkTrace linkTrace = myTraceModel.getLinkTrace(label.getLink().getVisualID()); + int visualID = getMatchingVID(label, linkTrace.getLinkLabelTraces()); + if (visualID > -1) { + return visualID; + } + + visualID = getNextLinkLabelVID(); + GenLinkLabelTrace linkLabelTrace = TraceFactory.eINSTANCE.createGenLinkLabelTrace(); + linkLabelTrace.setVisualID(visualID); + linkTrace.getLinkLabelTraces().add(linkLabelTrace); + linkLabelTrace.setContext(label); + linkLabelTrace.setProcessed(true); + return visualID; + } + + public int get(ToolGroup toolGroup) { + int visualID = getMatchingVID(toolGroup, myTraceModel.getToolGroupTraces()); + if (visualID > -1) { + return visualID; + } + + visualID = getNextToolVID(); + ToolGroupTrace toolGroupTrace = TraceFactory.eINSTANCE.createToolGroupTrace(); + toolGroupTrace.setVisualID(visualID); + toolGroupTrace.setContext(toolGroup); + myTraceModel.getToolGroupTraces().add(toolGroupTrace); + toolGroupTrace.setProcessed(true); + return visualID; + } + + private int getMatchingVID(Object context, Collection matchingTraces) { + for (Iterator it = matchingTraces.iterator(); it.hasNext();) { + MatchingTrace trace = (MatchingTrace) it.next(); + if (trace.isProcessed()) { + continue; + } + Object result = trace.getQuery().evaluate(context); + if (result instanceof Boolean && ((Boolean) result).booleanValue()) { + trace.setProcessed(true); + return trace.getVisualID(); + } + } + return -1; + } + + private int getNextToolVID() { + if (++myToolGroupCount < CANVAS_COUNT_BASE) { + GmfTracePlugin.getInstance().logDebugInfo("New tool visualID issued: " + myToolGroupCount); + return myToolGroupCount; + } + return ++myOverflowCount; + } + + private int getNextTopNodeVID() { + if (++myTopNodeCount < CHILD_NODE_COUNT_BASE) { + GmfTracePlugin.getInstance().logDebugInfo("New top node visualID issued: " + myTopNodeCount); + return myTopNodeCount; + } + return ++myOverflowCount; + } + + private int getNextChildNodeVID() { + if (++myChildNodeCount < LINK_COUNT_BASE) { + GmfTracePlugin.getInstance().logDebugInfo("New child node visualID issued: " + myChildNodeCount); + return myChildNodeCount; + } + return ++myOverflowCount; + } + + private int getNextLinkVID() { + if (++myLinkCount < NODE_LABEL_COUNT_BASE) { + GmfTracePlugin.getInstance().logDebugInfo("New link visualID issued: " + myLinkCount); + return myLinkCount; + } + return ++myOverflowCount; + } + + private int getNextNodeLabelVID() { + if (++myNodeLabelCount < LINK_LABEL_COUNT_BASE) { + GmfTracePlugin.getInstance().logDebugInfo("New node label visualID issued: " + myNodeLabelCount); + return myNodeLabelCount; + } + return ++myOverflowCount; + } + + private int getNextLinkLabelVID() { + if (++myLinkLabelCount < COMPARTMENT_COUNT_BASE) { + GmfTracePlugin.getInstance().logDebugInfo("New link label visualID issued: " + myLinkLabelCount); + return myLinkLabelCount; + } + return ++myOverflowCount; + } + + private int getNextCompartmentVID() { + if (++myCompartmentCount < OVERFLOW_COUNT_BASE) { + GmfTracePlugin.getInstance().logDebugInfo("New compartment visualID issued: " + myCompartmentCount); + return myCompartmentCount; + } + return ++myOverflowCount; + } + +} + diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/ToolGroupTrace.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/ToolGroupTrace.java new file mode 100644 index 000000000..7be0be256 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/ToolGroupTrace.java @@ -0,0 +1,30 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + +import org.eclipse.gmf.codegen.gmfgen.ToolGroup; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Tool Group Trace</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getToolGroupTrace() + * @model + * @generated + */ +public interface ToolGroupTrace extends MatchingTrace { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + void setContext(ToolGroup toolGroup); + +} // ToolGroupTrace
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/TraceFactory.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/TraceFactory.java new file mode 100644 index 000000000..5aba6edfc --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/TraceFactory.java @@ -0,0 +1,109 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + +import org.eclipse.emf.ecore.EFactory; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage + * @generated + */ +public interface TraceFactory extends EFactory { + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + TraceFactory eINSTANCE = org.eclipse.gmf.internal.bridge.trace.impl.TraceFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Model</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Model</em>'. + * @generated + */ + TraceModel createTraceModel(); + + /** + * Returns a new object of class '<em>Gen Node Trace</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Gen Node Trace</em>'. + * @generated + */ + GenNodeTrace createGenNodeTrace(); + + /** + * Returns a new object of class '<em>Gen Child Node Trace</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Gen Child Node Trace</em>'. + * @generated + */ + GenChildNodeTrace createGenChildNodeTrace(); + + /** + * Returns a new object of class '<em>Gen Node Label Trace</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Gen Node Label Trace</em>'. + * @generated + */ + GenNodeLabelTrace createGenNodeLabelTrace(); + + /** + * Returns a new object of class '<em>Gen Link Trace</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Gen Link Trace</em>'. + * @generated + */ + GenLinkTrace createGenLinkTrace(); + + /** + * Returns a new object of class '<em>Gen Compartment Trace</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Gen Compartment Trace</em>'. + * @generated + */ + GenCompartmentTrace createGenCompartmentTrace(); + + /** + * Returns a new object of class '<em>Gen Link Label Trace</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Gen Link Label Trace</em>'. + * @generated + */ + GenLinkLabelTrace createGenLinkLabelTrace(); + + /** + * Returns a new object of class '<em>Tool Group Trace</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Tool Group Trace</em>'. + * @generated + */ + ToolGroupTrace createToolGroupTrace(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + TracePackage getTracePackage(); + +} //TraceFactory diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/TraceModel.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/TraceModel.java new file mode 100644 index 000000000..14c4f6cf2 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/TraceModel.java @@ -0,0 +1,129 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Model</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.TraceModel#getNodeTraces <em>Node Traces</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.TraceModel#getChildNodeTraces <em>Child Node Traces</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.TraceModel#getLinkTraces <em>Link Traces</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.TraceModel#getToolGroupTraces <em>Tool Group Traces</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getTraceModel() + * @model + * @generated + */ +public interface TraceModel extends EObject { + /** + * Returns the value of the '<em><b>Node Traces</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.gmf.internal.bridge.trace.GenNodeTrace}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Node Traces</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Node Traces</em>' containment reference list. + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getTraceModel_NodeTraces() + * @model type="org.eclipse.gmf.internal.bridge.trace.GenNodeTrace" containment="true" + * @generated + */ + EList getNodeTraces(); + + /** + * Returns the value of the '<em><b>Child Node Traces</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.gmf.internal.bridge.trace.GenChildNodeTrace}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Child Node Traces</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Child Node Traces</em>' containment reference list. + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getTraceModel_ChildNodeTraces() + * @model type="org.eclipse.gmf.internal.bridge.trace.GenChildNodeTrace" containment="true" + * @generated + */ + EList getChildNodeTraces(); + + /** + * Returns the value of the '<em><b>Link Traces</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.gmf.internal.bridge.trace.GenLinkTrace}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Link Traces</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Link Traces</em>' containment reference list. + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getTraceModel_LinkTraces() + * @model type="org.eclipse.gmf.internal.bridge.trace.GenLinkTrace" containment="true" + * @generated + */ + EList getLinkTraces(); + + /** + * Returns the value of the '<em><b>Tool Group Traces</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.gmf.internal.bridge.trace.ToolGroupTrace}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Tool Group Traces</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Tool Group Traces</em>' containment reference list. + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getTraceModel_ToolGroupTraces() + * @model type="org.eclipse.gmf.internal.bridge.trace.ToolGroupTrace" containment="true" + * @generated + */ + EList getToolGroupTraces(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + GenNodeTrace getNodeTrace(int visualID); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + GenLinkTrace getLinkTrace(int visualID); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model kind="operation" type="org.eclipse.gmf.internal.bridge.trace.AbstractTrace" + * @generated + */ + EList getAllAbstractTraces(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ + void purgeUnprocessedTraces(); + +} // TraceModel
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/TracePackage.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/TracePackage.java new file mode 100644 index 000000000..3588c27ef --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/TracePackage.java @@ -0,0 +1,1073 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.TraceFactory + * @model kind="package" + * @generated + */ +public interface TracePackage extends EPackage { + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "trace"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.eclipse.org/gmf/2006/Trace"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "trace"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + TracePackage eINSTANCE = org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.TraceModelImpl <em>Model</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.TraceModelImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getTraceModel() + * @generated + */ + int TRACE_MODEL = 0; + + /** + * The feature id for the '<em><b>Node Traces</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRACE_MODEL__NODE_TRACES = 0; + + /** + * The feature id for the '<em><b>Child Node Traces</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRACE_MODEL__CHILD_NODE_TRACES = 1; + + /** + * The feature id for the '<em><b>Link Traces</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRACE_MODEL__LINK_TRACES = 2; + + /** + * The feature id for the '<em><b>Tool Group Traces</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRACE_MODEL__TOOL_GROUP_TRACES = 3; + + /** + * The number of structural features of the '<em>Model</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRACE_MODEL_FEATURE_COUNT = 4; + + /** + * The meta object id for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.AbstractTraceImpl <em>Abstract Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.AbstractTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getAbstractTrace() + * @generated + */ + int ABSTRACT_TRACE = 1; + + /** + * The feature id for the '<em><b>Visual ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABSTRACT_TRACE__VISUAL_ID = 0; + + /** + * The feature id for the '<em><b>Processed</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABSTRACT_TRACE__PROCESSED = 1; + + /** + * The number of structural features of the '<em>Abstract Trace</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABSTRACT_TRACE_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.MatchingTraceImpl <em>Matching Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.MatchingTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getMatchingTrace() + * @generated + */ + int MATCHING_TRACE = 2; + + /** + * The feature id for the '<em><b>Visual ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCHING_TRACE__VISUAL_ID = ABSTRACT_TRACE__VISUAL_ID; + + /** + * The feature id for the '<em><b>Processed</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCHING_TRACE__PROCESSED = ABSTRACT_TRACE__PROCESSED; + + /** + * The feature id for the '<em><b>Query Text</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCHING_TRACE__QUERY_TEXT = ABSTRACT_TRACE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Query</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCHING_TRACE__QUERY = ABSTRACT_TRACE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Matching Trace</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCHING_TRACE_FEATURE_COUNT = ABSTRACT_TRACE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenNodeTraceImpl <em>Gen Node Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenNodeTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenNodeTrace() + * @generated + */ + int GEN_NODE_TRACE = 3; + + /** + * The feature id for the '<em><b>Visual ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_TRACE__VISUAL_ID = MATCHING_TRACE__VISUAL_ID; + + /** + * The feature id for the '<em><b>Processed</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_TRACE__PROCESSED = MATCHING_TRACE__PROCESSED; + + /** + * The feature id for the '<em><b>Query Text</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_TRACE__QUERY_TEXT = MATCHING_TRACE__QUERY_TEXT; + + /** + * The feature id for the '<em><b>Query</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_TRACE__QUERY = MATCHING_TRACE__QUERY; + + /** + * The feature id for the '<em><b>Node Label Traces</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_TRACE__NODE_LABEL_TRACES = MATCHING_TRACE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Compartment Traces</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_TRACE__COMPARTMENT_TRACES = MATCHING_TRACE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Gen Node Trace</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_TRACE_FEATURE_COUNT = MATCHING_TRACE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenChildNodeTraceImpl <em>Gen Child Node Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenChildNodeTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenChildNodeTrace() + * @generated + */ + int GEN_CHILD_NODE_TRACE = 4; + + /** + * The feature id for the '<em><b>Visual ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_CHILD_NODE_TRACE__VISUAL_ID = GEN_NODE_TRACE__VISUAL_ID; + + /** + * The feature id for the '<em><b>Processed</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_CHILD_NODE_TRACE__PROCESSED = GEN_NODE_TRACE__PROCESSED; + + /** + * The feature id for the '<em><b>Query Text</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_CHILD_NODE_TRACE__QUERY_TEXT = GEN_NODE_TRACE__QUERY_TEXT; + + /** + * The feature id for the '<em><b>Query</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_CHILD_NODE_TRACE__QUERY = GEN_NODE_TRACE__QUERY; + + /** + * The feature id for the '<em><b>Node Label Traces</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_CHILD_NODE_TRACE__NODE_LABEL_TRACES = GEN_NODE_TRACE__NODE_LABEL_TRACES; + + /** + * The feature id for the '<em><b>Compartment Traces</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_CHILD_NODE_TRACE__COMPARTMENT_TRACES = GEN_NODE_TRACE__COMPARTMENT_TRACES; + + /** + * The number of structural features of the '<em>Gen Child Node Trace</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_CHILD_NODE_TRACE_FEATURE_COUNT = GEN_NODE_TRACE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenNodeLabelTraceImpl <em>Gen Node Label Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenNodeLabelTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenNodeLabelTrace() + * @generated + */ + int GEN_NODE_LABEL_TRACE = 5; + + /** + * The feature id for the '<em><b>Visual ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_LABEL_TRACE__VISUAL_ID = MATCHING_TRACE__VISUAL_ID; + + /** + * The feature id for the '<em><b>Processed</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_LABEL_TRACE__PROCESSED = MATCHING_TRACE__PROCESSED; + + /** + * The feature id for the '<em><b>Query Text</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_LABEL_TRACE__QUERY_TEXT = MATCHING_TRACE__QUERY_TEXT; + + /** + * The feature id for the '<em><b>Query</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_LABEL_TRACE__QUERY = MATCHING_TRACE__QUERY; + + /** + * The number of structural features of the '<em>Gen Node Label Trace</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_NODE_LABEL_TRACE_FEATURE_COUNT = MATCHING_TRACE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenLinkTraceImpl <em>Gen Link Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenLinkTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenLinkTrace() + * @generated + */ + int GEN_LINK_TRACE = 6; + + /** + * The feature id for the '<em><b>Visual ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_LINK_TRACE__VISUAL_ID = MATCHING_TRACE__VISUAL_ID; + + /** + * The feature id for the '<em><b>Processed</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_LINK_TRACE__PROCESSED = MATCHING_TRACE__PROCESSED; + + /** + * The feature id for the '<em><b>Query Text</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_LINK_TRACE__QUERY_TEXT = MATCHING_TRACE__QUERY_TEXT; + + /** + * The feature id for the '<em><b>Query</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_LINK_TRACE__QUERY = MATCHING_TRACE__QUERY; + + /** + * The feature id for the '<em><b>Link Label Traces</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_LINK_TRACE__LINK_LABEL_TRACES = MATCHING_TRACE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Gen Link Trace</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_LINK_TRACE_FEATURE_COUNT = MATCHING_TRACE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenCompartmentTraceImpl <em>Gen Compartment Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenCompartmentTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenCompartmentTrace() + * @generated + */ + int GEN_COMPARTMENT_TRACE = 7; + + /** + * The feature id for the '<em><b>Visual ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_COMPARTMENT_TRACE__VISUAL_ID = MATCHING_TRACE__VISUAL_ID; + + /** + * The feature id for the '<em><b>Processed</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_COMPARTMENT_TRACE__PROCESSED = MATCHING_TRACE__PROCESSED; + + /** + * The feature id for the '<em><b>Query Text</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_COMPARTMENT_TRACE__QUERY_TEXT = MATCHING_TRACE__QUERY_TEXT; + + /** + * The feature id for the '<em><b>Query</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_COMPARTMENT_TRACE__QUERY = MATCHING_TRACE__QUERY; + + /** + * The number of structural features of the '<em>Gen Compartment Trace</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_COMPARTMENT_TRACE_FEATURE_COUNT = MATCHING_TRACE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenLinkLabelTraceImpl <em>Gen Link Label Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenLinkLabelTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenLinkLabelTrace() + * @generated + */ + int GEN_LINK_LABEL_TRACE = 8; + + /** + * The feature id for the '<em><b>Visual ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_LINK_LABEL_TRACE__VISUAL_ID = MATCHING_TRACE__VISUAL_ID; + + /** + * The feature id for the '<em><b>Processed</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_LINK_LABEL_TRACE__PROCESSED = MATCHING_TRACE__PROCESSED; + + /** + * The feature id for the '<em><b>Query Text</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_LINK_LABEL_TRACE__QUERY_TEXT = MATCHING_TRACE__QUERY_TEXT; + + /** + * The feature id for the '<em><b>Query</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_LINK_LABEL_TRACE__QUERY = MATCHING_TRACE__QUERY; + + /** + * The number of structural features of the '<em>Gen Link Label Trace</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GEN_LINK_LABEL_TRACE_FEATURE_COUNT = MATCHING_TRACE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.ToolGroupTraceImpl <em>Tool Group Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.ToolGroupTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getToolGroupTrace() + * @generated + */ + int TOOL_GROUP_TRACE = 9; + + /** + * The feature id for the '<em><b>Visual ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TOOL_GROUP_TRACE__VISUAL_ID = MATCHING_TRACE__VISUAL_ID; + + /** + * The feature id for the '<em><b>Processed</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TOOL_GROUP_TRACE__PROCESSED = MATCHING_TRACE__PROCESSED; + + /** + * The feature id for the '<em><b>Query Text</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TOOL_GROUP_TRACE__QUERY_TEXT = MATCHING_TRACE__QUERY_TEXT; + + /** + * The feature id for the '<em><b>Query</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TOOL_GROUP_TRACE__QUERY = MATCHING_TRACE__QUERY; + + /** + * The number of structural features of the '<em>Tool Group Trace</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TOOL_GROUP_TRACE_FEATURE_COUNT = MATCHING_TRACE_FEATURE_COUNT + 0; + + + /** + * Returns the meta object for class '{@link org.eclipse.gmf.internal.bridge.trace.TraceModel <em>Model</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Model</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.TraceModel + * @generated + */ + EClass getTraceModel(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.internal.bridge.trace.TraceModel#getNodeTraces <em>Node Traces</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Node Traces</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.TraceModel#getNodeTraces() + * @see #getTraceModel() + * @generated + */ + EReference getTraceModel_NodeTraces(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.internal.bridge.trace.TraceModel#getChildNodeTraces <em>Child Node Traces</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Child Node Traces</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.TraceModel#getChildNodeTraces() + * @see #getTraceModel() + * @generated + */ + EReference getTraceModel_ChildNodeTraces(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.internal.bridge.trace.TraceModel#getLinkTraces <em>Link Traces</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Link Traces</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.TraceModel#getLinkTraces() + * @see #getTraceModel() + * @generated + */ + EReference getTraceModel_LinkTraces(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.internal.bridge.trace.TraceModel#getToolGroupTraces <em>Tool Group Traces</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Tool Group Traces</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.TraceModel#getToolGroupTraces() + * @see #getTraceModel() + * @generated + */ + EReference getTraceModel_ToolGroupTraces(); + + /** + * Returns the meta object for class '{@link org.eclipse.gmf.internal.bridge.trace.AbstractTrace <em>Abstract Trace</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Abstract Trace</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.AbstractTrace + * @generated + */ + EClass getAbstractTrace(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.gmf.internal.bridge.trace.AbstractTrace#getVisualID <em>Visual ID</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Visual ID</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.AbstractTrace#getVisualID() + * @see #getAbstractTrace() + * @generated + */ + EAttribute getAbstractTrace_VisualID(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.gmf.internal.bridge.trace.AbstractTrace#isProcessed <em>Processed</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Processed</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.AbstractTrace#isProcessed() + * @see #getAbstractTrace() + * @generated + */ + EAttribute getAbstractTrace_Processed(); + + /** + * Returns the meta object for class '{@link org.eclipse.gmf.internal.bridge.trace.MatchingTrace <em>Matching Trace</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Matching Trace</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.MatchingTrace + * @generated + */ + EClass getMatchingTrace(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.gmf.internal.bridge.trace.MatchingTrace#getQueryText <em>Query Text</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Query Text</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.MatchingTrace#getQueryText() + * @see #getMatchingTrace() + * @generated + */ + EAttribute getMatchingTrace_QueryText(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.gmf.internal.bridge.trace.MatchingTrace#getQuery <em>Query</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Query</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.MatchingTrace#getQuery() + * @see #getMatchingTrace() + * @generated + */ + EReference getMatchingTrace_Query(); + + /** + * Returns the meta object for class '{@link org.eclipse.gmf.internal.bridge.trace.GenNodeTrace <em>Gen Node Trace</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Gen Node Trace</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.GenNodeTrace + * @generated + */ + EClass getGenNodeTrace(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.internal.bridge.trace.GenNodeTrace#getNodeLabelTraces <em>Node Label Traces</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Node Label Traces</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.GenNodeTrace#getNodeLabelTraces() + * @see #getGenNodeTrace() + * @generated + */ + EReference getGenNodeTrace_NodeLabelTraces(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.internal.bridge.trace.GenNodeTrace#getCompartmentTraces <em>Compartment Traces</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Compartment Traces</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.GenNodeTrace#getCompartmentTraces() + * @see #getGenNodeTrace() + * @generated + */ + EReference getGenNodeTrace_CompartmentTraces(); + + /** + * Returns the meta object for class '{@link org.eclipse.gmf.internal.bridge.trace.GenChildNodeTrace <em>Gen Child Node Trace</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Gen Child Node Trace</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.GenChildNodeTrace + * @generated + */ + EClass getGenChildNodeTrace(); + + /** + * Returns the meta object for class '{@link org.eclipse.gmf.internal.bridge.trace.GenNodeLabelTrace <em>Gen Node Label Trace</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Gen Node Label Trace</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.GenNodeLabelTrace + * @generated + */ + EClass getGenNodeLabelTrace(); + + /** + * Returns the meta object for class '{@link org.eclipse.gmf.internal.bridge.trace.GenLinkTrace <em>Gen Link Trace</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Gen Link Trace</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.GenLinkTrace + * @generated + */ + EClass getGenLinkTrace(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.internal.bridge.trace.GenLinkTrace#getLinkLabelTraces <em>Link Label Traces</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Link Label Traces</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.GenLinkTrace#getLinkLabelTraces() + * @see #getGenLinkTrace() + * @generated + */ + EReference getGenLinkTrace_LinkLabelTraces(); + + /** + * Returns the meta object for class '{@link org.eclipse.gmf.internal.bridge.trace.GenCompartmentTrace <em>Gen Compartment Trace</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Gen Compartment Trace</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.GenCompartmentTrace + * @generated + */ + EClass getGenCompartmentTrace(); + + /** + * Returns the meta object for class '{@link org.eclipse.gmf.internal.bridge.trace.GenLinkLabelTrace <em>Gen Link Label Trace</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Gen Link Label Trace</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.GenLinkLabelTrace + * @generated + */ + EClass getGenLinkLabelTrace(); + + /** + * Returns the meta object for class '{@link org.eclipse.gmf.internal.bridge.trace.ToolGroupTrace <em>Tool Group Trace</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Tool Group Trace</em>'. + * @see org.eclipse.gmf.internal.bridge.trace.ToolGroupTrace + * @generated + */ + EClass getToolGroupTrace(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + TraceFactory getTraceFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.TraceModelImpl <em>Model</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.TraceModelImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getTraceModel() + * @generated + */ + EClass TRACE_MODEL = eINSTANCE.getTraceModel(); + + /** + * The meta object literal for the '<em><b>Node Traces</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TRACE_MODEL__NODE_TRACES = eINSTANCE.getTraceModel_NodeTraces(); + + /** + * The meta object literal for the '<em><b>Child Node Traces</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TRACE_MODEL__CHILD_NODE_TRACES = eINSTANCE.getTraceModel_ChildNodeTraces(); + + /** + * The meta object literal for the '<em><b>Link Traces</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TRACE_MODEL__LINK_TRACES = eINSTANCE.getTraceModel_LinkTraces(); + + /** + * The meta object literal for the '<em><b>Tool Group Traces</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TRACE_MODEL__TOOL_GROUP_TRACES = eINSTANCE.getTraceModel_ToolGroupTraces(); + + /** + * The meta object literal for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.AbstractTraceImpl <em>Abstract Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.AbstractTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getAbstractTrace() + * @generated + */ + EClass ABSTRACT_TRACE = eINSTANCE.getAbstractTrace(); + + /** + * The meta object literal for the '<em><b>Visual ID</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ABSTRACT_TRACE__VISUAL_ID = eINSTANCE.getAbstractTrace_VisualID(); + + /** + * The meta object literal for the '<em><b>Processed</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ABSTRACT_TRACE__PROCESSED = eINSTANCE.getAbstractTrace_Processed(); + + /** + * The meta object literal for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.MatchingTraceImpl <em>Matching Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.MatchingTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getMatchingTrace() + * @generated + */ + EClass MATCHING_TRACE = eINSTANCE.getMatchingTrace(); + + /** + * The meta object literal for the '<em><b>Query Text</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute MATCHING_TRACE__QUERY_TEXT = eINSTANCE.getMatchingTrace_QueryText(); + + /** + * The meta object literal for the '<em><b>Query</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference MATCHING_TRACE__QUERY = eINSTANCE.getMatchingTrace_Query(); + + /** + * The meta object literal for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenNodeTraceImpl <em>Gen Node Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenNodeTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenNodeTrace() + * @generated + */ + EClass GEN_NODE_TRACE = eINSTANCE.getGenNodeTrace(); + + /** + * The meta object literal for the '<em><b>Node Label Traces</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GEN_NODE_TRACE__NODE_LABEL_TRACES = eINSTANCE.getGenNodeTrace_NodeLabelTraces(); + + /** + * The meta object literal for the '<em><b>Compartment Traces</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GEN_NODE_TRACE__COMPARTMENT_TRACES = eINSTANCE.getGenNodeTrace_CompartmentTraces(); + + /** + * The meta object literal for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenChildNodeTraceImpl <em>Gen Child Node Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenChildNodeTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenChildNodeTrace() + * @generated + */ + EClass GEN_CHILD_NODE_TRACE = eINSTANCE.getGenChildNodeTrace(); + + /** + * The meta object literal for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenNodeLabelTraceImpl <em>Gen Node Label Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenNodeLabelTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenNodeLabelTrace() + * @generated + */ + EClass GEN_NODE_LABEL_TRACE = eINSTANCE.getGenNodeLabelTrace(); + + /** + * The meta object literal for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenLinkTraceImpl <em>Gen Link Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenLinkTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenLinkTrace() + * @generated + */ + EClass GEN_LINK_TRACE = eINSTANCE.getGenLinkTrace(); + + /** + * The meta object literal for the '<em><b>Link Label Traces</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GEN_LINK_TRACE__LINK_LABEL_TRACES = eINSTANCE.getGenLinkTrace_LinkLabelTraces(); + + /** + * The meta object literal for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenCompartmentTraceImpl <em>Gen Compartment Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenCompartmentTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenCompartmentTrace() + * @generated + */ + EClass GEN_COMPARTMENT_TRACE = eINSTANCE.getGenCompartmentTrace(); + + /** + * The meta object literal for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.GenLinkLabelTraceImpl <em>Gen Link Label Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.GenLinkLabelTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getGenLinkLabelTrace() + * @generated + */ + EClass GEN_LINK_LABEL_TRACE = eINSTANCE.getGenLinkLabelTrace(); + + /** + * The meta object literal for the '{@link org.eclipse.gmf.internal.bridge.trace.impl.ToolGroupTraceImpl <em>Tool Group Trace</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.impl.ToolGroupTraceImpl + * @see org.eclipse.gmf.internal.bridge.trace.impl.TracePackageImpl#getToolGroupTrace() + * @generated + */ + EClass TOOL_GROUP_TRACE = eINSTANCE.getToolGroupTrace(); + + } + +} //TracePackage diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/AbstractTraceImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/AbstractTraceImpl.java new file mode 100644 index 000000000..54fe94404 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/AbstractTraceImpl.java @@ -0,0 +1,212 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.EObjectImpl; +import org.eclipse.gmf.internal.bridge.trace.AbstractTrace; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Abstract Trace</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.impl.AbstractTraceImpl#getVisualID <em>Visual ID</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.impl.AbstractTraceImpl#isProcessed <em>Processed</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public abstract class AbstractTraceImpl extends EObjectImpl implements AbstractTrace { + /** + * The default value of the '{@link #getVisualID() <em>Visual ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVisualID() + * @generated + * @ordered + */ + protected static final int VISUAL_ID_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getVisualID() <em>Visual ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVisualID() + * @generated + * @ordered + */ + protected int visualID = VISUAL_ID_EDEFAULT; + + /** + * The default value of the '{@link #isProcessed() <em>Processed</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isProcessed() + * @generated + * @ordered + */ + protected static final boolean PROCESSED_EDEFAULT = false; + + /** + * The cached value of the '{@link #isProcessed() <em>Processed</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isProcessed() + * @generated + * @ordered + */ + protected boolean processed = PROCESSED_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AbstractTraceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return TracePackage.Literals.ABSTRACT_TRACE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getVisualID() { + return visualID; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setVisualID(int newVisualID) { + int oldVisualID = visualID; + visualID = newVisualID; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, TracePackage.ABSTRACT_TRACE__VISUAL_ID, oldVisualID, visualID)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isProcessed() { + return processed; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setProcessed(boolean newProcessed) { + boolean oldProcessed = processed; + processed = newProcessed; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, TracePackage.ABSTRACT_TRACE__PROCESSED, oldProcessed, processed)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case TracePackage.ABSTRACT_TRACE__VISUAL_ID: + return new Integer(getVisualID()); + case TracePackage.ABSTRACT_TRACE__PROCESSED: + return isProcessed() ? Boolean.TRUE : Boolean.FALSE; + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case TracePackage.ABSTRACT_TRACE__VISUAL_ID: + setVisualID(((Integer)newValue).intValue()); + return; + case TracePackage.ABSTRACT_TRACE__PROCESSED: + setProcessed(((Boolean)newValue).booleanValue()); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(int featureID) { + switch (featureID) { + case TracePackage.ABSTRACT_TRACE__VISUAL_ID: + setVisualID(VISUAL_ID_EDEFAULT); + return; + case TracePackage.ABSTRACT_TRACE__PROCESSED: + setProcessed(PROCESSED_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(int featureID) { + switch (featureID) { + case TracePackage.ABSTRACT_TRACE__VISUAL_ID: + return visualID != VISUAL_ID_EDEFAULT; + case TracePackage.ABSTRACT_TRACE__PROCESSED: + return processed != PROCESSED_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (visualID: "); + result.append(visualID); + result.append(", processed: "); + result.append(processed); + result.append(')'); + return result.toString(); + } + +} //AbstractTraceImpl
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenChildNodeTraceImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenChildNodeTraceImpl.java new file mode 100644 index 000000000..7fe29073a --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenChildNodeTraceImpl.java @@ -0,0 +1,41 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.gmf.internal.bridge.trace.GenChildNodeTrace; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Gen Child Node Trace</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public class GenChildNodeTraceImpl extends GenNodeTraceImpl implements GenChildNodeTrace { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GenChildNodeTraceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return TracePackage.Literals.GEN_CHILD_NODE_TRACE; + } + +} //GenChildNodeTraceImpl
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenCompartmentTraceImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenCompartmentTraceImpl.java new file mode 100644 index 000000000..de9bfc0e7 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenCompartmentTraceImpl.java @@ -0,0 +1,58 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ocl.query.Query; +import org.eclipse.emf.ocl.query.QueryFactory; +import org.eclipse.gmf.codegen.gmfgen.GMFGenPackage; +import org.eclipse.gmf.codegen.gmfgen.GenCompartment; +import org.eclipse.gmf.internal.bridge.trace.GenCompartmentTrace; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Gen Compartment Trace</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public class GenCompartmentTraceImpl extends MatchingTraceImpl implements GenCompartmentTrace { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GenCompartmentTraceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return TracePackage.Literals.GEN_COMPARTMENT_TRACE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public void setContext(GenCompartment genCompartment) { + setQueryText("true"); + } + + public Query createQuery() { + return QueryFactory.eINSTANCE.createQuery(getQueryText(), GMFGenPackage.eINSTANCE.getGenCompartment()); + } + +} //GenCompartmentTraceImpl
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenLinkLabelTraceImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenLinkLabelTraceImpl.java new file mode 100644 index 000000000..2fd39f68e --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenLinkLabelTraceImpl.java @@ -0,0 +1,58 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ocl.query.Query; +import org.eclipse.emf.ocl.query.QueryFactory; +import org.eclipse.gmf.codegen.gmfgen.GMFGenPackage; +import org.eclipse.gmf.codegen.gmfgen.GenLinkLabel; +import org.eclipse.gmf.internal.bridge.trace.GenLinkLabelTrace; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Gen Link Label Trace</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public class GenLinkLabelTraceImpl extends MatchingTraceImpl implements GenLinkLabelTrace { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GenLinkLabelTraceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return TracePackage.Literals.GEN_LINK_LABEL_TRACE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public void setContext(GenLinkLabel genLinkLabel) { + setQueryText("true"); + } + + public Query createQuery() { + return QueryFactory.eINSTANCE.createQuery(getQueryText(), GMFGenPackage.eINSTANCE.getGenLinkLabel()); + } + +} //GenLinkLabelTraceImpl
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenLinkTraceImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenLinkTraceImpl.java new file mode 100644 index 000000000..73b76e352 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenLinkTraceImpl.java @@ -0,0 +1,181 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.emf.ocl.query.Query; +import org.eclipse.emf.ocl.query.QueryFactory; +import org.eclipse.gmf.codegen.gmfgen.FeatureModelFacet; +import org.eclipse.gmf.codegen.gmfgen.GMFGenPackage; +import org.eclipse.gmf.codegen.gmfgen.GenLink; +import org.eclipse.gmf.codegen.gmfgen.TypeLinkModelFacet; +import org.eclipse.gmf.internal.bridge.trace.GenLinkLabelTrace; +import org.eclipse.gmf.internal.bridge.trace.GenLinkTrace; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Gen Link Trace</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.impl.GenLinkTraceImpl#getLinkLabelTraces <em>Link Label Traces</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class GenLinkTraceImpl extends MatchingTraceImpl implements GenLinkTrace { + /** + * The cached value of the '{@link #getLinkLabelTraces() <em>Link Label Traces</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLinkLabelTraces() + * @generated + * @ordered + */ + protected EList linkLabelTraces = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GenLinkTraceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return TracePackage.Literals.GEN_LINK_TRACE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList getLinkLabelTraces() { + if (linkLabelTraces == null) { + linkLabelTraces = new EObjectContainmentEList(GenLinkLabelTrace.class, this, TracePackage.GEN_LINK_TRACE__LINK_LABEL_TRACES); + } + return linkLabelTraces; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public void setContext(GenLink genLink) { + StringBuffer result = new StringBuffer(); + if (genLink.getModelFacet() instanceof FeatureModelFacet) { + EStructuralFeature feature = ((FeatureModelFacet) genLink.getModelFacet()).getMetaFeature().getEcoreFeature(); + result.append("modelFacet.oclIsKindOf(gmfgen::FeatureLinkModelFacet) and "); + result.append("(let _feature_:ecore::EStructuralFeature = modelFacet.oclAsType(gmfgen::FeatureLinkModelFacet).metaFeature.ecoreFeature in "); + result.append(getEStructuralFeatureComparison("_feature_", feature)); + result.append(")"); + } else if (genLink.getModelFacet() instanceof TypeLinkModelFacet) { + EClass eClass = ((TypeLinkModelFacet) genLink.getModelFacet()).getMetaClass().getEcoreClass(); + result.append("modelFacet.oclIsKindOf(gmfgen::TypeLinkModelFacet) and "); + result.append("(let _eClass_:ecore::EClass = modelFacet.oclAsType(gmfgen::TypeLinkModelFacet).metaClass.ecoreClass in "); + result.append(getEClassComparision("_eClass_", eClass)); + result.append(")"); + } else if (genLink.getModelFacet() == null) { + result.append("modelFacet = null"); + } else { + throw new IllegalArgumentException("Incorrect gen link passed - Feature/TypeLinkModelFacet should be used"); + } + setQueryText(result.toString()); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case TracePackage.GEN_LINK_TRACE__LINK_LABEL_TRACES: + return ((InternalEList)getLinkLabelTraces()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case TracePackage.GEN_LINK_TRACE__LINK_LABEL_TRACES: + return getLinkLabelTraces(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case TracePackage.GEN_LINK_TRACE__LINK_LABEL_TRACES: + getLinkLabelTraces().clear(); + getLinkLabelTraces().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(int featureID) { + switch (featureID) { + case TracePackage.GEN_LINK_TRACE__LINK_LABEL_TRACES: + getLinkLabelTraces().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(int featureID) { + switch (featureID) { + case TracePackage.GEN_LINK_TRACE__LINK_LABEL_TRACES: + return linkLabelTraces != null && !linkLabelTraces.isEmpty(); + } + return super.eIsSet(featureID); + } + + public Query createQuery() { + return QueryFactory.eINSTANCE.createQuery(getQueryText(), GMFGenPackage.eINSTANCE.getGenLink()); + } + +} //GenLinkTraceImpl
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenNodeLabelTraceImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenNodeLabelTraceImpl.java new file mode 100644 index 000000000..c496f2fe9 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenNodeLabelTraceImpl.java @@ -0,0 +1,58 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ocl.query.Query; +import org.eclipse.emf.ocl.query.QueryFactory; +import org.eclipse.gmf.codegen.gmfgen.GMFGenPackage; +import org.eclipse.gmf.codegen.gmfgen.GenNodeLabel; +import org.eclipse.gmf.internal.bridge.trace.GenNodeLabelTrace; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Gen Node Label Trace</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public class GenNodeLabelTraceImpl extends MatchingTraceImpl implements GenNodeLabelTrace { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GenNodeLabelTraceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return TracePackage.Literals.GEN_NODE_LABEL_TRACE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public void setContext(GenNodeLabel genNodeLabel) { + setQueryText("true"); + } + + public Query createQuery() { + return QueryFactory.eINSTANCE.createQuery(getQueryText(), GMFGenPackage.eINSTANCE.getGenNodeLabel()); + } + +} //GenNodeLabelTraceImpl
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenNodeTraceImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenNodeTraceImpl.java new file mode 100644 index 000000000..78a290295 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/GenNodeTraceImpl.java @@ -0,0 +1,217 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.emf.ocl.query.Query; +import org.eclipse.emf.ocl.query.QueryFactory; +import org.eclipse.gmf.codegen.gmfgen.GMFGenPackage; +import org.eclipse.gmf.codegen.gmfgen.GenNode; +import org.eclipse.gmf.codegen.gmfgen.TypeModelFacet; +import org.eclipse.gmf.internal.bridge.trace.GenCompartmentTrace; +import org.eclipse.gmf.internal.bridge.trace.GenNodeLabelTrace; +import org.eclipse.gmf.internal.bridge.trace.GenNodeTrace; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Gen Node Trace</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.impl.GenNodeTraceImpl#getNodeLabelTraces <em>Node Label Traces</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.impl.GenNodeTraceImpl#getCompartmentTraces <em>Compartment Traces</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class GenNodeTraceImpl extends MatchingTraceImpl implements GenNodeTrace { + /** + * The cached value of the '{@link #getNodeLabelTraces() <em>Node Label Traces</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNodeLabelTraces() + * @generated + * @ordered + */ + protected EList nodeLabelTraces = null; + + /** + * The cached value of the '{@link #getCompartmentTraces() <em>Compartment Traces</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCompartmentTraces() + * @generated + * @ordered + */ + protected EList compartmentTraces = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GenNodeTraceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return TracePackage.Literals.GEN_NODE_TRACE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList getNodeLabelTraces() { + if (nodeLabelTraces == null) { + nodeLabelTraces = new EObjectContainmentEList(GenNodeLabelTrace.class, this, TracePackage.GEN_NODE_TRACE__NODE_LABEL_TRACES); + } + return nodeLabelTraces; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList getCompartmentTraces() { + if (compartmentTraces == null) { + compartmentTraces = new EObjectContainmentEList(GenCompartmentTrace.class, this, TracePackage.GEN_NODE_TRACE__COMPARTMENT_TRACES); + } + return compartmentTraces; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public void setContext(GenNode genNode) { + StringBuffer query = new StringBuffer(); + if (genNode.getModelFacet() != null) { + TypeModelFacet modelFacet = genNode.getModelFacet(); + query.append("let _eClass_:ecore::EClass = modelFacet.metaClass.ecoreClass in "); + query.append(getEClassComparision("_eClass_", modelFacet.getMetaClass().getEcoreClass())); + if (modelFacet.getContainmentMetaFeature() != null) { + query.insert(0, "("); + query.append(") and (let _containmentMF_:ecore::EStructuralFeature = modelFacet.containmentMetaFeature.ecoreFeature in "); + query.append(getEStructuralFeatureComparison("_containmentMF_", modelFacet.getContainmentMetaFeature().getEcoreFeature())); + query.append(")"); + if (modelFacet.getContainmentMetaFeature() != modelFacet.getChildMetaFeature()) { + query.append(" and ( let _childMF_:ecore::EStructuralFeature = modelFacet.childMetaFeature.ecoreFeature in "); + query.append(getEStructuralFeatureComparison("_childMF_", modelFacet.getChildMetaFeature().getEcoreFeature())); + query.append(")"); + } + } + } else { + query.append("modelFacet = null"); + } + setQueryText(query.toString()); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case TracePackage.GEN_NODE_TRACE__NODE_LABEL_TRACES: + return ((InternalEList)getNodeLabelTraces()).basicRemove(otherEnd, msgs); + case TracePackage.GEN_NODE_TRACE__COMPARTMENT_TRACES: + return ((InternalEList)getCompartmentTraces()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case TracePackage.GEN_NODE_TRACE__NODE_LABEL_TRACES: + return getNodeLabelTraces(); + case TracePackage.GEN_NODE_TRACE__COMPARTMENT_TRACES: + return getCompartmentTraces(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case TracePackage.GEN_NODE_TRACE__NODE_LABEL_TRACES: + getNodeLabelTraces().clear(); + getNodeLabelTraces().addAll((Collection)newValue); + return; + case TracePackage.GEN_NODE_TRACE__COMPARTMENT_TRACES: + getCompartmentTraces().clear(); + getCompartmentTraces().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(int featureID) { + switch (featureID) { + case TracePackage.GEN_NODE_TRACE__NODE_LABEL_TRACES: + getNodeLabelTraces().clear(); + return; + case TracePackage.GEN_NODE_TRACE__COMPARTMENT_TRACES: + getCompartmentTraces().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(int featureID) { + switch (featureID) { + case TracePackage.GEN_NODE_TRACE__NODE_LABEL_TRACES: + return nodeLabelTraces != null && !nodeLabelTraces.isEmpty(); + case TracePackage.GEN_NODE_TRACE__COMPARTMENT_TRACES: + return compartmentTraces != null && !compartmentTraces.isEmpty(); + } + return super.eIsSet(featureID); + } + + public Query createQuery() { + return QueryFactory.eINSTANCE.createQuery(getQueryText(), GMFGenPackage.eINSTANCE.getGenTopLevelNode()); + } + +} //GenNodeTraceImpl
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/MatchingTraceImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/MatchingTraceImpl.java new file mode 100644 index 000000000..27ea1310d --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/MatchingTraceImpl.java @@ -0,0 +1,260 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ocl.query.Query; +import org.eclipse.gmf.internal.bridge.trace.MatchingTrace; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Matching Trace</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.impl.MatchingTraceImpl#getQueryText <em>Query Text</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.impl.MatchingTraceImpl#getQuery <em>Query</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public abstract class MatchingTraceImpl extends AbstractTraceImpl implements MatchingTrace { + /** + * The default value of the '{@link #getQueryText() <em>Query Text</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQueryText() + * @generated + * @ordered + */ + protected static final String QUERY_TEXT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getQueryText() <em>Query Text</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQueryText() + * @generated + * @ordered + */ + protected String queryText = QUERY_TEXT_EDEFAULT; + + /** + * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQuery() + * @generated + * @ordered + */ + protected Query query = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MatchingTraceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return TracePackage.Literals.MATCHING_TRACE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getQueryText() { + return queryText; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setQueryText(String newQueryText) { + String oldQueryText = queryText; + queryText = newQueryText; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, TracePackage.MATCHING_TRACE__QUERY_TEXT, oldQueryText, queryText)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public Query getQuery() { + if (query == null) { + query = createQuery(); + } + return query; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetQuery(Query newQuery, NotificationChain msgs) { + Query oldQuery = query; + query = newQuery; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TracePackage.MATCHING_TRACE__QUERY, oldQuery, newQuery); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public abstract Query createQuery(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public String getEClassComparision(String varName, EClass eClass) { + StringBuffer result = new StringBuffer(); + result.append(varName); + result.append(".ePackage.nsURI = '"); + result.append(eClass.getEPackage().getNsURI()); + result.append("' and "); + result.append(varName); + result.append(".name = '"); + result.append(eClass.getName()); + result.append("'"); + return result.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public String getEStructuralFeatureComparison(String varName, EStructuralFeature feature) { + StringBuffer result = new StringBuffer(); + result.append("(let _eClass_:ecore::EClass = "); + result.append(varName); + result.append(".eContainingClass in "); + result.append(getEClassComparision("_eClass_", feature.getEContainingClass())); + result.append(") and "); + result.append(varName); + result.append(".name = '"); + result.append(feature.getName()); + result.append("'"); + return result.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case TracePackage.MATCHING_TRACE__QUERY: + return basicSetQuery(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case TracePackage.MATCHING_TRACE__QUERY_TEXT: + return getQueryText(); + case TracePackage.MATCHING_TRACE__QUERY: + return getQuery(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case TracePackage.MATCHING_TRACE__QUERY_TEXT: + setQueryText((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(int featureID) { + switch (featureID) { + case TracePackage.MATCHING_TRACE__QUERY_TEXT: + setQueryText(QUERY_TEXT_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(int featureID) { + switch (featureID) { + case TracePackage.MATCHING_TRACE__QUERY_TEXT: + return QUERY_TEXT_EDEFAULT == null ? queryText != null : !QUERY_TEXT_EDEFAULT.equals(queryText); + case TracePackage.MATCHING_TRACE__QUERY: + return query != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (queryText: "); + result.append(queryText); + result.append(')'); + return result.toString(); + } + +} //MatchingTraceImpl
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/ToolGroupTraceImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/ToolGroupTraceImpl.java new file mode 100644 index 000000000..037f5a6d3 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/ToolGroupTraceImpl.java @@ -0,0 +1,60 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ocl.query.Query; +import org.eclipse.emf.ocl.query.QueryFactory; +import org.eclipse.gmf.codegen.gmfgen.GMFGenPackage; +import org.eclipse.gmf.codegen.gmfgen.ToolGroup; +import org.eclipse.gmf.internal.bridge.trace.ToolGroupTrace; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Tool Group Trace</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public class ToolGroupTraceImpl extends MatchingTraceImpl implements ToolGroupTrace { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ToolGroupTraceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return TracePackage.Literals.TOOL_GROUP_TRACE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setContext(ToolGroup toolGroup) { + // TODO: implement this method + // Ensure that you remove @generated or mark it @generated NOT + throw new UnsupportedOperationException(); + } + + public Query createQuery() { + return QueryFactory.eINSTANCE.createQuery(getQueryText(), GMFGenPackage.eINSTANCE.getToolGroup()); + } + +} //ToolGroupTraceImpl
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/TraceFactoryImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/TraceFactoryImpl.java new file mode 100644 index 000000000..5eb81498e --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/TraceFactoryImpl.java @@ -0,0 +1,183 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.impl.EFactoryImpl; +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import org.eclipse.gmf.internal.bridge.trace.*; + +import org.eclipse.gmf.internal.bridge.trace.GenChildNodeTrace; +import org.eclipse.gmf.internal.bridge.trace.GenCompartmentTrace; +import org.eclipse.gmf.internal.bridge.trace.GenLinkLabelTrace; +import org.eclipse.gmf.internal.bridge.trace.GenLinkTrace; +import org.eclipse.gmf.internal.bridge.trace.GenNodeLabelTrace; +import org.eclipse.gmf.internal.bridge.trace.GenNodeTrace; +import org.eclipse.gmf.internal.bridge.trace.ToolGroupTrace; +import org.eclipse.gmf.internal.bridge.trace.TraceFactory; +import org.eclipse.gmf.internal.bridge.trace.TraceModel; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class TraceFactoryImpl extends EFactoryImpl implements TraceFactory { + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static TraceFactory init() { + try { + TraceFactory theTraceFactory = (TraceFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/gmf/2006/Trace"); + if (theTraceFactory != null) { + return theTraceFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new TraceFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TraceFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case TracePackage.TRACE_MODEL: return createTraceModel(); + case TracePackage.GEN_NODE_TRACE: return createGenNodeTrace(); + case TracePackage.GEN_CHILD_NODE_TRACE: return createGenChildNodeTrace(); + case TracePackage.GEN_NODE_LABEL_TRACE: return createGenNodeLabelTrace(); + case TracePackage.GEN_LINK_TRACE: return createGenLinkTrace(); + case TracePackage.GEN_COMPARTMENT_TRACE: return createGenCompartmentTrace(); + case TracePackage.GEN_LINK_LABEL_TRACE: return createGenLinkLabelTrace(); + case TracePackage.TOOL_GROUP_TRACE: return createToolGroupTrace(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TraceModel createTraceModel() { + TraceModelImpl traceModel = new TraceModelImpl(); + return traceModel; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GenNodeTrace createGenNodeTrace() { + GenNodeTraceImpl genNodeTrace = new GenNodeTraceImpl(); + return genNodeTrace; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GenChildNodeTrace createGenChildNodeTrace() { + GenChildNodeTraceImpl genChildNodeTrace = new GenChildNodeTraceImpl(); + return genChildNodeTrace; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GenNodeLabelTrace createGenNodeLabelTrace() { + GenNodeLabelTraceImpl genNodeLabelTrace = new GenNodeLabelTraceImpl(); + return genNodeLabelTrace; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GenLinkTrace createGenLinkTrace() { + GenLinkTraceImpl genLinkTrace = new GenLinkTraceImpl(); + return genLinkTrace; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GenCompartmentTrace createGenCompartmentTrace() { + GenCompartmentTraceImpl genCompartmentTrace = new GenCompartmentTraceImpl(); + return genCompartmentTrace; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GenLinkLabelTrace createGenLinkLabelTrace() { + GenLinkLabelTraceImpl genLinkLabelTrace = new GenLinkLabelTraceImpl(); + return genLinkLabelTrace; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ToolGroupTrace createToolGroupTrace() { + ToolGroupTraceImpl toolGroupTrace = new ToolGroupTraceImpl(); + return toolGroupTrace; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TracePackage getTracePackage() { + return (TracePackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + public static TracePackage getPackage() { + return TracePackage.eINSTANCE; + } + +} //TraceFactoryImpl diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/TraceModelImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/TraceModelImpl.java new file mode 100644 index 000000000..7a51b960b --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/TraceModelImpl.java @@ -0,0 +1,366 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.BasicEList; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.EObjectImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.gmf.internal.bridge.trace.AbstractTrace; +import org.eclipse.gmf.internal.bridge.trace.GenChildNodeTrace; +import org.eclipse.gmf.internal.bridge.trace.GenLinkTrace; +import org.eclipse.gmf.internal.bridge.trace.GenNodeTrace; +import org.eclipse.gmf.internal.bridge.trace.GmfTracePlugin; +import org.eclipse.gmf.internal.bridge.trace.ToolGroupTrace; +import org.eclipse.gmf.internal.bridge.trace.TraceModel; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Model</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.impl.TraceModelImpl#getNodeTraces <em>Node Traces</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.impl.TraceModelImpl#getChildNodeTraces <em>Child Node Traces</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.impl.TraceModelImpl#getLinkTraces <em>Link Traces</em>}</li> + * <li>{@link org.eclipse.gmf.internal.bridge.trace.impl.TraceModelImpl#getToolGroupTraces <em>Tool Group Traces</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class TraceModelImpl extends EObjectImpl implements TraceModel { + /** + * The cached value of the '{@link #getNodeTraces() <em>Node Traces</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNodeTraces() + * @generated + * @ordered + */ + protected EList nodeTraces = null; + + /** + * The cached value of the '{@link #getChildNodeTraces() <em>Child Node Traces</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getChildNodeTraces() + * @generated + * @ordered + */ + protected EList childNodeTraces = null; + + /** + * The cached value of the '{@link #getLinkTraces() <em>Link Traces</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLinkTraces() + * @generated + * @ordered + */ + protected EList linkTraces = null; + + /** + * The cached value of the '{@link #getToolGroupTraces() <em>Tool Group Traces</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getToolGroupTraces() + * @generated + * @ordered + */ + protected EList toolGroupTraces = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TraceModelImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return TracePackage.Literals.TRACE_MODEL; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList getNodeTraces() { + if (nodeTraces == null) { + nodeTraces = new EObjectContainmentEList(GenNodeTrace.class, this, TracePackage.TRACE_MODEL__NODE_TRACES); + } + return nodeTraces; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList getChildNodeTraces() { + if (childNodeTraces == null) { + childNodeTraces = new EObjectContainmentEList(GenChildNodeTrace.class, this, TracePackage.TRACE_MODEL__CHILD_NODE_TRACES); + } + return childNodeTraces; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList getLinkTraces() { + if (linkTraces == null) { + linkTraces = new EObjectContainmentEList(GenLinkTrace.class, this, TracePackage.TRACE_MODEL__LINK_TRACES); + } + return linkTraces; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList getToolGroupTraces() { + if (toolGroupTraces == null) { + toolGroupTraces = new EObjectContainmentEList(ToolGroupTrace.class, this, TracePackage.TRACE_MODEL__TOOL_GROUP_TRACES); + } + return toolGroupTraces; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public GenNodeTrace getNodeTrace(int visualID) { + for (Iterator it = getNodeTraces().iterator(); it.hasNext();) { + GenNodeTrace nextTrace = (GenNodeTrace) it.next(); + if (nextTrace.getVisualID() == visualID) { + return nextTrace; + } + } + for (Iterator it = getChildNodeTraces().iterator(); it.hasNext();) { + GenChildNodeTrace nextTrace = (GenChildNodeTrace) it.next(); + if (nextTrace.getVisualID() == visualID) { + return nextTrace; + } + } + + throw new IllegalArgumentException("Node trace with id = " + visualID + " was not found"); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public GenLinkTrace getLinkTrace(int visualID) { + for (Iterator it = getLinkTraces().iterator(); it.hasNext();) { + GenLinkTrace nextTrace = (GenLinkTrace) it.next(); + if (nextTrace.getVisualID() == visualID) { + return nextTrace; + } + } + throw new IllegalArgumentException("Link trace with id = " + visualID + " was not found"); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public EList getAllAbstractTraces() { + Collection result = new ArrayList(); + result.addAll(getNodeTraces()); + addNodeChildTraces(result, getNodeTraces()); + + result.addAll(getChildNodeTraces()); + addNodeChildTraces(result, getChildNodeTraces()); + + result.addAll(getLinkTraces()); + for (Iterator it = getLinkTraces().iterator(); it.hasNext();) { + GenLinkTrace trace = (GenLinkTrace) it.next(); + result.addAll(trace.getLinkLabelTraces()); + } + + result.addAll(getToolGroupTraces()); + return new BasicEList.UnmodifiableEList(result.size(), result.toArray()); + } + + private void addNodeChildTraces(Collection collection, Collection nodeTraces) { + for (Iterator it = nodeTraces.iterator(); it.hasNext();) { + GenNodeTrace trace = (GenNodeTrace) it.next(); + collection.addAll(trace.getCompartmentTraces()); + collection.addAll(trace.getNodeLabelTraces()); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public void purgeUnprocessedTraces() { + for (Iterator it = getAllAbstractTraces().iterator(); it.hasNext();) { + AbstractTrace trace = (AbstractTrace) it.next(); + if (trace.isProcessed()) { + continue; + } + GmfTracePlugin.getInstance().logDebugInfo("Removing unused trace with visual ID = " + trace.getVisualID()); + switch (trace.eClass().getClassifierID()) { + case TracePackage.GEN_NODE_TRACE: + getNodeTraces().remove(trace); + break; + case TracePackage.GEN_CHILD_NODE_TRACE: + getChildNodeTraces().remove(trace); + break; + case TracePackage.GEN_LINK_TRACE: + getLinkTraces().remove(trace); + break; + case TracePackage.TOOL_GROUP_TRACE: + getToolGroupTraces().remove(trace); + break; + case TracePackage.GEN_NODE_LABEL_TRACE: + ((GenNodeTrace) trace.eContainer()).getNodeLabelTraces().remove(trace); + break; + case TracePackage.GEN_COMPARTMENT_TRACE: + ((GenNodeTrace) trace.eContainer()).getCompartmentTraces().remove(trace); + break; + case TracePackage.GEN_LINK_LABEL_TRACE: + ((GenLinkTrace) trace.eContainer()).getLinkLabelTraces().remove(trace); + break; + } + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case TracePackage.TRACE_MODEL__NODE_TRACES: + return ((InternalEList)getNodeTraces()).basicRemove(otherEnd, msgs); + case TracePackage.TRACE_MODEL__CHILD_NODE_TRACES: + return ((InternalEList)getChildNodeTraces()).basicRemove(otherEnd, msgs); + case TracePackage.TRACE_MODEL__LINK_TRACES: + return ((InternalEList)getLinkTraces()).basicRemove(otherEnd, msgs); + case TracePackage.TRACE_MODEL__TOOL_GROUP_TRACES: + return ((InternalEList)getToolGroupTraces()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case TracePackage.TRACE_MODEL__NODE_TRACES: + return getNodeTraces(); + case TracePackage.TRACE_MODEL__CHILD_NODE_TRACES: + return getChildNodeTraces(); + case TracePackage.TRACE_MODEL__LINK_TRACES: + return getLinkTraces(); + case TracePackage.TRACE_MODEL__TOOL_GROUP_TRACES: + return getToolGroupTraces(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case TracePackage.TRACE_MODEL__NODE_TRACES: + getNodeTraces().clear(); + getNodeTraces().addAll((Collection)newValue); + return; + case TracePackage.TRACE_MODEL__CHILD_NODE_TRACES: + getChildNodeTraces().clear(); + getChildNodeTraces().addAll((Collection)newValue); + return; + case TracePackage.TRACE_MODEL__LINK_TRACES: + getLinkTraces().clear(); + getLinkTraces().addAll((Collection)newValue); + return; + case TracePackage.TRACE_MODEL__TOOL_GROUP_TRACES: + getToolGroupTraces().clear(); + getToolGroupTraces().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(int featureID) { + switch (featureID) { + case TracePackage.TRACE_MODEL__NODE_TRACES: + getNodeTraces().clear(); + return; + case TracePackage.TRACE_MODEL__CHILD_NODE_TRACES: + getChildNodeTraces().clear(); + return; + case TracePackage.TRACE_MODEL__LINK_TRACES: + getLinkTraces().clear(); + return; + case TracePackage.TRACE_MODEL__TOOL_GROUP_TRACES: + getToolGroupTraces().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(int featureID) { + switch (featureID) { + case TracePackage.TRACE_MODEL__NODE_TRACES: + return nodeTraces != null && !nodeTraces.isEmpty(); + case TracePackage.TRACE_MODEL__CHILD_NODE_TRACES: + return childNodeTraces != null && !childNodeTraces.isEmpty(); + case TracePackage.TRACE_MODEL__LINK_TRACES: + return linkTraces != null && !linkTraces.isEmpty(); + case TracePackage.TRACE_MODEL__TOOL_GROUP_TRACES: + return toolGroupTraces != null && !toolGroupTraces.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //TraceModelImpl
\ No newline at end of file diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/TracePackageImpl.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/TracePackageImpl.java new file mode 100644 index 000000000..ff7732f28 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/impl/TracePackageImpl.java @@ -0,0 +1,551 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.impl; + +import org.eclipse.emf.codegen.ecore.genmodel.GenModelPackage; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EOperation; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecore.impl.EPackageImpl; +import org.eclipse.emf.ocl.expressions.ExpressionsPackage; +import org.eclipse.emf.ocl.query.QueryPackage; +import org.eclipse.emf.ocl.types.TypesPackage; +import org.eclipse.emf.ocl.uml.UMLPackage; +import org.eclipse.emf.ocl.utilities.UtilitiesPackage; +import org.eclipse.gmf.codegen.gmfgen.GMFGenPackage; +import org.eclipse.gmf.internal.bridge.trace.AbstractTrace; +import org.eclipse.gmf.internal.bridge.trace.GenChildNodeTrace; +import org.eclipse.gmf.internal.bridge.trace.GenCompartmentTrace; +import org.eclipse.gmf.internal.bridge.trace.GenLinkLabelTrace; +import org.eclipse.gmf.internal.bridge.trace.GenLinkTrace; +import org.eclipse.gmf.internal.bridge.trace.GenNodeLabelTrace; +import org.eclipse.gmf.internal.bridge.trace.GenNodeTrace; +import org.eclipse.gmf.internal.bridge.trace.MatchingTrace; +import org.eclipse.gmf.internal.bridge.trace.ToolGroupTrace; +import org.eclipse.gmf.internal.bridge.trace.TraceFactory; +import org.eclipse.gmf.internal.bridge.trace.TraceModel; +import org.eclipse.gmf.internal.bridge.trace.TracePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class TracePackageImpl extends EPackageImpl implements TracePackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass traceModelEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractTraceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass matchingTraceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass genNodeTraceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass genChildNodeTraceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass genNodeLabelTraceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass genLinkTraceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass genCompartmentTraceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass genLinkLabelTraceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass toolGroupTraceEClass = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#eNS_URI + * @see #init() + * @generated + */ + private TracePackageImpl() { + super(eNS_URI, TraceFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this + * model, and for any others upon which it depends. Simple + * dependencies are satisfied by calling this method on all + * dependent packages before doing anything else. This method drives + * initialization for interdependent packages directly, in parallel + * with this package, itself. + * <p>Of this package and its interdependencies, all packages which + * have not yet been registered by their URI values are first created + * and registered. The packages are then initialized in two steps: + * meta-model objects for all of the packages are created before any + * are initialized, since one package's meta-model objects may refer to + * those of another. + * <p>Invocation of this method will not affect any packages that have + * already been initialized. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static TracePackage init() { + if (isInited) return (TracePackage)EPackage.Registry.INSTANCE.getEPackage(TracePackage.eNS_URI); + + // Obtain or create and register package + TracePackageImpl theTracePackage = (TracePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof TracePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new TracePackageImpl()); + + isInited = true; + + // Initialize simple dependencies + EcorePackage.eINSTANCE.eClass(); + GenModelPackage.eINSTANCE.eClass(); + GMFGenPackage.eINSTANCE.eClass(); + TypesPackage.eINSTANCE.eClass(); + ExpressionsPackage.eINSTANCE.eClass(); + UMLPackage.eINSTANCE.eClass(); + UtilitiesPackage.eINSTANCE.eClass(); + QueryPackage.eINSTANCE.eClass(); + + // Create package meta-data objects + theTracePackage.createPackageContents(); + + // Initialize created meta-data + theTracePackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theTracePackage.freeze(); + + return theTracePackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getTraceModel() { + return traceModelEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTraceModel_NodeTraces() { + return (EReference)traceModelEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTraceModel_ChildNodeTraces() { + return (EReference)traceModelEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTraceModel_LinkTraces() { + return (EReference)traceModelEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTraceModel_ToolGroupTraces() { + return (EReference)traceModelEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getAbstractTrace() { + return abstractTraceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAbstractTrace_VisualID() { + return (EAttribute)abstractTraceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAbstractTrace_Processed() { + return (EAttribute)abstractTraceEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getMatchingTrace() { + return matchingTraceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getMatchingTrace_QueryText() { + return (EAttribute)matchingTraceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getMatchingTrace_Query() { + return (EReference)matchingTraceEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGenNodeTrace() { + return genNodeTraceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGenNodeTrace_NodeLabelTraces() { + return (EReference)genNodeTraceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGenNodeTrace_CompartmentTraces() { + return (EReference)genNodeTraceEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGenChildNodeTrace() { + return genChildNodeTraceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGenNodeLabelTrace() { + return genNodeLabelTraceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGenLinkTrace() { + return genLinkTraceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGenLinkTrace_LinkLabelTraces() { + return (EReference)genLinkTraceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGenCompartmentTrace() { + return genCompartmentTraceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGenLinkLabelTrace() { + return genLinkLabelTraceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getToolGroupTrace() { + return toolGroupTraceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TraceFactory getTraceFactory() { + return (TraceFactory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + traceModelEClass = createEClass(TRACE_MODEL); + createEReference(traceModelEClass, TRACE_MODEL__NODE_TRACES); + createEReference(traceModelEClass, TRACE_MODEL__CHILD_NODE_TRACES); + createEReference(traceModelEClass, TRACE_MODEL__LINK_TRACES); + createEReference(traceModelEClass, TRACE_MODEL__TOOL_GROUP_TRACES); + + abstractTraceEClass = createEClass(ABSTRACT_TRACE); + createEAttribute(abstractTraceEClass, ABSTRACT_TRACE__VISUAL_ID); + createEAttribute(abstractTraceEClass, ABSTRACT_TRACE__PROCESSED); + + matchingTraceEClass = createEClass(MATCHING_TRACE); + createEAttribute(matchingTraceEClass, MATCHING_TRACE__QUERY_TEXT); + createEReference(matchingTraceEClass, MATCHING_TRACE__QUERY); + + genNodeTraceEClass = createEClass(GEN_NODE_TRACE); + createEReference(genNodeTraceEClass, GEN_NODE_TRACE__NODE_LABEL_TRACES); + createEReference(genNodeTraceEClass, GEN_NODE_TRACE__COMPARTMENT_TRACES); + + genChildNodeTraceEClass = createEClass(GEN_CHILD_NODE_TRACE); + + genNodeLabelTraceEClass = createEClass(GEN_NODE_LABEL_TRACE); + + genLinkTraceEClass = createEClass(GEN_LINK_TRACE); + createEReference(genLinkTraceEClass, GEN_LINK_TRACE__LINK_LABEL_TRACES); + + genCompartmentTraceEClass = createEClass(GEN_COMPARTMENT_TRACE); + + genLinkLabelTraceEClass = createEClass(GEN_LINK_LABEL_TRACE); + + toolGroupTraceEClass = createEClass(TOOL_GROUP_TRACE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + QueryPackage theQueryPackage = (QueryPackage)EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI); + GMFGenPackage theGMFGenPackage = (GMFGenPackage)EPackage.Registry.INSTANCE.getEPackage(GMFGenPackage.eNS_URI); + + // Add supertypes to classes + matchingTraceEClass.getESuperTypes().add(this.getAbstractTrace()); + genNodeTraceEClass.getESuperTypes().add(this.getMatchingTrace()); + genChildNodeTraceEClass.getESuperTypes().add(this.getGenNodeTrace()); + genNodeLabelTraceEClass.getESuperTypes().add(this.getMatchingTrace()); + genLinkTraceEClass.getESuperTypes().add(this.getMatchingTrace()); + genCompartmentTraceEClass.getESuperTypes().add(this.getMatchingTrace()); + genLinkLabelTraceEClass.getESuperTypes().add(this.getMatchingTrace()); + toolGroupTraceEClass.getESuperTypes().add(this.getMatchingTrace()); + + // Initialize classes and features; add operations and parameters + initEClass(traceModelEClass, TraceModel.class, "TraceModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getTraceModel_NodeTraces(), this.getGenNodeTrace(), null, "nodeTraces", null, 0, -1, TraceModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getTraceModel_ChildNodeTraces(), this.getGenChildNodeTrace(), null, "childNodeTraces", null, 0, -1, TraceModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getTraceModel_LinkTraces(), this.getGenLinkTrace(), null, "linkTraces", null, 0, -1, TraceModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getTraceModel_ToolGroupTraces(), this.getToolGroupTrace(), null, "toolGroupTraces", null, 0, -1, TraceModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + EOperation op = addEOperation(traceModelEClass, this.getGenNodeTrace(), "getNodeTrace", 0, 1); + addEParameter(op, ecorePackage.getEInt(), "visualID", 0, 1); + + op = addEOperation(traceModelEClass, this.getGenLinkTrace(), "getLinkTrace", 0, 1); + addEParameter(op, ecorePackage.getEInt(), "visualID", 0, 1); + + addEOperation(traceModelEClass, this.getAbstractTrace(), "getAllAbstractTraces", 0, -1); + + addEOperation(traceModelEClass, null, "purgeUnprocessedTraces"); + + initEClass(abstractTraceEClass, AbstractTrace.class, "AbstractTrace", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getAbstractTrace_VisualID(), ecorePackage.getEInt(), "visualID", null, 0, 1, AbstractTrace.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAbstractTrace_Processed(), ecorePackage.getEBoolean(), "processed", "false", 0, 1, AbstractTrace.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(matchingTraceEClass, MatchingTrace.class, "MatchingTrace", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getMatchingTrace_QueryText(), ecorePackage.getEString(), "queryText", null, 0, 1, MatchingTrace.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + initEReference(getMatchingTrace_Query(), theQueryPackage.getQuery(), null, "query", null, 0, 1, MatchingTrace.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + + addEOperation(matchingTraceEClass, theQueryPackage.getQuery(), "createQuery", 0, 1); + + op = addEOperation(matchingTraceEClass, ecorePackage.getEString(), "getEClassComparision", 0, 1); + addEParameter(op, ecorePackage.getEString(), "varName", 0, 1); + addEParameter(op, ecorePackage.getEClass(), "eClass", 0, 1); + + op = addEOperation(matchingTraceEClass, ecorePackage.getEString(), "getEStructuralFeatureComparison", 0, 1); + addEParameter(op, ecorePackage.getEString(), "varName", 0, 1); + addEParameter(op, ecorePackage.getEStructuralFeature(), "feature", 0, 1); + + initEClass(genNodeTraceEClass, GenNodeTrace.class, "GenNodeTrace", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getGenNodeTrace_NodeLabelTraces(), this.getGenNodeLabelTrace(), null, "nodeLabelTraces", null, 0, -1, GenNodeTrace.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getGenNodeTrace_CompartmentTraces(), this.getGenCompartmentTrace(), null, "compartmentTraces", null, 0, -1, GenNodeTrace.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + op = addEOperation(genNodeTraceEClass, null, "setContext"); + addEParameter(op, theGMFGenPackage.getGenNode(), "genNode", 0, 1); + + initEClass(genChildNodeTraceEClass, GenChildNodeTrace.class, "GenChildNodeTrace", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(genNodeLabelTraceEClass, GenNodeLabelTrace.class, "GenNodeLabelTrace", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + op = addEOperation(genNodeLabelTraceEClass, null, "setContext"); + addEParameter(op, theGMFGenPackage.getGenNodeLabel(), "genNodeLabel", 0, 1); + + initEClass(genLinkTraceEClass, GenLinkTrace.class, "GenLinkTrace", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getGenLinkTrace_LinkLabelTraces(), this.getGenLinkLabelTrace(), null, "linkLabelTraces", null, 0, -1, GenLinkTrace.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + op = addEOperation(genLinkTraceEClass, null, "setContext"); + addEParameter(op, theGMFGenPackage.getGenLink(), "genLink", 0, 1); + + initEClass(genCompartmentTraceEClass, GenCompartmentTrace.class, "GenCompartmentTrace", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + op = addEOperation(genCompartmentTraceEClass, null, "setContext"); + addEParameter(op, theGMFGenPackage.getGenCompartment(), "genCompartment", 0, 1); + + initEClass(genLinkLabelTraceEClass, GenLinkLabelTrace.class, "GenLinkLabelTrace", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + op = addEOperation(genLinkLabelTraceEClass, null, "setContext"); + addEParameter(op, theGMFGenPackage.getGenLinkLabel(), "genLinkLabel", 0, 1); + + initEClass(toolGroupTraceEClass, ToolGroupTrace.class, "ToolGroupTrace", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + op = addEOperation(toolGroupTraceEClass, null, "setContext"); + addEParameter(op, theGMFGenPackage.getToolGroup(), "toolGroup", 0, 1); + + // Create resource + createResource(eNS_URI); + } + +} //TracePackageImpl diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/util/TraceAdapterFactory.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/util/TraceAdapterFactory.java new file mode 100644 index 000000000..068c2e7a9 --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/util/TraceAdapterFactory.java @@ -0,0 +1,273 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.gmf.internal.bridge.trace.*; + +/** + * <!-- begin-user-doc --> + * The <b>Adapter Factory</b> for the model. + * It provides an adapter <code>createXXX</code> method for each class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage + * @generated + */ +public class TraceAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static TracePackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TraceAdapterFactory() { + if (modelPackage == null) { + modelPackage = TracePackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * <!-- begin-user-doc --> + * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. + * <!-- end-user-doc --> + * @return whether this factory is applicable for the type of the object. + * @generated + */ + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch the delegates to the <code>createXXX</code> methods. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TraceSwitch modelSwitch = + new TraceSwitch() { + public Object caseTraceModel(TraceModel object) { + return createTraceModelAdapter(); + } + public Object caseAbstractTrace(AbstractTrace object) { + return createAbstractTraceAdapter(); + } + public Object caseMatchingTrace(MatchingTrace object) { + return createMatchingTraceAdapter(); + } + public Object caseGenNodeTrace(GenNodeTrace object) { + return createGenNodeTraceAdapter(); + } + public Object caseGenChildNodeTrace(GenChildNodeTrace object) { + return createGenChildNodeTraceAdapter(); + } + public Object caseGenNodeLabelTrace(GenNodeLabelTrace object) { + return createGenNodeLabelTraceAdapter(); + } + public Object caseGenLinkTrace(GenLinkTrace object) { + return createGenLinkTraceAdapter(); + } + public Object caseGenCompartmentTrace(GenCompartmentTrace object) { + return createGenCompartmentTraceAdapter(); + } + public Object caseGenLinkLabelTrace(GenLinkLabelTrace object) { + return createGenLinkLabelTraceAdapter(); + } + public Object caseToolGroupTrace(ToolGroupTrace object) { + return createToolGroupTraceAdapter(); + } + public Object defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the <code>target</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param target the object to adapt. + * @return the adapter for the <code>target</code>. + * @generated + */ + public Adapter createAdapter(Notifier target) { + return (Adapter)modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.gmf.internal.bridge.trace.TraceModel <em>Model</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.gmf.internal.bridge.trace.TraceModel + * @generated + */ + public Adapter createTraceModelAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.gmf.internal.bridge.trace.AbstractTrace <em>Abstract Trace</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.gmf.internal.bridge.trace.AbstractTrace + * @generated + */ + public Adapter createAbstractTraceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.gmf.internal.bridge.trace.MatchingTrace <em>Matching Trace</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.gmf.internal.bridge.trace.MatchingTrace + * @generated + */ + public Adapter createMatchingTraceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.gmf.internal.bridge.trace.GenNodeTrace <em>Gen Node Trace</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.gmf.internal.bridge.trace.GenNodeTrace + * @generated + */ + public Adapter createGenNodeTraceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.gmf.internal.bridge.trace.GenChildNodeTrace <em>Gen Child Node Trace</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.gmf.internal.bridge.trace.GenChildNodeTrace + * @generated + */ + public Adapter createGenChildNodeTraceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.gmf.internal.bridge.trace.GenNodeLabelTrace <em>Gen Node Label Trace</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.gmf.internal.bridge.trace.GenNodeLabelTrace + * @generated + */ + public Adapter createGenNodeLabelTraceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.gmf.internal.bridge.trace.GenLinkTrace <em>Gen Link Trace</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.gmf.internal.bridge.trace.GenLinkTrace + * @generated + */ + public Adapter createGenLinkTraceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.gmf.internal.bridge.trace.GenCompartmentTrace <em>Gen Compartment Trace</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.gmf.internal.bridge.trace.GenCompartmentTrace + * @generated + */ + public Adapter createGenCompartmentTraceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.gmf.internal.bridge.trace.GenLinkLabelTrace <em>Gen Link Label Trace</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.gmf.internal.bridge.trace.GenLinkLabelTrace + * @generated + */ + public Adapter createGenLinkLabelTraceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.gmf.internal.bridge.trace.ToolGroupTrace <em>Tool Group Trace</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.gmf.internal.bridge.trace.ToolGroupTrace + * @generated + */ + public Adapter createToolGroupTraceAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * <!-- begin-user-doc --> + * This default implementation returns null. + * <!-- end-user-doc --> + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //TraceAdapterFactory diff --git a/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/util/TraceSwitch.java b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/util/TraceSwitch.java new file mode 100644 index 000000000..c6214c36d --- /dev/null +++ b/plugins/org.eclipse.gmf.bridge.trace/src/org/eclipse/gmf/internal/bridge/trace/util/TraceSwitch.java @@ -0,0 +1,335 @@ +/** + * <copyright> + * </copyright> + * + * $Id$ + */ +package org.eclipse.gmf.internal.bridge.trace.util; + +import java.util.List; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.gmf.internal.bridge.trace.*; + +/** + * <!-- begin-user-doc --> + * The <b>Switch</b> for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the <code>caseXXX</code> method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * <!-- end-user-doc --> + * @see org.eclipse.gmf.internal.bridge.trace.TracePackage + * @generated + */ +public class TraceSwitch { + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static TracePackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TraceSwitch() { + if (modelPackage == null) { + modelPackage = TracePackage.eINSTANCE; + } + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + public Object doSwitch(EObject theEObject) { + return doSwitch(theEObject.eClass(), theEObject); + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + protected Object doSwitch(EClass theEClass, EObject theEObject) { + if (theEClass.eContainer() == modelPackage) { + return doSwitch(theEClass.getClassifierID(), theEObject); + } + else { + List eSuperTypes = theEClass.getESuperTypes(); + return + eSuperTypes.isEmpty() ? + defaultCase(theEObject) : + doSwitch((EClass)eSuperTypes.get(0), theEObject); + } + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + protected Object doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case TracePackage.TRACE_MODEL: { + TraceModel traceModel = (TraceModel)theEObject; + Object result = caseTraceModel(traceModel); + if (result == null) result = defaultCase(theEObject); + return result; + } + case TracePackage.ABSTRACT_TRACE: { + AbstractTrace abstractTrace = (AbstractTrace)theEObject; + Object result = caseAbstractTrace(abstractTrace); + if (result == null) result = defaultCase(theEObject); + return result; + } + case TracePackage.MATCHING_TRACE: { + MatchingTrace matchingTrace = (MatchingTrace)theEObject; + Object result = caseMatchingTrace(matchingTrace); + if (result == null) result = caseAbstractTrace(matchingTrace); + if (result == null) result = defaultCase(theEObject); + return result; + } + case TracePackage.GEN_NODE_TRACE: { + GenNodeTrace genNodeTrace = (GenNodeTrace)theEObject; + Object result = caseGenNodeTrace(genNodeTrace); + if (result == null) result = caseMatchingTrace(genNodeTrace); + if (result == null) result = caseAbstractTrace(genNodeTrace); + if (result == null) result = defaultCase(theEObject); + return result; + } + case TracePackage.GEN_CHILD_NODE_TRACE: { + GenChildNodeTrace genChildNodeTrace = (GenChildNodeTrace)theEObject; + Object result = caseGenChildNodeTrace(genChildNodeTrace); + if (result == null) result = caseGenNodeTrace(genChildNodeTrace); + if (result == null) result = caseMatchingTrace(genChildNodeTrace); + if (result == null) result = caseAbstractTrace(genChildNodeTrace); + if (result == null) result = defaultCase(theEObject); + return result; + } + case TracePackage.GEN_NODE_LABEL_TRACE: { + GenNodeLabelTrace genNodeLabelTrace = (GenNodeLabelTrace)theEObject; + Object result = caseGenNodeLabelTrace(genNodeLabelTrace); + if (result == null) result = caseMatchingTrace(genNodeLabelTrace); + if (result == null) result = caseAbstractTrace(genNodeLabelTrace); + if (result == null) result = defaultCase(theEObject); + return result; + } + case TracePackage.GEN_LINK_TRACE: { + GenLinkTrace genLinkTrace = (GenLinkTrace)theEObject; + Object result = caseGenLinkTrace(genLinkTrace); + if (result == null) result = caseMatchingTrace(genLinkTrace); + if (result == null) result = caseAbstractTrace(genLinkTrace); + if (result == null) result = defaultCase(theEObject); + return result; + } + case TracePackage.GEN_COMPARTMENT_TRACE: { + GenCompartmentTrace genCompartmentTrace = (GenCompartmentTrace)theEObject; + Object result = caseGenCompartmentTrace(genCompartmentTrace); + if (result == null) result = caseMatchingTrace(genCompartmentTrace); + if (result == null) result = caseAbstractTrace(genCompartmentTrace); + if (result == null) result = defaultCase(theEObject); + return result; + } + case TracePackage.GEN_LINK_LABEL_TRACE: { + GenLinkLabelTrace genLinkLabelTrace = (GenLinkLabelTrace)theEObject; + Object result = caseGenLinkLabelTrace(genLinkLabelTrace); + if (result == null) result = caseMatchingTrace(genLinkLabelTrace); + if (result == null) result = caseAbstractTrace(genLinkLabelTrace); + if (result == null) result = defaultCase(theEObject); + return result; + } + case TracePackage.TOOL_GROUP_TRACE: { + ToolGroupTrace toolGroupTrace = (ToolGroupTrace)theEObject; + Object result = caseToolGroupTrace(toolGroupTrace); + if (result == null) result = caseMatchingTrace(toolGroupTrace); + if (result == null) result = caseAbstractTrace(toolGroupTrace); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Model</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Model</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseTraceModel(TraceModel object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Abstract Trace</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Abstract Trace</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseAbstractTrace(AbstractTrace object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Matching Trace</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Matching Trace</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseMatchingTrace(MatchingTrace object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Gen Node Trace</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Gen Node Trace</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseGenNodeTrace(GenNodeTrace object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Gen Child Node Trace</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Gen Child Node Trace</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseGenChildNodeTrace(GenChildNodeTrace object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Gen Node Label Trace</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Gen Node Label Trace</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseGenNodeLabelTrace(GenNodeLabelTrace object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Gen Link Trace</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Gen Link Trace</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseGenLinkTrace(GenLinkTrace object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Gen Compartment Trace</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Gen Compartment Trace</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseGenCompartmentTrace(GenCompartmentTrace object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Gen Link Label Trace</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Gen Link Label Trace</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseGenLinkLabelTrace(GenLinkLabelTrace object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Tool Group Trace</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Tool Group Trace</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseToolGroupTrace(ToolGroupTrace object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>EObject</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>EObject</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + public Object defaultCase(EObject object) { + return null; + } + +} //TraceSwitch |