fixing dependent bug for #2912 (NPE in TaxonNodeByNameComparator when Taxon in TaxoNo...
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Thu, 28 Jun 2012 09:53:03 +0000 (09:53 +0000)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Thu, 28 Jun 2012 09:53:03 +0000 (09:53 +0000)
handling case: taxon in taxonnode is null

cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/json/processor/bean/TaxonNodeDaoBeanProcessor.java

index b5b21047d5a320028540baa6af1118c3cb5f8963..000780ad74b11e601a802d36e5172be169699d77 100644 (file)
@@ -36,27 +36,28 @@ public class TaxonNodeDaoBeanProcessor implements JsonBeanProcessor {
         JSONObject json = new JSONObject();\r
         json.element("class", "TaxonNodeDao");\r
         json.element("uuid", node.getUuid(), jsonConfig);\r
-        json.element("titleCache", node.getTaxon().getName().getTitleCache(), jsonConfig);\r
-        List<TaggedText> taggedTitle = node.getTaxon().getName().getTaggedName();\r
-        json.element("taggedTitle", taggedTitle, jsonConfig);\r
-        json.element("taxonUuid", node.getTaxon().getUuid(), jsonConfig);\r
-        //Sec can be null (web services can return null for sec)\r
-        //comparation made for avoiding view exceptions\r
-        if (node.getTaxon().getSec() == null){\r
-            json.element("secUuid", "null");\r
-        }else{\r
-            json.element("secUuid", node.getTaxon().getSec().getUuid(), jsonConfig);\r
-        }\r
         json.element("taxonomicChildrenCount", node.getCountChildren(), jsonConfig);\r
-        json.element("unplaced", node.getTaxon().isUnplaced());\r
-        json.element("excluded", node.getTaxon().isExcluded());\r
-        String ranklabel = null;\r
-        if(node.getTaxon().getName().getRank() != null){\r
-            ranklabel = node.getTaxon().getName().getRank().getLabel();\r
+        //json.element("classificationUuid", node.getClassification().getUuid(), jsonConfig);\r
+        if(node.getTaxon() != null){\r
+            json.element("titleCache", node.getTaxon().getName().getTitleCache(), jsonConfig);\r
+            List<TaggedText> taggedTitle = node.getTaxon().getName().getTaggedName();\r
+            json.element("taggedTitle", taggedTitle, jsonConfig);\r
+            json.element("taxonUuid", node.getTaxon().getUuid(), jsonConfig);\r
+            //Sec can be null (web services can return null for sec)\r
+            //comparation made for avoiding view exceptions\r
+            if (node.getTaxon().getSec() == null){\r
+                json.element("secUuid", "null");\r
+            }else{\r
+                json.element("secUuid", node.getTaxon().getSec().getUuid(), jsonConfig);\r
+            }\r
+            json.element("unplaced", node.getTaxon().isUnplaced());\r
+            json.element("excluded", node.getTaxon().isExcluded());\r
+            String ranklabel = null;\r
+            if(node.getTaxon().getName().getRank() != null){\r
+                ranklabel = node.getTaxon().getName().getRank().getLabel();\r
+            }\r
+            json.element("rankLabel", ranklabel, jsonConfig);\r
         }\r
-        json.element("rankLabel", ranklabel, jsonConfig);\r
-        //json.element("treeUuid", node.getClassification().getUuid(), jsonConfig);\r
-\r
         return json;\r
     }\r
 \r