1 /**
2 * Copyright 2010 The Kuali Foundation Licensed under the
3 * Educational Community License, Version 2.0 (the "License"); you may
4 * not use this file except in compliance with the License. You may
5 * obtain a copy of the License at
6 *
7 * http://www.osedu.org/licenses/ECL-2.0
8 *
9 * Unless required by applicable law or agreed to in writing,
10 * software distributed under the License is distributed on an "AS IS"
11 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12 * or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15
16 package org.kuali.student.core.ws.binding;
17
18 import java.util.LinkedHashMap;
19 import java.util.Map;
20
21 import javax.xml.bind.annotation.adapters.XmlAdapter;
22
23
24 /**
25 * This is jaxb adapter for org.kuali.rice.kim.bo.types.dto.AttributeSet.
26 * This class should not be required if we add getter/setter in the rice DTO.
27 *
28 */
29 public class AttributeSetAdapter extends
30 XmlAdapter<JaxbAttributeList, Map<String, String>> {
31 public Map<String,String> unmarshal(JaxbAttributeList value) {
32 if(value == null) return null;
33 Map<String,String> result = new LinkedHashMap<String, String>();
34 for (JaxbAttribute a : value.getAttribute()) {
35 result.put(a.key, a.value);
36 }
37 return result;
38 }
39
40 public JaxbAttributeList marshal(Map<String,String> value) {
41 if(value == null) return null;
42 JaxbAttributeList attributes = new JaxbAttributeList();
43 for (Map.Entry<String, String> e : value.entrySet()) {
44 attributes.getAttribute().add(
45 new JaxbAttribute(e.getKey(), e.getValue()));
46 }
47 return attributes;
48 }
49
50 }