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
.LayoutConstants
;
25 import eu
.etaxonomy
.taxeditor
.ui
.element
.TextWithLabelElement
;
28 * <p>VersionElement class.</p>
31 * @created Nov 5, 2009
34 public class VersionElement
extends AbstractCdmFormElement
implements IEntityElement
<VersionableEntity
> {
36 private Label label_created
;
37 private Label label_updated
;
40 private VersionableEntity entity
;
43 * <p>Constructor for VersionElement.</p>
46 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
47 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
48 * @param entity a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
50 public VersionElement(CdmFormFactory formFactory
, ICdmFormElement parentElement
, VersionableEntity entity
, int style
) {
51 super(formFactory
, parentElement
);
53 label_created
= formFactory
.createLabel(getLayoutComposite(), null, style
);
54 label_created
.setLayoutData(LayoutConstants
.FILL_HORIZONTALLY());
56 label_updated
= formFactory
.createLabel(getLayoutComposite(), null, style
);
57 label_updated
.setLayoutData(LayoutConstants
.FILL_HORIZONTALLY());
64 * <p>Setter for the field <code>entity</code>.</p>
66 * @param entity a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
68 public void setEntity(VersionableEntity entity
){
72 String createdString
= "";
73 String updatedString
= "";
76 createdString
= "Created "
77 + dateFormat(entity
.getCreated())
78 + " by " + userFormat(entity
.getCreatedBy());
79 updatedString
= "Updated "
80 + dateFormat(entity
.getUpdated())
81 + " by " + userFormat(entity
.getUpdatedBy());
84 label_created
.setText(createdString
);
85 label_updated
.setText(updatedString
);
88 private String
dateFormat(DateTime dateTime
){
92 return CdmUtils
.Nz(dateTime
.toString(PreferencesUtil
.getDateFormatPattern()));
95 private String
userFormat(User user
){
99 // TODO agree on what to display username or real name or even more from shibboleth
100 return CdmUtils
.Nz(user
.getUsername());
104 * <p>Getter for the field <code>entity</code>.</p>
106 * @return a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
108 public VersionableEntity
getEntity() {
113 public void setSelected(boolean selected
) {
114 // this entity element is not likely to get selected