2 * Copyright (C) 2016 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.taxeditor
.bulkeditor
.input
;
11 import java
.util
.Arrays
;
12 import java
.util
.List
;
13 import java
.util
.UUID
;
15 import eu
.etaxonomy
.cdm
.api
.service
.IMediaService
;
16 import eu
.etaxonomy
.cdm
.api
.service
.config
.DeleteConfiguratorBase
;
17 import eu
.etaxonomy
.cdm
.api
.service
.config
.IIdentifiableEntityServiceConfigurator
;
18 import eu
.etaxonomy
.cdm
.api
.service
.config
.MediaDeletionConfigurator
;
19 import eu
.etaxonomy
.cdm
.api
.service
.exception
.ReferencedObjectUndeletableException
;
20 import eu
.etaxonomy
.cdm
.model
.media
.Media
;
21 import eu
.etaxonomy
.cdm
.persistence
.dao
.hibernate
.media
.MediaDaoHibernateImpl
;
22 import eu
.etaxonomy
.taxeditor
.annotatedlineeditor
.IEntityCreator
;
23 import eu
.etaxonomy
.taxeditor
.bulkeditor
.IBulkEditorSortProvider
;
24 import eu
.etaxonomy
.taxeditor
.bulkeditor
.input
.entitycreator
.MediaCreator
;
25 import eu
.etaxonomy
.taxeditor
.bulkeditor
.input
.sortprovider
.IdentifiableEntitySortProvider
;
26 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
33 public class MediaEditorInput
extends AbstractBulkEditorInput
<Media
> {
34 public static final String ID
= "bulkeditor.input.media";
36 private static MediaEditorInput instance
;
38 public static String
getID() {
42 public static AbstractBulkEditorInput
getInstance() {
43 if (instance
== null) {
44 instance
= new MediaEditorInput();
50 public String
getName() {
51 return BulkEditorInputType
.MEDIA
.label
;
55 public String
getToolTipText() {
60 public Media
save(Media entity
) {
61 return CdmStore
.getService(IMediaService
.class).merge(entity
, true).getMergedEntity();
66 public boolean delete(Media entity
, DeleteConfiguratorBase config
) throws ReferencedObjectUndeletableException
{
67 MediaDeletionConfigurator mediaConfig
= null;
68 if (config
instanceof MediaDeletionConfigurator
){
69 mediaConfig
= (MediaDeletionConfigurator
) config
;
73 return CdmStore
.getService(IMediaService
.class).delete(entity
.getUuid(), mediaConfig
) != null;
77 protected List
<Media
> listEntities(IIdentifiableEntityServiceConfigurator configurator
) {
78 return CdmStore
.getSearchManager().findMedia(configurator
);
82 protected IEntityCreator
<Media
> createEntityCreator() {
83 return new MediaCreator();
88 // TODO Auto-generated method stub
93 public List
<IBulkEditorSortProvider
<Media
>> getSortProviders() {
94 List
<IBulkEditorSortProvider
<Media
>> sortProviders
= super.getSortProviders();
96 sortProviders
.add(0, new IdentifiableEntitySortProvider
<Media
>());
102 protected Media
loadEntity(UUID entityUuid
) {
103 List
<String
> propertyPaths
= Arrays
.asList(new String
[]{});
104 return CdmStore
.getService(IMediaService
.class).load(entityUuid
, propertyPaths
);