2 * Copyright (C) 2015 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.taxeditor
.ui
.section
.vocabulary
;
11 import java
.util
.Collection
;
12 import java
.util
.Comparator
;
13 import java
.util
.HashSet
;
15 import eu
.etaxonomy
.cdm
.api
.conversation
.ConversationHolder
;
16 import eu
.etaxonomy
.cdm
.model
.description
.MeasurementUnit
;
17 import eu
.etaxonomy
.cdm
.persistence
.dto
.FeatureDto
;
18 import eu
.etaxonomy
.cdm
.persistence
.dto
.TermDto
;
19 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
20 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
21 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
.AbstractUnboundEntityCollectionSection
;
28 public class MeasurementUnitDtoCollectionSection
extends AbstractUnboundEntityCollectionSection
<FeatureDto
, TermDto
> {
30 public MeasurementUnitDtoCollectionSection(CdmFormFactory formFactory
,
31 ConversationHolder conversation
, ICdmFormElement parentElement
, int style
) {
32 super(formFactory
, conversation
, parentElement
, "Recommended measurement units", style
);
36 * @see eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractNullEntityCollectionSection#getEntityCollection(java.lang.Object)
40 protected Collection
<TermDto
> getEntityCollection(FeatureDto entity
) {
41 if (entity
.getRecommendedMeasurementUnits() == null){
42 entity
.setRecommendedMeasurementUnits(new HashSet
<TermDto
>());
44 return entity
.getRecommendedMeasurementUnits();
48 public Comparator
<TermDto
> getComparator() {
49 return new Comparator
<TermDto
>() {
51 public int compare(TermDto o1
, TermDto o2
) {
58 int diff
= o1
.getTitleCache().compareTo(o2
.getTitleCache());
60 diff
= o1
.getUuid().compareTo(o2
.getUuid());
68 * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
72 public TermDto
createNewElement() {
73 return TermDto
.fromTerm(MeasurementUnit
.NewInstance());
77 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
81 public void addElement(TermDto element
) {
86 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
90 public void removeElement(TermDto element
) {
94 TermDto remove
= null;
95 for (TermDto unit
: getEntity().getRecommendedMeasurementUnits()){
96 if (unit
.getUuid().equals(element
.getUuid())){
101 getEntity().getRecommendedMeasurementUnits().remove(remove
);
105 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
109 public String
getEmptyString() {
110 return "No recommended measurement units yet.";
114 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
118 protected String
getTooltipString() {
119 return "Add a measurement unit";
126 public TermDto
addExisting() {
127 // TODO Auto-generated method stub
135 public boolean allowAddExisting() {
136 // TODO Auto-generated method stub