001 /*
002 * Cumulus4j - Securing your data in the cloud - http://cumulus4j.org
003 * Copyright (C) 2011 NightLabs Consulting GmbH
004 *
005 * This program is free software: you can redistribute it and/or modify
006 * it under the terms of the GNU Affero General Public License as
007 * published by the Free Software Foundation, either version 3 of the
008 * License, or (at your option) any later version.
009 *
010 * This program is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
013 * GNU Affero General Public License for more details.
014 *
015 * You should have received a copy of the GNU Affero General Public License
016 * along with this program. If not, see <http://www.gnu.org/licenses/>.
017 */
018 package org.cumulus4j.keymanager.front.shared;
019
020 import java.io.Serializable;
021
022 import javax.xml.bind.annotation.XmlRootElement;
023
024 /**
025 * <p>
026 * DTO representing an app-server.
027 * </p><p>
028 * An <code>AppServer</code> represents a logical application server. This logical application server
029 * might be a cluster/cloud consisting of many physical machines.
030 * </p><p>
031 * An <code>AppServer</code> contains the coordinates needed to contact the application server
032 * (or more precisely the key-manager-channel-REST-service
033 * running on this application server) in order to establish a communication channel. See
034 * <a target="_blank" href="http://cumulus4j.org/1.2.0/documentation/deployment-scenarios.html">Deployment scenarios</a>.
035 * </p>
036 * @author Marco หงุ่ยตระกูล-Schulze - marco at nightlabs dot de
037 */
038 @XmlRootElement
039 public class AppServer
040 implements Serializable
041 {
042 private static final long serialVersionUID = 1L;
043
044 private String appServerID;
045
046 private String appServerBaseURL;
047
048 /**
049 * <p>
050 * Get the app-server's ID.
051 * </p><p>
052 * If this instance of <code>AppServer</code> is used to PUT an app-server into the key-server,
053 * then this property can be <code>null</code> in order to have the
054 * key-server assign the ID. The app-server's ID is sent back to the client in a {@link PutAppServerResponse}.
055 * </p>
056 * @return the app-server's ID.
057 * @see #setAppServerID(String)
058 */
059 public String getAppServerID() {
060 return appServerID;
061 }
062 /**
063 * Set the app-server's ID.
064 * @param appServerID the app-server's ID.
065 * @see #getAppServerID()
066 */
067 public void setAppServerID(String appServerID) {
068 this.appServerID = appServerID;
069 }
070 /**
071 * Get the base-url of the app-server-key-manager-channel. This is the part of the URL before the "/KeyManagerChannel" -
072 * e.g. if the REST URL of the KeyManagerChannel-service is
073 * "https://serverUsingCumulus4j.mydomain.org/org.cumulus4j.keymanager.back.webapp/KeyManagerChannel", then this must be
074 * "https://serverUsingCumulus4j.mydomain.org/org.cumulus4j.keymanager.back.webapp".
075 * @return the base-url of the app-server-key-manager-channel.
076 * @see #setAppServerBaseURL(String)
077 */
078 public String getAppServerBaseURL() {
079 return appServerBaseURL;
080 }
081 /**
082 * Set the base-url of the app-server-key-manager-channel.
083 * @param appServerBaseURL the base-url of the app-server-key-manager-channel.
084 * @see #getAppServerBaseURL()
085 */
086 public void setAppServerBaseURL(String appServerBaseURL) {
087 this.appServerBaseURL = appServerBaseURL;
088 }
089 }