Adapted to changes in homotypic group handling
authorn.hoffmann <n.hoffmann@localhost>
Tue, 6 Sep 2011 12:51:55 +0000 (12:51 +0000)
committern.hoffmann <n.hoffmann@localhost>
Tue, 6 Sep 2011 12:51:55 +0000 (12:51 +0000)
eu.etaxonomy.taxeditor.cdmlib/.classpath
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/AbstractHomotypicalGroupContainer.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/IterableSynonymyList.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/LoginManager.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/password/PasswordWizard.java

index a2c49c5decd776445443463cc80017ff2b385415..0992b59bf899e2b925948286cfde767dceb177a5 100644 (file)
@@ -15,7 +15,7 @@
        <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.0.7-SNAPSHOT.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.0.7-SNAPSHOT.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.0.7-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.0.7-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.0.7-SNAPSHOT.jar" sourcepath="/Users/n.hoffmann/.m2/repository/eu/etaxonomy/cdmlib-model/3.0.7-SNAPSHOT/cdmlib-model-3.0.7-SNAPSHOT-sources.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.0.7-SNAPSHOT.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.0.7-SNAPSHOT.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.0.7-SNAPSHOT.jar"/>
index e5718b8344badf617f3c0b71c7d78aeca349ddab..0b2f2cc4088d150f4943c5d64e712d1f8ae538e2 100644 (file)
@@ -15,6 +15,7 @@ import java.util.List;
 
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
+import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor;
 
 /**
@@ -38,8 +39,10 @@ public abstract class AbstractHomotypicalGroupContainer extends AbstractGroup {
 
        protected abstract void createSynonymContainer();
        
-       protected List<Synonym> getSynonyms(){          
-               return getGroup().getSynonymsInGroup(getEditor().getTaxon().getSec());
+       protected List<Synonym> getSynonyms(){
+               Taxon taxon = getEditor().getTaxon();
+               return taxon.getSynonymsInGroup(getGroup());
+//             return getGroup().getSynonymsInGroup(getEditor().getTaxon().getSec());
        }
        
        /**
@@ -62,8 +65,11 @@ public abstract class AbstractHomotypicalGroupContainer extends AbstractGroup {
         * @return
         */
        protected boolean redrawNeeded(HomotypicalGroup homotypicalGroup) {
-               List<Synonym> synonyms = homotypicalGroup.getSynonymsInGroup(getEditor().getTaxon().getSec());
+               //List<Synonym> synonyms = homotypicalGroup.getSynonymsInGroup(getEditor().getTaxon().getSec());
                                
+               Taxon taxon = getEditor().getTaxon();
+               List<Synonym> synonyms = taxon.getSynonymsInGroup(homotypicalGroup);
+               
                List<Synonym> presentSynonyms = new ArrayList<Synonym>();
                
                for(AbstractGroupedContainer container : getGroupedContainers()){
index 205df8616521766b014c25d5fd146c02cb0475a5..86ab8ee23b3be0e0f821b9f9c3d89d85e5643329 100644 (file)
@@ -62,7 +62,7 @@ public class IterableSynonymyList implements Iterable<TaxonBase> {
                        HomotypicalGroup homotypicGroup = taxon.getHomotypicGroup();
                        
                        if (homotypicGroup != null) {
-                               List<Synonym> homotypicSynonyms = homotypicGroup.getSynonymsInGroup(taxon.getSec());
+                               List<Synonym> homotypicSynonyms = taxon.getSynonymsInGroup(homotypicGroup);//homotypicGroup.getSynonymsInGroup(taxon.getSec());
                                for (Synonym synonym : homotypicSynonyms) {
 
                                        // Make sure synonym belongs to the taxon
@@ -78,8 +78,8 @@ public class IterableSynonymyList implements Iterable<TaxonBase> {
                                // Make sure this is not the taxon's homotypic group
                                if (!heterotypicGroup.equals(homotypicGroup)) {
                                                                
-                                       List<Synonym> heterotypicSynonyms = heterotypicGroup.
-                                                       getSynonymsInGroup(taxon.getSec());
+                                       List<Synonym> heterotypicSynonyms = taxon.getSynonymsInGroup(heterotypicGroup);//heterotypicGroup.
+                                                       //getSynonymsInGroup(taxon.getSec());
                                        for (Synonym synonym : heterotypicSynonyms) {
 
                                                // Make sure synonym belongs to the taxon
index bc9b11d928337d6089b56f4c293112a960a9f00e..6f3316e050eeb09a8408388f946fa8c460ac99c1 100644 (file)
@@ -58,9 +58,9 @@ public class CdmStore {
 
        private final ICdmApplicationConfiguration applicationConfiguration;
 
-       private static LoginManager loginManager = new LoginManager();
+       private static ContextManager contextManager = new ContextManager();
 
-       private static ContextManager contextManager = new ContextManager();;
+       private static LoginManager loginManager = new LoginManager();
 
        private static TermManager termManager = new TermManager();
 
index bebacaf08255e2b81d844bcb5e3f644cdebc22b3..f1b64d77ab6d47a87d9cbfb4fee647359c7701da 100644 (file)
@@ -12,6 +12,8 @@ package eu.etaxonomy.taxeditor.store;
 
 import java.util.Observable;
 
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.ui.IMemento;
 import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.authentication.LockedException;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -22,6 +24,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.model.IContextListener;
 
 /**
  * <p>LoginManager class.</p>
@@ -30,10 +33,14 @@ import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
  * @created 03.07.2009
  * @version 1.0
  */
-public class LoginManager extends Observable implements IConversationEnabled{
+public class LoginManager extends Observable implements IConversationEnabled, IContextListener{
        
        private ConversationHolder conversation;
        
+       public LoginManager(){
+               CdmStore.getContextManager().addContextListener(this);
+       }
+       
        /**
         * <p>authenticate</p>
         *
@@ -112,4 +119,29 @@ public class LoginManager extends Observable implements IConversationEnabled{
                
                return "admin".equals(getAuthenticatedUser().getUsername());
        }
+
+       @Override
+       public void contextAboutToStop(IMemento memento, IProgressMonitor monitor) {
+               
+       }
+
+       @Override
+       public void contextStop(IMemento memento, IProgressMonitor monitor) {
+               
+       }
+
+       @Override
+       public void contextStart(IMemento memento, IProgressMonitor monitor) {
+               conversation = CdmStore.createConversation();
+       }
+
+       @Override
+       public void contextRefresh(IProgressMonitor monitor) {
+               conversation = CdmStore.createConversation();
+       }
+
+       @Override
+       public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
+               
+       }
 }
index b3b5793c20dc5c6c55c3cd4d63527773be9aed45..987105702ee59c148a0e5700e7c466898e3520e0 100644 (file)
@@ -45,10 +45,6 @@ public class PasswordWizard extends Wizard implements IConversationEnabled{
        public void addPages() {
                CdmFormFactory formFactory = new CdmFormFactory(Display.getDefault());
                
-//             if(CdmStore.getLoginManager().isAdmin()){
-//                     
-//             }else{
-//             }
                passwordPage = new PasswordWizardPage(formFactory, getConversationHolder(), user);
                addPage(passwordPage);
        }
@@ -58,11 +54,12 @@ public class PasswordWizard extends Wizard implements IConversationEnabled{
         */
        @Override
        public boolean performFinish() {
+               String userName = user.getUsername();
                ConversationHolder internalConversation = CdmStore.getLoginManager().getConversationHolder();
                internalConversation.bind();
                try{
                        if(CdmStore.getLoginManager().isAdmin()){
-                               CdmStore.getService(IUserService.class).changePasswordForUser(user.getUsername(), passwordPage.getNewPassword());
+                               CdmStore.getService(IUserService.class).changePasswordForUser(userName, passwordPage.getNewPassword());
                        }else{
                                CdmStore.getService(IUserService.class).changePassword(passwordPage.getOldPassword(), passwordPage.getNewPassword());
                        }