import eu.etaxonomy.cdm.model.term.DefinedTermBase;
import eu.etaxonomy.cdm.model.term.TermNode;
import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.persistence.dto.AnnotationDto;
+import eu.etaxonomy.cdm.persistence.dto.MarkerDto;
import eu.etaxonomy.cdm.persistence.dto.TermDto;
import eu.etaxonomy.cdm.persistence.dto.TermNodeDto;
import eu.etaxonomy.cdm.persistence.dto.TermTreeDto;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.definedterm.TermTransfer;
import eu.etaxonomy.taxeditor.editor.definedterm.TermTreeViewerComparator;
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
return (IStructuredSelection) viewer.getSelection();
}
-
+
@Override
@Persist
public void save(IProgressMonitor monitor){
-
-
+
+
ISelection sel = this.viewer.getSelection();
-
+
if (createOperationList != null && !createOperationList.isEmpty()){
for (CreateFeatureTreeOperation operation: createOperationList.values()){
TermTreeDto termDto = getTreeDtoForUuid(operation.getElementUuid());
listToUpdate.clear();
List<TermTreeDto> rootEntities = getRootEntities();
UpdateResult result = CdmStore.getService(ITermTreeService.class).saveOrUpdateTermTreeDtoList(rootEntities);
-
+
this.setDirty(false);
initializeTrees();
this.viewer.setSelection(sel);
@Inject
@Optional
private void addSaveCandidate(@UIEventTopic(WorkbenchEventConstants.ADD_SAVE_CANDIDATE) UUID cdmbaseUuid) {
- for (UUID uuid: uuidTermMap.keySet()) {
- if (uuid.equals(cdmbaseUuid)){
- listToUpdate.add(uuidTermMap.get(uuid));
+ ISelection sel = viewer.getSelection();
+ Object obj = ((StructuredSelection)sel).getFirstElement();
+ if (obj instanceof TermNodeDto) {
+ if (listToUpdate.contains(obj)) {
+ listToUpdate.remove(obj);
+ }
+ listToUpdate.add((TermNodeDto)obj);
+ }
+ }
+
+ @Inject
+ @Optional
+ private void addSaveCandidate(@UIEventTopic(WorkbenchEventConstants.ADD_SAVE_CANDIDATE) AnnotationDto anDto ) {
+
+ ISelection sel = viewer.getSelection();
+ Object obj = ((StructuredSelection)sel).getFirstElement();
+ if (obj instanceof TermNodeDto) {
+ if (listToUpdate.contains(obj)) {
+ listToUpdate.remove(obj);
+ }
+ if(((TermNodeDto)obj).getAnnotations().contains(anDto)){
+ ((TermNodeDto)obj).getAnnotations().remove(anDto);
}
+ ((TermNodeDto)obj).addAnnotation(anDto);
+ listToUpdate.add((TermNodeDto)obj);
}
}
+ @Inject
+ @Optional
+ private void addSaveCandidate(@UIEventTopic(WorkbenchEventConstants.ADD_SAVE_CANDIDATE) MarkerDto markerDto ) {
+
+ ISelection sel = viewer.getSelection();
+ Object obj = ((StructuredSelection)sel).getFirstElement();
+ if (obj instanceof TermNodeDto) {
+ if (listToUpdate.contains(obj)) {
+ listToUpdate.remove(obj);
+ }
+ if(((TermNodeDto)obj).getMarkers().contains(markerDto)){
+ ((TermNodeDto)obj).getMarkers().remove(markerDto);
+ }
+ ((TermNodeDto)obj).addMarker(markerDto);
+ listToUpdate.add((TermNodeDto)obj);
+ }
+ }
@Override
public TermType getTermType() {
return termType;
import eu.etaxonomy.cdm.model.term.TermType;
import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto;
+import eu.etaxonomy.cdm.persistence.dto.AnnotationDto;
import eu.etaxonomy.cdm.persistence.dto.FeatureStateDto;
+import eu.etaxonomy.cdm.persistence.dto.MarkerDto;
import eu.etaxonomy.cdm.persistence.dto.TermCollectionDto;
import eu.etaxonomy.cdm.persistence.dto.TermDto;
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;
import eu.etaxonomy.taxeditor.ui.section.reference.SecundumSourceElement;
import eu.etaxonomy.taxeditor.ui.section.reference.SingleSourceSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationDtoElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationDtoSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationElement;
import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.CdmBaseElement;
import eu.etaxonomy.taxeditor.ui.section.supplemental.CreditSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.ExtensionElement;
import eu.etaxonomy.taxeditor.ui.section.supplemental.ExtensionSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.HeadlineDtoSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.HeadlineSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.IdentifiableSourceElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerDtoElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerDtoSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerElement;
import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsElement;
return section;
}
+ public HeadlineDtoSection createHeadlineDtoSection(ICdmFormElement parentElement) {
+ HeadlineDtoSection section = new HeadlineDtoSection(this, parentElement, SWT.NULL);
+ parentElement.addElement(section);
+ adapt(section);
+ return section;
+ }
+
public ParsingMessageElement createParsingMessageElement(ICdmFormElement parentElement,
ParserProblem parserProblem, int style) {
ParsingMessageElement element = new ParsingMessageElement(this, parentElement, parserProblem, style);
return section;
}
+ public AnnotationDtoSection createAnnotationDtoSection(ICdmFormElement parentElement, int style){
+ AnnotationDtoSection section = new AnnotationDtoSection(this, parentElement, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
public CreditSection createCreditSection(ICdmFormElement parentElement, int style){
CreditSection section = new CreditSection(this, parentElement, style);
addAndAdaptSection(parentElement, section);
addAndAdaptSection(parentElement, section);
return section;
}
+ public MarkerDtoSection createMarkerDtoSection(ICdmFormElement parentElement, int style){
+ MarkerDtoSection section = new MarkerDtoSection(this, parentElement, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
public MediaSection createMediaSection(ICdmFormElement parentElement, int style){
MediaSection section = new MediaSection(this, parentElement, style);
if (entity instanceof Annotation) {
element = new AnnotationElement(this, parentElement, (Annotation) entity, removeListener, style);
+ }else if (entity instanceof AnnotationDto) {
+ element = new AnnotationDtoElement(this, parentElement, (AnnotationDto) entity, removeListener, style);
}else if (entity instanceof Person ) {
boolean isNomenclatural = false;
if (parentElement instanceof TeamMemberSection){
element = new ExternalLinksElement(this, parentElement, (ExternalLink) entity, isAdvanced, removeListener, style);
} else if (entity instanceof Marker) {
element = new MarkerElement(this, parentElement, (Marker) entity, removeListener, style);
+ } else if (entity instanceof MarkerDto) {
+ element = new MarkerDtoElement(this, parentElement, (MarkerDto) entity, removeListener, style);
} else if (entity instanceof TaxonNodeAgentRelation) {
element = new TaxonNodeAgentRelationCollectionElement(this, parentElement, (TaxonNodeAgentRelation) entity, removeListener, backgroundColor, style);
}else if (entity instanceof Media) {
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.ui.section.supplemental;
+
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.common.AnnotationType;
+import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.persistence.dto.AnnotationDto;
+import eu.etaxonomy.taxeditor.event.EventUtility;
+import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
+import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
+
+/**
+ * <p>AnnotationElement class.</p>
+ *
+ * @author Katja Luther
+ */
+public class AnnotationDtoElement extends AbstractEntityCollectionElement<AnnotationDto>{
+
+ private TextWithLabelElement text;
+ private TermComboElement<AnnotationType> combo_annotationType;
+
+ /**
+ * <p>Constructor for AnnotationElement.</p>
+ *
+ * @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} object.
+ * @param annotation a {@link eu.etaxonomy.cdm.model.common.Annotation} object.
+ * @param style a int.
+ * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
+ * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
+ */
+ public AnnotationDtoElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, AnnotationDto annotation, SelectionListener removeListener, int style) {
+ super(cdmFormFactory, formElement, annotation, removeListener, null, style);
+ }
+
+ @Override
+ public void createControls(ICdmFormElement element, int style) {
+ combo_annotationType = formFactory.createDefinedTermComboElement(TermType.AnnotationType, this, "Annotation Type", null, style);
+
+ text = formFactory.createMultiLineTextWithLabel(this, "Annotation", 100, style);
+ if (entity != null){
+ setEntity(entity);
+ }
+ }
+
+ @Override
+ public void setEntity(AnnotationDto entity) {
+ this.entity = entity;
+ if (combo_annotationType != null && entity.getTypeUuid() != null){
+ AnnotationType selectedType = null;
+ for (AnnotationType anType: combo_annotationType.getTerms()) {
+ if (anType != null && anType.getUuid() != null && anType.getUuid().equals(entity.getTypeUuid())) {
+ selectedType = anType;
+ break;
+ }
+ }
+ combo_annotationType.setSelection(selectedType);
+ text.setText(entity.getText());
+ }
+ }
+
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource == combo_annotationType){
+ getEntity().setTypeLabel(combo_annotationType.getSelection().getLabel());
+ getEntity().setTypeUuid(combo_annotationType.getSelection().getUuid());
+ }else if(eventSource == text){
+ getEntity().setText(text.getText());
+ }
+
+ EventUtility.postEvent(WorkbenchEventConstants.ADD_SAVE_CANDIDATE, getEntity());
+ }
+}
--- /dev/null
+/**
+* Copyright (C) 2013 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.supplemental;
+
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.UUID;
+
+import eu.etaxonomy.cdm.model.common.AnnotationType;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.persistence.dto.AnnotationDto;
+import eu.etaxonomy.cdm.persistence.dto.TermNodeDto;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+
+/**
+ * @author n.hoffmann
+ * @created Nov 5, 2009
+ */
+public class AnnotationDtoSection extends AbstractEntityCollectionSection<TermNodeDto, AnnotationDto>{
+
+ public AnnotationDtoSection(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement, int style) {
+ super(cdmFormFactory, parentElement, "Annotations", style);
+ }
+
+ @Override
+ public AnnotationDto createNewElement() {
+ String text = "";
+ AnnotationType type = AnnotationType.EDITORIAL();
+ Language language = CdmStore.getDefaultLanguage();
+
+ AnnotationDto anDto = new AnnotationDto(UUID.randomUUID(), 0);
+ anDto.setTypeUuid(type.getUuid());
+ return anDto;
+ }
+
+ @Override
+ public Collection<AnnotationDto> getCollection(TermNodeDto entity) {
+ return entity.getAnnotations();
+ }
+
+ @Override
+ public Comparator<AnnotationDto> getComparator() {
+ return null;
+ // return new DefaultCdmBaseComparator<>();
+ }
+
+ @Override
+ public String getEmptyString() {
+ return "No annotations yet.";
+ }
+
+ @Override
+ protected String getTooltipString() {
+ return "Create a new annotation";
+ }
+
+ @Override
+ public void addElement(AnnotationDto element) {
+ getEntity().addAnnotation(element);
+ }
+
+ @Override
+ public void removeElement(AnnotationDto element) {
+ getEntity().removeAnnotation(element);
+ }
+
+ @Override
+ public AnnotationDto addExisting() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean allowAddExisting() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+}
\ No newline at end of file
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.ui.section.supplemental;
+
+
+import eu.etaxonomy.cdm.persistence.dto.IAnnotatableDto;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+
+/**
+ * <p>HeadlineDtoSection class.</p>
+ *
+ * @author k.luther
+ */
+public class HeadlineDtoSection extends AbstractFormSection<IAnnotatableDto> {
+
+ /**
+ * <p>Constructor for HeadlineSection.</p>
+ *
+ * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
+ * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
+ * @param style a int.
+ */
+ public HeadlineDtoSection(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement,
+ int style) {
+ super(cdmFormFactory, parentElement, style);
+ }
+
+ @Override
+ public void setEntity(IAnnotatableDto dto) {
+
+ super.setEntity(dto);
+
+ //String simpleName = entity.getClass().getSimpleName();
+ String titleString = dto.getLabel();
+ titleString = StoreUtil.cleanTitleString(titleString);
+ setText(titleString);
+ layout();
+ }
+
+}
--- /dev/null
+package eu.etaxonomy.taxeditor.ui.section.supplemental;
+
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.common.MarkerType;
+import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.persistence.dto.IAnnotatableDto;
+import eu.etaxonomy.cdm.persistence.dto.MarkerDto;
+import eu.etaxonomy.taxeditor.event.EventUtility;
+import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
+import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
+
+/**
+ * @author n.hoffmann
+ * @created Nov 16, 2009
+ * @version 1.0
+ */
+public class MarkerDtoElement extends AbstractEntityCollectionElement<MarkerDto>{
+
+
+ private TermComboElement<MarkerType> combo_markerType;
+ private CheckboxElement checkbox_markerState;
+
+ public MarkerDtoElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, MarkerDto element,
+ SelectionListener removeListener, int style) {
+ super(cdmFormFactory, formElement, element, removeListener, null, style);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void createControls(ICdmFormElement element, int style) {
+ checkbox_markerState = formFactory.createCheckbox(this, null, false, style);
+ combo_markerType = formFactory.createDefinedTermComboElement(TermType.MarkerType, this, null, null, style);
+ if (entity != null){
+ setEntity(entity);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setEntity(MarkerDto element) {
+ this.entity = element;
+
+ if (checkbox_markerState != null){
+ checkbox_markerState.setSelection(element.getValue());
+ MarkerType selectedType = null;
+ for (MarkerType markerType: combo_markerType.getTerms()) {
+ if (markerType != null && markerType.getUuid() != null && markerType.getUuid().equals(entity.getTypeUuid())) {
+ selectedType = markerType;
+ break;
+ }
+ }
+ combo_markerType.setSelection(selectedType);
+
+
+ combo_markerType.removeEmptyElement();
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource == combo_markerType && getParentElement() instanceof MarkerDtoSection){
+ MarkerDtoSection markerSection = (MarkerDtoSection)getParentElement();
+ IAnnotatableDto annotatableEntity = markerSection.getEntity();
+ annotatableEntity.removeMarker(entity);
+ MarkerType markerType = combo_markerType.getSelection();
+ entity.setTypeUuid(markerType.getUuid());
+ annotatableEntity.addMarker(entity);
+ }
+ else if(eventSource == checkbox_markerState){
+ getEntity().setValue(checkbox_markerState.getSelection());
+ }
+ EventUtility.postEvent(WorkbenchEventConstants.ADD_SAVE_CANDIDATE, getEntity());
+ }
+}
--- /dev/null
+/**
+ * Copyright (C) 2007 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
+package eu.etaxonomy.taxeditor.ui.section.supplemental;
+
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.UUID;
+
+import eu.etaxonomy.cdm.persistence.dto.IAnnotatableDto;
+import eu.etaxonomy.cdm.persistence.dto.MarkerDto;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
+
+/**
+ * @author nho
+ */
+public class MarkerDtoSection extends AbstractUnboundEntityCollectionSection<IAnnotatableDto, MarkerDto> {
+
+ public MarkerDtoSection(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement, int style) {
+ super(cdmFormFactory, parentElement, "Marker", style);
+ }
+
+ @Override
+ public MarkerDto createNewElement() {
+ MarkerDto marker = new MarkerDto(UUID.randomUUID(), null);
+ marker.setValue(true);
+ return marker;
+ }
+
+ @Override
+ public String getEmptyString() {
+ return "No markers yet.";
+ }
+
+ @Override
+ protected String getTooltipString() {
+ return "Create a new marker";
+ }
+
+ @Override
+ public void addElement(MarkerDto element) {
+ getEntity().addMarker(element);
+ }
+
+
+ @Override
+ public Comparator<MarkerDto> getComparator() {
+ return null;//new DefaultCdmBaseComparator<>();
+ }
+
+ @Override
+ public MarkerDto addExisting() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean allowAddExisting() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ protected Collection<MarkerDto> getEntityCollection(IAnnotatableDto entity) {
+ return entity.getMarkers();
+ }
+
+ @Override
+ public void removeElement(MarkerDto element) {
+ getEntity().removeMarker(element);
+
+ }
+}
\ No newline at end of file
import org.eclipse.swt.SWTException;
import org.springframework.security.core.GrantedAuthority;
-import eu.etaxonomy.cdm.api.service.ITermNodeService;
import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.api.service.IVocabularyService;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
selectionChanged_internal(selection, activePart, thisPart);
}catch (Exception ex){
logger.error("Error during selectionChanged_internal", ex);
+ ex.printStackTrace();
}
finally{
previousSelection = selection;
}
else{
if(element instanceof TermNodeDto){
- element = CdmStore.getService(ITermNodeService.class).load(((TermNodeDto) element).getUuid());
+ //element = CdmStore.getService(ITermNodeService.class).load(((TermNodeDto) element).getUuid());
}
if (activePart.getObject() instanceof DetailsPartE4 && element instanceof TaxonName){
selectionProvidingPart = ((DetailsPartE4)activePart.getObject()).getSelectionProvidingPart();
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.cdm.persistence.dto.TermDto;
+import eu.etaxonomy.cdm.persistence.dto.TermNodeDto;
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
import eu.etaxonomy.taxeditor.editor.ITaxonEditor;
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
}
}
else if(structuredSelection.getFirstElement() instanceof TermDto
- || structuredSelection.getFirstElement() instanceof TermVocabularyDto) {
- // || structuredSelection.getFirstElement() instanceof TermNodeDto){
+ || structuredSelection.getFirstElement() instanceof TermVocabularyDto
+ || structuredSelection.getFirstElement() instanceof TermNodeDto){
showViewer(structuredSelection, activePart, viewer);
return;
}
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
import eu.etaxonomy.cdm.model.reference.ISourceable;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.cdm.persistence.dto.IAnnotatableDto;
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
import eu.etaxonomy.taxeditor.model.IElementHasDetails;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.taxeditor.ui.element.RootElement;
import eu.etaxonomy.taxeditor.ui.section.media.MediaSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationDtoSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.CdmBaseSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.CreditSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.ExtensionSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.HeadlineDtoSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.HeadlineSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerDtoSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.SourceSection;
destroySections();
//1. Headline
- createHeadlineSection(rootElement);
+ if (input instanceof IAnnotatableDto) {
+ createHeadlineDtoSection(rootElement);
+ }else {
+ createHeadlineSection(rootElement);
+ }
//2. Annotatable entitiy
- if(input instanceof AnnotatableEntity){
+ if(input instanceof AnnotatableEntity ){
createAnnotationSections(rootElement);
}
+ if(input instanceof IAnnotatableDto ){
+ createAnnotationDtoSections(rootElement);
+ }
//3. Identifiable entity
if(input instanceof IdentifiableEntity){
createIdentifiableSections(rootElement);
createVersionSection(rootElement);
}
//6. CdmBase
- if(showDebug){
+ if(showDebug && !(input instanceof IAnnotatableDto)){
createCdmBaseSection(rootElement);
}
addPart(headlineSection);
}
+ private void createHeadlineDtoSection(RootElement parent){
+ HeadlineDtoSection headlineSection = formFactory.createHeadlineDtoSection(parent);
+ addPart(headlineSection);
+ }
+
private void createSourceSection(RootElement parent){
int expandStyle = StoreUtil.getSectionStyle(SourceSection.class, getInput().getClass().getCanonicalName(), false);
SourceSection sourceSection = formFactory.createSourceSection(parent, expandStyle);
}
+ private void createAnnotationDtoSections(RootElement parent) {
+ int expandStyle = StoreUtil.getSectionStyle(AnnotationSection.class, getInput().getClass().getCanonicalName(), false);
+ AnnotationDtoSection annotationSection = formFactory.createAnnotationDtoSection(parent, expandStyle);
+
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ expandStyle = StoreUtil.getSectionStyle(MarkerSection.class, getInput().getClass().getCanonicalName(), false);
+ MarkerDtoSection markerSection = formFactory.createMarkerDtoSection(parent, expandStyle);
+
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+
+ addPart(annotationSection);
+ addPart(markerSection);
+
+ }
private void createIdentifiableSections(RootElement parent) {
int expandStyle = StoreUtil.getSectionStyle(SourceSection.class, getInput().getClass().getCanonicalName(), false);
SourceSection sourceSection = formFactory.createSourceSection(parent, expandStyle);
addPart(cdmBaseSection);
}
-
+
@Inject
@Optional