diff options
Diffstat (limited to 'pki/base/common/src/com/netscape/cmscore/base')
8 files changed, 552 insertions, 561 deletions
diff --git a/pki/base/common/src/com/netscape/cmscore/base/ArgBlock.java b/pki/base/common/src/com/netscape/cmscore/base/ArgBlock.java index b231a72f2..10cc7a05f 100644 --- a/pki/base/common/src/com/netscape/cmscore/base/ArgBlock.java +++ b/pki/base/common/src/com/netscape/cmscore/base/ArgBlock.java @@ -17,6 +17,7 @@ // --- END COPYRIGHT BLOCK --- package com.netscape.cmscore.base; + import java.io.IOException; import java.math.BigInteger; import java.security.NoSuchAlgorithmException; @@ -33,10 +34,12 @@ import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.IArgBlock; import com.netscape.certsrv.base.KeyGenInfo; + /** - * This class represents a set of indexed arguments. Each argument is indexed by - * a key, which can be used during the argument retrieval. - * + * This class represents a set of indexed arguments. + * Each argument is indexed by a key, which can be + * used during the argument retrieval. + * * @version $Revision$, $Date$ */ public class ArgBlock implements IArgBlock { @@ -45,45 +48,48 @@ public class ArgBlock implements IArgBlock { * */ private static final long serialVersionUID = -6054531129316353282L; - /* - * ========================================================== variables - * ========================================================== - */ - public static final String CERT_NEW_REQUEST_HEADER = "-----BEGIN NEW CERTIFICATE REQUEST-----"; - public static final String CERT_NEW_REQUEST_TRAILER = "-----END NEW CERTIFICATE REQUEST-----"; - public static final String CERT_REQUEST_HEADER = "-----BEGIN CERTIFICATE REQUEST-----"; - public static final String CERT_REQUEST_TRAILER = "-----END CERTIFICATE REQUEST-----"; - public static final String CERT_RENEWAL_HEADER = "-----BEGIN RENEWAL CERTIFICATE REQUEST-----"; - public static final String CERT_RENEWAL_TRAILER = "-----END RENEWAL CERTIFICATE REQUEST-----"; + /*========================================================== + * variables + *==========================================================*/ + public static final String + CERT_NEW_REQUEST_HEADER = "-----BEGIN NEW CERTIFICATE REQUEST-----"; + public static final String + CERT_NEW_REQUEST_TRAILER = "-----END NEW CERTIFICATE REQUEST-----"; + public static final String + CERT_REQUEST_HEADER = "-----BEGIN CERTIFICATE REQUEST-----"; + public static final String + CERT_REQUEST_TRAILER = "-----END CERTIFICATE REQUEST-----"; + public static final String + CERT_RENEWAL_HEADER = "-----BEGIN RENEWAL CERTIFICATE REQUEST-----"; + public static final String + CERT_RENEWAL_TRAILER = "-----END RENEWAL CERTIFICATE REQUEST-----"; private Hashtable mArgs = new Hashtable(); - private String mType = "unspecified-argblock"; + private String mType = "unspecified-argblock"; - /* - * ========================================================== constructors - * ========================================================== - */ + /*========================================================== + * constructors + *==========================================================*/ /** * Constructs an argument block with the given hashtable values. - * * @param realm the type of argblock - used for debugging the values */ public ArgBlock(String realm, Hashtable httpReq) { - mType = realm; - populate(httpReq); - } - + mType = realm; + populate(httpReq); + } + /** * Constructs an argument block with the given hashtable values. - * + * * @param httpReq hashtable keys and values */ public ArgBlock(Hashtable httpReq) { - populate(httpReq); - } + populate(httpReq); + } - private void populate(Hashtable httpReq) { + private void populate(Hashtable httpReq) { // Add all parameters from the request Enumeration e = httpReq.keys(); @@ -103,19 +109,18 @@ public class ArgBlock implements IArgBlock { public ArgBlock() { } - /* - * ========================================================== public methods - * ========================================================== - */ + /*========================================================== + * public methods + *==========================================================*/ /** * Checks if this argument block contains the given key. - * + * * @param n key * @return true if key is present */ public boolean isValuePresent(String n) { - CMS.traceHashKey(mType, n); + CMS.traceHashKey(mType, n); if (mArgs.get(n) != null) { return true; } else { @@ -125,7 +130,7 @@ public class ArgBlock implements IArgBlock { /** * Adds string-based value into this argument block. - * + * * @param n key * @param v value * @return value @@ -140,33 +145,32 @@ public class ArgBlock implements IArgBlock { /** * Retrieves argument value as string. - * + * * @param n key * @return argument value as string * @exception EBaseException failed to retrieve value */ public String getValueAsString(String n) throws EBaseException { - String t = (String) mArgs.get(n); - CMS.traceHashKey(mType, n, t); + String t= (String)mArgs.get(n); + CMS.traceHashKey(mType, n, t); if (t != null) { return t; } else { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_ATTRIBUTE_NOT_FOUND", n)); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", n)); } } /** * Retrieves argument value as string. - * + * * @param n key * @param def default value to be returned if key is not present * @return argument value as string */ public String getValueAsString(String n, String def) { String val = (String) mArgs.get(n); - CMS.traceHashKey(mType, n, val, def); + CMS.traceHashKey(mType, n, val, def); if (val != null) { return val; @@ -177,36 +181,35 @@ public class ArgBlock implements IArgBlock { /** * Retrieves argument value as integer. - * + * * @param n key * @return argument value as int * @exception EBaseException failed to retrieve value */ public int getValueAsInt(String n) throws EBaseException { if (mArgs.get(n) != null) { - CMS.traceHashKey(mType, n, (String) mArgs.get(n)); + CMS.traceHashKey(mType, n, (String)mArgs.get(n)); try { return new Integer((String) mArgs.get(n)).intValue(); } catch (NumberFormatException e) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INVALID_ATTR_TYPE", n, e.toString())); + throw new EBaseException( + CMS.getUserMessage("CMS_BASE_INVALID_ATTR_TYPE", n, e.toString())); } } else { - CMS.traceHashKey(mType, n, "<notpresent>"); - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_ATTRIBUTE_NOT_FOUND", n)); + CMS.traceHashKey(mType, n, "<notpresent>"); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", n)); } } /** * Retrieves argument value as integer. - * + * * @param n key * @param def default value to be returned if key is not present * @return argument value as int */ public int getValueAsInt(String n, int def) { - CMS.traceHashKey(mType, n, (String) mArgs.get(n), "" + def); + CMS.traceHashKey(mType, n, (String)mArgs.get(n), ""+def); if (mArgs.get(n) != null) { try { return new Integer((String) mArgs.get(n)).intValue(); @@ -220,12 +223,13 @@ public class ArgBlock implements IArgBlock { /** * Retrieves argument value as big integer. - * + * * @param n key * @return argument value as big integer * @exception EBaseException failed to retrieve value */ - public BigInteger getValueAsBigInteger(String n) throws EBaseException { + public BigInteger getValueAsBigInteger(String n) + throws EBaseException { String v = (String) mArgs.get(n); if (v != null) { @@ -235,19 +239,18 @@ public class ArgBlock implements IArgBlock { try { return new BigInteger(v, 16); } catch (NumberFormatException ex) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INVALID_ATTR_TYPE", n, ex.toString())); + throw new EBaseException( + CMS.getUserMessage("CMS_BASE_INVALID_ATTR_TYPE", n, ex.toString())); } } } else { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_ATTRIBUTE_NOT_FOUND", n)); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", n)); } } /** * Retrieves argument value as big integer. - * + * * @param n key * @param def default value to be returned if key is not present * @return argument value as big integer @@ -262,7 +265,7 @@ public class ArgBlock implements IArgBlock { /** * Retrieves argument value as object - * + * * @param n key * @return argument value as object * @exception EBaseException failed to retrieve value @@ -271,14 +274,13 @@ public class ArgBlock implements IArgBlock { if (mArgs.get(n) != null) { return mArgs.get(n); } else { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_ATTRIBUTE_NOT_FOUND", (String) n)); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", (String) n)); } } /** * Retrieves argument value as object - * + * * @param n key * @param def default value to be returned if key is not present * @return argument value as object @@ -293,56 +295,56 @@ public class ArgBlock implements IArgBlock { /** * Gets boolean value. They should be "true" or "false". - * + * * @param name name of the input type * @return boolean type: <code>true</code> or <code>false</code> * @exception EBaseException failed to retrieve value */ - public boolean getValueAsBoolean(String name) throws EBaseException { + public boolean getValueAsBoolean(String name) throws EBaseException { String val = (String) mArgs.get(name); - CMS.traceHashKey(mType, name, val); + CMS.traceHashKey(mType, name, val); if (val != null) { - if (val.equalsIgnoreCase("true") || val.equalsIgnoreCase("on")) + if (val.equalsIgnoreCase("true") || + val.equalsIgnoreCase("on")) return true; else return false; } else { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_ATTRIBUTE_NOT_FOUND", name)); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", name)); } } /** * Gets boolean value. They should be "true" or "false". - * + * * @param name name of the input type * @return boolean type: <code>true</code> or <code>false</code> */ public boolean getValueAsBoolean(String name, boolean def) { boolean val; - try { - val = getValueAsBoolean(name); + try { + val = getValueAsBoolean(name); return val; - } catch (EBaseException e) { - return def; + } catch (EBaseException e) { + return def; } } /** * Gets KeyGenInfo - * + * * @param name name of the input type * @param verify true if signature validation is required * @exception EBaseException * @return KeyGenInfo object */ public KeyGenInfo getValueAsKeyGenInfo(String name, KeyGenInfo def) - throws EBaseException { + throws EBaseException { KeyGenInfo keyGenInfo; - CMS.traceHashKey(mType, name); + CMS.traceHashKey(mType, name); if (mArgs.get(name) != null) { try { keyGenInfo = new KeyGenInfo((String) mArgs.get(name)); @@ -357,9 +359,9 @@ public class ArgBlock implements IArgBlock { } /** - * Gets PKCS10 request. This pkcs10 attribute does not contain header - * information. - * + * Gets PKCS10 request. This pkcs10 attribute does not + * contain header information. + * * @param name name of the input type * @return pkcs10 request * @exception EBaseException failed to retrieve value @@ -368,43 +370,42 @@ public class ArgBlock implements IArgBlock { PKCS10 request; if (mArgs.get(name) != null) { - CMS.traceHashKey(mType, name, (String) mArgs.get(name)); + CMS.traceHashKey(mType, name, (String)mArgs.get(name)); String tempStr = unwrap((String) mArgs.get(name), false); if (tempStr == null) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INVALID_ATTR_VALUE", name, "Empty Content")); + throw new EBaseException( + CMS.getUserMessage("CMS_BASE_INVALID_ATTR_VALUE", name, "Empty Content")); } try { request = decodePKCS10(tempStr); } catch (Exception e) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INVALID_ATTR_VALUE", name, e.toString())); + throw new EBaseException( + CMS.getUserMessage("CMS_BASE_INVALID_ATTR_VALUE", name, e.toString())); } } else { - CMS.traceHashKey(mType, name, "<notpresent>"); - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_ATTRIBUTE_NOT_FOUND", name)); + CMS.traceHashKey(mType, name, "<notpresent>"); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", name)); } return request; } /** - * Gets PKCS10 request. This pkcs10 attribute does not contain header - * information. - * + * Gets PKCS10 request. This pkcs10 attribute does not + * contain header information. + * * @param name name of the input type * @param def default PKCS10 * @return pkcs10 request * @exception EBaseException failed to retrieve value */ public PKCS10 getValueAsRawPKCS10(String name, PKCS10 def) - throws EBaseException { + throws EBaseException { PKCS10 request; - CMS.traceHashKey(mType, name); + CMS.traceHashKey(mType, name); if (mArgs.get(name) != null) { String tempStr = unwrap((String) mArgs.get(name), false); @@ -425,34 +426,33 @@ public class ArgBlock implements IArgBlock { /** * Retrieves PKCS10 - * - * @param name name of the input type + * + * @param name name of the input type * @param checkheader true if header must be present * @return PKCS10 object * @exception EBaseException failed to retrieve value */ - public PKCS10 getValueAsPKCS10(String name, boolean checkheader) - throws EBaseException { + public PKCS10 getValueAsPKCS10(String name, boolean checkheader) + throws EBaseException { PKCS10 request; - CMS.traceHashKey(mType, name); + CMS.traceHashKey(mType, name); if (mArgs.get(name) != null) { String tempStr = unwrap((String) mArgs.get(name), checkheader); if (tempStr == null) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INVALID_ATTR_VALUE", name, "Empty Content")); + throw new EBaseException( + CMS.getUserMessage("CMS_BASE_INVALID_ATTR_VALUE", name, "Empty Content")); } try { request = decodePKCS10(tempStr); } catch (Exception e) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INVALID_ATTR_VALUE", name, e.toString())); + throw new EBaseException( + CMS.getUserMessage("CMS_BASE_INVALID_ATTR_VALUE", name, e.toString())); } } else { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_ATTRIBUTE_NOT_FOUND", name)); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", name)); } return request; @@ -460,18 +460,19 @@ public class ArgBlock implements IArgBlock { /** * Retrieves PKCS10 - * - * @param name name of the input type + * + * @param name name of the input type * @param checkheader true if header must be present * @param def default PKCS10 - * @return PKCS10 object + * @return PKCS10 object * @exception EBaseException */ - public PKCS10 getValueAsPKCS10(String name, boolean checkheader, PKCS10 def) - throws EBaseException { + public PKCS10 getValueAsPKCS10( + String name, boolean checkheader, PKCS10 def) + throws EBaseException { PKCS10 request; - CMS.traceHashKey(mType, name); + CMS.traceHashKey(mType, name); if (mArgs.get(name) != null) { @@ -494,16 +495,17 @@ public class ArgBlock implements IArgBlock { /** * Retrieves PKCS10 - * - * @param name name of the input type + * + * @param name name of the input type * @param def default PKCS10 - * @return PKCS10 object + * @return PKCS10 object * @exception EBaseException */ - public PKCS10 getValuePKCS10(String name, PKCS10 def) throws EBaseException { + public PKCS10 getValuePKCS10(String name, PKCS10 def) + throws EBaseException { PKCS10 request; String p10b64 = (String) mArgs.get(name); - CMS.traceHashKey(mType, name); + CMS.traceHashKey(mType, name); if (p10b64 != null) { @@ -520,7 +522,7 @@ public class ArgBlock implements IArgBlock { /** * Sets argument into this block. - * + * * @param name key * @param ob value */ @@ -530,18 +532,18 @@ public class ArgBlock implements IArgBlock { /** * Retrieves argument. - * + * * @param name key * @return object value */ public Object get(String name) { - CMS.traceHashKey(mType, name); + CMS.traceHashKey(mType, name); return mArgs.get(name); } /** * Deletes argument by the given key. - * + * * @param name key */ public void delete(String name) { @@ -550,7 +552,7 @@ public class ArgBlock implements IArgBlock { /** * Retrieves a list of argument keys. - * + * * @return a list of string-based keys */ public Enumeration getElements() { @@ -559,7 +561,7 @@ public class ArgBlock implements IArgBlock { /** * Retrieves a list of argument keys. - * + * * @return a list of string-based keys */ public Enumeration elements() { @@ -568,7 +570,7 @@ public class ArgBlock implements IArgBlock { /** * Adds long-type arguments to this block. - * + * * @param n key * @param v value * @return value @@ -579,7 +581,7 @@ public class ArgBlock implements IArgBlock { /** * Adds integer-type arguments to this block. - * + * * @param n key * @param v value * @return value @@ -590,7 +592,7 @@ public class ArgBlock implements IArgBlock { /** * Adds boolean-type arguments to this block. - * + * * @param n key * @param v value * @return value @@ -605,7 +607,7 @@ public class ArgBlock implements IArgBlock { /** * Adds integer-type arguments to this block. - * + * * @param n key * @param v value * @param radix radix @@ -615,20 +617,20 @@ public class ArgBlock implements IArgBlock { return mArgs.put(n, v.toString(radix)); } - /* - * ========================================================== private - * methods========================================================== - */ + /*========================================================== + * private methods + *==========================================================*/ + /** * Unwrap PKCS10 Package - * + * * @param request string formated PKCS10 request * @exception EBaseException * @return Base64Encoded PKCS10 request */ private String unwrap(String request, boolean checkHeader) - throws EBaseException { + throws EBaseException { String unwrapped; String header = null; int head = -1; @@ -653,7 +655,7 @@ public class ArgBlock implements IArgBlock { // header. if (!(head == -1 && trail == -1)) { header = CERT_REQUEST_HEADER; - + } } @@ -668,12 +670,10 @@ public class ArgBlock implements IArgBlock { // Now validate if any headers or trailers are in place if (head == -1 && checkHeader) { - throw new EBaseException( - CMS.getUserMessage("CMS_BASE_MISSING_PKCS10_HEADER")); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_MISSING_PKCS10_HEADER")); } if (trail == -1 && checkHeader) { - throw new EBaseException( - CMS.getUserMessage("CMS_BASE_MISSING_PKCS10_TRAILER")); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_MISSING_PKCS10_TRAILER")); } if (header != null) { @@ -695,31 +695,27 @@ public class ArgBlock implements IArgBlock { /** * Decode Der encoded PKCS10 certifictae Request - * + * * @param base64Request Base64 Encoded Certificate Request * @exception Exception * @return PKCS10 */ - private PKCS10 decodePKCS10(String base64Request) throws EBaseException { + private PKCS10 decodePKCS10(String base64Request) + throws EBaseException { PKCS10 pkcs10 = null; try { - byte[] decodedBytes = com.netscape.osutil.OSUtil - .AtoB(base64Request); + byte[] decodedBytes = com.netscape.osutil.OSUtil.AtoB(base64Request); pkcs10 = new PKCS10(decodedBytes); - } catch (NoSuchProviderException e) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INTERNAL_ERROR", e.toString())); - } catch (IOException e) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INTERNAL_ERROR", e.toString())); + } catch (NoSuchProviderException e) { + throw new EBaseException(CMS.getUserMessage("CMS_BASE_INTERNAL_ERROR", e.toString())); + } catch (IOException e) { + throw new EBaseException(CMS.getUserMessage("CMS_BASE_INTERNAL_ERROR", e.toString())); } catch (SignatureException e) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INTERNAL_ERROR", e.toString())); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_INTERNAL_ERROR", e.toString())); } catch (NoSuchAlgorithmException e) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INTERNAL_ERROR", e.toString())); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_INTERNAL_ERROR", e.toString())); } return pkcs10; diff --git a/pki/base/common/src/com/netscape/cmscore/base/FileConfigStore.java b/pki/base/common/src/com/netscape/cmscore/base/FileConfigStore.java index bfeec486b..a4b371142 100644 --- a/pki/base/common/src/com/netscape/cmscore/base/FileConfigStore.java +++ b/pki/base/common/src/com/netscape/cmscore/base/FileConfigStore.java @@ -17,6 +17,7 @@ // --- END COPYRIGHT BLOCK --- package com.netscape.cmscore.base; + import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; @@ -32,19 +33,22 @@ import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.IConfigStore; import com.netscape.cmsutil.util.Utils; + /** - * FileConfigStore: Extends HashConfigStore with methods to load/save from/to - * file for persistent storage. This is a configuration store agent who reads - * data from a file. + * FileConfigStore: + * Extends HashConfigStore with methods to load/save from/to file for + * persistent storage. This is a configuration store agent who + * reads data from a file. * <P> - * Note that a LdapConfigStore can be implemented so that it reads the - * configuration stores from the Ldap directory. + * Note that a LdapConfigStore can be implemented so that it reads + * the configuration stores from the Ldap directory. * <P> * * @version $Revision$, $Date$ * @see PropConfigStore */ -public class FileConfigStore extends PropConfigStore implements IConfigStore { +public class FileConfigStore extends PropConfigStore implements + IConfigStore { /** * @@ -55,7 +59,7 @@ public class FileConfigStore extends PropConfigStore implements IConfigStore { /** * Constructs a file configuration store. * <P> - * + * * @param fileName file name * @exception EBaseException failed to create file configuration */ @@ -63,8 +67,8 @@ public class FileConfigStore extends PropConfigStore implements IConfigStore { super(null); // top-level store without a name mFile = new File(fileName); if (!mFile.exists()) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_NO_CONFIG_FILE", mFile.getPath())); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_NO_CONFIG_FILE", + mFile.getPath())); } load(fileName); } @@ -72,7 +76,7 @@ public class FileConfigStore extends PropConfigStore implements IConfigStore { /** * Loads property file into memory. * <P> - * + * * @param fileName file name * @exception EBaseException failed to load configuration */ @@ -89,66 +93,69 @@ public class FileConfigStore extends PropConfigStore implements IConfigStore { /** * The original config file is copied to - * <filename>.<current_time_in_milliseconds>. Commits the current properties - * to the configuration file. + * <filename>.<current_time_in_milliseconds>. + * Commits the current properties to the configuration file. * <P> - * - * @param backup + * + * @param backup */ public void commit(boolean createBackup) throws EBaseException { if (createBackup) { - File newName = new File(mFile.getPath() + "." - + Long.toString(System.currentTimeMillis())); + File newName = new File(mFile.getPath() + "." + + Long.toString(System.currentTimeMillis())); try { - if (Utils.isNT()) { + if( Utils.isNT() ) { // NT is very picky on the path - Utils.exec("copy " - + mFile.getAbsolutePath().replace('/', '\\') + " " - + newName.getAbsolutePath().replace('/', '\\')); + Utils.exec( "copy " + + mFile.getAbsolutePath().replace( '/', '\\' ) + + " " + + newName.getAbsolutePath().replace( '/', + '\\' ) ); } else { // Create a copy of the original file which // preserves the original file permissions. - Utils.exec("cp -p " + mFile.getAbsolutePath() + " " - + newName.getAbsolutePath()); + Utils.exec( "cp -p " + mFile.getAbsolutePath() + " " + + newName.getAbsolutePath() ); } // Proceed only if the backup copy was successful. - if (!newName.exists()) { - throw new EBaseException("backup copy failed"); + if( !newName.exists() ) { + throw new EBaseException( "backup copy failed" ); } else { // Make certain that the backup file has // the correct permissions. - if (!Utils.isNT()) { - Utils.exec("chmod 00660 " + newName.getAbsolutePath()); + if( !Utils.isNT() ) { + Utils.exec( "chmod 00660 " + newName.getAbsolutePath() ); } } - } catch (EBaseException e) { - throw new EBaseException("backup copy failed"); + } catch( EBaseException e ) { + throw new EBaseException( "backup copy failed" ); } } // Overwrite the contents of the original file // to preserve the original file permissions. - save(mFile.getPath()); + save( mFile.getPath() ); try { // Make certain that the original file retains // the correct permissions. - if (!Utils.isNT()) { - Utils.exec("chmod 00660 " + mFile.getCanonicalPath()); + if( !Utils.isNT() ) { + Utils.exec( "chmod 00660 " + mFile.getCanonicalPath() ); } - } catch (Exception e) { + } catch( Exception e ) { } } /** * Saves in-memory properties to a specified file. * <P> - * Note that the superclass's save is synchronized. It means no properties - * can be altered (inserted) at the saving time. + * Note that the superclass's save is synchronized. It + * means no properties can be altered (inserted) at + * the saving time. * <P> - * + * * @param fileName filename * @exception EBaseException failed to save configuration */ @@ -166,7 +173,8 @@ public class FileConfigStore extends PropConfigStore implements IConfigStore { } private void printSubStore(PrintWriter writer, IConfigStore store, - String name) throws EBaseException, IOException { + String name) throws EBaseException, + IOException { // print keys Enumeration e0 = store.getPropertyNames(); Vector v = new Vector(); @@ -211,7 +219,8 @@ public class FileConfigStore extends PropConfigStore implements IConfigStore { } } v.removeElementAt(j); - printSubStore(writer, store.getSubStore(pname), name + pname + "."); + printSubStore(writer, store.getSubStore(pname), name + + pname + "."); } } } diff --git a/pki/base/common/src/com/netscape/cmscore/base/JDialogPasswordCallback.java b/pki/base/common/src/com/netscape/cmscore/base/JDialogPasswordCallback.java index 4b17248fe..cd6959676 100644 --- a/pki/base/common/src/com/netscape/cmscore/base/JDialogPasswordCallback.java +++ b/pki/base/common/src/com/netscape/cmscore/base/JDialogPasswordCallback.java @@ -17,6 +17,7 @@ // --- END COPYRIGHT BLOCK --- package com.netscape.cmscore.base; + import java.awt.Color; import java.awt.Dimension; import java.awt.Font; @@ -43,18 +44,19 @@ import org.mozilla.jss.util.Password; import org.mozilla.jss.util.PasswordCallback; import org.mozilla.jss.util.PasswordCallbackInfo; + /** * A class to retrieve passwords through a modal Java dialog box */ public class JDialogPasswordCallback implements PasswordCallback { public Password getPasswordFirstAttempt(PasswordCallbackInfo info) - throws PasswordCallback.GiveUpException { + throws PasswordCallback.GiveUpException { return getPW(info, false); } public Password getPasswordAgain(PasswordCallbackInfo info) - throws PasswordCallback.GiveUpException { + throws PasswordCallback.GiveUpException { return getPW(info, true); } @@ -86,27 +88,27 @@ public class JDialogPasswordCallback implements PasswordCallback { } /** - * This method does the work of displaying the dialog box, extracting the - * information, and returning it. + * This method does the work of displaying the dialog box, + * extracting the information, and returning it. */ private Password getPW(PasswordCallbackInfo info, boolean retry) - throws PasswordCallback.GiveUpException { + throws PasswordCallback.GiveUpException { // These need to final so they can be accessed from action listeners final PWHolder pwHolder = new PWHolder(); final JFrame f = new JFrame("Password Dialog"); final JPasswordField pwField = new JPasswordField(15); - // ///////////////////////////////////////////////// + /////////////////////////////////////////////////// // Panel - // ///////////////////////////////////////////////// + /////////////////////////////////////////////////// JPanel contentPane = new JPanel(new GridBagLayout()); contentPane.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); GridBagConstraints c = new GridBagConstraints(); - // ////////////////////////////////////////////////// + //////////////////////////////////////////////////// // Labels - // ////////////////////////////////////////////////// + //////////////////////////////////////////////////// if (retry) { JLabel warning = new JLabel("Password incorrect."); @@ -117,47 +119,47 @@ public class JDialogPasswordCallback implements PasswordCallback { c.gridwidth = GridBagConstraints.REMAINDER; // Setting this to NULL causes nasty Exception stack traces // to be printed, although the program still seems to work - // warning.setHighlighter(null); + //warning.setHighlighter(null); contentPane.add(warning, c); } - + String prompt = getPrompt(info); JLabel label = new JLabel(prompt); label.setForeground(Color.black); // Setting this to NULL causes nasty Exception stack traces // to be printed, although the program still seems to work - // label.setHighlighter(null); + //label.setHighlighter(null); resetGBC(c); c.anchor = GridBagConstraints.NORTHWEST; c.gridwidth = GridBagConstraints.REMAINDER; contentPane.add(label, c); - // ///////////////////////////////////////////////// + /////////////////////////////////////////////////// // Password text field - // ///////////////////////////////////////////////// + /////////////////////////////////////////////////// // Listener for the text field ActionListener getPasswordListener = new ActionListener() { - public void actionPerformed(ActionEvent e) { - // input = (JPasswordField)e.getSource(); + public void actionPerformed(ActionEvent e) { + //input = (JPasswordField)e.getSource(); - // XXX!!! Change to char[] in JDK 1.2 - String pwString = pwField.getText(); + // XXX!!! Change to char[] in JDK 1.2 + String pwString = pwField.getText(); - pwHolder.password = new Password(pwString.toCharArray()); - pwHolder.cancelled = false; - f.dispose(); - } - }; + pwHolder.password = new Password(pwString.toCharArray()); + pwHolder.cancelled = false; + f.dispose(); + } + }; // There is a bug in JPasswordField. The cursor is advanced by the // width of the character you type, but a '*' is echoed, so the // cursor does not stay lined up with the end of the text. // We use a monospaced font to workaround this. - pwField.setFont(new Font("Monospaced", Font.PLAIN, pwField.getFont() - .getSize())); + pwField.setFont(new Font("Monospaced", Font.PLAIN, + pwField.getFont().getSize())); pwField.setEchoChar('*'); pwField.addActionListener(getPasswordListener); resetGBC(c); @@ -165,12 +167,12 @@ public class JDialogPasswordCallback implements PasswordCallback { c.fill = GridBagConstraints.NONE; c.insets = new Insets(16, 0, 0, 0); c.gridwidth = GridBagConstraints.REMAINDER; - // c.gridy++; + //c.gridy++; contentPane.add(pwField, c); - // ///////////////////////////////////////////////// + /////////////////////////////////////////////////// // Cancel button - // ///////////////////////////////////////////////// + /////////////////////////////////////////////////// JPanel buttonPanel = new JPanel(new GridBagLayout()); @@ -186,11 +188,11 @@ public class JDialogPasswordCallback implements PasswordCallback { JButton cancel = new JButton("Cancel"); ActionListener buttonListener = new ActionListener() { - public void actionPerformed(ActionEvent e) { - pwHolder.cancelled = true; - f.dispose(); - } - }; + public void actionPerformed(ActionEvent e) { + pwHolder.cancelled = true; + f.dispose(); + } + }; cancel.addActionListener(buttonListener); resetGBC(c); @@ -209,16 +211,16 @@ public class JDialogPasswordCallback implements PasswordCallback { c.insets = new Insets(0, 0, 0, 0); contentPane.add(buttonPanel, c); - // ///////////////////////////////////////////////// + /////////////////////////////////////////////////// // Create modal dialog - // ///////////////////////////////////////////////// + /////////////////////////////////////////////////// JDialog d = new JDialog(f, "Fedora Certificate System", true); WindowListener windowListener = new WindowAdapter() { - public void windowOpened(WindowEvent e) { - pwField.requestFocus(); - } - }; + public void windowOpened(WindowEvent e) { + pwField.requestFocus(); + } + }; d.addWindowListener(windowListener); @@ -228,17 +230,17 @@ public class JDialogPasswordCallback implements PasswordCallback { Dimension paneSize = d.getSize(); d.setLocation((screenSize.width - paneSize.width) / 2, - (screenSize.height - paneSize.height) / 2); + (screenSize.height - paneSize.height) / 2); d.getRootPane().setDefaultButton(ok); // toFront seems to cause the dialog to go blank on unix! - // d.toFront(); + //d.toFront(); d.show(); - // ///////////////////////////////////////////////// + /////////////////////////////////////////////////// // Return results - // ///////////////////////////////////////////////// + /////////////////////////////////////////////////// if (pwHolder.cancelled) { throw new PasswordCallback.GiveUpException(); } @@ -251,8 +253,8 @@ public class JDialogPasswordCallback implements PasswordCallback { try { CryptoManager manager; - CryptoManager.InitializationValues iv = new CryptoManager.InitializationValues( - args[0]); + CryptoManager.InitializationValues iv = new + CryptoManager.InitializationValues(args[0]); CryptoManager.initialize(iv); manager = CryptoManager.getInstance(); diff --git a/pki/base/common/src/com/netscape/cmscore/base/PropConfigStore.java b/pki/base/common/src/com/netscape/cmscore/base/PropConfigStore.java index bb3f32b74..e54b19d90 100644 --- a/pki/base/common/src/com/netscape/cmscore/base/PropConfigStore.java +++ b/pki/base/common/src/com/netscape/cmscore/base/PropConfigStore.java @@ -17,6 +17,7 @@ // --- END COPYRIGHT BLOCK --- package com.netscape.cmscore.base; + import java.io.ByteArrayOutputStream; import java.io.FilterOutputStream; import java.io.IOException; @@ -37,22 +38,23 @@ import com.netscape.certsrv.base.EPropertyNotFound; import com.netscape.certsrv.base.IConfigStore; import com.netscape.certsrv.base.ISourceConfigStore; + /** - * A class represents a in-memory configuration store. Note this class takes - * advantage of the recursive nature of property names. The current property - * prefix is kept in mStoreName and the mSource usually points back to another + * A class represents a in-memory configuration store. + * Note this class takes advantage of the recursive nature of + * property names. The current property prefix is kept in + * mStoreName and the mSource usually points back to another * occurance of the same PropConfigStore, with longer mStoreName. IE - * * <PRE> - * cms.ca0.http.service0 -> mSource=PropConfigStore -> - * cms.ca0.http -> mSource=PropConfigStore -> - * cms.ca0 -> mSource=PropConfigStore -> + * cms.ca0.http.service0 -> mSource=PropConfigStore -> + * cms.ca0.http -> mSource=PropConfigStore -> + * cms.ca0 -> mSource=PropConfigStore -> * cms -> mSource=SourceConfigStore -> Properties * </PRE> - * - * The chain ends when the store name is reduced down to it's original value. + * The chain ends when the store name is reduced down to it's original + * value. * <P> - * + * * @version $Revision$, $Date$ */ public class PropConfigStore implements IConfigStore, Cloneable { @@ -74,13 +76,14 @@ public class PropConfigStore implements IConfigStore, Cloneable { */ protected ISourceConfigStore mSource = null; - private static String mDebugType = "CS.cfg"; + private static String mDebugType="CS.cfg"; /** - * Constructs a property configuration store. This must be a brand new store - * without properties. The subclass must be a ISourceConfigStore. + * Constructs a property configuration store. This must + * be a brand new store without properties. The subclass + * must be a ISourceConfigStore. * <P> - * + * * @param storeName property store name * @exception EBaseException failed to create configuration */ @@ -90,11 +93,12 @@ public class PropConfigStore implements IConfigStore, Cloneable { } /** - * Constructs a configuration store. The constructor is a helper class for - * substores. Source is the one that stores all the parameters. Each - * substore only store a substore name, and a reference to the source. + * Constructs a configuration store. The constructor is + * a helper class for substores. Source is the one + * that stores all the parameters. Each substore only + * store a substore name, and a reference to the source. * <P> - * + * * @param storeName store name * @param prop list of properties * @exception EBaseException failed to create configuration @@ -107,7 +111,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Returns the name of this store. * <P> - * + * * @return store name */ public String getName() { @@ -117,7 +121,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Retrieves a property from the configuration file. * <P> - * + * * @param name property name * @return property value */ @@ -126,10 +130,10 @@ public class PropConfigStore implements IConfigStore, Cloneable { } /** - * Retrieves a property from the configuration file. Does not prepend the - * config store name to the property. + * Retrieves a property from the configuration file. Does not prepend + * the config store name to the property. * <P> - * + * * @param name property name * @return property value */ @@ -138,10 +142,11 @@ public class PropConfigStore implements IConfigStore, Cloneable { } /** - * Puts a property into the configuration file. The values wont be updated - * to the file until save method is invoked. + * Puts a property into the configuration file. The + * values wont be updated to the file until save + * method is invoked. * <P> - * + * * @param name property name * @param value property value */ @@ -151,17 +156,16 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Removes a property from the configuration file. - * + * * @param name property name */ public void remove(String name) { ((SourceConfigStore) mSource).remove(getFullName(name)); - } + } /** * Returns an enumeration of the config store's keys, hidding the store * name. - * * @see java.util.Hashtable#elements * @see java.util.Enumeration */ @@ -174,7 +178,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Retrieves the hashtable where all the properties are kept. - * + * * @return hashtable */ public Hashtable hashtable() { @@ -195,16 +199,16 @@ public class PropConfigStore implements IConfigStore, Cloneable { } /** - * Fills the given hash table with all key/value pairs in the current config - * store, removing the config store name prefix + * Fills the given hash table with all key/value pairs in the current + * config store, removing the config store name prefix * <P> - * + * * @param h the hashtable */ private synchronized void enumerate(Hashtable h) { Enumeration e = mSource.keys(); // We only want the keys which match the current substore name - // without the current substore prefix. This code works even + // without the current substore prefix. This code works even // if mStoreName is null. String fullName = getFullName(""); int kIndex = fullName.length(); @@ -220,7 +224,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Reads a config store from an input stream. - * + * * @param in input stream where properties are located * @exception IOException failed to load */ @@ -230,7 +234,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Stores this config store to the specified output stream. - * + * * @param out outputstream where the properties are saved * @param header optional header information to be saved */ @@ -240,7 +244,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Retrieves a property value. - * + * * @param name property key * @return property value * @exception EBaseException failed to retrieve value @@ -249,30 +253,28 @@ public class PropConfigStore implements IConfigStore, Cloneable { String str = (String) get(name); if (str == null) { - CMS.traceHashKey(mDebugType, getFullName(name), "<notpresent>"); - throw new EPropertyNotFound(CMS.getUserMessage( - "CMS_BASE_GET_PROPERTY_FAILED", getName() + "." + name)); + CMS.traceHashKey(mDebugType,getFullName(name),"<notpresent>"); + throw new EPropertyNotFound(CMS.getUserMessage("CMS_BASE_GET_PROPERTY_FAILED", getName() + "." + name)); } - // should we check for empty string ? + // should we check for empty string ? // if (str.length() == 0) { - // throw new EPropertyNotDefined(getName() + "." + name); + // throw new EPropertyNotDefined(getName() + "." + name); // } String ret = null; try { ret = new String(str.getBytes(), "UTF8").trim(); } catch (java.io.UnsupportedEncodingException e) { - throw new EBaseException( - CMS.getUserMessage("CMS_BASE_UTF8_NOT_SUPPORTED")); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_UTF8_NOT_SUPPORTED")); } - CMS.traceHashKey(mDebugType, getFullName(name), ret); + CMS.traceHashKey(mDebugType,getFullName(name),ret); return ret; } /** * Retrieves a String from the configuration file. * <P> - * + * * @param name property name * @param defval the default object to return if name does not exist * @return property value @@ -285,13 +287,13 @@ public class PropConfigStore implements IConfigStore, Cloneable { } catch (EPropertyNotFound e) { val = defval; } - CMS.traceHashKey(mDebugType, getFullName(name), val, defval); + CMS.traceHashKey(mDebugType,getFullName(name),val,defval); return val; } /** * Puts property value into this configuration store. - * + * * @param name property key * @param value property value */ @@ -302,19 +304,18 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Retrieves a byte array from the configuration file. * <P> - * + * * @param name property name * @exception IllegalArgumentException if name is not set or is null. - * + * * @return property value */ public byte[] getByteArray(String name) throws EBaseException { byte[] arr = getByteArray(name, new byte[0]); if (arr.length == 0) { - CMS.traceHashKey(mDebugType, getFullName(name), "<notpresent>"); - throw new EPropertyNotFound(CMS.getUserMessage( - "CMS_BASE_GET_PROPERTY_FAILED", getName() + "." + name)); + CMS.traceHashKey(mDebugType,getFullName(name),"<notpresent>"); + throw new EPropertyNotFound(CMS.getUserMessage("CMS_BASE_GET_PROPERTY_FAILED", getName() + "." + name)); } return arr; } @@ -322,39 +323,41 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Retrieves a byte array from the configuration file. * <P> - * + * * @param name property name - * @param defval the default byte array to return if name does not exist - * + * @param defval the default byte array to return if name does + * not exist + * * @return property value */ - public byte[] getByteArray(String name, byte defval[]) - throws EBaseException { + public byte[] getByteArray(String name, byte defval[]) + throws EBaseException { String str = (String) get(name); - byte returnval; + byte returnval; - if (str == null || str.length() == 0) { - CMS.traceHashKey(mDebugType, getFullName(name), "<notpresent>", - "<bytearray>"); - return defval; - } else { - CMS.traceHashKey(mDebugType, getFullName(name), "<bytearray>", - "<bytearray>"); - return com.netscape.osutil.OSUtil.AtoB(str); - } + if (str == null || str.length() == 0) { + CMS.traceHashKey(mDebugType,getFullName(name), + "<notpresent>","<bytearray>"); + return defval; + } + else { + CMS.traceHashKey(mDebugType,getFullName(name), + "<bytearray>","<bytearray>"); + return com.netscape.osutil.OSUtil.AtoB(str); + } } /** * Puts byte array into this configuration store. - * + * * @param name property key * @param value byte array */ public void putByteArray(String name, byte value[]) { ByteArrayOutputStream output = new ByteArrayOutputStream(); - Base64OutputStream b64 = new Base64OutputStream(new PrintStream( - new FilterOutputStream(output))); + Base64OutputStream b64 = new Base64OutputStream(new + PrintStream(new FilterOutputStream(output))); try { b64.write(value); @@ -364,14 +367,14 @@ public class PropConfigStore implements IConfigStore, Cloneable { // internationalization problems here put(name, output.toString("8859_1")); } catch (IOException e) { - System.out.println("Warning: base-64 encoding of configuration " - + "information failed"); + System.out.println("Warning: base-64 encoding of configuration " + + "information failed"); } } /** * Retrieves boolean-based property value. - * + * * @param name property key * @return boolean value * @exception EBaseException failed to retrieve @@ -380,13 +383,11 @@ public class PropConfigStore implements IConfigStore, Cloneable { String value = (String) get(name); if (value == null) { - CMS.traceHashKey(mDebugType, getFullName(name), "<notpresent>"); - throw new EPropertyNotFound(CMS.getUserMessage( - "CMS_BASE_GET_PROPERTY_FAILED", getName() + "." + name)); + CMS.traceHashKey(mDebugType,getFullName(name),"<notpresent>"); + throw new EPropertyNotFound(CMS.getUserMessage("CMS_BASE_GET_PROPERTY_FAILED", getName() + "." + name)); } if (value.length() == 0) { - throw new EPropertyNotDefined(CMS.getUserMessage( - "CMS_BASE_GET_PROPERTY_NOVALUE", getName() + "." + name)); + throw new EPropertyNotDefined(CMS.getUserMessage("CMS_BASE_GET_PROPERTY_NOVALUE", getName() + "." + name)); } if (value.equalsIgnoreCase("true")) { @@ -394,22 +395,20 @@ public class PropConfigStore implements IConfigStore, Cloneable { } else if (value.equalsIgnoreCase("false")) { return false; } else { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INVALID_PROPERTY_1", getName() + "." + name, - "boolean", "\"true\" or \"false\"")); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_PROPERTY_1", getName() + "." + name, "boolean", "\"true\" or \"false\"")); } } /** * Retrieves boolean-based property value. - * + * * @param name property key * @param defval default value * @return boolean value * @exception EBaseException failed to retrieve */ - public boolean getBoolean(String name, boolean defval) - throws EBaseException { + public boolean getBoolean(String name, boolean defval) + throws EBaseException { boolean val; try { @@ -419,14 +418,14 @@ public class PropConfigStore implements IConfigStore, Cloneable { } catch (EPropertyNotDefined e) { val = defval; } - CMS.traceHashKey(mDebugType, getFullName(name), val ? "true" : "false", - defval ? "true" : "false"); + CMS.traceHashKey(mDebugType,getFullName(name), + val?"true":"false", defval?"true":"false"); return val; } /** * Puts boolean value into the configuration store. - * + * * @param name property key * @param value property value */ @@ -440,7 +439,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Retrieves integer value. - * + * * @param name property key * @return property value * @exception EBaseException failed to retrieve value @@ -449,27 +448,23 @@ public class PropConfigStore implements IConfigStore, Cloneable { String value = (String) get(name); if (value == null) { - CMS.traceHashKey(mDebugType, getFullName(name), "<notpresent>"); - throw new EPropertyNotFound(CMS.getUserMessage( - "CMS_BASE_GET_PROPERTY_FAILED", getName() + "." + name)); + CMS.traceHashKey(mDebugType,getFullName(name),"<notpresent>"); + throw new EPropertyNotFound(CMS.getUserMessage("CMS_BASE_GET_PROPERTY_FAILED", getName() + "." + name)); } if (value.length() == 0) { - throw new EPropertyNotDefined(CMS.getUserMessage( - "CMS_BASE_GET_PROPERTY_NOVALUE", getName() + "." + name)); + throw new EPropertyNotDefined(CMS.getUserMessage("CMS_BASE_GET_PROPERTY_NOVALUE", getName() + "." + name)); } try { - CMS.traceHashKey(mDebugType, getFullName(name), value); + CMS.traceHashKey(mDebugType,getFullName(name), value); return Integer.parseInt(value); } catch (NumberFormatException e) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INVALID_PROPERTY_1", getName() + "." + name, - "int", "number")); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_PROPERTY_1", getName() + "." + name, "int", "number")); } } /** * Retrieves integer value. - * + * * @param name property key * @param defval default value * @return property value @@ -485,13 +480,14 @@ public class PropConfigStore implements IConfigStore, Cloneable { } catch (EPropertyNotDefined e) { val = defval; } - CMS.traceHashKey(mDebugType, getFullName(name), "" + val, "" + defval); + CMS.traceHashKey(mDebugType,getFullName(name), + ""+val,""+defval); return val; } /** * Puts an integer value. - * + * * @param name property key * @param val property value * @exception EBaseException failed to retrieve value @@ -502,7 +498,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Retrieves big integer value. - * + * * @param name property key * @return property value * @exception EBaseException failed to retrieve value @@ -511,13 +507,11 @@ public class PropConfigStore implements IConfigStore, Cloneable { String value = (String) get(name); if (value == null) { - CMS.traceHashKey(mDebugType, getFullName(name), "<notpresent>"); - throw new EPropertyNotFound(CMS.getUserMessage( - "CMS_BASE_GET_PROPERTY_FAILED", getName() + "." + name)); + CMS.traceHashKey(mDebugType,getFullName(name),"<notpresent>"); + throw new EPropertyNotFound(CMS.getUserMessage("CMS_BASE_GET_PROPERTY_FAILED", getName() + "." + name)); } if (value.length() == 0) { - throw new EPropertyNotDefined(CMS.getUserMessage( - "CMS_BASE_GET_PROPERTY_NOVALUE", getName() + "." + name)); + throw new EPropertyNotDefined(CMS.getUserMessage("CMS_BASE_GET_PROPERTY_NOVALUE", getName() + "." + name)); } try { if (value.startsWith("0x") || value.startsWith("0X")) { @@ -527,22 +521,20 @@ public class PropConfigStore implements IConfigStore, Cloneable { } return new BigInteger(value); } catch (NumberFormatException e) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_INVALID_PROPERTY_1", getName() + "." + name, - "BigInteger", "number")); + throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_PROPERTY_1", getName() + "." + name, "BigInteger", "number")); } } /** * Retrieves integer value. - * + * * @param name property key * @param defval default value * @return property value * @exception EBaseException failed to retrieve value */ - public BigInteger getBigInteger(String name, BigInteger defval) - throws EBaseException { + public BigInteger getBigInteger(String name, BigInteger defval) + throws EBaseException { BigInteger val; try { @@ -557,7 +549,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Puts a big integer value. - * + * * @param name property key * @param val default value */ @@ -568,33 +560,37 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Creates a new sub store. * <P> - * + * * @param name substore name * @return substore */ public IConfigStore makeSubStore(String name) { /* - * String names=(String)mSource.get(getFullName(PROP_SUBSTORES)); - * - * if (names==null) { names=name; } else { names=names+","+name; } - * mSource.put(getFullName(PROP_SUBSTORES), name); + String names=(String)mSource.get(getFullName(PROP_SUBSTORES)); + + if (names==null) { + names=name; + } + else { + names=names+","+name; + } + mSource.put(getFullName(PROP_SUBSTORES), name); */ return new PropConfigStore(getFullName(name), mSource); } /** - * Removes a sub store. - * <p> - * + * Removes a sub store.<p> + * * @param name substore name */ public void removeSubStore(String name) { // this operation is expensive!!! - + Enumeration e = mSource.keys(); // We only want the keys which match the current substore name - // without the current substore prefix. This code works even + // without the current substore prefix. This code works even // if mStoreName is null. String fullName = getFullName(name); int kIndex = fullName.length(); @@ -609,22 +605,20 @@ public class PropConfigStore implements IConfigStore, Cloneable { } /** - * Retrieves a sub store. A substore contains a list of properties and - * substores. For example, - * + * Retrieves a sub store. A substore contains a list + * of properties and substores. For example, * <PRE> * cms.ldap.host=ds.netscape.com * cms.ldap.port=389 * </PRE> - * - * "ldap" is a substore in above example. If the substore property itself is - * set, this method will treat the value as a reference. For example, - * + * "ldap" is a substore in above example. If the + * substore property itself is set, this method + * will treat the value as a reference. For example, * <PRE> - * cms.ldap = kms.ldap + * cms.ldap=kms.ldap * </PRE> * <P> - * + * * @param name substore name * @return substore */ @@ -645,7 +639,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Retrieves a list of property names. - * + * * @return a list of string-based property names */ public Enumeration getPropertyNames() { @@ -674,7 +668,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Returns a list of sub store names. * <P> - * + * * @return list of substore names */ public Enumeration getSubStoreNames() { @@ -701,9 +695,10 @@ public class PropConfigStore implements IConfigStore, Cloneable { } /** - * Retrieves the source configuration store where the properties are stored. + * Retrieves the source configuration store where + * the properties are stored. * <P> - * + * * @return source configuration store */ public ISourceConfigStore getSourceConfigStore() { @@ -711,7 +706,8 @@ public class PropConfigStore implements IConfigStore, Cloneable { } /** - * For debugging purposes. Prints properties of this substore. + * For debugging purposes. Prints properties of this + * substore. */ public void printProperties() { Enumeration keys = mSource.keys(); @@ -730,7 +726,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Converts the substore parameters. - * + * * @param name property name * @return fill property name */ @@ -743,7 +739,7 @@ public class PropConfigStore implements IConfigStore, Cloneable { /** * Cloning of property configuration store. - * + * * @return a new configuration store */ public Object clone() { @@ -755,15 +751,18 @@ public class PropConfigStore implements IConfigStore, Cloneable { Enumeration subs = getSubStoreNames(); while (subs.hasMoreElements()) { - IConfigStore sub = (IConfigStore) subs.nextElement(); - IConfigStore newSub = that.makeSubStore(sub.getName()); + IConfigStore sub = (IConfigStore) + subs.nextElement(); + IConfigStore newSub = that.makeSubStore( + sub.getName()); Enumeration props = sub.getPropertyNames(); while (props.hasMoreElements()) { String n = (String) props.nextElement(); try { - newSub.putString(n, sub.getString(n)); + newSub.putString(n, + sub.getString(n)); } catch (EBaseException ex) { } } diff --git a/pki/base/common/src/com/netscape/cmscore/base/SimpleProperties.java b/pki/base/common/src/com/netscape/cmscore/base/SimpleProperties.java index 4f2d3af37..684f8a8ed 100644 --- a/pki/base/common/src/com/netscape/cmscore/base/SimpleProperties.java +++ b/pki/base/common/src/com/netscape/cmscore/base/SimpleProperties.java @@ -17,6 +17,7 @@ // --- END COPYRIGHT BLOCK --- package com.netscape.cmscore.base; + import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; @@ -30,24 +31,26 @@ import java.util.Date; import java.util.Enumeration; import java.util.Hashtable; + /** - * The <code>Properties</code> class represents a persistent set of properties. - * The <code>Properties</code> can be saved to a stream or loaded from a stream. - * Each key and its corresponding value in the property list is a string. + * The <code>Properties</code> class represents a persistent set of + * properties. The <code>Properties</code> can be saved to a stream + * or loaded from a stream. Each key and its corresponding value in + * the property list is a string. * <p> - * A property list can contain another property list as its "defaults"; this - * second property list is searched if the property key is not found in the - * original property list. - * + * A property list can contain another property list as its + * "defaults"; this second property list is searched if + * the property key is not found in the original property list. + * * Because <code>Properties</code> inherits from <code>Hashtable</code>, the * <code>put</code> and <code>putAll</code> methods can be applied to a - * <code>Properties</code> object. Their use is strongly discouraged as they + * <code>Properties</code> object. Their use is strongly discouraged as they * allow the caller to insert entries whose keys or values are not - * <code>Strings</code>. The <code>setProperty</code> method should be used - * instead. If the <code>store</code> or <code>save</code> method is called on a - * "compromised" <code>Properties</code> object that contains a non- - * <code>String</code> key or value, the call will fail. - * + * <code>Strings</code>. The <code>setProperty</code> method should be used + * instead. If the <code>store</code> or <code>save</code> method is called + * on a "compromised" <code>Properties</code> object that contains a + * non-<code>String</code> key or value, the call will fail. + * */ public class SimpleProperties extends Hashtable { @@ -57,9 +60,9 @@ public class SimpleProperties extends Hashtable { private static final long serialVersionUID = -6129810287662322712L; /** - * A property list that contains default values for any keys not found in - * this property list. - * + * A property list that contains default values for any keys not + * found in this property list. + * * @serial */ protected SimpleProperties defaults; @@ -73,19 +76,18 @@ public class SimpleProperties extends Hashtable { /** * Creates an empty property list with the specified defaults. - * - * @param defaults the defaults. + * + * @param defaults the defaults. */ public SimpleProperties(SimpleProperties defaults) { this.defaults = defaults; } /** - * Calls the hashtable method <code>put</code>. Provided for parallelism - * with the getProperties method. Enforces use of strings for property keys - * and values. - * - * @since JDK1.2 + * Calls the hashtable method <code>put</code>. Provided for + * parallelism with the getProperties method. Enforces use of + * strings for property keys and values. + * @since JDK1.2 */ public synchronized Object setProperty(String key, String value) { return put(key, value); @@ -102,88 +104,79 @@ public class SimpleProperties extends Hashtable { /** * Reads a property list (key and element pairs) from the input stream. * <p> - * Every property occupies one line of the input stream. Each line is - * terminated by a line terminator (<code>\n</code> or <code>\r</code> or - * <code>\r\n</code>). Lines from the input stream are processed until end - * of file is reached on the input stream. + * Every property occupies one line of the input stream. Each line + * is terminated by a line terminator (<code>\n</code> or <code>\r</code> + * or <code>\r\n</code>). Lines from the input stream are processed until + * end of file is reached on the input stream. * <p> * A line that contains only whitespace or whose first non-whitespace - * character is an ASCII <code>#</code> or <code>!</code> is ignored (thus, - * <code>#</code> or <code>!</code> indicate comment lines). + * character is an ASCII <code>#</code> or <code>!</code> is ignored + * (thus, <code>#</code> or <code>!</code> indicate comment lines). * <p> * Every line other than a blank line or a comment line describes one * property to be added to the table (except that if a line ends with \, - * then the following line, if it exists, is treated as a continuation line, - * as described below). The key consists of all the characters in the line - * starting with the first non-whitespace character and up to, but not - * including, the first ASCII <code>=</code>, <code>:</code>, or whitespace - * character. All of the key termination characters may be included in the - * key by preceding them with a \. Any whitespace after the key is skipped; - * if the first non-whitespace character after the key is <code>=</code> or - * <code>:</code>, then it is ignored and any whitespace characters after it - * are also skipped. All remaining characters on the line become part of the - * associated element string. Within the element string, the ASCII escape - * sequences <code>\t</code>, <code>\n</code>, <code>\r</code>, - * <code>\\</code>, <code>\"</code>, <code>\'</code>, <code>\  </code> - *  (a backslash and a space), and <code>\\u</code><i>xxxx</i> are - * recognized and converted to single characters. Moreover, if the last - * character on the line is <code>\</code>, then the next line is treated as - * a continuation of the current line; the <code>\</code> and line - * terminator are simply discarded, and any leading whitespace characters on - * the continuation line are also discarded and are not part of the element - * string. + * then the following line, if it exists, is treated as a continuation + * line, as described + * below). The key consists of all the characters in the line starting + * with the first non-whitespace character and up to, but not including, + * the first ASCII <code>=</code>, <code>:</code>, or whitespace + * character. All of the key termination characters may be included in + * the key by preceding them with a \. + * Any whitespace after the key is skipped; if the first non-whitespace + * character after the key is <code>=</code> or <code>:</code>, then it + * is ignored and any whitespace characters after it are also skipped. + * All remaining characters on the line become part of the associated + * element string. Within the element string, the ASCII + * escape sequences <code>\t</code>, <code>\n</code>, + * <code>\r</code>, <code>\\</code>, <code>\"</code>, <code>\'</code>, + * <code>\  </code>  (a backslash and a space), and + * <code>\\u</code><i>xxxx</i> are recognized and converted to single + * characters. Moreover, if the last character on the line is + * <code>\</code>, then the next line is treated as a continuation of the + * current line; the <code>\</code> and line terminator are simply + * discarded, and any leading whitespace characters on the continuation + * line are also discarded and are not part of the element string. * <p> * As an example, each of the following four lines specifies the key * <code>"Truth"</code> and the associated element value * <code>"Beauty"</code>: * <p> - * * <pre> * Truth = Beauty - * Truth:Beauty + * Truth:Beauty * Truth :Beauty * </pre> - * - * As another example, the following three lines specify a single property: + * As another example, the following three lines specify a single + * property: * <p> - * * <pre> * fruits apple, banana, pear, \ * cantaloupe, watermelon, \ * kiwi, mango * </pre> - * * The key is <code>"fruits"</code> and the associated element is: * <p> - * - * <pre> - * "apple, banana, pear, cantaloupe, watermelon,kiwi, mango" - * </pre> - * - * Note that a space appears before each <code>\</code> so that a space will - * appear after each comma in the final result; the <code>\</code>, line - * terminator, and leading whitespace on the continuation line are merely - * discarded and are <i>not</i> replaced by one or more other characters. + * <pre>"apple, banana, pear, cantaloupe, watermelon,kiwi, mango"</pre> + * Note that a space appears before each <code>\</code> so that a space + * will appear after each comma in the final result; the <code>\</code>, + * line terminator, and leading whitespace on the continuation line are + * merely discarded and are <i>not</i> replaced by one or more other + * characters. * <p> * As a third example, the line: * <p> - * - * <pre> - * cheeses + * <pre>cheeses * </pre> - * * specifies that the key is <code>"cheeses"</code> and the associated - * element is the empty string. - * <p> - * - * @param in the input stream. - * @exception IOException if an error occurred when reading from the input - * stream. + * element is the empty string.<p> + * + * @param in the input stream. + * @exception IOException if an error occurred when reading from the + * input stream. */ public synchronized void load(InputStream inStream) throws IOException { - BufferedReader in = new BufferedReader(new InputStreamReader(inStream, - "8859_1")); + BufferedReader in = new BufferedReader(new InputStreamReader(inStream, "8859_1")); while (true) { // Get next line @@ -202,17 +195,14 @@ public class SimpleProperties extends Hashtable { if (nextLine == null) nextLine = ""; - String loppedLine = line - .substring(0, line.length() - 1); + String loppedLine = line.substring(0, line.length() - 1); // Advance beyond whitespace on new line int startIndex = 0; for (startIndex = 0; startIndex < nextLine.length(); startIndex++) - if (whiteSpaceChars.indexOf(nextLine - .charAt(startIndex)) == -1) + if (whiteSpaceChars.indexOf(nextLine.charAt(startIndex)) == -1) break; - nextLine = nextLine.substring(startIndex, - nextLine.length()); + nextLine = nextLine.substring(startIndex, nextLine.length()); line = new String(loppedLine + nextLine); } // Find start of key @@ -242,26 +232,24 @@ public class SimpleProperties extends Hashtable { if (whiteSpaceChars.indexOf(line.charAt(valueIndex)) == -1) break; - // Skip over one non whitespace key value separators if any + // Skip over one non whitespace key value separators if any if (valueIndex < len) - if (strictKeyValueSeparators.indexOf(line - .charAt(valueIndex)) != -1) + if (strictKeyValueSeparators.indexOf(line.charAt(valueIndex)) != -1) valueIndex++; - // Skip over white space after other separators if any + // Skip over white space after other separators if any while (valueIndex < len) { if (whiteSpaceChars.indexOf(line.charAt(valueIndex)) == -1) break; valueIndex++; } String key = line.substring(keyStart, separatorIndex); - String value = (separatorIndex < len) ? line.substring( - valueIndex, len) : ""; + String value = (separatorIndex < len) ? line.substring(valueIndex, len) : ""; // Convert then store key and value // NETSCAPE: no need to convert escape characters - // key = loadConvert(key); - // value = loadConvert(value); + // key = loadConvert(key); + // value = loadConvert(value); put(key, value); } } @@ -269,8 +257,8 @@ public class SimpleProperties extends Hashtable { } /* - * Returns true if the given line is a line that must be appended to the - * next line + * Returns true if the given line is a line that must + * be appended to the next line */ private boolean continueLine(String line) { int slashCount = 0; @@ -282,8 +270,8 @@ public class SimpleProperties extends Hashtable { } /* - * Converts encoded \\uxxxx to unicode chars and changes special saved chars - * to their original forms + * Converts encoded \\uxxxx to unicode chars + * and changes special saved chars to their original forms */ private String loadConvert(String theString) { char aChar; @@ -339,14 +327,10 @@ public class SimpleProperties extends Hashtable { } outBuffer.append((char) value); } else { - if (aChar == 't') - aChar = '\t'; - else if (aChar == 'r') - aChar = '\r'; - else if (aChar == 'n') - aChar = '\n'; - else if (aChar == 'f') - aChar = '\f'; + if (aChar == 't') aChar = '\t'; + else if (aChar == 'r') aChar = '\r'; + else if (aChar == 'n') aChar = '\n'; + else if (aChar == 'f') aChar = '\f'; outBuffer.append(aChar); } } else @@ -356,8 +340,9 @@ public class SimpleProperties extends Hashtable { } /* - * Converts unicodes to encoded \\uxxxx and writes out any of the characters - * in specialSaveChars with a preceding slash + * Converts unicodes to encoded \\uxxxx + * and writes out any of the characters in specialSaveChars + * with a preceding slash */ private String saveConvert(String theString) { char aChar; @@ -411,20 +396,18 @@ public class SimpleProperties extends Hashtable { } /** - * Calls the <code>store(OutputStream out, String header)</code> method and - * suppresses IOExceptions that were thrown. - * + * Calls the <code>store(OutputStream out, String header)</code> method + * and suppresses IOExceptions that were thrown. + * * @deprecated This method does not throw an IOException if an I/O error - * occurs while saving the property list. As of JDK 1.2, the - * preferred way to save a properties list is via the - * <code>store(OutputStream out, + * occurs while saving the property list. As of JDK 1.2, the preferred + * way to save a properties list is via the <code>store(OutputStream out, * String header)</code> method. - * - * @param out an output stream. - * @param header a description of the property list. - * @exception ClassCastException if this <code>Properties</code> object - * contains any keys or values that are not - * <code>Strings</code>. + * + * @param out an output stream. + * @param header a description of the property list. + * @exception ClassCastException if this <code>Properties</code> object + * contains any keys or values that are not <code>Strings</code>. */ public synchronized void save(OutputStream out, String header) { try { @@ -439,45 +422,44 @@ public class SimpleProperties extends Hashtable { * for loading into a <code>Properties</code> table using the * <code>load</code> method. * <p> - * Properties from the defaults table of this <code>Properties</code> table - * (if any) are <i>not</i> written out by this method. + * Properties from the defaults table of this <code>Properties</code> + * table (if any) are <i>not</i> written out by this method. * <p> * If the header argument is not null, then an ASCII <code>#</code> - * character, the header string, and a line separator are first written to - * the output stream. Thus, the <code>header</code> can serve as an + * character, the header string, and a line separator are first written + * to the output stream. Thus, the <code>header</code> can serve as an * identifying comment. * <p> * Next, a comment line is always written, consisting of an ASCII - * <code>#</code> character, the current date and time (as if produced by - * the <code>toString</code> method of <code>Date</code> for the current - * time), and a line separator as generated by the Writer. + * <code>#</code> character, the current date and time (as if produced + * by the <code>toString</code> method of <code>Date</code> for the + * current time), and a line separator as generated by the Writer. * <p> * Then every entry in this <code>Properties</code> table is written out, * one per line. For each entry the key string is written, then an ASCII - * <code>=</code>, then the associated element string. Each character of the - * element string is examined to see whether it should be rendered as an - * escape sequence. The ASCII characters <code>\</code>, tab, newline, and - * carriage return are written as <code>\\</code>, <code>\t</code>, - * <code>\n</code>, and <code>\r</code>, respectively. Characters less than - * <code>\u0020</code> and characters greater than <code>\u007E</code> are - * written as <code>\\u</code><i>xxxx</i> for the appropriate hexadecimal - * value <i>xxxx</i>. Space characters, but not embedded or trailing space - * characters, are written with a preceding <code>\</code>. The key and - * value characters <code>#</code>, <code>!</code>, <code>=</code>, and - * <code>:</code> are written with a preceding slash to ensure that they are - * properly loaded. + * <code>=</code>, then the associated element string. Each character of + * the element string is examined to see whether it should be rendered as + * an escape sequence. The ASCII characters <code>\</code>, tab, newline, + * and carriage return are written as <code>\\</code>, <code>\t</code>, + * <code>\n</code>, and <code>\r</code>, respectively. Characters less + * than <code>\u0020</code> and characters greater than + * <code>\u007E</code> are written as <code>\\u</code><i>xxxx</i> for + * the appropriate hexadecimal value <i>xxxx</i>. Space characters, but + * not embedded or trailing space characters, are written with a preceding + * <code>\</code>. The key and value characters <code>#</code>, + * <code>!</code>, <code>=</code>, and <code>:</code> are written with a + * preceding slash to ensure that they are properly loaded. * <p> - * After the entries have been written, the output stream is flushed. The + * After the entries have been written, the output stream is flushed. The * output stream remains open after this method returns. - * - * @param out an output stream. - * @param header a description of the property list. - * @exception ClassCastException if this <code>Properties</code> object - * contains any keys or values that are not - * <code>Strings</code>. + * + * @param out an output stream. + * @param header a description of the property list. + * @exception ClassCastException if this <code>Properties</code> object + * contains any keys or values that are not <code>Strings</code>. */ public synchronized void store(OutputStream out, String header) - throws IOException { + throws IOException { BufferedWriter awriter; awriter = new BufferedWriter(new OutputStreamWriter(out, "8859_1")); @@ -488,8 +470,8 @@ public class SimpleProperties extends Hashtable { String key = (String) e.nextElement(); String val = (String) get(key); - // key = saveConvert(key); - // val = saveConvert(val); + // key = saveConvert(key); + // val = saveConvert(val); writeln(awriter, key + "=" + val); } awriter.flush(); @@ -505,17 +487,16 @@ public class SimpleProperties extends Hashtable { * If the key is not found in this property list, the default property list, * and its defaults, recursively, are then checked. The method returns * <code>null</code> if the property is not found. - * - * @param key the property key. - * @return the value in this property list with the specified key value. - * @see java.util.Properties#defaults + * + * @param key the property key. + * @return the value in this property list with the specified key value. + * @see java.util.Properties#defaults */ public String getProperty(String key) { Object oval = super.get(key); String sval = (oval instanceof String) ? (String) oval : null; - return ((sval == null) && (defaults != null)) ? defaults - .getProperty(key) : sval; + return ((sval == null) && (defaults != null)) ? defaults.getProperty(key) : sval; } /** @@ -523,12 +504,12 @@ public class SimpleProperties extends Hashtable { * If the key is not found in this property list, the default property list, * and its defaults, recursively, are then checked. The method returns the * default value argument if the property is not found. - * - * @param key the hashtable key. - * @param defaultValue a default value. - * - * @return the value in this property list with the specified key value. - * @see java.util.Properties#defaults + * + * @param key the hashtable key. + * @param defaultValue a default value. + * + * @return the value in this property list with the specified key value. + * @see java.util.Properties#defaults */ public String getProperty(String key, String defaultValue) { String val = getProperty(key); @@ -539,11 +520,11 @@ public class SimpleProperties extends Hashtable { /** * Returns an enumeration of all the keys in this property list, including * the keys in the default property list. - * - * @return an enumeration of all the keys in this property list, including - * the keys in the default property list. - * @see java.util.Enumeration - * @see java.util.Properties#defaults + * + * @return an enumeration of all the keys in this property list, including + * the keys in the default property list. + * @see java.util.Enumeration + * @see java.util.Properties#defaults */ public Enumeration propertyNames() { Hashtable h = new Hashtable(); @@ -553,10 +534,10 @@ public class SimpleProperties extends Hashtable { } /** - * Prints this property list out to the specified output stream. This method - * is useful for debugging. - * - * @param out an output stream. + * Prints this property list out to the specified output stream. + * This method is useful for debugging. + * + * @param out an output stream. */ public void list(PrintStream out) { out.println("-- listing properties --"); @@ -575,13 +556,13 @@ public class SimpleProperties extends Hashtable { } /** - * Prints this property list out to the specified output stream. This method - * is useful for debugging. - * - * @param out an output stream. - * @since JDK1.1 + * Prints this property list out to the specified output stream. + * This method is useful for debugging. + * + * @param out an output stream. + * @since JDK1.1 */ - + /* * Rather than use an anonymous inner class to share common code, this * method is duplicated in order to ensure that a non-1.1 compiler can @@ -605,7 +586,6 @@ public class SimpleProperties extends Hashtable { /** * Enumerates all key/value pairs in the specified hastable. - * * @param h the hashtable */ private synchronized void enumerate(Hashtable h) { @@ -621,14 +601,14 @@ public class SimpleProperties extends Hashtable { /** * Convert a nibble to a hex character - * - * @param nibble the nibble to convert. + * @param nibble the nibble to convert. */ private static char toHex(int nibble) { return hexDigit[(nibble & 0xF)]; } /** A table of hex digits */ - private static final char[] hexDigit = { '0', '1', '2', '3', '4', '5', '6', - '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; + private static final char[] hexDigit = { + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' + }; } diff --git a/pki/base/common/src/com/netscape/cmscore/base/SourceConfigStore.java b/pki/base/common/src/com/netscape/cmscore/base/SourceConfigStore.java index cfd54c347..2b472c029 100644 --- a/pki/base/common/src/com/netscape/cmscore/base/SourceConfigStore.java +++ b/pki/base/common/src/com/netscape/cmscore/base/SourceConfigStore.java @@ -17,18 +17,19 @@ // --- END COPYRIGHT BLOCK --- package com.netscape.cmscore.base; + import com.netscape.certsrv.base.ISourceConfigStore; + /** - * This class is is a wrapper to hide the Properties methods from the - * PropConfigStore. Lucky for us, Properties already implements almost every - * thing ISourceConfigStore requires. + * This class is is a wrapper to hide the Properties methods from + * the PropConfigStore. Lucky for us, Properties already implements + * almost every thing ISourceConfigStore requires. * * @version $Revision$, $Date$ * @see java.util.Properties */ -public class SourceConfigStore extends SimpleProperties implements - ISourceConfigStore { +public class SourceConfigStore extends SimpleProperties implements ISourceConfigStore { /** * @@ -38,7 +39,7 @@ public class SourceConfigStore extends SimpleProperties implements /** * Retrieves a property from the config store * <P> - * + * * @param name property name * @return property value */ @@ -49,7 +50,7 @@ public class SourceConfigStore extends SimpleProperties implements /** * Puts a property into the config store. * <P> - * + * * @param name property name * @param value property value */ diff --git a/pki/base/common/src/com/netscape/cmscore/base/SubsystemLoader.java b/pki/base/common/src/com/netscape/cmscore/base/SubsystemLoader.java index b389b441a..83c74ebc1 100644 --- a/pki/base/common/src/com/netscape/cmscore/base/SubsystemLoader.java +++ b/pki/base/common/src/com/netscape/cmscore/base/SubsystemLoader.java @@ -17,6 +17,7 @@ // --- END COPYRIGHT BLOCK --- package com.netscape.cmscore.base; + import java.util.Vector; import com.netscape.certsrv.apps.CMS; @@ -24,6 +25,7 @@ import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.IConfigStore; import com.netscape.certsrv.base.ISubsystem; + /** * A class represents a subsystem loader. * <P> @@ -32,7 +34,7 @@ import com.netscape.certsrv.base.ISubsystem; * @version $Revision$, $Date$ */ public class SubsystemLoader { - + private static final String PROP_SUBSYSTEM = "subsystem"; private static final String PROP_CLASSNAME = "class"; private static final String PROP_ID = "id"; @@ -60,14 +62,14 @@ public class SubsystemLoader { if (className == null) break; try { - ISubsystem sub = (ISubsystem) Class.forName(className) - .newInstance(); + ISubsystem sub = (ISubsystem) Class.forName( + className).newInstance(); sub.setId(id); v.addElement(sub); } catch (Exception e) { - throw new EBaseException(CMS.getUserMessage( - "CMS_BASE_LOAD_FAILED", className)); + throw new EBaseException( + CMS.getUserMessage("CMS_BASE_LOAD_FAILED", className)); } } return v; diff --git a/pki/base/common/src/com/netscape/cmscore/base/SubsystemRegistry.java b/pki/base/common/src/com/netscape/cmscore/base/SubsystemRegistry.java index d8a519cf5..ad8580187 100644 --- a/pki/base/common/src/com/netscape/cmscore/base/SubsystemRegistry.java +++ b/pki/base/common/src/com/netscape/cmscore/base/SubsystemRegistry.java @@ -17,10 +17,12 @@ // --- END COPYRIGHT BLOCK --- package com.netscape.cmscore.base; + import java.util.Hashtable; import com.netscape.certsrv.base.ISubsystem; + public class SubsystemRegistry extends Hashtable { /** * |