Project

General

Profile

Download (3.27 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2016 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
package eu.etaxonomy.taxeditor.bulkeditor.input;
11

    
12
import java.util.Arrays;
13
import java.util.List;
14
import java.util.UUID;
15

    
16
import eu.etaxonomy.cdm.api.service.IMediaService;
17
import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
18
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
19
import eu.etaxonomy.cdm.api.service.config.MediaDeletionConfigurator;
20
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
21
import eu.etaxonomy.cdm.model.media.Media;
22
import eu.etaxonomy.cdm.persistence.dao.hibernate.media.MediaDaoHibernateImpl;
23
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
24
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
25
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.MediaCreator;
26
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
27
import eu.etaxonomy.taxeditor.store.CdmStore;
28

    
29
/**
30
 * @author k.luther
31
 * @date 10.03.2016
32
 *
33
 */
34
public class MediaEditorInput extends AbstractBulkEditorInput<Media> {
35
    public static final String ID = "bulkeditor.input.media";
36

    
37
    private static MediaEditorInput instance;
38

    
39
    public static String getID() {
40
        return ID;
41
    }
42

    
43
    public static AbstractBulkEditorInput getInstance() {
44
        if (instance == null) {
45
            instance = new MediaEditorInput();
46
        }
47
        return instance;
48
    }
49

    
50
    @Override
51
    public String getName() {
52
        return BulkEditorInputType.MEDIA.label;
53
    }
54

    
55
    @Override
56
    public String getToolTipText() {
57
        return getName();
58
    }
59

    
60
    @Override
61
    public Media save(Media entity) {
62
       return CdmStore.getService(IMediaService.class).merge(entity, true).getMergedEntity();
63
       
64
    }
65

    
66
    @Override
67
    public boolean delete(Media entity, DeleteConfiguratorBase config) throws ReferencedObjectUndeletableException {
68
    	MediaDeletionConfigurator mediaConfig = null;
69
    	if (config instanceof MediaDeletionConfigurator){
70
    		mediaConfig = (MediaDeletionConfigurator) config;
71
    	} else{
72
    		
73
    	}
74
        return CdmStore.getService(IMediaService.class).delete(entity.getUuid(), mediaConfig) != null;
75
    }
76

    
77
    @Override
78
    protected List<Media> listEntities(IIdentifiableEntityServiceConfigurator configurator) {
79
        return CdmStore.getSearchManager().findMedia(configurator);
80
    }
81

    
82
    @Override
83
    protected IEntityCreator<Media> createEntityCreator() {
84
        return new MediaCreator();
85
    }
86

    
87
    @Override
88
    public void merge() {
89
        // TODO Auto-generated method stub
90

    
91
    }
92

    
93
    @Override
94
    public List<IBulkEditorSortProvider<Media>> getSortProviders() {
95
        List<IBulkEditorSortProvider<Media>> sortProviders = super.getSortProviders();
96

    
97
        sortProviders.add(0, new IdentifiableEntitySortProvider<Media>());
98

    
99
        return sortProviders;
100
    }
101
    
102
	@Override
103
	protected Media loadEntity(UUID entityUuid) {
104
		List<String> propertyPaths = Arrays.asList(new String[]{});
105
		return CdmStore.getService(IMediaService.class).load(entityUuid, propertyPaths);
106
	}
107

    
108
}
(5-5/12)