summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/certsrv/property
diff options
context:
space:
mode:
authormharmsen <mharmsen@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2011-10-29 04:43:21 +0000
committermharmsen <mharmsen@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2011-10-29 04:43:21 +0000
commitdb615a895b644af038308ae71b680f1d93f78f70 (patch)
tree6d1a4510d625fd4d6afe2848b8de686af74a118a /pki/base/common/src/com/netscape/certsrv/property
parenta8a64c7f1dcaf3012fa8d3cd164c890ceb146d0d (diff)
downloadpki-db615a895b644af038308ae71b680f1d93f78f70.tar.gz
pki-db615a895b644af038308ae71b680f1d93f78f70.tar.xz
pki-db615a895b644af038308ae71b680f1d93f78f70.zip
Bugzilla Bug #737761 - Update Dogtag Packages for Fedora 16DOGTAG_9_0_FEDORA_15_16_17_20111028
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/tags/DOGTAG_9_0_FEDORA_15_16_17_20111028@2279 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/base/common/src/com/netscape/certsrv/property')
-rw-r--r--pki/base/common/src/com/netscape/certsrv/property/Descriptor.java94
-rw-r--r--pki/base/common/src/com/netscape/certsrv/property/EPropertyException.java38
-rw-r--r--pki/base/common/src/com/netscape/certsrv/property/IConfigTemplate.java70
-rw-r--r--pki/base/common/src/com/netscape/certsrv/property/IDescriptor.java88
-rw-r--r--pki/base/common/src/com/netscape/certsrv/property/PropertySet.java58
5 files changed, 348 insertions, 0 deletions
diff --git a/pki/base/common/src/com/netscape/certsrv/property/Descriptor.java b/pki/base/common/src/com/netscape/certsrv/property/Descriptor.java
new file mode 100644
index 000000000..a4b0ecb2d
--- /dev/null
+++ b/pki/base/common/src/com/netscape/certsrv/property/Descriptor.java
@@ -0,0 +1,94 @@
+// --- 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.*;
+
+
+/**
+ * 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,
+ * <p>
+ * - number(1-5): 1-5 is the constraint, and it indicates
+ * that the number must be in the range of 1 to 5.
+ * <p>
+ * - choice(cert,crl): cert,crl is the constraint
+ * for choice
+ * <p>
+ * If null, no constraint shall be enforced.
+ * <p>
+ * @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/pki/base/common/src/com/netscape/certsrv/property/EPropertyException.java b/pki/base/common/src/com/netscape/certsrv/property/EPropertyException.java
new file mode 100644
index 000000000..3be0aa1ea
--- /dev/null
+++ b/pki/base/common/src/com/netscape/certsrv/property/EPropertyException.java
@@ -0,0 +1,38 @@
+// --- 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.*;
+
+/**
+ * This is the base exception for property handling.
+ *
+ * @version $Revision$, $Date$
+ */
+public class EPropertyException extends EBaseException {
+
+ /**
+ * Constructs property exception
+ *
+ * @param msg exception message
+ */
+ public EPropertyException(String msg) {
+ super(msg);
+ }
+}
diff --git a/pki/base/common/src/com/netscape/certsrv/property/IConfigTemplate.java b/pki/base/common/src/com/netscape/certsrv/property/IConfigTemplate.java
new file mode 100644
index 000000000..c37d484b8
--- /dev/null
+++ b/pki/base/common/src/com/netscape/certsrv/property/IConfigTemplate.java
@@ -0,0 +1,70 @@
+// --- 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.*;
+
+
+/**
+ * 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.
+ * <p>
+ * A plugin, for example, can be described as a
+ * property template.
+ * <p>
+ *
+ * @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/pki/base/common/src/com/netscape/certsrv/property/IDescriptor.java b/pki/base/common/src/com/netscape/certsrv/property/IDescriptor.java
new file mode 100644
index 000000000..d3db4b494
--- /dev/null
+++ b/pki/base/common/src/com/netscape/certsrv/property/IDescriptor.java
@@ -0,0 +1,88 @@
+// --- 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.*;
+
+
+/**
+ * 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 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/pki/base/common/src/com/netscape/certsrv/property/PropertySet.java b/pki/base/common/src/com/netscape/certsrv/property/PropertySet.java
new file mode 100644
index 000000000..c6d66b43b
--- /dev/null
+++ b/pki/base/common/src/com/netscape/certsrv/property/PropertySet.java
@@ -0,0 +1,58 @@
+// --- 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.*;
+
+
+/**
+ * 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();
+ }
+}