\r
import java.util.List;\r
\r
-import net.sf.json.CycleSetAcess;\r
import net.sf.json.JSONObject;\r
import net.sf.json.JsonConfig;\r
import net.sf.json.processors.JsonBeanProcessor;\r
import eu.etaxonomy.cdm.remote.dto.TaggedText;\r
\r
/**\r
- * WARNING! The idea i started implementing here will not work at all!!\r
* @author a.kohlbecker\r
+ * @date 29.07.2010\r
*\r
*/\r
-public class TaxonNodeDaoBeanProcessor extends CycleSetAcess implements JsonBeanProcessor {\r
- \r
- \r
+public class TaxonNodeDaoBeanProcessor implements JsonBeanProcessor {\r
+\r
+\r
/* (non-Javadoc)\r
* @see net.sf.json.processors.JsonBeanProcessor#processBean(java.lang.Object, net.sf.json.JsonConfig)\r
*/\r
+ @Override\r
public JSONObject processBean(Object bean, JsonConfig jsonConfig) {\r
- \r
+ \r
TaxonNode node = (TaxonNode)bean;\r
JSONObject json = new JSONObject();\r
json.element("class", "TaxonNodeDao");\r
List<TaggedText> taggedTitle = TaxonNameBaseBeanProcessor.getTaggedName(node.getTaxon().getName());\r
json.element("taggedTitle", taggedTitle, jsonConfig);\r
json.element("taxonUuid", node.getTaxon().getUuid(), jsonConfig);\r
- json.element("secUuid", node.getTaxon().getSec().getUuid(), jsonConfig);\r
+ //Sec can be null (web services can return null for sec)\r
+ //comparation made for avoding 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("rankLabel", node.getTaxon().getName().getRank().getLabel(), jsonConfig);\r
- //json.element("treeUuid", node.getTaxonomicTree().getUuid(), 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
+ }\r
+ json.element("rankLabel", ranklabel, jsonConfig);\r
+ //json.element("treeUuid", node.getClassification().getUuid(), jsonConfig);\r
\r
return json;\r
}\r