From 1aa02e5207514d210e903d23e1d698b85fc29344 Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Sat, 11 Aug 2012 09:47:39 -0500 Subject: Reorganized REST common classes. The common classes used by REST client and services have been moved into the com.netscape.certsrv. packages. Ticket #215 --- .../com/netscape/certsrv/profile/ProfileInput.java | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 base/common/src/com/netscape/certsrv/profile/ProfileInput.java (limited to 'base/common/src/com/netscape/certsrv/profile/ProfileInput.java') diff --git a/base/common/src/com/netscape/certsrv/profile/ProfileInput.java b/base/common/src/com/netscape/certsrv/profile/ProfileInput.java new file mode 100644 index 000000000..64d2aafdb --- /dev/null +++ b/base/common/src/com/netscape/certsrv/profile/ProfileInput.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.profile; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.XmlAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + +public class ProfileInput { + + public ProfileInput() { + // required for jaxb + } + + @XmlElement + public String getInputId() { + return inputId; + } + + private String inputId; + + @XmlJavaTypeAdapter(InputAttrsAdapter.class) + public Map InputAttrs = new LinkedHashMap(); + + public void setInputAttr(String name, String value) { + InputAttrs.put(name, value); + } + + public void setInputId(String inputId) { + this.inputId = inputId; + } + + public static class InputAttrsAdapter extends XmlAdapter> { + + public InputAttrList marshal(Map map) { + InputAttrList list = new InputAttrList(); + for (Map.Entry entry : map.entrySet()) { + Attribute attribute = new Attribute(); + attribute.name = entry.getKey(); + attribute.value = entry.getValue(); + list.attributes.add(attribute); + } + return list; + } + + public Map unmarshal(InputAttrList list) { + Map map = new LinkedHashMap(); + for (Attribute attribute : list.attributes) { + map.put(attribute.name, attribute.value); + } + return map; + } + } + + public static class InputAttrList { + @XmlElement(name = "InputAttr") + public List attributes = new ArrayList(); + } + + public static class Attribute { + + @XmlAttribute + public String name; + + @XmlValue + public String value; + } + + public Map getAttributes() { + return InputAttrs; + } +} -- cgit