diff options
author | PKI Team <PKI Team@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2008-03-18 22:36:57 +0000 |
---|---|---|
committer | PKI Team <PKI Team@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2008-03-18 22:36:57 +0000 |
commit | d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb (patch) | |
tree | 7e7473fae8af5ad7e6cda7eabbef787093fc59a7 /pki/base/common/src/com/netscape/cmscore/ldapconn/LdapConnInfo.java | |
parent | 273f8d85df5c31293a908185622b378c8f3cf7e8 (diff) | |
download | pki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.tar.gz pki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.tar.xz pki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.zip |
Initial open source version based upon proprietary Red Hat Certificate System (RHCS) 7.3.
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@2 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/base/common/src/com/netscape/cmscore/ldapconn/LdapConnInfo.java')
-rw-r--r-- | pki/base/common/src/com/netscape/cmscore/ldapconn/LdapConnInfo.java | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/pki/base/common/src/com/netscape/cmscore/ldapconn/LdapConnInfo.java b/pki/base/common/src/com/netscape/cmscore/ldapconn/LdapConnInfo.java new file mode 100644 index 000000000..ba037d854 --- /dev/null +++ b/pki/base/common/src/com/netscape/cmscore/ldapconn/LdapConnInfo.java @@ -0,0 +1,118 @@ +// --- 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.cmscore.ldapconn; + + +import netscape.ldap.*; +import com.netscape.certsrv.base.*; +import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.base.EPropertyNotFound; +import com.netscape.certsrv.ldap.*; + + +/** + * class for reading ldap connection from the config store. + * ldap connection info: host, port, secure connection + */ +public class LdapConnInfo implements ILdapConnInfo { + + private String mHost = null; + private int mPort = -1; + private boolean mSecure = false; + private int mVersion = LDAPv2.PROTOCOL_VERSION; + private boolean mFollowReferrals = true; + + /** + * default constructor. must be followed by init(IConfigStore) + */ + public LdapConnInfo(IConfigStore config) throws EBaseException, ELdapException { + init(config); + } + + /** + * initializes an instance from a config store. + * required parms: host, port + * optional parms: secure connection, authentication method & info. + */ + public void init(IConfigStore config) throws EBaseException, ELdapException { + mHost = config.getString(PROP_HOST); + mPort = config.getInteger(PROP_PORT); + String version = (String) config.get(PROP_PROTOCOL); + + if (version != null && version.equals("")) { + // provide a default when this field is blank from the + // configuration. + mVersion = LDAP_VERSION_3; + } else { + mVersion = config.getInteger(PROP_PROTOCOL, LDAP_VERSION_3); + if (mVersion != LDAP_VERSION_2 && mVersion != LDAP_VERSION_3) { + throw new EBaseException( + CMS.getUserMessage("CMS_BASE_INVALID_PROPERTY", PROP_PROTOCOL)); + } + } + if (mHost == null || (mHost.length() == 0) || (mHost.trim().equals(""))) { + throw new EPropertyNotFound(CMS.getUserMessage("CMS_BASE_GET_PROPERTY_FAILED", PROP_HOST)); + } + if (mPort <= 0) { + throw new EBaseException( + CMS.getUserMessage("CMS_BASE_INVALID_PROPERTY", PROP_PORT)); + } + mSecure = config.getBoolean(PROP_SECURE, false); + mFollowReferrals = config.getBoolean(PROP_FOLLOW_REFERRALS, true); + } + + public LdapConnInfo(String host, int port, boolean secure) { + mHost = host; + mPort = port; + mSecure = secure; + if (mHost == null || mPort <= 0) { + // XXX log something here + throw new IllegalArgumentException("LDAP host or port is null"); + } + } + + public LdapConnInfo(String host, int port) { + mHost = host; + mPort = port; + if (mHost == null || mPort <= 0) { + // XXX log something here + throw new IllegalArgumentException("LDAP host or port is null"); + } + } + + public String getHost() { + return mHost; + } + + public int getPort() { + return mPort; + } + + public int getVersion() { + return mVersion; + } + + public boolean getSecure() { + return mSecure; + } + + public boolean getFollowReferrals() { + return mFollowReferrals; + } + +} |