import java.util.Collections;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.molecular.Sequence;
-import eu.etaxonomy.cdm.model.molecular.SingleRead;
+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.AbstractEntityCollectionElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
/**
public void addElement(Media element) {
if(getEntity().getContigFile()==null){
getEntity().setContigFile(element);
+ /*
+ * merge to avoid duplicate key exception
+ * the exception seems to be caused by the two links to the Media object:
+ * - Sequence->contigFile (used to be not in the cache after saving)
+ * - MediaRepresentationPart->media
+ * Invoking merge() solves this problem
+ */
+ CdmStore.getService(IMediaService.class).merge(element);
}
}
import java.util.Collections;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.molecular.SingleRead;
+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;
public void addElement(Media element) {
if(getEntity().getPherogram()==null){
getEntity().setPherogram(element);
+ /*
+ * merge to avoid duplicate key exception
+ * the exception seems to be caused by the two links to the Media object:
+ * - SingleRead->pherogram (used to be not in the cache after saving)
+ * - MediaRepresentationPart->media
+ * Invoking merge() solves this problem
+ */
+ CdmStore.getService(IMediaService.class).merge(element);
}
}