fix hybrid parsing with existing hybrid relationships on full reference parsing ...
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / jaxb / MultilanguageTextAdapter.java
index 65d841435811a65827f466a1adb0d05cd1af0bac..30ed92f271f9d8a27f2070a2263d72d14e44731e 100644 (file)
@@ -1,19 +1,15 @@
 /**\r
-* Copyright (C) 2008 EDIT\r
+* Copyright (C) 2009 EDIT\r
 * European Distributed Institute of Taxonomy \r
 * http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
 */\r
 \r
 package eu.etaxonomy.cdm.jaxb;\r
 \r
-import javax.xml.bind.annotation.adapters.XmlAdapter;\r
-\r
-/**\r
- * @author a.babadshanjan\r
- * @created 02.09.2008\r
- */\r
-import java.util.ArrayList;\r
-import java.util.List;\r
+import java.util.HashMap;\r
 import java.util.Map;\r
 import java.util.concurrent.ConcurrentHashMap;\r
 \r
@@ -21,45 +17,35 @@ import javax.xml.bind.annotation.adapters.XmlAdapter;
 \r
 import eu.etaxonomy.cdm.model.common.Language;\r
 import eu.etaxonomy.cdm.model.common.LanguageString;\r
-import eu.etaxonomy.cdm.model.common.MultilanguageText;\r
 import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper;\r
 \r
-public class MultilanguageTextAdapter extends XmlAdapter<MultilanguageTextHelper, Map<Language, LanguageString>> {\r
-//public class MultilanguageTextAdapter extends XmlAdapter<MultilanguageText, Map<Language, LanguageString>> {\r
+/**\r
+ * @author a.babadshanjan\r
+ * @version 1.0\r
+ */\r
+public class MultilanguageTextAdapter extends XmlAdapter<MultilanguageTextElement, Map<Language, LanguageString>> {\r
 \r
        @Override\r
-       public MultilanguageTextHelper marshal(Map<Language, LanguageString> value)\r
+       public MultilanguageTextElement marshal(Map<Language, LanguageString> value)\r
                        throws Exception {\r
                \r
-//     MultilanguageText multilanguageText = new MultilanguageText();\r
-//     multilanguageText.putAll(value);\r
-//     \r
-\r
-               MultilanguageTextHelper multilanguageTextHelper = new MultilanguageTextHelper();\r
+               MultilanguageTextElement multilanguageTextElement = new MultilanguageTextElement();\r
                \r
-               for(Language language : value.keySet()) {\r
-                       multilanguageTextHelper.setLanguage(language);\r
-                       multilanguageTextHelper.setLanguageString(value.get(language));\r
-//                     multilanguageText.add(value.get(language));\r
-                       \r
+               for(Language l : value.keySet()) {\r
+                       multilanguageTextElement.getLanguageString().add(value.get(l));\r
                }\r
-\r
-               return multilanguageTextHelper;\r
+               return multilanguageTextElement;\r
        }\r
 \r
     @Override\r
-       public Map<Language, LanguageString> unmarshal(MultilanguageTextHelper value)\r
-//     public Map<Language, LanguageString> unmarshal(MultilanguageText value)\r
+       public Map<Language, LanguageString> unmarshal(MultilanguageTextElement value)\r
                        throws Exception {\r
                \r
-//             Map<Language, LanguageString> map = new ConcurrentHashMap<Language, LanguageString>();\r
-//             \r
-//             for(Language language : value.keySet()) {\r
-//                     map.put(language, value.get(language));\r
-//             }\r
-//             \r
-//             return map;\r
-       \r
-       return null;\r
+        Map<Language,LanguageString> map = new ConcurrentHashMap<Language, LanguageString>();\r
+               \r
+               for(LanguageString l : value.getLanguageString()) {\r
+                       map.put(l.getLanguage(), l);\r
+               }\r
+               return map;\r
        }\r
 }\r