Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Refactoring in support of bug 355025: [modeling] Project
  • Loading branch information
MilesParker committed Aug 30, 2011
1 parent e4396b3 commit 400d852
Show file tree
Hide file tree
Showing 31 changed files with 238 additions and 349 deletions.
Expand Up @@ -20,22 +20,21 @@ public Object getDomainObject(Object object) {
return null;
}
if (object instanceof IAdaptable) {
Object diagramObject = ((IAdaptable) object).getAdapter(getDomainContextBridge().getDomainBaseNodeClass());
if (diagramObject != null
&& getDomainContextBridge().getDomainBaseNodeClass().isAssignableFrom(diagramObject.getClass())) {
Object diagramObject = ((IAdaptable) object).getAdapter(getDomainBaseNodeClass());
if (diagramObject != null && getDomainBaseNodeClass().isAssignableFrom(diagramObject.getClass())) {
return getDomainObject(diagramObject);
}
}
// don't want to look at all classes unless it's relevant
if (getDomainContextBridge().getDomainBaseNodeClass().isAssignableFrom(object.getClass())) {
for (Class<?> domainClass : getDomainContextBridge().getDomainNodeClasses()) {
if (getDomainBaseNodeClass().isAssignableFrom(object.getClass())) {
for (Class<?> domainClass : getDomainNodeClasses()) {
if (domainClass.isAssignableFrom(object.getClass())) {
return object;
}
}
}
if (getDomainContextBridge().getDomainBaseEdgeClass().isAssignableFrom(object.getClass())) {
for (Class<?> domainClass : getDomainContextBridge().getDomainEdgeClasses()) {
if (getDomainBaseEdgeClass().isAssignableFrom(object.getClass())) {
for (Class<?> domainClass : getDomainEdgeClasses()) {
if (domainClass.isAssignableFrom(object.getClass())) {
return object;
}
Expand All @@ -52,8 +51,7 @@ public boolean acceptsObject(Object object) {
@Override
public String getHandleIdentifier(Object object) {
Object domainObject = getDomainObject(object);
if (domainObject != null
&& getDomainContextBridge().getDomainBaseNodeClass().isAssignableFrom(domainObject.getClass())) {
if (domainObject != null && getDomainBaseNodeClass().isAssignableFrom(domainObject.getClass())) {
return getDomainHandleIdentifier(domainObject);
}
return null;
Expand All @@ -77,7 +75,7 @@ public String getLabel(Object object) {
public boolean canBeLandmark(String handle) {
Object object = getObjectForHandle(handle);
if (object != null) {
for (Class<?> domainClass : getDomainContextBridge().getDomainNodeClasses()) {
for (Class<?> domainClass : getDomainNodeClasses()) {
if (domainClass.isAssignableFrom(object.getClass())) {
return true;
}
Expand All @@ -98,15 +96,19 @@ public String getHandleForOffsetInObject(Object resource, int offset) {
return null;
}

@Override
public String getContentType() {
return getDomainContextBridge().getContentType();
}

@Override
public String getContentType(String elementHandle) {
return getContentType();
}

public abstract IModelStructureProvider getDomainContextBridge();
@Override
public abstract String getContentType();

public abstract Class<?> getDomainBaseNodeClass();

public abstract Class<?>[] getDomainNodeClasses();

public abstract Class<?> getDomainBaseEdgeClass();

public abstract Class<?>[] getDomainEdgeClasses();
}

This file was deleted.

@@ -1,4 +1,4 @@
#Fri Aug 19 12:07:40 PDT 2011
#Mon Aug 29 14:44:24 PDT 2011
compilers.f.unresolved-features=1
compilers.f.unresolved-plugins=1
compilers.incompatible-environment=1
Expand All @@ -22,7 +22,7 @@ compilers.p.missing-version-require-bundle=2
compilers.p.no-required-att=0
compilers.p.not-externalized-att=2
compilers.p.unknown-attribute=0
compilers.p.unknown-class=2
compilers.p.unknown-class=1
compilers.p.unknown-element=0
compilers.p.unknown-identifier=1
compilers.p.unknown-resource=0
Expand Down
5 changes: 2 additions & 3 deletions org.eclipse.mylyn.modeling.ecoretools/META-INF/MANIFEST.MF
Expand Up @@ -26,11 +26,10 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.mylyn.commons.core,
org.eclipse.mylyn.monitor.ui,
org.eclipse.mylyn.modeling.core;bundle-version="0.9.0",
org.eclipse.mylyn.modeling.emf;bundle-version="0.9.0",
org.eclipse.mylyn.modeling.ui;bundle-version="0.9.0",
org.eclipse.mylyn.modeling.emf;bundle-version="0.9.0",
org.eclipse.mylyn.modeling.gmf;bundle-version="0.9.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.mylyn.modeling.ecoretools,
org.eclipse.mylyn.modeling.internal.ecoretools
Export-Package: org.eclipse.mylyn.modeling.internal.ecoretools

2 changes: 1 addition & 1 deletion org.eclipse.mylyn.modeling.ecoretools/plugin.xml
Expand Up @@ -35,7 +35,7 @@
<extension
point="org.eclipse.mylyn.context.core.bridges">
<structureBridge
class="org.eclipse.mylyn.modeling.internal.ecoretools.EcoreDiagramStructureBridge">
class="org.eclipse.mylyn.modeling.internal.ecoretools.EcoreDomainBridge">
</structureBridge>
</extension>

Expand Down

This file was deleted.

Expand Up @@ -11,18 +11,17 @@

package org.eclipse.mylyn.modeling.internal.ecoretools;

import org.eclipse.mylyn.modeling.ecoretools.EcoreDiagramDomainBridge;
import org.eclipse.mylyn.modeling.gmf.ContextDecoratorProvider;
import org.eclipse.mylyn.modeling.ui.IModelUiProvider;
import org.eclipse.mylyn.modeling.ui.DiagramUiBridge;

/**
* @author Miles Parker
*/
public class EcoreDiagramDecoratorProvider extends ContextDecoratorProvider {

@Override
public IModelUiProvider getDomainUIBridge() {
return EcoreDiagramDomainBridge.getInstance();
public DiagramUiBridge getDomainUIBridge() {
return EcoreDiagramUiBridge.getInstance();
}

}

This file was deleted.

Expand Up @@ -11,16 +11,63 @@

package org.eclipse.mylyn.modeling.internal.ecoretools;

import org.eclipse.mylyn.modeling.ecoretools.EcoreDiagramDomainBridge;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecoretools.diagram.edit.parts.EClass2EditPart;
import org.eclipse.emf.ecoretools.diagram.edit.parts.EClassEditPart;
import org.eclipse.emf.ecoretools.diagram.edit.parts.EEnum2EditPart;
import org.eclipse.emf.ecoretools.diagram.edit.parts.EEnumEditPart;
import org.eclipse.emf.ecoretools.diagram.edit.parts.EPackage2EditPart;
import org.eclipse.emf.ecoretools.diagram.edit.parts.EPackageEditPart;
import org.eclipse.emf.ecoretools.diagram.edit.parts.EReferenceEditPart;
import org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditor;
import org.eclipse.gef.EditPart;
import org.eclipse.mylyn.modeling.ui.DiagramUiBridge;
import org.eclipse.mylyn.modeling.ui.IModelUiProvider;
import org.eclipse.ui.IWorkbenchPart;

/**
* @author Miles Parker
*/
public class EcoreDiagramUiBridge extends DiagramUiBridge {

private static EcoreDiagramUiBridge INSTANCE;

@Override
public boolean acceptsPart(IWorkbenchPart part) {
return part instanceof EcoreDiagramEditor;
}

@Override
public boolean acceptsEditPart(Object domainObject, EditPart part) {
//Nodes
if (domainObject instanceof EClass) {
return part instanceof EClassEditPart || part instanceof EClass2EditPart;
}
if (domainObject instanceof EEnum) {
return part instanceof EEnumEditPart || part instanceof EEnum2EditPart;
}
//We don't want the root-most package or we'll get the whole diagram!
if (domainObject instanceof EPackage && ((EPackage) domainObject).eContainer() != null) {
return part instanceof EPackageEditPart || part instanceof EPackage2EditPart;
}
//Edges
if (domainObject instanceof EReference) {
return part instanceof EReferenceEditPart;
}
return false;
}

public static EcoreDiagramUiBridge getInstance() {
if (INSTANCE == null) {
INSTANCE = new EcoreDiagramUiBridge();
}
return INSTANCE;
}

@Override
public IModelUiProvider getDomainUIBridge() {
return EcoreDiagramDomainBridge.getInstance();
};
public String getContentType() {
return EcoreDomainBridge.ECORE_CONTENT_TYPE;
}
}
Expand Up @@ -18,11 +18,8 @@
import org.eclipse.mylyn.context.core.AbstractContextStructureBridge;
import org.eclipse.mylyn.context.core.ContextCore;
import org.eclipse.mylyn.context.ui.IContextUiStartup;
import org.eclipse.mylyn.modeling.ecoretools.EcoreDiagramDomainBridge;
import org.eclipse.mylyn.modeling.ecoretools.EcoreToolsNavigatorDomainBridge;
import org.eclipse.mylyn.modeling.emf.EmfStructureBridge;
import org.eclipse.mylyn.modeling.ui.DiagramUiEditingMonitor;
import org.eclipse.mylyn.modeling.ui.EcoreDomainBridge;
import org.eclipse.mylyn.monitor.ui.AbstractUserInteractionMonitor;
import org.eclipse.mylyn.monitor.ui.MonitorUi;
import org.eclipse.ui.plugin.AbstractUIPlugin;
Expand Down Expand Up @@ -59,9 +56,9 @@ private void lazyStart() {
// case? https://bugs.eclipse.org/bugs/show_bug.cgi?id=353439
if (structureBridge instanceof EmfStructureBridge) {
EmfStructureBridge bridge = (EmfStructureBridge) structureBridge;
diagramMonitor = new DiagramUiEditingMonitor(bridge, EcoreDiagramDomainBridge.getInstance());
diagramMonitor = new DiagramUiEditingMonitor(bridge, EcoreDiagramUiBridge.getInstance());
MonitorUi.getSelectionMonitors().add(diagramMonitor);
navigatorMonitor = new DiagramUiEditingMonitor(bridge, EcoreToolsNavigatorDomainBridge.getInstance());
navigatorMonitor = new DiagramUiEditingMonitor(bridge, EcoreToolsNavigatorUiBridge.getInstance());
MonitorUi.getSelectionMonitors().add(navigatorMonitor);
} else {
StatusHandler.log(new Status(IStatus.WARNING, ID_PLUGIN,
Expand Down

0 comments on commit 400d852

Please sign in to comment.