[jboss-svn-commits] JBL Code SVN: r22332 - in labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools: src/org/guvnor/tools and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Sep 2 17:30:56 EDT 2008
Author: john.graham at jboss.org
Date: 2008-09-02 17:30:56 -0400 (Tue, 02 Sep 2008)
New Revision: 22332
Modified:
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/META-INF/MANIFEST.MF
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/ResourceChangeListener.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/PlatformUtils.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/RepositoryView.java
Log:
Fix move/delete hook for Ganymede; support multiple file drop from Repository View
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/META-INF/MANIFEST.MF 2008-09-02 20:58:29 UTC (rev 22331)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/META-INF/MANIFEST.MF 2008-09-02 21:30:56 UTC (rev 22332)
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %plugin.name
Bundle-SymbolicName: org.guvnor.tools;singleton:=true
-Bundle-Version: 0.8.0.200808291411
+Bundle-Version: 0.8.0.200809021730
Bundle-Activator: org.guvnor.tools.Activator
Bundle-Vendor: %plugin.provider
Bundle-Localization: plugin
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/ResourceChangeListener.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/ResourceChangeListener.java 2008-09-02 20:58:29 UTC (rev 22331)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/ResourceChangeListener.java 2008-09-02 21:30:56 UTC (rev 22332)
@@ -75,7 +75,7 @@
private void deleteResources(final List<IResource> resources) throws CoreException {
Display display = PlatformUI.getWorkbench().getDisplay();
- display.syncExec(new Runnable() {
+ display.asyncExec(new Runnable() {
public void run() {
IWorkspace ws = Activator.getDefault().getWorkspace();
try {
@@ -105,7 +105,7 @@
}
final GuvnorMetadataProps mdProps = GuvnorMetadataUtils.loadGuvnorMetadata(mdFile);
Display display = PlatformUI.getWorkbench().getDisplay();
- display.syncExec(new Runnable() {
+ display.asyncExec(new Runnable() {
public void run() {
try {
GuvnorMetadataUtils.setGuvnorMetadataProps(resource.getFullPath(), mdProps);
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/PlatformUtils.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/PlatformUtils.java 2008-09-02 20:58:29 UTC (rev 22331)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/PlatformUtils.java 2008-09-02 21:30:56 UTC (rev 22332)
@@ -76,8 +76,6 @@
manager.update(GuvnorDecorator.DECORATOR_ID);
}
});
-// IDecoratorManager manager = Activator.getDefault().getWorkbench().getDecoratorManager();
-// manager.update(GuvnorDecorator.DECORATOR_ID);
}
/**
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/RepositoryView.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/RepositoryView.java 2008-09-02 20:58:29 UTC (rev 22331)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/RepositoryView.java 2008-09-02 21:30:56 UTC (rev 22332)
@@ -104,10 +104,10 @@
}
private void addDragDropSupport() {
- // TODO: Support drag and drop of multiple files, directories, etc.
+ // TODO: Support drag and drop of directories
Transfer[] transfers = new Transfer[] { FileTransfer.getInstance()};
viewer.addDragSupport(DND.DROP_COPY, transfers, new DragSourceListener() {
- private TreeObject target;
+ private TreeObject[] target;
public void dragFinished(DragSourceEvent event) {
target = null;
@@ -134,46 +134,77 @@
}
public void dragStart(DragSourceEvent event) {
+ List<TreeObject> transferNodes = new ArrayList<TreeObject>();
ISelection selection = viewer.getSelection();
- Object obj = ((IStructuredSelection)selection).getFirstElement();
- if (obj instanceof TreeObject
- && ((TreeObject)obj).getNodeType() == TreeObject.Type.RESOURCE) {
- target = (TreeObject)obj;
+ Object[] objs = ((IStructuredSelection)selection).toArray();
+ for (int i = 0; i < objs.length; i++) {
+ if (objs[i] instanceof TreeObject
+ && ((TreeObject)objs[i]).getNodeType() == TreeObject.Type.RESOURCE) {
+ transferNodes.add((TreeObject)objs[i]);
+ }
+ }
+ if (transferNodes.size() > 0) {
event.doit = true;
+ target = new TreeObject[transferNodes.size()];
+ transferNodes.toArray(target);
} else {
event.doit = false;
}
}
});
+
+// viewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, transfers, new ViewerDropAdapter(viewer) {
+//
+// private TreeParent targetNode;
+//
+// @Override
+// public boolean performDrop(Object data) {
+// return false;
+// }
+//
+// @Override
+// public boolean validateDrop(Object target, int operation,
+// TransferData transferType) {
+// if (target == null
+// || !(target instanceof TreeParent)) {
+// targetNode = null;
+// return false;
+// }
+// targetNode = (TreeParent)target;
+// return true;
+// }
+//
+// });
}
- private List<String> prepareFileTransfer(TreeObject node) throws Exception {
+ private List<String> prepareFileTransfer(TreeObject[] nodes) throws Exception {
List<String> res = new ArrayList<String>();
- String contents = getResourceContents(node);
- IPath path = new Path(Activator.getDefault().getStateLocation().toOSString() +
- File.separator + new UID().toString());
- if (!path.toFile().mkdir()) {
- throw new Exception("Could not create directory " + path.toOSString()); //$NON-NLS-1$
+ for (int i = 0; i < nodes.length; i++) {
+ String contents = getResourceContents(nodes[i]);
+ IPath path = new Path(Activator.getDefault().getStateLocation().toOSString() +
+ File.separator + new UID().toString());
+ if (!path.toFile().mkdir()) {
+ throw new Exception("Could not create directory " + path.toOSString()); //$NON-NLS-1$
+ }
+ path.toFile().deleteOnExit();
+ File transfer = new File(path + File.separator + nodes[i].getName());
+ transfer.deleteOnExit();
+ FileOutputStream fos = new FileOutputStream(transfer);
+ PrintWriter writer = new PrintWriter(fos);
+ writer.write(contents);
+ writer.flush();
+ writer.close();
+ res.add(transfer.getAbsolutePath());
+
+ IPath metaPath = GuvnorMetadataUtils.
+ createGuvnorMetadataLocation(path.toOSString());
+ metaPath.toFile().deleteOnExit();
+ File metaFile = GuvnorMetadataUtils.
+ getGuvnorMetadataFile(metaPath.toOSString(), nodes[i].getName());
+ metaFile.deleteOnExit();
+ GuvnorMetadataUtils.writeGuvnorMetadataProps(metaFile, getGuvnorMetadataProps(nodes[i]));
+ res.add(metaFile.getAbsolutePath());
}
- path.toFile().deleteOnExit();
- File transfer = new File(path + File.separator + node.getName());
- transfer.deleteOnExit();
- FileOutputStream fos = new FileOutputStream(transfer);
- PrintWriter writer = new PrintWriter(fos);
- writer.write(contents);
- writer.flush();
- writer.close();
- res.add(transfer.getAbsolutePath());
-
- IPath metaPath = GuvnorMetadataUtils.
- createGuvnorMetadataLocation(path.toOSString());
- metaPath.toFile().deleteOnExit();
- File metaFile = GuvnorMetadataUtils.
- getGuvnorMetadataFile(metaPath.toOSString(), node.getName());
- metaFile.deleteOnExit();
- GuvnorMetadataUtils.writeGuvnorMetadataProps(metaFile, getGuvnorMetadataProps(node));
- res.add(metaFile.getAbsolutePath());
-
return res;
}
More information about the jboss-svn-commits
mailing list