import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.reference.OriginalSourceType;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
+import eu.etaxonomy.cdm.model.reference.OriginalSourceType;
+import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
public class DescriptionElementSourceSection extends
AbstractEntityCollectionSection<DescriptionElementBase, DescriptionElementSource> {
+ private Reference defaultSource;
+
/**
* <p>
* Constructor for DescriptionElementSourceSection.
super(cdmFormFactory, conversation, parentElement, "Sources", style);
}
+ /**
+ * <p>
+ * Constructor for DescriptionElementSourceSection.
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param style
+ * a int.
+ * @param cdmFormFactory
+ * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
+ * object.
+ * @param defaultSource
+ * a default reference for new sources.
+ * @param conversation
+ * a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
+ * object.
+ */
+ public DescriptionElementSourceSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
+ ICdmFormElement parentElement, Reference defaultSource, int style) {
+ super(cdmFormFactory, conversation, parentElement, "Sources", style);
+ this.defaultSource = defaultSource;
+ }
+
/** {@inheritDoc} */
@Override
public DescriptionElementSource createNewElement() {
- return DescriptionElementSource.NewInstance(OriginalSourceType.PrimaryTaxonomicSource);
+ DescriptionElementSource source = DescriptionElementSource.NewInstance(OriginalSourceType.PrimaryTaxonomicSource);
+ if (defaultSource != null){
+ source.setCitation(defaultSource);
+ }
+ return source;
}
/** {@inheritDoc} */