-// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
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.BulkEditorInputTypeValues.BulkEditorInputType;
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.OccurrenceCreator;
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
import eu.etaxonomy.taxeditor.store.CdmStore;
*
* @author n.hoffmann
* @created Jun 16, 2010
- * @version 1.0
*/
public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObservationBase> {
-
+
/**
- *
+ *
*/
private static final long serialVersionUID = 1014860873939989973L;
public static final String ID = "bulkeditor.input.occurrence";
private static OccurrenceEditorInput instance;
-
+
/**
* <p>Getter for the field <code>instance</code>.</p>
*
}
return instance;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#listEntities(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
+
/** {@inheritDoc} */
@Override
protected List<SpecimenOrObservationBase> listEntities(
return CdmStore.getSearchManager().findOccurrences(configurator);
}
- /* (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[]{});
+ List<String> propertyPaths = Arrays.asList(new String[]{});
return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths);
- }
+ }*/
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getName()
- */
/**
* <p>getName</p>
*
* @return a {@link java.lang.String} object.
*/
- public String getName() {
+ @Override
+ public String getName() {
return BulkEditorInputType.OCCURRENCE.label;
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getToolTipText()
- */
/**
* <p>getToolTipText</p>
*
* @return a {@link java.lang.String} object.
*/
- public String getToolTipText() {
+ @Override
+ public String getToolTipText() {
return getName();
}
-
+
+ @Override
+ public String getTypeText(Object entity) {
+ if(HibernateProxyHelper.isInstanceOf(entity, SpecimenOrObservationBase.class)){
+ return ((SpecimenOrObservationBase) entity).getRecordBasis().getMessage();
+ }
+ return super.getTypeText(entity);
+ }
+
/**
* <p>getId</p>
*
return ID;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#delete(java.lang.Object)
- */
- /** {@inheritDoc} */
- public boolean delete(SpecimenOrObservationBase entity) {
+ /** {@inheritDoc}
+ * @throws ReferencedObjectUndeletableException */
+ @Override
+ public boolean delete(SpecimenOrObservationBase entity, DeleteConfiguratorBase config ) throws ReferencedObjectUndeletableException {
return CdmStore.getService(IOccurrenceService.class).delete(entity) != null;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#save(java.lang.Object)
- */
/** {@inheritDoc} */
- public boolean save(SpecimenOrObservationBase entity) {
- return CdmStore.getService(IOccurrenceService.class).save(entity) != null;
+ @Override
+ public SpecimenOrObservationBase<?> save(SpecimenOrObservationBase entity) {
+ return CdmStore.getService(IOccurrenceService.class).merge(entity, true).getMergedEntity();
+
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
- */
@Override
protected IEntityCreator<SpecimenOrObservationBase> createEntityCreator() {
return new OccurrenceCreator();
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getSortProviders()
- */
@Override
public List<IBulkEditorSortProvider<SpecimenOrObservationBase>> getSortProviders() {
List<IBulkEditorSortProvider<SpecimenOrObservationBase>> sortProviders = super.getSortProviders();
-
+
sortProviders.add(0, new IdentifiableEntitySortProvider<SpecimenOrObservationBase>());
-
+
return sortProviders;
}
+
+ @Override
+ public void merge() {
+
+ }
+
+ @Override
+ protected SpecimenOrObservationBase loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths);
+ }
}