From: Katja Luther Date: Mon, 10 Nov 2014 08:55:43 +0000 (+0000) Subject: fixing problems in bulkeditor and minor X-Git-Tag: 3.6.0~371 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/9a826147d05db51f68c49de38429f1b861cd8602 fixing problems in bulkeditor and minor --- diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java index bbf960393..dbe390743 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java @@ -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"); } } } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java index 13110d8f4..450bc7052 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java @@ -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 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 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 setOfReferencingObjects = CdmStore.getService(ICommonService.class).getReferencingObjects(referencedObject); List referencingObjects = new ArrayList(setOfReferencingObjects); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/AbstractHomotypicalGroupContainer.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/AbstractHomotypicalGroupContainer.java index 6c1869d87..2a2ef92dd 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/AbstractHomotypicalGroupContainer.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/AbstractHomotypicalGroupContainer.java @@ -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 synonyms = taxon.getSynonymsInGroup(homotypicalGroup); List presentSynonyms = new ArrayList(); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java index d2b5af65d..06a3013b8 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java @@ -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; /** *

Constructor for ChangeHomotypicGroupOperation.

@@ -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)){ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizard.java index 8bddaab5e..242e595b3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizard.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizard.java @@ -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){