diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-03-23 14:20:38 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-03-23 14:20:38 +0530 |
| commit | 0d9309a703b9c42b060bb733f7b87cd9a384704f (patch) | |
| tree | 3c525bc41c210bfeac31788427e2df2419cfe722 /com.gluster.storage.management.client | |
| parent | 796bb0bea0b3f641c3b3611eab0a192417b7f51c (diff) | |
Modified AbstractClient to automatically find out server url from system property
Diffstat (limited to 'com.gluster.storage.management.client')
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\\/"); + } } |
