[jboss-svn-commits] JBL Code SVN: r21012 - in labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools: src/org/guvnor/tools and 7 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jul 11 17:37:37 EDT 2008
Author: john.graham at jboss.org
Date: 2008-07-11 17:37:37 -0400 (Fri, 11 Jul 2008)
New Revision: 21012
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/GuvnorDecorator.java
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/actions/CommitAction.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/ShowHistoryAction.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/SwitchVersionAction.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/UpdateAction.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/properties/GuvnorWorkspaceFilePage.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/properties/RepositoryElementPropsDialog.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataProps.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataUtils.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/IWebDavClient.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavClient.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavException.java
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/ResourceHistoryView.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/model/TreeParent.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/model/TreePropertyProvider.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/wizards/AddResourceWizard.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/wizards/CheckoutWizard.java
Log:
Refactor to use Guvnor revision numbers and date/time stamps
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-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/META-INF/MANIFEST.MF 2008-07-11 21:37:37 UTC (rev 21012)
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %plugin.name
Bundle-SymbolicName: org.guvnor.tools;singleton:=true
-Bundle-Version: 0.6.0.200807101720
+Bundle-Version: 0.6.0.200807111736
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/GuvnorDecorator.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/GuvnorDecorator.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/GuvnorDecorator.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -31,7 +31,7 @@
}
GuvnorMetadataProps props = GuvnorMetadataUtils.getGuvnorMetadata(resource);
if (props.getVersion() != null) {
- decoration.addSuffix(" " + props.getVersion());
+ decoration.addSuffix(" " + props.getRevision() + ", " + props.getVersion());
}
}
} catch (Exception e) {
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-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/ResourceChangeListener.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -6,8 +6,13 @@
import org.eclipse.core.resources.IResourceChangeListener;
import org.eclipse.core.resources.IResourceDelta;
import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PlatformUI;
+import org.guvnor.tools.utils.GuvnorMetadataProps;
import org.guvnor.tools.utils.GuvnorMetadataUtils;
import org.guvnor.tools.utils.PlatformUtils;
@@ -15,9 +20,6 @@
public void resourceChanged(IResourceChangeEvent event) {
try {
- //TODO: Need to handle delete and move events as well
- // For delete, we just remove any corresponding guvnor metadata
- // Not clear what to do about moves...
event.getDelta().accept(new IResourceDeltaVisitor() {
public boolean visit(IResourceDelta delta) throws CoreException {
try {
@@ -27,18 +29,25 @@
if (delta.getKind() == IResourceDelta.CHANGED) {
handleResourceChanged(delta.getResource());
}
+ if (delta.getKind() == IResourceDelta.REMOVED) {
+ handleResourceDelete(delta.getResource());
+ }
+ if (delta.getMovedFromPath() != null) {
+ handleResourceMoved(delta.getResource(), delta.getMovedFromPath());
+ }
} catch (Exception e) {
Activator.getDefault().writeLog(IStatus.ERROR, e.getMessage(), e);
}
return true;
}
});
- } catch (CoreException e) {
+ } catch (Exception e) {
Activator.getDefault().writeLog(IStatus.ERROR, e.getMessage(), e);
}
}
private void handleResourceAdded(IResource resource) throws Exception {
+//System.out.println("Added: " + resource.getFullPath().toString());
if (GuvnorMetadataUtils.isGuvnorMetadata(resource)) {
// Look for the corresponding file
IFile target = GuvnorMetadataUtils.getGuvnorControlledResource(resource);
@@ -59,4 +68,44 @@
PlatformUtils.updateDecoration();
}
}
+
+ private void handleResourceDelete(IResource resource) throws CoreException {
+//System.out.println("Deleted: " + resource.getFullPath().toString());
+ final IFile mdFile = GuvnorMetadataUtils.findGuvnorMetadata(resource);
+ if (mdFile == null) {
+ return;
+ }
+ final IWorkspace ws = mdFile.getWorkspace();
+ Display display = PlatformUI.getWorkbench().getDisplay();
+ display.syncExec(new Runnable() {
+ public void run() {
+ try {
+ ws.delete(new IResource[] { mdFile }, true, null);
+ } catch (CoreException e) {
+ Activator.getDefault().writeLog(IStatus.ERROR, e.getMessage(), e);
+ }
+ }
+
+ });
+ }
+
+ private void handleResourceMoved(final IResource resource, IPath fromPath) throws Exception {
+//System.out.println("Moved: " + resource.getFullPath().toString() + " from " + fromPath.toString());
+//System.out.println(GuvnorMetadataUtils.isGuvnorResourceCurrent(resource));
+ IFile mdFile = GuvnorMetadataUtils.findGuvnorMetadata(fromPath);
+ if (mdFile == null) {
+ return;
+ }
+ final GuvnorMetadataProps mdProps = GuvnorMetadataUtils.loadGuvnorMetadata(mdFile);
+ Display display = PlatformUI.getWorkbench().getDisplay();
+ display.syncExec(new Runnable() {
+ public void run() {
+ try {
+ GuvnorMetadataUtils.setGuvnorMetadataProps(resource.getFullPath(), mdProps);
+ } catch (Exception e) {
+ Activator.getDefault().writeLog(IStatus.ERROR, e.getMessage(), e);
+ }
+ }
+ });
+ }
}
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/CommitAction.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/CommitAction.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/CommitAction.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -55,7 +55,6 @@
}
try {
client.putResource(props.getFullpath(), selectedFile.getContents());
- client.closeResponse();
} catch (WebDavException wde) {
if (wde.getErrorCode() != IResponse.SC_UNAUTHORIZED) {
// If not an authentication failure, we don't know what to do with it
@@ -65,14 +64,13 @@
authenticateForServer(props.getRepository(), client);
if (retry) {
client.putResource(props.getFullpath(), selectedFile.getContents());
- client.closeResponse();
}
}
GuvnorMetadataUtils.markCurrentGuvnorResource(selectedFile);
ResourceProperties resProps = client.queryProperties(props.getFullpath());
- client.closeResponse();
GuvnorMetadataProps mdProps = GuvnorMetadataUtils.getGuvnorMetadata(selectedFile);
mdProps.setVersion(resProps.getLastModifiedDate());
+ mdProps.setRevision(resProps.getRevision());
GuvnorMetadataUtils.setGuvnorMetadataProps(selectedFile.getFullPath(), mdProps);
PlatformUtils.updateDecoration();
} catch (Exception e) {
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/ShowHistoryAction.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/ShowHistoryAction.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/ShowHistoryAction.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -1,5 +1,6 @@
package org.guvnor.tools.actions;
+import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Properties;
@@ -62,6 +63,7 @@
fullPath = props.getFullpath();
}
+ IResponse response = null;
try {
IWebDavClient client = WebDavServerCache.getWebDavClient(repositoryLoc);
if (client == null) {
@@ -70,7 +72,8 @@
}
InputStream ins = null;
try {
- ins = client.getResourceVersions(fullPath);
+ response = client.getResourceVersions(fullPath);
+ ins = response.getInputStream();
} catch (WebDavException wde) {
if (wde.getErrorCode() != IResponse.SC_UNAUTHORIZED) {
// If not an authentication failure, we don't know what to do with it
@@ -79,7 +82,8 @@
boolean retry = PlatformUtils.getInstance().
authenticateForServer(repositoryLoc, client);
if (retry) {
- ins = client.getResourceVersions(fullPath);
+ response = client.getResourceVersions(fullPath);
+ ins = response.getInputStream();
}
}
if (ins != null) {
@@ -92,6 +96,14 @@
}
} catch (Exception e) {
Activator.getDefault().writeLog(IStatus.ERROR, e.getMessage(), e);
+ } finally {
+ if (response != null) {
+ try {
+ response.close();
+ } catch (IOException ioe) {
+ Activator.getDefault().writeLog(IStatus.ERROR, ioe.getMessage(), ioe);
+ }
+ }
}
}
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/SwitchVersionAction.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/SwitchVersionAction.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/SwitchVersionAction.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -1,5 +1,6 @@
package org.guvnor.tools.actions;
+import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Properties;
@@ -19,7 +20,6 @@
import org.guvnor.tools.utils.PlatformUtils;
import org.guvnor.tools.utils.VersionChooserDialog;
import org.guvnor.tools.utils.webdav.IWebDavClient;
-import org.guvnor.tools.utils.webdav.ResourceProperties;
import org.guvnor.tools.utils.webdav.WebDavClientFactory;
import org.guvnor.tools.utils.webdav.WebDavException;
import org.guvnor.tools.utils.webdav.WebDavServerCache;
@@ -62,30 +62,39 @@
selectedFile.getName(),
getVersionEntries());
if (dialog.open() == VersionChooserDialog.OK) {
- updateSelectedFile(dialog.getSelectedEntry().getRevision());
+ updateSelectedFile(dialog.getSelectedEntry());
}
}
- private void updateSelectedFile(String version) {
+ private void updateSelectedFile(ResourceHistoryEntry verInfo) {
+ IResponse response = null;
try {
- InputStream ins = client.getResourceVersionInputStream(props.getFullpath(), version);
+ response = client.getResourceVersionInputStream(props.getFullpath(), verInfo.getRevision());
+ InputStream ins = response.getInputStream();
if (ins != null) {
selectedFile.setContents(ins, true, true, null);
- client.closeResponse();
GuvnorMetadataUtils.markCurrentGuvnorResource(selectedFile);
- ResourceProperties resProps = client.queryProperties(props.getFullpath());
- client.closeResponse();
GuvnorMetadataProps mdProps = GuvnorMetadataUtils.getGuvnorMetadata(selectedFile);
- mdProps.setVersion(resProps.getLastModifiedDate());
+ mdProps.setVersion(verInfo.getDate());
+ mdProps.setRevision(verInfo.getRevision());
GuvnorMetadataUtils.setGuvnorMetadataProps(selectedFile.getFullPath(), mdProps);
PlatformUtils.updateDecoration();
}
} catch (Exception e) {
Activator.getDefault().writeLog(IStatus.ERROR, e.getMessage(), e);
+ } finally {
+ if (response != null) {
+ try {
+ response.close();
+ } catch (IOException ioe) {
+ Activator.getDefault().writeLog(IStatus.ERROR, ioe.getMessage(), ioe);
+ }
+ }
}
}
private ResourceHistoryEntry[] getVersionEntries() {
ResourceHistoryEntry[] entries = new ResourceHistoryEntry[0];
+ IResponse response = null;
try {
client = WebDavServerCache.getWebDavClient(props.getRepository());
if (client == null) {
@@ -94,7 +103,8 @@
}
InputStream ins = null;
try {
- ins = client.getResourceVersions(props.getFullpath());
+ response = client.getResourceVersions(props.getFullpath());
+ ins = response.getInputStream();
} catch (WebDavException wde) {
if (wde.getErrorCode() != IResponse.SC_UNAUTHORIZED) {
// If not an authentication failure, we don't know what to do with it
@@ -103,7 +113,8 @@
boolean retry = PlatformUtils.getInstance().
authenticateForServer(props.getRepository(), client);
if (retry) {
- ins = client.getResourceVersions(props.getFullpath());
+ response = client.getResourceVersions(props.getFullpath());
+ ins = response.getInputStream();
}
}
if (ins != null) {
@@ -113,6 +124,14 @@
}
} catch (Exception e) {
Activator.getDefault().writeLog(IStatus.ERROR, e.getMessage(), e);
+ } finally {
+ if (response != null) {
+ try {
+ response.close();
+ } catch (IOException ioe) {
+ Activator.getDefault().writeLog(IStatus.ERROR, ioe.getMessage(), ioe);
+ }
+ }
}
return entries;
}
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/UpdateAction.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/UpdateAction.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/actions/UpdateAction.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -1,5 +1,6 @@
package org.guvnor.tools.actions;
+import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
@@ -49,6 +50,7 @@
|| props == null) {
return;
}
+ IResponse response = null;
try {
IWebDavClient client = WebDavServerCache.getWebDavClient(props.getRepository());
if (client == null) {
@@ -57,7 +59,8 @@
}
InputStream ins = null;
try {
- ins = client.getResourceInputStream(props.getFullpath());
+ response = client.getResourceInputStream(props.getFullpath());
+ ins = response.getInputStream();
} catch (WebDavException wde) {
if (wde.getErrorCode() != IResponse.SC_UNAUTHORIZED) {
// If not an authentication failure, we don't know what to do with it
@@ -66,22 +69,30 @@
boolean retry = PlatformUtils.getInstance().
authenticateForServer(props.getRepository(), client);
if (retry) {
- ins = client.getResourceInputStream(props.getFullpath());
+ response = client.getResourceInputStream(props.getFullpath());
+ ins = response.getInputStream();
}
}
if (ins != null) {
selectedFile.setContents(ins, true, true, null);
- client.closeResponse();
GuvnorMetadataUtils.markCurrentGuvnorResource(selectedFile);
ResourceProperties resProps = client.queryProperties(props.getFullpath());
- client.closeResponse();
GuvnorMetadataProps mdProps = GuvnorMetadataUtils.getGuvnorMetadata(selectedFile);
mdProps.setVersion(resProps.getLastModifiedDate());
+ mdProps.setRevision(resProps.getRevision());
GuvnorMetadataUtils.setGuvnorMetadataProps(selectedFile.getFullPath(), mdProps);
PlatformUtils.updateDecoration();
}
} catch (Exception e) {
Activator.getDefault().writeLog(IStatus.ERROR, e.getMessage(), e);
+ } finally {
+ if (response != null) {
+ try {
+ response.close();
+ } catch (IOException ioe) {
+ Activator.getDefault().writeLog(IStatus.ERROR, ioe.getMessage(), ioe);
+ }
+ }
}
}
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/properties/GuvnorWorkspaceFilePage.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/properties/GuvnorWorkspaceFilePage.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/properties/GuvnorWorkspaceFilePage.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -46,24 +46,25 @@
}
private void addGuvnorProperties(Composite composite, GuvnorMetadataProps props) {
- new Label(composite, SWT.NONE).setText("Local name:");
+
+ new Label(composite, SWT.NONE).setText("Repository:");
Label l = new Label(composite, SWT.NONE);
- String val = props.getFilename() != null?props.getFilename():"";
+ String val = props.getRepository() != null?props.getRepository():"";
l.setText(val);
- new Label(composite, SWT.NONE).setText("Repository:");
+ new Label(composite, SWT.NONE).setText("Path:");
l = new Label(composite, SWT.NONE);
- val = props.getRepository() != null?props.getRepository():"";
- l.setText(val);
+ String fullpath = props.getFullpath() != null?props.getFullpath().substring(val.length()):"";
+ l.setText(fullpath);
- new Label(composite, SWT.NONE).setText("Repository Path:");
+ new Label(composite, SWT.NONE).setText("Version:");
l = new Label(composite, SWT.NONE);
- val = props.getFullpath() != null?props.getFullpath():"";
+ val = props.getVersion() != null?props.getVersion():"";
l.setText(val);
- new Label(composite, SWT.NONE).setText("Repository Version:");
+ new Label(composite, SWT.NONE).setText("Revision:");
l = new Label(composite, SWT.NONE);
- val = props.getVersion() != null?props.getVersion():"";
+ val = props.getVersion() != null?props.getRevision():"";
l.setText(val);
}
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/properties/RepositoryElementPropsDialog.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/properties/RepositoryElementPropsDialog.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/properties/RepositoryElementPropsDialog.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -42,6 +42,8 @@
private String password;
private boolean saveInfo;
+ private Label warningLabel;
+
public RepositoryElementPropsDialog(Shell parentShell, TreeObject node) {
super(parentShell);
super.setShellStyle(getShellStyle() | SWT.RESIZE);
@@ -117,6 +119,7 @@
public void widgetSelected(SelectionEvent e) {
saveInfo = cbSavePassword.getSelection();
+ warningLabel.setEnabled(saveInfo);
}
});
@@ -124,11 +127,13 @@
new Label(pwgroup, SWT.NONE).setText("Save user name and password");
new Label(composite, SWT.NONE).setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- new Label(composite, SWT.WRAP).setText("NOTE: Saved passwords are stored on your computer in a file that is difficult, but not impossible, for an intruder to read.");
+ warningLabel = new Label(composite, SWT.WRAP);
+ warningLabel.setText("NOTE: Saved passwords are stored on your computer in a file that is difficult, but not impossible, for an intruder to read.");
populateSecuritySettings();
if (unField.getText().trim().length() == 0) {
cbSavePassword.setSelection(false);
+ warningLabel.setEnabled(false);
} else {
// WTF? setSelection(true) is not picked up by the control, so we have to set
// this initial value explicitly. After that toggle seems to work...
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataProps.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataProps.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataProps.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -1,5 +1,8 @@
package org.guvnor.tools.utils;
-
+/**
+ * Model for properties associated with Guvnor resources.
+ * @author jgraham
+ */
public class GuvnorMetadataProps {
private String filename;
private String repository;
@@ -8,12 +11,12 @@
private String revision;
public GuvnorMetadataProps(String filename, String repository,
- String fullpath, String version) {
+ String fullpath, String version, String revision) {
this.filename = filename;
this.repository = repository;
this.fullpath = fullpath;
this.version = version;
-// this.revision = revision;
+ this.revision = revision;
}
public String getFilename() {
return filename;
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataUtils.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataUtils.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataUtils.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -28,7 +28,7 @@
/**
* Finds the local Guvnor metadata file associated with a given resource.
* @param resource The resource to locate metadata for.
- * @return The metadata for the given resource, null if metadata is not found.
+ * @return The metadata file for the given resource, null if metadata is not found.
*/
public static IFile findGuvnorMetadata(IResource resource) {
IFile res = null;
@@ -43,23 +43,47 @@
return res;
}
+ /**
+ * Finds the local Guvnor metadata file associated with a given resource.
+ * @param resource The resource path to locate metadata for.
+ * @return The metadata file for the given resource, null if metadata is not found.
+ */
+ public static IFile findGuvnorMetadata(IPath resource) {
+ IFile res = null;
+ IPath dir = resource.removeLastSegments(1);
+ IPath mdpath = dir.append(".guvnorinfo").append("." + resource.lastSegment());
+ IResource mdResource = Activator.getDefault().getWorkspace().
+ getRoot().findMember(mdpath);
+ if (mdResource != null
+ && mdResource.exists()
+ && mdResource instanceof IFile) {
+ res = (IFile)mdResource;
+ }
+ return res;
+ }
+
public static boolean isGuvnorControlledResource(IResource resource) {
return findGuvnorMetadata(resource) != null;
}
- public static GuvnorMetadataProps getGuvnorMetadata(IResource resource) throws Exception {
- IFile mdFile = findGuvnorMetadata(resource);
- if (mdFile == null) {
- return null;
- }
+ public static GuvnorMetadataProps loadGuvnorMetadata(IFile mdFile) throws Exception {
Properties props = new Properties();
props.load(mdFile.getContents());
return new GuvnorMetadataProps(props.getProperty("filename"),
props.getProperty("repository"),
props.getProperty("fullpath"),
- props.getProperty("lastmodified"));
+ props.getProperty("lastmodified"),
+ props.getProperty("revision"));
}
+ public static GuvnorMetadataProps getGuvnorMetadata(IResource resource) throws Exception {
+ IFile mdFile = findGuvnorMetadata(resource);
+ if (mdFile == null) {
+ return null;
+ }
+ return loadGuvnorMetadata(mdFile);
+ }
+
public static void writeGuvnorMetadataProps(File mdFile,
GuvnorMetadataProps mdProps) throws Exception {
FileOutputStream fos = new FileOutputStream(mdFile);
@@ -68,6 +92,7 @@
props.put("fullpath", mdProps.getFullpath());
props.put("filename", mdProps.getFilename());
props.put("lastmodified", mdProps.getVersion());
+ props.put("revision", mdProps.getRevision());
props.store(fos, null);
fos.flush();
fos.close();
@@ -101,6 +126,9 @@
if (mdProps.getVersion() != null) {
props.put("lastmodified", mdProps.getVersion());
}
+ if (mdProps.getRevision() != null) {
+ props.put("revision", mdProps.getRevision());
+ }
OutputStream os = new FileOutputStream(
new File(mdFile.getLocation().toOSString()));
props.store(os, null);
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/IWebDavClient.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/IWebDavClient.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/IWebDavClient.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -4,6 +4,7 @@
import java.util.Map;
import org.eclipse.webdav.IContext;
+import org.eclipse.webdav.IResponse;
import org.eclipse.webdav.client.RemoteDAVClient;
import org.eclipse.webdav.http.client.IAuthenticator;
@@ -68,19 +69,19 @@
/**
* Get the <code>InputStream</code> of a resource from Guvnor through WebDav.
* @param resource The address of the resource
- * @return An code>InputStream</code> for the resource
+ * @return The <code>IResponse</code> object, which the client <b>must</b> close
* @throws Exception Various WebDav errors can occur (See IResponse for details)
*/
- public InputStream getResourceInputStream(String resource) throws Exception;
+ public IResponse getResourceInputStream(String resource) throws Exception;
/**
* Get the <code>InputStream</code> for a specific version of a resource from Guvnor through WebDav.
* @param resource The address of the resource
* @param version The version number of the resource
- * @return An code>InputStream</code> for the resource
+ * @return The <code>IResponse</code> object, which the client <b>must</b> close
* @throws Exception Various WebDav errors can occur (See IResponse for details)
*/
- public InputStream getResourceVersionInputStream(String resource, String version) throws Exception;
+ public IResponse getResourceVersionInputStream(String resource, String version) throws Exception;
/**
* Same as createResource(resource, is, true)
@@ -108,14 +109,8 @@
/**
* Gets all the version information for a resource
* @param resource The file to get version information about
- * @return A stream to the version properties
+ * @return The <code>IResponse</code> object, which the client <b>must</b> close
* @throws Exception Various WebDav errors can occur (See IResponse for details)
*/
- public InputStream getResourceVersions(String resource) throws Exception;
-
- /**
- * <b>Must</b> be called after server operation methods to ensure
- * resource clean up.
- */
- public void closeResponse() throws Exception;
+ public IResponse getResourceVersions(String resource) throws Exception;
}
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavClient.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavClient.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavClient.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -7,6 +7,8 @@
import java.util.Properties;
import java.util.StringTokenizer;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
import org.eclipse.webdav.IContext;
import org.eclipse.webdav.ILocator;
import org.eclipse.webdav.IResponse;
@@ -14,6 +16,7 @@
import org.eclipse.webdav.client.WebDAVFactory;
import org.eclipse.webdav.http.client.HttpClient;
import org.eclipse.webdav.http.client.IAuthenticator;
+import org.guvnor.tools.Activator;
/**
* WebDav wrapper client.
@@ -25,17 +28,14 @@
private RemoteDAVClient client;
private WebDavAuthenticator platformAuthenticator;
- private HttpClient httpClient;
- private IResponse response;
-
/**
* Ctor for this wrapper WebDav client.
* @param serverUrl The WebDav repository location (server)
*/
/** package */ WebDavClient(URL serverUrl) {
+ HttpClient httpClient = new HttpClient();
platformAuthenticator = new WebDavAuthenticator(serverUrl);
- httpClient = new HttpClient();
httpClient.setAuthenticator(platformAuthenticator);
client = new RemoteDAVClient(new WebDAVFactory(), httpClient);
}
@@ -46,9 +46,9 @@
*/
public void setSessionAuthenticator(IAuthenticator sessionAuthen) {
if (sessionAuthen != null) {
- httpClient.setAuthenticator(sessionAuthen);
+ client.getHttpClient().setAuthenticator(sessionAuthen);
} else {
- httpClient.setAuthenticator(platformAuthenticator);
+ client.getHttpClient().setAuthenticator(platformAuthenticator);
}
}
@@ -76,26 +76,36 @@
* @see org.guvnor.tools.utils.webdav.IWebDavClient#listDirectory(java.lang.String)
*/
public Map<String, ResourceProperties> listDirectory(String path) throws Exception {
- IContext context = createContext();
- context.put("Depth", "1");
- ILocator locator = WebDAVFactory.locatorFactory.newLocator(path);
- response = client.propfind(locator, context, null);
- if (response.getStatusCode() != IResponse.SC_MULTI_STATUS) {
- throw new WebDavException("WebDav error: " + response.getStatusCode(),
- response.getStatusCode());
+ IResponse response = null;
+ try {
+ IContext context = createContext();
+ context.put("Depth", "1");
+ ILocator locator = WebDAVFactory.locatorFactory.newLocator(path);
+ response = client.propfind(locator, context, null);
+ if (response.getStatusCode() != IResponse.SC_MULTI_STATUS) {
+ throw new WebDavException(response);
+ }
+ Map<String, ResourceProperties> res =
+ StreamProcessingUtils.parseListing(path, response.getInputStream());
+ addGuvnorResourceProperties(res, path);
+ return res;
+ } finally {
+ if (response != null) {
+ response.close();
+ }
}
- Map<String, ResourceProperties> res = StreamProcessingUtils.
- parseListing(path, response.getInputStream());
- addGuvnorResourceProperties(res, path);
- return res;
}
- private void addGuvnorResourceProperties(Map<String, ResourceProperties> props,
+ private void addGuvnorResourceProperties(Map<String,
+ ResourceProperties> props,
String path) throws Exception {
+ IResponse response = null;
try {
String apiVer = changeToAPICall(path);
Properties guvProps = new Properties();
- guvProps.load(getResourceInputStream(apiVer));
+ response = getResourceInputStream(apiVer);
+ guvProps.load(response.getInputStream());
+ response.getInputStream();
for (Iterator<String> it = props.keySet().iterator(); it.hasNext();) {
String oneKey = it.next();
String val = guvProps.getProperty(oneKey);
@@ -106,10 +116,19 @@
String revision = tokens.nextToken();
resProps.setLastModifiedDate(dateStamp);
resProps.setRevision(revision);
- }
+ }
+// else {
+// Exception nfe = new Exception("Failed to get Guvnor properties for " + oneKey);
+// Activator.getDefault().writeLog(IStatus.WARNING, nfe.getMessage(), nfe);
+// }
}
} catch (Exception e) {
-//TODO: Getting some server internal errors here. Why?
+ //TODO: Getting some server internal errors here. Why?
+ Activator.getDefault().writeLog(IStatus.WARNING, e.getMessage(), e);
+ } finally {
+ if (response != null) {
+ response.close();
+ }
}
}
@@ -118,36 +137,52 @@
* @see org.guvnor.tools.utils.webdav.IWebDavClient#queryProperties(java.lang.String)
*/
public ResourceProperties queryProperties(String resource) throws Exception {
- IContext context = createContext();
- context.put("Depth", "1");
- ILocator locator = WebDAVFactory.locatorFactory.newLocator(resource);
- response = client.propfind(locator, context, null);
- if (response.getStatusCode() != IResponse.SC_MULTI_STATUS
- && response.getStatusCode() != IResponse.SC_OK) {
- throw new WebDavException("WebDav error: " + response.getStatusCode(),
- response.getStatusCode());
+ IResponse response = null;
+ try {
+ IContext context = createContext();
+ context.put("Depth", "1");
+ ILocator locator = WebDAVFactory.locatorFactory.newLocator(resource);
+ response = client.propfind(locator, context, null);
+ if (response.getStatusCode() != IResponse.SC_MULTI_STATUS
+ && response.getStatusCode() != IResponse.SC_OK) {
+ throw new WebDavException(response);
+ }
+ Map<String, ResourceProperties> props =
+ StreamProcessingUtils.parseListing("", response.getInputStream());
+ if (props.keySet().size() != 1) {
+ throw new Exception(props.keySet().size() + " entries found for " + resource);
+ }
+ String fullpath = props.keySet().iterator().next();
+ ResourceProperties res = props.get(fullpath);
+ String filename = new Path(fullpath).lastSegment();
+ addGuvnorResourceProperties(res, filename, resource);
+ return res;
+ } finally {
+ if (response != null) {
+ response.close();
+ }
}
- Map<String, ResourceProperties> props =
- StreamProcessingUtils.parseListing("", response.getInputStream());
- if (props.keySet().size() != 1) {
- throw new Exception(props.keySet().size() + " entries found for " + resource);
- }
- String filename = props.keySet().iterator().next();
- ResourceProperties res = props.get(filename);
- addGuvnorResourceProperties(res, filename, resource);
- return res;
}
+ /**
+ * Adds Guvnor-specific resource properties to the collection.
+ * @param props The resource properties colleciton
+ * @param filename The name of the resource
+ * @param resource The full path to the resource in Guvnor
+ * @throws Exception
+ */
private void addGuvnorResourceProperties(ResourceProperties props,
String filename, String resource) throws Exception {
if (props == null) {
return;
}
+ IResponse response = null;
try {
String path = resource.substring(0, resource.lastIndexOf('/'));
String apiVer = changeToAPICall(path);
Properties guvProps = new Properties();
- guvProps.load(getResourceInputStream(apiVer));
+ response = getResourceInputStream(apiVer);
+ guvProps.load(response.getInputStream());
String val = guvProps.getProperty(filename);
if (val != null) {
StringTokenizer tokens = new StringTokenizer(val, ",");
@@ -155,10 +190,17 @@
String revision = tokens.nextToken();
props.setLastModifiedDate(dateStamp);
props.setRevision(revision);
+ } else {
+ Exception nfe = new Exception("Failed to get Guvnor properties for " + filename);
+ Activator.getDefault().writeLog(IStatus.WARNING, nfe.getMessage(), nfe);
}
} catch (Exception e) {
-//TODO: Getting some server internal errors here. Why?
- System.out.println(e.getMessage());
+ //TODO: Getting some server internal errors here. Why?
+ Activator.getDefault().writeLog(IStatus.WARNING, e.getMessage(), e);
+ } finally {
+ if (response != null) {
+ response.close();
+ }
}
}
@@ -167,7 +209,15 @@
* @see org.guvnor.tools.utils.webdav.IWebDavClient#getResourceContents(java.lang.String)
*/
public String getResourceContents(String resource) throws Exception {
- return StreamProcessingUtils.getStreamContents(getResourceInputStream(resource));
+ IResponse response = null;
+ try {
+ response = getResourceInputStream(resource);
+ return StreamProcessingUtils.getStreamContents(response.getInputStream());
+ } finally {
+ if (response != null) {
+ response.close();
+ }
+ }
}
/*
@@ -183,21 +233,20 @@
* (non-Javadoc)
* @see org.guvnor.tools.utils.webdav.IWebDavClient#getInputStream(java.lang.String)
*/
- public InputStream getResourceInputStream(String resource) throws Exception {
+ public IResponse getResourceInputStream(String resource) throws Exception {
ILocator locator = WebDAVFactory.locatorFactory.newLocator(resource);
IResponse response = client.get(locator, createContext());
if (response.getStatusCode() != IResponse.SC_OK) {
- throw new WebDavException("WebDav error: " + response.getStatusCode(),
- response.getStatusCode());
+ throw new WebDavException(response);
}
- return response.getInputStream();
+ return response;
}
/*
* (non-Javadoc)
* @see org.guvnor.tools.utils.webdav.IWebDavClient#getResourceVersionInputStream(java.lang.String, java.lang.String)
*/
- public InputStream getResourceVersionInputStream(String resource, String version) throws Exception {
+ public IResponse getResourceVersionInputStream(String resource, String version) throws Exception {
String apiVer = changeToAPICall(resource) + "?version=" + version;
return getResourceInputStream(apiVer);
}
@@ -221,24 +270,28 @@
if (queryProperties(resource) != null) {
res = false;
}
- } catch (Exception e) {
- if (response.getStatusCode() != IResponse.SC_NOT_FOUND) {
- closeResponse();
+ } catch (WebDavException e) {
+ if (e.getErrorCode() != IResponse.SC_NOT_FOUND) {
throw e;
}
}
- closeResponse();
}
- if (res) {
- ILocator locator = WebDAVFactory.locatorFactory.newLocator(resource);
- IResponse response = client.put(locator, createContext(), is);
- if (response.getStatusCode() != IResponse.SC_OK
- && response.getStatusCode() != IResponse.SC_CREATED) {
- throw new WebDavException("WebDav error: " + response.getStatusCode(),
- response.getStatusCode());
+ IResponse response = null;
+ try {
+ if (res) {
+ ILocator locator = WebDAVFactory.locatorFactory.newLocator(resource);
+ response = client.put(locator, createContext(), is);
+ if (response.getStatusCode() != IResponse.SC_OK
+ && response.getStatusCode() != IResponse.SC_CREATED) {
+ throw new WebDavException(response);
+ }
}
+ return res;
+ } finally {
+ if (response != null) {
+ response.close();
+ }
}
- return res;
}
/*
@@ -246,12 +299,18 @@
* @see org.guvnor.tools.utils.webdav.IWebDavClient#putResource(java.lang.String, java.io.InputStream)
*/
public void putResource(String resource, InputStream is) throws Exception {
- ILocator locator = WebDAVFactory.locatorFactory.newLocator(resource);
- IResponse response = client.put(locator, createContext(), is);
- if (response.getStatusCode() != IResponse.SC_OK
- && response.getStatusCode() != IResponse.SC_NO_CONTENT) {
- throw new WebDavException("WebDav error: " + response.getStatusCode(),
- response.getStatusCode());
+ IResponse response = null;
+ try {
+ ILocator locator = WebDAVFactory.locatorFactory.newLocator(resource);
+ response = client.put(locator, createContext(), is);
+ if (response.getStatusCode() != IResponse.SC_OK
+ && response.getStatusCode() != IResponse.SC_NO_CONTENT) {
+ throw new WebDavException(response);
+ }
+ } finally {
+ if (response != null) {
+ response.close();
+ }
}
}
@@ -259,7 +318,7 @@
* (non-Javadoc)
* @see org.guvnor.tools.utils.webdav.IWebDavClient#getResourceVersions(java.lang.String)
*/
- public InputStream getResourceVersions(String resource) throws Exception {
+ public IResponse getResourceVersions(String resource) throws Exception {
String apiVer = changeToAPICall(resource) + "?version=all";
return getResourceInputStream(apiVer);
}
@@ -267,15 +326,4 @@
private String changeToAPICall(String path) {
return path.replaceFirst("/webdav/", "/api/");
}
-
- /*
- * (non-Javadoc)
- * @see org.guvnor.tools.utils.webdav.IWebDavClient#closeResponse()
- */
- public void closeResponse() throws Exception {
- if (response != null) {
- response.close();
- response = null;
- }
- }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavException.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavException.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavException.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -1,14 +1,17 @@
package org.guvnor.tools.utils.webdav;
+import org.eclipse.webdav.IResponse;
+
public class WebDavException extends Exception {
private static final long serialVersionUID = -2421203349714311291L;
private int errCode;
- public WebDavException(String msg, int errCode) {
- super(msg);
- this.errCode = errCode;
+ public WebDavException(IResponse response) {
+ super("WebDav error: " + response.getStatusMessage() +
+ " (" + response.getStatusCode() + ")");
+ this.errCode = response.getStatusCode();
}
public int getErrorCode() {
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-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/RepositoryView.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -172,7 +172,8 @@
new GuvnorMetadataProps(node.getName(),
node.getGuvnorRepository().getLocation(),
node.getFullPath(),
- node.getResourceProps().getLastModifiedDate());
+ node.getResourceProps().getLastModifiedDate(),
+ node.getResourceProps().getRevision());
GuvnorMetadataUtils.writeGuvnorMetadataProps(metaFile, mdProps);
res.add(metaFile.getAbsolutePath());
@@ -307,7 +308,6 @@
WebDavServerCache.cacheWebDavClient(rep.getLocation(), webdav);
}
String res = webdav.getResourceContents(node.getFullPath());
- webdav.closeResponse();
return res;
}
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/ResourceHistoryView.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/ResourceHistoryView.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/ResourceHistoryView.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -15,6 +15,8 @@
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerSorter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
@@ -42,6 +44,22 @@
*/
public class ResourceHistoryView extends ViewPart {
+ class ResourceHistorySorter extends ViewerSorter {
+
+ @Override
+ public int compare(Viewer viewer, Object e1, Object e2) {
+ if (e1 instanceof ResourceHistoryEntry
+ && e2 instanceof ResourceHistoryEntry) {
+ ResourceHistoryEntry entry1 = (ResourceHistoryEntry)e1;
+ ResourceHistoryEntry entry2 = (ResourceHistoryEntry)e2;
+ return Integer.parseInt(entry2.getRevision()) - Integer.parseInt(entry1.getRevision());
+ } else {
+ return super.compare(viewer, e1, e2);
+ }
+ }
+
+ }
+
private Label repositoryLabel;
private Label resourceLabel;
@@ -71,6 +89,7 @@
viewer.setContentProvider(new ResourceHistoryContentProvider(new ResourceHistoryEntry[0]));
viewer.setLabelProvider(new ResourceHistoryLabelProvider());
+ viewer.setSorter(new ResourceHistorySorter());
viewer.setInput(getViewSite());
makeActions();
@@ -137,7 +156,6 @@
} catch (WebDavException wde) {
if (wde.getErrorCode() != IResponse.SC_UNAUTHORIZED) {
// If not an authentication failure, we don't know what to do with it
- client.closeResponse();
throw wde;
}
boolean retry = PlatformUtils.getInstance().
@@ -146,7 +164,6 @@
contents = client.getResourceVersionContents(fullPath, theEntry.getRevision());
}
}
- client.closeResponse();
if (contents != null) {
String editorTitle = null;
int pos = fullPath.lastIndexOf("/");
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/model/TreeParent.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/model/TreeParent.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/model/TreeParent.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -98,7 +98,6 @@
Map<String, ResourceProperties> listing = null;
try {
listing = webdav.listDirectory(node.getFullPath());
- webdav.closeResponse();
} catch (WebDavException wde) {
if (wde.getErrorCode() != IResponse.SC_UNAUTHORIZED) {
// If not an authentication failure, we don't know what to do with it
@@ -108,7 +107,6 @@
node.getGuvnorRepository().getLocation(), webdav);
if (retry) {
listing = webdav.listDirectory(node.getFullPath());
- webdav.closeResponse();
}
}
if (listing != null) {
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/model/TreePropertyProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/model/TreePropertyProvider.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/model/TreePropertyProvider.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -32,7 +32,7 @@
return node.getName();
}
if (id.equals("location")) {
- return node.getFullPath();
+ return node.getFullPath().substring(node.getGuvnorRepository().getLocation().length());
}
if (id.equals("type")) {
if (node.getNodeType() == TreeObject.Type.REPOSITORY) {
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/wizards/AddResourceWizard.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/wizards/AddResourceWizard.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/wizards/AddResourceWizard.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -103,7 +103,6 @@
}
try {
res = client.createResource(fullPath, selectedFile.getContents(), false);
- client.closeResponse();
if (!res) {
setDuplicateFileError();
}
@@ -116,7 +115,6 @@
authenticateForServer(model.getRepLocation(), client);
if (retry) {
res = client.createResource(fullPath, selectedFile.getContents());
- client.closeResponse();
if (!res) {
setDuplicateFileError();
}
@@ -125,11 +123,11 @@
if (res) {
GuvnorMetadataUtils.markCurrentGuvnorResource(selectedFile);
ResourceProperties resProps = client.queryProperties(fullPath);
- client.closeResponse();
GuvnorMetadataProps mdProps =
new GuvnorMetadataProps(selectedFile.getName(),
model.getRepLocation(),
- fullPath, resProps.getLastModifiedDate());
+ fullPath, resProps.getLastModifiedDate(),
+ resProps.getRevision());
GuvnorMetadataUtils.setGuvnorMetadataProps(selectedFile.getFullPath(), mdProps);
PlatformUtils.updateDecoration();
}
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/wizards/CheckoutWizard.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/wizards/CheckoutWizard.java 2008-07-11 18:49:36 UTC (rev 21011)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/wizards/CheckoutWizard.java 2008-07-11 21:37:37 UTC (rev 21012)
@@ -102,9 +102,7 @@
if (resprops == null) {
throw new Exception("Null resource properties for " + oneResource);
}
- webdav.closeResponse();
String contents = webdav.getResourceContents(oneResource);
- webdav.closeResponse();
IPath targetLocation = new Path(model.getTargetLocation());
IFile targetFile = Activator.getDefault().getWorkspace().
getRoot().getFile(targetLocation.append(
@@ -120,7 +118,8 @@
GuvnorMetadataProps mdProps = new GuvnorMetadataProps(targetFile.getName(),
model.getRepLocation(),
oneResource,
- resprops.getLastModifiedDate());
+ resprops.getLastModifiedDate(),
+ resprops.getRevision());
GuvnorMetadataUtils.setGuvnorMetadataProps(targetFile.getFullPath(), mdProps);
GuvnorMetadataUtils.markCurrentGuvnorResource(targetFile);
}
More information about the jboss-svn-commits
mailing list