bugfix for name parsing of repeatedly parsed uninomials
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / strategy / parser / ParserProblem.java
index e106907c9f913e57bc7d8f2f09bdbf2702e3b7e4..73356b9f579a0143795dec2b5e716a961a8e138e 100644 (file)
@@ -123,14 +123,30 @@ public enum ParserProblem {
         * @param warning\r
         * @return\r
         */\r
-       public static int addWarning(int originalWarnings, ParserProblem newWarning) {\r
-               return originalWarnings | 1 << newWarning.ordinal();\r
+       public static int addProblem(int originalProblems, ParserProblem newProblem) {\r
+               if (newProblem == null){\r
+                       return originalProblems;\r
+               }else{\r
+                       return originalProblems | 1 << newProblem.ordinal();\r
+               }\r
        }\r
        \r
-       public static int addWarnings(int hasProblem, int newWarnings) {\r
-               return hasProblem | newWarnings;\r
+       public static int addProblems(int hasProblem, int newProblems) {\r
+               return hasProblem | newProblems;\r
        }\r
-       \r
+\r
+       /**\r
+        * @param parsingProblem\r
+        * @param problemToRemove\r
+        * @return\r
+        */\r
+       public static int removeProblem(int originalProblems, ParserProblem problemToRemove) {\r
+               if (problemToRemove == null){\r
+                       return originalProblems;\r
+               }else{\r
+                       return originalProblems & ~(1 << problemToRemove.ordinal());\r
+               }\r
+       }       \r
 \r
        \r
        \r