import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.ide.undo.WorkspaceUndoUtil;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.CdmBase;
* @author pplitzner
* @since Sep 8, 2017
*/
-public class BulkEditor implements IPartContentHasDetails, IConversationEnabled, IPostOperationEnabled,
+public class BulkEditor implements IPartContentHasDetails, IPostOperationEnabled,
IDirtyMarkable, IDerivedUnitFacadePart, IPartContentHasFactualData,
IPartContentHasSupplementalData, IPartContentHasMedia, IE4SavablePart, ITaxonEditor, IBulkEditor {
private AbstractBulkEditorInput input;
- private ConversationHolder conversation;
-
@Inject
private IEventBroker eventBroker;
public void init(AbstractBulkEditorInput<?> input){
this.input = input;
- this.conversation = input.getConversation();
thisPart.setLabel(input.getEditorName());
bulkEditorComposite.init(input);
}
input.saveModel(resetMerge);
-// IStructuredSelection selection = getSelection();
-
dirty.setDirty(false);
input.dispose();
input.bind();
- conversation.commit(true);
if (lastQuery != null){
bulkEditorComposite.performSearch(lastQuery, selection);
@Focus
public void setFocus() {
//make sure to bind again if maybe in another view the conversation was unbound
- if(conversation!=null && !conversation.isBound()){
- conversation.bind();
- }
+
if(input!=null && input.getCdmEntitySession()!= null) {
input.getCdmEntitySession().bind();
}
@PreDestroy
public void dispose() {
- if(conversation!=null){
- conversation.unregisterForDataStoreChanges(this);
- conversation.close();
- }
if(input!=null){
input.dispose();
}
bulkEditorComposite.copyDataToClipboard();
}
- @Override
- public void update(CdmDataChangeMap arg0) {
- }
-
@Override
public boolean canAttachMedia() {
return true;
return false;
}
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
+
public BulkEditorQuery getLastQuery() {
return lastQuery;
import org.eclipse.jface.viewers.IStructuredSelection;
import ca.odell.glazedlists.BasicEventList;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
private HashMap<T, Set<T>> mergedEntities = new HashMap<>();
private IEntityCreator<T> entityCreator;
- private final ConversationHolder conversation;
+
private Job searchJob;
public AbstractBulkEditorInput() {
super(true);
- this.conversation = CdmStore.createConversation();
+
}
static public AbstractBulkEditorInput<?> NewInstance(BulkEditorInputType inputType) {
return null;
}
- public ConversationHolder getConversation() {
- return conversation;
- }
+
public Set<T> getSaveCandidates() {
return saveCandidates;
@Override
public List listEntities(IIdentifiableEntityServiceConfigurator configurator) {
configurator.setPropertyPaths(getPropertyPaths());
- return CdmStore.getSearchManager().findNames(configurator, this.getConversation());
+ return CdmStore.getSearchManager().findNames(configurator);
}
@Override
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IDescriptiveDataSetService;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.api.service.ITermService;
* @since Nov 21, 2017
*
*/
-public class DescriptiveDataSetEditor implements IE4SavablePart, IConversationEnabled,
+public class DescriptiveDataSetEditor implements IE4SavablePart,
ICdmEntitySessionEnabled<DescriptiveDataSet>, IPartContentHasDetails,
IPartContentHasSupplementalData, IDirtyMarkable, IDescriptiveDataSetEditor {
private DescriptiveDataSetComposite composite;
- private ConversationHolder conversation;
-
private ICdmEntitySession cdmEntitySession;
private DescriptiveDataSet descriptiveDataSet;
public void create(Composite parent, IEclipseContext context, @Named(IServiceConstants.ACTIVE_SHELL)Shell shell,
EMenuService menuService){
if (CdmStore.isActive()){
- if(conversation == null){
- conversation = CdmStore.createConversation();
- }
if(cdmEntitySession == null){
cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
}
@Override
public void save(IProgressMonitor monitor) {
- if (!conversation.isBound()) {
- conversation.bind();
-
- }
- conversation.commit(true);
Collection<TermDto> areas = composite.getAreas();
Object input = composite.getTaxonNodeTree().getInput();
if(input!=null){
@PreDestroy
public void dispose() {
- if (conversation != null) {
- conversation.close();
- conversation = null;
- }
if(cdmEntitySession != null) {
cdmEntitySession.dispose();
cdmEntitySession = null;
if(composite!=null){
composite.setFocus();
}
- if (getConversationHolder() != null) {
- getConversationHolder().bind();
- }
+
if(cdmEntitySession != null) {
cdmEntitySession.bind();
}
return descriptiveDataSet;
}
- @Override
- public void update(CdmDataChangeMap arg0) {
- }
+
@Override
public ICdmEntitySession getCdmEntitySession() {
return null;
}
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
@Override
public void changed(Object element) {
dirty.setDirty(true);
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IMemento;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IDescriptiveDataSetService;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
*
*/
public class DescriptiveDataSetNavigator
- implements IConversationEnabled, ICdmEntitySessionEnabled<DescriptiveDataSet>, IContextListener{
+ implements ICdmEntitySessionEnabled<DescriptiveDataSet>, IContextListener{
private ListViewer viewer;
private ISelectionChangedListener selectionChangedListener;
- private ConversationHolder conversation;
-
private ICdmEntitySession cdmEntitySession;
private List<DescriptiveDataSet> descriptiveDataSets;
public void init(){
if (CdmStore.isActive()){
- if(conversation == null) {
- conversation = CdmStore.createConversation();
- }
+// if(conversation == null) {
+// conversation = CdmStore.createConversation();
+// }
if(cdmEntitySession == null){
cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
}
refresh();
}
- @Override
- public void update(CdmDataChangeMap arg0) {
- }
+
@Override
public ICdmEntitySession getCdmEntitySession() {
return null;
}
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
public ESelectionService getSelService() {
return selService;
}
@PreDestroy
public void dispose() {
- if (conversation != null) {
- conversation.close();
- conversation = null;
- }
+
if(cdmEntitySession != null) {
cdmEntitySession.dispose();
cdmEntitySession = null;
@Focus
public void setFocus() {
- if (getConversationHolder() != null) {
- getConversationHolder().bind();
- }
+
if(cdmEntitySession != null) {
cdmEntitySession.bind();
}
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.widgets.FormToolkit;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITermNodeService;
import eu.etaxonomy.cdm.api.service.ITermTreeService;
import eu.etaxonomy.cdm.api.service.IVocabularyService;
* @author pplitzner
* @date 24.05.2017
*/
-public class CharacterEditor implements ICharacterEditor, IConversationEnabled, ISelectionChangedListener,
+public class CharacterEditor implements ICharacterEditor, ISelectionChangedListener,
ModifyListener, IE4ViewerPart, IPartContentHasDetails, IPartContentHasSupplementalData,
IDirtyMarkable, IE4SavablePart {
@Inject
private MDirtyable dirty;
- private ConversationHolder conversation;
-
private ICdmEntitySession cdmEntitySession;
private TermVocabulary vocabulary;
@PostConstruct
public void createControls(Composite parent, EMenuService menuService ) {
if (CdmStore.isActive()){
- if(conversation == null){
- conversation = CdmStore.createConversation();
- }
+// if(conversation == null){
+// conversation = CdmStore.createConversation();
+// }
if(cdmEntitySession==null){
cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
}
if(characterTreeEditorComposite!=null){
characterTreeEditorComposite.getViewer().getControl().setFocus();
}
- if(conversation!=null && !conversation.isBound()){
- conversation.bind();
- }
if(cdmEntitySession != null) {
cdmEntitySession.bind();
}
@Override
@Persist
public void save(IProgressMonitor monitor){
- if (!conversation.isBound()) {
- conversation.bind();
- }
+
UpdateResult result = new UpdateResult();
if (nodesToSave != null && this.getVocabulary() != null) {
result.includeResult(CdmStore.getService(ITermNodeService.class).saveNewCharacterNodeDtoMap(this.nodesToSave, this.getVocabulary().getUuid()));
result.includeResult(CdmStore.getService(ITermNodeService.class).saveCharacterNodeDtoList(this.nodesToUpdate));
nodesToUpdate.clear();
// commit the conversation and start a new transaction immediately
- conversation.commit(true);
+ //conversation.commit(true);
if (result.getUpdatedObjects() != null && !result.getUpdatedObjects().isEmpty()){
Object o = result.getUpdatedObjects().iterator().next();
if (o instanceof TermNode){
@PreDestroy
public void dispose(){
- if(conversation!=null){
- conversation.close();
- conversation = null;
- }
+
if(cdmEntitySession != null) {
cdmEntitySession.dispose();
cdmEntitySession = null;
@Focus
public void setFocus() {
- if(conversation!=null && !conversation.isBound()){
- conversation.bind();
- }
+
}
@Override
}
}
- @Override
- public void update(CdmDataChangeMap arg0) {
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
+
@Override
public void changed(Object element) {
DescriptiveDataSet descriptiveDataSet = DescriptiveDataSet.NewInstance();
descriptiveDataSet.setLabel(dataSetName);
CdmStore.getService(IDescriptiveDataSetService.class).merge(descriptiveDataSet, true);
- navigator.getConversationHolder().commit();
navigator.addDescriptiveDataSet(descriptiveDataSet);
EditorUtil.openDescriptiveDataSetEditor(descriptiveDataSet.getUuid(), modelService, partService, application);
}
deleteDescriptiveDataSet(((DescriptiveDataSet) next).getUuid(), deleteConfig);
DescriptiveDataSetNavigator navigator = (DescriptiveDataSetNavigator) object;
navigator.removeDescriptiveDataSet((DescriptiveDataSet) next);
- navigator.getConversationHolder().commit();
navigator.getSelService().setSelection(null);
}else{
MessagingUtils.errorDialog(Messages.DeleteDescriptiveDataSetHandler_DELETE_FAILED_TITLE, DeleteDescriptiveDataSetHandler.class, Messages.DeleteDescriptiveDataSetHandler_DELETE_FAILED_MESSAGE, TaxeditorEditorPlugin.PLUGIN_ID, null, false);
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.DeleteResult;
import eu.etaxonomy.cdm.api.service.IDescriptionService;
import eu.etaxonomy.cdm.api.service.IDescriptiveDataSetService;
* @author pplitzner
* @since Nov 26, 2017
*/
-public class CharacterMatrixPart implements IE4SavablePart, IConversationEnabled, IDirtyMarkable,
+public class CharacterMatrixPart implements IE4SavablePart, IDirtyMarkable,
ICdmEntitySessionEnabled<DescriptiveDataSet>, IPartContentHasSupplementalData,
IPartContentHasDetails {
private DescriptiveDataSetBaseDto descriptiveDataSet;
- private ConversationHolder conversation;
-
private ICdmEntitySession cdmEntitySession;
@Inject
@PostConstruct
public void create(Composite parent, IEclipseContext context) {
- if(CdmStore.isActive() && conversation==null){
- conversation = CdmStore.createConversation();
- }
- if(cdmEntitySession == null){
+ if(cdmEntitySession == null){
cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
cdmEntitySession.bind();
}
@Focus
public void setFocus(){
- if(conversation!=null){
- conversation.bind();
- }
if(cdmEntitySession != null) {
cdmEntitySession.bind();
}
@PreDestroy
public void dispose(){
- if (conversation != null) {
- conversation.close();
- conversation = null;
- }
if(cdmEntitySession != null) {
cdmEntitySession.dispose();
cdmEntitySession = null;
dirty.setDirty(false);
}
- @Override
- public void update(CdmDataChangeMap arg0) {
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
@Override
public void changed(Object element) {
setDirty();
package eu.etaxonomy.taxeditor.editor.e4;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.model.AbstractDataChangeBehaviour;
+import eu.etaxonomy.taxeditor.model.AbstractDataChangeBehaviour_;
/**
* @author pplitzner
* @date Aug 24, 2017
*/
-public class TaxonEditorInputDataChangeBehaviourE4 extends
- AbstractDataChangeBehaviour {
+public class TaxonEditorInputDataChangeBehaviourE4_ extends
+ AbstractDataChangeBehaviour_ {
private TaxonEditorInputE4 source;
- public TaxonEditorInputDataChangeBehaviourE4(TaxonEditorInputE4 taxonEditorInput) {
+ public TaxonEditorInputDataChangeBehaviourE4_(TaxonEditorInputE4 taxonEditorInput) {
source = taxonEditorInput;
}
@Override
public void reactOnDataChange(CdmDataChangeMap events) {
- source.update(events);
+ //source.update(events);
}
}
import org.eclipse.e4.ui.di.UISynchronize;
import org.eclipse.ui.ide.undo.WorkspaceUndoUtil;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.api.service.INameService;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
* @author pplitzner
* @date Aug 24, 2017
*/
-public class TaxonEditorInputE4 extends CdmEntitySessionInput<TaxonNode>
- implements IConversationEnabled {
+public class TaxonEditorInputE4 extends CdmEntitySessionInput<TaxonNode>{
private static final String INCORRECT_STATE = Messages.TaxonEditorInput_INCORRECT_STATE;
- private final ConversationHolder conversation;
-
private TaxonNode taxonNode;
private Map<TaxonBase, TaxonBaseDeletionConfigurator> toDeletes = new HashMap<>();
private Set<AbstractPostOperation> operations = new HashSet<>();
- private TaxonEditorInputDataChangeBehaviourE4 dataChangeBehavior;
+// private TaxonEditorInputDataChangeBehaviourE4 dataChangeBehavior;
private TaxonBase<?> initiallySelectedTaxonBase;
private TaxonEditorInputE4(UUID uuid, CdmType type) {
super(true);
- this.conversation = CdmStore.createConversation();
- switch(type) {
+ switch(type) {
case PARENT_TAXON_NODE:
initForParentTaxonNode(uuid);
break;
if (taxon.getTaxonNodes().size() > 0){
acceptedTaxa.add(taxon);
}
- setInputForRelatedTaxa(conversation, acceptedTaxa);
+ setInputForRelatedTaxa(acceptedTaxa);
}else{
- setInputForMultipleNodes(conversation, taxon.getTaxonNodes());
+ setInputForMultipleNodes(taxon.getTaxonNodes());
}
}else if(taxonBase instanceof Synonym){
Synonym synonym = (Synonym) taxonBase;
if (taxon != null){
taxa.add(taxon);
}
- setInputForMultipleTaxa(conversation, taxa);
+ setInputForMultipleTaxa(taxa);
setInitiallySelectedTaxonBase(synonym);
}
}
initForTaxonNode(newTaxonNodeUuid);
}
- private void setInputForMultipleNodes(ConversationHolder conversation, Set<TaxonNode> taxonNodes){
+ private void setInputForMultipleNodes(Set<TaxonNode> taxonNodes){
if(taxonNodes.size() == 1){
TaxonNode taxonNode = taxonNodes.iterator().next();
taxonNode = getCdmEntitySession().remoteLoad(CdmStore.getService(ITaxonNodeService.class), taxonNode.getUuid(), getTaxonNodePropertyPaths());
}
}
- private void setInputForMultipleTaxa(ConversationHolder conversation, Set<Taxon> taxa){
+ private void setInputForMultipleTaxa(Set<Taxon> taxa){
if(taxa.size() == 1){
Taxon taxon = taxa.iterator().next();
Set<TaxonNode> nodes = taxon.getTaxonNodes();
- setInputForMultipleNodes(conversation, nodes);
+ setInputForMultipleNodes(nodes);
}else if(taxa.size() > 1){
Set<TaxonNode> taxonNodes = new HashSet<TaxonNode>();
for ( Taxon taxon : taxa ){
taxonNodes.addAll(taxon.getTaxonNodes());
}
- setInputForMultipleNodes(conversation, taxonNodes);
+ setInputForMultipleNodes(taxonNodes);
}else if(taxa.size() == 0){
// this is an undesired state
MessagingUtils.warningDialog(INCORRECT_STATE, TaxonEditorInputE4.class, Messages.TaxonEditorInput_NO_ACCEPTED_TAXON_PRESENT);
}
}
- private void setInputForRelatedTaxa(ConversationHolder conversation, Set<Taxon> taxa){
+ private void setInputForRelatedTaxa(Set<Taxon> taxa){
if(taxa.size() == 1){
Taxon taxon = taxa.iterator().next();
Set<TaxonNode> nodes = taxon.getTaxonNodes();
return taxonNode;
}
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
- @Override
- public void update(CdmDataChangeMap events) {
- if(dataChangeBehavior == null){
- dataChangeBehavior = new TaxonEditorInputDataChangeBehaviourE4(this);
- }
-
- DataChangeBridge.handleDataChange(events, dataChangeBehavior);
- }
-
public void setInitiallySelectedTaxonBase(TaxonBase taxonBase) {
this.initiallySelectedTaxonBase = taxonBase;
}
}
}
}
-// for (TaxonName name:toSaveNewNames){
-// name.get
-// }
+
if (!toSaveNewNames.isEmpty()){
List<TaxonName> listNames = new ArrayList(toSaveNewNames);
import java.util.UUID;
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IGroupService;
import eu.etaxonomy.cdm.model.permission.Group;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput;
import eu.etaxonomy.taxeditor.store.CdmStore;
* @created Mar 28, 2013
*/
public class CdmAuthorityEditorInput
- extends CdmEntitySessionInput<Group>
- implements IConversationEnabled {
+ extends CdmEntitySessionInput<Group> {
- private ConversationHolder conversation;
private Group group;
- protected CdmAuthorityEditorInput(ConversationHolder conversation, Group group) {
+ protected CdmAuthorityEditorInput(Group group) {
super(true);
- this.conversation = conversation;
this.group = CdmApplicationState.getCurrentAppConfig().getGroupService().load(group.getUuid());
}
* @throws Exception
*/
public static CdmAuthorityEditorInput NewInstance(UUID groupUuid) throws Exception{
- ConversationHolder conversation = CdmStore.createConversation();
Group group = CdmStore.getService(IGroupService.class).load(groupUuid, null);
- return new CdmAuthorityEditorInput(conversation, group);
+ return new CdmAuthorityEditorInput( group);
}
public Object getAdapter(Class adapter) {
return null;
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- // TODO Auto-generated method stub
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- return this.conversation;
- }
-
public String getName() {
return group.getName();
}
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.permission.Group;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.group.authority.CdmAuthorityEditorInput;
* @created Mar 28, 2013
*
*/
-public class CdmAuthorityEditorE4 implements IConversationEnabled, IDirtyMarkable {
+public class CdmAuthorityEditorE4 implements IDirtyMarkable {
public static final String ID = "eu.etaxonomy.taxeditor.editor.group.authority"; //$NON-NLS-1$
@Inject
private MDirtyable dirty;
- private ConversationHolder conversation;
private CdmAuthorityCompositeViewer viewer;
private CdmAuthorityEditorInput input;
public void doSave(IProgressMonitor monitor) {
try {
monitor.beginTask(Messages.CdmAuthorityEditor_SAVING_AUTHORITY_EDITOR, 1);
- getConversationHolder().commit(true);
input.merge();
dirty.setDirty(false);
monitor.worked(1);
public void init(CdmAuthorityEditorInput input) {
this.input = input;
-
- conversation = input.getConversationHolder();
-
this.viewer = new CdmAuthorityCompositeViewer(container, this,input.getGroup());
thisPart.setLabel(input.getName());
return input;
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- }
-
@Override
public void changed(Object element) {
//FIXME : should be optimised to split changes into adding / removing authorities
changed(null);
}
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
@PreDestroy
public void dispose() {
- if(conversation!=null){
- conversation.unregisterForDataStoreChanges(this);
- conversation.close();
- conversation = null;
- }
+
if(input!=null){
input.getCdmEntitySession().dispose();
}
*/
package eu.etaxonomy.taxeditor.editor.key;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.description.IIdentificationKey;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput;
/**
* @author n.hoffmann
*/
public abstract class AbstractIdentificationEditorInput<T extends IIdentificationKey>
- extends CdmEntitySessionInput implements IConversationEnabled {
+ extends CdmEntitySessionInput {
- private final ConversationHolder conversation;
-
- protected AbstractIdentificationEditorInput(ConversationHolder conversation) {
+ protected AbstractIdentificationEditorInput() {
super(true);
- this.conversation = conversation;
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
}
+
public abstract T getKey();
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- }
-
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
import org.eclipse.zest.layouts.LayoutStyles;
import org.eclipse.zest.layouts.algorithms.TreeLayoutAlgorithm;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.description.IIdentificationKey;
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyEditorInput;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
* @param <T>
*/
public abstract class AbstractGraphKeyEditorE4<T extends IIdentificationKey>
-implements IConversationEnabled, IE4SavablePart,
- IZoomableWorkbenchPart, IPostOperationEnabled,
+implements IE4SavablePart, IZoomableWorkbenchPart, IPostOperationEnabled,
IDirtyMarkable {
protected CdmFormFactory formFactory;
@Override
@Persist
public void save(IProgressMonitor monitor) {
- getConversationHolder().commit(true);
setDirty(false);
viewer.refresh();
}
viewer.refresh();
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
-
- }
-
@Override
public AbstractZoomableViewer getZoomableViewer() {
return viewer;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyEditorInput;
import eu.etaxonomy.taxeditor.editor.key.polytomous.e4.PolytomousKeyListEditorE4;
-import eu.etaxonomy.taxeditor.model.AbstractDataChangeBehaviour;
+import eu.etaxonomy.taxeditor.model.AbstractDataChangeBehaviour_;
/**
* @author n.hoffmann
* @created May 5, 2011
*/
-public class KeyEditorDataChangeBehaviourE4 extends AbstractDataChangeBehaviour {
+public class KeyEditorDataChangeBehaviourE4_ extends AbstractDataChangeBehaviour_ {
private final PolytomousKeyListEditorE4 source;
private PolytomousKeyEditorInput input;
- public KeyEditorDataChangeBehaviourE4(PolytomousKeyListEditorE4 keyEditor) {
+ public KeyEditorDataChangeBehaviourE4_(PolytomousKeyListEditorE4 keyEditor) {
source = keyEditor;
}
private PolytomousKey key;
- protected PolytomousKeyEditorInput(ConversationHolder conversation,
- UUID polytomousKeyUuid) {
- super(conversation);
+ protected PolytomousKeyEditorInput(UUID polytomousKeyUuid) {
+ super();
List<String> propertyPath = new ArrayList<>();
propertyPath.add("root");
propertyPath.add("root.*");
public static PolytomousKeyEditorInput NewInstance(UUID polytomousKeyUuid) throws Exception{
try{
- ConversationHolder conversation = CdmStore.createConversation();
- return new PolytomousKeyEditorInput(conversation, polytomousKeyUuid);
+ return new PolytomousKeyEditorInput( polytomousKeyUuid);
}catch(Exception e){
throw e;
}
});
}
- @Override
- public ConversationHolder getConversationHolder() {
- return getEditorInput()
- .getConversationHolder();
- }
-
+
@Override
public PolytomousKey getKey() {
return getEditorInput().getKey();
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
import eu.etaxonomy.cdm.model.taxon.Taxon;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
-import eu.etaxonomy.taxeditor.editor.key.e4.KeyEditorDataChangeBehaviourE4;
import eu.etaxonomy.taxeditor.editor.key.polytomous.IPolytomousKeyEditorPage;
import eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyEditorInput;
import eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyListContentProvider;
import eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyListLabelProvider;
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
-import eu.etaxonomy.taxeditor.model.DataChangeBridge;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
* @since Sep 28, 2017
*/
public class PolytomousKeyListEditorE4 implements
- IConversationEnabled, IDirtyMarkable, IPartContentHasDetails, IPartContentHasSupplementalData,
+ IDirtyMarkable, IPartContentHasDetails, IPartContentHasSupplementalData,
IPolytomousKeyEditorPage, IE4SavablePart{
private class LinkListener extends MouseAdapter {
private TableViewer viewer;
- private KeyEditorDataChangeBehaviourE4 dataChangeBehavior;
-
- private PolytomousKeyEditorInput input;
+ private PolytomousKeyEditorInput input;
@Inject
private ESelectionService selService;
@Inject
public PolytomousKeyListEditorE4() {
}
-
- @Override
- public void update(CdmDataChangeMap map) {
- if(dataChangeBehavior == null){
- dataChangeBehavior = new KeyEditorDataChangeBehaviourE4(this);
- }
- DataChangeBridge.handleDataChange(map, dataChangeBehavior);
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- return input.getConversationHolder();
- }
-
+
@Override
@Persist
public void save(IProgressMonitor monitor) {
try {
monitor.beginTask(Messages.KeyEditor_SAVING, 1);
- getConversationHolder().bind();
- getConversationHolder().commit(true);
input.merge();
dirty.setDirty(false);
monitor.worked(1);
public void dispose() {
if(input!=null){
input.dispose();
- input.getConversationHolder().close();
}
}
import org.eclipse.ui.forms.widgets.ScrolledForm;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.DeleteResult;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.CdmDataTransfer;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.ISecuredEditor;
* @date Aug 24, 2017
*/
public class TaxonNameEditorE4
- implements IConversationEnabled, IDirtyMarkable, IPartContentHasDetails,
+ implements IDirtyMarkable, IPartContentHasDetails,
IPartContentHasSupplementalData, IPartContentHasMedia, IPartContentHasFactualData, IPartChangeListener,
ISelectionListener, ISecuredEditor, IE4SavablePart, ITaxonEditor, IDropTargetableE4 {
private EPartService partService;
private TaxonBase<?> selection;
- private ConversationHolder conversation;
-
private AcceptedGroupE4 acceptedGroup;
private List<HomotypicalSynonymGroupE4> heterotypicSynonymGroups = new ArrayList<>();
private MisappliedGroupE4 misappliedGroup;
// unbound
eventBroker.post(WorkbenchEventConstants.CURRENT_ACTIVE_EDITOR, this);
- if (conversation != null && !conversation.isBound()) {
- conversation.bind();
- }
+
if (EditorUtil.isFactsVisible()){
EditorUtil.showFacts(modelService, partService);
}
if (getSelectedContainer() == null) {
throw new IllegalStateException(Messages.TaxonNameEditor_THERE_SHOULD_ALWAYS_BE);
}
-// getSelectedContainer().setSelected();
+
if (input.getCdmEntitySession() != null && !input.getCdmEntitySession().isActive()) {
input.bind();
}
-// if (!getSelectedContainer().isSelected()) {
-// getSelectedContainer().setSelected();
-// }
+
}
-// if(selection!=null){
-// selService.setSelection(new StructuredSelection(selection));
-// }
+
// check permissions
boolean doEnable = permissionsSatisfied();
managedForm.getForm().setEnabled(doEnable);
return doEnable;
}
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
- @Override
- public void update(CdmDataChangeMap events) {
- // redraw();
- }
-
/**
* Redraws this editor return true on success
*
public void save(IProgressMonitor monitor) {
monitor.beginTask(Messages.TaxonNameEditor_SAVING_NAMES, getGroupedContainers().size());
- if (!conversation.isBound()) {
- conversation.bind();
-
- }
- conversation.commit(true);
monitor.worked(1);
// check for empty names
}
input.setSync(sync);
input.merge();
- // commit the conversation and start a new transaction immediately
- conversation.commit(true);
-
+
dirty.setDirty(false);
EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAVIGATOR, new TaxonNodeDto(input.getTaxonNode().getParent()));
EventUtility.postEvent(WorkbenchEventConstants.SAVE_TAXON, true);
}
this.input = input;
- conversation = input.getConversationHolder();
-
createOrUpdateNameComposites(true, true, true);
createDragSupport();
@PreDestroy
public void dispose() {
- if (conversation != null) {
- conversation.unregisterForDataStoreChanges(this);
- conversation.close();
- }
if (input != null) {
input.dispose();
}
return null;
}
} else{
- getEditor().getConversationHolder().commit();
- ((TaxonNameEditorE4) target).getConversationHolder().commit();
- UUID newSecUuid = null;
- try{
- newSecUuid = getNewSecRef(synonym);
- }catch (Exception e){
- return null;
- }
- return new MoveSynonymToAnotherAcceptedTaxonOperationE4(Messages.NameEditorDropTargetListener_CHANGE_ACC_TAXON, getEditor().getUndoContext(), synonym.getUuid(), ((TaxonNameEditorE4) target).getTaxon(), newSecUuid, (TaxonNameEditorE4) target, (TaxonNameEditorE4) target);
+ UUID newSecUuid = null;
+ try{
+ newSecUuid = getNewSecRef(synonym);
+ }catch (Exception e){
+ return null;
+ }
+ return new MoveSynonymToAnotherAcceptedTaxonOperationE4(Messages.NameEditorDropTargetListener_CHANGE_ACC_TAXON, getEditor().getUndoContext(), synonym.getUuid(), ((TaxonNameEditorE4) target).getTaxon(), newSecUuid, (TaxonNameEditorE4) target);
}
return new ChangeHomotypicGroupOperation(Messages.NameEditorDropTargetListener_CHANGE_HOMOTYPICAL_GROUP, getEditor().getUndoContext(),
((TaxonNameEditorE4) target).getTaxon(), synonym, null, target);
} else{
- getEditor().getConversationHolder().commit();
- ((TaxonNameEditorE4) target).getConversationHolder().commit();
UUID newSecUuid = null;
try{
newSecUuid = getNewSecRef(synonym);
}catch (Exception e){
return null;
}
- return new MoveSynonymToAnotherAcceptedTaxonOperationE4(Messages.NameEditorDropTargetListener_CHANGE_ACC_TAXON, getEditor().getUndoContext(), synonym.getUuid(), ((TaxonNameEditorE4) target).getTaxon(), newSecUuid, (TaxonNameEditorE4) target, (TaxonNameEditorE4) target);
+ return new MoveSynonymToAnotherAcceptedTaxonOperationE4(Messages.NameEditorDropTargetListener_CHANGE_ACC_TAXON, getEditor().getUndoContext(), synonym.getUuid(), ((TaxonNameEditorE4) target).getTaxon(), newSecUuid, (TaxonNameEditorE4) target);
}
}
// Get taxon
Taxon taxon = input.getTaxon();
- TaxonNode newParentNode = TaxonNodeSelectionDialog.select(shell,// editor.getConversationHolder(),
- Messages.ChangeSynonymToAcceptedTaxonHandler_SELECT_PARENT, null, null, input.getTaxonNode().getClassification().getUuid(), true);
+ TaxonNode newParentNode = TaxonNodeSelectionDialog.select(shell, Messages.ChangeSynonymToAcceptedTaxonHandler_SELECT_PARENT, null, null, input.getTaxonNode().getClassification().getUuid(), true);
if(newParentNode != null){
Reference parentSecRef = newParentNode.getTaxon() != null? newParentNode.getTaxon().getSec(): null;
ChangeSynonymToAcceptedTaxonOperation operation = new ChangeSynonymToAcceptedTaxonOperation(Messages.ChangeSynonymToAcceptedTaxonHandler_CHANGE_SYN_TO_ACC_TAXON, EditorUtil.getUndoContext(),
taxon, newParentNode, synonym,
newSecUuid, secHandling,
- this, editor, editor.getEditorInput()); //$NON-NLS-1$
+ this, editor.getEditorInput()); //$NON-NLS-1$
AbstractUtility.executeOperation(operation, sync);
}
}
if(newParentNode!=null){
MoveSynonymToAnotherAcceptedTaxonOperationE4 operation = new MoveSynonymToAnotherAcceptedTaxonOperationE4(Messages.MoveSynonymToAnotherAcceptedTaxonHandler_CHANGE_ACC_TAXON, EditorUtil.getUndoContext(),
- synonym.getUuid(), newParentNode.getTaxon(),newSecUuid, this, editor);
+ synonym.getUuid(), newParentNode.getTaxon(),newSecUuid, this);
AbstractUtility.executeOperation(operation, sync);
}
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.UpdateResult;
import eu.etaxonomy.cdm.api.service.exception.HomotypicalGroupChangeException;
* The synonym to be moved.
*/
private final Synonym synonym;
- private IConversationEnabled conversationEnabled;
private UUID newSecUuid;
public MoveSynonymToAnotherAcceptedTaxonOperationE4(String label, IUndoContext undoContext, UUID synonymUUID,
- Taxon taxon, UUID newSecRefUuid, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) {
+ Taxon taxon, UUID newSecRefUuid, IPostOperationEnabled postOperationEnabled) {
super(label, undoContext, taxon, postOperationEnabled);
List<String> propertyPaths = new ArrayList<String>();
propertyPaths.add("synonymRelations"); //$NON-NLS-1$
- this.conversationEnabled = conversationEnabled;
+
this.element = (Taxon) CdmStore.getService(ITaxonService.class).load(taxon.getUuid(),propertyPaths);
this.synonym = (Synonym) CdmStore.getService(ITaxonService.class).load(synonymUUID);
this.newSecUuid = newSecRefUuid;
monitor.beginTask("Move synonym to another taxon", 40);
Taxon oldAccepted = synonym.getAcceptedTaxon();
// Reference secRef = CdmStore.getService(IReferenceService.class).load(newSecUuid);
- conversationEnabled.getConversationHolder().commit();
-
UpdateResult result = null;
try {
result = CdmStore.getService(ITaxonService.class).moveSynonymToAnotherTaxon(synonym,
// TODO Auto-generated catch block
e.printStackTrace();
}
-// conversationEnabled.getConversationHolder().commit();
-
monitor.worked(40);
// Redraw editor if it exists
Set<Taxon> taxa = new HashSet<>();
taxa.add(oldAccepted);
EditorUtil.updateNameEditors(taxa);
-// ((TaxonNameEditorE4)EventUtility.getTaxonEditor()).getConversationHolder().commit();
-
return postExecute(null);
}
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.UpdateResult;
import eu.etaxonomy.cdm.api.service.exception.HomotypicalGroupChangeException;
* @param synonym a {@link eu.etaxonomy.cdm.model.taxon.Synonym} object.
* @param synonymsInHomotypicalGroup an array of {@link eu.etaxonomy.cdm.model.taxon.Synonym} objects.
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
- * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
*/
public ChangeSynonymToAcceptedTaxonOperation(String label,
IUndoContext undoContext,
Synonym synonym,
UUID newSecUuid,
SecReferenceHandlingEnum secHandling,
- IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
+ IPostOperationEnabled postOperationEnabled,
ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
- super(label, undoContext, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);
+ super(label, undoContext, postOperationEnabled, cdmEntitySessionEnabled);
this.element = taxon;
this.parentNode = parentNode;
import org.eclipse.core.runtime.IStatus;
import eu.etaxonomy.cdm.api.application.ICdmRepository;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.config.TaxonBaseDeletionConfigurator;
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
*/
public DeleteMisapplicationOperation(String label, IUndoContext undoContext, TaxonBaseDeletionConfigurator configurator,
- Taxon taxon, Taxon misapplication, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled,ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
- //super(label, undoContext, taxon, postOperationEnabled);
- super(label, undoContext, configurator, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);
+ Taxon taxon, Taxon misapplication, IPostOperationEnabled postOperationEnabled, ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
+
+ super(label, undoContext, configurator, postOperationEnabled, cdmEntitySessionEnabled);
this.misapplication = misapplication;
this.element = taxon;
}
import org.eclipse.core.runtime.Status;
import eu.etaxonomy.cdm.api.application.ICdmRepository;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.DeleteResult;
import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.config.TaxonBaseDeletionConfigurator;
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
*/
public DeleteSynonymOperation(String label, IUndoContext undoContext, TaxonBaseDeletionConfigurator configurator,
- Taxon taxon, Synonym synonym, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled,ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
- super(label, undoContext, configurator, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);
+ Taxon taxon, Synonym synonym, IPostOperationEnabled postOperationEnabled, ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
+ super(label, undoContext, configurator, postOperationEnabled, cdmEntitySessionEnabled);
this.synonym = synonym;
this.element = taxon;
}
import org.eclipse.core.runtime.IProgressMonitor;\r
import org.eclipse.core.runtime.IStatus;\r
\r
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;\r
import eu.etaxonomy.cdm.api.service.DeleteResult;\r
import eu.etaxonomy.cdm.api.service.config.TaxonBaseDeletionConfigurator;\r
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;\r
IUndoContext undoContext,\r
TaxonBaseDeletionConfigurator configurator,\r
IPostOperationEnabled postOperationEnabled,\r
- IConversationEnabled conversationEnabled,\r
ICdmEntitySessionEnabled cdmEntitySessionEnabled) {\r
- super(label, undoContext, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);\r
+ super(label, undoContext, postOperationEnabled, cdmEntitySessionEnabled);\r
this.configurator = configurator;\r
\r
}\r
private Classification classification = null;
- private final ConversationHolder conversation;
-
private List<TaxonBase> taxaToSave = new ArrayList<>();
*/
public ChecklistEditorInput(TaxonNode taxonNode){
super(false);
- this.conversation = CdmStore.createConversation();
initSession();
this.taxonNode =CdmStore.getService(ITaxonNodeService.class).load(taxonNode.getUuid(), getTaxonNodePropertyPaths());
getChildTaxa(taxonNode);
*/
public ChecklistEditorInput(Classification classification) {
super(true);
- this.conversation = CdmStore.createConversation();
initSession();
this.classification = CdmStore.getCurrentApplicationConfiguration().getClassificationService().load(classification.getUuid());
getChildTaxa(classification.getRootNode());
return classification;
}
-// public ConversationHolder getConversationHolder() {
-// return conversationHolder;
-// }
-
-// @Override
-// public int hashCode() {
-// final int prime = 31;
-// int result = 1;
-// result = prime * result + ((classification == null) ? 0 : classification.hashCode());
-// result = prime * result + ((taxonNode == null) ? 0 : taxonNode.hashCode());
-// return result;
-// }
-
@Override
public boolean equals(Object obj) {
if (this == obj) {
}
public ConversationHolder getConversation() {
- return conversation;
+ return null;
}
private List<String> getTaxonNodePropertyPaths() {
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.widgets.Composite;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IDescriptionService;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.api.service.ITaxonService;
* @since 28.11.2018
*/
public class DistributionEditorPart
- implements IE4SavablePart, IConversationEnabled, IDirtyMarkable,
+ implements IE4SavablePart, IDirtyMarkable,
ICdmEntitySessionEnabled<DescriptionBase>, IPartContentHasSupplementalData,
IPartContentHasDetails, IDistributionEditorPart {
private Collection<Taxon> rootEntities;
- private ConversationHolder conversation;
-
private ICdmEntitySession cdmEntitySession;
@Inject
@PostConstruct
public void create(Composite parent, IEclipseContext context) {
- if(CdmStore.isActive() && conversation==null){
- conversation = CdmStore.createConversation();
- }
if(cdmEntitySession == null){
cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
}
@Focus
public void setFocus(){
- if(conversation!=null){
- conversation.bind();
- }
if(cdmEntitySession != null) {
cdmEntitySession.bind();
}
return editor;
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- // TODO Auto-generated method stub
- }
+
@PreDestroy
public void dispose(){
- if (conversation != null) {
- conversation.close();
- conversation = null;
- }
if(cdmEntitySession != null) {
cdmEntitySession.dispose();
cdmEntitySession = null;
public void forceDirty() {
// TODO Auto-generated method stub
}
-
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
+
@Persist
@Override
public void save(IProgressMonitor monitor) {
cdmEntitySession.load(editor.getDefaultSource(), true);
}
editor.createTaxonDistributionMap();
- conversation.commit();
+
this.dirty.setDirty(false);
editor.getDescriptionsToSave().clear();
}
editor = (TaxonNameEditorE4) e4WrappedPart;
IUndoContext undoContext = null;
- ConversationHolder conversationHolder = null;
+
Taxon taxon = null;
taxon = editor.getTaxon();
- conversationHolder = editor.getConversationHolder();
+
undoContext = editor.getUndoContext();
//FIXME should this also be enabled for bulk editor
// undoContext = bulkEditor.getUndoContext();
// }
- Taxon relatedConcept = TaxonSelectionDialog.selectTaxon(shell, //conversationHolder,
- taxon);
-
+ Taxon relatedConcept = TaxonSelectionDialog.selectTaxon(shell, taxon);
if(relatedConcept == null){
return;
import org.eclipse.ui.ide.undo.WorkspaceUndoUtil;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
/**
* Displays the derivate hierarchy of the specimen specified in the editor input.
*/
-public class DerivateView implements IPartContentHasFactualData, IConversationEnabled,
+public class DerivateView implements IPartContentHasFactualData,
ICdmEntitySessionEnabled<SpecimenOrObservationBase<?>>, IDirtyMarkable, IPostOperationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData, IPartContentHasMedia,
IContextListener, IE4SavablePart, ICollapsableExpandable {
});
private static final int WARN_THRESHOLD = 200;
-
-
- private ConversationHolder conversation;
-
+
private TreeViewer viewer;
private final int dndOperations = DND.DROP_MOVE;
public void createPartControl(Composite parent, EMenuService menuService,
IEclipseContext context) {
if (CdmStore.isActive()){
- if(conversation == null){
- conversation = CdmStore.createConversation();
- }
if(cdmEntitySession == null){
cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
}
contentProvider = new DerivateContentProvider();
viewer.setContentProvider(contentProvider);
labelProvider = new DerivateLabelProvider();
- labelProvider.setConversation(conversation);
+
viewer.setLabelProvider(labelProvider);
viewer.getTree().setEnabled(CdmStore.isActive());
}
public void updateRootEntities(Collection<UUID> derivativeUuids) {
- if(conversation!=null){
- if (!conversation.isBound()) {
- conversation.bind();
- }
- /*
- * If the active session is not the session of the Derivative Editor
- * then we will save the active session for later, bind temporarily
- * to our session and rebind to the original session when we are
- * done. This happens e.g. if a selection change happens in the
- * taxon editor and "Link with editor" is enabled. The selection
- * change event and thus the loading in updateRootEntities() happens
- * in the session of the taxon editor.
- */
- ICdmEntitySession previousCdmEntitySession = CdmStore.getCurrentSessionManager().getActiveSession();
- if(cdmEntitySession != null) {
- cdmEntitySession.bind();
- }
- eventBroker.post(WorkbenchEventConstants.CURRENT_ACTIVE_EDITOR, null);
- List<SpecimenOrObservationBase> derivates = null;
- if(derivativeUuids!=null){
- this.derivateToRootEntityMap = new HashMap<>();
- this.rootElements = new HashSet<>();
- derivates = CdmStore.getService(IOccurrenceService.class).load(new ArrayList(derivativeUuids), SPECIMEN_INIT_STRATEGY);
- }
- updateRootEntities(derivates);
- if(previousCdmEntitySession!=null){
- previousCdmEntitySession.bind();
- }
+
+ /*
+ * If the active session is not the session of the Derivative Editor
+ * then we will save the active session for later, bind temporarily
+ * to our session and rebind to the original session when we are
+ * done. This happens e.g. if a selection change happens in the
+ * taxon editor and "Link with editor" is enabled. The selection
+ * change event and thus the loading in updateRootEntities() happens
+ * in the session of the taxon editor.
+ */
+ ICdmEntitySession previousCdmEntitySession = CdmStore.getCurrentSessionManager().getActiveSession();
+ if(cdmEntitySession != null) {
+ cdmEntitySession.bind();
+ }
+ eventBroker.post(WorkbenchEventConstants.CURRENT_ACTIVE_EDITOR, null);
+ List<SpecimenOrObservationBase> derivates = null;
+ if(derivativeUuids!=null){
+ this.derivateToRootEntityMap = new HashMap<>();
+ this.rootElements = new HashSet<>();
+ derivates = CdmStore.getService(IOccurrenceService.class).load(new ArrayList(derivativeUuids), SPECIMEN_INIT_STRATEGY);
+ }
+ updateRootEntities(derivates);
+ if(previousCdmEntitySession!=null){
+ previousCdmEntitySession.bind();
}
+
}
public void updateRootEntities(List<SpecimenOrObservationBase> derivates) {
public void save(IProgressMonitor monitor) {
String taskName = Messages.DerivateView_SAVING_HIERARCHY;
monitor.beginTask(taskName, 3);
- if (!conversation.isBound()) {
- conversation.bind();
- if (!cdmEntitySession.isActive()){
- cdmEntitySession.bind();
- }
+
+ if (!cdmEntitySession.isActive()){
+ cdmEntitySession.bind();
}
+
monitor.worked(1);
- // commit the conversation and start a new transaction immediately
- conversation.commit(true);
-
for(AbstractPostOperation entry:operations){
IStatus status = Status.CANCEL_STATUS;
final IAdaptable uiInfoAdapter = WorkspaceUndoUtil
@Focus
public void setFocus() {
- //make sure to bind again if maybe in another view the conversation was unbound
- if(conversation!=null && !conversation.isBound()){
- conversation.bind();
- }
+ //make sure to bind again if maybe in another view the session was unbound
+
if(cdmEntitySession != null) {
cdmEntitySession.bind();
}
}
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
@Override
public void changed(Object element) {
setDirty(true);
@PreDestroy
public void dispose() {
- if(conversation!=null){
- conversation.close();
- conversation = null;
- }
- if(cdmEntitySession != null) {
+ if(cdmEntitySession != null) {
cdmEntitySession.dispose();
cdmEntitySession = null;
}
private void refreshView(DerivateView derivateView, Object createdElement) {
if(derivateView!=null){
- derivateView.getConversationHolder().commit();
- derivateView.refreshTree(createdElement);
+ derivateView.refreshTree(createdElement);
}
}
CdmStore.getService(ITaxonService.class).merge(taxon);
- derivateView.getConversationHolder().commit();
derivateView.addFieldUnit(fieldUnit);
derivateView.updateRootEntities();
derivateView.refreshTree(fieldUnit);
FieldUnit fieldUnit = FieldUnit.NewInstance();
fieldUnit = CdmBase.deproxy(CdmStore.getService(IOccurrenceService.class).save(fieldUnit), FieldUnit.class);
- derivateView.getConversationHolder().commit();
derivateView.addFieldUnit(fieldUnit);
derivateView.updateRootEntities();
derivateView.refreshTree(fieldUnit);
sequence.addSingleRead(singleRead);
CdmStore.getService(ISequenceService.class).merge(sequence);
- derivateView.getConversationHolder().commit();
derivateView.refreshTree();
LocalSelectionTransfer.getTransfer().setSelection(null);
}
derivateView.remove(draggedNode.getValue());
}
//update DerivateView
- derivateView.getConversationHolder().commit();
LocalSelectionTransfer.getTransfer().setSelection(null);
return postExecute(null);
}
searchDerivates();
}
else if(eventSource==derivateSearchComposite.getBtnBrowseTaxa()){
- selectedTaxon = SelectionDialogFactory.getSelectionFromDialog(Taxon.class, this.derivateSearchComposite.getShell(), //derivativeEditor.getConversationHolder(),
- null);
+ selectedTaxon = SelectionDialogFactory.getSelectionFromDialog(Taxon.class, this.derivateSearchComposite.getShell(), null);
if(selectedTaxon!=null){
derivateSearchComposite.getTextTaxonName().setText(selectedTaxon.getTitleCache());
}
selectedTaxon = null;
}
- public void setConversation(ConversationHolder conversationHolder) {
- labelProvider.setConversation(conversationHolder);
- }
+
public void setTaxonFilter(UUID taxonUuid) {
TaxonBase taxonBase = CdmStore.getService(ITaxonService.class).load(taxonUuid);
@Override
public boolean postOperation(Object objectAffectedByOperation) {
- editor.getConversationHolder().bind();
- editor.getConversationHolder().commit(true);
Display.getDefault().asyncExec(new Runnable(){
@Override
@Override
public boolean postOperation(Object objectAffectedByOperation) {
- editor.getConversationHolder().bind();
- editor.getConversationHolder().commit(true);
Display.getDefault().asyncExec(new Runnable(){
@Override
Set<UUID> excludeTaxa = new HashSet<>();
excludeTaxa.add(oldAcceptedTaxonNodeUuid);
TaxonNode newAcceptedTaxonNode = TaxonNodeSelectionDialog.select(shell,
-// editor.getConversationHolder(),
Messages.MoveDescriptionToOtherTaxonHandler_CHOOSE_ACC_TAXON,
excludeTaxa,
node,
taxonDescription,
newAcceptedTaxonNode,
this,
- editor,
editor.getEditorInput(),
false);
editor.getEditorInput().addOperation(operation);
Set<UUID> excludeTaxa = new HashSet<>();
excludeTaxa.add(oldAcceptedTaxonNodeUuid);
TaxonNode newAcceptedTaxonNode = TaxonNodeSelectionDialog.select(shell,
-// editor.getConversationHolder(),
Messages.MoveDescriptionToOtherTaxonHandler_CHOOSE_ACC_TAXON,
excludeTaxa,
node,
taxonDescription,
newAcceptedTaxonNode,
this,
- editor,
editor.getEditorInput(),
true);
editor.getEditorInput().addOperation(operation);
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IDescriptionService;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
* @param description a {@link TaxonDescription} object.
* @param targetTaxonNode a {@link eu.etaxonomy.cdm.model.taxon.TaxonNode} object.
- * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
*/
public MoveDescriptionToOtherTaxonOperation(String label,
IUndoContext undoContext,
TaxonDescription description,
TaxonNode targetTaxonNode,
IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
- ICdmEntitySessionEnabled cdmEntitySessionEnabled,
+ ICdmEntitySessionEnabled cdmEntitySessionEnabled,
boolean setNameInSource) {
- super(label, undoContext, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled); // FIXME is this the right constructor ???
+ super(label, undoContext, postOperationEnabled, cdmEntitySessionEnabled); // FIXME is this the right constructor ???
this.description = description;
this.setNameInSource = setNameInSource;
this.newAcceptedTaxonNode = targetTaxonNode;
taxon.addMisappliedName(misapplication, null, null);
- operation = new DeleteMisapplicationOperation("", undoContext, null, taxon, misapplication, postOperation, null, null);
+ operation = new DeleteMisapplicationOperation("", undoContext, null, taxon, misapplication, postOperation, null);
}
taxon.addSynonym(synonym, synonymType);
- operation = new DeleteSynonymOperation("", undoContext, new SynonymDeletionConfigurator(), taxon,synonym, postOperation, null, null);
+ operation = new DeleteSynonymOperation("", undoContext, new SynonymDeletionConfigurator(), taxon,synonym, postOperation, null);
}
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.commands.ICommandService;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.molecular.ISequenceService;
import eu.etaxonomy.cdm.common.URI;
import eu.etaxonomy.cdm.model.media.MediaUtils;
public static final String CONSENSUS_NAME = "Consensus"; //$NON-NLS-1$
- private ConversationHolder conversationHolder;
- private final AlignmentModelChangeListener DIRTY_LISTENER = new AlignmentModelChangeListener() {
+ private final AlignmentModelChangeListener DIRTY_LISTENER = new AlignmentModelChangeListener() {
@Override
public <T> void afterTokenChange(TokenChangeEvent<T> e) {
setDirty();
for (SingleReadAlignment singleReadAlignment : sequenceNode.getSingleReadAlignments()) {
try {
SingleRead pherogramInfo = singleReadAlignment.getSingleRead();
- String id = addRead(DerivateLabelProvider.getDerivateText(pherogramInfo, conversationHolder),
+ String id = addRead(DerivateLabelProvider.getDerivateText(pherogramInfo),
getPherogramURI(pherogramInfo),
singleReadAlignment.isReverseComplement(),
singleReadAlignment.getEditedSequence(),
@PostConstruct
public void createPartControl(Composite parent) {
- if (CdmStore.isActive()){
- if(conversationHolder == null){
- conversationHolder = CdmStore.createConversation();
- }
- }
- else{
- return;
- }
- SWTComponentFactory.getInstance().getSWTComponent(getAlignmentsContainer(), parent, SWT.NONE);
+ SWTComponentFactory.getInstance().getSWTComponent(getAlignmentsContainer(), parent, SWT.NONE);
Display.getCurrent().addFilter(SWT.FocusIn, ACTION_UPDATER);
Display.getCurrent().addFilter(SWT.FocusOut, ACTION_UPDATER);
}
CLIPBOARD.dispose();
input.dispose();
- if(conversationHolder!=null){
- conversationHolder.close();
- conversationHolder = null;
- }
if(input!=null){
input.dispose();
}
}
}
- if (!conversationHolder.isBound()) {
- conversationHolder.bind();
- }
monitor.worked(1);
input.merge();
- // Commit the conversation and start a new transaction immediately:
- conversationHolder.commit(true);
monitor.worked(1);
dirty.setDirty(false);
@Focus
public void setFocus() {
- if(conversationHolder != null){
- conversationHolder.bind();
- }
if(input!=null){
input.bind();
}
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent.EventType;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.model.AbstractDataChangeBehaviour;
+import eu.etaxonomy.taxeditor.model.AbstractDataChangeBehaviour_;
import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
/**
* @since Sep 28, 2017
*
*/
-public class PolytomousKeyViewPartDataChangeBehaviorE4 extends
- AbstractDataChangeBehaviour {
+public class PolytomousKeyViewPartDataChangeBehaviorE4_ extends
+ AbstractDataChangeBehaviour_ {
private static final String UPDATING_POLYTOMOUS_KEY_VIEWER = Messages.PolytomousKeyViewPartDataChangeBehavior_UPDATE;
private final PolytomousKeyViewPartE4 source;
- public PolytomousKeyViewPartDataChangeBehaviorE4(
+ public PolytomousKeyViewPartDataChangeBehaviorE4_(
PolytomousKeyViewPartE4 polytomousKeyViewPart) {
source = polytomousKeyViewPart;
}
display.asyncExec(new Runnable() {
@Override
public void run() {
- source.getConversationHolder().clear();
+// source.getConversationHolder().clear();
}
});
// FIXME completely clearing the session is a brute force approach.
import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action;
import eu.etaxonomy.cdm.api.application.ICdmChangeListener;
import eu.etaxonomy.cdm.api.application.ICdmDataChangeService;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.ContextListenerAdapter;
-import eu.etaxonomy.taxeditor.model.DataChangeBridge;
import eu.etaxonomy.taxeditor.model.IContextListener;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.navigation.key.polytomous.PolytomousKeyContentProvider;
* @since Sep 28, 2017
*/
public class PolytomousKeyViewPartE4 implements
- IConversationEnabled, ICdmEntitySessionEnabled<PolytomousKey>, IPostOperationEnabled,
+ ICdmEntitySessionEnabled<PolytomousKey>, IPostOperationEnabled,
ICdmChangeListener {
private class FilterModifyListener implements ModifyListener{
}
private ListViewer viewer;
- private ConversationHolder conversation;
private IContextListener contextListener;
private final CdmFormFactory formFactory;
private Text text_filter;
private ICdmEntitySession cdmEntitySession;
- private PolytomousKeyViewPartDataChangeBehaviorE4 dataChangeBehavior;
+ //private PolytomousKeyViewPartDataChangeBehaviorE4 dataChangeBehavior;
@Inject
}
private void setInput() {
- conversation = CdmStore.createConversation();
- conversation.registerForDataStoreChanges(this);
cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
CdmApplicationState.getCurrentDataChangeService().register(this);
}
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- if (dataChangeBehavior == null) {
- dataChangeBehavior = new PolytomousKeyViewPartDataChangeBehaviorE4(this);
- }
-
- DataChangeBridge.handleDataChange(changeEvents, dataChangeBehavior);
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
@PreDestroy
public void dispose() {
- if(conversation!=null){
- conversation.unregisterForDataStoreChanges(this);
- conversation.close();
- CdmStore.getContextManager().removeContextListener(contextListener);
- conversation = null;
- }
+
if(cdmEntitySession != null) {
+ CdmStore.getContextManager().removeContextListener(contextListener);
cdmEntitySession.dispose();
cdmEntitySession = null;
}
@Override
public boolean postOperation(Object objectAffectedByOperation) {
- getConversationHolder().bind();
- getConversationHolder().commit(true);
viewer.refresh();
return true;
}
}
public void refresh() {
- getConversationHolder().bind();
- //FIXME : Need to make sure this is a stable fix (ticket 3822)
- getConversationHolder().commit();
List<PolytomousKey> input = CdmStore.getService(IPolytomousKeyService.class).list(PolytomousKey.class, null, null, null, null);
if(!viewer.getControl().isDisposed()){
viewer.setInput(input);
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.dialogs.MessageDialog;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.DeleteResult;
import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
public DeleteOperation(String label, IUndoContext undoContext,
PolytomousKey key,
IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
- super(label, undoContext, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);
+ super(label, undoContext, postOperationEnabled, cdmEntitySessionEnabled);
this.key = key;
this.cdmEntitySessionEnabled = cdmEntitySessionEnabled;
}
* <p>Constructor for EmptyRoot.</p>
*/
public EmptyRoot() {
- super(null);
+ super();
}
/**
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IPersistableElement;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
* @created 02.06.2009
* @version 1.0
*/
-public class Root extends PlatformObject implements IAdaptable, IPersistableElement, IElementFactory, IConversationEnabled {
+public class Root extends PlatformObject implements IAdaptable, IPersistableElement, IElementFactory {
- private final ConversationHolder conversation;
+// private final ConversationHolder conversation;
private List<TaxonNodeDto> rootNodes = new ArrayList<>();
/**
*
* @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
*/
- public Root (ConversationHolder conversation){
- this.conversation = conversation;
+ public Root () {//ConversationHolder conversation){
+// this.conversation = conversation;
}
/**
return null;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
- */
- @Override
- public void update(CdmDataChangeMap changeEvents) {}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder()
- */
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
+
public void addRootNode(Classification newClassification){
newClassification = CdmStore.getService(IClassificationService.class).load(newClassification.getUuid());
boolean exist = false;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent.EventType;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.model.AbstractDataChangeBehaviour;
+import eu.etaxonomy.taxeditor.model.AbstractDataChangeBehaviour_;
import eu.etaxonomy.taxeditor.model.IDataChangeBehavior;
import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
* @created 01.04.2009
* @version 1.0
*/
-public class TaxonNavigatorDataChangeBehaviorE4 extends AbstractDataChangeBehaviour implements
+public class TaxonNavigatorDataChangeBehaviorE4_ extends AbstractDataChangeBehaviour_ implements
IDataChangeBehavior {
private static final String UPDATING_TAXON_NAVIGATOR = Messages.TaxonNavigatorDataChangeBehavior_UPDATE_NAVIGATOR;
*
* @param taxonNavigator a {@link eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator} object.
*/
- public TaxonNavigatorDataChangeBehaviorE4(TaxonNavigatorE4 taxonNavigator) {
+ public TaxonNavigatorDataChangeBehaviorE4_(TaxonNavigatorE4 taxonNavigator) {
source = taxonNavigator;
}
display.asyncExec(new Runnable() {
@Override
public void run() {
- source.getConversationHolder().clear();
+ //TODO: check wether we can remove this
+
+ //source.getConversationHolder().clear();
}
});
// FIXME completely clearing the session is a brute force approach.
import eu.etaxonomy.cdm.api.application.CdmChangeEvent;
import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action;
import eu.etaxonomy.cdm.api.application.ICdmChangeListener;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.ITaxonEditor;
import eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4;
import eu.etaxonomy.taxeditor.event.EventUtility;
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
-import eu.etaxonomy.taxeditor.model.DataChangeBridge;
import eu.etaxonomy.taxeditor.model.IContextListener;
import eu.etaxonomy.taxeditor.model.IDataChangeBehavior;
import eu.etaxonomy.taxeditor.navigation.AppModelId;
* @since Sep 7, 2017
*/
public class TaxonNavigatorE4 implements
- IPostOperationEnabled, IConversationEnabled, Observer,
+ IPostOperationEnabled, Observer,
ICdmChangeListener, IContextListener,
ICollapsableExpandable {
private final int dndOperations = DND.DROP_MOVE;
- private ConversationHolder conversation;
+// private ConversationHolder conversation;
private IDataChangeBehavior dataChangeBehavior;
// we do not preserve state. Closing the view, in contrary to
// closing the whole application
// should be handled by the state manager too
- root = new Root(conversation);
+ root = new Root();
return root;
}
}
public void init() {
- if (CdmStore.isActive() && conversation == null) {
- conversation = CdmStore.createConversation();
- conversation.registerForDataStoreChanges(TaxonNavigatorE4.this);
- }
+// if (CdmStore.isActive() && conversation == null) {
+// conversation = CdmStore.createConversation();
+// conversation.registerForDataStoreChanges(TaxonNavigatorE4.this);
+// }
if (CdmStore.isActive()) {
// cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
CdmApplicationState.getCurrentDataChangeService().register(this);
* Refresh this navigators viewer
*/
public void refresh() {
- if(getConversationHolder() != null){
- getConversationHolder().bind();
- //FIXME : Need to make sure this is a stable fix (ticket 3822)
- if(!getConversationHolder().isCompleted()){
- getConversationHolder().commit();
- }
- }
+
if(!viewer.getTree().isDisposed()){
if (CdmStore.isActive()){
}
private void restore(IMemento memento, IProgressMonitor monitor) {
- root = new Root(conversation);
+ root = new Root();//conversation);
if (memento == null) {
viewer.setInput(root);
return;
subProgressMonitor.subTask(RESTORING_TAXON_NAVIGATOR);
subProgressMonitor.worked(1);
- conversation = CdmStore.createConversation();
+ //conversation = CdmStore.createConversation();
subProgressMonitor.worked(1);
- conversation.registerForDataStoreChanges(TaxonNavigatorE4.this);
+ //conversation.registerForDataStoreChanges(TaxonNavigatorE4.this);
subProgressMonitor.worked(1);
viewer.setInput(root);
subProgressMonitor.worked(1);
viewer.expandAll();
}
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
+
@PreDestroy
public void dispose() {
dataChangeBehavior = null;
- if (conversation != null) {
- conversation.unregisterForDataStoreChanges(this);
- conversation.close();
- }
+// if (conversation != null) {
+// conversation.unregisterForDataStoreChanges(this);
+// conversation.close();
+// }
if(CdmApplicationState.getCurrentDataChangeService() != null) {
CdmApplicationState.getCurrentDataChangeService().unregister(this);
}
@Focus
public void setFocus() {
- if (getConversationHolder() != null) {
- getConversationHolder().bind();
- }
+
}
public UISynchronize getSync() {
}
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- if (dataChangeBehavior == null) {
- dataChangeBehavior = new TaxonNavigatorDataChangeBehaviorE4(this);
- }
-
- DataChangeBridge.handleDataChange(changeEvents, dataChangeBehavior);
- updateSyncButton();
-
- }
+// @Override
+// public void update(CdmDataChangeMap changeEvents) {
+// if (dataChangeBehavior == null) {
+// dataChangeBehavior = new TaxonNavigatorDataChangeBehaviorE4(this);
+// }
+//
+// DataChangeBridge.handleDataChange(changeEvents, dataChangeBehavior);
+// updateSyncButton();
+//
+// }
public List<TaxonNodeDto> getRootEntities() {
if(root != null) {
CloneClassificationOperation operation = new CloneClassificationOperation(Messages.CloneClassificationHandler_CLONE_CLASSIFICATION,
StoreUtil.getUndoContext(), classification, classificationName, reference, relationType,
- taxonNavigator, taxonNavigator);
+ taxonNavigator);
AbstractUtility.executeOperation(operation, sync);
taxonNavigator.refresh();
if (selectedElement instanceof TaxonNode && !((TaxonNode)selectedElement).hasTaxon()) {
Classification classification = ((TaxonNode) selectedElement).getClassification();
try {
- CreateNewTaxonHierarchyOperation operation = new CreateNewTaxonHierarchyOperation(Messages.CreateClassificationHierarchyHandler_CREATE_HIERARCHY, StoreUtil.getUndoContext(),classification, taxonNavigator, taxonNavigator);
+ CreateNewTaxonHierarchyOperation operation = new CreateNewTaxonHierarchyOperation(Messages.CreateClassificationHierarchyHandler_CREATE_HIERARCHY, StoreUtil.getUndoContext(),classification, taxonNavigator);
AbstractUtility.executeOperation(operation, sync);
taxonNavigator.refresh();
} catch (Exception e) {
taxonNode,
config,
taxonNavigator,
- taxonNavigator,
null);
AbstractUtility.executeOperation(operation, sync);
treeNodes,
new TaxonDeletionConfigurator(),
taxonNavigator,
- taxonNavigator,
null);
AbstractUtility.executeOperation(operation, sync);
import org.eclipse.core.runtime.IStatus;
import eu.etaxonomy.cdm.api.application.ICdmRepository;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.DeleteResult;
import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
* @param label a {@link java.lang.String} object.
* @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
- * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
* @param treeNodes a {@link java.util.Set} object.
*/
public DeleteOperation(String label, IUndoContext undoContext,
TaxonNodeDto taxonNode, TaxonDeletionConfigurator config,
IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
- super(label, undoContext, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);
+ super(label, undoContext, postOperationEnabled, cdmEntitySessionEnabled);
this.taxonNode = taxonNode;
this.config = config;
this.cdmEntitySessionEnabled = cdmEntitySessionEnabled;
* @param label a {@link java.lang.String} object.
* @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
- * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
* @param treeNodes a {@link java.util.Set} object.
*/
public DeleteOperation(String label, IUndoContext undoContext,
Set<TaxonNodeDto> treeNodes, TaxonDeletionConfigurator config,
IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
- super(label, undoContext, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);
+ super(label, undoContext, postOperationEnabled, cdmEntitySessionEnabled);
this.treeNodes = treeNodes;
this.config = config;
this.cdmEntitySessionEnabled = cdmEntitySessionEnabled;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.config.SubtreeCloneConfigurator;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.api.service.UpdateResult;
public CloneClassificationOperation(String label, IUndoContext undoContext, Classification classification,
String classificationName, Reference sec, TaxonRelationshipType relationType,
- IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled) {
- super(label, undoContext, postOperationEnabled, conversationEnabled);
+ IPostOperationEnabled postOperationEnabled) {
+ super(label, undoContext, postOperationEnabled);
this.classification = classification;
this.classificationName = classificationName;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
* @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
* @param classification a {@link eu.etaxonomy.cdm.model.taxon.TaxonomicTree} object.
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
- * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
*/
public CreateClassification(String label, IUndoContext undoContext, Classification classification,
IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
ICdmEntitySessionEnabled cdmEntitiySessionEnabled) {
- super(label, undoContext, postOperationEnabled, conversationEnabled, cdmEntitiySessionEnabled);
+ super(label, undoContext, postOperationEnabled, cdmEntitiySessionEnabled);
this.classification = classification;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.api.service.UpdateResult;
import eu.etaxonomy.cdm.model.common.CdmBase;
* @param undoContext
*/
public CreateNewTaxonHierarchyOperation(String label, IUndoContext undoContext, Classification classification,
- IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled) {
- super(label, undoContext, postOperationEnabled, conversationEnabled);
+ IPostOperationEnabled postOperationEnabled) {
+ super(label, undoContext, postOperationEnabled);
this.classification = classification;
this.service = CdmStore.getService(IClassificationService.class);
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
IUndoContext undoContext,
PolytomousKey key,
IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
- super(label, undoContext, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);
+ super(label, undoContext, postOperationEnabled, cdmEntitySessionEnabled);
this.key = key;
}
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.model.name.TaxonName;
import eu.etaxonomy.cdm.model.taxon.Taxon;
* @param name a {@link eu.etaxonomy.cdm.model.name.TaxonNameBase} object.
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
* @param parentNode a {@link eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode} object.
- * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
*/
public CreateTaxonNode(String label,
IUndoContext undoContext,
TaxonNodeDto parentNode, TaxonName name,
IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
- ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
- super(label, undoContext, parentNode, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);
+ ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
+ super(label, undoContext, parentNode, postOperationEnabled, cdmEntitySessionEnabled);
newTaxon = Taxon.NewInstance(name, null);
}
* @param taxon a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object.
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
* @param parentNode a {@link eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode} object.
- * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
*/
public CreateTaxonNode(String label,
IUndoContext undoContext,
TaxonNodeDto parentNode,
Taxon taxon,
IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
- ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
- super(label, undoContext, parentNode, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);
+ ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
+ super(label, undoContext, parentNode, postOperationEnabled, cdmEntitySessionEnabled);
this.newTaxon = taxon;
}
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IMemento;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
* @since Sep 27, 2017
*
*/
-public class SearchResultViewE4 implements IConversationEnabled{
+public class SearchResultViewE4 {
private static Object[] EMPTY = new Object[0];
private TableViewer resultViewer;
- private ConversationHolder conversation;
-
private Text searchString;
private Text configurationLabel;
/** {@inheritDoc} */
@PostConstruct
public void createPartControl(Composite parent, EMenuService menuService) {
- if (CdmStore.isActive()){
- if(conversation == null){
- conversation = getConversation_internal();
- }
- }
- else{
- return;
- }
- contextListener = new ContextListener();
+ contextListener = new ContextListener();
CdmStore.getContextManager().addContextListener(contextListener);
GridLayout layout = new GridLayout();
@Focus
public void setFocus() {
//logger.warn("Setting focus to search result viewer");
- ConversationHolder conversation_internal = getConversation_internal();
- if(conversation_internal!=null){
- conversation_internal.bind();
- }
+
// pass focus to resultViewer
if(resultViewer!=null && resultViewer.getControl()!=null && !resultViewer.getControl().isDisposed()){
resultViewer.getControl().setFocus();
}
}
- /**
- * <p>getConversationHolder</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
- */
- @Override
- public ConversationHolder getConversationHolder() {
- return this.conversation;
- }
-
- /** {@inheritDoc} */
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- // TODO Auto-generated method stub
-
- }
+
/** {@inheritDoc} */
@PreDestroy
public void dispose() {
- if(conversation!=null){
- conversation.close();
- conversation = null;
- }
if(searchJob != null) {
searchJob.cancel();
}
}
- private ConversationHolder getConversation_internal(){
- if(conversation==null && CdmStore.isActive()){
- try {
- conversation = CdmStore.createConversation();
- } catch (Exception e) {
- //nothing
- }
- }
- return conversation;
- }
/**
*
import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.ui.IMemento;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.api.service.IVocabularyService;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
* @since Aug 22, 2017
*
*/
-public class DefinedTermEditorE4 implements IConversationEnabled, IDirtyMarkable, IPostOperationEnabled,
+public class DefinedTermEditorE4 implements IDirtyMarkable, IPostOperationEnabled,
IPartContentHasDetails, IPartContentHasSupplementalData, IE4SavablePart, IContextListener {
public static final String OPEN_COMMAND_ID = "eu.etaxonomy.taxeditor.store.openDefinedTermEditor"; //$NON-NLS-1$
protected TreeViewer viewer;
- protected ConversationHolder conversation;
-
- @Inject
+ @Inject
private ESelectionService selService;
@Inject
@PostConstruct
public void createPartControl(Composite parent, EMenuService menuService,
IEclipseContext context) {
- if (CdmStore.isActive()){
- if(conversation == null){
- conversation = CdmStore.createConversation();
- }
- }
- else{
- return;
- }
+
FillLayout layout = new FillLayout();
layout.marginHeight = 0;
layout.marginWidth = 0;
@Override
@Persist
public void save(IProgressMonitor monitor) {
- getConversationHolder().commit();
List<DefinedTermBase> terms = new ArrayList<>();
List<TermVocabulary> vocs = new ArrayList<>();
for(TermBase term:changedTerms){
if(viewer!=null && viewer.getControl() != null && !viewer.getControl().isDisposed()){
viewer.getControl().setFocus();
}
- if(conversation!=null){
- conversation.bind();
- }
- if(input!=null){
+ if(input!=null){
input.bind();
}
}
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
@Override
public void changed(Object element) {
if(element instanceof DefinedTermBase){
@PreDestroy
public void dispose() {
- if(conversation!=null){
- conversation.unregisterForDataStoreChanges(this);
- conversation.close();
- conversation = null;
- }
if(input!=null){
input.dispose();
}
if(principal instanceof User){
- PasswordWizard wizard = new PasswordWizard((User)principal, null);
+ PasswordWizard wizard = new PasswordWizard((User)principal);
WizardDialog dialog = new WizardDialog(shell, wizard);
dialog.open();
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
import eu.etaxonomy.cdm.api.application.ICdmRepository;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor;
import eu.etaxonomy.cdm.io.cdmLight.CdmLightExportConfigurator;
import eu.etaxonomy.cdm.io.common.CdmDefaultExport;
+ "Please check error log for details.", e);
}
- display.asyncExec(()-> {
- Object activePart = EventUtility.getActivePart();
- if (activePart instanceof IConversationEnabled) {
- // terminate any open transactions
- IConversationEnabled conversationEnabled = (IConversationEnabled) activePart;
- // restarting transaction and committing it to
- // trigger
- // change listener
- // TODO verify correct behaviour
-
- try{
- conversationEnabled.getConversationHolder()
- .startTransaction();
-
- conversationEnabled.getConversationHolder()
- .commit();
- }catch(RuntimeException e){
- MessagingUtils.messageDialog("Error starting conversation handling", this, "" +
- "Conversation Error: "+ e);
- }
- }
- });
+// display.asyncExec(()-> {
+// Object activePart = EventUtility.getActivePart();
+// if (activePart instanceof IConversationEnabled) {
+// // terminate any open transactions
+// IConversationEnabled conversationEnabled = (IConversationEnabled) activePart;
+// // restarting transaction and committing it to
+// // trigger
+// // change listener
+// // TODO verify correct behaviour
+//
+// try{
+// conversationEnabled.getConversationHolder()
+// .startTransaction();
+//
+// conversationEnabled.getConversationHolder()
+// .commit();
+// }catch(RuntimeException e){
+// MessagingUtils.messageDialog("Error starting conversation handling", this, "" +
+// "Conversation Error: "+ e);
+// }
+// }
+// });
monitor.worked(10);
return Status.OK_STATUS;
* @created 09.04.2009
* @version 1.0
*/
-public abstract class AbstractDataChangeBehaviour implements IDataChangeBehavior {
+public abstract class AbstractDataChangeBehaviour_ implements IDataChangeBehavior {
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.store.model.IDataChangeBehavior#reactOnDataChange(java.lang.Object, java.util.List)
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.swt.widgets.Display;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
/**
* @created Jun 1, 2010
*/
public abstract class AbstractNewEntityWizard<T>
- extends Wizard
- implements IConversationEnabled {
-
- protected ConversationHolder conversation;
+ extends Wizard {
protected CdmFormFactory formFactory;
@Override
public boolean performFinish() {
saveEntity();
-
- conversation.commit();
- conversation.close();
- conversation = null;
return true;
}
public void init(IWorkbench workbench, IStructuredSelection selection) {
formFactory = new CdmFormFactory(Display.getCurrent(), null);
- conversation = CdmStore.createConversation();
this.selection = selection;
entity = createNewEntity();
protected abstract T createNewEntity();
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
- @Override
- public void update(CdmDataChangeMap changeEvents) {}
-
public IStructuredSelection getSelection() {
return selection;
}
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.swt.widgets.Display;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* @created Jun 1, 2010
* @version 1.0
*/
-public abstract class AbstractNewEntityWizardParentChild<T> extends Wizard implements
- IConversationEnabled {
-
- private ConversationHolder conversation;
+public abstract class AbstractNewEntityWizardParentChild<T> extends Wizard {
protected CdmFormFactory formFactory;
return true;
}
saveEntity();
-
- conversation.commit();
- conversation.close();
- conversation = null;
-
finished = true;
return true;
}
/** {@inheritDoc} */
public void init(IWorkbench workbench, IStructuredSelection selection) {
formFactory = new CdmFormFactory(Display.getCurrent(), null);
- conversation = CdmStore.createConversation();
this.selection = selection;
createParentEntity();
}
-
-
protected abstract void createParentEntity();
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
- /** {@inheritDoc} */
- @Override
- public void update(CdmDataChangeMap changeEvents) {}
-
public IStructuredSelection getSelection() {
return selection;
}
*/
package eu.etaxonomy.taxeditor.newWizard;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.molecular.Amplification;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* @param conversation
* @param entity
*/
- public AmplificationGeneralWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, Amplification entity) {
- super(formFactory, conversation, entity);
+ public AmplificationGeneralWizardPage(CdmFormFactory formFactory, Amplification entity) {
+ super(formFactory, entity);
setTitle("General Amplification Data");
}
/** {@inheritDoc} */
@Override
public void addPages() {
- amplificationGeneralPage = new AmplificationGeneralWizardPage(formFactory, getConversationHolder(), getEntity());
+ amplificationGeneralPage = new AmplificationGeneralWizardPage(formFactory, getEntity());
addPage(amplificationGeneralPage);
}
@Override
public void addPages() {
- classificationWizardPage = new ClassificationWizardPage(formFactory, getConversationHolder(), getEntity());
+ classificationWizardPage = new ClassificationWizardPage(formFactory, getEntity());
addPage(classificationWizardPage);
}
/** {@inheritDoc} */
@Override
public void addPages() {
- addPage(new CollectionWizardPage(formFactory, getConversationHolder(), getEntity()));
+ addPage(new CollectionWizardPage(formFactory, getEntity()));
}
/* (non-Javadoc)
try {
if(getEntity() instanceof DerivedUnit) {
facade = DerivedUnitFacade.NewInstance((DerivedUnit)getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
- addPage(new DerivedUnitGeneralWizardPage(formFactory, getConversationHolder(), facade));
- addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade));
- addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade));
- addPage(new DerivedUnitBaseWizardPage(formFactory, getConversationHolder(), facade));
+ addPage(new DerivedUnitGeneralWizardPage(formFactory, facade));
+ addPage(new GatheringEventWizardPage(formFactory, facade));
+ addPage(new FieldUnitWizardPage(formFactory, facade));
+ addPage(new DerivedUnitBaseWizardPage(formFactory, facade));
}
else if(getEntity() instanceof FieldUnit){
facade = DerivedUnitFacade.NewInstance(SpecimenOrObservationType.FieldUnit, (FieldUnit)getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
- addPage(new FieldUnitGeneralWizardPage(formFactory, getConversationHolder(), facade));
- addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade));
- addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade));
+ addPage(new FieldUnitGeneralWizardPage(formFactory, facade));
+ addPage(new GatheringEventWizardPage(formFactory, facade));
+ addPage(new FieldUnitWizardPage(formFactory, facade));
}
} catch (DerivedUnitFacadeNotSupportedException e) {
// we should never get here
@Override
public void addPages() {
- vocabularyPage = new VocabularyWizardPage(formFactory, getConversationHolder(), getEntity());
+ vocabularyPage = new VocabularyWizardPage(formFactory, getEntity());
addPage(vocabularyPage);
}
@Override
public void addPages() {
- authorityPage = new GrantedAuthorityDetailWizardPage(formFactory, getConversationHolder(), getEntity());
+ authorityPage = new GrantedAuthorityDetailWizardPage(formFactory, getEntity());
super.addPage(authorityPage);
}
*/
@Override
public void addPages() {
- groupPage = new GroupDetailWizardPage(formFactory, getConversationHolder(), getEntity());
+ groupPage = new GroupDetailWizardPage(formFactory, getEntity());
super.addPage(groupPage);
}
@Override
public void addPages() {
- addPage(new InstitutionWizardPage(formFactory, getConversationHolder(), getEntity()));
+ addPage(new InstitutionWizardPage(formFactory, getEntity()));
}
@Override
/** {@inheritDoc} */
@Override
public void addPages() {
- addPage(new NonViralNameWizardPage(formFactory, getConversationHolder(), getEntity()));
+ addPage(new NonViralNameWizardPage(formFactory, getEntity()));
}
/** {@inheritDoc} */
/** {@inheritDoc} */
@Override
public void addPages() {
- addPage(new PersonWizardPage(formFactory, getConversationHolder(), getEntity()));
+ addPage(new PersonWizardPage(formFactory, getEntity()));
}
/** {@inheritDoc} */
@Override
public void addPages() {
- polytomousKeyPage = new PolytomousKeyWizardPage(formFactory, getConversationHolder(), getEntity());
+ polytomousKeyPage = new PolytomousKeyWizardPage(formFactory, getEntity());
super.addPage(polytomousKeyPage);
}
/** {@inheritDoc} */
@Override
public void addPages() {
- primerPage = new PrimerWizardPage(formFactory, getConversationHolder(), getEntity());
+ primerPage = new PrimerWizardPage(formFactory, getEntity());
addPage(primerPage);
}
@Override
public void init(IWorkbench workbench, IStructuredSelection selection) {
formFactory = new CdmFormFactory(Display.getCurrent(), null);
- conversation = CdmStore.createConversation();
this.selection = selection;
setEntity(createNewEntity());
public void addPages() {
// TODO disabling external service wizard page for now
// addPage(new ExternalReferenceServiceWizardPage(formFactory, getConversationHolder(), entity));
- referencePage = new ReferenceWizardPage(formFactory, getConversationHolder(), getEntity(), false);
+ referencePage = new ReferenceWizardPage(formFactory, getEntity(), false);
addPage(referencePage);
}
@Override
public void addPages() {
- taxonNodePage = new TaxonNodeWizardPage(formFactory, getConversationHolder(), getParentEntity(), wizardPageListener, true);
+ taxonNodePage = new TaxonNodeWizardPage(formFactory, getParentEntity(), wizardPageListener, true);
addPage(taxonNodePage);
}
if(taxon == null ){
openEmptyEditor = true;
}else{
- getConversationHolder().bind();
- try{
+ try{
UpdateResult result;
TaxonNode parent = getParentEntity();
/** {@inheritDoc} */
@Override
public void addPages() {
- addPage(new TaxonWizardPage(formFactory, getConversationHolder(), getEntity()));
- addPage(new NonViralNameWizardPage(formFactory, getConversationHolder(), getEntity().getName()));
+ addPage(new TaxonWizardPage(formFactory, getEntity()));
+ addPage(new NonViralNameWizardPage(formFactory, getEntity().getName()));
}
/** {@inheritDoc} */
/** {@inheritDoc} */
@Override
public void addPages() {
- addPage(new TeamWizardPage(formFactory, getConversationHolder(), getEntity(), isNomenclaturalTeam, isCollectorTeam));
+ addPage(new TeamWizardPage(formFactory, getEntity(), isNomenclaturalTeam, isCollectorTeam));
}
/* (non-Javadoc)
@Override
public void addPages() {
- userPage = new UserDetailWizardPage(formFactory, getConversationHolder(), getEntity());
+ userPage = new UserDetailWizardPage(formFactory, getEntity());
addPage(userPage);
}
*/
package eu.etaxonomy.taxeditor.newWizard;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
*/
public class PolytomousKeyWizardPage extends AbstractCdmEntityWizardPage<PolytomousKey> {
- public PolytomousKeyWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, PolytomousKey entity) {
- super(formFactory, conversation, entity);
+ public PolytomousKeyWizardPage(CdmFormFactory formFactory, PolytomousKey entity) {
+ super(formFactory, entity);
}
@Override
*/
package eu.etaxonomy.taxeditor.newWizard;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.molecular.Primer;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* @param conversation
* @param entity
*/
- public PrimerWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, Primer entity) {
- super(formFactory, conversation, entity);
+ public PrimerWizardPage(CdmFormFactory formFactory, Primer entity) {
+ super(formFactory, entity);
setTitle("General Primer Data");
}
*/
package eu.etaxonomy.taxeditor.newWizard;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
*/
public class VocabularyWizardPage extends AbstractCdmEntityWizardPage<TermVocabulary> {
- public VocabularyWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, TermVocabulary entity) {
- super(formFactory, conversation, entity);
+ public VocabularyWizardPage(CdmFormFactory formFactory, TermVocabulary entity) {
+ super(formFactory, entity);
setTitle("General Vocabulary Data");
}
package eu.etaxonomy.taxeditor.operation;
import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IStatus;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
* @version 1.0
*/
public abstract class AbstractPersistentPostOperation extends AbstractPostTaxonOperation {
- private final IConversationEnabled conversationEnabled;
-
protected TaxonNodeDto parentNode;
/**
* @param label a {@link java.lang.String} object.
* @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
- * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
*/
protected AbstractPersistentPostOperation(String label, IUndoContext undoContext,
- IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled) {
- this(label, undoContext, postOperationEnabled, conversationEnabled, null);
+ IPostOperationEnabled postOperationEnabled) {
+ this(label, undoContext, postOperationEnabled, null);
}
/**
* @param label a {@link java.lang.String} object.
* @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
- * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
*/
protected AbstractPersistentPostOperation(String label, IUndoContext undoContext,
IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
super(label, undoContext, postOperationEnabled, cdmEntitySessionEnabled);
- this.conversationEnabled = conversationEnabled;
}
/**
* @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
* @param taxonNode a {@link eu.etaxonomy.cdm.model.taxon.TaxonNode} object.
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
- * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
*/
public AbstractPersistentPostOperation(String label,
IUndoContext undoContext, TaxonNodeDto taxonNode,
IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
super(label, undoContext, taxonNode, postOperationEnabled, cdmEntitySessionEnabled);
- this.conversationEnabled = conversationEnabled;
-
}
/**
* @param label a {@link java.lang.String} object.
* @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
- * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
* @param parentNode a {@link eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode} object.
*/
public AbstractPersistentPostOperation(String label,
IUndoContext undoContext,
IPostOperationEnabled postOperationEnabled,
- IConversationEnabled conversationEnabled,
- ICdmEntitySessionEnabled cdmEntitySessionEnabled, TaxonNodeDto parentNode) {
+ ICdmEntitySessionEnabled cdmEntitySessionEnabled, TaxonNodeDto parentNode) {
super(label, undoContext, postOperationEnabled, cdmEntitySessionEnabled);
this.parentNode = parentNode;
- this.conversationEnabled = conversationEnabled;
-
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected IStatus postExecute(Object objectAffectedByOperation) {
- Assert.isNotNull(conversationEnabled, "Operation has to have a valid conversation attached.");
-
-
- if (!conversationEnabled.getConversationHolder().isClosed()){
- conversationEnabled.getConversationHolder().bind();
- conversationEnabled.getConversationHolder().commit(true);
- }
IStatus status = super.postExecute(objectAffectedByOperation);
-
return status;
}
* Binds the conversation that was attached to this operation.
*/
public void bind(){
- conversationEnabled.getConversationHolder().bind();
if(getCdmEntitySessionEnabled() != null && getCdmEntitySessionEnabled().getCdmEntitySession()!=null) {
getCdmEntitySessionEnabled().getCdmEntitySession().bind();
}
import org.osgi.service.prefs.BackingStoreException;
import org.osgi.service.prefs.Preferences;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
* @since 05.10.2018
*
*/
-public class AvailableDistributionPerAreaStatusWizard extends Wizard implements IConversationEnabled{
- private ConversationHolder conversation;
+public class AvailableDistributionPerAreaStatusWizard extends Wizard {
private final AvailableDistributionPerAreaStatusPage aPage;
List<CdmPreference> prefs;
private boolean isAdmin;
return true;
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
-
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- if (conversation == null) {
- conversation = CdmStore.createConversation();
- }
- return conversation;
- }
-
}
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.persistence.dto.TermDto;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.l10n.Messages;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
* @since 19.11.2018
*
*/
-public class AvailableDistributionStatusAdminWizard extends Wizard implements IConversationEnabled{
- private ConversationHolder conversation;
+public class AvailableDistributionStatusAdminWizard extends Wizard {
+
private final AvailableDistributionStatusPage aPage;
CdmPreference pref;
return true;
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
-
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- if (conversation == null) {
- conversation = CdmStore.createConversation();
- }
- return conversation;
- }
+
}
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.term.TermType;
* @since 05.10.2018
*
*/
-public class AvailableDistributionStatusWizard extends Wizard implements IConversationEnabled{
- private ConversationHolder conversation;
+public class AvailableDistributionStatusWizard extends Wizard {
+
private final AvailableDistributionStatusPage aPage;
CdmPreference pref;
return true;
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
-
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- if (conversation == null) {
- conversation = CdmStore.createConversation();
- }
- return conversation;
- }
-
+
}
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.l10n.Messages;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* @author k.luther
* @since 04.06.2018
*
*/
-public class AvailableVocabularyWizard extends Wizard implements IConversationEnabled {
+public class AvailableVocabularyWizard extends Wizard {
- private ConversationHolder conversation;
private final AvailableAreaVocabulariesPage aPage;
private boolean localPref = true;
private CdmPreference pref;
return true;
}
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- if (conversation == null) {
- conversation = CdmStore.createConversation();
- }
- return conversation;
- }
-
+
}
import org.eclipse.jface.wizard.Wizard;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
import eu.etaxonomy.cdm.model.term.Representation;
* @created 12.06.2009
* @version 1.0
*/
-public class VocabularyTermWizard<T extends DefinedTermBase> extends Wizard implements IConversationEnabled {
+public class VocabularyTermWizard<T extends DefinedTermBase> extends Wizard {
public T term = null;
private Class<T> termClass;
- private ConversationHolder conversation;
-
/**
* <p>Constructor for VocabularyTermWizard.</p>
*
* @param vocabularyClass a {@link java.lang.Class} object.
*/
- public VocabularyTermWizard(Class<T> vocabularyClass, ConversationHolder conversation){
- this.conversation = conversation;
+ public VocabularyTermWizard(Class<T> vocabularyClass){
termClass = vocabularyClass;
}
* @param vocabularyClass a {@link java.lang.Class} object.
* @param selectedTerm a T object.
*/
- public VocabularyTermWizard(Class<T> vocabularyClass, T selectedTerm, ConversationHolder conversation){
- this(vocabularyClass, conversation);
+ public VocabularyTermWizard(Class<T> vocabularyClass, T selectedTerm){
+ this(vocabularyClass);
term = (T) CdmStore.getService(ITermService.class).load(selectedTerm.getUuid());
editMode = true;
}
}else{
TermStore.saveTerm(getTerm());
}
-
- getConversationHolder().commit(true);
-
+
return true;
}
*/
public Class<T> getTermClass() {
return termClass;
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
- */
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- // not needed
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder()
- */
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
+ }
}
import org.springframework.security.core.context.SecurityContextHolder;
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.util.CdmUserHelper;
import eu.etaxonomy.cdm.api.util.RoleProberImpl;
import eu.etaxonomy.cdm.api.util.UserHelper;
* @created 03.07.2009
* @version 1.0
*/
-public class LoginManager extends Observable implements IConversationEnabled, IContextListener{
+public class LoginManager extends Observable implements IContextListener{
public static final Logger logger = LogManager.getLogger(LoginManager.class);
- private ConversationHolder conversation;
+// private ConversationHolder conversation;
public static final String INCORRECT_CREDENTIALS_MESSAGE = "Login and/or Password incorrect";
public static final String ACCOUNT_LOCKED_MESSAGE = "Account is locked";
notifyObservers();
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
- */
- @Override
- public void update(CdmDataChangeMap arg) {}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder()
- */
- @Override
- public ConversationHolder getConversationHolder() {
- if(conversation == null){
- conversation = CdmStore.createConversation();
- }
- return conversation;
- }
-
+
/**
* Whether the current user has the role admin
*
@Override
public void contextStart(IMemento memento, IProgressMonitor monitor){
- conversation = CdmStore.createConversation();
+ //conversation = CdmStore.createConversation();
}
@Override
public void contextRefresh(IProgressMonitor monitor) {
- conversation = CdmStore.createConversation();
+ //conversation = CdmStore.createConversation();
}
@Override
private static final int MAX_RESULTS_BEFORE_WARNING = 500;
- public List<TaxonName> findNames(IIdentifiableEntityServiceConfigurator configurator, ConversationHolder conversation){
+ public List<TaxonName> findNames(IIdentifiableEntityServiceConfigurator configurator){
List<TaxonName> records = CdmStore.getService(INameService.class).findByFullTitle(configurator.getClazz(), configurator.getTitleSearchStringSqlized(), configurator.getMatchMode(), configurator.getCriteria(), configurator.getPageSize(), configurator.getPageNumber(), configurator.getOrderHints(), configurator.getPropertyPaths());
return records;
}
if (uuidList == null || uuidList.isEmpty()){
return terms;
}
- Set<UUID> alreadyAdded = new HashSet<>();
- Set<UUID> temp = new HashSet<>();
+
for (T term : terms){
if(uuidList.contains(term.getUuid())){
filteredTerms.add(term);
- alreadyAdded.add(term.getUuid());
}
}
return filteredTerms;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IMemento;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITermNodeService;
import eu.etaxonomy.cdm.api.service.ITermTreeService;
import eu.etaxonomy.cdm.api.service.UpdateResult;
public class TermTreeEditor<T extends DefinedTermBase>
implements ITermTreeEditor, ISelectionChangedListener,
IE4ViewerPart, IPartContentHasDetails, IPartContentHasSupplementalData,
- IContextListener, IConversationEnabled, IDirtyMarkable {
+ IContextListener, IDirtyMarkable {
public static final String OPEN_COMMAND_ID = "eu.etaxonomy.taxeditor.store.openTermTreeEditor";
"root.children.onlyApplicableIf.state", //$NON-NLS-1$
});
- private ConversationHolder conversation;
-
private ICdmEntitySession cdmEntitySession;
@Inject
}
private void initSession(){
- if(conversation == null){
- conversation = CdmStore.createConversation();
- }
if(cdmEntitySession==null){
cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
}
}
private void clearSession() {
- if(conversation!=null){
- conversation.close();
- conversation = null;
- }
if(cdmEntitySession != null) {
cdmEntitySession.dispose();
cdmEntitySession = null;
if(viewer!=null){
viewer.getControl().setFocus();
}
- if(conversation!=null && !conversation.isBound()){
- conversation.bind();
- }
if(cdmEntitySession != null) {
cdmEntitySession.bind();
}
return (IStructuredSelection) viewer.getSelection();
}
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
+
@Override
@Persist
public void save(IProgressMonitor monitor){
- if (!conversation.isBound()) {
- conversation.bind();
- }
-
- // commit the conversation and start a new transaction immediately
+
+
ISelection sel = this.viewer.getSelection();
- conversation.commit(true);
+
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);
- conversation.commit(true);
+
this.setDirty(false);
initializeTrees();
this.viewer.setSelection(sel);
public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
}
- @Override
- public void update(CdmDataChangeMap arg0) {
- }
-
@Override
public void changed(Object element) {
dirty.setDirty(true);
@SuppressWarnings("unchecked")
@Override
public void proposalAccepted(IContentProposal proposal) {
- setSelection((T)combo.getData(proposal.getContent()));
+ setSelection((T)combo.getData(proposal.getContent()));
firePropertyChangeEvent(new CdmPropertyChangeEvent(getComboElement(), null));
}
});
import org.eclipse.ui.IMemento;
import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.term.IEnumTerm;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
* @created 18.07.2013
*/
public abstract class AbstractFilteredCdmEnumSelectionDialog<T extends IEnumTerm> extends
- FilteredItemsSelectionDialog implements IConversationEnabled {
-
- private ConversationHolder conversation;
+ FilteredItemsSelectionDialog {
protected List<T> model;
private String settings;
* @param <T> a T object.
*/
protected AbstractFilteredCdmEnumSelectionDialog(Shell shell,
- ConversationHolder conversation,
String title,
boolean multi,
String settings,
setTitle(title);
setMessage("Use * for wildcard, or ? to see all entries");
this.settings = settings;
-
- this.conversation = conversation;
-
init();
initModel();
T entity = (T) wizard.getEntity();
refresh();
- setPattern(entity);
- getConversationHolder().bind();
+ setPattern(entity);
}
}
};
}
- /**
- * <p>getConversationHolder</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
- */
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
- @Override
- public void update(CdmDataChangeMap changeEvents) {}
+
}
\ No newline at end of file
* @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
* @return a {@link eu.etaxonomy.cdm.model.reference.OriginalSourceType} object.
*/
- public static OriginalSourceType select(Shell shell, ConversationHolder conversation){
+ public static OriginalSourceType select(Shell shell){
OriginalSourceTypeSelectionDialog dialog =
- new OriginalSourceTypeSelectionDialog(shell,
- conversation,
+ new OriginalSourceTypeSelectionDialog(shell,
"Choose Original Source Type",
false,
OriginalSourceTypeSelectionDialog.class.getCanonicalName());
* @param settings a {@link java.lang.String} object.
*/
protected OriginalSourceTypeSelectionDialog(Shell shell,
- ConversationHolder conversation,
String title,
boolean multi,
String settings) {
- super(shell, conversation, title, multi, settings, OriginalSourceType.PrimaryTaxonomicSource);
+ super(shell, title, multi, settings, OriginalSourceType.PrimaryTaxonomicSource);
}
* @author k.luther
* @date 15.11.2017d
*/
-public abstract class SearchDialog<T extends ICdmBase> extends Dialog{// implements IConversationEnabled{
+public abstract class SearchDialog<T extends ICdmBase> extends Dialog{
private TableViewer list;
private Text searchField;
public static SpecimenOrObservationType select(Shell shell, ConversationHolder conversation){
SpecimenOrObservationTypeSelectionDialog dialog =
new SpecimenOrObservationTypeSelectionDialog(shell,
- conversation,
"Choose Specimen / Observation Type",
false,
SpecimenOrObservationTypeSelectionDialog.class.getCanonicalName());
* @param settings a {@link java.lang.String} object.
*/
protected SpecimenOrObservationTypeSelectionDialog(Shell shell,
- ConversationHolder conversation,
String title,
boolean multi,
String settings) {
- super(shell, conversation, title, multi, settings, SpecimenOrObservationType.Unknown);
+ super(shell, title, multi, settings, SpecimenOrObservationType.Unknown);
}
import org.eclipse.ui.forms.widgets.ScrolledForm;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
/**
* @created Jun 1, 2010
*/
public abstract class AbstractCdmEntityWizardPage<T> extends WizardPage
- implements IConversationEnabled, IPropertyChangeListener {
+ implements IPropertyChangeListener {
protected CdmFormFactory formFactory;
protected T entity;
AbstractCdmDetailElement<T> detailElement;
- private final ConversationHolder conversation;
-
+
/**
* <p>
* Constructor for AbstractCdmEntityWizardPage.
* @param <T>
* a T object.
*/
- protected AbstractCdmEntityWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, T entity) {
+ protected AbstractCdmEntityWizardPage(CdmFormFactory formFactory, T entity) {
super("page");
this.formFactory = formFactory;
this.entity = entity;
- this.conversation = conversation;
setDescription(getEntityTitle());
formFactory.addPropertyChangeListener(this);
layout.bottomMargin = 25;
control.setLayout(layout);
WizardPageRootElement rootElement = new WizardPageRootElement(
- formFactory, control, getConversationHolder());
+ formFactory, control);
Color bgColor = getShell().getBackground();
public abstract AbstractCdmDetailElement<T> createElement(
ICdmFormElement rootElement);
- protected class WizardPageRootElement extends RootElement implements
- IConversationEnabled {
-
- private final ConversationHolder conversation;
+ protected class WizardPageRootElement extends RootElement {
- public WizardPageRootElement(CdmFormFactory formFactory,
- Composite layoutComposite, ConversationHolder conversation) {
+ public WizardPageRootElement(CdmFormFactory formFactory, Composite layoutComposite) {
super(formFactory, layoutComposite);
- this.conversation = conversation;
+
}
@Override
detailElement = createElement(this);
((Composite) getControl()).layout();
}
-
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- }
+
}
@Override
return true;
}
- /**
- * <p>
- * getConversationHolder
- * </p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
- * object.
- */
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
+
/** {@inheritDoc} */
@Override
public void dispose() {
return detailElement;
}
- /** {@inheritDoc} */
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- }
+
}
import org.eclipse.ui.forms.widgets.TableWrapLayout;
import org.eclipse.ui.forms.widgets.ToggleHyperlink;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
//TODO shouldn't ENTITY be bound with super class ICdmBase for example (AbstractFormSection<ENTITY extends ICdmBase>)?
public abstract class AbstractFormSection<ENTITY>
extends Section
- implements ISelectionChangedListener, IEntityElement<ENTITY>, IConversationEnabled {
+ implements ISelectionChangedListener, IEntityElement<ENTITY> {
/**
* The default number of columns in detail sections
// empty default implementation
}
- @Override
- public ConversationHolder getConversationHolder() {
- if(AbstractUtility.getActivePart() instanceof IConversationEnabled){
- return ((IConversationEnabled) AbstractUtility.getActivePart()).getConversationHolder();
- }
- if(getParentElement() instanceof RootElement || getParentElement() == null){
-
- Object activeEditor = AbstractUtility.getActiveEditor();
- if(activeEditor instanceof IConversationEnabled){
- ConversationHolder conversation = ((IConversationEnabled) AbstractUtility.getActiveEditor()).getConversationHolder();
- return conversation;
- }
- }else if(getParentElement() instanceof IConversationEnabled){
- return ((IConversationEnabled) getParentElement()).getConversationHolder();
- }
- MessagingUtils.error(getClass(), "Could not get conversation for AbstractFormSection. There is an error in the implementation. There should have been an active editor but it wasn't",
- new IllegalArgumentException());
- return null;
-
- }
-
- @Override
- public void update(CdmDataChangeMap changeEvents) {
-
- }
-
}
return element;
}
- public EditPasswordElement createEditPasswordElement(ICdmFormElement parentElement, String labelString,
- ConversationHolder conversation, User user, int style) {
- EditPasswordElement element = new EditPasswordElement(this, parentElement, labelString, user, conversation);
+ public EditPasswordElement createEditPasswordElement(ICdmFormElement parentElement, String labelString, User user, int style) {
+ EditPasswordElement element = new EditPasswordElement(this, parentElement, labelString, user);
adapt(element);
parentElement.addElement(element);
return element;
combo_language = formFactory.createDefinedTermComboElement(TermType.Language, formElement,
"", null, false, style);
combo_language.addSelectionListener(this);
-
+
button = formFactory.createButton(getLayoutComposite(),
"Open In Translation Editor", SWT.PUSH);
addControl(button);
}
}
- private void updateControls() {
+ public void updateControls() {
LanguageString preferredLanguageString = MultilanguageTextHelper
.getPreferredLanguageString(getMultilanguageText(),
Arrays.asList(new Language[] { CdmStore
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Label;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.permission.User;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
*/
public class EditPasswordElement
extends AbstractCdmFormElement
- implements SelectionListener, IConversationEnabled{
+ implements SelectionListener{
private User user;
private Button button;
- private ConversationHolder conversation;
-
public EditPasswordElement(CdmFormFactory formFactory,
- ICdmFormElement formElement, String labelString, User user, ConversationHolder conversation) {
+ ICdmFormElement formElement, String labelString, User user) {
super(formFactory, formElement);
- this.conversation = conversation;
this.user = user;
Label label = formFactory.createLabel(getLayoutComposite(), null);
if(!CdmStore.getService(IUserService.class).userExists(user.getUsername())) {
MessagingUtils.warningDialog(Messages.EditPasswordElement_USERNAME_DOES_NOT_EXIST, this, String.format(Messages.EditPasswordElement_PLEASE_CREATE_OR_SAVE_USER, user.getUsername()));
} else {
- PasswordWizard wizard = new PasswordWizard(user, conversation);
+ PasswordWizard wizard = new PasswordWizard(user);
WizardDialog dialog = new WizardDialog(getLayoutComposite().getShell(), wizard);
dialog.open();
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {}
- @Override
- public void update(CdmDataChangeMap arg0) {}
-
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
+
}
\ No newline at end of file
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.core.AuthenticationException;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.permission.User;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.l10n.Messages;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
* @created Mar 10, 2011
* @version 1.0
*/
-public class PasswordWizard extends Wizard implements IConversationEnabled{
+public class PasswordWizard extends Wizard {
private PasswordWizardPage passwordPage;
private final User user;
- private final ConversationHolder conversation;
-
+
/**
* @param user the user to change the password for
* @param conversation this optional parameter can be null. Only supply conversation if you
* need to run this wizard is a nested conversation
*/
- public PasswordWizard(User user, ConversationHolder conversation){
- this.conversation = conversation;
+ public PasswordWizard(User user){
this.user = user;
setWindowTitle(Messages.PasswordWizardPage_CHANGE_PASSWORD);
}
public void addPages() {
CdmFormFactory formFactory = new CdmFormFactory(Display.getDefault());
- passwordPage = new PasswordWizardPage(formFactory, getConversationHolder(), user);
+ passwordPage = new PasswordWizardPage(formFactory, user);
addPage(passwordPage);
}
@Override
public boolean performFinish() {
- ConversationHolder internalConversation = CdmStore.getCurrentApplicationConfiguration().NewConversation();
- internalConversation.bind();
- internalConversation.startTransaction();
String warningTitle = Messages.PasswordWizard_COULD_NOT_CHANGE_PWD;
String warningMessage = Messages.PasswordWizard_OLD_PWD_INCORRECT;
try{
if (user.equals(CdmStore.getLoginManager().getAuthenticatedUser())){
CdmStore.getLoginManager().authenticate(user.getUsername(), passwordPage.getNewPassword());
}
- internalConversation.commit(false);
- internalConversation.unbind();
- internalConversation.close();
- return true;
+ return true;
}catch(AccessDeniedException e){
MessagingUtils.warningDialog(warningTitle, this, warningMessage);
return false;
}catch(Exception e){
MessagingUtils.warningDialog(Messages.PasswordWizard_PROBLEM_WITH_CHANGING_PWD, this, Messages.PasswordWizard_PWD_COULD_NOT_BE_CHANGED + e.getMessage());
return false;
- }finally{
- if(conversation != null){
- conversation.bind();
- }
}
}
- @Override
- public void update(CdmDataChangeMap arg0) {
- }
-
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
+
}
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.permission.User;
import eu.etaxonomy.taxeditor.l10n.Messages;
import eu.etaxonomy.taxeditor.store.CdmStore;
private TextWithLabelElement text_passwordRepeat;
private final PasswordValidator passwordValidator;
- protected PasswordWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, User entity) {
- super(formFactory, conversation, entity);
+ protected PasswordWizardPage(CdmFormFactory formFactory, User entity) {
+ super(formFactory, entity);
passwordValidator = new PasswordValidator();
setPageComplete(false);
control.setLayout(LayoutConstants.LAYOUT(2, false));
- WizardPageRootElement rootElement = new WizardPageRootElement(formFactory, control, getConversationHolder());
+ WizardPageRootElement rootElement = new WizardPageRootElement(formFactory, control);
if(isChangingOwnPassword()) {
text_oldPassword = formFactory.createTextWithLabelElement(rootElement, Messages.PasswordWizardPage_OLD_PASSWORD, null, SWT.PASSWORD);
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.common.CdmUtils;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.name.TaxonName;
MessagingUtils.error(event.getSource().getClass(), event.getException());
}
- @Override
- public ConversationHolder getConversationHolder() {
- if (getParentElement() instanceof IConversationEnabled) {
- return ((IConversationEnabled) getParentElement())
- .getConversationHolder();
- }
- throw new IllegalArgumentException(
- "Parent element should be IConversationEnabled");
- }
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- }
@Override
public void update(Observable o, Object arg){
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.common.CdmUtils;
import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
*/
public abstract class AbstractEntityCollectionElement<ENTITY>
extends AbstractCdmFormElement
- implements IEntityElement<ENTITY>, SelectionListener,
- IConversationEnabled, IEnableableFormElement {
+ implements IEntityElement<ENTITY>, SelectionListener, IEnableableFormElement {
protected ENTITY entity;
return box;
}
- @Override
- public ConversationHolder getConversationHolder() {
- if (getParentElement() instanceof IConversationEnabled) {
- return ((IConversationEnabled) getParentElement())
- .getConversationHolder();
- }
- throw new IllegalArgumentException(
- "Parent element should be IConversationEnabled");
- }
-
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- }
-
public void setWarnForReferencedObjects(LabelElement warnForReferencedObjects) {
this.warnForReferencedObjects = warnForReferencedObjects;
}
*/
package eu.etaxonomy.taxeditor.ui.section;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
import eu.etaxonomy.taxeditor.ui.element.IEntityElement;
* @date 30.07.2013
*/
public interface ICdmDetailElement<T>
- extends IEntityElement<T>, IEnableableFormElement, IConversationEnabled{
+ extends IEntityElement<T>, IEnableableFormElement{
public abstract void setEntity(T entity);
}
\ No newline at end of file
package eu.etaxonomy.taxeditor.ui.section.agent;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.agent.Institution;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* @param conversation
* @param entity
*/
- public InstitutionWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, Institution entity) {
- super(formFactory, conversation, entity);
+ public InstitutionWizardPage(CdmFormFactory formFactory, Institution entity) {
+ super(formFactory, entity);
}
/*
import org.apache.commons.lang3.StringUtils;
import org.eclipse.swt.SWT;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
* @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
* @param entity a {@link eu.etaxonomy.cdm.model.agent.Person} object.
*/
- public PersonWizardPage(CdmFormFactory formFactory, ConversationHolder conversation,
- Person entity) {
- super(formFactory, conversation, entity);
+ public PersonWizardPage(CdmFormFactory formFactory, Person entity) {
+ super(formFactory, entity);
setTitle("Person");
}
import org.eclipse.swt.SWT;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* @param entity
* a {@link eu.etaxonomy.cdm.model.agent.Team} object.
*/
- public TeamWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, Team entity, boolean isNomenclaturalTeam, boolean isCollectorTeam) {
- super(formFactory, conversation, entity);
+ public TeamWizardPage(CdmFormFactory formFactory, Team entity, boolean isNomenclaturalTeam, boolean isCollectorTeam) {
+ super(formFactory, entity);
setTitle("Team");
setIsNomenclaturalTeam(isNomenclaturalTeam);
setIsCollectorTeam(isCollectorTeam);
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
/**
* @author k.luther
* @date 23.03.2016
*
*/
-public abstract class AbstractEditWizard<T> extends Wizard implements
-INewWizard, IConversationEnabled{
-
- private ConversationHolder conversation;
+public abstract class AbstractEditWizard<T> extends Wizard implements INewWizard{
protected CdmFormFactory formFactory;
@Override
public boolean performFinish() {
saveEntity();
-
- conversation.commit();
- conversation.close();
return true;
}
@Override
public void init(IWorkbench workbench, IStructuredSelection selection) {
formFactory = new CdmFormFactory(context.get(Shell.class).getDisplay());
- conversation = CdmStore.createConversation();
}
-
-
-
- /**
- * <p>getConversationHolder</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
- */
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
- /** {@inheritDoc} */
- @Override
- public void update(CdmDataChangeMap changeEvents) {}
+
}
package eu.etaxonomy.taxeditor.ui.section.classification;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* a {@link eu.etaxonomy.cdm.model.taxon.TaxonomicTree} object.
*/
public ClassificationWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, Classification entity) {
- super(formFactory, conversation, entity);
+ Classification entity) {
+ super(formFactory, entity);
setTitle("Classification");
}
private CloneClassificationWizardPage cloneClassificationWizardPage;
- private ConversationHolder conversationHolder;
-
private CdmFormFactory formFactory;
private String classificationName;
@Inject
public CloneClassificationWizard() {
super();
- conversationHolder = CdmStore.createConversation();
-
}
public void init(Classification classification){
formFactory = new CdmFormFactory(context.get(Shell.class).getDisplay());
- cloneClassificationWizardPage = new CloneClassificationWizardPage(formFactory, conversationHolder, classification);
+ cloneClassificationWizardPage = new CloneClassificationWizardPage(formFactory, classification);
addPage(cloneClassificationWizardPage);
}
package eu.etaxonomy.taxeditor.ui.section.classification;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
private CloneClassificationDetailElement detailElement;
- public CloneClassificationWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, Classification entity) {
- super(formFactory, conversation, entity);
+ public CloneClassificationWizardPage(CdmFormFactory formFactory, Classification entity) {
+ super(formFactory, entity);
setTitle("Clone Classification");
}
@Override
protected void saveEntity() {
- getConversationHolder().bind();
TaxonNode node = getEntity();
if (node.getSource().checkEmpty()){
node.setSource(null);
}
@Override
public void addPages() {
- taxonNodePage = new TaxonNodeWizardPage(formFactory, getConversationHolder(), getEntity(), wizardPageListener, false);
+ taxonNodePage = new TaxonNodeWizardPage(formFactory, getEntity(), wizardPageListener, false);
addPage(taxonNodePage);
}
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.dto.CreateTaxonDTO;
import eu.etaxonomy.cdm.common.CdmUtils;
import eu.etaxonomy.cdm.model.taxon.Taxon;
private final boolean isCreateNew;
public TaxonNodeWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, TaxonNode entity, IWizardPageListener closeOnEnterListener, boolean isCreateNew) {
- super(formFactory, conversation, entity);
+ TaxonNode entity, IWizardPageListener closeOnEnterListener, boolean isCreateNew) {
+ super(formFactory, entity);
this.wizardPageListener = closeOnEnterListener;
if (isCreateNew){
*/
package eu.etaxonomy.taxeditor.ui.section.grantedAuthority;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.permission.GrantedAuthorityImpl;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
*/
public class GrantedAuthorityDetailWizardPage extends AbstractCdmEntityWizardPage<GrantedAuthorityImpl> {
- public GrantedAuthorityDetailWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, GrantedAuthorityImpl entity) {
- super(formFactory, conversation, entity);
+ public GrantedAuthorityDetailWizardPage(CdmFormFactory formFactory, GrantedAuthorityImpl entity) {
+ super(formFactory, entity);
setTitle("Granted Authority");
}
package eu.etaxonomy.taxeditor.ui.section.group;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.permission.Group;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* @param conversation
* @param entity
*/
- public GroupDetailWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, Group entity) {
- super(formFactory, conversation, entity);
+ public GroupDetailWizardPage(CdmFormFactory formFactory, Group entity) {
+ super(formFactory, entity);
setTitle("Group");
}
removeSourcesControls();
removeNotDesignatedControls();
if (this.entity != null && this.entity.hasDesignationSource()){
- if (singleSourceElement == null){
-
+ if (singleSourceElement == null){
singleSourceElement = formFactory.createOriginalSourceElement(formElement, entity, "Status Reference");
-// selection_reference = formFactory
-// .createSelectionElement(Reference.class, formElement, "Status Reference",
-// entity.getCitation(), EntitySelectionElement.ALL, style);
-//
-// text_referenceDetail = formFactory.createTextWithLabelElement(
-// formElement, "Reference Detail", entity.getCitationMicroReference(), style);
-
}
+ singleSourceElement.setEntity(entity.getDesignationSource(true));
}else{
if (singleSourceElement != null){
removeReferenceControls();
this.entity.setCitationMicroReference(null);
}
}
- }
- if (entity.hasDesignationSource()){
- singleSourceElement.setEntity(entity.getDesignationSource(true));
- }
+ }
checkbox_notDesignated = formFactory.createCheckbox(formElement, "Not Designated", entity.isNotDesignated(), style);
sourceSection = formFactory.createSourceSection(formElement, StoreUtil.getSectionStyle(SourceSection.class, IdentifiableSource.class.getCanonicalName()));
sourceSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
import org.eclipse.jface.wizard.Wizard;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.name.NameRelationship;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
/**
* @created Jun 1, 2010
* @version 1.0
*/
-public class NameRelationshipWizard extends Wizard implements IConversationEnabled{
+public class NameRelationshipWizard extends Wizard {
private static NameRelationshipDetailSection callingSection;
public NameRelationship getNameRelationship() {
return page.getNameRelationship();
}
-
- /**
- * <p>getConversationHolder</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
- */
- @Override
- public ConversationHolder getConversationHolder() {
- return callingSection.getConversationHolder();
- }
-
- /** {@inheritDoc} */
- @Override
- public void update(CdmDataChangeMap changeEvents) {}
-
-
}
package eu.etaxonomy.taxeditor.ui.section.name;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.name.TaxonName;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
* @param entity a {@link eu.etaxonomy.cdm.model.name.NonViralName} object.
*/
- public NonViralNameWizardPage(CdmFormFactory formFactory, ConversationHolder conversation,
- TaxonName entity) {
- super(formFactory, conversation, entity);
+ public NonViralNameWizardPage(CdmFormFactory formFactory, TaxonName entity) {
+ super(formFactory, entity);
setTitle("Name");
}
*/
package eu.etaxonomy.taxeditor.ui.section.occurrence;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
* @param entity a {@link eu.etaxonomy.cdm.model.occurrence.Collection} object.
*/
- public CollectionWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, Collection entity) {
- super(formFactory, conversation, entity);
+ public CollectionWizardPage(CdmFormFactory formFactory, Collection entity) {
+ super(formFactory, entity);
setPageComplete(true);
}
package eu.etaxonomy.taxeditor.ui.section.occurrence;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
*/
public class DerivedUnitBaseWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
- public DerivedUnitBaseWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, DerivedUnitFacade entity) {
- super(formFactory, conversation, entity);
+ public DerivedUnitBaseWizardPage(CdmFormFactory formFactory, DerivedUnitFacade entity) {
+ super(formFactory, entity);
setTitle("Derived Unit Details");
setPageComplete(true);
}
package eu.etaxonomy.taxeditor.ui.section.occurrence;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
*/
public class DerivedUnitGeneralWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
- public DerivedUnitGeneralWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, DerivedUnitFacade entity) {
- super(formFactory, conversation, entity);
+ public DerivedUnitGeneralWizardPage(CdmFormFactory formFactory, DerivedUnitFacade entity) {
+ super(formFactory, entity);
setTitle("General Specimen Data");
}
*/
package eu.etaxonomy.taxeditor.ui.section.occurrence;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* @param conversation
* @param entity
*/
- public FieldUnitGeneralWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, DerivedUnitFacade entity) {
- super(formFactory, conversation, entity);
+ public FieldUnitGeneralWizardPage(CdmFormFactory formFactory, DerivedUnitFacade entity) {
+ super(formFactory, entity);
setTitle("General FieldUnit Data");
}
package eu.etaxonomy.taxeditor.ui.section.occurrence;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
*/
public class FieldUnitWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
- public FieldUnitWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, DerivedUnitFacade entity) {
- super(formFactory, conversation, entity);
+ public FieldUnitWizardPage(CdmFormFactory formFactory, DerivedUnitFacade entity) {
+ super(formFactory, entity);
setTitle("Field Unit Details");
setPageComplete(true);
}
package eu.etaxonomy.taxeditor.ui.section.occurrence;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
*/
public class GatheringEventWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
- public GatheringEventWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, DerivedUnitFacade entity) {
- super(formFactory, conversation, entity);
+ public GatheringEventWizardPage(CdmFormFactory formFactory, DerivedUnitFacade entity) {
+ super(formFactory, entity);
setTitle("Gathering Event Details");
setPageComplete(true);
}
import org.eclipse.swt.SWT;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
*/
public class TaxonWizardPage extends AbstractCdmEntityWizardPage<TaxonBase<?>> {
- public TaxonWizardPage(CdmFormFactory formFactory, ConversationHolder conversation,
- TaxonBase<?> entity) {
- super(formFactory, conversation, entity);
+ public TaxonWizardPage(CdmFormFactory formFactory, TaxonBase<?> entity) {
+ super(formFactory, entity);
setTitle("Taxon");
}
if (userIsAuthenticated() || CdmStore.getLoginManager().isUserManager() || CdmStore.getLoginManager().isAdmin() ) {
formFactory.createEditPasswordElement(
- formElement, "Change Password", getConversationHolder(),
- entity, style);
+ formElement, "Change Password", entity, style);
}
text_emailAdress = formFactory.createTextWithLabelElement(formElement,
*/
package eu.etaxonomy.taxeditor.ui.section.user;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.permission.User;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
*/
public class UserDetailWizardPage extends AbstractCdmEntityWizardPage<User> {
- public UserDetailWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, User entity) {
- super(formFactory, conversation, entity);
+ public UserDetailWizardPage(CdmFormFactory formFactory, User entity) {
+ super(formFactory, entity);
setTitle("User");
}
rootElement = service.load(entity.getUuid());
}
if (rootElement.isInstanceOf(Reference.class)&& selectionElement instanceof EntitySelectionElementWithAbbreviatedTitle<?>) {
- addPage(new ReferenceWizardPage(formFactory,
- selectionElement.getConversationHolder(),
+ addPage(new ReferenceWizardPage(formFactory,
HibernateProxyHelper.deproxy(rootElement, Reference.class), true));
} else if (rootElement.isInstanceOf(Reference.class) ) {
addPage(new ReferenceWizardPage(formFactory,
- selectionElement.getConversationHolder(), HibernateProxyHelper.deproxy(rootElement, Reference.class), false));
+ HibernateProxyHelper.deproxy(rootElement, Reference.class), false));
} else if (rootElement.isInstanceOf(Team.class) && (selectionElement instanceof EntitySelectionElementWithAbbreviatedTitle<?> )) {
addPage(new TeamWizardPage(formFactory,
- selectionElement.getConversationHolder(), HibernateProxyHelper.deproxy(rootElement, Team.class), true, false));
+ HibernateProxyHelper.deproxy(rootElement, Team.class), true, false));
} else if (rootElement.isInstanceOf(Team.class) && (selectionElement.getClass().equals(CollectorSelectionElement.class)) ){
addPage(new TeamWizardPage(formFactory,
- selectionElement.getConversationHolder(), HibernateProxyHelper.deproxy(rootElement, Team.class), false, true));
+ HibernateProxyHelper.deproxy(rootElement, Team.class), false, true));
} else if (rootElement.isInstanceOf(Team.class) && (selectionElement instanceof EntitySelectionElement<?>)) {
addPage(new TeamWizardPage(formFactory,
- selectionElement.getConversationHolder(), HibernateProxyHelper.deproxy(rootElement, Team.class), false, false));
+ HibernateProxyHelper.deproxy(rootElement, Team.class), false, false));
} else if (rootElement.isInstanceOf(Person.class)) {
addPage(new PersonWizardPage(formFactory,
- selectionElement.getConversationHolder(), HibernateProxyHelper.deproxy(rootElement, Person.class)));
+ HibernateProxyHelper.deproxy(rootElement, Person.class)));
} else if (rootElement.isInstanceOf(TaxonName.class)) {
addPage(new NonViralNameWizardPage(formFactory,
- selectionElement.getConversationHolder(),
HibernateProxyHelper.deproxy(rootElement, TaxonName.class)));
} else if (rootElement.isInstanceOf(TaxonBase.class)) {
addPage(new TaxonWizardPage(formFactory,
- selectionElement.getConversationHolder(),
HibernateProxyHelper.deproxy(rootElement, TaxonBase.class)));
} else if (rootElement.isInstanceOf(SpecimenOrObservationBase.class)) {
throw new IllegalStateException();
}
- addPage(new DerivedUnitGeneralWizardPage(formFactory,
- selectionElement.getConversationHolder(), facade));
- addPage(new GatheringEventWizardPage(formFactory,
- selectionElement.getConversationHolder(), facade));
- addPage(new FieldUnitWizardPage(formFactory,
- selectionElement.getConversationHolder(), facade));
+ addPage(new DerivedUnitGeneralWizardPage(formFactory,facade));
+ addPage(new GatheringEventWizardPage(formFactory, facade));
+ addPage(new FieldUnitWizardPage(formFactory, facade));
if(facade.innerDerivedUnit()!=null){
- addPage(new DerivedUnitBaseWizardPage(formFactory,
- selectionElement.getConversationHolder(), facade));
+ addPage(new DerivedUnitBaseWizardPage(formFactory, facade));
}
} else if (rootElement.isInstanceOf(Collection.class)) {
- addPage(new CollectionWizardPage(formFactory,
- selectionElement.getConversationHolder(),
+ addPage(new CollectionWizardPage(formFactory,
HibernateProxyHelper.deproxy(rootElement, Collection.class)));
} else if (rootElement instanceof Institution) {
addPage(new InstitutionWizardPage(formFactory,
- selectionElement.getConversationHolder(),
HibernateProxyHelper.deproxy(rootElement, Institution.class)));
} else if (rootElement instanceof User) {
addPage(new UserDetailWizardPage(formFactory,
- selectionElement.getConversationHolder(),
HibernateProxyHelper.deproxy(rootElement, User.class)));
} else if (rootElement instanceof Primer) {
addPage(new PrimerWizardPage(formFactory,
- selectionElement.getConversationHolder(),
HibernateProxyHelper.deproxy(rootElement, Primer.class)));
} else if (rootElement instanceof Amplification) {
addPage(new AmplificationGeneralWizardPage(formFactory,
- selectionElement.getConversationHolder(),
HibernateProxyHelper.deproxy(rootElement, Amplification.class)));
} else if (rootElement instanceof PolytomousKey) {
addPage(new PolytomousKeyWizardPage(formFactory,
- selectionElement.getConversationHolder(),
HibernateProxyHelper.deproxy(rootElement, PolytomousKey.class)));
} else {
MessagingUtils.warningDialog("Missing interface", this,
import org.eclipse.ui.forms.widgets.TableWrapData;\r
import org.springframework.security.core.GrantedAuthority;\r
\r
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;\r
import eu.etaxonomy.cdm.api.service.IService;\r
import eu.etaxonomy.cdm.common.CdmUtils;\r
import eu.etaxonomy.cdm.model.common.CdmBase;\r
public void widgetDefaultSelected(SelectionEvent e) {\r
}\r
\r
-// @Override\r
- public ConversationHolder getConversationHolder() {\r
- if(getParentElement() instanceof IConversationEnabled) {\r
- return ((IConversationEnabled)getParentElement()).getConversationHolder();\r
- }\r
- return null;\r
- }\r
+\r
\r
@Override\r
public void setBackground(Color color) {\r
*
* @param <T> the CDM type that will be handled by this view
*/
-public abstract class DataImportView<T> implements IPartContentHasFactualData,
-IConversationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData, IContextListener, Listener, IEditorAreaPart{
+public abstract class DataImportView<T> implements IPartContentHasFactualData, IPartContentHasDetails, IPartContentHasSupplementalData, IContextListener, Listener, IEditorAreaPart{
protected final Logger logger = LogManager.getLogger(DataImportView.class);
protected OccurenceQuery query;
- private static ConversationHolder conversationHolder;
-
private SaveImportedSpecimenAction saveImportedSpecimenAction;
-// private Text textClassification;
-
-// private Classification classification;
-
protected Text textReferenceString;
private Button selectAllButton;
- //private Button selectNoneButton;
private Button importButton;
private Abcd206ImportConfigurator config;
-// public Classification getClassification() {
-// return classification;
-// }
-//
-// public void setClassification(Classification classification) {
-// this.classification = classification;
-// }
-
private Button btnBrowseClassification;
private Button btnClear;
*/
@PostConstruct
public void createPartControl(Composite parent) {
- if(CdmStore.isActive()){
- initConversation();
- }
- else{
- return;
- }
+
parent.setLayout(new GridLayout(1, false));
Composite composite = new Composite(parent, SWT.NONE);
composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
public abstract void query();
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- //nothing
- }
-
/**
* Returns the text label of the given item.
* @param item the item for which the label should be returns
if(getTable()!=null){
getTable().setFocus();
}
- //make sure to bind again if maybe in another view the conversation was unbound
- if(getConversationHolder()!=null && !getConversationHolder().isBound()){
- getConversationHolder().bind();
- }
+
}
@Override
@Override
public void contextStart(IMemento memento, IProgressMonitor monitor) {
- initConversation();
- }
-
- private void initConversation(){
- if(conversationHolder==null){
- conversationHolder = CdmStore.createConversation();
- }
+
}
@Override
public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
- if(getConversationHolder()!=null && getConversationHolder().isBound() && !getConversationHolder().isClosed()) {
- getConversationHolder().close();
- }
+
}
- /**
- * @return the conversationHolder
- */
- @Override
- public ConversationHolder getConversationHolder() {
- if(CdmStore.isActive() && conversationHolder==null){
- initConversation();
- }
- return conversationHolder;
- }
+
@Override
public void handleEvent(Event event) {
@Override
protected IStatus run(IProgressMonitor monitor) {
- view.getConversationHolder().bind();
view.query();
Display.getDefault().asyncExec(new Runnable() {
* @date 18.07.2017
*
*/
-public abstract class AbstractCdmDataViewer extends Viewer implements IConversationEnabled{
+public abstract class AbstractCdmDataViewer extends Viewer {
@Inject
private Logger logger;
formFactory.addPropertyChangeListener(sectionPart);
}
- @Override
- public ConversationHolder getConversationHolder() {
- return null;
- }
+
}
* @since Aug 10, 2017
*/
public abstract class AbstractCdmEditorPartE4
- implements IConversationEnabled, IDirtyMarkable, ISelectionElementEditingPart, IPostOperationEnabled{
+ implements IDirtyMarkable, ISelectionElementEditingPart, IPostOperationEnabled{
private static final Logger logger = LogManager.getLogger(AbstractCdmEditorPartE4.class);
private MPart thisPart;
public DelaySelection(Object selection, MPart activePart, MPart thisPart) {
- super();
this.selection = selection;
this.activePart= activePart;
this.thisPart = thisPart;
delaySelection.setActivePart(activePart);
delaySelection.setThisPart(thisPart);
}
+ //as long as the delay thread is running,
if(!isInDelay){
+ System.err.println("test: "+ this.getViewName()+ " - " + isInDelay);
isInDelay = true;
sync.asyncExec(delaySelection);
previousSelection = selection;
+ System.err.println("after running delay: "+ this.getViewName()+ " - " + isInDelay);
+ }else {
+ System.err.println("another time: " + this.getViewName()+ " - " + isInDelay);
}
}
return structuredSelection;
}
- @Override
- public ConversationHolder getConversationHolder() {
- if(selectionProvidingPart != null && selectionProvidingPart instanceof IConversationEnabled) {
- return ((IConversationEnabled) selectionProvidingPart).getConversationHolder();
- }
- return null;
- }
@Override
public boolean postOperation(Object objectAffectedByOperation) {
changed(objectAffectedByOperation);
-// Object part = selectionProvidingPart.getObject();
-// if (part instanceof IBulkEditor){
-// ((IBulkEditor)part).setSelection(createSelection(objectAffectedByOperation));
-// }
return true;
}
}
- @Override
- public void update(CdmDataChangeMap arg0) {
- }
-
@Override
public void forceDirty() {
}
import org.eclipse.swt.SWTException;
import org.eclipse.swt.widgets.Composite;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.taxeditor.l10n.Messages;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
showEmptyPage();
return;
}
- if(!(partObject instanceof ISelectionElementEditingPart) &&
- partObject instanceof IConversationEnabled && ((IConversationEnabled) partObject).getConversationHolder()==null) {
- //TODO show specific message (refactor EmptyElement to allow specific messages)
- showEmptyPage();
- return;
- }
+
// do not show details for feature nodes TODO strange check to avoid having shown the distribution map for every FeatureNodeContainer
if(structuredSelection.getFirstElement() instanceof FeatureNodeContainer){
// do show the map for distributions
viewer.setSelection(structuredSelection, false);
showViewer(structuredSelection, activePart, viewer);
-
-
-
+
return;
}
else{
addPart(termMediaSection);
}
- @Override
- public void update(CdmDataChangeMap arg0) {
-
- }
+
@Inject
@Optional
private void updateView(@UIEventTopic(WorkbenchEventConstants.REFRESH_DETAILS)boolean refresh){
addPart(cdmBaseSection);
}
- @Override
- public void update(CdmDataChangeMap arg0) {
- }
+
@Inject
@Optional
private static Map<DerivedUnit, Collection<SpecimenTypeDesignation>> typeDesignations;
- private ConversationHolder conversation;
+// private ConversationHolder conversation;
private static DefinedTerm photoTerm = null;
private static DefinedTerm drawingTerm = null;
return getDerivateText(element);
}
- public void setConversation(ConversationHolder conversation) {
- this.conversation = conversation;
- }
-
- public String getDerivateText(Object element){
- return getDerivateText(element, conversation);
- }
-
//Note AM: not sure what this method is really used for, why do we need an explicit
// formatting for those few use-cases where this is used?
- public static String getDerivateText(Object element, ConversationHolder conversation){
+ public static String getDerivateText(Object element){
//TODO: use list of strings to assemble labels to avoid adding the separator every time and to allow null values
TreeNode parentNode = null;
TreeNode node = null;
derivate = node.getValue();
}
- if(conversation!=null){
- conversation.bind();
- }
-
final String emptyString = StringUtils.EMPTY;
final String separator = " ";