diff options
Diffstat (limited to 'base/console/src/com/netscape/admin/certsrv/CMSServerInfo.java')
-rw-r--r-- | base/console/src/com/netscape/admin/certsrv/CMSServerInfo.java | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/base/console/src/com/netscape/admin/certsrv/CMSServerInfo.java b/base/console/src/com/netscape/admin/certsrv/CMSServerInfo.java new file mode 100644 index 000000000..d2d64b3fc --- /dev/null +++ b/base/console/src/com/netscape/admin/certsrv/CMSServerInfo.java @@ -0,0 +1,172 @@ +// --- BEGIN COPYRIGHT BLOCK --- +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; version 2 of the License. +// +// This program 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// (C) 2007 Red Hat, Inc. +// All rights reserved. +// --- END COPYRIGHT BLOCK --- +package com.netscape.admin.certsrv; + +import java.util.*; +import javax.swing.*; + +import com.netscape.management.client.util.*; +import com.netscape.certsrv.common.*; +import com.netscape.admin.certsrv.connection.*; + +/** + * Certificate server information. Store all relevant + * information that allows this client to connect to + * the certificate server. + * + * @author Jack Pan-Chen + * @author Thomas Kwan + * @version $Revision$, $Date$ + */ +public class CMSServerInfo implements IConnectionListener { + + /*========================================================== + * variables + *==========================================================*/ + private static final String PREFIX = "SERVER"; + private AdminConnection mAdmin = null; // srever entry point + private String mHost = null; // server host + private int mPort; // server port + private String mServerId = null; // server id + private String mServerRoot = null; + private String mServerVersion = null; // server version + private String mUserid = null; // user id + private String mInstallDate = null; // server install date + private String mPassword = null; // user password + private String mPath = null; + private Vector mSubsystem = new Vector(); + + /*========================================================== + * constructors + *==========================================================*/ + public CMSServerInfo(String host, int port, String userid, String password, + String serverid, String installDate, String version, + String serverRoot, String path) + throws EAdminException + { + + mHost = host; + mPort = port; + mUserid = userid; + mPassword = password; + mServerId = serverid; + mServerVersion = version; + mInstallDate = installDate; + mServerRoot = serverRoot; + mPath = path; + + Debug.println("CMSServerInfo: host "+mHost+" port "+mPort+ + " userid "+mUserid+" serverRoot "+mServerRoot+" serverid "+mServerId); + mAdmin = new AdminConnection( + new BasicAuthenticator(mUserid, mPassword), + new SSLConnectionFactory(SSLConnectionFactory.JSS_CONNECTION), + true /* KeepAlive */, mHost, mPort, mPath); + mAdmin.setConnectionListener(this); + } + + /*========================================================== + * public methods + *==========================================================*/ + + public void restartCallback() { + JFrame frame = UtilConsoleGlobals.getActivatedFrame(); + if (frame != null) { + ResourceBundle bundle = + ResourceBundle.getBundle(CMSAdminResources.class.getName()); + CMSAdminUtil.showMessageDialog(frame, bundle, PREFIX, "RESTART", + CMSAdminUtil.WARNING_MESSAGE); + } + } + + public void ping() throws EAdminException { + + // Need to do authentication here + NameValuePairs config = new NameValuePairs(); + config.put(Constants.PR_PING, ""); + + NameValuePairs response; + + response = mAdmin.read(DestDef.DEST_AUTH_ADMIN, + ScopeDef.SC_AUTH, + Constants.RS_ID_CONFIG, + config); + + if (!response.get(Constants.PR_PING).equalsIgnoreCase(Constants.TRUE)) { + Debug.println("Ping failed -> Server off"); + throw new EAdminException("PING_FAILED",false); + } + } + + public void authenticate() throws EAdminException { + mAdmin.auth(DestDef.DEST_AUTH_ADMIN, ScopeDef.SC_AUTH); + } + + public String getAuthType() throws EAdminException { + return mAdmin.authType(DestDef.DEST_AUTH_ADMIN, ScopeDef.SC_AUTHTYPE); + } + + public AdminConnection getAdmin() { + return mAdmin; + } + + public String getHost() { + return mHost; + } + + public int getPort() { + return mPort; + } + + public String getUserId() { + return mUserid; + } + + public String getServerId() { + return mServerId; + } + + public String getServerRoot() { + return mServerRoot; + } + + public String getServerVersion() { + return mServerVersion; + } + + public String getInstallDate() { + return mInstallDate; + } + + public Object clone() { + try { + return new CMSServerInfo(mHost, mPort, mUserid, mPassword, + mServerId, mServerVersion, mInstallDate, mServerRoot, mPath); + } catch (EAdminException e) { + return null; + } + } + + public Vector getInstalledSubsystems() { + return mSubsystem; + } + + public void setInstalledSubsystems(Vector subsystem) { + mSubsystem = subsystem; + } + +} |