ref #7849: remove OVERRIDE constants from IPreferenceKeys and handle it by method
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / dialog / selection / GroupSelectionDialog.java
index 2abd2f0e904edbf0d3c597b234263dbd1b6ca343..f1e9e303a8f4771e41d39858d3af14f0dad27d33 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
 * Copyright (C) 2007 EDIT
 * European Distributed Institute of Taxonomy
@@ -16,10 +15,9 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IGroupService;
 import eu.etaxonomy.cdm.model.common.Group;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
 import eu.etaxonomy.taxeditor.newWizard.NewGroupWizard;
 import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -32,8 +30,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class GroupSelectionDialog extends
                AbstractFilteredCdmResourceSelectionDialog<Group> {
 
-       public static Group select(Shell shell, ConversationHolder conversation, Group group){
-               GroupSelectionDialog dialog = new GroupSelectionDialog(shell, conversation,
+       public static Group select(Shell shell, //ConversationHolder conversation,
+               Group group){
+               GroupSelectionDialog dialog = new GroupSelectionDialog(shell, //conversation,
                                "Choose Group", false, GroupSelectionDialog.class.getCanonicalName(), group);
                return getSelectionFromDialog(dialog);
        }
@@ -46,23 +45,26 @@ public class GroupSelectionDialog extends
         * @param settings
         * @param cdmObject
         */
-       protected GroupSelectionDialog(Shell shell,
-                       ConversationHolder conversation, String title, boolean multi,
+       protected GroupSelectionDialog(Shell shell,//ConversationHolder conversation,
+               String title, boolean multi,
                        String settings, Group cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#search
         */
        @Override
-       protected void initModel() {
+       protected void callService(String pattern) {
                List<Group> groups = CdmStore.getService(IGroupService.class).list(Group.class, null, null, null, null);
 
                model = new ArrayList<UuidAndTitleCache<Group>>();
 
                for(Group group : groups){
-                       model.add(new UuidAndTitleCache<Group>(Group.class, group.getUuid(), group.getId(), String.format("%s", group.getName())));
+                   if (pattern == null || group.getName().matches("(?i)"+pattern + ".*")){
+                       model.add(new UuidAndTitleCache<Group>(Group.class, group.getUuid(), group.getId(), String.format("%s", group.getName())));
+                   }
                }
        }
 
@@ -70,8 +72,8 @@ public class GroupSelectionDialog extends
         * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
         */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "Group ");
+       protected String[] getNewWizardText() {
+               return new String[]{"New Group"};
        }
 
        /* (non-Javadoc)