performed javacscript:fix and worked on documentation
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / descriptive / DescriptiveContentProvider.java
index dd1ae794453aa1e6747ef7278d6dea671d54a5ea..71a1eff20d6372cdda8f94d9fd6145f110cfcfa1 100644 (file)
-/**\r
- * \r
- */\r
-package eu.etaxonomy.taxeditor.editor.view.descriptive;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-import java.util.Map;\r
-import java.util.Set;\r
-\r
-import org.apache.log4j.Logger;\r
-import org.eclipse.jface.viewers.ITreeContentProvider;\r
-import org.eclipse.jface.viewers.Viewer;\r
-\r
-import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
-import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;\r
-import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;\r
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
-import eu.etaxonomy.taxeditor.store.TermStore;\r
-\r
-/**\r
- * @author p.ciardelli\r
- * @author n.hoffmann\r
- */\r
-public class DescriptiveContentProvider implements ITreeContentProvider {\r
-       private static final Logger logger = Logger\r
-                       .getLogger(DescriptiveContentProvider.class);\r
-\r
-       private static final Object[] NO_CHILDREN = new Object[0];\r
-       private Map<TaxonDescription, FeatureNodeContainer> featureNodeContainerCache;\r
-       \r
-       public DescriptiveContentProvider(Map<TaxonDescription, FeatureNodeContainer> featureNodeContainerCache) {\r
-               this.featureNodeContainerCache = featureNodeContainerCache;\r
-       }\r
-       \r
-       /* (non-Javadoc)\r
-        * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)\r
-        */\r
-       public Object[] getChildren(Object parentElement) {\r
-               if (parentElement instanceof TaxonEditorInput) {\r
-                       return getDescriptions((TaxonEditorInput) parentElement).toArray(); \r
-               }\r
-               else if (parentElement instanceof TaxonDescription) {\r
-                       if ( ! ((TaxonDescription) parentElement).isImageGallery()) {\r
-                               TaxonDescription description = (TaxonDescription) parentElement;\r
-                               FeatureNodeContainer rootContainer = FeatureNodeContainer.CreateTree(getFeatureTree(description), description);\r
-                               featureNodeContainerCache.put(description, rootContainer);\r
-                               return rootContainer.getChildren().toArray();\r
-                       }\r
-               }\r
-               else if (parentElement instanceof FeatureNodeContainer){\r
-                       FeatureNodeContainer container = (FeatureNodeContainer) parentElement;\r
-                       if(container.isLeaf()){\r
-                               return container.getDescriptionElements().toArray();\r
-                       }else{\r
-                               return container.getChildren().toArray();\r
-                       }\r
-               }\r
-               \r
-               return NO_CHILDREN;\r
-       }\r
-\r
-       @Override\r
-       public boolean hasChildren(Object element) {\r
-               return getChildren(element).length != 0;\r
-       }\r
-       \r
-       /**\r
-        * Retrieves the feature tree associated with the given description\r
-        * \r
-        * TODO as of now this is always the same thing because feature trees may not be associated \r
-        * to descriptions yet.\r
-        * \r
-        * @param description\r
-        * @return\r
-        */\r
-       private FeatureTree getFeatureTree(DescriptionBase description){\r
-               FeatureTree featureTree = null;\r
-               \r
-               // TODO change this to the feature tree associated with this taxon description\r
-               if (description.hasStructuredData()){                                   \r
-                       featureTree = PreferencesUtil.getDefaultFeatureTreeForStructuredDescription();\r
-               }else{\r
-                       featureTree = PreferencesUtil.getDefaultFeatureTreeForTextualDescription();\r
-               }\r
-               \r
-               // create a transient tree with all features if none was selected\r
-               if(featureTree == null){\r
-                       featureTree = FeatureTree.NewInstance(TermStore.getFeatures());\r
-               }\r
-               \r
-               return featureTree;\r
-       }\r
-\r
-       /**\r
-        * Get all descriptions associated with the given TaxonEditorInput\r
-        * \r
-        * @param parentElement\r
-        * @return\r
-        */\r
-       private List<DescriptionBase> getDescriptions(TaxonEditorInput parentElement) {\r
-               Taxon taxon = parentElement.getTaxon();\r
-               List<DescriptionBase> descriptions = new ArrayList<DescriptionBase>();\r
-               for(DescriptionBase description : taxon.getDescriptions()){\r
-                       if(! description.isImageGallery()){\r
-                               descriptions.add(description);\r
-                       }\r
-               }                       \r
-               return descriptions;\r
-       }\r
-\r
-       /* (non-Javadoc)\r
-        * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)\r
-        */\r
-       public Object getParent(Object element) {\r
-               return null;\r
-       }\r
-\r
-       /* (non-Javadoc)\r
-        * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)\r
-        */\r
-       public Object[] getElements(Object inputElement) {\r
-               return getChildren(inputElement);\r
-       }\r
-       \r
-       /* (non-Javadoc)\r
-        * @see org.eclipse.jface.viewers.IContentProvider#dispose()\r
-        */\r
-       public void dispose() {}\r
-\r
-       /* (non-Javadoc)\r
-        * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)\r
-        */\r
-       public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}    \r
-       \r
-}
\ No newline at end of file
+/**
+ * 
+ */
+package eu.etaxonomy.taxeditor.editor.view.descriptive;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+import eu.etaxonomy.cdm.model.description.DescriptionBase;
+import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.description.TaxonDescription;
+import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
+import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.TermStore;
+
+/**
+ * <p>DescriptiveContentProvider class.</p>
+ *
+ * @author p.ciardelli
+ * @author n.hoffmann
+ * @version $Id: $
+ */
+public class DescriptiveContentProvider implements ITreeContentProvider {
+       private static final Logger logger = Logger
+                       .getLogger(DescriptiveContentProvider.class);
+
+       private static final Object[] NO_CHILDREN = new Object[0];
+       private Map<TaxonDescription, FeatureNodeContainer> featureNodeContainerCache;
+       
+       /**
+        * <p>Constructor for DescriptiveContentProvider.</p>
+        *
+        * @param featureNodeContainerCache a {@link java.util.Map} object.
+        */
+       public DescriptiveContentProvider(Map<TaxonDescription, FeatureNodeContainer> featureNodeContainerCache) {
+               this.featureNodeContainerCache = featureNodeContainerCache;
+       }
+       
+       /* (non-Javadoc)
+        * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
+        */
+       /** {@inheritDoc} */
+       public Object[] getChildren(Object parentElement) {
+               if (parentElement instanceof TaxonEditorInput) {
+                       return getDescriptions((TaxonEditorInput) parentElement).toArray(); 
+               }
+               else if (parentElement instanceof TaxonDescription) {
+                       if ( ! ((TaxonDescription) parentElement).isImageGallery()) {
+                               TaxonDescription description = (TaxonDescription) parentElement;
+                               FeatureNodeContainer rootContainer = FeatureNodeContainer.CreateTree(getFeatureTree(description), description);
+                               featureNodeContainerCache.put(description, rootContainer);
+                               return rootContainer.getChildren().toArray();
+                       }
+               }
+               else if (parentElement instanceof FeatureNodeContainer){
+                       FeatureNodeContainer container = (FeatureNodeContainer) parentElement;
+                       if(container.isLeaf()){
+                               return container.getDescriptionElements().toArray();
+                       }else{
+                               return container.getChildren().toArray();
+                       }
+               }
+               
+               return NO_CHILDREN;
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       public boolean hasChildren(Object element) {
+               return getChildren(element).length != 0;
+       }
+       
+       /**
+        * Retrieves the feature tree associated with the given description
+        * 
+        * TODO as of now this is always the same thing because feature trees may not be associated 
+        * to descriptions yet.
+        * 
+        * @param description
+        * @return
+        */
+       private FeatureTree getFeatureTree(DescriptionBase description){
+               FeatureTree featureTree = null;
+               
+               // TODO change this to the feature tree associated with this taxon description
+               if (description.hasStructuredData()){                                   
+                       featureTree = PreferencesUtil.getDefaultFeatureTreeForStructuredDescription();
+               }else{
+                       featureTree = PreferencesUtil.getDefaultFeatureTreeForTextualDescription();
+               }
+               
+               // create a transient tree with all features if none was selected
+               if(featureTree == null){
+                       featureTree = FeatureTree.NewInstance(TermStore.getFeatures());
+               }
+               
+               return featureTree;
+       }
+
+       /**
+        * Get all descriptions associated with the given TaxonEditorInput
+        * 
+        * @param parentElement
+        * @return
+        */
+       private List<DescriptionBase> getDescriptions(TaxonEditorInput parentElement) {
+               Taxon taxon = parentElement.getTaxon();
+               List<DescriptionBase> descriptions = new ArrayList<DescriptionBase>();
+               for(DescriptionBase description : taxon.getDescriptions()){
+                       if(! description.isImageGallery()){
+                               descriptions.add(description);
+                       }
+               }                       
+               return descriptions;
+       }
+
+       /* (non-Javadoc)
+        * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
+        */
+       /** {@inheritDoc} */
+       public Object getParent(Object element) {
+               return null;
+       }
+
+       /* (non-Javadoc)
+        * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
+        */
+       /** {@inheritDoc} */
+       public Object[] getElements(Object inputElement) {
+               return getChildren(inputElement);
+       }
+       
+       /* (non-Javadoc)
+        * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+        */
+       /**
+        * <p>dispose</p>
+        */
+       public void dispose() {}
+
+       /* (non-Javadoc)
+        * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
+        */
+       /** {@inheritDoc} */
+       public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}    
+       
+}