summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-03-23 14:20:38 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-03-23 14:20:38 +0530
commit0d9309a703b9c42b060bb733f7b87cd9a384704f (patch)
tree3c525bc41c210bfeac31788427e2df2419cfe722
parent796bb0bea0b3f641c3b3611eab0a192417b7f51c (diff)
Modified AbstractClient to automatically find out server url from system property
-rw-r--r--com.gluster.storage.management.client/META-INF/MANIFEST.MF3
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java8
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java4
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java13
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java8
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java6
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java8
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java32
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java15
-rw-r--r--com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ConnectionDetails.java9
-rw-r--r--com.gluster.storage.management.gui.feature.webstart/rootfiles/gluster-management-console.jnlp4
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java3
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java2
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java2
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java2
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/login/LoginDialog.java9
16 files changed, 74 insertions, 54 deletions
diff --git a/com.gluster.storage.management.client/META-INF/MANIFEST.MF b/com.gluster.storage.management.client/META-INF/MANIFEST.MF
index 8d63767c..43ae7c3e 100644
--- a/com.gluster.storage.management.client/META-INF/MANIFEST.MF
+++ b/com.gluster.storage.management.client/META-INF/MANIFEST.MF
@@ -7,7 +7,8 @@ Bundle-Vendor: GLUSTER
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: com.gluster.storage.management.core;bundle-version="1.0.0",
org.eclipse.equinox.common;bundle-version="3.6.0"
-Export-Package: com.gluster.storage.management.client
+Export-Package: com.gluster.storage.management.client,
+ com.gluster.storage.management.client.constants
Bundle-ClassPath: .,
lib/jersey-1.5/jersey-client-1.5.jar,
lib/jersey-1.5/jersey-core-1.5.jar
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
index 61641d7f..f3d12096 100644
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
+++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
@@ -20,13 +20,13 @@ public abstract class AbstractClient {
private String securityToken;
private String authHeader;
- public AbstractClient(String serverName) {
- URI baseURI = new ClientUtil().getServerBaseURI(serverName);
+ public AbstractClient() {
+ URI baseURI = new ClientUtil().getServerBaseURI();
resource = Client.create(new DefaultClientConfig()).resource(baseURI).path(getResourceName());
}
- public AbstractClient(String serverName, String securityToken) {
- this(serverName);
+ public AbstractClient(String securityToken) {
+ this();
setSecurityToken(securityToken);
}
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
index 16be2604..5ea050b9 100644
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
+++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
@@ -33,7 +33,7 @@ public class DiscoveredServersClient extends AbstractClient {
private static final String RESOURCE_NAME = "discoveredservers";
public DiscoveredServersClient(String serverName, String securityToken) {
- super(serverName, securityToken);
+ super(securityToken);
}
@Override
@@ -68,7 +68,7 @@ public class DiscoveredServersClient extends AbstractClient {
}
public static void main(String[] args) {
- UsersClient usersClient = new UsersClient("localhost");
+ UsersClient usersClient = new UsersClient();
if (usersClient.authenticate("gluster", "gluster")) {
DiscoveredServersClient serverResource = new DiscoveredServersClient("localhost",
usersClient.getSecurityToken());
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
index d79a737c..05153c91 100644
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
+++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
@@ -64,14 +64,6 @@ public class GlusterDataModelManager {
this.securityToken = securityToken;
}
- public String getServerName() {
- return serverName;
- }
-
- public void setServerName(String serverName) {
- this.serverName = serverName;
- }
-
public GlusterDataModel getModel() {
return model;
}
@@ -109,8 +101,7 @@ public class GlusterDataModelManager {
servers.add(server);
}
- public void initializeModel(String serverName, String securityToken) {
- setServerName(serverName);
+ public void initializeModel(String securityToken) {
setSecurityToken(securityToken);
// Create the dummy data model for demo
@@ -226,7 +217,7 @@ public class GlusterDataModelManager {
}
private void initializeGlusterServers(Cluster cluster) {
- cluster.setServers(new GlusterServersClient(serverName, securityToken).getServers());
+ cluster.setServers(new GlusterServersClient(securityToken).getServers());
}
private void initializeAutoDiscoveredServers(Cluster cluster) {
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
index 983391df..25fe3bbc 100644
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
+++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
@@ -31,8 +31,8 @@ import com.sun.jersey.api.representation.Form;
public class GlusterServersClient extends AbstractClient {
private static final String RESOURCE_NAME = "/cluster/servers";
- public GlusterServersClient(String serverName, String securityToken) {
- super(serverName, securityToken);
+ public GlusterServersClient(String securityToken) {
+ super(securityToken);
}
@Override
@@ -62,10 +62,10 @@ public class GlusterServersClient extends AbstractClient {
}
public static void main(String[] args) {
- UsersClient usersClient = new UsersClient("localhost");
+ UsersClient usersClient = new UsersClient();
if (usersClient.authenticate("gluster", "gluster")) {
- GlusterServersClient serverResource = new GlusterServersClient("localhost", usersClient.getSecurityToken());
+ GlusterServersClient serverResource = new GlusterServersClient(usersClient.getSecurityToken());
List<GlusterServer> glusterServers = serverResource.getServers();
for (GlusterServer server : glusterServers) {
System.out.println(server.getName());
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
index be1b4bba..8d7a52fc 100644
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
+++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
@@ -31,8 +31,8 @@ public class UsersClient extends AbstractClient {
return new String(Base64.encode(user + ":" + password));
}
- public UsersClient(String serverName) {
- super(serverName);
+ public UsersClient() {
+ super();
}
public boolean authenticate(String user, String password) {
@@ -63,7 +63,7 @@ public class UsersClient extends AbstractClient {
}
public static void main(String[] args) {
- UsersClient authClient = new UsersClient("localhost");
+ UsersClient authClient = new UsersClient();
// authenticate user
System.out.println(authClient.authenticate("gluster", "gluster"));
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
index d2e870e7..f1abb5c1 100644
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
+++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
@@ -34,8 +34,8 @@ import com.sun.jersey.api.representation.Form;
public class VolumesClient extends AbstractClient {
private static final String RESOURCE_NAME = "/cluster/volumes"; // TODO: move to common place
- public VolumesClient(String serverName, String securityToken) {
- super(serverName, securityToken);
+ public VolumesClient(String securityToken) {
+ super(securityToken);
}
@Override
@@ -65,9 +65,9 @@ public class VolumesClient extends AbstractClient {
}
public static void main(String[] args) {
- UsersClient usersClient = new UsersClient("localhost");
+ UsersClient usersClient = new UsersClient();
if (usersClient.authenticate("gluster", "gluster")) {
- VolumesClient VC = new VolumesClient("localhost", usersClient.getSecurityToken());
+ VolumesClient VC = new VolumesClient(usersClient.getSecurityToken());
List<Disk> disks = new ArrayList<Disk>();
Disk diskElement = new Disk();
diskElement.setName("sda1");
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java
new file mode 100644
index 00000000..853cfe96
--- /dev/null
+++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java
@@ -0,0 +1,32 @@
+/**
+ * ClientConstants.java
+ *
+ * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+ * This file is part of Gluster Management Console.
+ *
+ * Gluster Management Console is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+package com.gluster.storage.management.client.constants;
+
+/**
+ *
+ */
+public class ClientConstants {
+ public static final String SYS_PROP_SERVER_URL = "gluster.server.url";
+ public static final String DEFAULT_SERVER_URL = "http://localhost:8080/glustermc/linux.gtk.x86_64";
+ public static final String WEB_CONTEXT = "glustermc";
+ public static final String WEB_RESOURCE_BASE_PATH = "resources";
+}
+
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java
index 3df89f27..23d2f9fd 100644
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java
+++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java
@@ -4,16 +4,17 @@ import java.net.URI;
import javax.ws.rs.core.UriBuilder;
-import com.sun.jersey.api.client.WebResource;
+import com.gluster.storage.management.client.constants.ClientConstants;
public class ClientUtil {
- private static final String SERVER_PORT = "8080";
- private static final String WEB_CONTEXT = "/glustermc";
- private static final String WEB_RESOURCE_BASE_PATH = "/resources";
- public URI getServerBaseURI(String serverName) {
- return UriBuilder.fromUri("http://" + serverName + ":" + SERVER_PORT + WEB_CONTEXT + WEB_RESOURCE_BASE_PATH)
- .build();
+ public URI getServerBaseURI() {
+ return UriBuilder.fromUri(getBaseURL()).path(ClientConstants.WEB_RESOURCE_BASE_PATH).build();
}
+ private String getBaseURL() {
+ // remove the platform path (e.g. /linux.gtk.x86_64) from the URL
+ return System.getProperty(ClientConstants.SYS_PROP_SERVER_URL, ClientConstants.DEFAULT_SERVER_URL)
+ .replaceAll("glustermc\\/.*", "glustermc\\/");
+ }
}
diff --git a/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ConnectionDetails.java b/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ConnectionDetails.java
index 12deb2d3..ccf8fecf 100644
--- a/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ConnectionDetails.java
+++ b/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ConnectionDetails.java
@@ -19,15 +19,14 @@
package com.gluster.storage.management.core.model;
public class ConnectionDetails {
- private String userId, server, password;
+ private String userId, password;
public ConnectionDetails() {
}
- public ConnectionDetails(String server, String userId, String password) {
+ public ConnectionDetails(String userId, String password) {
this.userId = userId;
- this.server = server;
this.password = password;
}
@@ -35,10 +34,6 @@ public class ConnectionDetails {
return userId;
}
- public String getServer() {
- return server;
- }
-
public String getPassword() {
return password;
}
diff --git a/com.gluster.storage.management.gui.feature.webstart/rootfiles/gluster-management-console.jnlp b/com.gluster.storage.management.gui.feature.webstart/rootfiles/gluster-management-console.jnlp
index 269f16f8..8828736c 100644
--- a/com.gluster.storage.management.gui.feature.webstart/rootfiles/gluster-management-console.jnlp
+++ b/com.gluster.storage.management.gui.feature.webstart/rootfiles/gluster-management-console.jnlp
@@ -26,8 +26,8 @@
name="eclipse.product"
value="com.gluster.storage.management.gui.product"/>
<property
- name="gluster.server.name"
- value="192.168.1.123"/>
+ name="gluster.server.url"
+ value="$$codebase"/>
</resources>
<resources os="Linux">
<property name="osgi.ws" value="gtk"/>
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java
index 1a438898..7957b6f0 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java
@@ -35,8 +35,7 @@ public class AddServerAction extends AbstractActionDelegate {
@Override
public void run(IAction action) {
GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
- GlusterServersClient glusterServersClient = new GlusterServersClient(modelManager.getServerName(),
- modelManager.getSecurityToken());
+ GlusterServersClient glusterServersClient = new GlusterServersClient(modelManager.getSecurityToken());
Server server = (Server) selectedEntity;
GlusterServerResponse response = glusterServersClient.addServer(server);
if (response.getStatus().isSuccess()) {
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
index e00b8f8b..fff5faa0 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
@@ -39,7 +39,7 @@ public class StartVolumeAction extends AbstractActionDelegate {
return; // Volume already online. Don't do anything.
}
- VolumesClient client = new VolumesClient(modelManager.getServerName(), modelManager.getSecurityToken());
+ VolumesClient client = new VolumesClient(modelManager.getSecurityToken());
Status status = client.startVolume(volume.getName());
if (status.isSuccess()) {
new MessageDialog(Display.getDefault().getActiveShell(), action.getDescription(), null, "Volume ["
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
index 42f0ff92..32a6ce08 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
@@ -39,7 +39,7 @@ public class StopVolumeAction extends AbstractActionDelegate {
return; // Volume already offline. Don't do anything.
}
- VolumesClient client = new VolumesClient(modelManager.getServerName(), modelManager.getSecurityToken());
+ VolumesClient client = new VolumesClient(modelManager.getSecurityToken());
Status status = client.stopVolume(volume.getName());
if (status.isSuccess()) {
new MessageDialog(Display.getDefault().getActiveShell(), action.getDescription(), null, "Volume ["
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java
index e21286d2..7095caad 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java
@@ -44,7 +44,7 @@ public class CreateVolumeWizard extends Wizard {
Volume newVol = page.getVolume();
GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
- VolumesClient volumesClient = new VolumesClient(modelManager.getServerName(), modelManager.getSecurityToken());
+ VolumesClient volumesClient = new VolumesClient(modelManager.getSecurityToken());
Status status = volumesClient.createVolume(newVol);
if (status.isSuccess()) {
new MessageDialog(getShell(), "Create Volume", null, "Volume created successfully!",
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/login/LoginDialog.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/login/LoginDialog.java
index 3e7fa5c3..45b13a19 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/login/LoginDialog.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/login/LoginDialog.java
@@ -41,6 +41,7 @@ import org.eclipse.swt.widgets.Text;
import com.gluster.storage.management.client.GlusterDataModelManager;
import com.gluster.storage.management.client.UsersClient;
+import com.gluster.storage.management.client.constants.ClientConstants;
import com.gluster.storage.management.core.model.ConnectionDetails;
import com.gluster.storage.management.gui.IImageKeys;
import com.gluster.storage.management.gui.utils.GUIHelper;
@@ -55,7 +56,7 @@ public class LoginDialog extends Dialog {
private Text passwordText = null;
private Button okButton;
- private final ConnectionDetails connectionDetails = new ConnectionDetails("localhost", "gluster", "");
+ private final ConnectionDetails connectionDetails = new ConnectionDetails("gluster", "");
private final GUIHelper guiHelper = GUIHelper.getInstance();
private Composite composite;
@@ -63,6 +64,7 @@ public class LoginDialog extends Dialog {
super(parentShell);
}
+
@Override
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
@@ -186,11 +188,10 @@ public class LoginDialog extends Dialog {
protected void okPressed() {
String user = connectionDetails.getUserId();
String password = connectionDetails.getPassword();
- String server = connectionDetails.getServer();
- UsersClient usersClient = new UsersClient(server);
+ UsersClient usersClient = new UsersClient();
if (usersClient.authenticate(user, password)) {
- GlusterDataModelManager.getInstance().initializeModel(server, usersClient.getSecurityToken());
+ GlusterDataModelManager.getInstance().initializeModel(usersClient.getSecurityToken());
super.okPressed();
} else {
MessageDialog.openError(getShell(), "Authentication Failed", "Invalid User ID or password");