View Javadoc

1   /*
2    * Copyright 2007 Sun Microsystems, Inc.
3    * All rights reserved.  You may not modify, use,
4    * reproduce, or distribute this software except in
5    * compliance with  the terms of the License at:
6    * http://developer.sun.com/berkeley_license.html
7    */
8   
9   
10  /*
11   * The contents of this file are subject to the terms
12   * of the Common Development and Distribution License
13   * (the "License").  You may not use this file except
14   * in compliance with the License.
15   *
16   * You can obtain a copy of the license at
17   * https://jwsdp.dev.java.net/CDDLv1.0.html
18   * See the License for the specific language governing
19   * permissions and limitations under the License.
20   *
21   * When distributing Covered Code, include this CDDL
22   * HEADER in each file and include the License file at
23   * https://jwsdp.dev.java.net/CDDLv1.0.html  If applicable,
24   * add the following below this CDDL HEADER, with the
25   * fields enclosed by brackets "[]" replaced with your
26   * own identifying information: Portions Copyright [yyyy]
27   * [name of copyright owner]
28   */
29  package org.kuali.rice.core.jaxb;
30  
31  import java.util.TreeMap;
32  import java.util.Iterator;
33  import javax.xml.bind.annotation.adapters.XmlAdapter;
34  
35  import org.kuali.rice.core.xml.dto.AttributeEntry;
36  import org.kuali.rice.core.xml.dto.AttributeSetList;
37  import org.kuali.rice.kim.bo.types.dto.AttributeSet;
38  
39  
40  /*
41   *
42   *  PurchaseList - ValueType
43   *  HashMap - BoundType
44   */
45  public class AdapterAttributeSetToHashMap extends XmlAdapter<AttributeSetList, AttributeSet> {
46      public AdapterAttributeSetToHashMap() {
47      }
48  
49      // Convert a value type to a bound type.
50      // read xml content and put into Java class.
51      public AttributeSet unmarshal(AttributeSetList v) {
52          int cnt = v.entry.size();
53          AttributeSet aHashMap = new AttributeSet(cnt);
54  
55          for (int i = 0; i < cnt; i++) {
56              AttributeEntry pe = v.entry.get(i);
57              aHashMap.put(pe.key, pe.value);
58          }
59  
60          return aHashMap;
61      }
62  
63      // Convert a bound type to a value type.
64      // write Java content into class that generates desired XML 
65      public AttributeSetList marshal(AttributeSet v) {
66          AttributeSetList pList = new AttributeSetList();
67  
68          // For QA consistency order the output. 
69          TreeMap<String, String> tMap = new TreeMap<String, String>(v);
70  
71          Iterator it = tMap.keySet().iterator();
72          while (it.hasNext()){
73          	String key = (String) it.next();
74              pList.entry.add(
75                      new AttributeEntry(
76                          key,
77                          tMap.get(key)));
78          }
79          return pList;
80      }
81  }