package eu.etaxonomy.taxeditor.bulkeditor.input;
-import java.util.Arrays;
import java.util.List;
-import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
+import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.OccurrenceCreator;
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#loadEntity(java.util.UUID)
*/
- /** {@inheritDoc} */
+ /** {@inheritDoc}
@Override
protected SpecimenOrObservationBase loadEntity(UUID entityUuid) {
List<String> propertyPaths = Arrays.asList(new String[]{});
return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths);
- }
+ }*/
/* (non-Javadoc)
* @see org.eclipse.ui.IEditorInput#getName()
return getName();
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getTypeText(java.lang.Object)
+ */
+ @Override
+ public String getTypeText(Object entity) {
+ if(HibernateProxyHelper.isInstanceOf(entity, SpecimenOrObservationBase.class)){
+ return ((SpecimenOrObservationBase) entity).getRecordBasis().getMessage();
+ }
+ return super.getTypeText(entity);
+ }
+
/**
* <p>getId</p>
*
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#delete(java.lang.Object)
*/
- /** {@inheritDoc} */
+ /** {@inheritDoc}
+ * @throws ReferencedObjectUndeletableException */
@Override
- public boolean delete(SpecimenOrObservationBase entity) {
+ public boolean delete(SpecimenOrObservationBase entity) throws ReferencedObjectUndeletableException {
return CdmStore.getService(IOccurrenceService.class).delete(entity) != null;
}
*/
/** {@inheritDoc} */
@Override
- public boolean save(SpecimenOrObservationBase entity) {
- return CdmStore.getService(IOccurrenceService.class).save(entity) != null;
+ public SpecimenOrObservationBase<IIdentifiableEntityCacheStrategy> save(SpecimenOrObservationBase entity) {
+ if(CdmStore.getCurrentSessionManager().isRemoting()) {
+ return CdmStore.getService(IOccurrenceService.class).merge(entity, true).getMergedEntity();
+ } else {
+ CdmStore.getService(IOccurrenceService.class).save(entity);
+ return entity;
+ }
}
return sortProviders;
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
+ */
+ @Override
+ public void merge() {
+
+ }
}