import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IViewPart;
import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.texteditor.ITextEditorActionConstants;
import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineDocumentProvider;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
+import eu.etaxonomy.taxeditor.bulkeditor.referencingobjects.ReferencingObjectsView;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
@Override
public void doSave(IProgressMonitor progressMonitor) {
isDirty = false;
+ IViewPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+ .findView("eu.etaxonomy.taxeditor.bulkeditor.view.referencingobjects");
+ if (part != null){
+ ((ReferencingObjectsView)part).dispose();
+ }
super.doSave(progressMonitor);
+
+ selectFirstItem();
+ if (part != null){
+ ((ReferencingObjectsView)part).refresh();
+
+ }
+ getSourceViewer().getTextWidget().setFocus();
+
}
/** {@inheritDoc} */
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.IViewReference;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.texteditor.IDocumentProvider;
+import org.eclipse.ui.IWorkbenchPage;
import eu.etaxonomy.cdm.api.service.DeleteResult;
import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+import eu.etaxonomy.taxeditor.bulkeditor.referencingobjects.ReferencingObjectsView;
+
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
} catch (Exception e){
MessagingUtils.messageDialog("Exception occured. Could not delete", getClass(), e.getMessage(), null);
}
- if (result.isError()){
+ if (result.isError() || !result.getExceptions().isEmpty()){
if (!result.getExceptions().isEmpty()) {
MessagingUtils.messageDialog("Could not delete", getClass(), result.getExceptions().get(0).getMessage(), null);
}else{
}
}
- if (result.isOk()){
+ if (result.isOk() && result.getExceptions().isEmpty()){
((BulkEditor) editor).removeAnnotatedLine(annotation);
-
- System.out.println("Test");
+
}
}
}
import eu.etaxonomy.cdm.api.service.ICommonService;
import eu.etaxonomy.cdm.api.service.IIdentifiableEntityService;
import eu.etaxonomy.cdm.model.agent.AgentBase;
+import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
final Display display = Display.getCurrent();
- // Job job = new Job("Update Referencing Objects") {
+ //Job job = new Job("Update Referencing Objects") {
//
// @Override
// protected IStatus run(IProgressMonitor monitor) {
try {
if(entity instanceof CdmBase){
referencedObject = (CdmBase) entity;
- if (referencedObject instanceof AgentBase){
+ if (referencedObject instanceof TeamOrPersonBase){
referencedObject = CdmStore.getService(IAgentService.class).load(referencedObject.getUuid());
}
//referencedObject =(CdmBase) CdmStore.getService(IIdentifiableEntityService.class).load(referencedObject.getUuid());
Set<CdmBase> setOfReferencingObjects = CdmStore.getService(ICommonService.class).getReferencingObjects(referencedObject);
-
- List<CdmBase> referencingObjects = new ArrayList<CdmBase>(setOfReferencingObjects);
-
- Collections.sort(referencingObjects, new ReferencingClassComparator());
-
- return referencingObjects;
+ if (setOfReferencingObjects != null){
+ List<CdmBase> referencingObjects = new ArrayList<CdmBase>(setOfReferencingObjects);
+
+ Collections.sort(referencingObjects, new ReferencingClassComparator());
+
+ return referencingObjects;
+ }
}
} catch (Exception e) {
logger.error("Error retrieving referencing objects", e);
selectionService.removePostSelectionListener(this);
selectionService.removeSelectionListener(this);
super.dispose();
+
}
/* (non-Javadoc)
public boolean onComplete() {
return false;
}
+
+ public void refresh(){
+ selectionService.removePostSelectionListener(this);
+ selectionService.removeSelectionListener(this);
+ selectionService.addPostSelectionListener(this);
+ selectionService.addSelectionListener(this);
+
+ }
}