package eu.etaxonomy.taxeditor.navigation.navigator;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IClassificationService;
+import eu.etaxonomy.cdm.model.common.ITreeNode;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
-import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
-import eu.etaxonomy.taxeditor.navigation.operation.CreateClassification;
-import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
*
* @return a {@link java.util.List} object.
*/
- public List<Classification> getParentBeans() {
+ public List<ITreeNode> getParentBeans() {
List<String> propertyPaths = Arrays.asList(new String[]{
"name", //$NON-NLS-1$
"rootNode.childNodes"}); //$NON-NLS-1$
List<Classification> classifications = CdmStore.getService(IClassificationService.class).list(null, null, null, null, propertyPaths);
+ List<ITreeNode> rootNodes = new ArrayList<>();
if(classifications.size() == 0){
- Classification classification = Classification.NewInstance(Messages.Root_MY_CLASSIFICATION);
- AbstractPostOperation operation = new CreateClassification(Messages.Root_CREATE_CLASSIFICATION, NavigationUtil.getUndoContext(), classification, NavigationUtil.getNavigator(false), NavigationUtil.getNavigator(false), NavigationUtil.getNavigator(false));
- NavigationUtil.executeOperation(operation);
-
- classifications = CdmStore.getService(IClassificationService.class).list(null, null, null, null, propertyPaths);
+ //FIXME E4 migrate or delete; when does this happen and SHOULD this happen?
+// Classification classification = Classification.NewInstance(Messages.Root_MY_CLASSIFICATION);
+// AbstractPostOperation operation = new CreateClassification(Messages.Root_CREATE_CLASSIFICATION, NavigationUtil.getUndoContext(), classification, NavigationUtil.getNavigator(false), NavigationUtil.getNavigator(false), NavigationUtil.getNavigator(false));
+// NavigationUtil.executeOperation(operation);
+//
+// classifications = CdmStore.getService(IClassificationService.class).list(null, null, null, null, propertyPaths);
}
-
- return classifications;
+ for (Classification classification: classifications){
+ rootNodes.add(classification.getRootNode());
+ }
+ return rootNodes;
}
/* (non-Javadoc)