summaryrefslogtreecommitdiffstats
path: root/com.gluster.storage.management.client
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 /com.gluster.storage.management.client
parent796bb0bea0b3f641c3b3611eab0a192417b7f51c (diff)
Modified AbstractClient to automatically find out server url from system property
Diffstat (limited to 'com.gluster.storage.management.client')
-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
9 files changed, 61 insertions, 36 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\\/");
+ }
}