import java.util.Collection;
import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.UUID;
import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateContentProvider;
import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
*/
public class DerivateView extends EditorPart implements IPartContentHasFactualData, IDirtyMarkable,
IConversationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData, IPartContentHasMedia,
- ISelectionChangedListener, IPostOperationEnabled {
+ ISelectionChangedListener, IPostOperationEnabled , ICdmEntitySessionEnabled {
public static final String ID = "eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView";
private ISelection selection = null;
+ private final ICdmEntitySession cdmEntitySession;
+
+ private DerivateContentProvider contentProvider;
+
/**
* Default constructor
*/
public DerivateView() {
+ cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
}
/* (non-Javadoc)
@Override
public void createPartControl(Composite parent) {
viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
- viewer.setContentProvider(new DerivateContentProvider());
+ contentProvider = new DerivateContentProvider();
+ viewer.setContentProvider(contentProvider);
labelProvider = new DerivateLabelProvider();
labelProvider.setConversation(conversation);
viewer.setLabelProvider(labelProvider);
// commit the conversation and start a new transaction immediately
conversation.commit(true);
+ CdmStore.getService(IOccurrenceService.class).merge(getRootEntities());
monitor.worked(1);
this.setDirty(false);
if(!conversation.isBound()){
conversation.bind();
}
+ cdmEntitySession.bind();
}
/* (non-Javadoc)
return true;
}
+ @Override
+ public void dispose() {
+ cdmEntitySession.dispose();
+ super.dispose();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getCdmEntitySession()
+ */
+ @Override
+ public ICdmEntitySession getCdmEntitySession() {
+ return cdmEntitySession;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
+ */
+ @Override
+ public List<SpecimenOrObservationBase> getRootEntities() {
+ return contentProvider.getRootElements();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getPropertyPathsMap()
+ */
+ @Override
+ public Map<Object, List<String>> getPropertyPathsMap() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}