[jboss-svn-commits] JBL Code SVN: r20667 - in labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools: META-INF and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jun 20 14:37:47 EDT 2008
Author: john.graham at jboss.org
Date: 2008-06-20 14:37:47 -0400 (Fri, 20 Jun 2008)
New Revision: 20667
Added:
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/plugin.properties
Modified:
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/META-INF/MANIFEST.MF
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/build.properties
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/plugin.xml
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/GuvnorLocationManager.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/GuvnorRepository.java
labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavAuthenticator.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/views/RepositoryView.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/wizards/NewRepLocationWizard.java
Log:
Refactor to use platform key-ring for user name and password
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-06-20 16:29:34 UTC (rev 20666)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/META-INF/MANIFEST.MF 2008-06-20 18:37:47 UTC (rev 20667)
@@ -1,10 +1,11 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
-Bundle-Name: JBoss Guvnor Tools Plug-in
+Bundle-Name: %plugin.name
Bundle-SymbolicName: org.guvnor.tools;singleton:=true
Bundle-Version: 0.5.0
Bundle-Activator: org.guvnor.tools.Activator
-Bundle-Vendor: JBoss.org
+Bundle-Vendor: %plugin.provider
+Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
org.eclipse.ui.ide,
org.eclipse.core.resources,
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/build.properties
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/build.properties 2008-06-20 16:29:34 UTC (rev 20666)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/build.properties 2008-06-20 18:37:47 UTC (rev 20667)
@@ -4,6 +4,7 @@
META-INF/,\
.,\
icons/,\
- about.html
+ about.html,\
+ plugin.properties
src.includes = about.html,\
src/
Added: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/plugin.properties
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/plugin.properties (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/plugin.properties 2008-06-20 18:37:47 UTC (rev 20667)
@@ -0,0 +1,12 @@
+plugin.name = JBoss Guvnor Tools Plug-in
+plugin.provider = JBoss.org
+
+category.name = Guvnor
+
+repositories.view.name = Guvnor Repositories
+resource.history.view.name = Guvnor Resource History
+
+wiz.new.repository.location = Guvnor repository location
+wiz.new.repository.location.desc = New Guvnor repository location
+
+persp.name = Guvnor Repository Exploring
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/plugin.xml
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/plugin.xml 2008-06-20 16:29:34 UTC (rev 20666)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/plugin.xml 2008-06-20 18:37:47 UTC (rev 20667)
@@ -3,17 +3,17 @@
<plugin>
<extension point="org.eclipse.ui.views">
- <category name="Guvnor" id="org.guvnor.tools"/>
- <view name="Guvnor Repositories"
+ <category name="%category.name" id="org.guvnor.tools"/>
+ <view name="%repositories.view.name"
icon="icons/guvnor_rep.gif"
category="org.guvnor.tools"
class="org.guvnor.tools.views.RepositoryView"
id="org.guvnor.tools.views.RepositoryView"/>
- <view category="org.guvnor.tools"
+ <view name="%resource.history.view.name"
+ icon="icons/guvnor_rep.gif"
+ category="org.guvnor.tools"
class="org.guvnor.tools.views.ResourceHistoryView"
- icon="icons/guvnor_rep.gif"
- id="org.guvnor.tools.views.ResourceHistoryView"
- name="Guvnor Resource History"/>
+ id="org.guvnor.tools.views.ResourceHistoryView"/>
</extension>
<extension point="org.eclipse.ui.perspectiveExtensions">
@@ -26,7 +26,7 @@
</extension>
<extension point = "org.eclipse.ui.newWizards">
- <category id = "org.guvnor.tools.wizcat" name="Guvnor"/>
+ <category id = "org.guvnor.tools.wizcat" name="%category.name"/>
<!--
<wizard id = "org.guvnor.tools.wizards.CheckoutWizard"
name = "Checkout Projects from Guvnor"
@@ -37,12 +37,12 @@
<description>Checkout Projects from Guvnor</description>
</wizard>
-->
- <wizard id = "org.guvnor.tools.wizards.NewRepLocationWizard"
- name = "Guvnor repository location"
+ <wizard name = "%wiz.new.repository.location"
+ id = "org.guvnor.tools.wizards.NewRepLocationWizard"
class="org.guvnor.tools.wizards.NewRepLocationWizard"
category="org.guvnor.tools.wizcat"
icon="icons/guvnor_rep.gif">
- <description>New Guvnor repository location</description>
+ <description>%wiz.new.repository.location.desc</description>
</wizard>
</extension>
<!--
@@ -73,7 +73,7 @@
</extension>
<extension point="org.eclipse.ui.perspectives">
- <perspective name="Guvnor Repository Exploring"
+ <perspective name="%persp.name"
icon="icons/guvnor_rep.gif"
class="org.guvnor.tools.perspectives.GuvnorRepExplorerPerspective"
id="org.guvnor.tools.perspectives.GuvnorRepExplorerPerspective"/>
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/GuvnorLocationManager.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/GuvnorLocationManager.java 2008-06-20 16:29:34 UTC (rev 20666)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/GuvnorLocationManager.java 2008-06-20 18:37:47 UTC (rev 20667)
@@ -6,10 +6,12 @@
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
+import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
public class GuvnorLocationManager {
@@ -28,8 +30,8 @@
}
}
- public void addRespository(String location, String username, String password) throws Exception {
- addRepository(new GuvnorRepository(location, username, password));
+ public void addRespository(String location) throws Exception {
+ addRepository(new GuvnorRepository(location));
}
public void addRepository(GuvnorRepository rep) throws Exception {
@@ -50,13 +52,15 @@
}
public boolean removeRepository(String rep) {
- GuvnorRepository theRep = findRepository(rep);
- if (theRep == null) {
- return false;
- }
- boolean res = repList.remove(theRep);
- notifyListeners(IRepositorySetListener.REP_ADDED);
+ boolean res = false;
try {
+ GuvnorRepository theRep = findRepository(rep);
+ if (theRep == null) {
+ return false;
+ }
+ res = repList.remove(theRep);
+Platform.flushAuthorizationInfo(new URL(rep), "", "basic");
+ notifyListeners(IRepositorySetListener.REP_ADDED);
commit();
} catch (Exception e) {
e.printStackTrace();
@@ -83,14 +87,13 @@
for (int i = 0; i < repList.size(); i++) {
GuvnorRepository oneRep = repList.get(i);
writer.println(oneRep.getLocation());
- writer.println(oneRep.getUsername());
- writer.println(oneRep.getPassword());
}
writer.flush();
fos.flush();
fos.close();
}
+ @SuppressWarnings("unchecked")
private void load() throws Exception {
repList.clear();
File repFile = Activator.getDefault().getStateLocation().
@@ -103,18 +106,9 @@
String oneRep = null;
do {
oneRep = reader.readLine();
- if (oneRep != null && oneRep.trim().length() == 0) {
- oneRep = null;
+ if (oneRep != null && oneRep.trim().length() > 0) {
+ repList.add(new GuvnorRepository(oneRep));
}
- String oneUN = reader.readLine();
- String onePW = reader.readLine();
- if (oneRep != null) {
- if (oneUN != null && onePW != null) {
- repList.add(new GuvnorRepository(oneRep, oneUN, onePW));
- } else {
- System.out.println("incomplete rep: " + oneRep);
- }
- }
} while (oneRep != null);
}
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/GuvnorRepository.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/GuvnorRepository.java 2008-06-20 16:29:34 UTC (rev 20666)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/GuvnorRepository.java 2008-06-20 18:37:47 UTC (rev 20667)
@@ -2,24 +2,12 @@
public class GuvnorRepository {
private String location;
- private String username;
- private String password;
- public GuvnorRepository(String location, String username, String password) {
+ public GuvnorRepository(String location) {
this.location = location;
- this.username = username;
- this.password = password;
}
public String getLocation() {
return location;
}
-
- public String getUsername() {
- return username;
- }
-
- public String getPassword() {
- return password;
- }
}
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavAuthenticator.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavAuthenticator.java 2008-06-20 16:29:34 UTC (rev 20666)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavAuthenticator.java 2008-06-20 18:37:47 UTC (rev 20667)
@@ -4,6 +4,7 @@
import java.util.HashMap;
import java.util.Map;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.webdav.http.client.IAuthenticator;
public class WebDavAuthenticator implements IAuthenticator {
@@ -33,14 +34,10 @@
serverAuthMaps = new HashMap<String, ServerAuthenInfo>();
}
- public WebDavAuthenticator(URL serverUrl,
- String username,
- String password,
- String scheme) {
+ @SuppressWarnings("unchecked")
+ public WebDavAuthenticator(URL serverUrl, String scheme) {
this();
- HashMap<String, String> info = new HashMap<String, String>();
- info.put("username", username);
- info.put("password", password);
+ Map info = Platform.getAuthorizationInfo(serverUrl, "", scheme);
addAuthenticationInfo(serverUrl, null, scheme, info);
}
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-06-20 16:29:34 UTC (rev 20666)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavClient.java 2008-06-20 18:37:47 UTC (rev 20667)
@@ -22,14 +22,10 @@
/**
* Ctor for this wrapper WebDav client.
* @param serverUrl The WebDav repository location (server)
- * @param username User identification
- * @param password User password
* @param scheme The authentication scheme { Basic | Digest }
*/
- public WebDavClient(URL serverUrl, String username,
- String password, String scheme) {
- WebDavAuthenticator authen = new WebDavAuthenticator(serverUrl, username,
- password, scheme);
+ public WebDavClient(URL serverUrl, String scheme) {
+ WebDavAuthenticator authen = new WebDavAuthenticator(serverUrl, scheme);
HttpClient hClient = new HttpClient();
hClient.setAuthenticator(authen);
client = new RemoteDAVClient(new WebDAVFactory(), hClient);
@@ -38,14 +34,10 @@
/**
* Ctor for this wrapper WebDav client, assuming "basic" authentication.
* @param serverUrl The WebDav repository location (server)
- * @param username User identification
- * @param password User password
*/
- public WebDavClient(URL serverUrl,
- String username,
- String password) {
+ public WebDavClient(URL serverUrl) {
// basic authentication is assumed as the default
- this(serverUrl, username, password, "basic");
+ this(serverUrl, "basic");
}
/**
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-06-20 16:29:34 UTC (rev 20666)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/RepositoryView.java 2008-06-20 18:37:47 UTC (rev 20667)
@@ -4,10 +4,14 @@
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.net.URL;
+import java.rmi.server.UID;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Properties;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
@@ -105,16 +109,10 @@
return;
}
try {
- String contents = getResourceContents(target);
- IPath path = Activator.getDefault().getStateLocation();
- File transfer = new File(path.toOSString() + File.separator + target.getName());
- transfer.deleteOnExit();
- FileOutputStream fos = new FileOutputStream(transfer);
- PrintWriter writer = new PrintWriter(fos);
- writer.write(contents);
- writer.flush();
- writer.close();
- event.data = new String[] { transfer.getAbsolutePath() };
+ List<String> files = prepareFileTransfer(target);
+ String[] res = new String[files.size()];
+ files.toArray(res);
+ event.data = res;
} catch (Exception e) {
Activator.getDefault().writeLog(IStatus.ERROR, e.getMessage(), e);
}
@@ -133,7 +131,46 @@
}
});
}
-
+
+ private List<String> prepareFileTransfer(TreeObject node) 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());
+ }
+ 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 = new Path(path.toOSString() + File.separator + ".guvnorinfo");
+ if (!metaPath.toFile().mkdir()) {
+ throw new Exception("Could not create directory " + metaPath.toOSString());
+ }
+ metaPath.toFile().deleteOnExit();
+ File metaFile = new File(metaPath.toOSString() + File.separator + node.getName());
+ metaFile.deleteOnExit();
+ fos = new FileOutputStream(metaFile);
+ Properties props = new Properties();
+ props.put("repository", node.getGuvnorRepository().getLocation());
+ props.put("fullpath", node.getFullPath());
+ props.put("filename", node.getName());
+ props.put("lastmodified", node.getResourceProps().getLastModifiedDate());
+ props.store(fos, null);
+ fos.flush();
+ fos.close();
+ res.add(metaFile.getAbsolutePath());
+
+ return res;
+ }
+
private void hookContextMenu() {
MenuManager menuMgr = new MenuManager("#PopupMenu");
menuMgr.setRemoveAllWhenShown(true);
@@ -252,8 +289,7 @@
GuvnorRepository rep = node.getGuvnorRepository();
WebDavClient webdav = WebDavServerCache.getWebDavClient(rep.getLocation());
if (webdav == null) {
- webdav = new WebDavClient(new URL(rep.getLocation()),
- rep.getUsername(), rep.getPassword());
+ webdav = new WebDavClient(new URL(rep.getLocation()));
WebDavServerCache.cacheWebDavClient(rep.getLocation(), webdav);
}
return webdav.getResourceContents(node.getFullPath());
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-06-20 16:29:34 UTC (rev 20666)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/model/TreeParent.java 2008-06-20 18:37:47 UTC (rev 20667)
@@ -82,8 +82,7 @@
try {
WebDavClient webdav = WebDavServerCache.getWebDavClient(rep.getLocation());
if (webdav == null) {
- webdav = new WebDavClient(new URL(rep.getLocation()),
- rep.getUsername(), rep.getPassword());
+ webdav = new WebDavClient(new URL(rep.getLocation()));
WebDavServerCache.cacheWebDavClient(rep.getLocation(), webdav);
}
Map<String, ResourceProperties> listing = webdav.listDirectory(node.getFullPath());
Modified: labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/wizards/NewRepLocationWizard.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/wizards/NewRepLocationWizard.java 2008-06-20 16:29:34 UTC (rev 20666)
+++ labs/jbossrules/trunk/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/wizards/NewRepLocationWizard.java 2008-06-20 18:37:47 UTC (rev 20667)
@@ -1,6 +1,11 @@
package org.guvnor.tools.wizards;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.INewWizard;
@@ -34,10 +39,12 @@
@Override
public boolean performFinish() {
try {
- Activator.getLocationManager().addRepository(
- new GuvnorRepository(model.getRepLocation(),
- model.getUsername(),
- model.getPassword()));
+ Activator.getLocationManager().addRepository(new GuvnorRepository(model.getRepLocation()));
+ Map<String, String> info = new HashMap<String, String>();
+ //TODO: Deal with case where un or password are not specified
+ info.put("username", model.getUsername());
+ info.put("password", model.getPassword());
+ Platform.addAuthorizationInfo(new URL(model.getRepLocation()), "", "basic", info);
} catch (Exception e) {
Activator.getDefault().writeLog(IStatus.ERROR, e.getMessage(), e);
}
More information about the jboss-svn-commits
mailing list