1 package eu
.etaxonomy
.taxeditor
.bulkeditor
.input
;
3 import java
.util
.Arrays
;
7 import eu
.etaxonomy
.cdm
.api
.service
.INameService
;
8 import eu
.etaxonomy
.cdm
.api
.service
.ITaxonService
;
9 import eu
.etaxonomy
.cdm
.api
.service
.config
.FindTaxaAndNamesConfiguratorImpl
;
10 import eu
.etaxonomy
.cdm
.api
.service
.config
.IFindTaxaAndNamesConfigurator
;
11 import eu
.etaxonomy
.cdm
.api
.service
.config
.IIdentifiableEntityServiceConfigurator
;
12 import eu
.etaxonomy
.cdm
.api
.service
.exception
.ReferencedObjectUndeletableException
;
13 import eu
.etaxonomy
.cdm
.model
.name
.TaxonNameBase
;
14 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonBase
;
15 import eu
.etaxonomy
.cdm
.persistence
.query
.MatchMode
;
16 import eu
.etaxonomy
.taxeditor
.annotatedlineeditor
.IEntityCreator
;
17 import eu
.etaxonomy
.taxeditor
.bulkeditor
.input
.entitycreator
.NameCreator
;
18 import eu
.etaxonomy
.taxeditor
.bulkeditor
.input
.entitycreator
.TaxonCreator
;
19 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
21 public class TaxonEditorInput
extends AbstractBulkEditorInput
<TaxonBase
>{
23 private static TaxonEditorInput instance
;
24 /** Constant <code>ID="bulkeditor.input.taxon"</code> */
25 public static final String ID
= "bulkeditor.input.taxon";
28 * <p>Getter for the field <code>instance</code>.</p>
30 * @return a {@link eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput} object.
32 public static AbstractBulkEditorInput
getInstance() {
33 if (instance
== null) {
34 instance
= new TaxonEditorInput();
41 public String
getName() {
42 return BulkEditorInputType
.TAXON
.label
;
46 public String
getToolTipText() {
54 * @return a {@link java.lang.Object} object.
56 public static Object
getID() {
61 * @see eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput#isMergingEnabled()
65 public boolean isMergingEnabled() {
69 public boolean save(TaxonBase entity
) {
70 return CdmStore
.getService(ITaxonService
.class).saveOrUpdate(entity
) != null;
77 public List
listEntities(IIdentifiableEntityServiceConfigurator configurator
) {
78 IFindTaxaAndNamesConfigurator
<TaxonBase
> newConfig
= new FindTaxaAndNamesConfiguratorImpl
<TaxonBase
>();
79 newConfig
.setTitleSearchString(configurator
.getTitleSearchStringSqlized());
80 newConfig
.setMatchMode(MatchMode
.ANYWHERE
);
82 return CdmStore
.getSearchManager().findTaxa(configurator
);
87 protected TaxonBase
loadEntity(UUID entityUuid
) {
88 List
<String
> propertyPaths
= Arrays
.asList(new String
[]{});
89 return CdmStore
.getService(ITaxonService
.class).load(entityUuid
, propertyPaths
);
95 * @throws ReferencedObjectUndeletableException */
96 public boolean delete(TaxonBase entity
) {
97 return CdmStore
.getService(ITaxonService
.class).delete(entity
) != null;
100 protected IEntityCreator
<TaxonBase
> createEntityCreator() {
101 return new TaxonCreator();