4 package eu
.etaxonomy
.taxeditor
.editor
.key
.polytomous
;
6 import java
.util
.Arrays
;
10 import eu
.etaxonomy
.cdm
.api
.conversation
.ConversationHolder
;
11 import eu
.etaxonomy
.cdm
.api
.service
.IPolytomousKeyService
;
12 import eu
.etaxonomy
.cdm
.model
.description
.PolytomousKey
;
13 import eu
.etaxonomy
.taxeditor
.editor
.key
.AbstractIdentificationEditorInput
;
14 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
20 public class PolytomousKeyEditorInput
extends AbstractIdentificationEditorInput
<PolytomousKey
> {
22 private final String name
;
23 private final UUID keyUuid
;
24 private final PolytomousKey key
;
27 protected PolytomousKeyEditorInput(ConversationHolder conversation
,
28 UUID polytomousKeyUuid
) {
30 this.keyUuid
= polytomousKeyUuid
;
31 this.key
= CdmStore
.getService(IPolytomousKeyService
.class).load(polytomousKeyUuid
, null);
32 this.name
= key
.getTitleCache();
35 // public PolytomousKeyEditorInput(UUID polytomousKeyUuid, String name) {
36 // super(CdmStore.createConversation());
37 // this.keyUuid = polytomousKeyUuid;
42 public static PolytomousKeyEditorInput
NewInstance(UUID polytomousKeyUuid
) throws Exception
{
44 ConversationHolder conversation
= CdmStore
.createConversation();
45 return new PolytomousKeyEditorInput(conversation
, polytomousKeyUuid
);
53 * @see org.eclipse.ui.IEditorInput#getName()
56 public String
getName() {
61 public PolytomousKey
getKey() {
66 * @see java.lang.Object#equals(java.lang.Object)
69 public boolean equals(Object object
) {
70 if (object
instanceof PolytomousKeyEditorInput
72 && getKey().equals(((PolytomousKeyEditorInput
) object
).getKey())
76 return super.equals(object
);
80 * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
83 public List
<PolytomousKey
> getRootEntities() {
84 return Arrays
.asList(key
);
88 * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
92 CdmStore
.getService(IPolytomousKeyService
.class).merge(key
);