Project

General

Profile

Download (4.65 KB) Statistics
| Branch: | Tag: | Revision:
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
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.IReferenceService;
17
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
18
import eu.etaxonomy.cdm.model.common.MarkerType;
19
import eu.etaxonomy.cdm.model.reference.Reference;
20
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
21
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
22
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.ReferenceCreator;
23
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
24
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.ReferenceSortProvider;
25
import eu.etaxonomy.taxeditor.store.CdmStore;
26

    
27

    
28
/**
29
 * <p>ReferenceEditorInput class.</p>
30
 *
31
 * @author p.ciardelli
32
 * @created 25.06.2009
33
 * @version 1.0
34
 */
35
public class ReferenceEditorInput extends AbstractBulkEditorInput<Reference> {
36

    
37
	/**
38
	 * 
39
	 */
40
	private static final long serialVersionUID = 3806243517765126749L;
41

    
42
	/** Constant <code>ID="bulkeditor.input.reference"</code> */
43
	public static final String ID = "bulkeditor.input.reference";
44
	
45
	private static ReferenceEditorInput instance;
46

    
47
	/**
48
	 * <p>getID</p>
49
	 *
50
	 * @return the iD
51
	 */
52
	public static String getID() {
53
		return ID;
54
	}
55
	
56
	/* (non-Javadoc)
57
	 * @see org.eclipse.ui.IEditorInput#getName()
58
	 */
59
	/**
60
	 * <p>getName</p>
61
	 *
62
	 * @return a {@link java.lang.String} object.
63
	 */
64
	public String getName() {
65
		return BulkEditorInputType.REFERENCE.label;
66
	}
67

    
68
	/* (non-Javadoc)
69
	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
70
	 */
71
	/**
72
	 * <p>getToolTipText</p>
73
	 *
74
	 * @return a {@link java.lang.String} object.
75
	 */
76
	public String getToolTipText() {
77
		return getName();
78
	}
79

    
80
	/**
81
	 * <p>Getter for the field <code>instance</code>.</p>
82
	 *
83
	 * @return a {@link eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput} object.
84
	 */
85
	public static AbstractBulkEditorInput getInstance() {
86
		if (instance == null) {
87
			instance = new ReferenceEditorInput();
88
		}
89
		return instance;
90
	}
91

    
92
	/* (non-Javadoc)
93
	 * @see eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput#isMergingEnabled()
94
	 */
95
	/** {@inheritDoc} */
96
	@Override
97
	public boolean isMergingEnabled() {
98
		return true;
99
	}
100
	
101
	/* (non-Javadoc)
102
	 * @see eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput#isMarkerTypeEditingEnabled(eu.etaxonomy.cdm.model.common.MarkerType)
103
	 */
104
	/** {@inheritDoc} */
105
	@Override
106
	public boolean isMarkerTypeEditingEnabled(MarkerType markerType) {
107
		if (MarkerType.PUBLISH().equals(markerType)) {
108
			return true;
109
		}
110
		return super.isMarkerTypeEditingEnabled(markerType);
111
	}
112

    
113
	
114
	/** {@inheritDoc} */
115
	@Override
116
	public List listEntities(IIdentifiableEntityServiceConfigurator configurator) {
117
		return CdmStore.getSearchManager().findReferences(configurator);
118
	}
119
	
120
	// Entity persistence
121
	
122
	/** {@inheritDoc} */
123
	@Override
124
	public Reference loadEntity(UUID entityUuid) {
125
		List<String> propertyPaths = Arrays.asList(new String[]{"*", "inReference.*", "authorTeam.*"}); 
126
		return CdmStore.getService(IReferenceService.class).load(entityUuid, propertyPaths);
127
	}
128

    
129
	/** {@inheritDoc} */
130
	public boolean delete(Reference entity) {
131
		return CdmStore.getService(IReferenceService.class).delete(entity) != null;
132
	}
133

    
134
	/** {@inheritDoc} */
135
	public boolean save(Reference entity) {
136
		return CdmStore.getService(IReferenceService.class).saveOrUpdate(entity) != null;
137
	}
138

    
139
	/* (non-Javadoc)
140
	 * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
141
	 */
142
	@Override
143
	protected IEntityCreator<Reference> createEntityCreator() {
144
		return new ReferenceCreator();
145
	}
146
	
147
	/* (non-Javadoc)
148
	 * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getSortProviders()
149
	 */
150
	@Override
151
	public List<IBulkEditorSortProvider<Reference>> getSortProviders() {
152
		List<IBulkEditorSortProvider<Reference>> sortProviders = super.getSortProviders();
153
		
154
		sortProviders.add(0, new IdentifiableEntitySortProvider<Reference>());
155
		sortProviders.add(1, new ReferenceSortProvider());
156
		
157
		return sortProviders;
158
	}
159
	
160
	/* (non-Javadoc)
161
	 * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getTypeText(java.lang.Object)
162
	 */
163
	@Override
164
	public String getTypeText(Object entity) {
165
		if(entity instanceof Reference){
166
			return ((Reference) entity).getType().getMessage(CdmStore.getDefaultLanguage());
167
		}
168
		return super.getTypeText(entity);
169
	}
170

    
171
}
(8-8/9)