Project

General

Profile

« Previous | Next » 

Revision c38375d8

Added by Niels Hoffmann almost 13 years ago

Fixes #2418

View differences:

.gitattributes
84 84
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/SetMergeTargetHandler.java -text
85 85
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java -text
86 86
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java -text
87
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInputTypeValues.java -text
87
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInputType.java -text
88 88
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java -text
89 89
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java -text
90 90
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameRelationshipEditorInput.java -text
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorUtil.java
10 10

  
11 11
package eu.etaxonomy.taxeditor.bulkeditor;
12 12

  
13
import org.apache.log4j.Logger;
14 13
import org.eclipse.core.commands.operations.IOperationHistory;
15 14
import org.eclipse.core.commands.operations.IUndoContext;
16 15
import org.eclipse.core.runtime.Assert;
......
20 19

  
21 20
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
22 21
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
23
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType;
22
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType;
24 23
import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;
25 24
import eu.etaxonomy.taxeditor.model.AbstractUtility;
26 25

  
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DeleteObjectContributionItem.java
21 21
import org.eclipse.ui.menus.CommandContributionItemParameter;
22 22

  
23 23
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
24
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType;
24
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType;
25 25

  
26 26
/**
27 27
 * <p>DeleteObjectContributionItem class.</p>
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java
16 16
import java.util.Map;
17 17

  
18 18
import org.eclipse.jface.action.IContributionItem;
19
import org.eclipse.jface.action.Separator;
19 20
import org.eclipse.swt.SWT;
20 21
import org.eclipse.ui.PlatformUI;
21 22
import org.eclipse.ui.actions.CompoundContributionItem;
......
23 24
import org.eclipse.ui.menus.CommandContributionItemParameter;
24 25

  
25 26
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
26
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues;
27
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType;
27 28

  
28 29
/**
29 30
 * <p>
......
68 69

  
69 70
		List<IContributionItem> contributionItems = new ArrayList<IContributionItem>();
70 71

  
71
		Map inputTypeValues = (new BulkEditorInputTypeValues())
72
				.getParameterValues();
73
		for (Object key : inputTypeValues.keySet()) {
74
			contributionItems.add(createContributionItem((String) key,
75
					(String) inputTypeValues.get(key)));
76
		}
72
		contributionItems.add(BulkEditorInputType.AGENT.createContributionItem());
73
		contributionItems.add(BulkEditorInputType.REFERENCE.createContributionItem());
74
		contributionItems.add(new Separator("test"));
75
		contributionItems.add(BulkEditorInputType.NAME.createContributionItem());
76
		contributionItems.add(BulkEditorInputType.NAME_RELATIONSHIP.createContributionItem());
77
		contributionItems.add(new Separator("test"));
78
		contributionItems.add(BulkEditorInputType.OCCURRENCE.createContributionItem());
79
		contributionItems.add(new Separator("test"));
80
		contributionItems.add(BulkEditorInputType.USER.createContributionItem());
81
		contributionItems.add(BulkEditorInputType.GROUP.createContributionItem());		
77 82

  
78 83
		return contributionItems
79 84
				.toArray(new IContributionItem[contributionItems.size()]);
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/OpenBulkEditorHandler.java
18 18
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
19 19
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
20 20
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
21
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType;
21
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType;
22 22

  
23 23
/**
24 24
 * <p>OpenBulkEditorHandler class.</p>
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java
32 32
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery;
33 33
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
34 34
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
35
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType;
36 35
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.CdmBaseSortProvider;
37 36
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.TitleCacheComparator;
38 37
import eu.etaxonomy.taxeditor.store.CdmStore;
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java
18 18
import eu.etaxonomy.cdm.model.agent.AgentBase;
19 19
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
20 20
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
21
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType;
22 21
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.AgentCreator;
23 22
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
24 23
import eu.etaxonomy.taxeditor.store.CdmStore;
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInputType.java
1
package eu.etaxonomy.taxeditor.bulkeditor.input;
2

  
3
import java.util.HashMap;
4
import java.util.Map;
5

  
6
import org.eclipse.jface.action.IContributionItem;
7
import org.eclipse.swt.SWT;
8
import org.eclipse.ui.IEditorInput;
9
import org.eclipse.ui.PlatformUI;
10
import org.eclipse.ui.menus.CommandContributionItem;
11
import org.eclipse.ui.menus.CommandContributionItemParameter;
12

  
13
import eu.etaxonomy.cdm.model.agent.AgentBase;
14
import eu.etaxonomy.cdm.model.common.Group;
15
import eu.etaxonomy.cdm.model.common.User;
16
import eu.etaxonomy.cdm.model.name.NameRelationship;
17
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
18
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
19
import eu.etaxonomy.cdm.model.reference.Reference;
20
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
21

  
22
public enum BulkEditorInputType {
23
	AGENT("Authors and Author Teams", AgentEditorInput.ID), 
24
	REFERENCE("Reference", ReferenceEditorInput.ID), 
25
	NAME("Name", NameEditorInput.ID), 
26
	NAME_RELATIONSHIP("Name Relationship", NameRelationshipEditorInput.ID), 
27
	OCCURRENCE("Specimens and Observations", OccurrenceEditorInput.ID), 
28
	USER("User", UserEditorInput.ID), 
29
	GROUP("Group", GroupEditorInput.ID);
30

  
31
	public String id;
32
	public String label;
33

  
34
	BulkEditorInputType(String label, String id) {
35
		this.id = id;
36
		this.label = label;
37
	}
38

  
39
	public IContributionItem createContributionItem(){ 
40
		return createContributionItem(label, id);
41
	}
42
	
43
	/**
44
	 * @param key
45
	 * @param object
46
	 * @return
47
	 */
48
	private IContributionItem createContributionItem(String label,
49
			String inputType) {
50
		CommandContributionItemParameter parameter = new CommandContributionItemParameter(
51
				PlatformUI.getWorkbench().getActiveWorkbenchWindow(), null,
52
				IBulkEditorConstants.DYNAMIC_OPEN_MENU_ID, SWT.NONE);
53

  
54
		parameter.label = label;
55

  
56
		Map parameters = new HashMap();
57
		parameters.put(IBulkEditorConstants.INPUT_TYPE_PARAMETER_ID, inputType);
58
		parameter.parameters = parameters;
59

  
60
		return new CommandContributionItem(parameter);
61
	}
62
	
63
	public static BulkEditorInputType getById(String id) {
64

  
65
		for (BulkEditorInputType type : values()) {
66
			if (id.equals(type.id)) {
67
				return type;
68
			}
69
		}
70

  
71
		return null;
72
	}
73

  
74
	public static BulkEditorInputType getByType(Class clazz) {
75
		if (Reference.class.isAssignableFrom(clazz)) {
76
			return REFERENCE;
77
		} else if (TaxonNameBase.class.isAssignableFrom(clazz)) {
78
			return NAME;
79
		} else if (AgentBase.class.isAssignableFrom(clazz)) {
80
			return AGENT;
81
		} else if (SpecimenOrObservationBase.class.isAssignableFrom(clazz)) {
82
			return OCCURRENCE;
83
		} else if (NameRelationship.class.isAssignableFrom(clazz)) {
84
			return NAME_RELATIONSHIP;
85
		} else if (Group.class.isAssignableFrom(clazz)) {
86
			return GROUP;
87
		} else if (User.class.isAssignableFrom(clazz)) {
88
			return USER;
89
		}
90
		return null;
91
	}
92

  
93
	public static BulkEditorInputType getByInput(IEditorInput input) {
94
		if (input instanceof ReferenceEditorInput) {
95
			return REFERENCE;
96
		} else if (input instanceof NameEditorInput) {
97
			return NAME;
98
		} else if (input instanceof AgentEditorInput) {
99
			return AGENT;
100
		} else if (input instanceof OccurrenceEditorInput) {
101
			return OCCURRENCE;
102
		} else if (input instanceof NameRelationshipEditorInput) {
103
			return NAME_RELATIONSHIP;
104
		} else if (input instanceof UserEditorInput) {
105
			return USER;
106
		} else if (input instanceof GroupEditorInput) {
107
			return GROUP;
108
		}
109
		return null;
110
	}
111

  
112
	public static AbstractBulkEditorInput getInput(
113
			BulkEditorInputType inputType) {
114
		switch (inputType) {
115
		case REFERENCE:
116
			return new ReferenceEditorInput();
117
		case NAME:
118
			return new NameEditorInput();
119
		case AGENT:
120
			return new AgentEditorInput();
121
		case OCCURRENCE:
122
			return new OccurrenceEditorInput();
123
		case NAME_RELATIONSHIP:
124
			return new NameRelationshipEditorInput();
125
		case USER:
126
			return new UserEditorInput();
127
		case GROUP:
128
			return new GroupEditorInput();
129
		default:
130
			throw new IllegalStateException(
131
					"No input class for the given input type defined.");
132
		}
133
	}
134
}
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInputTypeValues.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.HashMap;
14
import java.util.Map;
15

  
16
import org.eclipse.core.commands.IParameterValues;
17
import org.eclipse.ui.IEditorInput;
18

  
19
import eu.etaxonomy.cdm.model.agent.AgentBase;
20
import eu.etaxonomy.cdm.model.common.Group;
21
import eu.etaxonomy.cdm.model.common.User;
22
import eu.etaxonomy.cdm.model.name.NameRelationship;
23
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
24
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
25
import eu.etaxonomy.cdm.model.reference.Reference;
26

  
27
/**
28
 * <p>
29
 * BulkEditorInputTypeValues class.
30
 * </p>
31
 * 
32
 * @author p.ciardelli
33
 * @created 20.08.2009
34
 * @version 1.0
35
 */
36
public class BulkEditorInputTypeValues implements IParameterValues {
37

  
38
	public enum BulkEditorInputType {
39
		REFERENCE("Reference", ReferenceEditorInput.ID), NAME("Name",
40
				NameEditorInput.ID), AGENT("Authors and Author Teams",
41
				AgentEditorInput.ID), OCCURRENCE("Specimens and Observations",
42
				OccurrenceEditorInput.ID), NAME_RELATIONSHIP(
43
				"Name Relationship", NameRelationshipEditorInput.ID), USER(
44
				"User", UserEditorInput.ID), GROUP("Group", GroupEditorInput.ID);
45

  
46
		public String id;
47
		public String label;
48

  
49
		BulkEditorInputType(String label, String id) {
50
			this.id = id;
51
			this.label = label;
52
		}
53

  
54
		public static BulkEditorInputType getById(String id) {
55

  
56
			for (BulkEditorInputType type : values()) {
57
				if (id.equals(type.id)) {
58
					return type;
59
				}
60
			}
61

  
62
			return null;
63
		}
64

  
65
		public static BulkEditorInputType getByType(Class clazz) {
66
			if (Reference.class.isAssignableFrom(clazz)) {
67
				return REFERENCE;
68
			} else if (TaxonNameBase.class.isAssignableFrom(clazz)) {
69
				return NAME;
70
			} else if (AgentBase.class.isAssignableFrom(clazz)) {
71
				return AGENT;
72
			} else if (SpecimenOrObservationBase.class.isAssignableFrom(clazz)) {
73
				return OCCURRENCE;
74
			} else if (NameRelationship.class.isAssignableFrom(clazz)) {
75
				return NAME_RELATIONSHIP;
76
			} else if (Group.class.isAssignableFrom(clazz)) {
77
				return GROUP;
78
			} else if (User.class.isAssignableFrom(clazz)) {
79
				return USER;
80
			}
81
			return null;
82
		}
83

  
84
		public static BulkEditorInputType getByInput(IEditorInput input) {
85
			if (input instanceof ReferenceEditorInput) {
86
				return REFERENCE;
87
			} else if (input instanceof NameEditorInput) {
88
				return NAME;
89
			} else if (input instanceof AgentEditorInput) {
90
				return AGENT;
91
			} else if (input instanceof OccurrenceEditorInput) {
92
				return OCCURRENCE;
93
			} else if (input instanceof NameRelationshipEditorInput) {
94
				return NAME_RELATIONSHIP;
95
			} else if (input instanceof UserEditorInput) {
96
				return USER;
97
			} else if (input instanceof GroupEditorInput) {
98
				return GROUP;
99
			}
100
			return null;
101
		}
102

  
103
		public static AbstractBulkEditorInput getInput(
104
				BulkEditorInputType inputType) {
105
			switch (inputType) {
106
			case REFERENCE:
107
				return new ReferenceEditorInput();
108
			case NAME:
109
				return new NameEditorInput();
110
			case AGENT:
111
				return new AgentEditorInput();
112
			case OCCURRENCE:
113
				return new OccurrenceEditorInput();
114
			case NAME_RELATIONSHIP:
115
				return new NameRelationshipEditorInput();
116
			case USER:
117
				return new UserEditorInput();
118
			case GROUP:
119
				return new GroupEditorInput();
120
			default:
121
				throw new IllegalStateException(
122
						"No input class for the given input type defined.");
123
			}
124
		}
125
	}
126

  
127
	/*
128
	 * (non-Javadoc)
129
	 * 
130
	 * @see org.eclipse.core.commands.IParameterValues#getParameterValues()
131
	 */
132
	/**
133
	 * <p>
134
	 * getParameterValues
135
	 * </p>
136
	 * 
137
	 * @return a {@link java.util.Map} object.
138
	 */
139
	@Override
140
	public Map getParameterValues() {
141
		final Map values = new HashMap();
142

  
143
		// TODO user role determines which editor inputs are returned
144
		for (BulkEditorInputType inputType : BulkEditorInputType.values()) {
145
			values.put(inputType.label, inputType.id);
146
		}
147

  
148
		return values;
149
	}
150
}
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java
18 18
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
19 19
import eu.etaxonomy.cdm.model.common.Group;
20 20
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
21
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType;
22 21
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.GroupCreator;
23 22
import eu.etaxonomy.taxeditor.store.CdmStore;
24 23

  
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java
19 19
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
20 20
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
21 21
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
22
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType;
23 22
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.NameCreator;
24 23
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
25 24
import eu.etaxonomy.taxeditor.store.CdmStore;
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameRelationshipEditorInput.java
10 10

  
11 11
package eu.etaxonomy.taxeditor.bulkeditor.input;
12 12

  
13
import java.util.ArrayList;
14 13
import java.util.Arrays;
15 14
import java.util.List;
16 15
import java.util.UUID;
17 16

  
18
import eu.etaxonomy.cdm.api.service.INameService;
19 17
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
20
import eu.etaxonomy.cdm.model.common.RelationshipBase;
21 18
import eu.etaxonomy.cdm.model.name.NameRelationship;
22 19
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
23 20
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
24
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType;
25 21
import eu.etaxonomy.taxeditor.store.CdmStore;
26 22

  
27 23
/**
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java
19 19
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
20 20
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
21 21
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
22
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType;
23 22
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.OccurrenceCreator;
24 23
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
25 24
import eu.etaxonomy.taxeditor.store.CdmStore;
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/ReferenceEditorInput.java
19 19
import eu.etaxonomy.cdm.model.reference.Reference;
20 20
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
21 21
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
22
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType;
23 22
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.ReferenceCreator;
24
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.CdmBaseSortProvider;
25 23
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
26 24
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.ReferenceSortProvider;
27 25
import eu.etaxonomy.taxeditor.store.CdmStore;
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/UserEditorInput.java
18 18
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
19 19
import eu.etaxonomy.cdm.model.common.User;
20 20
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
21
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType;
22 21
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.UserCreator;
23 22
import eu.etaxonomy.taxeditor.store.CdmStore;
24 23

  

Also available in: Unified diff