(no commit message)
authorKatja Luther <k.luther@bgbm.org>
Thu, 24 Sep 2009 13:22:11 +0000 (13:22 +0000)
committerKatja Luther <k.luther@bgbm.org>
Thu, 24 Sep 2009 13:22:11 +0000 (13:22 +0000)
cdmlib-model/src/main/java/eu/etaxonomy/cdm/jaxb/FormattedTextAdapter.java
cdmlib-model/src/main/java/eu/etaxonomy/cdm/jaxb/PartialAdapter.java

index 17cdb73dc0621ba3aa5f166a16390a31fb20556c..7315a146eb58685c5533c47bc5eb56141a052569 100644 (file)
@@ -14,6 +14,7 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;\r
 import javax.xml.transform.stream.StreamResult;\r
 \r
+import org.apache.commons.lang.StringEscapeUtils;\r
 import org.apache.commons.logging.Log;\r
 import org.apache.commons.logging.LogFactory;\r
 import org.w3c.dom.DOMException;\r
@@ -42,21 +43,32 @@ public class FormattedTextAdapter extends XmlAdapter<FormattedText,java.lang.Str
        \r
        public FormattedText marshal(String string) throws Exception {\r
                if(string != null) {\r
-                       String documentString = "<?xml version=\"1.0\"?><text>"  + string + "</text>";\r
+                       \r
+                       string = StringEscapeUtils.escapeXml(string);\r
+                       String documentString = "<?xml version=\"1.0\"?><Text>"  + string + "</Text>";\r
                        log.debug("Parsing " + documentString);\r
+                       \r
                        FormattedText text = new FormattedText();\r
                    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\r
                    DocumentBuilder parser = factory.newDocumentBuilder();\r
+                   //\r
+                  // System.err.println(documentString);\r
                    Document document = parser.parse(new InputSource(new StringReader(documentString)));\r
+                   \r
                    NodeList childNodes = document.getDocumentElement().getChildNodes();\r
+                   \r
                    for(int i = 0; i < childNodes.getLength(); i++) {\r
                        Node node = childNodes.item(i);\r
                        if(node instanceof org.w3c.dom.Text ) {\r
                                org.w3c.dom.Text textNode = (org.w3c.dom.Text) node;\r
-                               \r
+                               //if (documentString.contains("United Kingdom")){\r
+                   //                  System.err.println("w3c..." + textNode.getData());\r
+                               //}\r
+                       \r
                                text.getContent().add(textNode.getTextContent());\r
                        } else {\r
                            text.getContent().add(node);\r
+                               //System.err.println("no w3c..." + text.toString());\r
                        }\r
                    }\r
                    return text;\r
@@ -81,6 +93,7 @@ public class FormattedTextAdapter extends XmlAdapter<FormattedText,java.lang.Str
                                                attributes.removeNamedItem(prefix);\r
                                        } catch(DOMException de){\r
                                                if(de.code != DOMException.NOT_FOUND_ERR) {\r
+                                                       System.err.println("no such prefix: " + prefix);\r
                                                        throw de;\r
                                                }\r
                                        }\r
index 86731cedae7f9f9a00569cda02e8bbdd67b32a7d..f017af488a1f92e9266fa9fc9f845e7b03cbaaa6 100644 (file)
@@ -11,7 +11,7 @@ import org.joda.time.Partial;
 public class PartialAdapter extends XmlAdapter<String, Partial> {\r
        \r
        protected static Pattern PATTERN;\r
-       private static String REGEX = "^(\\d{4})(?:\\-(\\d{2})(?:\\-(\\d{2})(?:T(\\d{2})(?:\\:(\\d{2})(?:\\:(\\d{2})(?:\\.(\\d+))?)?)?)?)?)?$";\r
+       private static String REGEX = "^(\\d{4})(?:\\-(\\d{1,2})(?:\\-(\\d{1,2})(?:T(\\d{2})(?:\\:(\\d{2})(?:\\:(\\d{2})(?:\\.(\\d+))?)?)?)?)?)?$";\r
        \r
        static {\r
                PATTERN = Pattern.compile(REGEX);\r