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 }