- if(entity instanceof CdmBase){
- referencedObject = (CdmBase) entity;
- if (referencedObject instanceof TeamOrPersonBase){
- referencedObject = CdmStore.getService(IAgentService.class).load(referencedObject.getUuid());
- }
+ if (objectClass.getSuperclass().equals(TeamOrPersonBase.class) ){
+ referencedObject = CdmStore.getService(IAgentService.class).load(entity);
+ } else if (objectClass.getSuperclass().equals(TaxonNameBase.class)){
+ referencedObject = CdmStore.getService(INameService.class).load(entity);
+ } else if (objectClass.getSuperclass().equals(TaxonBase.class)){
+ referencedObject = CdmStore.getService(ITaxonService.class).load(entity);
+ } else if (objectClass.getSuperclass().equals(Reference.class)){
+ referencedObject = CdmStore.getService(IReferenceService.class).load(entity);
+ } else if (objectClass.getSuperclass().equals(SpecimenOrObservationBase.class)){
+ referencedObject = CdmStore.getService(IOccurrenceService.class).load(entity);
+ } else if (objectClass.isAssignableFrom(User.class)){
+ referencedObject = CdmStore.getService(IUserService.class).load(entity);
+ } else if (objectClass.isAssignableFrom(Group.class)){
+ referencedObject = CdmStore.getService(IGroupService.class).load(entity);
+ }