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
.forms
.AbstractCdmFormElement
;
21 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
;
22 import eu
.etaxonomy
.taxeditor
.ui
.forms
.ICdmFormElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.forms
.IEntityElement
;
26 * <p>VersionElement class.</p>
29 * @created Nov 5, 2009
32 public class VersionElement
extends AbstractCdmFormElement
implements IEntityElement
<VersionableEntity
> {
34 private Label label_created
;
35 private Label label_updated
;
37 private Label label_uuid
;
38 private Label label_objectId
;
39 private VersionableEntity entity
;
42 * <p>Constructor for VersionElement.</p>
45 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
46 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
47 * @param entity a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
49 public VersionElement(CdmFormFactory toolkit
, ICdmFormElement parentElement
, VersionableEntity entity
, int style
) {
50 super(toolkit
, parentElement
);
52 getLayoutComposite().setLayout(CdmFormFactory
.LAYOUT());
54 label_created
= toolkit
.createLabel(getLayoutComposite(), null);
55 label_created
.setLayoutData(CdmFormFactory
.FILL_HORIZONTALLY());
57 label_updated
= toolkit
.createLabel(getLayoutComposite(), null);
58 label_updated
.setLayoutData(CdmFormFactory
.FILL_HORIZONTALLY());
60 label_uuid
= toolkit
.createLabel(getLayoutComposite(), null);
61 label_uuid
.setLayoutData(CdmFormFactory
.FILL_HORIZONTALLY());
63 label_objectId
= toolkit
.createLabel(getLayoutComposite(), null);
64 label_objectId
.setLayoutData(CdmFormFactory
.FILL_HORIZONTALLY());
68 * <p>Setter for the field <code>entity</code>.</p>
70 * @param entity a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
72 public void setEntity(VersionableEntity entity
){
76 String createdString
= "Created "
77 + dateFormat(entity
.getCreated())
78 + " by " + userFormat(entity
.getCreatedBy());
79 label_created
.setText(createdString
);
81 String updatedString
= "Updated "
82 + dateFormat(entity
.getUpdated())
83 + " by " + userFormat(entity
.getUpdatedBy());
84 label_updated
.setText(updatedString
);
86 boolean showDebug
= PreferencesUtil
.getPreferenceStore().getBoolean(PreferencesUtil
.SHOW_DEBUG_INFORMATION
);
89 String uuidString
= "UUID: " + entity
.getUuid();
90 label_uuid
.setText(uuidString
);
91 label_uuid
.setVisible(true);
93 String objectIdString
= "Object ID: " + entity
.getId();
94 label_objectId
.setText(objectIdString
);
95 label_objectId
.setVisible(true);
97 label_uuid
.setVisible(false);
98 label_objectId
.setVisible(false);
103 private String
dateFormat(DateTime dateTime
){
104 if(dateTime
== null){
107 return CdmUtils
.Nz(dateTime
.toString(PreferencesUtil
.getDateFormatPattern()));
110 private String
userFormat(User user
){
114 // TODO agree on what to display username or real name or even more from shibboleth
115 return CdmUtils
.Nz(user
.getUsername());
119 * <p>Getter for the field <code>entity</code>.</p>
121 * @return a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
123 public VersionableEntity
getEntity() {
128 public void setSelected(boolean selected
) {
129 // will not likely be selected