From 621d9e5c413e561293d7484b93882d985b3fe15f Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Sat, 24 Mar 2012 02:27:47 -0500 Subject: Removed unnecessary pki folder. Previously the source code was located inside a pki folder. This folder was created during svn migration and is no longer needed. This folder has now been removed and the contents have been moved up one level. Ticket #131 --- .../com/netscape/certsrv/property/Descriptor.java | 93 ++++++++++++++++++++++ .../certsrv/property/EPropertyException.java | 42 ++++++++++ .../netscape/certsrv/property/IConfigTemplate.java | 68 ++++++++++++++++ .../com/netscape/certsrv/property/IDescriptor.java | 90 +++++++++++++++++++++ .../com/netscape/certsrv/property/PropertySet.java | 52 ++++++++++++ 5 files changed, 345 insertions(+) create mode 100644 base/common/src/com/netscape/certsrv/property/Descriptor.java create mode 100644 base/common/src/com/netscape/certsrv/property/EPropertyException.java create mode 100644 base/common/src/com/netscape/certsrv/property/IConfigTemplate.java create mode 100644 base/common/src/com/netscape/certsrv/property/IDescriptor.java create mode 100644 base/common/src/com/netscape/certsrv/property/PropertySet.java (limited to 'base/common/src/com/netscape/certsrv/property') diff --git a/base/common/src/com/netscape/certsrv/property/Descriptor.java b/base/common/src/com/netscape/certsrv/property/Descriptor.java new file mode 100644 index 000000000..bd2b56340 --- /dev/null +++ b/base/common/src/com/netscape/certsrv/property/Descriptor.java @@ -0,0 +1,93 @@ +// --- 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.certsrv.property; + +import java.util.Locale; + +/** + * This interface represents a property descriptor. A descriptor + * includes information that describe a property. + * + * @version $Revision$, $Date$ + */ +public class Descriptor implements IDescriptor { + + protected String mSyntax = null; + protected String mConstraint = null; + protected String mDescription = null; + protected String mDef = null; + + /** + * Constructs a descriptor. + * + * @param syntax syntax + * @param constraint constraint + * @param defValue default value + * @param description description + */ + public Descriptor(String syntax, String constraint, String defValue, String description) { + mSyntax = syntax; + mConstraint = constraint; + mDef = defValue; + mDescription = description; + } + + /** + * Returns the syntax of the property. + * + * @return syntax + */ + public String getSyntax() { + return mSyntax; + } + + /** + * Returns the default value of the property. + * + * @return default value + */ + public String getDefaultValue() { + return mDef; + } + + /** + * Constraint for the given syntax. For example, + *

+ * - number(1-5): 1-5 is the constraint, and it indicates that the number must be in the range of 1 to 5. + *

+ * - choice(cert,crl): cert,crl is the constraint for choice + *

+ * If null, no constraint shall be enforced. + *

+ * + * @return constraint + */ + public String getConstraint() { + return mConstraint; + } + + /** + * Retrieves the description of the property. + * + * @param locale user locale + * @return description + */ + public String getDescription(Locale locale) { + return mDescription; + } +} diff --git a/base/common/src/com/netscape/certsrv/property/EPropertyException.java b/base/common/src/com/netscape/certsrv/property/EPropertyException.java new file mode 100644 index 000000000..23f59a25f --- /dev/null +++ b/base/common/src/com/netscape/certsrv/property/EPropertyException.java @@ -0,0 +1,42 @@ +// --- 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.certsrv.property; + +import com.netscape.certsrv.base.EBaseException; + +/** + * This is the base exception for property handling. + * + * @version $Revision$, $Date$ + */ +public class EPropertyException extends EBaseException { + + /** + * + */ + private static final long serialVersionUID = -6100285768016343010L; + + /** + * Constructs property exception + * + * @param msg exception message + */ + public EPropertyException(String msg) { + super(msg); + } +} diff --git a/base/common/src/com/netscape/certsrv/property/IConfigTemplate.java b/base/common/src/com/netscape/certsrv/property/IConfigTemplate.java new file mode 100644 index 000000000..431c90de9 --- /dev/null +++ b/base/common/src/com/netscape/certsrv/property/IConfigTemplate.java @@ -0,0 +1,68 @@ +// --- 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.certsrv.property; + +import java.util.Enumeration; +import java.util.Locale; + +/** + * This interface provides a standard way to describe + * a set of configuration parameters and its associated syntax. + * It provides programmatic methods for querying + * template description. + *

+ * A plugin, for example, can be described as a property template. + *

+ * + * @version $Revision$, $Date$ + */ +public interface IConfigTemplate { + + /** + * Returns a list of configuration parameter names. + * + * @return parameter names + */ + public Enumeration getConfigNames(); + + /** + * Returns the descriptors of configuration parameter. + * + * @param locale user locale + * @param name configuration parameter name + * @return descriptor + */ + public IDescriptor getConfigDescriptor(Locale locale, String name); + + /** + * Sets configuration parameter. + * + * @param name parameter name + * @param value parameter value + * @exception EPropertyException failed to set parameter + */ + public void setConfig(String name, String value) + throws EPropertyException; + + /** + * Retrieves configuration parameter by name. + * + * @return parameter + */ + public String getConfig(String name); +} diff --git a/base/common/src/com/netscape/certsrv/property/IDescriptor.java b/base/common/src/com/netscape/certsrv/property/IDescriptor.java new file mode 100644 index 000000000..727c1130d --- /dev/null +++ b/base/common/src/com/netscape/certsrv/property/IDescriptor.java @@ -0,0 +1,90 @@ +// --- 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.certsrv.property; + +import java.util.Locale; + +/** + * This interface represents a property descriptor. + * + * @version $Revision$, $Date$ + */ +public interface IDescriptor { + + // syntax + public static String DATE = "date"; + public static String PASSWORD = "password"; + public static String PRETTY_PRINT = "pretty_print"; + public static String IMAGE_URL = "image_url"; + public static String INTEGER = "integer"; + public static String BOOLEAN = "boolean"; + public static String STRING = "string"; + public static String STRING_LIST = "string_list"; + public static String KEYGEN_REQUEST = "keygen_request"; + public static String KEYGEN_REQUEST_TYPE = "keygen_request_type"; + public static String ENC_KEYGEN_REQUEST = "enc_keygen_request"; + public static String ENC_KEYGEN_REQUEST_TYPE = "enc_keygen_request_type"; + public static String SIGN_KEYGEN_REQUEST = "sign_keygen_request"; + public static String SIGN_KEYGEN_REQUEST_TYPE = "sign_keygen_request_type"; + public static String DUAL_KEYGEN_REQUEST = "dual_keygen_request"; + public static String DUAL_KEYGEN_REQUEST_TYPE = "dual_keygen_request_type"; + public static String CERT_REQUEST = "cert_request"; + public static String CERT_REQUEST_TYPE = "cert_request_type"; + public static String CHOICE = "choice"; // choice of strings + public static String DN = "dn"; + public static String IP = "ip"; + public static String EMAIL = "email"; + + // constraint + public static String READONLY = "readonly"; + public static String HIDDEN = "hidden"; + + /** + * Returns the syntax of the property. + * + * @return syntax + */ + public String getSyntax(); + + /** + * Constraint for the given syntax. For example, + * - number(1-5): 1-5 is the constraint, and it indicates + * that the number must be in the range of 1 to 5. + * - choice(cert,crl): cert,crl is the constraint + * for choice + * If null, no constraint shall be enforced. + * + * @return constraint + */ + public String getConstraint(); + + /** + * Retrieves the description of the property. + * + * @param locale user locale + * @return localized description + */ + public String getDescription(Locale locale); + + /** + * Retrieves the default value of the property. + * + * @return default value + */ + public String getDefaultValue(); +} diff --git a/base/common/src/com/netscape/certsrv/property/PropertySet.java b/base/common/src/com/netscape/certsrv/property/PropertySet.java new file mode 100644 index 000000000..dc839deb1 --- /dev/null +++ b/base/common/src/com/netscape/certsrv/property/PropertySet.java @@ -0,0 +1,52 @@ +// --- 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.certsrv.property; + +import java.util.Enumeration; +import java.util.Hashtable; + +/** + * A set of properties. + */ +public class PropertySet { + + private Hashtable mProperties = new Hashtable(); + + public PropertySet() { + } + + public void add(String name, IDescriptor desc) { + mProperties.put(name, desc); + } + + public Enumeration getNames() { + return mProperties.keys(); + } + + public IDescriptor getDescriptor(String name) { + return (IDescriptor) mProperties.get(name); + } + + public void remove(String name) { + mProperties.remove(name); + } + + public int size() { + return mProperties.size(); + } +} -- cgit