ref #6607: add accessed field to reference detail element
authorKatja Luther <k.luther@bgbm.org>
Mon, 12 Jun 2017 13:02:16 +0000 (15:02 +0200)
committerKatja Luther <k.luther@bgbm.org>
Mon, 12 Jun 2017 13:02:16 +0000 (15:02 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java

index 8b1231cae98f5afef7ff803e1672aa5c7e13161b..bc940dd91fe59777a44d60e2a8125b2ee08aada8 100755 (executable)
@@ -37,6 +37,7 @@ import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
 import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
 import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.mvc.element.DateElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
@@ -71,6 +72,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
        private TextWithLabelElement text_abbrevTitle;
        private TextWithLabelElement text_title;
        private UriWithLabelElement text_uri;
+       private DateElement text_accessed;
        private EntitySelectionElement<AgentBase> selection_authorTeam;
        private TimePeriodElement element_timePeriod;
        private EntitySelectionElement<Reference> selection_inReference;
@@ -154,6 +156,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                        if (referenceType.equals(ReferenceType.Generic)) {
                                createGenericControls(this, entity, SWT.NULL);
                                createPublicationControls(this, referenceType, entity, SWT.NULL);
+                               
                        } else {
                                if (referenceType.isPrintedUnit()) {
                                        createPrintedUnitControls(this, referenceType, entity,
@@ -169,6 +172,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                                if (referenceType.isSection()) {
                                        createSectionControls(this, entity, SWT.NULL);
                                }
+                               
                        }
                }
 
@@ -181,6 +185,11 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                handleToggleableCacheField();
        }
 
+       private void createWebPageControls(ReferenceDetailElement referenceDetailElement, Reference reference, int style) {
+                text_accessed = formFactory.createDateElement(referenceDetailElement, "Accessed", reference.getAccessed(), style);
+               
+       }
+
        /*
         * (non-Javadoc)
         *
@@ -274,6 +283,8 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                // pages
                text_pages = formFactory.createTextWithLabelElement(element, "Pages",
                                reference.getPages(), style);
+               
+               
        }
 
        /**
@@ -397,6 +408,9 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                // uri
                text_uri = formFactory.createUriWithLabelElement(element, "URI",
                                reference.getUri(), style);
+               if (reference.getType().equals(ReferenceType.WebPage)){
+                       createWebPageControls(this, reference, style);
+               }
                // abstract
                text_referenceAbstract = formFactory.createMultiLineTextWithLabel(
                                element, "Reference Abstract", 100, style);
@@ -465,6 +479,8 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                        getEntity().setUri(text_uri.parseText());
                } else if (eventSource == text_volume) {
                        getEntity().setVolume(text_volume.getText());
+               }else if (eventSource == text_accessed.getController()) {
+                       getEntity().setAccessed(text_accessed.getController().getDateTime());
                }
 
                if (eventSource != text_title && eventSource != text_abbrevTitle) {