summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/certsrv/tps
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2013-09-24 10:10:02 -0400
committerEndi S. Dewata <edewata@redhat.com>2013-10-01 19:25:51 -0400
commit565741cc9aa0e3f1e056c9c79dc1bec35bbbcc92 (patch)
treeffc9431f543c0ff652000fcbe9d735d37fce091a /base/common/src/com/netscape/certsrv/tps
parente339952dfad45bc0ba1768a9386817eadd49b9dc (diff)
downloadpki-565741cc9aa0e3f1e056c9c79dc1bec35bbbcc92.tar.gz
pki-565741cc9aa0e3f1e056c9c79dc1bec35bbbcc92.tar.xz
pki-565741cc9aa0e3f1e056c9c79dc1bec35bbbcc92.zip
Added TPS authenticator service implementation.
The implementation of the TPS authenticator service has been modified to use the configuration database to read and write the configuration file. Ticket #652
Diffstat (limited to 'base/common/src/com/netscape/certsrv/tps')
-rw-r--r--base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorClient.java6
-rw-r--r--base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorCollection.java4
-rw-r--r--base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorData.java89
-rw-r--r--base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorInfo.java152
-rw-r--r--base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorModification.java169
-rw-r--r--base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorResource.java9
6 files changed, 78 insertions, 351 deletions
diff --git a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorClient.java b/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorClient.java
index 82a76cc16..8f4d4fe2b 100644
--- a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorClient.java
+++ b/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorClient.java
@@ -64,12 +64,6 @@ public class AuthenticatorClient extends Client {
return client.getEntity(response);
}
- public AuthenticatorData modifyAuthenticator(String authenticatorID, AuthenticatorModification authenticatorModification) {
- @SuppressWarnings("unchecked")
- ClientResponse<AuthenticatorData> response = (ClientResponse<AuthenticatorData>)resource.modifyAuthenticator(authenticatorID, authenticatorModification);
- return client.getEntity(response);
- }
-
public void removeAuthenticator(String authenticatorID) {
resource.removeAuthenticator(authenticatorID);
}
diff --git a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorCollection.java b/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorCollection.java
index e1978c8d3..ea9223603 100644
--- a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorCollection.java
+++ b/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorCollection.java
@@ -29,10 +29,10 @@ import com.netscape.certsrv.base.DataCollection;
* @author Endi S. Dewata
*/
@XmlRootElement(name="Authenticators")
-public class AuthenticatorCollection extends DataCollection<AuthenticatorInfo> {
+public class AuthenticatorCollection extends DataCollection<AuthenticatorData> {
@XmlElementRef
- public Collection<AuthenticatorInfo> getEntries() {
+ public Collection<AuthenticatorData> getEntries() {
return super.getEntries();
}
}
diff --git a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorData.java b/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorData.java
index 609d24132..95fb5fefb 100644
--- a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorData.java
+++ b/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorData.java
@@ -20,6 +20,11 @@ package com.netscape.certsrv.tps.authenticator;
import java.io.StringReader;
import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
@@ -27,6 +32,9 @@ import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.jboss.resteasy.plugins.providers.atom.Link;
@@ -51,7 +59,7 @@ public class AuthenticatorData {
String id;
String status;
- String contents;
+ Map<String, String> properties = new LinkedHashMap<String, String>();
Link link;
@@ -73,13 +81,67 @@ public class AuthenticatorData {
this.status = status;
}
- @XmlElement(name="Contents")
- public String getContents() {
- return contents;
+ @XmlElement(name="Properties")
+ @XmlJavaTypeAdapter(MapAdapter.class)
+ public Map<String, String> getProperties() {
+ return properties;
}
- public void setContents(String contents) {
- this.contents = contents;
+ public void setProperties(Map<String, String> properties) {
+ this.properties.clear();
+ this.properties.putAll(properties);
+ }
+
+ public Collection<String> getPropertyNames() {
+ return properties.keySet();
+ }
+
+ public String getProperty(String name) {
+ return properties.get(name);
+ }
+
+ public void setProperty(String name, String value) {
+ properties.put(name, value);
+ }
+
+ public String removeProperty(String name) {
+ return properties.remove(name);
+ }
+
+ public static class MapAdapter extends XmlAdapter<PropertyList, Map<String, String>> {
+
+ public PropertyList marshal(Map<String, String> map) {
+ PropertyList list = new PropertyList();
+ for (Map.Entry<String, String> entry : map.entrySet()) {
+ Property property = new Property();
+ property.name = entry.getKey();
+ property.value = entry.getValue();
+ list.properties.add(property);
+ }
+ return list;
+ }
+
+ public Map<String, String> unmarshal(PropertyList list) {
+ Map<String, String> map = new LinkedHashMap<String, String>();
+ for (Property property : list.properties) {
+ map.put(property.name, property.value);
+ }
+ return map;
+ }
+ }
+
+ public static class PropertyList {
+ @XmlElement(name="Property")
+ public List<Property> properties = new ArrayList<Property>();
+ }
+
+ public static class Property {
+
+ @XmlAttribute
+ public String name;
+
+ @XmlValue
+ public String value;
}
@XmlElement(name="Link")
@@ -95,9 +157,9 @@ public class AuthenticatorData {
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + ((contents == null) ? 0 : contents.hashCode());
result = prime * result + ((id == null) ? 0 : id.hashCode());
result = prime * result + ((link == null) ? 0 : link.hashCode());
+ result = prime * result + ((properties == null) ? 0 : properties.hashCode());
result = prime * result + ((status == null) ? 0 : status.hashCode());
return result;
}
@@ -111,11 +173,6 @@ public class AuthenticatorData {
if (getClass() != obj.getClass())
return false;
AuthenticatorData other = (AuthenticatorData) obj;
- if (contents == null) {
- if (other.contents != null)
- return false;
- } else if (!contents.equals(other.contents))
- return false;
if (id == null) {
if (other.id != null)
return false;
@@ -126,6 +183,11 @@ public class AuthenticatorData {
return false;
} else if (!link.equals(other.link))
return false;
+ if (properties == null) {
+ if (other.properties != null)
+ return false;
+ } else if (!properties.equals(other.properties))
+ return false;
if (status == null) {
if (other.status != null)
return false;
@@ -158,7 +220,8 @@ public class AuthenticatorData {
AuthenticatorData before = new AuthenticatorData();
before.setID("authenticator1");
before.setStatus("ENABLED");
- before.setContents("name=authenticator1\nparam=value");
+ before.setProperty("param1", "value1");
+ before.setProperty("param2", "value2");
String string = before.toString();
System.out.println(string);
diff --git a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorInfo.java b/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorInfo.java
deleted file mode 100644
index 55ce9b4f3..000000000
--- a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorInfo.java
+++ /dev/null
@@ -1,152 +0,0 @@
-// --- 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) 2013 Red Hat, Inc.
-// All rights reserved.
-// --- END COPYRIGHT BLOCK ---
-
-package com.netscape.certsrv.tps.authenticator;
-
-import java.io.StringReader;
-import java.io.StringWriter;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.jboss.resteasy.plugins.providers.atom.Link;
-
-/**
- * @author Endi S. Dewata
- */
-@XmlRootElement(name="Authenticator")
-public class AuthenticatorInfo {
-
- public static Marshaller marshaller;
- public static Unmarshaller unmarshaller;
-
- static {
- try {
- marshaller = JAXBContext.newInstance(AuthenticatorInfo.class).createMarshaller();
- marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
- unmarshaller = JAXBContext.newInstance(AuthenticatorInfo.class).createUnmarshaller();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- String id;
- String status;
-
- Link link;
-
- @XmlAttribute(name="id")
- public String getID() {
- return id;
- }
-
- public void setID(String id) {
- this.id = id;
- }
-
- @XmlElement(name="Status")
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
-
- @XmlElement(name="Link")
- public Link getLink() {
- return link;
- }
-
- public void setLink(Link link) {
- this.link = link;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((id == null) ? 0 : id.hashCode());
- result = prime * result + ((link == null) ? 0 : link.hashCode());
- result = prime * result + ((status == null) ? 0 : status.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- AuthenticatorInfo other = (AuthenticatorInfo) obj;
- if (id == null) {
- if (other.id != null)
- return false;
- } else if (!id.equals(other.id))
- return false;
- if (link == null) {
- if (other.link != null)
- return false;
- } else if (!link.equals(other.link))
- return false;
- if (status == null) {
- if (other.status != null)
- return false;
- } else if (!status.equals(other.status))
- return false;
- return true;
- }
-
- public String toString() {
- try {
- StringWriter sw = new StringWriter();
- marshaller.marshal(this, sw);
- return sw.toString();
-
- } catch (Exception e) {
- return super.toString();
- }
- }
-
- public static AuthenticatorInfo valueOf(String string) throws Exception {
- try {
- return (AuthenticatorInfo)unmarshaller.unmarshal(new StringReader(string));
- } catch (Exception e) {
- return null;
- }
- }
-
- public static void main(String args[]) throws Exception {
-
- AuthenticatorInfo before = new AuthenticatorInfo();
- before.setID("authenticator1");
- before.setStatus("ENABLED");
-
- String string = before.toString();
- System.out.println(string);
-
- AuthenticatorInfo after = AuthenticatorInfo.valueOf(string);
- System.out.println(before.equals(after));
- }
-}
diff --git a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorModification.java b/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorModification.java
deleted file mode 100644
index fb78415e3..000000000
--- a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorModification.java
+++ /dev/null
@@ -1,169 +0,0 @@
-// --- 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) 2013 Red Hat, Inc.
-// All rights reserved.
-// --- END COPYRIGHT BLOCK ---
-
-package com.netscape.certsrv.tps.authenticator;
-
-import java.io.StringReader;
-import java.io.StringWriter;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.jboss.resteasy.plugins.providers.atom.Link;
-
-/**
- * @author Endi S. Dewata
- */
-@XmlRootElement(name="AuthenticatorModifyRequest")
-public class AuthenticatorModification {
-
- public static Marshaller marshaller;
- public static Unmarshaller unmarshaller;
-
- static {
- try {
- marshaller = JAXBContext.newInstance(AuthenticatorModification.class).createMarshaller();
- marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
- unmarshaller = JAXBContext.newInstance(AuthenticatorModification.class).createUnmarshaller();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- String id;
- String status;
- String contents;
-
- Link link;
-
- @XmlAttribute(name="id")
- public String getID() {
- return id;
- }
-
- public void setID(String id) {
- this.id = id;
- }
-
- @XmlElement(name="Status")
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
-
- @XmlElement(name="Contents")
- public String getContents() {
- return contents;
- }
-
- public void setContents(String contents) {
- this.contents = contents;
- }
-
- @XmlElement(name="Link")
- public Link getLink() {
- return link;
- }
-
- public void setLink(Link link) {
- this.link = link;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((contents == null) ? 0 : contents.hashCode());
- result = prime * result + ((id == null) ? 0 : id.hashCode());
- result = prime * result + ((link == null) ? 0 : link.hashCode());
- result = prime * result + ((status == null) ? 0 : status.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- AuthenticatorModification other = (AuthenticatorModification) obj;
- if (contents == null) {
- if (other.contents != null)
- return false;
- } else if (!contents.equals(other.contents))
- return false;
- if (id == null) {
- if (other.id != null)
- return false;
- } else if (!id.equals(other.id))
- return false;
- if (link == null) {
- if (other.link != null)
- return false;
- } else if (!link.equals(other.link))
- return false;
- if (status == null) {
- if (other.status != null)
- return false;
- } else if (!status.equals(other.status))
- return false;
- return true;
- }
-
- public String toString() {
- try {
- StringWriter sw = new StringWriter();
- marshaller.marshal(this, sw);
- return sw.toString();
-
- } catch (Exception e) {
- return super.toString();
- }
- }
-
- public static AuthenticatorModification valueOf(String string) throws Exception {
- try {
- return (AuthenticatorModification)unmarshaller.unmarshal(new StringReader(string));
- } catch (Exception e) {
- return null;
- }
- }
-
- public static void main(String args[]) throws Exception {
-
- AuthenticatorModification before = new AuthenticatorModification();
- before.setID("authenticator1");
- before.setStatus("ENABLED");
- before.setContents("name=authenticator1\nparam=value");
-
- String string = before.toString();
- System.out.println(string);
-
- AuthenticatorModification after = AuthenticatorModification.valueOf(string);
- System.out.println(before.equals(after));
- }
-}
diff --git a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorResource.java b/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorResource.java
index 3a99a01d1..8e9f7284a 100644
--- a/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorResource.java
+++ b/base/common/src/com/netscape/certsrv/tps/authenticator/AuthenticatorResource.java
@@ -64,15 +64,6 @@ public interface AuthenticatorResource {
@PathParam("authenticatorID") String authenticatorID,
AuthenticatorData authenticatorData);
- @POST
- @Path("{authenticatorID}")
- @ClientResponseType(entityType=AuthenticatorData.class)
- @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
- @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
- public Response modifyAuthenticator(
- @PathParam("authenticatorID") String authenticatorID,
- AuthenticatorModification request);
-
@DELETE
@Path("{authenticatorID}")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })