Update for tcs import
authorAndreas Müller <a.mueller@bgbm.org>
Thu, 23 Sep 2010 23:34:20 +0000 (23:34 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Thu, 23 Sep 2010 23:34:20 +0000 (23:34 +0000)
app-import/src/main/java/eu/etaxonomy/cdm/app/tcs/TcsXmlTestActivator.java
app-import/src/main/resources/tcs/Cichorium_tcs.xml
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/tcsxml/DefaultTcsXmlPlaceholders.java

index 717b944d7eac5a9b4e7f37882fdb683b0596b22e..99dada8a187f4631c419f388d8155163d062713a 100644 (file)
@@ -39,9 +39,9 @@ public class TcsXmlTestActivator {
        //database validation status (create, update, validate ...)\r
        static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;\r
        static final String tcsSource = TcsSources.tcsXml_cichorium();\r
-       static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_andreasM();\r
+//     static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_andreasM();\r
 //     static final ICdmDataSource cdmDestination = CdmDestinations.localH2();\r
-//     static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_postgres_CdmTest();\r
+       static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_postgres_CdmTest();\r
 \r
        static final UUID treeUuid = UUID.fromString("00000000-0c97-48ac-8d33-6099ed68c625");\r
        static final String sourceSecId = "TestTCS";\r
index c428c8bbbca2950dcd92bfaf4a43831ab5f12211..e1167b8036150645a90601f02b2e15395bc625ff 100644 (file)
                <Publication id="ref2">\r
                        <Simple>Sp. Pl.</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>Sp. Pl.</Title>\r
                                <DatePublished>1753</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref3">\r
-                       <Simple>Voyage Yemen</Simple>\r
+                       <Simple>Voyage Yemen 1889</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>Voyage Yemen</Title>\r
                                <DatePublished>1889</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref4">\r
                        <Simple>in Schweinfurth, Beitr. Fl. Äthiop.</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>in Schweinfurth, Beitr. Fl. Äthiop.</Title>\r
                                <DatePublished>1867</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref5">\r
                        <Simple>Consp. Fl. Graec. 2</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>Consp. Fl. Graec. 2</Title>\r
                                <DatePublished>1902</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref6">\r
                        <Simple>in Willdenowia 37</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>in Willdenowia 37</Title>\r
                                <DatePublished>2007</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref7">\r
                        <Simple>Observ. Bot. 4</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>Observ. Bot. 4</Title>\r
                                <DatePublished>1771</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref8">\r
                        <Simple>Syn. Gen. Compos.</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>Syn. Gen. Compos.</Title>\r
                                <DatePublished>1832</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref9">\r
                        <Simple>Compos. Ind.</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>Compos. Ind.</Title>\r
                                <DatePublished>1876</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref10">\r
                        <Simple>Prodr. Stirp. Chap. Allerton.</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>Prodr. Stirp. Chap. Allerton.</Title>\r
                                <DatePublished>1796</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref11">\r
                        <Simple>in Lamarck &amp; Candolle, Fl. Franç. ed. 3, 4</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>in Lamarck &amp; Candolle, Fl. Franç. ed. 3, 4</Title>\r
                                <DatePublished>1805</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref12">\r
                        <Simple>Prodr. 7</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>Prodr. 7</Title>\r
                                <DatePublished>1838</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref13">\r
                        <Simple>Fl. Portug. 2</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>Fl. Portug. 2</Title>\r
                                <DatePublished>1825-1828</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
                <Publication id="ref14">\r
                        <Simple>in Komarov, Fl. SSSR 29</Simple>\r
                        <PublicationDetailed>\r
+                               <Title>in Komarov, Fl. SSSR 29</Title>\r
                                <DatePublished>1964</DatePublished>\r
                        </PublicationDetailed>\r
                </Publication>\r
index 462ca2292a30b55db0af2d561e00cc9eaa9b3549..72e33e88ab192c539e6a7e3cf444c504c9c29689 100644 (file)
@@ -54,17 +54,49 @@ public class DefaultTcsXmlPlaceholders implements ITcsXmlPlaceholderClass {
                }\r
                if (elPublicationDetailed == null){\r
                        return true;\r
+               }else{\r
+                       publication.setProtectedTitleCache(false);\r
                }\r
                \r
-               String childName = "DatePublished";\r
-               boolean obligatory = false;\r
-               Namespace ns = config.getTcsXmlNamespace();\r
-               Element elDatePublished = XmlHelp.getSingleChildElement(success, elPublicationDetailed, childName, ns, obligatory);\r
-               if (elDatePublished != null){\r
-                       String strDatePublished = elDatePublished.getTextNormalize();\r
-                       TimePeriod datePublished = TimePeriod.parseString(strDatePublished);\r
-                       publication.setDatePublished(datePublished);\r
+               String childName;\r
+               Namespace tcsNs = config.getTcsXmlNamespace();\r
+               for (Object o : elPublicationDetailed.getChildren()){\r
+                       Element element = (Element)o;\r
+                       String value = element.getTextNormalize();\r
+                       \r
+                       childName = "Title";\r
+                       if (element.getName().equalsIgnoreCase(childName) && element.getNamespace().equals(tcsNs)){\r
+                               publication.setTitle(value);\r
+                               continue;\r
+                       }\r
+\r
+                       childName = "DatePublished";\r
+                       if (element.getName().equalsIgnoreCase(childName) && element.getNamespace().equals(tcsNs)){\r
+                               TimePeriod datePublished = TimePeriod.parseString(value);\r
+                               publication.setDatePublished(datePublished);\r
+                               continue;\r
+                       }\r
+                       \r
+                       logger.warn("Unhandled Publication Detailed child element: " +  element.getName());\r
+       \r
                }\r
+//             String childName = "Title";\r
+//             boolean obligatory = false;\r
+//             Element elTitle = XmlHelp.getSingleChildElement(success, elPublicationDetailed, childName, ns, obligatory);\r
+//             if (elTitle != null){\r
+//                     String strTitle = elTitle.getTextNormalize();\r
+//                     publication.setTitle(strTitle);\r
+//             }\r
+\r
+//             childName = "DatePublished";\r
+//             obligatory = false;\r
+//             ns = config.getTcsXmlNamespace();\r
+//             Element elDatePublished = XmlHelp.getSingleChildElement(success, elPublicationDetailed, childName, ns, obligatory);\r
+//             if (elDatePublished != null){\r
+//                     String strDatePublished = elDatePublished.getTextNormalize();\r
+//                     TimePeriod datePublished = TimePeriod.parseString(strDatePublished);\r
+//                     publication.setDatePublished(datePublished);\r
+//             }\r
                \r
                //Do nothing\r
                //TODO implement EDIT TcsMetaData extension\r