3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
11 package eu
.etaxonomy
.taxeditor
.ui
.section
.supplemental
;
13 import org
.eclipse
.swt
.widgets
.Label
;
14 import org
.joda
.time
.DateTime
;
16 import eu
.etaxonomy
.cdm
.common
.CdmUtils
;
17 import eu
.etaxonomy
.cdm
.model
.common
.User
;
18 import eu
.etaxonomy
.cdm
.model
.common
.VersionableEntity
;
19 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
20 import eu
.etaxonomy
.taxeditor
.ui
.element
.AbstractCdmFormElement
;
21 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
22 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.element
.IEntityElement
;
24 import eu
.etaxonomy
.taxeditor
.ui
.element
.TextWithLabelElement
;
27 * <p>VersionElement class.</p>
30 * @created Nov 5, 2009
33 public class VersionElement
extends AbstractCdmFormElement
implements IEntityElement
<VersionableEntity
> {
35 private Label label_created
;
36 private Label label_updated
;
38 private TextWithLabelElement text_uuid
;
39 private TextWithLabelElement text_objectId
;
40 private VersionableEntity entity
;
41 private boolean showDebug
;
44 * <p>Constructor for VersionElement.</p>
47 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
48 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
49 * @param entity a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
51 public VersionElement(CdmFormFactory toolkit
, ICdmFormElement parentElement
, VersionableEntity entity
, int style
) {
52 super(toolkit
, parentElement
);
54 showDebug
= PreferencesUtil
.getPreferenceStore().getBoolean(PreferencesUtil
.SHOW_DEBUG_INFORMATION
);
56 label_created
= toolkit
.createLabel(getLayoutComposite(), null);
57 label_created
.setLayoutData(CdmFormFactory
.FILL_HORIZONTALLY());
59 label_updated
= toolkit
.createLabel(getLayoutComposite(), null);
60 label_updated
.setLayoutData(CdmFormFactory
.FILL_HORIZONTALLY());
63 text_uuid
= toolkit
.createTextWithLabelElement(parentElement
, "UUID", null, style
);
65 text_objectId
= toolkit
.createTextWithLabelElement(parentElement
, "Object ID", null, style
);
70 * <p>Setter for the field <code>entity</code>.</p>
72 * @param entity a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
74 public void setEntity(VersionableEntity entity
){
78 String createdString
= "Created "
79 + dateFormat(entity
.getCreated())
80 + " by " + userFormat(entity
.getCreatedBy());
81 label_created
.setText(createdString
);
83 String updatedString
= "Updated "
84 + dateFormat(entity
.getUpdated())
85 + " by " + userFormat(entity
.getUpdatedBy());
86 label_updated
.setText(updatedString
);
91 text_uuid
.setText(entity
.getUuid().toString());
93 text_objectId
.setText(entity
.getId()+"");
98 private String
dateFormat(DateTime dateTime
){
102 return CdmUtils
.Nz(dateTime
.toString(PreferencesUtil
.getDateFormatPattern()));
105 private String
userFormat(User user
){
109 // TODO agree on what to display username or real name or even more from shibboleth
110 return CdmUtils
.Nz(user
.getUsername());
114 * <p>Getter for the field <code>entity</code>.</p>
116 * @return a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
118 public VersionableEntity
getEntity() {
123 public void setSelected(boolean selected
) {
124 // this entity element is not likely to get selected