import java.io.FileOutputStream;
import java.io.IOException;
+import java.util.List;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.Group;
+import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery;
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
+import eu.etaxonomy.taxeditor.bulkeditor.input.GroupEditorInput;
+import eu.etaxonomy.taxeditor.bulkeditor.input.TaxonEditorInput;
import eu.etaxonomy.taxeditor.editor.ITaxonEditor;
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
import eu.etaxonomy.taxeditor.model.IDerivedUnitFacadePart;
import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.workbench.part.IE4SavablePart;
getEditorInput().addSaveCandidate(changedTaxon);
input.replaceInModel(changedTaxon);
}
+ }else if(element instanceof Group){
+ Group oldGroup = ((GroupEditorInput)input).getEntityFromModel((Group)element);
+ ((GroupEditorInput)input).getSaveUserCandidates().addAll(oldGroup.getMembers());
+ getEditorInput().addSaveCandidate((Group)element);
+ input.replaceInModel((CdmBase) element);
}else{
getEditorInput().addSaveCandidate((CdmBase)element);
input.replaceInModel((CdmBase) element);
return null;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void update() {
+ input.performSearch(lastQuery, getSelection());
+ }
+
+ @Override
+ public void addOperation(AbstractPostOperation operation) {
+ // operations not yet used for bulk editor
+ }
+
+ @Inject
+ @Optional
+ private void updateView(@UIEventTopic(WorkbenchEventConstants.REFRESH_NAME_EDITOR) List<CdmBase> cdmBases) {
+ if (getEditorInput() instanceof TaxonEditorInput){
+ for (CdmBase cdmBase: cdmBases){
+ if (getEditorInput().getModel().contains(cdmBase)){
+ input.performSearch(lastQuery, getSelection());
+ break;
+ }
+ }
+ }
+ }
+
+ @Inject
+ @Optional
+ private void updatefromDelete(@UIEventTopic(WorkbenchEventConstants.REMOVE_USER) User user) {
+ if (input instanceof GroupEditorInput){
+ ((GroupEditorInput)input).getSaveUserCandidates().add(user);
+ }
+ }
+
}