fix NPE for first search
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / dialog / selection / GrantedAuthoritySelectionDialog.java
index 9520fbb73c6901bc33216dd14cdd8a25429537c9..d2db4595a8ba913f0e417eebeab2697466c7dbda 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
 * Copyright (C) 2007 EDIT
 * European Distributed Institute of Taxonomy
 /**
 * Copyright (C) 2007 EDIT
 * European Distributed Institute of Taxonomy
@@ -17,7 +16,6 @@ import java.util.UUID;
 import org.eclipse.swt.widgets.Shell;
 import org.springframework.security.core.GrantedAuthority;
 
 import org.eclipse.swt.widgets.Shell;
 import org.springframework.security.core.GrantedAuthority;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IGrantedAuthorityService;
 import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.api.service.IGrantedAuthorityService;
 import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
@@ -33,9 +31,10 @@ import eu.etaxonomy.taxeditor.ui.section.grantedAuthority.GrantedAuthorityLabelT
  */
 public class GrantedAuthoritySelectionDialog extends   AbstractFilteredCdmResourceSelectionDialog<GrantedAuthorityImpl> {
 
  */
 public class GrantedAuthoritySelectionDialog extends   AbstractFilteredCdmResourceSelectionDialog<GrantedAuthorityImpl> {
 
-       public static GrantedAuthority select(Shell shell, ConversationHolder conversation, GrantedAuthorityImpl authority){
+       public static GrantedAuthority select(Shell shell, //ConversationHolder conversation,
+               GrantedAuthorityImpl authority){
 
 
-               GrantedAuthoritySelectionDialog dialog = new GrantedAuthoritySelectionDialog(shell, conversation,
+               GrantedAuthoritySelectionDialog dialog = new GrantedAuthoritySelectionDialog(shell,//conversation,
                                "Choose Granted Authority", false, GrantedAuthoritySelectionDialog.class.getCanonicalName(), authority);
 
                return getSelectionFromDialog(dialog);
                                "Choose Granted Authority", false, GrantedAuthoritySelectionDialog.class.getCanonicalName(), authority);
 
                return getSelectionFromDialog(dialog);
@@ -49,33 +48,36 @@ public class GrantedAuthoritySelectionDialog extends        AbstractFilteredCdmResource
         * @param settings
         * @param cdmObject
         */
         * @param settings
         * @param cdmObject
         */
-       protected GrantedAuthoritySelectionDialog(Shell shell,
-                       ConversationHolder conversation, String title, boolean multi,
+       protected GrantedAuthoritySelectionDialog(Shell shell,//ConversationHolder conversation,
+               String title, boolean multi,
                        String settings, GrantedAuthorityImpl cdmObject) {
                        String settings, GrantedAuthorityImpl cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /* (non-Javadoc)
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#search
         */
        @Override
         */
        @Override
-       protected void initModel() {
+       protected void callService(String pattern) {
                List<GrantedAuthorityImpl> authorities = CdmStore.getService(IGrantedAuthorityService.class).list(GrantedAuthorityImpl.class, null, null, null, null);
 
                model = new ArrayList<UuidAndTitleCache<GrantedAuthorityImpl>>();
 
                for(GrantedAuthorityImpl authority : authorities){
                List<GrantedAuthorityImpl> authorities = CdmStore.getService(IGrantedAuthorityService.class).list(GrantedAuthorityImpl.class, null, null, null, null);
 
                model = new ArrayList<UuidAndTitleCache<GrantedAuthorityImpl>>();
 
                for(GrantedAuthorityImpl authority : authorities){
-                       
-                       model.add(new UuidAndTitleCache<GrantedAuthorityImpl>(GrantedAuthorityImpl.class, authority.getUuid(), authority.getId(), String.format("%s", GrantedAuthorityLabelTextProvider.getText(authority))));
+                   if (authority.getAuthority().matches(pattern)){
+                       model.add(new UuidAndTitleCache<GrantedAuthorityImpl>(GrantedAuthorityImpl.class, authority.getUuid(), authority.getId(), String.format("%s", GrantedAuthorityLabelTextProvider.getText(authority))));
+                   }
                }
                }
+
        }
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
         */
        @Override
        }
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
         */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "GrantedAuthority ");
+       protected String[] getNewWizardText() {
+               return new String[]{"New GrantedAuthority"};
        }
 
        @Override
        }
 
        @Override