fixing problems in bulkeditor and minor
authorKatja Luther <k.luther@bgbm.org>
Mon, 10 Nov 2014 08:55:43 +0000 (08:55 +0000)
committerKatja Luther <k.luther@bgbm.org>
Mon, 10 Nov 2014 08:55:43 +0000 (08:55 +0000)
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/AbstractHomotypicalGroupContainer.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizard.java

index bbf96039323bb7d7fa31456058cd8b135a7a3ecd..dbe390743330598982811dc0a9a6ee9ecf9be97a 100644 (file)
@@ -33,7 +33,7 @@ import eu.etaxonomy.cdm.api.service.IUserService;
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
 import eu.etaxonomy.cdm.model.common.Group;
 import eu.etaxonomy.cdm.model.common.User;
-import eu.etaxonomy.cdm.model.name.NameRelationship;
+
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.reference.Reference;
@@ -41,11 +41,11 @@ import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
-import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
@@ -87,7 +87,7 @@ public class DeleteHandler extends AbstractHandler {
                                        
                                        LineAnnotation annotation = (LineAnnotation) model.getAnnotation(object);
                                        DeleteResult result = new DeleteResult();       
-                                       result.setError();
+                                       //result.setError();
                                        try {
                                                ICdmApplicationConfiguration controller;
                                                controller = (ICdmApplicationConfiguration) CdmStore.getCurrentApplicationConfiguration();
@@ -130,10 +130,17 @@ public class DeleteHandler extends AbstractHandler {
                                                MessagingUtils.messageDialog("Exception occured. Could not delete", getClass(), e.getMessage(), null);
                                        }
                                        if (result.isError()){
-                                               MessagingUtils.messageDialog("Could not delete", getClass(), result.getExceptions().get(0).getMessage(), null);
+                                               if (!result.getExceptions().isEmpty()) {
+                                                       MessagingUtils.messageDialog("Could not delete", getClass(), result.getExceptions().get(0).getMessage(), null);
+                                               }else{
+                                                       MessagingUtils.messageDialog("Could not delete", getClass(), "The object could not be deleted. An exception occured.", null);
+                                                       
+                                               }
                                        }
                                        if (result.isOk()){
                                                ((BulkEditor) editor).removeAnnotatedLine(annotation);
+                                               
+                                               System.out.println("Test");
                                        }
                                }                               
                        }
index 13110d8f46bdfc463d1407d12d45330ed327db48..450bc705229e64c2ee9e16d4697d17fcbd65aa2d 100644 (file)
@@ -30,13 +30,19 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Table;
+import org.eclipse.ui.INullSelectionListener;
 import org.eclipse.ui.ISelectionListener;
 import org.eclipse.ui.IWorkbenchPart;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IAgentService;
 import eu.etaxonomy.cdm.api.service.ICommonService;
+import eu.etaxonomy.cdm.api.service.IIdentifiableEntityService;
+import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.ICdmBase;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.persistence.dao.agent.IAgentDao;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
 import eu.etaxonomy.taxeditor.model.DescriptionHelper;
 import eu.etaxonomy.taxeditor.model.LineSelection;
@@ -50,7 +56,7 @@ import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;
  * @created 08.07.2009
  * @version 1.0
  */
-public class ReferencingObjectsView extends AbstractCdmViewPart implements ISelectionListener{
+public class ReferencingObjectsView extends AbstractCdmViewPart implements INullSelectionListener{
        private static final Logger logger = Logger
                        .getLogger(ReferencingObjectsView.class);
 
@@ -106,40 +112,44 @@ public class ReferencingObjectsView extends AbstractCdmViewPart implements ISele
                
                final Display display = Display.getCurrent();
                
-               Job job = new Job("Update Referencing Objects") {
-                       
-                       @Override
-                       protected IStatus run(IProgressMonitor monitor) {
-                               monitor.beginTask("Calculating referencing objects", 10);
-                               
-                               monitor.worked(3);
-                               
-                               display.asyncExec(new Runnable() {
-                                       
-                                       @Override
-                                       public void run() {
-                                               ConversationHolder conversation = CdmStore.createConversation();
+       //      Job job = new Job("Update Referencing Objects") {
+//                     
+//                     @Override
+//                     protected IStatus run(IProgressMonitor monitor) {
+//                             monitor.beginTask("Calculating referencing objects", 10);
+//                     
+//                             monitor.worked(3);
+//                             
+//                             display.asyncExec(new Runnable() {
+//                                     
+//                                     @Override
+//                                     public void run() {
+//                                             ConversationHolder conversation = CdmStore.createConversation();
                                                List<CdmBase> referencingObjects = getReferencingObjects(entity);
                                                updateView(referencingObjects);
-                                               conversation.close();
-                                       }
-                               });
-                               
-                               monitor.done();
-                               
-                               
-                               return Status.OK_STATUS;
-                       }
-               };
-               
-               job.setPriority(Job.DECORATE);
-               job.schedule();
+//                                             conversation.close();
+//                                     }
+//                             });
+//                             
+//                             monitor.done();
+//                             
+//                             
+//                             return Status.OK_STATUS;
+//                     }
+//             };
+//             
+//             job.setPriority(Job.DECORATE);
+//             job.schedule();
        }
 
        private List<CdmBase> getReferencingObjects(Object entity) {
         try {
                if(entity instanceof CdmBase){
                        referencedObject = (CdmBase) entity;
+                       if (referencedObject instanceof AgentBase){
+                               referencedObject = CdmStore.getService(IAgentService.class).load(referencedObject.getUuid());
+                       }
+                       //referencedObject =(CdmBase) CdmStore.getService(IIdentifiableEntityService.class).load(referencedObject.getUuid());
                        Set<CdmBase> setOfReferencingObjects = CdmStore.getService(ICommonService.class).getReferencingObjects(referencedObject);
                        
                        List<CdmBase> referencingObjects = new ArrayList<CdmBase>(setOfReferencingObjects);                     
index 6c1869d8763b1402b4aa18d3f8d7e2fb1e87cb50..2a2ef92dd90ef13d6a31242b398d12c076adfe36 100644 (file)
@@ -13,6 +13,7 @@ package eu.etaxonomy.taxeditor.editor.name.container;
 import java.util.ArrayList;
 import java.util.List;
 
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
@@ -65,6 +66,7 @@ public abstract class AbstractHomotypicalGroupContainer extends AbstractGroup {
         */
        protected boolean redrawNeeded(HomotypicalGroup homotypicalGroup) {
                Taxon taxon = getEditor().getTaxon();
+               homotypicalGroup = HibernateProxyHelper.deproxy(homotypicalGroup, HomotypicalGroup.class);
                List<Synonym> synonyms = taxon.getSynonymsInGroup(homotypicalGroup);
                
                List<Synonym> presentSynonyms = new ArrayList<Synonym>();
index d2b5af65d4ca40bed8ed0ee913c01c0e4a6218ef..06a3013b87f9c25cb86ea782bb1d34bba62d9f5c 100644 (file)
@@ -15,6 +15,7 @@ import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
@@ -39,11 +40,11 @@ public class ChangeHomotypicGroupOperation extends AbstractPostTaxonOperation {
        /**
         * The former homotypical group the synonym belonged to
         */
-       private final HomotypicalGroup oldHomotypicalGroup;
+       private HomotypicalGroup oldHomotypicalGroup;
        /**
         * The homotypical group the synonym is to be moved to
         */
-       private final HomotypicalGroup newHomotypicalGroup;
+       private HomotypicalGroup newHomotypicalGroup;
 
        /**
         * <p>Constructor for ChangeHomotypicGroupOperation.</p>
@@ -86,7 +87,7 @@ public class ChangeHomotypicGroupOperation extends AbstractPostTaxonOperation {
                // Switch groups
                oldHomotypicalGroup.removeTypifiedName(synonymName);
                monitor.worked(40);
-
+               newHomotypicalGroup = HibernateProxyHelper.deproxy(newHomotypicalGroup, HomotypicalGroup.class);
                newHomotypicalGroup.addTypifiedName(synonymName);
 
                if(! synonym.getAcceptedTaxa().contains(element)){
index 8bddaab5e42f44228c3f58cf3863e34bc5a43abd..242e595b32c9a789743e5144987fcaa3b13a692b 100644 (file)
@@ -12,6 +12,7 @@ package eu.etaxonomy.taxeditor.ui.password;
 
 import org.eclipse.jface.wizard.Wizard;
 import org.eclipse.swt.widgets.Display;
+import org.springframework.security.access.AccessDeniedException;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
@@ -75,9 +76,12 @@ public class PasswordWizard extends Wizard implements IConversationEnabled{
                    internalConversation.unbind();
                    internalConversation.close();
                        return true;
-               }catch(Exception e){
+               }catch(AccessDeniedException e){
                        MessagingUtils.warningDialog("Could not change password", this, "The old password is not correct.");
                        
+                       return false;
+               }catch(Exception e){
+                       MessagingUtils.warningDialog("Problem with changing password", this, "The password could not be changed. " + e.getMessage());
                        return false;
                }finally{
                    if(conversation != null){