cleaning up the ParserUtil
authorn.hoffmann <n.hoffmann@localhost>
Wed, 26 Aug 2009 13:02:01 +0000 (13:02 +0000)
committern.hoffmann <n.hoffmann@localhost>
Wed, 26 Aug 2009 13:02:01 +0000 (13:02 +0000)
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/parser/CdmParserUtil.java

index a25a89e8dc6cf1992ce38e17a11b85ac74281d2c..c8edf73fd6105e47559b459ba4577594931a83a8 100644 (file)
@@ -40,29 +40,24 @@ public class CdmParserUtil {
        public static void clearNonViralNameParser() {\r
                nonViralNameParser = null;\r
        }\r
+\r
        \r
        /**\r
         * Takes a raw string, returns a brand spanking new name object.\r
-        * <p>\r
-        * If no nomenclatural code is specified, the code specified in user preferences\r
-        * is used, i.e. if the preferred code is ICBN, a <code>BotanicalName</code> is returned; \r
-        * if it's ICZN, a <code>ZoologicalName</code> is returned.\r
-        * </p>\r
+        * \r
+        * Will take the nomenclatural code, that is currently set in preferences\r
         * \r
         * @param fullReference\r
-        * @param nomCode\r
-        * @param rank\r
         * @return\r
         */\r
-       public static TaxonNameBase parseFullReference(String fullReference,\r
-                       NomenclaturalCode nomCode, Rank rank) {\r
+       @Deprecated\r
+       public static TaxonNameBase parseFullReference(String fullReference) {\r
+               \r
+               NomenclaturalCode nomCode = PreferencesUtil.getPreferredNomenclaturalCode();\r
                \r
-               if (nomCode == null) {\r
-                       nomCode = PreferencesUtil.getPreferredNomenclaturalCode();\r
-               }\r
                \r
                TaxonNameBase name = getNonViralNameParser().parseReferencedName(fullReference,\r
-                               nomCode, rank);\r
+                               nomCode, null);\r
 \r
                if (name.hasProblem()) {\r
                        name.setFullTitleCache(fullReference);\r
@@ -70,46 +65,53 @@ public class CdmParserUtil {
                \r
                return name;\r
        }\r
+       \r
+       public static TaxonNameBase createEmptyName(){\r
+               return getNonViralNameParser().parseReferencedName("",\r
+                               PreferencesUtil.getPreferredNomenclaturalCode(), null);\r
+       }\r
+       \r
+       /**\r
+        * Desired method\r
+        * \r
+        * @param unparsedNameString\r
+        * @param rank\r
+        * @return\r
+        */\r
+       public static TaxonNameBase parseReferencedName(String unparsedNameString, Rank rank){\r
+               NomenclaturalCode nomCode = PreferencesUtil.getPreferredNomenclaturalCode();\r
+               \r
+               TaxonNameBase name = getNonViralNameParser().parseReferencedName(unparsedNameString,\r
+                               nomCode, rank);\r
+\r
+               if (name.hasProblem()) {\r
+                       name.setFullTitleCache(unparsedNameString);\r
+               }\r
+               \r
+               return name;\r
+       }\r
 \r
        /**\r
         * Takes an existing name object and a string, returns the same name\r
         * object with the fields parsed from the string.\r
         * \r
-        * @param nameToBeFilled\r
-        * @param fullReference\r
-        * @param rank\r
-        * @param makeEmpty\r
-        * \r
+        * @param nameToBeFilled \r
+        *                              an existing name object\r
+        * @param fullReference \r
+        *                              the string containing the scientific name with authorship, year, reference etc. \r
+        * @return\r
+        *                              the parsed name\r
         */\r
+       @Deprecated\r
        public static void parseFullReference(NonViralName nameToBeFilled, String fullReference) {\r
-               \r
-               Rank rank = null;\r
-               boolean makeEmpty = true;\r
-               \r
-               // If the name already has a rank, make sure it is passed to the parser\r
-               if (nameToBeFilled.getRank() != null) {\r
-                       rank = nameToBeFilled.getRank();\r
-               }\r
                                                \r
-               getNonViralNameParser().parseReferencedName(nameToBeFilled, fullReference, rank, makeEmpty);\r
+\r
+               getNonViralNameParser().parseReferencedName(nameToBeFilled, fullReference, nameToBeFilled.getRank(), true);\r
                \r
                if (nameToBeFilled.hasProblem()) {\r
                        nameToBeFilled.setFullTitleCache(fullReference);\r
                }\r
-       }\r
-       \r
-       /**\r
-        * @param nameToBeFilled\r
-        * @param fullNameString\r
-        * @param rank\r
-        * @param makeEmpty\r
-        * \r
-        * TODO not used!\r
-        */\r
-       public static void parseFullName(NonViralName nameToBeFilled,\r
-                       String fullNameString, Rank rank, boolean makeEmpty) {\r
-               getNonViralNameParser().parseFullName(nameToBeFilled, fullNameString,\r
-                               rank, makeEmpty);\r
+\r
        }\r
        \r
 }\r