ref #6694 Set pattern when creating a new feature tree
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / dialog / selection / FeatureTreeSelectionDialog.java
index 45a60c0b609e7c0620e26edd5e6b4075cb50abea..ef0aeef657825baa4ada1c2b58acf5dc020fa15d 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
 * Copyright (C) 2007 EDIT
 * European Distributed Institute of Taxonomy
@@ -15,7 +14,7 @@ import java.util.List;
 import java.util.UUID;
 
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.jface.dialogs.InputDialog;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -26,15 +25,12 @@ import org.eclipse.swt.widgets.Shell;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
-import eu.etaxonomy.taxeditor.featuretree.FeatureTreeEditorWizard;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
- * <p>FilteredFeatureTreeSelectionDialog class.</p>
- *
  * @author n.hoffmann
  * @created Sep 17, 2010
  * @version 1.0
@@ -42,48 +38,24 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class FeatureTreeSelectionDialog extends
                AbstractFilteredCdmResourceSelectionDialog<FeatureTree> {
 
-       /**
-        * Creates a filtered selection dialog to select a named area.
-        *
-        * @param shell
-        *                              The shell for displaying this widget
-        * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
-        * @param featureTree a {@link eu.etaxonomy.cdm.model.description.FeatureTree} object.
-        * @return a {@link eu.etaxonomy.cdm.model.description.FeatureTree} object.
-        */
        public static FeatureTree select(Shell shell, ConversationHolder conversation, FeatureTree featureTree) {
                FeatureTreeSelectionDialog dialog = new FeatureTreeSelectionDialog(shell, conversation,
                                "Choose a feature tree", false, featureTree);
                return getSelectionFromDialog(dialog);
        }
 
-       /**
-        * <p>Constructor for FilteredFeatureTreeSelectionDialog.</p>
-        *
-        * @param shell a {@link org.eclipse.swt.widgets.Shell} object.
-        * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
-        * @param title a {@link java.lang.String} object.
-        * @param multi a boolean.
-        * @param cdmObject a {@link eu.etaxonomy.cdm.model.description.FeatureTree} object.
-        */
        protected FeatureTreeSelectionDialog(Shell shell,
                        ConversationHolder conversation, String title, boolean multi,
                        FeatureTree cdmObject) {
                super(shell, conversation, title, multi, FeatureTreeSelectionDialog.class.getCanonicalName(), cdmObject);
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getPersistentObject(java.util.UUID)
-        */
        /** {@inheritDoc} */
        @Override
        protected FeatureTree getPersistentObject(UUID uuid) {
                return CdmStore.getService(IFeatureTreeService.class).load(uuid);
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
-        */
        /** {@inheritDoc} */
        @Override
        protected void initModel() {
@@ -99,9 +71,6 @@ public class FeatureTreeSelectionDialog extends
                }
        }
 
-       /* (non-Javadoc)
-       * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createExtendedContentArea(org.eclipse.swt.widgets.Composite)
-       */
        /** {@inheritDoc} */
        @Override
        protected Control createExtendedContentArea(Composite parent) {
@@ -111,21 +80,24 @@ public class FeatureTreeSelectionDialog extends
                        @Override
             public void handleEvent(Event event) {
 
-                               FeatureTreeEditorWizard wizard = new FeatureTreeEditorWizard();
-                               WizardDialog dialog = new WizardDialog(getShell(), wizard);
-                               int status = dialog.open();
-
+                           InputDialog input = new InputDialog(getShell(), "New feature tree", "Enter label for new feature tree", null, null);
+                               int status = input.open();
                                if (status == IStatus.OK) {
-                                       refresh();
+                                   String label = input.getValue();
+                                   if(label!=null){
+                                       FeatureTree featureTree = FeatureTree.NewInstance();
+                                       featureTree.setTitleCache(label, false);
+                                       CdmStore.getService(IFeatureTreeService.class).save(featureTree);
+                                   UuidAndTitleCache<FeatureTree> uuidAndTitleCache = new UuidAndTitleCache<FeatureTree>(FeatureTree.class, featureTree.getUuid(),featureTree.getId(), featureTree.getTitleCache());
+                                   model.add(uuidAndTitleCache);
+                                   setPattern(featureTree);
+                                   }
                                }
                        }
                });
                return link;
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
-        */
        /** {@inheritDoc} */
        @Override
        protected String getNewWizardLinkText() {