[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[List Home]
|
[stp-commits] r3316 - in org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java: . dnd
|
- From: genie@xxxxxxxxxxx
- Date: Tue, 15 Sep 2009 06:39:14 -0400 (EDT)
- Delivered-to: stp-commits@eclipse.org
Author: sdrapeau
Date: 2009-09-15 06:39:08 -0400 (Tue, 15 Sep 2009)
New Revision: 3316
Modified:
org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/ScaBuilderDecoratorProvider.java
org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractClassFileDD.java
org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractJavaElementDD.java
org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractJavaFileDD.java
org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileImplementationDD.java
org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileImplementationDDOnComposite.java
org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileInterfaceDD.java
org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileImplementationDD.java
org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileImplementationDDOnComposite.java
org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileInterfaceDD.java
org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/Utils.java
Log:
Refactoring + Fix for DnD from jar file.
Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/ScaBuilderDecoratorProvider.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/ScaBuilderDecoratorProvider.java 2009-09-15 10:38:07 UTC (rev 3315)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/ScaBuilderDecoratorProvider.java 2009-09-15 10:39:08 UTC (rev 3316)
@@ -519,7 +519,6 @@
* @see org.eclipse.gmf.runtime.common.ui.resources.IFileObserver
* #handleMarkerAdded(org.eclipse.core.resources.IMarker)
*/
- @SuppressWarnings( "restriction" )
public void handleMarkerAdded( IMarker marker ) {
if( marker.getAttribute( ScaCommonConstants.SCA_SIGNATURE_ATTRIBUTE, null ) != null )
handleMarkerChanged( marker );
Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractClassFileDD.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractClassFileDD.java 2009-09-15 10:38:07 UTC (rev 3315)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractClassFileDD.java 2009-09-15 10:39:08 UTC (rev 3316)
@@ -11,7 +11,6 @@
*/
package org.eclipse.stp.sca.diagram.java.dnd;
-import org.eclipse.core.resources.IResource;
import org.eclipse.stp.sca.common.java.utils.JDTUtils;
/**
@@ -20,8 +19,8 @@
public abstract class AbstractClassFileDD extends AbstractJavaElementDD {
@Override
- protected String getClassName(IResource file) {
- return JDTUtils.getClassName(file);
+ protected String getClassName(Object transfer) {
+ return JDTUtils.getClassName(transfer);
}
}
Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractJavaElementDD.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractJavaElementDD.java 2009-09-15 10:38:07 UTC (rev 3315)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractJavaElementDD.java 2009-09-15 10:39:08 UTC (rev 3316)
@@ -14,10 +14,8 @@
import java.util.Collection;
import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gef.EditPart;
import org.eclipse.gef.Request;
import org.eclipse.gef.commands.CompoundCommand;
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
@@ -26,7 +24,6 @@
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramCommandStack;
import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest;
-import org.eclipse.gmf.runtime.diagram.ui.requests.DropObjectsRequest;
import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest.ViewAndElementDescriptor;
import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
@@ -35,45 +32,34 @@
import org.eclipse.gmf.runtime.notation.Node;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.stp.sca.Component;
-import org.eclipse.stp.sca.diagram.dnd.DragDropFile;
-import org.eclipse.stp.sca.diagram.dnd.IDragDropHandler;
-import org.eclipse.swt.dnd.DropTargetEvent;
+import org.eclipse.stp.sca.diagram.dnd.AbstractFileDD;
/**
* @author Stephane Drapeau - Obeo
*/
-public abstract class AbstractJavaElementDD implements IDragDropHandler {
+public abstract class AbstractJavaElementDD extends AbstractFileDD {
public AbstractTransactionalCommand getAbstractTransactionalCommand(
IGraphicalEditPart host, GraphicalEditPart editPart, Request request) {
AbstractTransactionalCommand cmd = null;
if (editPartIsOk(editPart)) {
- IResource file = getDnDedFile(request);
- String className = getClassName(file);
+ Object transfer = getDnDedObject(request);
+ String className = null;
+ if (transfer != null) {
+ className = getClassName(transfer);
+ }
if (className != null) {
- cmd = getCommand(host, editPart, request, file, className);
+ if (typeIsOk(className, transfer)) {
+ cmd = getCommand(host, editPart, request, className);
+ }
}
}
return cmd;
}
- private IResource getDnDedFile(Request request) {
- IResource file = null;
- if (request != null
- && request instanceof DropObjectsRequest
- && ((DropObjectsRequest) request).getObjects() != null
- && !((DropObjectsRequest) request).getObjects().isEmpty()
- && ((DropObjectsRequest) request).getObjects().get(0) != null
- && ((DropObjectsRequest) request).getObjects().get(0) instanceof DragDropFile) {
- file = ((DragDropFile) ((DropObjectsRequest) request).getObjects()
- .get(0)).getResource();
- }
- return file;
- }
-
private AbstractTransactionalCommand getCommand(IGraphicalEditPart host,
final GraphicalEditPart editPart, Request request,
- final IResource file, final String className) {
+ final String className) {
AbstractTransactionalCommand cmd = new AbstractTransactionalCommand(
host.getEditingDomain(), "DnD Java element", //$NON-NLS-1$
null) {
@@ -82,9 +68,6 @@
protected CommandResult doExecuteWithResult(
IProgressMonitor monitor, IAdaptable info)
throws ExecutionException {
- if (!typeIsOk(className, file)) {
- return CommandResult.newCancelledCommandResult();
- }
IElementType type = getType(editPart);
if (type == null) {
return CommandResult.newCancelledCommandResult();
@@ -129,16 +112,8 @@
protected abstract Component postTreatment(GraphicalEditPart editPart,
View view, String className);
- protected abstract String getClassName(IResource file);
+ protected abstract String getClassName(Object transfer);
- protected abstract boolean editPartIsOk(GraphicalEditPart editPart);
+ protected abstract boolean typeIsOk(String className, Object transfer);
- protected abstract IElementType getType(GraphicalEditPart editPart);
-
- protected abstract boolean typeIsOk(String className, IResource file);
-
- public boolean isEnabled(DropTargetEvent event, EditPart part) {
- return true;
- }
-
}
Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractJavaFileDD.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractJavaFileDD.java 2009-09-15 10:38:07 UTC (rev 3315)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/AbstractJavaFileDD.java 2009-09-15 10:39:08 UTC (rev 3316)
@@ -26,8 +26,12 @@
public abstract class AbstractJavaFileDD extends AbstractJavaElementDD {
@Override
- protected String getClassName(IResource file) {
+ protected String getClassName(Object transfer) {
String result = null;
+ IResource file = null;
+ if(transfer instanceof IResource){
+ file = (IResource)transfer;
+ }
if (file == null || !file.getFileExtension().equals("java")) {//$NON-NLS-1$
return null;
} else {
Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileImplementationDD.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileImplementationDD.java 2009-09-15 10:38:07 UTC (rev 3315)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileImplementationDD.java 2009-09-15 10:39:08 UTC (rev 3316)
@@ -12,7 +12,6 @@
package org.eclipse.stp.sca.diagram.java.dnd;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
@@ -61,8 +60,13 @@
}
@Override
- protected boolean typeIsOk(String className, IResource file) {
- return Utils.getJavaType((IFile) file, className) == 0;
+ protected boolean typeIsOk(String className, Object transfer) {
+ if (transfer instanceof IFile) {
+ return Utils.getJavaType((IFile) transfer, className) == 0;
+ }else{
+ System.out.println(transfer.getClass().getName());
+ }
+ return false;
}
@Override
Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileImplementationDDOnComposite.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileImplementationDDOnComposite.java 2009-09-15 10:38:07 UTC (rev 3315)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileImplementationDDOnComposite.java 2009-09-15 10:39:08 UTC (rev 3316)
@@ -12,7 +12,6 @@
package org.eclipse.stp.sca.diagram.java.dnd;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
import org.eclipse.emf.ecore.util.FeatureMap;
import org.eclipse.emf.ecore.util.FeatureMapUtil;
import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
@@ -78,8 +77,13 @@
}
@Override
- protected boolean typeIsOk(String className, IResource file) {
- return Utils.getJavaType((IFile) file, className) == 0;
+ protected boolean typeIsOk(String className, Object transfer) {
+ if (transfer instanceof IFile) {
+ return Utils.getJavaType((IFile) transfer, className) == 0;
+ }else{
+ //FIXME It can be a java class enclosed in a jar.
+ return true;
+ }
}
@Override
Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileInterfaceDD.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileInterfaceDD.java 2009-09-15 10:38:07 UTC (rev 3315)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/ClassFileInterfaceDD.java 2009-09-15 10:39:08 UTC (rev 3316)
@@ -12,7 +12,6 @@
package org.eclipse.stp.sca.diagram.java.dnd;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
@@ -76,8 +75,11 @@
}
@Override
- protected boolean typeIsOk(String className, IResource file) {
- return Utils.getJavaType((IFile) file, className) == 1;
+ protected boolean typeIsOk(String className, Object transfer) {
+ if (transfer instanceof IFile) {
+ return Utils.getJavaType((IFile) transfer, className) == 1;
+ }
+ return false;
}
@Override
Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileImplementationDD.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileImplementationDD.java 2009-09-15 10:38:07 UTC (rev 3315)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileImplementationDD.java 2009-09-15 10:39:08 UTC (rev 3316)
@@ -13,7 +13,6 @@
package org.eclipse.stp.sca.diagram.java.dnd;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
@@ -54,8 +53,11 @@
}
@Override
- protected boolean typeIsOk(String className, IResource file) {
- return Utils.getJavaType((IFile) file, className) == 0;
+ protected boolean typeIsOk(String className, Object transfer) {
+ if (transfer instanceof IFile) {
+ return Utils.getJavaType((IFile) transfer, className) == 0;
+ }
+ return false;
}
@Override
Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileImplementationDDOnComposite.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileImplementationDDOnComposite.java 2009-09-15 10:38:07 UTC (rev 3315)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileImplementationDDOnComposite.java 2009-09-15 10:39:08 UTC (rev 3316)
@@ -13,7 +13,6 @@
package org.eclipse.stp.sca.diagram.java.dnd;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
import org.eclipse.emf.ecore.util.FeatureMap;
import org.eclipse.emf.ecore.util.FeatureMapUtil;
import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
@@ -72,8 +71,11 @@
}
@Override
- protected boolean typeIsOk(String className, IResource file) {
- return Utils.getJavaType((IFile) file, className) == 0;
+ protected boolean typeIsOk(String className, Object transfer) {
+ if (transfer instanceof IFile) {
+ return Utils.getJavaType((IFile) transfer, className) == 0;
+ }
+ return false;
}
@Override
Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileInterfaceDD.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileInterfaceDD.java 2009-09-15 10:38:07 UTC (rev 3315)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/JavaFileInterfaceDD.java 2009-09-15 10:39:08 UTC (rev 3316)
@@ -13,7 +13,6 @@
package org.eclipse.stp.sca.diagram.java.dnd;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
@@ -69,8 +68,11 @@
}
@Override
- protected boolean typeIsOk(String className, IResource file) {
- return Utils.getJavaType((IFile) file, className) == 1;
+ protected boolean typeIsOk(String className, Object transfer) {
+ if (transfer instanceof IFile) {
+ return Utils.getJavaType((IFile) transfer, className) == 1;
+ }
+ return false;
}
@Override
Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/Utils.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/Utils.java 2009-09-15 10:38:07 UTC (rev 3315)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.diagram.java/src/org/eclipse/stp/sca/diagram/java/dnd/Utils.java 2009-09-15 10:39:08 UTC (rev 3316)
@@ -39,7 +39,7 @@
* @author Stephane Drapeau - Obeo
*/
public class Utils {
-
+
static int getJavaType(IFile file, String className) {
try {
ScaClassLoader classLoader = getClassLoader(file);