From: Patrick Plitzner
Date: Mon, 21 Mar 2016 10:45:42 +0000 (+0100)
Subject: Enable referencing objects view for descriptions and description
X-Git-Tag: 4.0.0^2~87
X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/11355ec49dade4ba763d7abdf483164df2179dc2
Enable referencing objects view for descriptions and description
elements #5656
---
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 6c76b4374..d1645a701 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
@@ -43,17 +43,21 @@ 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.IDescriptionService;
import eu.etaxonomy.cdm.api.service.IGroupService;
import eu.etaxonomy.cdm.api.service.INameService;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.IReferenceService;
import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.IUserService;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.cdm.model.description.DescriptionBase;
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.name.NonViralName;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.reference.Reference;
@@ -219,12 +223,24 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
referencedObject = CdmStore.getService(IUserService.class).load(entity);
} else if (objectClass.isAssignableFrom(Group.class)){
referencedObject = CdmStore.getService(IGroupService.class).load(entity);
- }
+ } else if (DescriptionBase.class.isAssignableFrom(objectClass)){
+ referencedObject = CdmStore.getService(IDescriptionService.class).load(entity);
+ } else if (DescriptionElementBase.class.isAssignableFrom(objectClass)){
+ referencedObject = CdmStore.getService(IDescriptionService.class).loadDescriptionElement(entity, null);
+ }
//referencedObject =(CdmBase) CdmStore.getService(IIdentifiableEntityService.class).load(referencedObject.getUuid());
Set setOfReferencingObjects = null;
if (referencedObject != null){
- referencedObjectTitleCache = ((IdentifiableEntity)referencedObject).getTitleCache();
+ if(referencedObject.isInstanceOf(IdentifiableEntity.class)){
+ referencedObjectTitleCache = (HibernateProxyHelper.deproxy(referencedObject, IdentifiableEntity.class)).getTitleCache();
+ }
+ else if(referencedObject.isInstanceOf(DescriptionElementBase.class)){
+ referencedObjectTitleCache = DescriptionHelper.getLabel(referencedObject);
+ }
+ else{
+ referencedObjectTitleCache = null;
+ }
setOfReferencingObjects = CdmStore.getCommonService().getReferencingObjects(referencedObject);
}
if (setOfReferencingObjects != null){
@@ -296,10 +312,11 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
if(firstElement instanceof TreeNode){
firstElement = ((TreeNode) firstElement).getValue();
}
- if(firstElement instanceof IdentifiableEntity){
- updateReferencingObjects(((IdentifiableEntity) firstElement).getUuid(),firstElement.getClass() );
+ if(firstElement instanceof CdmBase){
+ updateReferencingObjects(((CdmBase) firstElement).getUuid(),firstElement.getClass() );
}
else{
+ updateView(null);
setContentDescription("");
}
}