fix #5759 remove all switches for remoting and standalone
[taxeditor.git] / eu.etaxonomy.taxeditor.bulkeditor / src / main / java / eu / etaxonomy / taxeditor / bulkeditor / input / OccurrenceEditorInput.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.taxeditor.bulkeditor.input;
12
13 import java.util.Arrays;
14 import java.util.List;
15 import java.util.UUID;
16
17 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
18 import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
19 import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
20 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
21 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
22 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
23 import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
24 import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
25 import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.OccurrenceCreator;
26 import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
27 import eu.etaxonomy.taxeditor.store.CdmStore;
28
29 /**
30 * <p>OccurrenceEditorInput class.</p>
31 *
32 * @author n.hoffmann
33 * @created Jun 16, 2010
34 * @version 1.0
35 */
36 public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObservationBase> {
37
38 /**
39 *
40 */
41 private static final long serialVersionUID = 1014860873939989973L;
42
43 /** Constant <code>ID="bulkeditor.input.occurrence"</code> */
44 public static final String ID = "bulkeditor.input.occurrence";
45
46 private static OccurrenceEditorInput instance;
47
48 /**
49 * <p>Getter for the field <code>instance</code>.</p>
50 *
51 * @return a {@link eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput} object.
52 */
53 public static AbstractBulkEditorInput<SpecimenOrObservationBase> getInstance() {
54 if (instance == null) {
55 instance = new OccurrenceEditorInput();
56 }
57 return instance;
58 }
59
60 /* (non-Javadoc)
61 * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#listEntities(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
62 */
63 /** {@inheritDoc} */
64 @Override
65 protected List<SpecimenOrObservationBase> listEntities(
66 IIdentifiableEntityServiceConfigurator configurator) {
67 return CdmStore.getSearchManager().findOccurrences(configurator);
68 }
69
70 /* (non-Javadoc)
71 * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#loadEntity(java.util.UUID)
72 */
73 /** {@inheritDoc}
74 @Override
75 protected SpecimenOrObservationBase loadEntity(UUID entityUuid) {
76 List<String> propertyPaths = Arrays.asList(new String[]{});
77 return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths);
78 }*/
79
80 /* (non-Javadoc)
81 * @see org.eclipse.ui.IEditorInput#getName()
82 */
83 /**
84 * <p>getName</p>
85 *
86 * @return a {@link java.lang.String} object.
87 */
88 @Override
89 public String getName() {
90 return BulkEditorInputType.OCCURRENCE.label;
91 }
92
93 /* (non-Javadoc)
94 * @see org.eclipse.ui.IEditorInput#getToolTipText()
95 */
96 /**
97 * <p>getToolTipText</p>
98 *
99 * @return a {@link java.lang.String} object.
100 */
101 @Override
102 public String getToolTipText() {
103 return getName();
104 }
105
106 /* (non-Javadoc)
107 * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getTypeText(java.lang.Object)
108 */
109 @Override
110 public String getTypeText(Object entity) {
111 if(HibernateProxyHelper.isInstanceOf(entity, SpecimenOrObservationBase.class)){
112 return ((SpecimenOrObservationBase) entity).getRecordBasis().getMessage();
113 }
114 return super.getTypeText(entity);
115 }
116
117 /**
118 * <p>getId</p>
119 *
120 * @return a {@link java.lang.Object} object.
121 */
122 public static Object getId(){
123 return ID;
124 }
125
126 /* (non-Javadoc)
127 * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#delete(java.lang.Object)
128 */
129 /** {@inheritDoc}
130 * @throws ReferencedObjectUndeletableException */
131 @Override
132 public boolean delete(SpecimenOrObservationBase entity) throws ReferencedObjectUndeletableException {
133 return CdmStore.getService(IOccurrenceService.class).delete(entity) != null;
134 }
135
136 /* (non-Javadoc)
137 * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#save(java.lang.Object)
138 */
139 /** {@inheritDoc} */
140 @Override
141 public SpecimenOrObservationBase<IIdentifiableEntityCacheStrategy> save(SpecimenOrObservationBase entity) {
142 return CdmStore.getService(IOccurrenceService.class).merge(entity, true).getMergedEntity();
143
144 }
145
146
147 /* (non-Javadoc)
148 * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
149 */
150 @Override
151 protected IEntityCreator<SpecimenOrObservationBase> createEntityCreator() {
152 return new OccurrenceCreator();
153 }
154
155 /* (non-Javadoc)
156 * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getSortProviders()
157 */
158 @Override
159 public List<IBulkEditorSortProvider<SpecimenOrObservationBase>> getSortProviders() {
160 List<IBulkEditorSortProvider<SpecimenOrObservationBase>> sortProviders = super.getSortProviders();
161
162 sortProviders.add(0, new IdentifiableEntitySortProvider<SpecimenOrObservationBase>());
163
164 return sortProviders;
165 }
166
167 /* (non-Javadoc)
168 * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
169 */
170 @Override
171 public void merge() {
172
173 }
174
175 @Override
176 protected SpecimenOrObservationBase loadEntity(UUID entityUuid) {
177 List<String> propertyPaths = Arrays.asList(new String[]{});
178 return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths);
179 }
180
181 }