taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/EntityListener.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/IEntityContainer.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/IEntityCreator.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/IEntityCreatorService.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/IEntityPersistenceService.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/ILineDisplayStrategy.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/ILineSelectionSource.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/IdentifiableEntityComparator.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/LineAnnotation.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/LineAnnotationModel.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/LineSelectionSource.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/handler/DeleteObjectHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/handler/NewObjectHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorEntityCreatorService.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorLineDisplay.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorMarkerPreferenceComposite.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorSearchComposite.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorSortMenuProvider.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorQuery.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorSearch.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorSortCombo.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorUtil.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorViewerConfiguration.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IBulkEditorConstants.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IBulkEditorQuery.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IBulkEditorSortMenuProvider.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/NameCreator.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/OccurrenceCreator.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/ReferenceCreator.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/TeamOrPersonCreator.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IBulkEditorSortProvider.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/BulkEditorInputTypeValues.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/BulkEditorPropertyTester.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DeleteObjectContributionItem.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicMarkerTypeEditingMenu.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicNewObjectMenu.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/SetMarkerContributionItems.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/MergeGroupHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/OpenBulkEditorHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/RemoveMergeCandidateHandler.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/SetMarkerFlagFalseHandler.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/SetMarkerFlagTrueHandler.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/SetMarkerFlagHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/SetMergeCandidateHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/SetMergeTargetHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/ShowReferencingObjectsHandler.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameRelationshipEditorInput.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/ReferenceEditorInput.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/AgentCreator.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/OccurrenceCreator.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/ReferenceCreator.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/sortprovider/AbstractDateComparator.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/sortprovider/AbstractSortProvider.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/sortprovider/CdmBaseSortProvider.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/sortprovider/IdentifiableEntitySortProvider.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/sortprovider/ReferenceSortProvider.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/sortprovider/TitleCacheComparator.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/internal/TaxeditorBulkeditorPlugin.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/operation/SetMarkerFlagOperation.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/preference/BulkEditorGeneralPreferencePage.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/preference/BulkEditorMarkerPreferencePage.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsContentProvider.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsLabelProvider.java -text
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenParentHandler.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SaveAllHandler.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SaveTaxonHandler.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/ShowDetailsViewHandler.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/ShowMediaViewHandler.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/ShowSupplementalDataViewHandler.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/ShowTaxonDescriptionsViewHandler.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/create/NewNameHandler.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/create/NewPersonHandler.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/create/NewReferenceHandler.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/PolytomousKeyNodeSelectionElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/PolytomousKeySelectionElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/ReferenceSelectionElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/SynonymSelectionElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/TaxonBaseSelectionElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/TaxonNodeSelectionElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/TaxonSelectionElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/TeamSelectionElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/AbstractEnumComboElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/AbstractTermComboElement.java -text
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/handler/NewClassificationHandler.java -text
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/handler/NewTaxonNodeHandler.java -text
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/handler/RefreshTreeHandler.java -text
-taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/handler/ShowPolytomousKeysViewHandler.java -text
-taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/handler/ShowTaxonomicTreeViewHandler.java -text
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/internal/TaxeditorNavigationPlugin.java -text
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/PolytomousKeyContentProvider.java -text
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/PolytomousKeyLabelProvider.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/featuretree/FeatureTreeLabelProvider.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/featuretree/SelectFeatureTreeWizard.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/featuretree/SelectFeatureTreeWizardPage.java -text
-taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowDataSourceViewHandler.java -text
-taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowErrorViewHandler.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowLoginWindowHandler.java -text
-taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowUserManagerViewHandler.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/identificationkey/AbstractIdentificaitonKeyWizard.java -text
-taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractIOHandler.java -text
-taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ExportHandler.java -text
-taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ImportHandler.java -text
+taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractIOManager.java -text
+taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ExportManager.java -text
+taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ImportManager.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbcdImportWizard.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbstractExcelExportWizard.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbstractExcelImportWizard.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/TaxonRelationshipTypeMenuPreferences.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/VocabularyTermWizard.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/VocabularyTermWizardPage.java -text
+taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/reporting/ReportingViewPart.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStoreConnector.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/ContextManager.java -text
</menuContribution>\r
<menuContribution\r
locationURI="popup:#BulkEditorContext">\r
- <command\r
- commandId="taxeditor-bulkeditor.dynamicnewobjectcommand"\r
- label="New"\r
- style="push">\r
- </command>\r
<separator\r
name="taxeditor-bulkeditor.separator1"\r
visible="true">\r
name="taxeditor-bulkeditor.separator3"\r
visible="true">\r
</separator>\r
+ <menu\r
+ label="New">\r
+ <dynamic\r
+ class="eu.etaxonomy.taxeditor.bulkeditor.command.DynamicNewObjectMenu"\r
+ id="eu.etaxonomy.taxeditor.bulkeditor.dynamicNewMenu">\r
+ </dynamic>\r
+ </menu>\r
+ <menu\r
+ label="Set Marker Type">\r
+ <dynamic\r
+ class="eu.etaxonomy.taxeditor.bulkeditor.command.DynamicMarkerTypeEditingMenu"\r
+ id="eu.etaxonomy.taxeditor.bulkeditor.dynamicMarkerTypeEditingMenu">\r
+ </dynamic>\r
+ </menu>\r
</menuContribution>\r
</extension>\r
<extension\r
type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor">\r
</propertyTester>\r
</extension>\r
- <extension\r
- point="org.eclipse.ui.menus">\r
- <menuContribution\r
- locationURI="popup:#BulkEditorContext?after=taxeditor-bulkeditor.separator2">\r
- <dynamic\r
- class="eu.etaxonomy.taxeditor.bulkeditor.command.SetMarkerContributionItems"\r
- id="taxeditor-bulkeditor.dynamic1">\r
- </dynamic>\r
- </menuContribution>\r
- </extension>\r
<extension\r
point="org.eclipse.ui.commands">\r
<command\r
- defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.SetMarkerFlagTrueHandler"\r
- id="taxeditor-bulkeditor.command.setMarkerFlagTrue"\r
- name="Set Marker Flag True">\r
- </command>\r
- <command\r
- defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.SetMarkerFlagFalseHandler"\r
- id="taxeditor-bulkeditor.command.setMarkerFlagFalse"\r
- name="Set Marker Flag False">\r
+ defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.SetMarkerFlagHandler"\r
+ id="taxeditor-bulkeditor.command.setMarkerFlag"\r
+ name="Set Marker Flag">\r
</command>\r
</extension>\r
<extension\r
</with>\r
</activeWhen>\r
</handler>\r
+ </extension>\r
+ <extension\r
+ point="org.eclipse.ui.preferencePages">\r
+ <page\r
+ category="eu.etaxonomy.taxeditor.preferences.bulkeditor.general"\r
+ class="eu.etaxonomy.taxeditor.bulkeditor.preference.BulkEditorMarkerPreferencePage"\r
+ id="eu.etaxonomy.taxeditor.preferences.bulkeditor.markerTypes"\r
+ name="Marker Types">\r
+ </page>\r
+ <page\r
+ category="eu.etaxonomy.taxeditor.preferences.general"\r
+ class="eu.etaxonomy.taxeditor.bulkeditor.preference.BulkEditorGeneralPreferencePage"\r
+ id="eu.etaxonomy.taxeditor.preferences.bulkeditor.general"\r
+ name="Bulk Editor">\r
+ </page>\r
</extension>
<!-- start set marker -->\r
\r
// Create model as necessary
if (annotationModel == null) {
annotationModel = new LineAnnotationModel(getLineDisplayStrategy(element));
- annotationModel.setEntityCreator(getEntityCreator(element));
+ annotationModel.setEntityCreator(getEntityCreator(input));
}
return annotationModel;
}
Position position = new Position(docLength, text.length());
IAnnotationModel model = getAnnotationModel(element);
- model.addAnnotation(annotation, position);
+ if(model != null){
+ model.addAnnotation(annotation, position);
+ }
// lineDisplayStrategy.addDisplayListener(entity,
// new EntityListenerImpl((LineAnnotation) annotation, element));
BulkEditorUtil.error(getClass(), "Problem updating annotated line: " ,e);
}
}
-
-// class EntityListenerImpl extends EntityListener {
-//
-// private LineAnnotation lineAnnotation;
-// private Object element;
-//
-// EntityListenerImpl(LineAnnotation lineAnnotation, Object element) {
-// this.lineAnnotation = lineAnnotation;
-// this.element = element;
-// }
-// /* (non-Javadoc)
-// * @see eu.etaxonomy.taxeditor.annotatedlineeditor.EntityDisplayListener#updateDisplay()
-// */
-// @Override
-// protected void updateEntity() {
-// lineAnnotation.setDirty(true);
-// updateLineFromAnnotation(element, lineAnnotation);
-// }
-// }
/**
* @param element
*/
private List<?> getEntityList(Object element) {
if (element instanceof AbstractBulkEditorInput) {
- return ((AbstractBulkEditorInput)element).listEntities();
+ return ((AbstractBulkEditorInput)element).getModel();
}
return null;
}
// enables copy & paste
return false;
}
-
- /**
- * <p>Setter for the field <code>entityCreator</code>.</p>
- *
- * @param entityCreator a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator} object.
- * @param element a {@link java.lang.Object} object.
- */
- public void setEntityCreator(IEntityCreator<?> entityCreator, Object element) {
- if (element instanceof IEditorInput) {
- this.entityCreator = entityCreator;
- }
- }
/**
* <p>Getter for the field <code>entityCreator</code>.</p>
* @param element a {@link java.lang.Object} object.
* @return a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator} object.
*/
- public IEntityCreator<?> getEntityCreator(Object element) {
- if (element instanceof IEditorInput) {
-// Assert.isNotNull(entityCreator, "No IEntityCreator set for this element.");
- return entityCreator;
+ public IEntityCreator<?> getEntityCreator(IEditorInput input) {
+ if (input instanceof AbstractBulkEditorInput) {
+ entityCreator = ((AbstractBulkEditorInput) input).getEntityCreator();
}
- return null;
+ return entityCreator;
}
/**
*/
package eu.etaxonomy.taxeditor.annotatedlineeditor;
+import java.util.Iterator;
+
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.source.IAnnotationModel;
import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.jface.text.source.IVerticalRuler;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.editors.text.TextEditor;
+import org.eclipse.ui.texteditor.IDocumentProvider;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
* <p>
* Extending classes must set:
* <ul>
- * <li>an <code>IEntityCreator</code> to create a new domain object when the user creates a new line;
- * <li>an <code>IEntityPersistenceService</code> for interacting with the persistence layer; and
- * <li>an <code>ILineDisplayStrategy</code> for various visual manifestations of the domain object.
+ * <li>an {@link IEntityPersistenceService} for interacting with the persistence layer; and
+ * <li>an {@link ILineDisplayStrategy} for various visual manifestations of the domain object.
* </ul>
*
* @author p.ciardelli
private IEntityPersistenceService persistenceService;
protected ILineDisplayStrategy lineDisplayStrategy;
- private IEntityCreatorService entityCreatorService;
- private IEntityCreator<?> entityCreator;
/**
protected void doSetInput(IEditorInput input) throws CoreException {
AnnotatedLineDocumentProvider provider = createAnnotatedLineDocumentProvider();
- if (entityCreatorService != null) {
- provider.setEntityCreator(entityCreatorService.getEntityCreator(input), input);
- } else {
- provider.setEntityCreator(entityCreator, input);
- }
+
provider.setLineDisplayStrategy(lineDisplayStrategy, input);
setDocumentProvider(provider);
return new AnnotatedLineDocumentProvider(getEditorInput());
}
- /**
- * <p>Setter for the field <code>entityCreatorService</code>.</p>
- *
- * @param entityCreatorService a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreatorService} object.
- */
- protected void setEntityCreatorService(IEntityCreatorService entityCreatorService) {
- this.entityCreatorService = entityCreatorService;
- }
-
- /**
- * <p>Setter for the field <code>entityCreator</code>.</p>
- *
- * @param entityCreator a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator} object.
- */
- protected void setEntityCreator(IEntityCreator entityCreator) {
- this.entityCreator = entityCreator;
- }
/**
* <p>Setter for the field <code>persistenceService</code>.</p>
public LineAnnotation createAnnotatedLineNewObject() {
// Create new object
- Object entity = ((AnnotatedLineDocumentProvider) getDocumentProvider()).
- getEntityCreator(getEditorInput()).createEntity(null);
+
+ AnnotatedLineDocumentProvider documentProvider = (AnnotatedLineDocumentProvider) getDocumentProvider();
+ IEntityCreator entityCreator = documentProvider.getEntityCreator(getEditorInput());
+ Object entity = entityCreator.createEntity(null);
LineAnnotation annotation = createAnnotatedLine(entity);
if (annotation != null) {
annotation = provider.createAnnotatedLine(input, entity);
// Jump to new line
- int start= provider.getAnnotationModel(input).getPosition(annotation).getOffset();
- selectAndReveal(start, 0);
+ IAnnotationModel model = provider.getAnnotationModel(input);
+ if(model != null){
+ int start= model.getPosition(annotation).getOffset();
+ selectAndReveal(start, 0);
+ }
} catch (BadLocationException e) {
// TODO Auto-generated catch block
/** {@inheritDoc} */
public void update(CdmDataChangeMap changeEvents) {}
+ /**
+ * Refreshes text in all lines.
+ */
+ protected void refreshLineDisplay() {
+ IDocumentProvider provider = getDocumentProvider();
+ IEditorInput input = getEditorInput();
+ IAnnotationModel model = provider.getAnnotationModel(input);
+ Iterator iter = getDocumentProvider().getAnnotationModel(getEditorInput()).getAnnotationIterator();
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ LineAnnotation annotation = (LineAnnotation) next;
+ ((AnnotatedLineDocumentProvider) getDocumentProvider()).
+ updateLineFromAnnotation(annotation);
+ }
+ }
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.operations.IPostOperationEnabled#postOperation(eu.etaxonomy.cdm.model.common.CdmBase)
*/
/** {@inheritDoc} */
public boolean postOperation(CdmBase objectAffectedByOperation) {
- return false;
+ refreshLineDisplay();
+
+ return true;
}
/* (non-Javadoc)
import java.util.Map;
-import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.ICdmBase;
/**
* @created 03.07.2009
* @version 1.0
*/
-public interface IEntityCreator<T extends CdmBase> {
+public interface IEntityCreator<T> {
/**
* <p>createEntity</p>
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.annotatedlineeditor;
-
-
-/**
- * Associates entity creators with classes, e.g.
- * ReferenceEditorInput with ReferenceCreator.
- *
- * @author p.ciardelli
- * @created 25.08.2009
- * @version 1.0
- */
-public interface IEntityCreatorService {
-
- /**
- * <p>setEntityCreator</p>
- *
- * @param entityCreator a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator} object.
- * @param element a {@link java.lang.Object} object.
- */
- void setEntityCreator(IEntityCreator entityCreator, Object element);
-
- /**
- * <p>getEntityCreator</p>
- *
- * @param element a {@link java.lang.Object} object.
- * @return a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator} object.
- */
- IEntityCreator getEntityCreator(Object element);
-}
package eu.etaxonomy.taxeditor.annotatedlineeditor;
-import java.util.List;
/**
- * Performs the retrieving and saving of a list of entities edited by a <code>ListEditor<code>,
+ * Performs the retrieving and saving of a list of entities edited by a <code>ListEditor</code>,
* interacting with the persistence layer.
* <p>
- * The methods' element input parameter is typically the <code>ListEditor<code>'s <code>IEditorInput<code>.
+ * The methods' element input parameter is typically the <code>ListEditor</code>'s <code>IEditorInput</code>.
*
* @author p.ciardelli
* @created 07.07.2009
* @version 1.0
*/
-public interface IEntityPersistenceService {
-
- /**
- * <p>listEntities</p>
- *
- * @return a {@link java.util.List} object.
- */
- List<?> listEntities();
+public interface IEntityPersistenceService<T> {
/**
* <p>create</p>
* @param entity a {@link java.lang.Object} object.
* @return a boolean.
*/
- boolean create(Object entity);
+ boolean create(T entity);
/**
* <p>save</p>
* @param entity a {@link java.lang.Object} object.
* @return a boolean.
*/
- boolean save(Object entity);
+ boolean save(T entity);
/**
* <p>merge</p>
* @param mergeTarget a {@link java.lang.Object} object.
* @return a boolean.
*/
- boolean merge(Object entity, Object mergeTarget);
+ boolean merge(T entity, T mergeTarget);
/**
* <p>delete</p>
* @param entity a {@link java.lang.Object} object.
* @return a boolean.
*/
- boolean delete(Object entity);
+ boolean delete(T entity);
}
// Get all supplemental texts in the partial range
supplementalTexts = new HashMap<Integer, String>();
LineAnnotationModel model = (LineAnnotationModel) sourceViewer.getAnnotationModel();
- Iterator iter = model.getAnnotationIterator(offset, length, true, true);
- while (iter.hasNext()) {
- Object next = iter.next();
- if (next instanceof LineAnnotation) {
- Object entity = ((LineAnnotation) next).getEntity();
- String supplementalText = lineDisplayStrategy.getSupplementalText(entity);
- if (supplementalText != null && supplementalText.length() > 0) {
- try {
- int line = document.getLineOfOffset(model.getPosition((LineAnnotation) next).getOffset());
- supplementalTexts.put(line, supplementalText);
- } catch (BadLocationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- }
+ if(model != null){
+ Iterator iter = model.getAnnotationIterator(offset, length, true, true);
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ Object entity = ((LineAnnotation) next).getEntity();
+ String supplementalText = lineDisplayStrategy.getSupplementalText(entity);
+ if (supplementalText != null && supplementalText.length() > 0) {
+ try {
+ int line = document.getLineOfOffset(model.getPosition((LineAnnotation) next).getOffset());
+ supplementalTexts.put(line, supplementalText);
+ } catch (BadLocationException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+ }
}
}
this.document = (Document) document;
package eu.etaxonomy.taxeditor.annotatedlineeditor.handler;
-import org.apache.log4j.Logger;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
* @version 1.0
*/
public class NewObjectHandler extends AbstractHandler {
- private static final Logger logger = Logger
- .getLogger(NewObjectHandler.class);
/* (non-Javadoc)
* @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
Object key = ((Event)event.getTrigger()).data;
if (key != null) {
+
+
String text = ((Event)event.getTrigger()).text;
InputDialog dialog = new InputDialog(HandlerUtil.getActiveShell(event), "Create " + text, "Enter new " + text, "", null);
- if (dialog.open() == Window.CANCEL) {
- return null;
+ if (dialog.open() != Window.CANCEL) {
+ ((AnnotatedLineEditor) editor).createAnnotatedLineNewObject(key, dialog.getValue());
}
- ((AnnotatedLineEditor) editor).createAnnotatedLineNewObject(key, dialog.getValue());
+
} else {
((AnnotatedLineEditor) editor).createAnnotatedLineNewObject();
}
package eu.etaxonomy.taxeditor.bulkeditor;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.Iterator;
-
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.dialogs.MessageDialogWithToggle;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.source.Annotation;
import org.eclipse.jface.text.source.AnnotationModel;
-import org.eclipse.jface.text.source.IAnnotationModel;
import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.jface.text.source.IVerticalRuler;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineDocumentProvider;
import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>BulkEditor class.</p>
* @created 07.07.2009
* @version 1.0
*/
-public class BulkEditor extends AnnotatedLineEditor implements PropertyChangeListener, IPartContentHasDetails, IDirtyMarkableSelectionProvider{
+public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDetails, IDirtyMarkableSelectionProvider{
/** Constant <code>ID="bulkeditor.editor"</code> */
public static final String ID = "bulkeditor.editor";
private boolean isInitialFocus = true;
- private BulkEditorSearchComposite searchBar = null;
+ private BulkEditorSearch searchBar = null;
private IPropertyChangeListener markerPreferenceListener;
*/
setEditorContextMenuId("#BulkEditorContext");
- setEntityCreatorService(new BulkEditorEntityCreatorService());
+// setEntityCreatorService(new BulkEditorEntityCreatorService());
setLineDisplayStrategy(new BulkEditorLineDisplay(this));
}
super.init(site, input);
-
- ((AbstractBulkEditorInput) input).addPropertyChangeListener(this);
}
/* (non-Javadoc)
parent.setLayout(new GridLayout());
- Composite layoutComposite = new Composite(parent, SWT.TOP);
+ Composite layoutComposite = new Composite(parent, SWT.NONE);
layoutComposite.setLayout(new GridLayout());
-
- searchBar = new BulkEditorSearchComposite(this, layoutComposite, SWT.NONE);
- layoutComposite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
- if (isEditableMarkerTypes()) {
- // TODO this will be obsolete
-// createMarkerEditing(layoutComposite);
- }
+ GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false);
+ layoutComposite.setLayoutData(gridData);
+
+// layoutComposite.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
+
- searchBar.setEnabled(! getEditorInput().isSingleEntityMode());
+ searchBar = new BulkEditorSearch(this, layoutComposite, SWT.NONE);
+// layoutComposite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
super.createPartControl(parent);
}
}
- /**
- * @param parent
- *
- */
- private void createMarkerEditing(Composite parent) {
- final BulkEditorMarkerPreferenceComposite markerPreferenceBar =
- new BulkEditorMarkerPreferenceComposite((AbstractBulkEditorInput) getEditorInput(), parent, SWT.NONE);
- markerPreferenceListener = new IPropertyChangeListener() {
- public void propertyChange(
- org.eclipse.jface.util.PropertyChangeEvent event) {
- if (event.getProperty().contains(PreferencesUtil.EDIT_MARKER_TYPE_PREFIX)) {
- refreshLineDisplay();
- }
- }
- };
- PreferencesUtil.getPreferenceStore().addPropertyChangeListener(markerPreferenceListener);
- }
-
/* (non-Javadoc)
* @see org.eclipse.ui.editors.text.TextEditor#dispose()
*/
}
super.dispose();
}
-
- /**
- * Can this input type edit any markers?
- *
- * @return
- */
- private boolean isEditableMarkerTypes() {
- for (MarkerType markerType : TermStore.getNonTechnicalMarkerTypes()) {
- if (((AbstractBulkEditorInput) getEditorInput()).isMarkerTypeEditingEnabled(markerType)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Refreshes text in all lines.
- */
- protected void refreshLineDisplay() {
- IDocumentProvider provider = getDocumentProvider();
- IEditorInput input = getEditorInput();
- IAnnotationModel model = provider.getAnnotationModel(input);
- Iterator iter = getDocumentProvider().getAnnotationModel(getEditorInput()).getAnnotationIterator();
- while (iter.hasNext()) {
- Object next = iter.next();
- if (next instanceof LineAnnotation) {
- LineAnnotation annotation = (LineAnnotation) next;
- ((AnnotatedLineDocumentProvider) getDocumentProvider()).
- updateLineFromAnnotation(annotation);
- }
- }
- }
/* (non-Javadoc)
* @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#isEditable()
/** {@inheritDoc} */
@Override
public void setFocus() {
-// super.setFocus();
-
- // TODO Since setFocus() is called by RCP, can a global variable (searchBar) be avoided?
- setFocusOnToolBar();
+ searchBar.setFocus();
// TODO find a better place to put this - this dialog should be shown after initial contents of
// Editor are displayed
isInitialFocus = false;
}
}
-
- /**
- * Sets focus on the toolbar.
- */
- private void setFocusOnToolBar() {
- if (searchBar != null) {
- searchBar.setFocus();
- }
- }
/**
*
LineAnnotationModel model =
(LineAnnotationModel) getSourceViewer().getAnnotationModel();
- Annotation annotation = model.getAnnotationAtLine(line, document);
-
- if (annotation != null) {
- if (annotation.getType().equals(IBulkEditorConstants.TYPE_MERGE_CANDIDATE)) {
- model.changeAnnotationType(
- annotation, LineAnnotation.TYPE_GENERIC);
- } else {
- model.changeAnnotationType(
- annotation, IBulkEditorConstants.TYPE_MERGE_CANDIDATE);
+ if(model != null){
+ Annotation annotation = model.getAnnotationAtLine(line, document);
+
+ if (annotation != null) {
+ if (annotation.getType().equals(IBulkEditorConstants.TYPE_MERGE_CANDIDATE)) {
+ model.changeAnnotationType(
+ annotation, LineAnnotation.TYPE_GENERIC);
+ } else {
+ model.changeAnnotationType(
+ annotation, IBulkEditorConstants.TYPE_MERGE_CANDIDATE);
+ }
}
}
}
* @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
*/
/** {@inheritDoc} */
- public void propertyChange(PropertyChangeEvent evt) {
- if (evt.getPropertyName().equals(AbstractBulkEditorInput.QUERY_CHANGED)) {
+ public void performSearch(BulkEditorQuery query) {
+ if (query != null) {
// TODO check if dirty, prompt save
if (isDirty()) {
return;
}
}
- if(getDocumentProvider().getAnnotationModel(getEditorInput()) != null){
- ((AnnotationModel) getDocumentProvider().getAnnotationModel(getEditorInput())).removeAllAnnotations();
- }
- setInput(getEditorInput());
+
+ getEditorInput().performSearch(query);
+
+ refresh();
}
}
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor#getContributorId()
- */
+
/**
- * <p>getContributorId</p>
- *
- * @return a {@link java.lang.String} object.
+ *
*/
- public String getContributorId() {
- return BulkEditor.ID;
+ public void refresh() {
+ if(getDocumentProvider().getAnnotationModel(getEditorInput()) != null){
+ ((AnnotationModel) getDocumentProvider().getAnnotationModel(getEditorInput())).removeAllAnnotations();
+ }
+
+ setInput(getEditorInput());
}
/** {@inheritDoc} */
@Override
public AbstractBulkEditorInput getEditorInput() {
- // TODO Auto-generated method stub
return (AbstractBulkEditorInput) super.getEditorInput();
}
}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.bulkeditor;
-
-import org.apache.log4j.Logger;
-
-import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
-import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreatorService;
-import eu.etaxonomy.taxeditor.bulkeditor.input.AgentEditorInput;
-import eu.etaxonomy.taxeditor.bulkeditor.input.NameEditorInput;
-import eu.etaxonomy.taxeditor.bulkeditor.input.OccurrenceEditorInput;
-import eu.etaxonomy.taxeditor.bulkeditor.input.ReferenceEditorInput;
-
-/**
- * <p>BulkEditorEntityCreatorService class.</p>
- *
- * @author p.ciardelli
- * @created 25.08.2009
- * @version 1.0
- */
-public class BulkEditorEntityCreatorService implements IEntityCreatorService {
- private static final Logger logger = Logger
- .getLogger(BulkEditorEntityCreatorService.class);
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreatorService#getEntityCreator(java.lang.Object)
- */
- /** {@inheritDoc} */
- public IEntityCreator getEntityCreator(Object element) {
- if (element instanceof ReferenceEditorInput) {
- return new ReferenceCreator();
- }
- if (element instanceof NameEditorInput) {
- return new NameCreator();
- }
- if (element instanceof AgentEditorInput) {
- return new TeamOrPersonCreator();
- }
- if (element instanceof OccurrenceEditorInput) {
- return new OccurrenceCreator();
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreatorService#setEntityCreator(eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator, java.lang.Object)
- */
- /** {@inheritDoc} */
- public void setEntityCreator(IEntityCreator entityCreator, Object element) {}
-}
package eu.etaxonomy.taxeditor.bulkeditor;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang.StringUtils;
import org.eclipse.jface.action.IStatusLineManager;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
+import eu.etaxonomy.cdm.common.CdmUtils;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.IAnnotatableEntity;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.Marker;
+import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.taxeditor.annotatedlineeditor.EntityListener;
import eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy;
+import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
/**
*/
public class BulkEditorLineDisplay implements ILineDisplayStrategy {
- private IEditorPart editor;
+ private BulkEditor editor;
/**
* <p>Constructor for BulkEditorLineDisplay.</p>
*
* @param editor a {@link org.eclipse.ui.IEditorPart} object.
*/
- public BulkEditorLineDisplay(IEditorPart editor) {
+ public BulkEditorLineDisplay(BulkEditor editor) {
this.editor = editor;
}
*/
/** {@inheritDoc} */
public String getSupplementalText(Object entity) {
- if (entity instanceof Reference) {
- Reference reference = (Reference) HibernateProxyHelper.deproxy(entity);
- // Nobody seems to like displaying the date
-// TimePeriod datePublished = ((StrictReferenceBase) reference).getDatePublished();
-//
-// String date = datePublished == null ? null : datePublished.toString();
-// if (date != null) {
-// text += " [" + date + "]";
-// }
- String markerText = null;
- for (Marker marker : reference.getMarkers()) {
- if (PreferencesUtil.getEditMarkerTypePreference(editor.getEditorInput(), marker.getMarkerType())) {
- if (markerText == null) {
- markerText = " [";
- } else {
- markerText += ", ";
- }
- markerText += marker.getMarkerType().getLabel() + " = " + marker.getFlag();
- }
+
+ String supplementalText = "";
+
+ AbstractBulkEditorInput input = editor.getEditorInput();
+ String typeText = input.getTypeText(entity);
+
+ supplementalText += CdmUtils.isEmpty(typeText) ? "" : String.format(" [%s]", typeText);
+
+ if (entity instanceof IAnnotatableEntity) {
+ IAnnotatableEntity annotatableEntity = (IAnnotatableEntity) HibernateProxyHelper.deproxy(entity);
+
+ Map<MarkerType, Boolean> editMarkerTypePreferences = PreferencesUtil.getEditMarkerTypePreferences();
+
+ String markerText = "";
+ List<String> markers = new ArrayList<String>();
+ for (Marker marker : annotatableEntity.getMarkers()) {
+ markers.add(String.format("%1s = %2s", marker.getMarkerType().getLabel(), marker.getFlag() ? "yes" : "no"));
}
- if (markerText != null) {
- markerText += "]";
- } else {
- markerText = "";
+ if (! markers.isEmpty()) {
+ markerText = StringUtils.join(markers, ", ");
}
- return markerText;
+
+ supplementalText += CdmUtils.isEmpty(markerText) ? "" : String.format(" [%s]", markerText);
}
- if (entity instanceof TaxonNameBase) {
- return "";
- }
- if (entity instanceof AgentBase) {
- return "[" + entity.getClass().getSimpleName() + "]";
- }
- if (entity instanceof SpecimenOrObservationBase) {
- return "[" + entity.getClass().getSimpleName() + "]";
- }
- return "";
+
+ return supplementalText;
}
/* (non-Javadoc)
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.bulkeditor;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.store.TermStore;
-
-/**
- * <p>BulkEditorMarkerPreferenceComposite class.</p>
- *
- * @author p.ciardelli
- * @created 17.08.2009
- * @version 1.0
- */
-public class BulkEditorMarkerPreferenceComposite extends Composite {
- private static final Logger logger = Logger.getLogger(BulkEditorMarkerPreferenceComposite.class);
-
- private AbstractBulkEditorInput editorInput;
-
- Map<Button, MarkerType> markerTypeButtons = new HashMap<Button, MarkerType>();
-
- /**
- * <p>Constructor for BulkEditorMarkerPreferenceComposite.</p>
- *
- * @param parent a {@link org.eclipse.swt.widgets.Composite} object.
- * @param style a int.
- * @param editorInput a {@link eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput} object.
- */
- public BulkEditorMarkerPreferenceComposite(AbstractBulkEditorInput editorInput, Composite parent, int style) {
- super(parent, style);
- this.editorInput = editorInput;
- createControl();
- }
-
- /**
- * @param markerType
- * @return
- *
- */
- private boolean getEditMarkerPreference(MarkerType markerType) {
- return PreferencesUtil.getEditMarkerTypePreference(editorInput, markerType);
- }
-
- private void setEditMarkerPreference(MarkerType markerType, boolean edit) {
- PreferencesUtil.setEditMarkerTypePreference(editorInput, markerType, edit);
- }
-
- /**
- * <p>createControl</p>
- */
- protected void createControl() {
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 3;
- gridLayout.marginHeight = 0;
- gridLayout.marginWidth = 12;
- setLayout(gridLayout);
-
- for (final MarkerType markerType : TermStore.getNonTechnicalMarkerTypes()) {
- if (editorInput.isMarkerTypeEditingEnabled(markerType)) {
- final Button button = new Button(this, SWT.CHECK);
- button.setText("Edit " + markerType.getLabel() + " markers");
- button.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- setEditMarkerPreference(markerType, button.getSelection());
- }
- });
- button.setSelection(getEditMarkerPreference(markerType));
-
- markerTypeButtons.put(button, markerType);
- }
- }
- }
-}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor;
+
+import java.util.Comparator;
+
+import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
+import eu.etaxonomy.cdm.api.service.config.impl.IdentifiableServiceConfiguratorImpl;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 14, 2010
+ * @version 1.0
+ */
+public class BulkEditorQuery {
+
+ private String searchString;
+ private Comparator comparator;
+ private IIdentifiableEntityServiceConfigurator searchConfigurator;
+
+ public BulkEditorQuery (String searchString, Comparator comparator) {
+ this.searchString = searchString;
+ this.comparator = comparator;
+
+ searchConfigurator = IdentifiableServiceConfiguratorImpl.NewInstance();
+ searchConfigurator.setTitleSearchString(searchString);
+
+ if(searchString != null && searchString.trim().equals("*")){
+ searchConfigurator.setPageSize(1000);
+ }
+
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getComparator()
+ */
+ public Comparator getComparator() {
+ return comparator;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getSearchString()
+ */
+ public String getSearchString() {
+ return searchString;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getSearchConfigurator()
+ */
+ public IIdentifiableEntityServiceConfigurator getSearchConfigurator() {
+ return searchConfigurator;
+ }
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor;
+
+import java.util.Comparator;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
+import org.eclipse.swt.events.KeyAdapter;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.ToolItem;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.swt.IFocusService;
+
+import eu.etaxonomy.cdm.common.CdmUtils;
+import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
+import eu.etaxonomy.taxeditor.preference.Resources;
+
+/**
+ * <p>BulkEditorSearchComposite class.</p>
+ *
+ * @author p.ciardelli
+ * @author e.-m.lee
+ * @author n.hoffmann
+ * @created 17.08.2009
+ * @version 1.0
+ */
+public class BulkEditorSearch {
+
+ /**
+ *
+ */
+ private static final String SEARCH = "Search";
+
+ private static final String DEFAULT_TEXT = "Use \"*\" for wildcard searching";
+
+ private BulkEditor editor;
+ private Menu sortMenu;
+
+ private Text text;
+ private BulkEditorSortCombo sortCombo;
+
+ private Button button;
+
+
+ public Object ORDER_BY = new Object();
+ private ToolItem toolItem;
+
+ /**
+ * <p>Constructor for BulkEditorSearchComposite.</p>
+ *
+ * @param parent a {@link org.eclipse.swt.widgets.Composite} object.
+ * @param style a int.
+ * @param editor a {@link org.eclipse.ui.IEditorPart} object.
+ */
+ public BulkEditorSearch(BulkEditor editor, Composite parent, int style) {
+ this.editor = editor;
+
+ createControl(parent, style);
+ }
+
+ /*
+ * Creates the search control.
+ */
+ /**
+ * <p>createControl</p>
+ */
+ protected void createControl(Composite parent, int style) {
+
+ final Composite container = new Composite(parent, style);
+ GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false);
+ container.setLayoutData(gridData);
+ container.setLayout(new GridLayout(5, false));
+
+ createSearchTextField(container, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
+
+ createSortCombo(container, style);
+
+ button = new Button(container, SWT.PUSH);
+ button.setText(SEARCH);
+ button.addSelectionListener(new SelectionAdapter() {
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ updateEditorInput();
+ }
+ });
+
+ registerAtFocusService();
+ }
+
+ /**
+ * @param container
+ * @param style
+ */
+ private void createSortCombo(Composite parent, int style) {
+ sortCombo = new BulkEditorSortCombo(parent, editor.getEditorInput().getSortProviders());
+
+ }
+
+ /**
+ * Handles focus changes for the textfield.
+ */
+ private void registerAtFocusService() {
+ IFocusService focusService =
+ (IFocusService) PlatformUI.getWorkbench().getService(IFocusService.class);
+ if (focusService != null) {
+ focusService.addFocusTracker(text, "bulkeditor.textControlId");
+ }
+ }
+
+
+ /**
+ * Creates the search textfield.
+ */
+ private void createSearchTextField(Composite parent, int style) {
+ final Label label = new Label(parent, SWT.NONE);
+ label.setText("Title Cache");
+
+ text = new Text(parent, style);
+ text.setText(DEFAULT_TEXT);
+ text.setForeground(BulkEditorUtil.getColor(Resources.SEARCH_VIEW_FOREGROUND));
+
+ text.addFocusListener(new FocusListener() {
+
+ public void focusGained(FocusEvent e) {
+ text.setForeground(BulkEditorUtil.getColor(Resources.SEARCH_VIEW_FOCUS));
+ if (DEFAULT_TEXT.equals(text.getText())) {
+ text.setText("");
+ }
+ }
+
+ public void focusLost(FocusEvent e) {
+ if (CdmUtils.isEmpty(text.getText())) {
+ text.setForeground(BulkEditorUtil.getColor(Resources.SEARCH_VIEW_FOREGROUND));
+ text.setText(DEFAULT_TEXT);
+ }
+ }
+ });
+
+ text.addKeyListener(new KeyAdapter() {
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.KeyAdapter#keyReleased(org.eclipse.swt.events.KeyEvent)
+ */
+ @Override
+ public void keyReleased(KeyEvent e) {
+ if (e.keyCode == SWT.CR) {
+ updateEditorInput();
+ }
+ }
+ });
+
+ GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false);
+ text.setLayoutData(gridData);
+ }
+
+
+ /*
+ * Shows the results of the search.
+ */
+ private void updateEditorInput() {
+
+ String searchString = getSearchString().trim();
+
+ if(DEFAULT_TEXT.equals(searchString) || CdmUtils.isEmpty(searchString)){
+ return;
+ }
+
+ // update query in IEditorInput
+ AbstractBulkEditorInput input = editor.getEditorInput();
+ if (input instanceof AbstractBulkEditorInput) {
+ BulkEditorQuery query = new BulkEditorQuery(getSearchString(), getComparator());
+ editor.performSearch(query);
+ }
+ }
+
+ /*
+ * Returns the current string in the search textfield.
+ * @return the content of the textfield
+ */
+ /**
+ * <p>getSearchString</p>
+ *
+ * @return a {@link java.lang.String} object.
+ */
+ public String getSearchString() {
+ return text.getText().trim();
+ }
+
+ /*
+ *
+ */
+ /**
+ * <p>getComparator</p>
+ *
+ * @return a {@link java.util.Comparator} object.
+ */
+ public Comparator getComparator() {
+ return sortCombo.getSelection();
+ };
+
+ /*
+ *
+ */
+
+ /**
+ *
+ */
+ public void setFocus() {
+ if(text != null && ! text.isDisposed()){
+ text.setFocus();
+ }
+ }
+}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.bulkeditor;
-
-import java.util.Comparator;
-
-import org.apache.log4j.Logger;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.swt.IFocusService;
-
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.config.impl.IdentifiableServiceConfiguratorImpl;
-import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
-import eu.etaxonomy.taxeditor.preference.Resources;
-
-/**
- * <p>BulkEditorSearchComposite class.</p>
- *
- * @author p.ciardelli
- * @author e.-m.lee
- * @created 17.08.2009
- * @version 1.0
- */
-public class BulkEditorSearchComposite extends Composite {
- private static final Logger logger = Logger.getLogger(BulkEditorSearchComposite.class);
-
- private IEditorPart editor;
- private IBulkEditorSortMenuProvider menuProvider;
- private Menu sortMenu;
- private Text text;
- private static final String DEFAULT_TEXT = "Use \"*\" for wildcard searching";
- public Object ORDER_BY = new Object();
- private ToolItem toolItem;
-
- /**
- * <p>Constructor for BulkEditorSearchComposite.</p>
- *
- * @param parent a {@link org.eclipse.swt.widgets.Composite} object.
- * @param style a int.
- * @param editor a {@link org.eclipse.ui.IEditorPart} object.
- */
- public BulkEditorSearchComposite(IEditorPart editor, Composite parent, int style) {
- super(parent, style);
- this.editor = editor;
- this.menuProvider = new BulkEditorSortMenuProvider();
-
- createControl();
- }
-
- /*
- * Creates the search control.
- */
- /**
- * <p>createControl</p>
- */
- protected void createControl() {
- createLayout();
- createSearchTextField();
- createToolBar();
- registerAtFocusService();
- setSearchEnabled(false);
- }
-
-
- /**
- * Handles focus changes for the textfield.
- */
- private void registerAtFocusService() {
- IFocusService focusService =
- (IFocusService) PlatformUI.getWorkbench().getService(IFocusService.class);
- if (focusService != null) {
- focusService.addFocusTracker(text, "bulkeditor.textControlId");
- }
- }
-
-
- /**
- * Creates the search toolbar.
- */
- private void createToolBar() {
- final ToolBar toolBar = new ToolBar(this, SWT.NULL);
-
- toolItem = new ToolItem(toolBar, SWT.DROP_DOWN | SWT.BORDER);
- toolItem.setText("Search");
-
- DropdownMenu dropdownMenu = new DropdownMenu(toolItem);
- toolItem.addSelectionListener(dropdownMenu);
- }
-
-
- /**
- * Creates the search textfield.
- */
- private void createSearchTextField() {
- text = new Text(this, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
- text.setText(DEFAULT_TEXT);
- text.setForeground(BulkEditorUtil.getColor(Resources.SEARCH_VIEW_FOREGROUND));
-
- text.addFocusListener(new FocusListener() {
-
- public void focusGained(FocusEvent e) {
- text.setForeground(BulkEditorUtil.getColor(Resources.SEARCH_VIEW_FOCUS));
- if (DEFAULT_TEXT.equals(text.getText())) {
- text.setText("");
- }
- }
-
- public void focusLost(FocusEvent e) {
- if (text.getText() == "") {
- text.setForeground(BulkEditorUtil.getColor(Resources.SEARCH_VIEW_FOREGROUND));
- text.setText(DEFAULT_TEXT);
- setSearchEnabled(false);
- } else {
- setSearchEnabled(true);
- }
- }
- });
-
- text.addKeyListener(new KeyAdapter() {
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.KeyAdapter#keyReleased(org.eclipse.swt.events.KeyEvent)
- */
- @Override
- public void keyReleased(KeyEvent e) {
- if (e.keyCode == SWT.CR) {
- updateEditorInput();
- }
- }
- });
-
- GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false);
- text.setLayoutData(gridData);
- }
-
-
- /**
- * Creates the search layout.
- */
- private void createLayout() {
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 3;
- gridLayout.marginHeight = 0;
- gridLayout.marginWidth = 12;
- setLayout(gridLayout);
- }
-
- /*
- * Toggles the availability of the search toolItem.
- */
- private void setSearchEnabled(boolean enabled) {
-// toolItem.setEnabled(enabled);
- }
-
- /*
- * Shows the results of the search.
- */
- private void updateEditorInput() {
-
- String searchString = getSearchString();
-
- if(!DEFAULT_TEXT.equals(searchString.trim()) && searchString.length() > 0){
- // update query in IEditorInput
- IEditorInput input = editor.getEditorInput();
- if (input instanceof AbstractBulkEditorInput) {
- ((AbstractBulkEditorInput) input).setQuery(new BulkEditorQuery(getSearchString(), getComparator()));
- }
- }
- }
-
- /*
- * Handles drop down menu selection.
- */
- class DropdownMenu extends SelectionAdapter {
-
- /**
- * @param dropdown
- */
- public DropdownMenu(ToolItem dropdown) {
- sortMenu = new Menu(dropdown.getParent().getShell());
-
- MenuItem menuItem = new MenuItem(sortMenu, SWT.PUSH);
- menuItem.setText("Order by:");
- menuItem.setData(ORDER_BY);
- new MenuItem(sortMenu, SWT.SEPARATOR);
-
- menuProvider.fillMenu(editor.getEditorInput(), sortMenu);
-
- SelectionListener listener = new SortListSelectionListener();
-
- for (MenuItem item : sortMenu.getItems()) {
- if (item.getData() instanceof Comparator) {
- item.addSelectionListener(listener);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetSelected(SelectionEvent event) {
- if (event.detail == SWT.ARROW) {
- ToolItem item = (ToolItem) event.widget;
- Rectangle rect = item.getBounds();
- Point pt = item.getParent().toDisplay(new Point(rect.x, rect.y));
- sortMenu.setLocation(pt.x, pt.y + rect.height);
- sortMenu.setVisible(true);
- } else {
- updateEditorInput();
- }
- }
- }
-
- /*
- * Handles search configuration selection.
- */
- class SortListSelectionListener extends SelectionAdapter {
-
- public void widgetSelected(SelectionEvent e) {
- for (MenuItem item : sortMenu.getItems()) {
- if (item.getData() instanceof Comparator) {
- if (item.equals(e.getSource())) {
- item.setSelection(true);
- } else {
- item.setSelection(false);
- }
- }
- }
- }
- }
-
- /*
- * Returns the current string in the search textfield.
- * @return the content of the textfield
- */
- /**
- * <p>getSearchString</p>
- *
- * @return a {@link java.lang.String} object.
- */
- public String getSearchString() {
- return text.getText().trim();
- }
-
- /*
- *
- */
- /**
- * <p>getComparator</p>
- *
- * @return a {@link java.util.Comparator} object.
- */
- public Comparator getComparator() {
- Comparator comparator;
- for (MenuItem item : sortMenu.getItems()) {
- if (item.getSelection() == true && item.getData() instanceof Comparator) {
- return (Comparator) item.getData();
- }
- }
- return null;
- };
-
- /*
- *
- */
- class BulkEditorQuery implements IBulkEditorQuery {
-
- private String searchString;
- private Comparator comparator;
- private IIdentifiableEntityServiceConfigurator searchConfigurator;
-
- BulkEditorQuery (String searchString, Comparator comparator) {
- this.searchString = searchString;
- this.comparator = comparator;
-
- searchConfigurator = IdentifiableServiceConfiguratorImpl.NewInstance();
- searchConfigurator.setTitleSearchString(searchString);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getComparator()
- */
- public Comparator getComparator() {
- return comparator;
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getSearchString()
- */
- public String getSearchString() {
- return searchString;
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getSearchConfigurator()
- */
- public IIdentifiableEntityServiceConfigurator getSearchConfigurator() {
- return searchConfigurator;
- }
- }
-}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 14, 2010
+ * @version 1.0
+ */
+public class BulkEditorSortCombo {
+
+ private Label label;
+
+ private Combo combo;
+
+ private List<IBulkEditorSortProvider> sortProviders;
+
+ private List<Comparator> comparators = new ArrayList<Comparator>();
+
+ private int selectedIndex = 0;
+
+ /**
+ *
+ */
+ public BulkEditorSortCombo(Composite parent, List<IBulkEditorSortProvider> sortProviders) {
+ this.sortProviders = sortProviders;
+ if(! sortProviders.isEmpty()){
+ label = new Label(parent, SWT.NONE);
+ label.setText("Sort by");
+
+ combo = new Combo(parent, SWT.DROP_DOWN);
+
+ fillCombo();
+ }
+ }
+
+ /**
+ *
+ */
+ private void fillCombo() {
+ for(IBulkEditorSortProvider sortProvider : sortProviders){
+ Set<String> names = sortProvider.getComparatorNames();
+ for(String name : names){
+ combo.add(name);
+ comparators.add(sortProvider.getComparatorByName(name));
+ }
+ }
+
+ combo.addSelectionListener(new SelectionListener());
+ combo.select(selectedIndex);
+ }
+
+ private class SelectionListener extends SelectionAdapter{
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ selectedIndex = combo.getSelectionIndex();
+ }
+ }
+
+ /**
+ *
+ */
+ public Comparator getSelection() {
+ return comparators.get(selectedIndex);
+ }
+}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.bulkeditor;
-
-import java.util.Comparator;
-
-import org.apache.log4j.Logger;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IEditorInput;
-
-import eu.etaxonomy.cdm.model.common.TimePeriod;
-import eu.etaxonomy.cdm.model.reference.Reference;
-import eu.etaxonomy.taxeditor.annotatedlineeditor.IdentifiableEntityComparator;
-import eu.etaxonomy.taxeditor.bulkeditor.input.ReferenceEditorInput;
-
-/**
- * <p>BulkEditorSortMenuProvider class.</p>
- *
- * @author p.ciardelli
- * @created 19.08.2009
- * @version 1.0
- */
-public class BulkEditorSortMenuProvider implements IBulkEditorSortMenuProvider {
- private static final Logger logger = Logger
- .getLogger(BulkEditorSortMenuProvider.class);
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortMenuProvider#fillMenu(org.eclipse.ui.IEditorInput, java.awt.Menu)
- */
- /** {@inheritDoc} */
- public Menu fillMenu(IEditorInput input, Menu menu) {
- addMenuItem(menu, "Title cache", new IdentifiableEntityComparator(), true);
-
- if (input instanceof ReferenceEditorInput) {
- addMenuItem(menu, "Year", new ReferenceYearComparator(), false);
- }
-
- if (input instanceof ReferenceEditorInput) {
- addMenuItem(menu, "Reference Type", new ReferenceTypeComparator(), false);
- }
-
- return menu;
- }
-
- /**
- * @param menu
- * @param string
- * @param identifiableEntityComparator
- * @return
- */
- private MenuItem addMenuItem(Menu menu, String text, Comparator comparator, boolean selected) {
- MenuItem menuItem = new MenuItem(menu, SWT.CHECK);
- menuItem.setText(text);
- menuItem.setData(comparator);
- menuItem.setSelection(selected);
- return menuItem;
- }
-
- class ReferenceYearComparator implements Comparator {
-
- /**
- * @param o1
- * @return
- */
- private String getYearString(Object o) {
- TimePeriod datePublished = o == null || !(o instanceof Reference) ?
- null : ((Reference) o).getDatePublished();
- return datePublished == null? null : datePublished.toString();
- }
-
- /* (non-Javadoc)
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Object o1, Object o2) {
- String yearString1 = getYearString(o1);
- String yearString2 = getYearString(o2);
- if (yearString1 == null) {
- if (yearString2 == null) {
- return 0;
- } else {
- return -1;
- }
- }
- if (yearString2 == null) {
- return 1;
- }
- int returnVal = yearString1.compareToIgnoreCase(yearString2);
- if (returnVal == 0) {
- return new IdentifiableEntityComparator().compare(o1, 02);
- } else {
- return returnVal;
- }
- }
- }
-
- class ReferenceTypeComparator implements Comparator {
-
- /* (non-Javadoc)
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Object o1, Object o2) {
- String typeString1 = o1.getClass().toString();
- String typeString2 = o2.getClass().toString();
- if (typeString1 == null) {
- if (typeString2 == null) {
- return 0;
- } else {
- return -1;
- }
- }
- if (typeString2 == null) {
- return 1;
- }
- int returnVal = typeString1.compareToIgnoreCase(typeString2);
- if (returnVal == 0) {
- return new IdentifiableEntityComparator().compare(o1, 02);
- } else {
- return returnVal;
- }
- }
- }
-}
package eu.etaxonomy.taxeditor.bulkeditor;
import org.apache.log4j.Logger;
+import org.eclipse.core.commands.operations.IOperationHistory;
+import org.eclipse.core.commands.operations.IUndoContext;
import org.eclipse.core.runtime.Assert;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
* @version 1.0
*/
public class BulkEditorUtil extends AbstractUtility{
- private static final Logger logger = Logger.getLogger(BulkEditorUtil.class);
/**
* Opens a new editor window with the given input
protected static String getPluginId(){
return TaxeditorBulkeditorPlugin.PLUGIN_ID;
}
+
+ /**
+ * <p>getUndoContext</p>
+ *
+ * @return a {@link org.eclipse.core.commands.operations.IUndoContext} object.
+ */
+ public static IUndoContext getUndoContext(){
+ return IOperationHistory.GLOBAL_UNDO_CONTEXT;
+ }
}
*/
package eu.etaxonomy.taxeditor.bulkeditor;
-import org.apache.log4j.Logger;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.presentation.IPresentationReconciler;
import org.eclipse.jface.text.presentation.PresentationReconciler;
import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import eu.etaxonomy.taxeditor.annotatedlineeditor.SupplementalTextScanner;
import eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy;
+import eu.etaxonomy.taxeditor.annotatedlineeditor.SupplementalTextScanner;
/**
* @version 1.0
*/
public class BulkEditorViewerConfiguration extends SourceViewerConfiguration {
- private static final Logger logger = Logger
- .getLogger(BulkEditorViewerConfiguration.class);
private ILineDisplayStrategy lineDisplayStrategy;
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.bulkeditor;
-
-import java.util.Comparator;
-
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-
-/**
- * <p>IBulkEditorQuery interface.</p>
- *
- * @author p.ciardelli
- * @created 19.08.2009
- * @version 1.0
- */
-public interface IBulkEditorQuery {
-
- /**
- * <p>getSearchString</p>
- *
- * @return a {@link java.lang.String} object.
- */
- String getSearchString();
-
- /**
- * <p>getSearchConfigurator</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator} object.
- */
- IIdentifiableEntityServiceConfigurator getSearchConfigurator();
-
- /**
- * <p>getComparator</p>
- *
- * @return a {@link java.util.Comparator} object.
- */
- Comparator getComparator();
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.bulkeditor;
-
-
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IEditorInput;
-
-/**
- * <p>IBulkEditorSortMenuProvider interface.</p>
- *
- * @author p.ciardelli
- * @created 19.08.2009
- * @version 1.0
- */
-public interface IBulkEditorSortMenuProvider {
-
- /**
- * Fills a menu with MenuItems representing sort options specific to the IEditorInput.
- * <p>
- * Populates each MenuItem with a Comparator associated with the sort option.
- *
- * @param input a {@link org.eclipse.ui.IEditorInput} object.
- * @param menu a {@link org.eclipse.swt.widgets.Menu} object.
- * @return a {@link org.eclipse.swt.widgets.Menu} object.
- */
- Menu fillMenu(IEditorInput input, Menu menu);
-}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor;
+
+import java.util.Comparator;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 14, 2010
+ * @version 1.0
+ */
+public interface IBulkEditorSortProvider<T> {
+
+ /**
+ *
+ */
+ public Map<String, Comparator<T>> getComparators();
+
+ public Set<String> getComparatorNames();
+
+ public Comparator<T> getComparatorByName(String name);
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor.command;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.NotEnabledException;
+import org.eclipse.core.commands.NotHandledException;
+import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.jface.action.ContributionItem;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.CompoundContributionItem;
+import org.eclipse.ui.handlers.IHandlerService;
+
+import eu.etaxonomy.cdm.model.common.MarkerType;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 13, 2010
+ * @version 1.0
+ */
+public class DynamicMarkerTypeEditingMenu extends CompoundContributionItem {
+
+ private IHandlerService handlerService =
+ (IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class);
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
+ */
+ @Override
+ protected IContributionItem[] getContributionItems() {
+
+ return new IContributionItem[] {
+ new ContributionItem() {
+ public void fill(Menu menu, int index){
+ for(MarkerType markerType : CdmStore.getTermManager().getPreferredMarkerTypes()){
+ createMenuItem(menu, markerType);
+ }
+ }
+ }
+ };
+ }
+
+ private void createMenuItem(Menu menu, final MarkerType markerType) {
+
+ MenuItem subMenuItem = new MenuItem(menu, SWT.CASCADE);
+ subMenuItem.setText(String.format("Set Flag '%s'", markerType.getLabel()));
+
+ Menu subMenu = new Menu(menu.getShell(), SWT.DROP_DOWN);
+ subMenuItem.setMenu(subMenu);
+
+ MenuItem trueItem = new MenuItem(subMenu, SWT.PUSH);
+ trueItem.setText("Yes");
+ trueItem.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ doSetFlagCommand(markerType, true);
+ }
+ });
+
+ MenuItem falseItem = new MenuItem(subMenu, SWT.PUSH);
+ falseItem.setText("No");
+ falseItem.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ doSetFlagCommand(markerType, false);
+ }
+ });
+ }
+
+ private void doSetFlagCommand(MarkerType markerType, boolean flag) {
+ try {
+ Event event = new Event();
+ event.data = new Object[]{markerType, flag};
+ handlerService.executeCommand("taxeditor-bulkeditor.command.setMarkerFlag", event);
+ } catch (ExecutionException e) {
+ BulkEditorUtil.error(getClass(), e);
+ } catch (NotDefinedException e) {
+ BulkEditorUtil.error(getClass(), e);
+ } catch (NotEnabledException e) {
+ BulkEditorUtil.error(getClass(), e);
+ } catch (NotHandledException e) {
+ BulkEditorUtil.error(getClass(), e);
+ }
+
+ }
+
+}
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
+import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.actions.CompoundContributionItem;
import org.eclipse.ui.handlers.IHandlerService;
-import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineDocumentProvider;
-import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
+import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
/**
* <p>DynamicNewObjectMenu class.</p>
* @created 17.04.2009
* @version 1.0
*/
-@Deprecated // remove this
public class DynamicNewObjectMenu extends CompoundContributionItem {
private static final Logger logger = Logger
.getLogger(DynamicNewObjectMenu.class);
+ private IHandlerService handlerService = (IHandlerService) BulkEditorUtil.getService(IHandlerService.class);
+ private Map<Object, String> classLabelPairs;
/* (non-Javadoc)
* @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
*/
@Override
protected IContributionItem[] getContributionItems() {
+ classLabelPairs = getClassLabelPairs();
+
return new IContributionItem[] {
new ContributionItem() {
public void fill(Menu menu, int index){
-
- final Map<Object, String> classLabelPairs = getClassLabelPairs();
-
- final IHandlerService handlerService =
- (IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class);
-
for(final Object key : classLabelPairs.keySet()){
- MenuItem menuItem = new MenuItem(menu, -1);
- menuItem.setText(classLabelPairs.get(key));
- menuItem.addSelectionListener(new SelectionListener(){
-
- public void widgetDefaultSelected(SelectionEvent e) {}
-
- public void widgetSelected(SelectionEvent ev) {
- Event event = new Event();
- event.data = key;
- event.text = classLabelPairs.get(key);
- try {
- handlerService.executeCommand(IBulkEditorConstants.DYNAMIC_OPEN_OBJECT_ID, event);
- } catch (Exception e) {
- logger.error("Error executing command", e);
- throw new RuntimeException("Error executing command", e);
- }
- }
- });
+ createMenuItem(menu, key);
}
}
}
};
}
+ private void createMenuItem(Menu menu, final Object key){
+ MenuItem menuItem = new MenuItem(menu, -1);
+ menuItem.setText(classLabelPairs.get(key));
+ menuItem.addSelectionListener(new SelectionListener(){
+
+ public void widgetDefaultSelected(SelectionEvent e) {}
+
+ public void widgetSelected(SelectionEvent ev) {
+ Event event = new Event();
+ event.data = key;
+ event.text = classLabelPairs.get(key);
+ try {
+ handlerService.executeCommand(IBulkEditorConstants.DYNAMIC_OPEN_OBJECT_ID, event);
+ } catch (Exception e) {
+ logger.error("Error executing command", e);
+ throw new RuntimeException("Error executing command", e);
+ }
+ }
+ });
+ }
+
/**
* Get class label pairs from Annotated Line Editor's entity creator.
* @return
*/
private Map<Object, String> getClassLabelPairs() {
IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
- if (editor == null || !(editor instanceof AnnotatedLineEditor) || !(((AnnotatedLineEditor) editor).getDocumentProvider() instanceof AnnotatedLineDocumentProvider)) {
- return null;
+ if (editor != null){
+ IEditorInput input = editor.getEditorInput();
+
+ if(input instanceof AbstractBulkEditorInput){
+ IEntityCreator<?> entityCreator = ((AbstractBulkEditorInput) input).getEntityCreator();
+ return entityCreator.getKeyLabelPairs();
+ }
}
- IEntityCreator<?> entityCreator = ((AnnotatedLineDocumentProvider) ((AnnotatedLineEditor) editor).getDocumentProvider()).getEntityCreator(editor.getEditorInput());
- return entityCreator.getKeyLabelPairs();
+
+ return null;
}
}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.bulkeditor.command;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.CompoundContributionItem;
-import org.eclipse.ui.handlers.IHandlerService;
-
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.store.TermStore;
-
-/**
- * <p>SetMarkerContributionItems class.</p>
- *
- * @author p.ciardelli
- * @created 20.10.2009
- * @version 1.0
- */
-public class SetMarkerContributionItems extends CompoundContributionItem {
- private static final Logger logger = Logger
- .getLogger(SetMarkerContributionItems.class);
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
- */
- /** {@inheritDoc} */
- @Override
- protected IContributionItem[] getContributionItems() {
-
- List<IContributionItem> contributions = new ArrayList<IContributionItem>();
-
- IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
- if (editor.getEditorInput() instanceof AbstractBulkEditorInput) {
- AbstractBulkEditorInput input = (AbstractBulkEditorInput) editor.getEditorInput();
- for (final MarkerType markerType : TermStore.getNonTechnicalMarkerTypes()) {
- if (input.isMarkerTypeEditingEnabled(markerType) && PreferencesUtil.getEditMarkerTypePreference(input, markerType)) {
- contributions.add(new ContributionItem() {
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.ContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
- */
- @Override
- public void fill(Menu menu, int index) {
- MenuItem subMenuItem = new MenuItem(menu, SWT.CASCADE, index);
- subMenuItem.setText("Set Flag - \"" + markerType.getLabel() + "\"");
- Menu subMenu = new Menu(menu.getShell(), SWT.DROP_DOWN);
- subMenuItem.setMenu(subMenu);
-
- MenuItem trueItem = new MenuItem(subMenu, SWT.PUSH);
- trueItem.setText("true");
- trueItem.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- doSetFlagCommand(markerType, true);
- }
- });
-
- MenuItem falseItem = new MenuItem(subMenu, SWT.PUSH);
- falseItem.setText("false");
- falseItem.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- doSetFlagCommand(markerType, false);
- }
- });
- }
- });
- }
- }
- }
- return (IContributionItem[]) contributions.toArray(new IContributionItem[contributions.size()]);
- }
-
- private void doSetFlagCommand(MarkerType markerType, boolean flag) {
- try {
- IHandlerService handlerService =
- (IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class);
- Event event = new Event();
- event.data = markerType;
- if (flag) {
- handlerService.executeCommand("taxeditor-bulkeditor.command.setMarkerFlagTrue", event);
- } else {
- handlerService.executeCommand("taxeditor-bulkeditor.command.setMarkerFlagFalse", event);
- }
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.bulkeditor.handler;
-
-import java.beans.PropertyChangeEvent;
-import java.util.Iterator;
-
-import org.apache.log4j.Logger;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
-import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
-import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
-import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
-
-/**
- * <p>SetMarkerFlagFalseHandler class.</p>
- *
- * @author p.ciardelli
- * @created 20.10.2009
- * @version 1.0
- */
-public class SetMarkerFlagFalseHandler extends AbstractHandler {
- private static final Logger logger = Logger
- .getLogger(SetMarkerFlagFalseHandler.class);
-
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- /** {@inheritDoc} */
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // TODO merge this w SetMarkerFlagTrueHandler
-
- Object data = ((Event) event.getTrigger()).data;
-
- if (HandlerUtil.getCurrentSelection(event) instanceof TextSelection
- && HandlerUtil.getActiveEditor(event) instanceof BulkEditor && data instanceof MarkerType) {
- TextSelection selection = (TextSelection) HandlerUtil.getCurrentSelection(event);
- BulkEditor editor = (BulkEditor) HandlerUtil.getActiveEditor(event);
-
- LineAnnotationModel model = (LineAnnotationModel) editor.getDocumentProvider().getAnnotationModel(editor.getEditorInput());
- if (model != null) {
- Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
- while (iter.hasNext()) {
- Object next = iter.next();
- if (next instanceof LineAnnotation) {
- Object entity = ((LineAnnotation) next).getEntity();
- createOrUpdateMarker((AnnotatableEntity) entity, (MarkerType) data, false);
- ((CdmBase) entity).firePropertyChange(new PropertyChangeEvent(entity, "", null, null));
- }
- }
- }
- }
- return null;
- }
-
- /**
- * @param entity
- * @param publish
- * @param flag
- */
- private void createOrUpdateMarker(AnnotatableEntity entity,
- MarkerType markerType, boolean flag) {
- for (Marker marker : entity.getMarkers()) {
- if (markerType.equals(marker.getMarkerType())) {
- marker.setFlag(flag);
- return;
- }
- }
- entity.addMarker(Marker.NewInstance(markerType, flag));
- }
-}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor.handler;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.text.TextSelection;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.etaxonomy.cdm.model.common.IAnnotatableEntity;
+import eu.etaxonomy.cdm.model.common.MarkerType;
+import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
+import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
+import eu.etaxonomy.taxeditor.bulkeditor.operation.SetMarkerFlagOperation;
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
+
+/**
+ * <p>SetMarkerFlagTrueHandler class.</p>
+ *
+ * @author p.ciardelli
+ * @created 20.10.2009
+ * @version 1.0
+ */
+public class SetMarkerFlagHandler extends AbstractHandler {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
+ */
+ /** {@inheritDoc} */
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+
+ ISelection selection = HandlerUtil.getCurrentSelection(event);
+
+ IEditorPart editor = HandlerUtil.getActiveEditor(event);
+
+ Object[] data = (Object[]) ((Event) event.getTrigger()).data;
+
+ if (selection instanceof TextSelection
+ && editor instanceof BulkEditor) {
+ TextSelection textSelection = (TextSelection) selection;
+ BulkEditor bulkEditor = (BulkEditor) editor;
+
+ LineAnnotationModel model = (LineAnnotationModel) bulkEditor.getDocumentProvider().getAnnotationModel(editor.getEditorInput());
+ if (model != null) {
+ Iterator iter = model.getAnnotationIterator(textSelection.getOffset(), textSelection.getLength(), true, true);
+
+ Set<IAnnotatableEntity> annotatableEntities = new HashSet<IAnnotatableEntity>();
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ Object entity = ((LineAnnotation) next).getEntity();
+
+ if(entity instanceof IAnnotatableEntity){
+ annotatableEntities.add((IAnnotatableEntity) entity);
+ }
+ }
+ }
+
+ AbstractPostOperation operation = new SetMarkerFlagOperation("Set Marker", BulkEditorUtil.getUndoContext(), annotatableEntities, (MarkerType) data[0], (Boolean) data[1], bulkEditor);
+ BulkEditorUtil.executeOperation(operation);
+ }
+ }
+ return null;
+ }
+}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.bulkeditor.handler;
-
-import java.beans.PropertyChangeEvent;
-import java.util.Iterator;
-
-import org.apache.log4j.Logger;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
-import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
-import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
-import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
-import eu.etaxonomy.taxeditor.model.LineSelection;
-
-/**
- * <p>SetMarkerFlagTrueHandler class.</p>
- *
- * @author p.ciardelli
- * @created 20.10.2009
- * @version 1.0
- */
-public class SetMarkerFlagTrueHandler extends AbstractHandler {
- private static final Logger logger = Logger
- .getLogger(SetMarkerFlagTrueHandler.class);
-
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- /** {@inheritDoc} */
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- Object data = ((Event) event.getTrigger()).data;
-
- if (HandlerUtil.getCurrentSelection(event) instanceof TextSelection
- && HandlerUtil.getActiveEditor(event) instanceof BulkEditor && data instanceof MarkerType) {
- TextSelection selection = (TextSelection) HandlerUtil.getCurrentSelection(event);
- BulkEditor editor = (BulkEditor) HandlerUtil.getActiveEditor(event);
-
- LineAnnotationModel model = (LineAnnotationModel) editor.getDocumentProvider().getAnnotationModel(editor.getEditorInput());
- if (model != null) {
- Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
- while (iter.hasNext()) {
- Object next = iter.next();
- if (next instanceof LineAnnotation) {
- Object entity = ((LineAnnotation) next).getEntity();
- createOrUpdateMarker((AnnotatableEntity) entity, (MarkerType) data, true);
- ((CdmBase) entity).firePropertyChange(new PropertyChangeEvent(entity, "", null, null));
- }
- }
- }
- }
- return null;
- }
-
- /**
- * @param entity
- * @param publish
- * @param b
- */
- private void createOrUpdateMarker(AnnotatableEntity entity,
- MarkerType markerType, boolean flag) {
- for (Marker marker : entity.getMarkers()) {
- if (markerType.equals(marker.getMarkerType())) {
- marker.setFlag(flag);
- return;
- }
- }
- entity.addMarker(Marker.NewInstance(markerType, flag));
- }
-}
*/
package eu.etaxonomy.taxeditor.bulkeditor.input;
-import java.beans.PropertyChangeSupport;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.UUID;
-import org.apache.log4j.Logger;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IPersistableElement;
+import eu.etaxonomy.cdm.api.service.ICommonService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
+import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.cdm.strategy.merge.IMergable;
import eu.etaxonomy.cdm.strategy.merge.MergeException;
+import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService;
-import eu.etaxonomy.taxeditor.annotatedlineeditor.IdentifiableEntityComparator;
-import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
+import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
import eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorInputTypeValues.BulkEditorInputType;
+import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.CdmBaseSortProvider;
+import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.TitleCacheComparator;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* @version 1.0
* @param <T>
*/
-public abstract class AbstractBulkEditorInput<T> extends PropertyChangeSupport implements IEditorInput, IEntityPersistenceService {
- private static final Logger logger = Logger
- .getLogger(AbstractBulkEditorInput.class);
+public abstract class AbstractBulkEditorInput<T extends ICdmBase> implements IEditorInput, IEntityPersistenceService<T> {
+
/**
*
*/
private static final long serialVersionUID = 416414530232743735L;
- private String mode;
+
private UUID entityUuid;
- /**
- * <p>Constructor for AbstractBulkEditorInput.</p>
- *
- * @param sourceBean a {@link java.lang.Object} object.
- * @param <T> a T object.
- */
- public AbstractBulkEditorInput(Object sourceBean) {
- super(sourceBean);
- }
+ private List<T> model;
- /** Constant <code>QUERY_CHANGED="query_changed"</code> */
- public static final String QUERY_CHANGED = "query_changed";
+ private IEntityCreator<T> entityCreator;
/**
* <p>NewInstance</p>
return editorInput;
}
- /**
- * Queries the service for entities that match the criterias defined in the given
- * search configurator
- *
- * @return a {@link java.util.List} object.
- */
- public List<T> listEntities(){
- if(getEntityUuid() != null){
- List<T> entityList = new ArrayList<T>();
- T entity = loadEntity(getEntityUuid());
- entityList.add(entity);
- return entityList;
- }
-
- if(query != null){
-
- String queryString = query.getSearchString();
- IIdentifiableEntityServiceConfigurator configurator = query.getSearchConfigurator();
- Comparator queryComparator = (query.getComparator() != null) ? query.getComparator() : new IdentifiableEntityComparator();
-
- List<T> entityList = listEntities(configurator);
-
- Collections.sort(entityList, queryComparator);
-
- // reset query
- setQuery(null);
-
- return entityList;
- }
- return null;
- }
-
/**
* <p>listEntities</p>
*
return entityUuid;
}
- private IBulkEditorQuery query;
/* (non-Javadoc)
* @see org.eclipse.ui.IEditorInput#exists()
*
* @param bulkEditorQuery a {@link eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery} object.
*/
- public void setQuery(IBulkEditorQuery bulkEditorQuery) {
-
- this.query = bulkEditorQuery;
+ public void performSearch(final BulkEditorQuery bulkEditorQuery) {
+
+ List<T> entityList = new ArrayList<T>();
- if (query != null) {
- firePropertyChange(QUERY_CHANGED, null, null);
+ if(getEntityUuid() != null){
+
+ T entity = loadEntity(getEntityUuid());
+ entityList.add(entity);
+ model = entityList;
}
- }
-
- /**
- * <p>Getter for the field <code>query</code>.</p>
- *
- * @return a {@link eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery} object.
- */
- public IBulkEditorQuery getQuery() {
- return query;
+ else if(bulkEditorQuery != null){
+
+ String queryString = bulkEditorQuery.getSearchString();
+ IIdentifiableEntityServiceConfigurator configurator = bulkEditorQuery.getSearchConfigurator();
+ Comparator queryComparator = (bulkEditorQuery.getComparator() != null) ? bulkEditorQuery.getComparator() : new TitleCacheComparator();
+
+ entityList = listEntities(configurator);
+
+ Collections.sort(entityList, queryComparator);
+
+ }
+
+ model = entityList;
}
/**
return false;
}
- /**
- * <p>isSingleEntityMode</p>
- *
- * @return a boolean.
- */
- public boolean isSingleEntityMode(){
- return getEntityUuid() != null;
- }
-
/*
* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#merge(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
*/
/** {@inheritDoc} */
- public boolean merge(Object entity, Object mergeTarget) {
- logger.info("Merge " + entity + " into " + mergeTarget);
- if (entity instanceof Reference) {
+ public boolean merge(T entity, T mergeTarget) {
+ if (entity instanceof IMergable) {
try {
- CdmStore.getCommonService().merge((Reference) mergeTarget, (Reference) entity, null);
+ CdmStore.getService(ICommonService.class).merge((IMergable)mergeTarget, (IMergable)entity, null);
} catch (MergeException e) {
- logger.error("Problems merging objects", e);
+ BulkEditorUtil.error(getClass(), e);
}
}
return true;
* @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#create(eu.etaxonomy.cdm.model.common.IdentifiableEntity)
*/
/** {@inheritDoc} */
- public boolean create(Object entity) {
+ public boolean create(T entity) {
return save(entity);
};
+
+ public IEntityCreator<T> getEntityCreator(){
+ if(entityCreator == null){
+ entityCreator = createEntityCreator();
+ }
+ return entityCreator;
+ }
+
+ /**
+ * @return
+ */
+ protected abstract IEntityCreator<T> createEntityCreator();
+
+ /**
+ * The default implementation returns an empty list of sort providers.
+ * @return
+ */
+ public List<IBulkEditorSortProvider<T>> getSortProviders(){
+ List<IBulkEditorSortProvider<T>> sortProviders = new ArrayList<IBulkEditorSortProvider<T>>();
+
+ sortProviders.add(new CdmBaseSortProvider<T>());
+
+ return sortProviders;
+ }
+
+ /**
+ * @param entity
+ * @return
+ */
+ public String getTypeText(Object entity){
+ return entity.getClass().getSimpleName();
+ }
+
+ /**
+ * @return
+ */
+ public List<?> getModel() {
+ return model;
+ }
}
import java.util.List;
import java.util.UUID;
+import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.model.agent.AgentBase;
+import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
import eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorInputTypeValues.BulkEditorInputType;
+import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.AgentCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
import eu.etaxonomy.taxeditor.store.CdmStore;
*/
public class AgentEditorInput extends AbstractBulkEditorInput<AgentBase> {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 3387950621617078479L;
+
/** Constant <code>ID="bulkeditor.input.author"</code> */
public static final String ID = "bulkeditor.input.author";
private static AgentEditorInput instance;
- /**
- * <p>Constructor for AgentEditorInput.</p>
- */
- public AgentEditorInput() {
- super(new Object());
- }
-
/**
* <p>getID</p>
*
/** {@inheritDoc} */
@Override
- public List listEntities(IIdentifiableEntityServiceConfigurator configurator) {
+ public List<AgentBase> listEntities(IIdentifiableEntityServiceConfigurator configurator) {
return CdmStore.getSearchManager().findTeamOrPersons(configurator);
}
@Override
public AgentBase loadEntity(UUID uuid) {
List<String> propertyPaths = Arrays.asList(new String[]{});
- return CdmStore.getAgentService().load(uuid, propertyPaths);
+ return CdmStore.getService(IAgentService.class).load(uuid, propertyPaths);
}
/** {@inheritDoc} */
- public boolean delete(Object entity) {
- return CdmStore.getAgentService().delete((AgentBase) entity) != null;
+ public boolean delete(AgentBase entity) {
+ return CdmStore.getService(IAgentService.class).delete(entity) != null;
}
/** {@inheritDoc} */
- public boolean save(Object entity) {
- return CdmStore.getAgentService().saveOrUpdate((AgentBase) entity) != null;
+ public boolean save(AgentBase entity) {
+ return CdmStore.getService(IAgentService.class).saveOrUpdate(entity) != null;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getSortProviders()
+ */
+ @Override
+ public List<IBulkEditorSortProvider<AgentBase>> getSortProviders() {
+ List<IBulkEditorSortProvider<AgentBase>> sortProviders = super.getSortProviders();
+
+ sortProviders.add(new IdentifiableEntitySortProvider<AgentBase>());
+
+ return sortProviders;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
+ */
+ @Override
+ protected IEntityCreator<AgentBase> createEntityCreator() {
+ return new AgentCreator();
}
}
import java.util.List;
import java.util.UUID;
+import eu.etaxonomy.cdm.api.service.INameService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
import eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorInputTypeValues.BulkEditorInputType;
+import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.NameCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
*/
public class NameEditorInput extends AbstractBulkEditorInput<TaxonNameBase> {
- private static NameEditorInput instance;
-
/**
- * <p>Constructor for NameEditorInput.</p>
+ *
*/
- public NameEditorInput() {
- super(new Object());
- }
+ private static final long serialVersionUID = -3085029575759626823L;
+ private static NameEditorInput instance;
/** Constant <code>ID="bulkeditor.input.name"</code> */
public static final String ID = "bulkeditor.input.name";
@Override
public TaxonNameBase loadEntity(UUID uuid) {
List<String> propertyPaths = Arrays.asList(new String[]{});
- return CdmStore.getNameService().load(uuid, propertyPaths);
+ return CdmStore.getService(INameService.class).load(uuid, propertyPaths);
}
/** {@inheritDoc} */
- public boolean delete(Object entity) {
- return CdmStore.getNameService().delete((TaxonNameBase) entity) != null;
+ public boolean delete(TaxonNameBase entity) {
+ return CdmStore.getService(INameService.class).delete(entity) != null;
}
/** {@inheritDoc} */
- public boolean save(Object entity) {
- return CdmStore.getNameService().saveOrUpdate((TaxonNameBase) entity) != null;
+ public boolean save(TaxonNameBase entity) {
+ return CdmStore.getService(INameService.class).saveOrUpdate(entity) != null;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
+ */
+ @Override
+ protected IEntityCreator<TaxonNameBase> createEntityCreator() {
+ return new NameCreator();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getSortProviders()
+ */
+ @Override
+ public List<IBulkEditorSortProvider<TaxonNameBase>> getSortProviders() {
+ List<IBulkEditorSortProvider<TaxonNameBase>> sortProviders = super.getSortProviders();
+
+ sortProviders.add(new IdentifiableEntitySortProvider<TaxonNameBase>());
+
+ return sortProviders;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getTypeText(java.lang.Object)
+ */
+ @Override
+ public String getTypeText(Object entity) {
+ if(entity instanceof TaxonNameBase){
+ return ((TaxonNameBase) entity).getNomenclaturalCode().getTitleCache();
+ }
+ return super.getTypeText(entity);
}
}
import java.util.List;
import java.util.UUID;
-import javax.naming.NameNotFoundException;
-
+import eu.etaxonomy.cdm.api.service.INameService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.model.common.RelationshipBase;
import eu.etaxonomy.cdm.model.name.NameRelationship;
+import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
import eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorInputTypeValues.BulkEditorInputType;
import eu.etaxonomy.taxeditor.store.CdmStore;
public static final String ID = "bulkeditor.input.nameRelationship";
private static NameRelationshipEditorInput instance;
-
- /**
- * <p>Constructor for NameRelationshipEditorInput.</p>
- */
- public NameRelationshipEditorInput() {
- super(new Object());
- }
/**
* <p>Getter for the field <code>instance</code>.</p>
*/
/** {@inheritDoc} */
@Override
- public boolean save(Object entity) {
+ public boolean save(NameRelationship entity) {
// TODO Auto-generated method stub
return false;
}
*/
/** {@inheritDoc} */
@Override
- public boolean delete(Object entity) {
+ public boolean delete(NameRelationship entity) {
// TODO Auto-generated method stub
return false;
}
protected List<NameRelationship> listEntities(
IIdentifiableEntityServiceConfigurator configurator) {
List<NameRelationship> relationships = new ArrayList<NameRelationship>();
- List<RelationshipBase> all = CdmStore.getNameService().getAllRelationships(0, 0);
+ List<RelationshipBase> all = CdmStore.getService(INameService.class).getAllRelationships(0, 0);
for (RelationshipBase relationship : all){
if(relationship instanceof NameRelationship){
return null; // CdmStore.getNameService().load(entityUuid, propertyPaths);
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
+ */
+ @Override
+ protected IEntityCreator<NameRelationship> createEntityCreator() {
+ BulkEditorUtil.notImplementedMessage(getClass());
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getTypeText(java.lang.Object)
+ */
+ @Override
+ public String getTypeText(Object entity) {
+ if(entity instanceof NameRelationship){
+ return ((NameRelationship) entity).getType().getTitleCache();
+ }
+
+ return super.getTypeText(entity);
+ }
+
}
import java.util.List;
import java.util.UUID;
+import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
import eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorInputTypeValues.BulkEditorInputType;
+import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.OccurrenceCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
private static OccurrenceEditorInput instance;
- /**
- * <p>Constructor for OccurrenceEditorInput.</p>
- */
- public OccurrenceEditorInput() {
- super(new Object());
- }
-
/**
* <p>Getter for the field <code>instance</code>.</p>
*
@Override
protected SpecimenOrObservationBase loadEntity(UUID entityUuid) {
List<String> propertyPaths = Arrays.asList(new String[]{});
- return CdmStore.getOccurrenceService().load(entityUuid, propertyPaths);
+ return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths);
}
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#delete(java.lang.Object)
*/
/** {@inheritDoc} */
- public boolean delete(Object entity) {
- return CdmStore.getOccurrenceService().delete((SpecimenOrObservationBase) entity) != null;
+ public boolean delete(SpecimenOrObservationBase entity) {
+ return CdmStore.getService(IOccurrenceService.class).delete(entity) != null;
}
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#save(java.lang.Object)
*/
/** {@inheritDoc} */
- public boolean save(Object entity) {
- return CdmStore.getOccurrenceService().save((SpecimenOrObservationBase) entity) != null;
+ public boolean save(SpecimenOrObservationBase entity) {
+ return CdmStore.getService(IOccurrenceService.class).save(entity) != null;
+ }
+
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
+ */
+ @Override
+ protected IEntityCreator<SpecimenOrObservationBase> createEntityCreator() {
+ return new OccurrenceCreator();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getSortProviders()
+ */
+ @Override
+ public List<IBulkEditorSortProvider<SpecimenOrObservationBase>> getSortProviders() {
+ List<IBulkEditorSortProvider<SpecimenOrObservationBase>> sortProviders = super.getSortProviders();
+
+ sortProviders.add(new IdentifiableEntitySortProvider<SpecimenOrObservationBase>());
+
+ return sortProviders;
}
}
import java.util.List;
import java.util.UUID;
+import eu.etaxonomy.cdm.api.service.IReferenceService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
import eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorInputTypeValues.BulkEditorInputType;
+import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.ReferenceCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.CdmBaseSortProvider;
+import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
+import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.ReferenceSortProvider;
import eu.etaxonomy.taxeditor.store.CdmStore;
private static ReferenceEditorInput instance;
- /**
- * <p>Constructor for ReferenceEditorInput.</p>
- */
- public ReferenceEditorInput() {
- super(new Object());
- }
-
/**
* <p>getID</p>
*
return super.isMarkerTypeEditingEnabled(markerType);
}
- // Entity persistence
/** {@inheritDoc} */
@Override
public List listEntities(IIdentifiableEntityServiceConfigurator configurator) {
return CdmStore.getSearchManager().findReferences(configurator);
}
-
+
+ // Entity persistence
+
/** {@inheritDoc} */
@Override
public Reference loadEntity(UUID entityUuid) {
List<String> propertyPaths = Arrays.asList(new String[]{"*", "inReference.*", "authorTeam.*"});
- return CdmStore.getReferenceService().load(entityUuid, propertyPaths);
+ return CdmStore.getService(IReferenceService.class).load(entityUuid, propertyPaths);
}
/** {@inheritDoc} */
- public boolean delete(Object entity) {
- return CdmStore.getReferenceService().delete((Reference) entity) != null;
+ public boolean delete(Reference entity) {
+ return CdmStore.getService(IReferenceService.class).delete(entity) != null;
}
/** {@inheritDoc} */
- public boolean save(Object entity) {
- return CdmStore.getReferenceService().saveOrUpdate((Reference) entity) != null;
+ public boolean save(Reference entity) {
+ return CdmStore.getService(IReferenceService.class).saveOrUpdate(entity) != null;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
+ */
+ @Override
+ protected IEntityCreator<Reference> createEntityCreator() {
+ return new ReferenceCreator();
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getSortProviders()
+ */
+ @Override
+ public List<IBulkEditorSortProvider<Reference>> getSortProviders() {
+ List<IBulkEditorSortProvider<Reference>> sortProviders = super.getSortProviders();
+
+ sortProviders.add(new IdentifiableEntitySortProvider<Reference>());
+ sortProviders.add(new CdmBaseSortProvider<Reference>());
+ sortProviders.add(new ReferenceSortProvider());
+
+ return sortProviders;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getTypeText(java.lang.Object)
+ */
+ @Override
+ public String getTypeText(Object entity) {
+ if(entity instanceof Reference){
+ return ((Reference) entity).getType().getMessage(CdmStore.getDefaultLanguage());
+ }
+ return super.getTypeText(entity);
+ }
+
}
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-package eu.etaxonomy.taxeditor.bulkeditor;
+package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator;
import java.util.HashMap;
import java.util.Map;
import org.apache.log4j.Logger;
+import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
* @created 18.09.2009
* @version 1.0
*/
-public class TeamOrPersonCreator implements IEntityCreator<TeamOrPersonBase> {
+public class AgentCreator implements IEntityCreator<AgentBase> {
private static final Logger logger = Logger
- .getLogger(TeamOrPersonCreator.class);
+ .getLogger(AgentCreator.class);
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator#createEntity(java.lang.String)
*/
/** {@inheritDoc} */
- public TeamOrPersonBase createEntity(String text) {
+ public AgentBase createEntity(String text) {
+ logger.error("FIXMEFIXMEFIXMEFIXMEFIXMEFIXMEFIXMEFIXMEFIXMEFIXMEFIXME");
+ logger.error("We can only create Persons at the moment. See #1820");
+ logger.error("FIXMEFIXMEFIXMEFIXMEFIXMEFIXMEFIXMEFIXMEFIXMEFIXMEFIXME");
return createEntity(Person.class, text);
}
* @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator#createEntity(java.lang.Class, java.lang.String)
*/
/** {@inheritDoc} */
- public TeamOrPersonBase createEntity(Object key, String text) {
+ public AgentBase createEntity(Object key, String text) {
TeamOrPersonBase teamOrPerson = null;
if (Team.class.equals(((Class) key))) {
teamOrPerson = Team.NewInstance();
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-package eu.etaxonomy.taxeditor.bulkeditor;
+package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator;
import java.util.HashMap;
import java.util.Map;
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-package eu.etaxonomy.taxeditor.bulkeditor;
+package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator;
import java.util.HashMap;
import java.util.Map;
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-package eu.etaxonomy.taxeditor.bulkeditor;
+package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator;
import java.util.HashMap;
import java.util.Map;
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider;
+
+import java.util.Comparator;
+
+import org.joda.time.DateTime;
+
+import eu.etaxonomy.cdm.model.common.ICdmBase;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 14, 2010
+ * @version 1.0
+ */
+public abstract class AbstractDateComparator<T extends ICdmBase> implements Comparator<T>{
+
+ public int compare(T o1, T o2) {
+ return getDate(o1).compareTo(getDate(o2));
+ };
+
+ protected abstract DateTime getDate(T object);
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider;
+
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 14, 2010
+ * @version 1.0
+ */
+public class AbstractSortProvider<T> implements IBulkEditorSortProvider<T> {
+
+ Map<String, Comparator<T>> comparators = new HashMap<String, Comparator<T>>();
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider#getComparators()
+ */
+ @Override
+ public Map<String, Comparator<T>> getComparators() {
+ return comparators;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider#getComparatorNames()
+ */
+ @Override
+ public Set<String> getComparatorNames() {
+ return comparators.keySet();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider#getComparatorByName(java.lang.String)
+ */
+ @Override
+ public Comparator<T> getComparatorByName(String name) {
+ return comparators.get(name);
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider;
+
+import org.joda.time.DateTime;
+
+import eu.etaxonomy.cdm.model.common.ICdmBase;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 14, 2010
+ * @version 1.0
+ */
+public class CdmBaseSortProvider<T extends ICdmBase> extends AbstractSortProvider<T> {
+
+ /**
+ *
+ */
+ public CdmBaseSortProvider() {
+ comparators.put("Created When", new CreatedDateComparator());
+ }
+
+ private class CreatedDateComparator extends AbstractDateComparator<T>{
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.AbstractDateComparator#getDate(eu.etaxonomy.cdm.model.common.ICdmBase)
+ */
+ @Override
+ protected DateTime getDate(T object) {
+ return object.getCreated();
+ }
+
+ }
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider;
+
+import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 14, 2010
+ * @version 1.0
+ */
+public class IdentifiableEntitySortProvider<T extends IIdentifiableEntity> extends AbstractSortProvider<T> {
+
+ public IdentifiableEntitySortProvider(){
+ comparators.put("Title Cache", new TitleCacheComparator<T>());
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider;
+
+import java.util.Comparator;
+
+import eu.etaxonomy.cdm.model.common.TimePeriod;
+import eu.etaxonomy.cdm.model.reference.Reference;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 14, 2010
+ * @version 1.0
+ */
+public class ReferenceSortProvider extends AbstractSortProvider<Reference> {
+
+ /**
+ *
+ */
+ public ReferenceSortProvider() {
+ comparators.put("Type", new ReferenceTypeComparator());
+ comparators.put("Year", new ReferenceYearComparator());
+ }
+
+ private class ReferenceYearComparator implements Comparator<Reference> {
+
+ /**
+ * @param o1
+ * @return
+ */
+ private String getYearString(Reference o) {
+ TimePeriod datePublished = o == null ? null : o.getDatePublished();
+ return datePublished == null? null : datePublished.toString();
+ }
+
+ /* (non-Javadoc)
+ * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
+ */
+ public int compare(Reference o1, Reference o2) {
+ String yearString1 = getYearString(o1);
+ String yearString2 = getYearString(o2);
+ if (yearString1 == null) {
+ if (yearString2 == null) {
+ return 0;
+ } else {
+ return -1;
+ }
+ }
+ if (yearString2 == null) {
+ return 1;
+ }
+ int returnVal = yearString1.compareToIgnoreCase(yearString2);
+ if (returnVal == 0) {
+ return new TitleCacheComparator<Reference>().compare(o1, o2);
+ } else {
+ return returnVal;
+ }
+ }
+ }
+
+ private class ReferenceTypeComparator implements Comparator<Reference> {
+
+ /* (non-Javadoc)
+ * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
+ */
+ public int compare(Reference o1, Reference o2) {
+ String typeString1 = o1.getClass().toString();
+ String typeString2 = o2.getClass().toString();
+ if (typeString1 == null) {
+ if (typeString2 == null) {
+ return 0;
+ } else {
+ return -1;
+ }
+ }
+ if (typeString2 == null) {
+ return 1;
+ }
+ int returnVal = typeString1.compareToIgnoreCase(typeString2);
+ if (returnVal == 0) {
+ return new TitleCacheComparator<Reference>().compare(o1, o2);
+ } else {
+ return returnVal;
+ }
+ }
+ }
+
+
+}
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-package eu.etaxonomy.taxeditor.annotatedlineeditor;
+package eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider;
import java.util.Comparator;
-import org.apache.log4j.Logger;
-
-import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
/**
* <p>IdentifiableEntityComparator class.</p>
* @created 19.08.2009
* @version 1.0
*/
-public class IdentifiableEntityComparator implements Comparator {
- private static final Logger logger = Logger
- .getLogger(IdentifiableEntityComparator.class);
+public class TitleCacheComparator<T extends IIdentifiableEntity> implements Comparator<T> {
private boolean fIgnoreCase;
- private String getTitleCache(Object o) {
- return o == null || !(o instanceof IdentifiableEntity) ?
- null : ((IdentifiableEntity) o).getTitleCache();
+ private String getTitleCache(T o) {
+ return o == null ? null : o.getTitleCache();
}
/* (non-Javadoc)
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
/** {@inheritDoc} */
- public int compare(Object o1, Object o2) {
+ public int compare(T o1, T o2) {
String titleCache1 = getTitleCache(o1);
String titleCache2 = getTitleCache(o2);
if (titleCache1 == null && titleCache2 == null) {
return fIgnoreCase ? titleCache1.compareToIgnoreCase(titleCache2) :
titleCache1.compareTo(titleCache2);
}
-}
+}
\ No newline at end of file
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor.operation;
+
+import java.util.Set;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.operations.IUndoContext;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+
+import eu.etaxonomy.cdm.model.common.IAnnotatableEntity;
+import eu.etaxonomy.cdm.model.common.Marker;
+import eu.etaxonomy.cdm.model.common.MarkerType;
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
+import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 13, 2010
+ * @version 1.0
+ */
+public class SetMarkerFlagOperation extends AbstractPostOperation {
+
+ private Set<IAnnotatableEntity> annotatableEntities;
+ private MarkerType markerType;
+ private boolean value;
+
+ /**
+ * @param label
+ * @param undoContext
+ * @param postOperationEnabled
+ */
+ public SetMarkerFlagOperation(String label, IUndoContext undoContext,
+ Set<IAnnotatableEntity> annotatableEntities, MarkerType markerType, boolean value,
+ IPostOperationEnabled postOperationEnabled) {
+ super(label, undoContext, postOperationEnabled);
+ this.annotatableEntities = annotatableEntities;
+ this.markerType = markerType;
+ this.value = value;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+ */
+ @Override
+ public IStatus execute(IProgressMonitor monitor, IAdaptable info)
+ throws ExecutionException {
+
+ for(IAnnotatableEntity annotatableEntity : annotatableEntities){
+ Marker marker = Marker.NewInstance(markerType, value);
+
+ annotatableEntity.addMarker(marker);
+ }
+
+ return postExecute(null);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+ */
+ @Override
+ public IStatus redo(IProgressMonitor monitor, IAdaptable info)
+ throws ExecutionException {
+ return execute(monitor, info);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+ */
+ @Override
+ public IStatus undo(IProgressMonitor monitor, IAdaptable info)
+ throws ExecutionException {
+ for(IAnnotatableEntity annotatableEntity : annotatableEntities){
+ Marker marker = Marker.NewInstance(markerType, ! value);
+
+ annotatableEntity.addMarker(marker);
+ }
+
+ return postExecute(null);
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor.preference;
+
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 13, 2010
+ * @version 1.0
+ */
+public class BulkEditorGeneralPreferencePage extends PreferencePage implements
+ IWorkbenchPreferencePage {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+ */
+ @Override
+ public void init(IWorkbench workbench) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control createContents(Composite parent) {
+ Composite container = new Composite(parent, SWT.NULL);
+ container.setLayout(new GridLayout());
+
+ //
+ return container;
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor.preference;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+import eu.etaxonomy.cdm.model.common.MarkerType;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.TermStore;
+
+/**
+ * <p>BulkEditorMarkerPreferenceComposite class.</p>
+ *
+ * @author p.ciardelli
+ * @created 17.08.2009
+ * @version 1.0
+ */
+public class BulkEditorMarkerPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
+
+ private Map<MarkerType, Boolean> markerTypeEditingMap = new HashMap<MarkerType, Boolean>();
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+ */
+ @Override
+ public void init(IWorkbench workbench) {
+ setPreferenceStore(PreferencesUtil.getPreferenceStore());
+ markerTypeEditingMap = PreferencesUtil.getEditMarkerTypePreferences();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control createContents(Composite parent) {
+ Composite container = new Composite(parent, SWT.NULL);
+ container.setLayout(new GridLayout());
+
+ for (final MarkerType markerType : TermStore.getNonTechnicalMarkerTypes()) {
+ final Button button = new Button(container, SWT.CHECK);
+ button.setText(String.format("Edit '%s' markers", markerType.getLabel()));
+
+ button.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ markerTypeEditingMap.put(markerType, button.getSelection());
+ }
+ });
+
+ boolean edit = markerTypeEditingMap.get(markerType) == null ? true : markerTypeEditingMap.get(markerType);
+
+ button.setSelection(edit);
+ }
+
+ return container;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performOk()
+ */
+ @Override
+ public boolean performOk() {
+ PreferencesUtil.setEditMarkerTypePreferences(markerTypeEditingMap);
+
+ return super.performOk();
+ }
+}
import org.eclipse.ui.IWorkbenchPart;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.ICommonService;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
try {
if(entity instanceof CdmBase){
referencedObject = (CdmBase) entity;
- Set<CdmBase> setOfReferencingObjects = CdmStore.getCommonService().getReferencingObjects(referencedObject);
+ Set<CdmBase> setOfReferencingObjects = CdmStore.getService(ICommonService.class).getReferencingObjects(referencedObject);
List<CdmBase> referencingObjects = new ArrayList<CdmBase>(setOfReferencingObjects);
<menuContribution
locationURI="menu:eu.etaxonomy.taxeditor.menu.showView">
<command
- commandId="eu.etaxonomy.taxeditor.editor.commands.showDetailsView"
+ commandId="org.eclipse.ui.views.showView"
label="Details"
style="push">
+ <parameter
+ name="org.eclipse.ui.views.showView.viewId"
+ value="eu.etaxonomy.taxeditor.editor.forms.detailsView">
+ </parameter>
</command>
<command
- commandId="eu.etaxonomy.taxeditor.editor.commands.showTaxonDescriptions"
+ commandId="org.eclipse.ui.views.showView"
label="Descriptive"
style="push">
+ <parameter
+ name="org.eclipse.ui.views.showView.viewId"
+ value="eu.etaxonomy.taxeditor.editor.view.description">
+ </parameter>
</command>
<command
- commandId="eu.etaxonomy.taxeditor.editor.commands.showSupplementalDataView"
+ commandId="org.eclipse.ui.views.showView"
label="Supplemental"
style="push">
+ <parameter
+ name="org.eclipse.ui.views.showView.viewId"
+ value="eu.etaxonomy.taxeditor.editor.view.supplementalData">
+ </parameter>
</command>
<command
- commandId="eu.etaxonomy.taxeditor.editor.commands.showMedia"
+ commandId="org.eclipse.ui.views.showView"
label="Media"
style="push">
+ <parameter
+ name="org.eclipse.ui.views.showView.viewId"
+ value="eu.etaxonomy.taxeditor.editor.view.media">
+ </parameter>
</command>
</menuContribution>
</extension>
- <extension
- point="org.eclipse.ui.commands">
- <command
- defaultHandler="eu.etaxonomy.taxeditor.editor.handler.ShowDetailsViewHandler"
- id="eu.etaxonomy.taxeditor.editor.commands.showDetailsView"
- name="Show Details">
- </command>
- <command
- defaultHandler="eu.etaxonomy.taxeditor.editor.handler.ShowTaxonDescriptionsViewHandler"
- id="eu.etaxonomy.taxeditor.editor.commands.showTaxonDescriptions"
- name="Show Taxon Descriptions">
- </command>
- <command
- defaultHandler="eu.etaxonomy.taxeditor.editor.handler.ShowSupplementalDataViewHandler"
- id="eu.etaxonomy.taxeditor.editor.commands.showSupplementalDataView"
- name="Show Suplemental Data">
- </command>
- <command
- defaultHandler="eu.etaxonomy.taxeditor.editor.handler.ShowMediaViewHandler"
- id="eu.etaxonomy.taxeditor.editor.commands.showMedia"
- name="Show Media">
- </command>
- </extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
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.common.ICdmBase;
import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
* @created 04.06.2009
* @version 1.0
*/
-public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends CdmBase> extends
+public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmBase> extends
FilteredItemsSelectionDialog implements IConversationEnabled {
private static final Logger logger = Logger
.getLogger(AbstractFilteredCdmResourceSelectionDialog.class);
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.agent.INomenclaturalAuthor;
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
/** {@inheritDoc} */
@Override
protected AgentBase getPersistentObject(UUID cdmUuid) {
- return CdmStore.getAgentService().load(cdmUuid);
+ return CdmStore.getService(IAgentService.class).load(cdmUuid);
}
/** {@inheritDoc} */
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getAgentService().getUuidAndTitleCache();
+ model = CdmStore.getService(IAgentService.class).getUuidAndTitleCache();
}
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
import eu.etaxonomy.taxeditor.store.CdmStore;
/** {@inheritDoc} */
@Override
protected Classification getPersistentObject(UUID cdmUuid) {
- return CdmStore.getClassificationService().getClassificationByUuid(cdmUuid);
+ return CdmStore.getService(IClassificationService.class).getClassificationByUuid(cdmUuid);
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getClassificationService().getUuidAndTitleCache();
+ model = CdmStore.getService(IClassificationService.class).getUuidAndTitleCache();
}
/** {@inheritDoc} */
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.ICollectionService;
import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
import eu.etaxonomy.taxeditor.editor.newWizard.NewCollectionWizard;
/** {@inheritDoc} */
@Override
protected Collection getPersistentObject(UUID uuid) {
- return CdmStore.getCollectionService().load(uuid);
+ return CdmStore.getService(ICollectionService.class).load(uuid);
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getCollectionService().getUuidAndTitleCache();
+ model = CdmStore.getService(ICollectionService.class).getUuidAndTitleCache();
}
/* (non-Javadoc)
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
/** {@inheritDoc} */
@Override
protected DerivedUnitBase getPersistentObject(UUID uuid) {
- Object object = CdmStore.getOccurrenceService().load(uuid);
+ Object object = CdmStore.getService(IOccurrenceService.class).load(uuid);
SpecimenOrObservationBase specimenObservationBase = (SpecimenOrObservationBase) HibernateProxyHelper.deproxy(object);
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getOccurrenceService().getDerivedUnitBaseUuidAndTitleCache();
+ model = CdmStore.getService(IOccurrenceService.class).getDerivedUnitBaseUuidAndTitleCache();
}
/** {@inheritDoc} */
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.cdm.model.description.Feature;
@Override
protected Feature getPersistentObject(UUID uuid) {
- DefinedTermBase term = CdmStore.getTermService().load(uuid);
+ DefinedTermBase term = CdmStore.getService(ITermService.class).load(uuid);
if(term instanceof Feature){
return (Feature) term;
*/
@Override
protected void initModel() {
- List<Feature> features = CdmStore.getTermService().listByTermClass(Feature.class, null, null, null, null);
+ List<Feature> features = CdmStore.getService(ITermService.class).listByTermClass(Feature.class, null, null, null, null);
List<UuidAndTitleCache<Feature>> featureUuidAndTitleCache = new ArrayList<UuidAndTitleCache<Feature>>();
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
/** {@inheritDoc} */
@Override
protected FeatureTree getPersistentObject(UUID uuid) {
- return CdmStore.getFeatureTreeService().load(uuid);
+ return CdmStore.getService(IFeatureTreeService.class).load(uuid);
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected void initModel() {
- List<FeatureTree> featureTrees = CdmStore.getFeatureTreeService().list(FeatureTree.class, null, null, null, null);
+ List<FeatureTree> featureTrees = CdmStore.getService(IFeatureTreeService.class).list(FeatureTree.class, null, null, null, null);
if(model == null){
model = new ArrayList<UuidAndTitleCache<FeatureTree>>();
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
/** {@inheritDoc} */
@Override
protected FieldObservation getPersistentObject(UUID uuid) {
- Object object = CdmStore.getOccurrenceService().load(uuid);
+ Object object = CdmStore.getService(IOccurrenceService.class).load(uuid);
SpecimenOrObservationBase specimenObservationBase = (SpecimenOrObservationBase) HibernateProxyHelper.deproxy(object);
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getOccurrenceService().getFieldObservationUuidAndTitleCache();
+ model = CdmStore.getService(IOccurrenceService.class).getFieldObservationUuidAndTitleCache();
}
/** {@inheritDoc} */
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.INameService;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
import eu.etaxonomy.taxeditor.editor.newWizard.NewNonViralNameWizard;
/** {@inheritDoc} */
@Override
protected TaxonNameBase getPersistentObject(UUID cdmUuid) {
- return CdmStore.getNameService().load(cdmUuid);
+ return CdmStore.getService(INameService.class).load(cdmUuid);
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getNameService().getUuidAndTitleCache();
+ model = CdmStore.getService(INameService.class).getUuidAndTitleCache();
}
/** {@inheritDoc} */
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.common.CdmUtils;
+import eu.etaxonomy.cdm.api.service.IVocabularyService;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.common.Representation;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.cdm.model.common.VocabularyEnum;
@Override
protected NamedArea getPersistentObject(UUID uuid) {
for(VocabularyEnum selectedVocabulary : selectedVocabularies){
- TermVocabulary vocabulary = CdmStore.getVocabularyService().getVocabulary(selectedVocabulary);
+ TermVocabulary vocabulary = CdmStore.getService(IVocabularyService.class).getVocabulary(selectedVocabulary);
for(Object object : vocabulary.getTerms()){
CdmBase cdmBaseObject = (CdmBase) object;
if(uuid.equals(cdmBaseObject.getUuid())){
Set<NamedArea> terms = new HashSet<NamedArea>();
for(VocabularyEnum vocabularyEnum : selectedVocabularies){
- TermVocabulary vocabulary = (TermVocabulary) HibernateProxyHelper.deproxy(CdmStore.getVocabularyService().getVocabulary(vocabularyEnum));
+ TermVocabulary vocabulary = (TermVocabulary) HibernateProxyHelper.deproxy(CdmStore.getService(IVocabularyService.class).getVocabulary(vocabularyEnum));
terms.addAll(vocabulary.getTermsOrderedByLabels(CdmStore.getDefaultLanguage()));
}
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
import eu.etaxonomy.taxeditor.editor.newWizard.NewTeamWizard;
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getAgentService().getTeamUuidAndNomenclaturalTitle();
+ model = CdmStore.getService(IAgentService.class).getTeamUuidAndNomenclaturalTitle();
}
/** {@inheritDoc} */
@Override
protected Team getPersistentObject(UUID uuid) {
- return (Team) CdmStore.getAgentService().load(uuid);
+ return (Team) CdmStore.getService(IAgentService.class).load(uuid);
}
}
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
import eu.etaxonomy.taxeditor.editor.newWizard.NewPersonWizard;
/** {@inheritDoc} */
@Override
protected Person getPersistentObject(UUID uuid) {
- return (Person) CdmStore.getAgentService().load(uuid);
+ return (Person) CdmStore.getService(IAgentService.class).load(uuid);
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getAgentService().getPersonUuidAndTitleCache();
+ model = CdmStore.getService(IAgentService.class).getPersonUuidAndTitleCache();
}
/** {@inheritDoc} */
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
import eu.etaxonomy.taxeditor.store.CdmStore;
*/
@Override
protected PolytomousKey getPersistentObject(UUID uuid) {
- return CdmStore.getPolytomousKeyService().load(uuid);
+ return CdmStore.getService(IPolytomousKeyService.class).load(uuid);
}
/* (non-Javadoc)
*/
@Override
protected void initModel() {
- model = CdmStore.getPolytomousKeyService().getUuidAndTitleCache();
+ model = CdmStore.getService(IPolytomousKeyService.class).getUuidAndTitleCache();
}
/* (non-Javadoc)
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IReferenceService;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.strategy.cache.reference.ReferenceBaseDefaultCacheStrategy;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
/** {@inheritDoc} */
@Override
protected Reference getPersistentObject(UUID cdmUuid) {
- return CdmStore.getReferenceService().load(cdmUuid);
+ return CdmStore.getService(IReferenceService.class).load(cdmUuid);
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getReferenceService().getUuidAndTitleCache();
+ model = CdmStore.getService(IReferenceService.class).getUuidAndTitleCache();
}
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.ITaxonService;
+import eu.etaxonomy.cdm.model.taxon.Synonym;
+import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
import eu.etaxonomy.taxeditor.store.CdmStore;
* @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
* @return a {@link eu.etaxonomy.cdm.model.taxon.TaxonBase} object.
*/
- public static TaxonBase select(Shell shell, ConversationHolder conversation) {
- FilteredTaxonBaseSelectionDialog dialog = new FilteredTaxonBaseSelectionDialog(shell, conversation,
+ public static TaxonBase selectTaxonBase(Shell shell, ConversationHolder conversation) {
+ FilteredTaxonBaseSelectionDialog dialog = new FilteredTaxonBaseSelectionDialog(TaxonBase.class, shell, conversation,
"Choose a taxon", false, null);
return getSelectionFromDialog(dialog);
}
+ /**
+ * <p>select</p>
+ *
+ * @param shell a {@link org.eclipse.swt.widgets.Shell} object.
+ * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+ * @return a {@link eu.etaxonomy.cdm.model.taxon.TaxonBase} object.
+ */
+ public static Taxon selectTaxon(Shell shell, ConversationHolder conversation) {
+ FilteredTaxonBaseSelectionDialog dialog = new FilteredTaxonBaseSelectionDialog(Taxon.class, shell, conversation,
+ "Choose a taxon", false, null);
+ return (Taxon) getSelectionFromDialog(dialog);
+ }
+
+ /**
+ * <p>select</p>
+ *
+ * @param shell a {@link org.eclipse.swt.widgets.Shell} object.
+ * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+ * @return a {@link eu.etaxonomy.cdm.model.taxon.TaxonBase} object.
+ */
+ public static Synonym selectSynonym(Shell shell, ConversationHolder conversation) {
+ FilteredTaxonBaseSelectionDialog dialog = new FilteredTaxonBaseSelectionDialog(Synonym.class, shell, conversation,
+ "Choose a taxon", false, null);
+ return (Synonym) getSelectionFromDialog(dialog);
+ }
+
+ private Class<? extends TaxonBase> clazz;
+
/**
* <p>Constructor for FilteredTaxonBaseSelectionDialog.</p>
*
* @param multi a boolean.
* @param taxon a {@link eu.etaxonomy.cdm.model.taxon.TaxonBase} object.
*/
- protected FilteredTaxonBaseSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, TaxonBase taxon) {
+ protected FilteredTaxonBaseSelectionDialog(Class<? extends TaxonBase> clazz, Shell shell, ConversationHolder conversation, String title, boolean multi, TaxonBase taxon) {
super(shell, conversation, title, multi, FilteredReferenceSelectionDialog.class.getCanonicalName(), taxon);
+ this.clazz = clazz;
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected TaxonBase getPersistentObject(UUID uuid) {
- return CdmStore.getTaxonService().load(uuid);
+ return CdmStore.getService(ITaxonService.class).load(uuid);
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getTaxonService().getUuidAndTitleCache();
+ if(clazz == TaxonBase.class){
+ model = CdmStore.getService(ITaxonService.class).getUuidAndTitleCache();
+ }
+ else if(clazz == Taxon.class){
+ model = CdmStore.getService(ITaxonService.class).getUuidAndTitleCacheTaxon();
+ }
+ else if(clazz == Synonym.class){
+ model = CdmStore.getService(ITaxonService.class).getUuidAndTitleCacheSynonym();
+ }
}
/** {@inheritDoc} */
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
/** {@inheritDoc} */
@Override
protected TaxonNode getPersistentObject(UUID uuid) {
- return CdmStore.getClassificationService().getTaxonNodeByUuid(uuid);
+ return CdmStore.getService(IClassificationService.class).getTaxonNodeByUuid(uuid);
}
/* (non-Javadoc)
if(classifications == null){
- classifications = CdmStore.getClassificationService().list(null, null, null, null, null);
+ classifications = CdmStore.getService(IClassificationService.class).list(null, null, null, null, null);
selectedClassification = classifications.iterator().next();
}
- model = CdmStore.getClassificationService().getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(selectedClassification);
+ model = CdmStore.getService(IClassificationService.class).getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(selectedClassification);
}
/** {@inheritDoc} */
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
import eu.etaxonomy.taxeditor.editor.newWizard.NewTeamWizard;
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getAgentService().getTeamUuidAndTitleCache();
+ model = CdmStore.getService(IAgentService.class).getTeamUuidAndTitleCache();
}
/** {@inheritDoc} */
/** {@inheritDoc} */
@Override
protected Team getPersistentObject(UUID uuid) {
- return (Team) CdmStore.getAgentService().load(uuid);
+ return (Team) CdmStore.getService(IAgentService.class).load(uuid);
}
}
import org.eclipse.swt.dnd.ByteArrayTransfer;
import org.eclipse.swt.dnd.TransferData;
+import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.Taxon;
in.readInt();
if(className.equals(Synonym.class.getName()) || className.equals(Taxon.class.getName())){
- ICdmBase object = CdmStore.getTaxonService().load(UUID.fromString(idString));
+ ICdmBase object = CdmStore.getService(ITaxonService.class).load(UUID.fromString(idString));
if(object == null){
return cdmBase;
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.api.service.ITaxonService;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.taxon.ITreeNode;
import eu.etaxonomy.cdm.model.taxon.Synonym;
private static TaxonEditorInput NewInstance(UUID taxonNodeUuid, ConversationHolder conversation){
- TaxonNode taxonNode = CdmStore.getTaxonNodeService().load(taxonNodeUuid, null);
+ TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(taxonNodeUuid, null);
if(taxonNode == null){
EditorUtil.warningDialog("Not yet implemented", TaxonEditorInput.class, "Selected element is not type TaxonBase.");
TaxonEditorInput input = null;
- TaxonBase taxonBase = CdmStore.getTaxonService().find(taxonBaseUuid);
+ TaxonBase taxonBase = CdmStore.getService(ITaxonService.class).find(taxonBaseUuid);
if(taxonBase instanceof Taxon){
Taxon taxon = (Taxon) taxonBase;
ConversationHolder conversation = CdmStore.createConversation();
TaxonNameBase<?, ?> name = PreferencesUtil.getPreferredNomenclaturalCode().getNewTaxonNameInstance(null);
- ITreeNode parentNode = CdmStore.getClassificationService().getTreeNodeByUuid(parentNodeUuid);
+ ITreeNode parentNode = CdmStore.getService(IClassificationService.class).getTreeNodeByUuid(parentNodeUuid);
Taxon newTaxon = Taxon.NewInstance(name, parentNode.getReference());
TaxonNode newTaxonNode = parentNode.addChildTaxon(newTaxon, parentNode.getReference(), parentNode.getMicroReference(), null);
// add the new taxon to the editors persistence context
- UUID newTaxonNodeUuid = CdmStore.getTaxonNodeService().save(newTaxonNode);
+ UUID newTaxonNodeUuid = CdmStore.getService(ITaxonNodeService.class).save(newTaxonNode);
return new TaxonEditorInput(newTaxonNode, conversation);
}
import org.eclipse.ui.IElementFactory;
import org.eclipse.ui.IMemento;
+import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.taxeditor.store.CdmStore;
if(! CdmStore.isActive()){
return null;
}
- if (taxonNodeUuid == null || CdmStore.getClassificationService().getTaxonNodeByUuid(UUID.fromString(taxonNodeUuid)) == null) {
+ if (taxonNodeUuid == null || CdmStore.getService(IClassificationService.class).getTaxonNodeByUuid(UUID.fromString(taxonNodeUuid)) == null) {
EditorUtil.warn(this.getClass(), "Couldn't find taxon node with UUID " + taxonNodeUuid);
return null;
}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.editor.handler;
-
-import org.apache.log4j.Logger;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-import eu.etaxonomy.taxeditor.editor.view.detail.DetailsViewPart;
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-
-/**
- * <p>ShowDetailsViewHandler class.</p>
- *
- * @author n.hoffmann
- * @created 05.06.2009
- * @version 1.0
- */
-public class ShowDetailsViewHandler extends AbstractHandler implements
- IHandler {
- private static final Logger logger = Logger
- .getLogger(ShowDetailsViewHandler.class);
-
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- /** {@inheritDoc} */
- public Object execute(ExecutionEvent event) throws ExecutionException {
- try {
- TaxeditorStorePlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().showView(DetailsViewPart.ID,
- null, IWorkbenchPage.VIEW_VISIBLE);
- } catch (PartInitException e) {
- logger.error("Error opening entity details view.", e);
- }
- return null;
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.editor.handler;
-
-import org.apache.log4j.Logger;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-import eu.etaxonomy.taxeditor.editor.view.media.MediaViewPart;
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-
-/**
- * <p>ShowMediaViewHandler class.</p>
- *
- * @author n.hoffmann
- * @created Jun 10, 2010
- * @version 1.0
- */
-public class ShowMediaViewHandler extends AbstractHandler implements IHandler {
- private static final Logger logger = Logger
- .getLogger(ShowMediaViewHandler.class);
-
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- /** {@inheritDoc} */
- public Object execute(ExecutionEvent event) throws ExecutionException {
- try {
- TaxeditorStorePlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().showView(MediaViewPart.ID,
- null, IWorkbenchPage.VIEW_VISIBLE);
- } catch (PartInitException e) {
- logger.error("Error opening name relationship view.", e);
- }
- return null;
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.editor.handler;
-
-import org.apache.log4j.Logger;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-import eu.etaxonomy.taxeditor.editor.view.supplementaldata.SupplementalDataViewPart;
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-
-/**
- * <p>ShowSupplementalDataViewHandler class.</p>
- *
- * @author n.hoffmann
- * @created Jun 10, 2010
- * @version 1.0
- */
-public class ShowSupplementalDataViewHandler extends AbstractHandler implements IHandler {
- private static final Logger logger = Logger
- .getLogger(ShowSupplementalDataViewHandler.class);
-
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- /** {@inheritDoc} */
- public Object execute(ExecutionEvent event) throws ExecutionException {
- try {
- TaxeditorStorePlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().showView(SupplementalDataViewPart.ID,
- null, IWorkbenchPage.VIEW_VISIBLE);
- } catch (PartInitException e) {
- logger.error("Error opening name relationship view.", e);
- }
- return null;
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.editor.handler;
-
-import org.apache.log4j.Logger;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart;
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-
-/**
- * <p>ShowTaxonDescriptionsViewHandler class.</p>
- *
- * @author n.hoffmann
- * @created 05.06.2009
- * @version 1.0
- */
-public class ShowTaxonDescriptionsViewHandler extends AbstractHandler implements
- IHandler {
- private static final Logger logger = Logger
- .getLogger(ShowTaxonDescriptionsViewHandler.class);
-
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- /** {@inheritDoc} */
- public Object execute(ExecutionEvent event) throws ExecutionException {
- try {
- TaxeditorStorePlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().showView(DescriptiveViewPart.ID,
- null, IWorkbenchPage.VIEW_VISIBLE);
- } catch (PartInitException e) {
- logger.error("Error opening name relationship view.", e);
- }
- return null;
- }
-}
import java.util.UUID;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
import eu.etaxonomy.taxeditor.editor.key.AbstractIdentificationEditorInput;
}
public static PolytomousKeyEditorInput NewInstance(UUID polytomousKeyUuid, ConversationHolder conversation) throws Exception{
- PolytomousKey polytomousKey = CdmStore.getPolytomousKeyService().load(polytomousKeyUuid, null);
+ PolytomousKey polytomousKey = CdmStore.getService(IPolytomousKeyService.class).load(polytomousKeyUuid, null);
return new PolytomousKeyEditorInput(conversation, polytomousKey);
}
import org.eclipse.core.runtime.IStatus;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
monitor.worked(20);
bind();
- Synonym synonym = CdmStore.getTaxonService().changeAcceptedTaxonToSynonym(oldTaxonNode, newAcceptedTaxonNode, null, null, null);
+ Synonym synonym = CdmStore.getService(ITaxonService.class).changeAcceptedTaxonToSynonym(oldTaxonNode, newAcceptedTaxonNode, null, null, null);
monitor.worked(40);
return postExecute(synonym);
import org.eclipse.core.runtime.IStatus;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.model.taxon.ITreeNode;
import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.Taxon;
public IStatus execute(IProgressMonitor monitor, IAdaptable info)
throws ExecutionException {
- newTaxon = CdmStore.getTaxonService().changeSynonymToAcceptedTaxon(synonym, taxon);
+ newTaxon = CdmStore.getService(ITaxonService.class).changeSynonymToAcceptedTaxon(synonym, taxon);
monitor.worked(20);
// synonym.setSec(null);
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
+import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
// fromTaxon.addTaxonRelation(taxon, taxonRelationshipType, null, null);
monitor.worked(20);
- Taxon fromTaxon = CdmStore.getTaxonService().changeSynonymToRelatedTaxon(synonym, taxon, taxonRelationshipType, null, null);
+ Taxon fromTaxon = CdmStore.getService(ITaxonService.class).changeSynonymToRelatedTaxon(synonym, taxon, taxonRelationshipType, null, null);
monitor.worked(40);
// TaxonRelationshipType.
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
+import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
// make misapplied name with synonym name
misapplication = Taxon.NewInstance(synonymName, null);
- CdmStore.getTaxonService().saveOrUpdate(misapplication);
+ CdmStore.getService(ITaxonService.class).saveOrUpdate(misapplication);
monitor.worked(20);
// store synonymRelationshipType for later undo operations
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
+import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
import eu.etaxonomy.cdm.model.taxon.Taxon;
monitor.worked(20);
- CdmStore.getTaxonService().swapSynonymAndAcceptedTaxon(synonym, taxon);
+ CdmStore.getService(ITaxonService.class).swapSynonymAndAcceptedTaxon(synonym, taxon);
monitor.worked(40);
package eu.etaxonomy.taxeditor.editor.newWizard;
+import eu.etaxonomy.cdm.api.service.ICollectionService;
import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.taxeditor.section.occurrence.CollectionWizardPage;
import eu.etaxonomy.taxeditor.store.CdmStore;
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- CdmStore.getCollectionService().saveOrUpdate(entity);
+ CdmStore.getService(ICollectionService.class).saveOrUpdate(entity);
}
/* (non-Javadoc)
package eu.etaxonomy.taxeditor.editor.newWizard;
+import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
import eu.etaxonomy.cdm.model.occurrence.Specimen;
import eu.etaxonomy.taxeditor.section.occurrence.DerivedUnitFacadeWizardPage;
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- CdmStore.getOccurrenceService().saveOrUpdate(entity);
+ CdmStore.getService(IOccurrenceService.class).saveOrUpdate(entity);
}
}
package eu.etaxonomy.taxeditor.editor.newWizard;
-import org.apache.log4j.Logger;
-
+import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
import eu.etaxonomy.taxeditor.store.CdmStore;
* @version 1.0
*/
public class NewFieldObservationWizard extends AbstractNewEntityWizard<FieldObservation> {
- private static final Logger logger = Logger
- .getLogger(NewFieldObservationWizard.class);
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#createNewEntity()
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- CdmStore.getOccurrenceService().saveOrUpdate(entity);
+ CdmStore.getService(IOccurrenceService.class).saveOrUpdate(entity);
}
}
package eu.etaxonomy.taxeditor.editor.newWizard;
+import eu.etaxonomy.cdm.api.service.INameService;
import eu.etaxonomy.cdm.model.name.BotanicalName;
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
import eu.etaxonomy.cdm.model.name.NonViralName;
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- CdmStore.getNameService().saveOrUpdate(entity);
+ CdmStore.getService(INameService.class).saveOrUpdate(entity);
}
}
package eu.etaxonomy.taxeditor.editor.newWizard;
+import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.taxeditor.section.agent.PersonWizardPage;
import eu.etaxonomy.taxeditor.store.CdmStore;
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- CdmStore.getAgentService().saveOrUpdate(entity);
+ CdmStore.getService(IAgentService.class).saveOrUpdate(entity);
}
}
package eu.etaxonomy.taxeditor.editor.newWizard;
+import eu.etaxonomy.cdm.api.service.IReferenceService;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
import eu.etaxonomy.taxeditor.section.reference.ReferenceWizardPage;
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- CdmStore.getReferenceService().saveOrUpdate(entity);
+ CdmStore.getService(IReferenceService.class).saveOrUpdate(entity);
}
/** {@inheritDoc} */
package eu.etaxonomy.taxeditor.editor.newWizard;
+import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.taxeditor.section.agent.TeamWizardPage;
import eu.etaxonomy.taxeditor.store.CdmStore;
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- CdmStore.getAgentService().saveOrUpdate(entity);
+ CdmStore.getService(IAgentService.class).saveOrUpdate(entity);
}
}
import eu.etaxonomy.cdm.model.occurrence.Specimen;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.Classification;
+import eu.etaxonomy.cdm.model.taxon.Synonym;
+import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
import eu.etaxonomy.taxeditor.forms.selection.PolytomousKeyNodeSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.PolytomousKeySelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.ReferenceSelectionElement;
+import eu.etaxonomy.taxeditor.forms.selection.SynonymSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.TaxonBaseSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.TaxonNodeSelectionElement;
+import eu.etaxonomy.taxeditor.forms.selection.TaxonSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.TeamSelectionElement;
import eu.etaxonomy.taxeditor.forms.term.AbstractEnumComboElement;
import eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement;
NAME,
REFERENCE,
TAXON_BASE,
+ TAXON,
+ SYNONYM,
TEAM,
AUTHOR_TEAM,
PERSON,
case TAXON_BASE:
element = new TaxonBaseSelectionElement(this, conversation, parentElement, labelString, (TaxonBase) entity, style);
break;
+ case TAXON:
+ element = new TaxonSelectionElement(this, conversation, parentElement, labelString, (Taxon) entity, style);
+ break;
+ case SYNONYM:
+ element = new SynonymSelectionElement(this, conversation, parentElement, labelString, (Synonym) entity, style);
+ break;
case DERIVED_UNIT:
element = new DerivedUnitBaseSelectionElement(this, conversation, parentElement, labelString, (DerivedUnitBase) entity, style);
break;
import org.eclipse.swt.events.SelectionEvent;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IReferenceService;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.taxeditor.dialogs.filteredSelection.FilteredReferenceSelectionDialog;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
Reference freshlyLoadedSelection = null;
if(newSelection != null)
- freshlyLoadedSelection = CdmStore.getReferenceService().load(newSelection.getUuid());
+ freshlyLoadedSelection = CdmStore.getService(IReferenceService.class).load(newSelection.getUuid());
setSelectionInternal(freshlyLoadedSelection);
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.forms.selection;
+
+import org.eclipse.swt.events.SelectionEvent;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.taxon.Synonym;
+import eu.etaxonomy.taxeditor.dialogs.filteredSelection.FilteredTaxonBaseSelectionDialog;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 9, 2010
+ * @version 1.0
+ */
+public class SynonymSelectionElement extends AbstractSelectionElement<Synonym> {
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param parentElement
+ * @param labelString
+ * @param entity
+ * @param isEditable
+ * @param isSelectable
+ * @param isDeletable
+ * @param style
+ */
+ public SynonymSelectionElement(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement,
+ String labelString, Synonym entity, int style) {
+ super(formFactory, conversation, parentElement, labelString, entity,
+ false, true, true, style);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ Synonym newSelection = FilteredTaxonBaseSelectionDialog.selectSynonym(getShell(), getConversationHolder());
+ setSelectionInternal(newSelection);
+ }
+
+}
*/
/** {@inheritDoc} */
public void widgetSelected(SelectionEvent e) {
- TaxonBase newSelection = FilteredTaxonBaseSelectionDialog.select(getShell(), getConversationHolder());
+ TaxonBase newSelection = FilteredTaxonBaseSelectionDialog.selectTaxonBase(getShell(), getConversationHolder());
setSelectionInternal(newSelection);
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.forms.selection;
+
+import org.eclipse.swt.events.SelectionEvent;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.dialogs.filteredSelection.FilteredTaxonBaseSelectionDialog;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 9, 2010
+ * @version 1.0
+ */
+public class TaxonSelectionElement extends AbstractSelectionElement<Taxon> {
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param parentElement
+ * @param labelString
+ * @param entity
+ * @param isEditable
+ * @param isSelectable
+ * @param isDeletable
+ * @param style
+ */
+ public TaxonSelectionElement(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement,
+ String labelString, Taxon entity, int style) {
+ super(formFactory, conversation, parentElement, labelString, entity,
+ false, true, true, style);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ Taxon newSelection = FilteredTaxonBaseSelectionDialog.selectTaxon(getShell(), getConversationHolder());
+ setSelectionInternal(newSelection);
+ }
+
+}
import eu.etaxonomy.taxeditor.forms.selection.ClassificationSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.TaxonBaseSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.TaxonNodeSelectionElement;
+import eu.etaxonomy.taxeditor.forms.selection.TaxonSelectionElement;
import eu.etaxonomy.taxeditor.parser.ParseHandler;
import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
private ITreeNode parentTreeNode;
- private TaxonBaseSelectionElement selection_reuseExistingTaxon;
+ private TaxonSelectionElement selection_reuseExistingTaxon;
private Taxon taxon;
ITreeNode entity, int style) {
selection_classification = (ClassificationSelectionElement) formFactory.createSelectionElement(SelectionType.CLASSIFICATION, getConversationHolder(), formElement, "Classification", null, style);
selection_parentTaxonNode = (TaxonNodeSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON_NODE, getConversationHolder(), formElement, "Parent", null, style);
- selection_reuseExistingTaxon = (TaxonBaseSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON_BASE, getConversationHolder(), formElement, "Reuse existing Taxon", null, style);
+ selection_reuseExistingTaxon = (TaxonSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON, getConversationHolder(), formElement, "Reuse existing Taxon", null, style);
text_newTaxonName = formFactory.createTextWithLabelElement(formElement, "New Taxon", "", style);
package eu.etaxonomy.taxeditor.section.description.detail;
-import org.apache.log4j.Logger;
import org.eclipse.swt.SWT;
import eu.etaxonomy.cdm.model.description.TaxonInteraction;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
-import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
-import eu.etaxonomy.taxeditor.forms.selection.TaxonBaseSelectionElement;
+import eu.etaxonomy.taxeditor.forms.selection.TaxonSelectionElement;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
*/
public class TaxonInteractionDetailElement extends AbstractDetailedDescriptionDetailElement<TaxonInteraction>{
- private static final Logger logger = Logger
- .getLogger(TaxonInteractionDetailElement.class);
- private TaxonBaseSelectionElement taxonSelection;
+ private TaxonSelectionElement taxonSelection;
private TextWithLabelElement interactionDescription;
/**
@Override
protected void createControls(ICdmFormElement formElement,
TaxonInteraction entity, int style) {
- taxonSelection = (TaxonBaseSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON_BASE, getConversationHolder(), this, null, entity.getTaxon2(), SWT.WRAP);
+ taxonSelection = (TaxonSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON, getConversationHolder(), this, null, entity.getTaxon2(), SWT.WRAP);
interactionDescription = formFactory.createMultilineTextWithLabel(this, "Description", 200, SWT.WRAP);
interactionDescription.setText(entity.getDescription(CdmStore.getDefaultLanguage()));
import eu.etaxonomy.taxeditor.forms.selection.PolytomousKeyNodeSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.PolytomousKeySelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.TaxonBaseSelectionElement;
+import eu.etaxonomy.taxeditor.forms.selection.TaxonSelectionElement;
import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
/**
private FeatureSelectionElement selection_feature;
- private TaxonBaseSelectionElement selection_taxon;
+ private TaxonSelectionElement selection_taxon;
private PolytomousKeySelectionElement selection_subkey;
selection_feature = (FeatureSelectionElement) formFactory.createSelectionElement(SelectionType.FEATURE, getConversationHolder(), formElement, "Feature", entity.getFeature(), style);
if(entity.isLeaf()){
- selection_taxon = (TaxonBaseSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON_BASE, getConversationHolder(), formElement, "Taxon", entity.getTaxon(), style);
+ selection_taxon = (TaxonSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON, getConversationHolder(), formElement, "Taxon", entity.getTaxon(), style);
}
selection_subkey = (PolytomousKeySelectionElement) formFactory.createSelectionElement(SelectionType.POLYTOMOUS_KEY, getConversationHolder(), formElement, "Subkey", entity.getSubkey(), style);
/** {@inheritDoc} */
@Override
public void createControls(ICdmFormElement formElement, int style) {
- // TODO until we do not have a specimen editor we will provide a simple text interface to enter specimen
- // information
-
-// text_specimenTypeText = formFactory.createTextWithLabelElement(formElement, "Unit", null, style);
- // TODO testing the specimen selection dialog
selection_typeSpecimen = (DerivedUnitBaseSelectionElement) formFactory.createSelectionElement(SelectionType.DERIVED_UNIT, getConversationHolder(), formElement, "Unit", null, style);
combo_typeStatus = (SpecimenTypeDesignationStatusComboElement) formFactory.createTermComboElement(TermComboType.SPECIMENTYPEDESIGNATIONSTATUS, formElement, "Designation Status", null, style);
@Override
public void setEntity(SpecimenTypeDesignation entity) {
super.setEntity(entity);
- // TODO remove this once specimen are completely implemented
- if(entity.getTypeSpecimen() != null && text_specimenTypeText != null){
- text_specimenTypeText.setText(entity.getTypeSpecimen().getTitleCache());
- }
+ selection_typeSpecimen.setEntity(entity.getTypeSpecimen());
SpecimenTypeDesignationStatus typeStatus = (SpecimenTypeDesignationStatus) HibernateProxyHelper.deproxy(entity.getTypeStatus());
combo_typeStatus.setSelection(typeStatus);
import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
import eu.etaxonomy.taxeditor.forms.CheckboxElement;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.forms.selection.TaxonBaseSelectionElement;
+import eu.etaxonomy.taxeditor.forms.selection.TaxonSelectionElement;
import eu.etaxonomy.taxeditor.forms.term.DeterminationModifierComboElement;
/**
private DeterminationModifierComboElement combo_determinationModifier;
private CheckboxElement checkbox_preferredFlag;
- private TaxonBaseSelectionElement selection_taxon;
+ private TaxonSelectionElement selection_taxon;
// private TODO a set of references
/**
combo_determinationModifier = (DeterminationModifierComboElement) formFactory.createTermComboElement(TermComboType.DETERMINATION_MODIFIER, element, "Determination Modifier", null, style);
checkbox_preferredFlag = formFactory.createCheckbox(element, "Preferred", false, style);
- selection_taxon = (TaxonBaseSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON_BASE, getConversationHolder(), element, "Taxon", null, style);
+ selection_taxon = (TaxonSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON, getConversationHolder(), element, "Taxon", null, style);
// TODO set of references
import org.apache.commons.io.FileUtils;
import org.eclipse.swt.events.SelectionListener;
+import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.cdm.common.mediaMetaData.ImageMetaData;
import eu.etaxonomy.cdm.model.media.ImageFile;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
}
try {
- Integer size = CdmStore.getMediaService().getImageSize(uri, 10000);
+ Integer size = CdmStore.getService(IMediaService.class).getImageSize(uri, 10000);
if(size != null){
text_size.setText(FileUtils.byteCountToDisplaySize(size));
ImageMetaData imageInfo;
try {
- imageInfo = CdmStore.getMediaService().getImageInfo(uri, 10000);
+ imageInfo = CdmStore.getService(IMediaService.class).getImageInfo(uri, 10000);
text_height.setInteger(imageInfo.getHeight());
getEntity().setHeight(imageInfo.getHeight());
<menuContribution
locationURI="menu:eu.etaxonomy.taxeditor.menu.showView">
<command
- commandId="eu.etaxonomy.taxeditor.navigation.command.showTaxonomicTreeView"
+ commandId="org.eclipse.ui.views.showView"
label="Taxon Navigator"
style="push">
+ <parameter
+ name="org.eclipse.ui.views.showView.viewId"
+ value="eu.etaxonomy.taxeditor.navigation.navigator">
+ </parameter>
</command>
<command
- commandId="eu.etaxonomy.taxeditor.navigation.command.showPolytomousKeysView"
+ commandId="org.eclipse.ui.views.showView"
label="Polytomous Keys"
style="push">
+ <parameter
+ name="org.eclipse.ui.views.showView.viewId"
+ value="eu.etaxonomy.taxeditor.navigation.key.polytomous.polytomousKeyViewPart">
+ </parameter>
</command>
</menuContribution>
<menuContribution
</activeWhen>
</handler>
</extension>
- <extension
- point="org.eclipse.ui.commands">
- <command
- defaultHandler="eu.etaxonomy.taxeditor.navigation.handler.ShowTaxonomicTreeViewHandler"
- id="eu.etaxonomy.taxeditor.navigation.command.showTaxonomicTreeView"
- name="Show Taxon Navigator View">
- </command>
- <command
- defaultHandler="eu.etaxonomy.taxeditor.navigation.handler.ShowPolytomousKeysViewHandler"
- id="eu.etaxonomy.taxeditor.navigation.command.showPolytomousKeysView"
- name="Show Polytomous Keys">
- </command>
- </extension>
<!--extension
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.navigation.handler;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
-import eu.etaxonomy.taxeditor.navigation.key.polytomous.PolytomousKeyViewPart;
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-
-/**
- * @author n.hoffmann
- *
- */
-public class ShowPolytomousKeysViewHandler extends AbstractHandler {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- /** {@inheritDoc} */
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- try {
- TaxeditorStorePlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().
- showView(PolytomousKeyViewPart.ID, null, IWorkbenchPage.VIEW_VISIBLE);
- } catch (PartInitException e) {
- NavigationUtil.error(getClass(), e);
- }
- return null;
- }
-
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.navigation.handler;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
-import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-
-/**
- * <p>ShowTaxonomicTreeViewHandler class.</p>
- *
- * @author n.hoffmann
- * @created 08.05.2009
- * @version 1.0
- */
-public class ShowTaxonomicTreeViewHandler extends AbstractHandler {
-
- /** {@inheritDoc} */
- public Object execute(ExecutionEvent event) throws ExecutionException {
- try {
- TaxeditorStorePlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().
- showView(TaxonNavigator.ID, null, IWorkbenchPage.VIEW_VISIBLE);
- } catch (PartInitException e) {
- NavigationUtil.error(getClass(), e);
- }
- return null;
- }
-}
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.common.CdmBase;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
private void setInput() {
conversation = CdmStore.createConversation();
- List<PolytomousKey> input = CdmStore.getPolytomousKeyService().list(PolytomousKey.class, null, null, null, null);
+ List<PolytomousKey> input = CdmStore.getService(IPolytomousKeyService.class).list(PolytomousKey.class, null, null, null, null);
viewer.setInput(input);
}
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;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
public IStatus execute(IProgressMonitor monitor, IAdaptable info)
throws ExecutionException {
bind();
- CdmStore.getPolytomousKeyService().delete(key);
+ CdmStore.getService(IPolytomousKeyService.class).delete(key);
return postExecute(null);
}
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.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
public List<Classification> getParentBeans() {
List<String> propertyPaths = Arrays.asList(new String[]{"name"});
- List<Classification> classifications = CdmStore.getClassificationService().list(null, null, null, null, propertyPaths);
+ List<Classification> classifications = CdmStore.getService(IClassificationService.class).list(null, null, null, null, propertyPaths);
if(classifications.size() == 0){
Classification classification = Classification.NewInstance("My Classification");
AbstractPostOperation operation = new CreateClassification("Creating initial classification", NavigationUtil.getUndoContext(), classification, NavigationUtil.getNavigator(false), NavigationUtil.getNavigator(false));
NavigationUtil.executeOperation(operation);
- classifications = CdmStore.getClassificationService().list(null, null, null, null, propertyPaths);
+ classifications = CdmStore.getService(IClassificationService.class).list(null, null, null, null, propertyPaths);
}
return classifications;
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.common.CdmBase;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.DataChangeBridge;
if(string.length() == 0) return null;
for (String uuid : string.split(" ")) {
- CdmBase cdmBaseObject = CdmStore.getClassificationService().getTaxonNodeByUuid(UUID.fromString(uuid));
+ CdmBase cdmBaseObject = CdmStore.getService(IClassificationService.class).getTaxonNodeByUuid(UUID.fromString(uuid));
if (cdmBaseObject == null) {
// is this a tree uuid?
- cdmBaseObject = CdmStore.getClassificationService().getClassificationByUuid(UUID.fromString(uuid));
+ cdmBaseObject = CdmStore.getService(IClassificationService.class).getClassificationByUuid(UUID.fromString(uuid));
if(cdmBaseObject == null) return null;
}
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.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.ITreeNode;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
StoreUtil.warningDialog("Tree is not empty", this, "It is not possible to delete a Taxonomic Tree that " +
"is not empty. Please delete included taxa first");
}else{
- CdmStore.getClassificationService().delete(taxonomicTree);
+ CdmStore.getService(IClassificationService.class).delete(taxonomicTree);
}
}
}
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.taxon.Classification;
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
throws ExecutionException {
bind();
- CdmStore.getClassificationService().save(classification);
+ CdmStore.getService(IClassificationService.class).save(classification);
monitor.worked(40);
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;
import eu.etaxonomy.cdm.model.taxon.Classification;
classification.setReference(reference);
}
- CdmStore.getClassificationService().saveOrUpdate(classification);
+ CdmStore.getService(IClassificationService.class).saveOrUpdate(classification);
monitor.worked(40);
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;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
throws ExecutionException {
bind();
monitor.worked(20);
- CdmStore.getPolytomousKeyService().saveOrUpdate(key);
+ CdmStore.getService(IPolytomousKeyService.class).saveOrUpdate(key);
monitor.worked(40);
return postExecute(key);
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.TaxonNameBase;
import eu.etaxonomy.cdm.model.taxon.ITreeNode;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
monitor.worked(40);
- CdmStore.getTaxonNodeService().saveOrUpdate(childTaxonNode);
+ CdmStore.getService(ITaxonNodeService.class).saveOrUpdate(childTaxonNode);
return postExecute(childTaxonNode);
}catch(Exception e){
- StoreUtil.warningDialog("Could not create taxon node", this, e.getMessage());
+ NavigationUtil.errorDialog("Could not create taxon node", getClass(), e.getLocalizedMessage(), e);
return Status.CANCEL_STATUS;
}
}
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.common.CdmBase;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
*/
public class ClassificationWizard extends Wizard implements INewWizard, IPostOperationEnabled, IConversationEnabled {
- private static final Logger logger = Logger
- .getLogger(ClassificationWizard.class);
-
private ClassificationWizardPage page;
private Classification classification;
public ClassificationWizard(Classification classification){
this();
setWindowTitle("Edit Entity");
- this.classification = CdmStore.getClassificationService().load(classification.getUuid());
+ this.classification = CdmStore.getService(IClassificationService.class).load(classification.getUuid());
}
/* (non-Javadoc)
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.ITreeNode;
ITreeNode treeNode = (ITreeNode) selectedObject;
if(treeNode instanceof Classification){
- return CdmStore.getClassificationService().load(treeNode.getUuid());
+ return CdmStore.getService(IClassificationService.class).load(treeNode.getUuid());
}
else if(treeNode instanceof TaxonNode){
- return CdmStore.getTaxonNodeService().load(treeNode.getUuid());
+ return CdmStore.getService(ITaxonNodeService.class).load(treeNode.getUuid());
}
}
}
public ConversationHolder getConversationHolder() {
return conversation;
}
-
-
-// private static final Logger logger = Logger.getLogger(NewTaxonNodeWizard.class);
-// private TaxonNodeWizardPage page;
-//
-// /**
-// * @param configuration
-// */
-// public NewTaxonNodeWizard() {
-// }
-//
-// /* (non-Javadoc)
-// * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#performFinish()
-// */
-// @Override
-// public boolean performFinish() {
-// return super.performFinish();
-// }
-//
-// /* (non-Javadoc)
-// * @see org.eclipse.jface.wizard.Wizard#addPages()
-// */
-// @Override
-// public void addPages() {
-// page = new TaxonNodeWizardPage(formFactory, getConversationHolder(), (ITreeNode) selection.getFirstElement());
-// addPage(page);
-// }
-//
-// /* (non-Javadoc)
-// * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#getEntity()
-// */
-// @Override
-// public ITreeNode getEntity() {
-// return getDetailElement().getParentTreeNode();
-// }
-//
-// /* (non-Javadoc)
-// * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#saveEntity()
-// */
-// @Override
-// protected void saveEntity() {
-// getEntity().addChildTaxon(getDetailElement().getTaxon(), getEntity().getReference(), getEntity().getMicroReference(), null);
-// }
-//
-// /* (non-Javadoc)
-// * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#createNewEntity()
-// */
-// @Override
-// protected TaxonNode createNewEntity() {
-// return null;
-// }
-//
-// /**
-// * @return
-// */
-// public TaxonNodeDetailElement getDetailElement() {
-// return (TaxonNodeDetailElement) page.getDetailElement();
-// }
-
}
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.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
import eu.etaxonomy.taxeditor.forms.selection.ClassificationSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.NameSelectionElement;
-import eu.etaxonomy.taxeditor.forms.selection.TaxonBaseSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.TaxonNodeSelectionElement;
+import eu.etaxonomy.taxeditor.forms.selection.TaxonSelectionElement;
import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
import eu.etaxonomy.taxeditor.parser.ParseHandler;
public class NewTaxonNodeWizardPage extends WizardPage implements IPropertyChangeListener, IConversationEnabled{
private ClassificationSelectionElement selection_classification;
private TaxonNodeSelectionElement selection_parentTaxonNode;
- private TaxonBaseSelectionElement selection_reuseExistingTaxon;
+ private TaxonSelectionElement selection_reuseExistingTaxon;
private TextWithLabelElement text_newTaxonName;
private CheckboxElement checkbox_openInEditor;
private CdmFormFactory formFactory;
setParentTreeNode(selection_parentTaxonNode.getEntity());
}
else if(eventSource == selection_reuseExistingTaxon){
- TaxonBase taxonBase = selection_reuseExistingTaxon.getEntity();
+ boolean enabled = selection_reuseExistingTaxon.getEntity() == null;
+ selection_reuseExistingName.setEnabled(enabled);
+ text_newTaxonName.setEnabled(enabled);
- if(taxonBase instanceof Synonym){
- NavigationUtil.warningDialog("Selected Taxon is a Synonym", this, "This case is not handled yet.");
- }
-
- setTaxon((Taxon) taxonBase);
+ setTaxon(selection_reuseExistingTaxon.getEntity());
}
else if(eventSource == selection_reuseExistingName){
+ boolean enabled = selection_reuseExistingName.getEntity() == null;
+ selection_reuseExistingTaxon.setEnabled(enabled);
+ text_newTaxonName.setEnabled(enabled);
+
setTaxon(selection_reuseExistingName.getEntity());
}
else if(eventSource == text_newTaxonName){
+ boolean enabled = CdmUtils.isEmpty(text_newTaxonName.getText());
+ selection_reuseExistingTaxon.setEnabled(enabled);
+ selection_reuseExistingName.setEnabled(enabled);
+
setTaxon(text_newTaxonName.getText());
}
else if(eventSource == checkbox_openInEditor){
selection_classification = (ClassificationSelectionElement) formFactory.createSelectionElement(SelectionType.CLASSIFICATION, getConversationHolder(), rootElement, "Classification", null, SWT.NULL);
selection_parentTaxonNode = (TaxonNodeSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON_NODE, getConversationHolder(), rootElement, "Parent", null, SWT.NULL);
- selection_reuseExistingTaxon = (TaxonBaseSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON_BASE, getConversationHolder(), rootElement, "Reuse existing Taxon", null, SWT.NULL);
+ selection_reuseExistingTaxon = (TaxonSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON, getConversationHolder(), rootElement, "Reuse existing Taxon", null, SWT.NULL);
+
selection_reuseExistingName = (NameSelectionElement) formFactory.createSelectionElement(SelectionType.NAME, getConversationHolder(), rootElement, "Reuse existing name", null, SWT.NULL);
text_newTaxonName = formFactory.createTextWithLabelElement(rootElement, "New Taxon", "", SWT.NULL);
name="Available Languages">
</page>
<page
- category="eu.etaxonomy.taxeditor.preferences.taxonomic"
+ category="eu.etaxonomy.taxeditor.preferences.general"
class="eu.etaxonomy.taxeditor.preference.menu.MarkerTypeMenuPreferences"
id="eu.etaxonomy.taxeditor.preferences.markerTypes"
name="Marker Types">
</page>
<page
- category="eu.etaxonomy.taxeditor.preferences.taxonomic"
+ category="eu.etaxonomy.taxeditor.preferences.general"
class="eu.etaxonomy.taxeditor.preference.menu.ExtensionTypeMenuPreferences"
id="eu.etaxonomy.taxeditor.preferences.extensionTypes"
name="Extension Types">
category="org.eclipse.ui"
class="org.eclipse.ui.ExtensionFactory:logView"
id="org.eclipse.ui.views.LogView">
- </view>
+ </view>
+ <view
+ class="eu.etaxonomy.taxeditor.reporting.ReportingViewPart"
+ id="eu.etaxonomy.taxeditor.reporting.viewPart"
+ name="Reporting"
+ restorable="true">
+ </view>
</extension>
<extension
point="org.eclipse.ui.menus">
visible="true">
</separator>
<command
- commandId="eu.etaxonomy.taxeditor.store.operations.showDatasourceView"
+ commandId="org.eclipse.ui.views.showView"
label="Datasource"
style="push">
+ <parameter
+ name="org.eclipse.ui.views.showView.viewId"
+ value="eu.etaxonomy.taxeditor.store.datasource.datasourceView">
+ </parameter>
</command>
<command
- commandId="eu.etaxonomy.taxeditor.store.operations.showUserManagerView"
+ commandId="org.eclipse.ui.views.showView"
label="User Manager"
style="push">
+ <parameter
+ name="org.eclipse.ui.views.showView.viewId"
+ value="eu.etaxonomy.taxeditor.store.userManagerView">
+ </parameter>
</command>
<command
- commandId="eu.etaxonomy.taxeditor.store.operations.showErrorView"
+ commandId="org.eclipse.ui.views.showView"
label="Messages"
style="push">
+ <parameter
+ name="org.eclipse.ui.views.showView.viewId"
+ value="org.eclipse.pde.runtime.LogView">
+ </parameter>
+ </command>
+ <command
+ commandId="org.eclipse.ui.views.showView"
+ label="Reporting"
+ style="push">
+ <parameter
+ name="org.eclipse.ui.views.showView.viewId"
+ value="eu.etaxonomy.taxeditor.reporting.viewPart">
+ </parameter>
</command>
</menu>
</menuContribution>
<extension
name="Window Menu Commands"
point="org.eclipse.ui.commands">
- <command
- defaultHandler="eu.etaxonomy.taxeditor.handler.ShowDataSourceViewHandler"
- id="eu.etaxonomy.taxeditor.store.operations.showDatasourceView"
- name="Show Datasource View">
- </command>
- <command
- defaultHandler="eu.etaxonomy.taxeditor.handler.ShowUserManagerViewHandler"
- id="eu.etaxonomy.taxeditor.store.operations.showUserManagerView"
- name="Show User Manager View">
- </command>
- <command
- defaultHandler="eu.etaxonomy.taxeditor.handler.ShowErrorViewHandler"
- id="eu.etaxonomy.taxeditor.store.operations.showErrorView"
- name="Show Error View">
- </command>
<command
defaultHandler="eu.etaxonomy.taxeditor.handler.ShowLoginWindowHandler"
id="eu.etaxonomy.taxeditor.store.operations.showLoginWindow"
import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
import eu.etaxonomy.taxeditor.datasource.view.CdmMetaDataAwareDataSourceContainer;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.StoreUtil;
/**
if(selection != null && selection instanceof IStructuredSelection){
CdmMetaDataAwareDataSourceContainer container = (CdmMetaDataAwareDataSourceContainer) ((IStructuredSelection) selection).getFirstElement();
+ if(CdmStore.isConnecting()){
+ StoreUtil.warningDialog("Already connecting", this, "You are currently connecting to a different datasource already.");
+ return null;
+ }
+
if(!container.isRunning()){
StoreUtil.warningDialog("Chosen datasource is not available", this, "This could mean that either the database server is " +
"not running or the machine is not reachable.\n\n" +
package eu.etaxonomy.taxeditor.featuretree;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import org.eclipse.jface.viewers.CheckboxTableViewer;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.FeatureTree;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.preference.menu.DefinedTermBaseContentProvider;
import eu.etaxonomy.taxeditor.preference.menu.DefinedTermBaseLabelProvider;
import eu.etaxonomy.taxeditor.store.CdmStore;
public class AvailableFeaturesWizardPage extends WizardPage {
private CheckboxTableViewer viewer;
+ private FeatureTree featureTree;
/**
* <p>Constructor for AvailableFeaturesWizardPage.</p>
* @param featureTree a {@link eu.etaxonomy.cdm.model.description.FeatureTree} object.
*/
protected AvailableFeaturesWizardPage(FeatureTree featureTree) {
- super("AvailableFeaturesWizardPage");
+ super("AvailableFeaturesWizardPage");
+ this.featureTree = featureTree;
+ setTitle("Available Features");
+ setDescription("Please select features you want to add to the tree. Features already in the tree do not show.");
}
/* (non-Javadoc)
viewer.setContentProvider(new DefinedTermBaseContentProvider());
viewer.setLabelProvider(new DefinedTermBaseLabelProvider());
- viewer.setInput(CdmStore.getTermManager().getPreferredFeatures());
+ viewer.setInput(getAvailableFeatures());
setControl(composite);
}
return features;
}
+
+ /**
+ * We want to show only features that are not already in the featureTree
+ *
+ * @return
+ */
+ private List<Feature> getAvailableFeatures(){
+
+ List<Feature> preferredFeatures = CdmStore.getTermManager().getPreferredFeatures();
+
+ for(Feature featureAlreadyInTree : featureTree.getDistinctFeatures()){
+ preferredFeatures.remove(featureAlreadyInTree);
+ }
+
+ return preferredFeatures;
+
+ }
}
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.FeatureNode;
import eu.etaxonomy.cdm.model.description.FeatureTree;
Collection<Feature> additionalFeatures = wizard.getAdditionalFeatures();
for(Feature feature : additionalFeatures){
FeatureNode child = FeatureNode.NewInstance(feature);
- CdmStore.getFeatureNodeService().saveOrUpdate(child);
+ CdmStore.getService(IFeatureNodeService.class).saveOrUpdate(child);
parent.addChild(child);
}
viewer.refresh();
FeatureNode parent = featureNode.getParent();
parent.removeChild(featureNode);
}
+ viewer.refresh();
}
}
import org.eclipse.swt.dnd.ByteArrayTransfer;
import org.eclipse.swt.dnd.TransferData;
+import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
import eu.etaxonomy.cdm.model.description.FeatureNode;
import eu.etaxonomy.taxeditor.store.CdmStore;
UUID uuid = UUID.fromString(dataIn.readUTF());
- FeatureNode featureNode = CdmStore.getFeatureNodeService().load(uuid);
+ FeatureNode featureNode = CdmStore.getService(IFeatureNodeService.class).load(uuid);
return featureNode;
}
import org.eclipse.jface.wizard.Wizard;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.taxeditor.store.CdmStore;
@Override
public boolean performFinish() {
try{
- CdmStore.getFeatureTreeService().saveOrUpdate(selectedFeatureTree);
+ CdmStore.getService(IFeatureTreeService.class).saveOrUpdate(selectedFeatureTree);
conversation.commit();
}finally{
conversation.close();
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.taxeditor.store.CdmStore;
button_add.addSelectionListener(new AddButtonSelectionListener());
button_remove.addSelectionListener(new RemoveButtonSelectionListener());
- List<FeatureTree> input = CdmStore.getFeatureTreeService().list(FeatureTree.class, null, null, null, null);
+ List<FeatureTree> input = CdmStore.getService(IFeatureTreeService.class).list(FeatureTree.class, null, null, null, null);
viewer.setInput(input);
modifyText(null);
featureTree.setTitleCache(text_title.getText(), true);
viewer.add(featureTree);
- CdmStore.getFeatureTreeService().saveOrUpdate(featureTree);
+ CdmStore.getService(IFeatureTreeService.class).saveOrUpdate(featureTree);
text_title.setText("");
viewer.setSelection(new StructuredSelection(featureTree));
IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
for(Object element : selection.toArray()){
viewer.remove(element);
- CdmStore.getFeatureTreeService().delete((FeatureTree) element);
+ CdmStore.getService(IFeatureTreeService.class).delete((FeatureTree) element);
viewer.setSelection(new StructuredSelection(new Object[0]));
}
}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.handler;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-import eu.etaxonomy.taxeditor.datasource.view.CdmDataSourceViewPart;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-
-/**
- * <p>ShowDataSourceViewHandler class.</p>
- *
- * @author n.hoffmann
- * @created 14.04.2009
- * @version 1.0
- */
-public class ShowDataSourceViewHandler extends AbstractHandler implements IHandler {
-
- /** {@inheritDoc} */
- public Object execute(ExecutionEvent event) throws ExecutionException {
- try {
- TaxeditorStorePlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().showView(CdmDataSourceViewPart.ID,
- null, IWorkbenchPage.VIEW_VISIBLE);
- } catch (PartInitException e) {
- StoreUtil.error(this.getClass(), "Error opening data source view.", e);
- }
- return null;
- }
-
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.handler;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-
-/**
- * <p>ShowErrorViewHandler class.</p>
- *
- * @author n.hoffmann
- * @created Oct 13, 2010
- * @version 1.0
- */
-public class ShowErrorViewHandler extends AbstractHandler {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- /** {@inheritDoc} */
- @Override
- public Object execute(ExecutionEvent arg0) throws ExecutionException {
- try {
- TaxeditorStorePlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().showView("org.eclipse.pde.runtime.LogView",
- null, IWorkbenchPage.VIEW_VISIBLE);
- } catch (PartInitException e) {
- StoreUtil.error(this.getClass(), e);
- }
- return null;
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.handler;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-import eu.etaxonomy.taxeditor.user.view.UserManagerView;
-
-/**
- * <p>ShowUserManagerViewHandler class.</p>
- *
- * @author n.hoffmann
- * @created 01.07.2009
- * @version 1.0
- */
-public class ShowUserManagerViewHandler extends AbstractHandler implements IHandler{
-
- /** {@inheritDoc} */
- public Object execute(ExecutionEvent event) throws ExecutionException {
- try {
- TaxeditorStorePlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().showView(UserManagerView.ID,
- null, IWorkbenchPage.VIEW_VISIBLE);
- } catch (PartInitException e) {
- StoreUtil.error(this.getClass(), e);
- }
- return null;
- }
-}
* @created Sep 11, 2009
* @version 1.0
*/
-public abstract class AbstractIOHandler<CONFIGURATOR extends IIoConfigurator> {
+public abstract class AbstractIOManager<CONFIGURATOR extends IIoConfigurator> {
protected CdmApplicationController applicationController;
* @param applicationController a {@link eu.etaxonomy.cdm.api.application.CdmApplicationController} object.
* @param <CONFIGURATOR> a CONFIGURATOR object.
*/
- protected AbstractIOHandler(CdmApplicationController applicationController){
+ protected AbstractIOManager(CdmApplicationController applicationController){
this.applicationController = applicationController;
}
* @created Sep 11, 2009
* @version 1.0
*/
-public class ExportHandler extends AbstractIOHandler<IExportConfigurator>{
+public class ExportManager extends AbstractIOManager<IExportConfigurator>{
/**
*
* @param applicationController
*/
- private ExportHandler(CdmApplicationController applicationController){
+ private ExportManager(CdmApplicationController applicationController){
super(applicationController);
}
* <p>NewInstance</p>
*
* @param applicationController a {@link eu.etaxonomy.cdm.api.application.CdmApplicationController} object.
- * @return a {@link eu.etaxonomy.taxeditor.io.ExportHandler} object.
+ * @return a {@link eu.etaxonomy.taxeditor.io.ExportManager} object.
*/
- public static ExportHandler NewInstance(CdmApplicationController applicationController){
- return new ExportHandler(applicationController);
+ public static ExportManager NewInstance(CdmApplicationController applicationController){
+ return new ExportManager(applicationController);
}
/**
* @created Sep 11, 2009
* @version 1.0
*/
-public class ImportHandler extends AbstractIOHandler<IImportConfigurator> {
+public class ImportManager extends AbstractIOManager<IImportConfigurator> {
/**
* @param applicationController
*/
- private ImportHandler(
+ private ImportManager(
CdmApplicationController applicationController) {
super(applicationController);
}
* <p>NewInstance</p>
*
* @param applicationController a {@link eu.etaxonomy.cdm.api.application.CdmApplicationController} object.
- * @return a {@link eu.etaxonomy.taxeditor.io.ImportHandler} object.
+ * @return a {@link eu.etaxonomy.taxeditor.io.ImportManager} object.
*/
- public static ImportHandler NewInstance(CdmApplicationController applicationController){
- return new ImportHandler(applicationController);
+ public static ImportManager NewInstance(CdmApplicationController applicationController){
+ return new ImportManager(applicationController);
}
/**
configurator.setSource(source);
configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
- CdmStore.getImportHandler().run(configurator);
+ CdmStore.getImportManager().run(configurator);
return true;
}
*/
/** {@inheritDoc} */
public void init(IWorkbench workbench, IStructuredSelection selection) {
- configurator = CdmStore.getImportHandler().AbcdConfigurator();
+ configurator = CdmStore.getImportManager().AbcdConfigurator();
}
/* (non-Javadoc)
configurator.setDestination(destination);
- CdmStore.getExportHandler().run(configurator);
+ CdmStore.getExportManager().run(configurator);
return true;
}
*/
/** {@inheritDoc} */
public void init(IWorkbench workbench, IStructuredSelection selection) {
- configurator = CdmStore.getImportHandler().BerlinModelConfigurator();
+ configurator = CdmStore.getImportManager().BerlinModelConfigurator();
}
/* (non-Javadoc)
configurator.setSource(source);
- CdmStore.getImportHandler().run(configurator);
+ CdmStore.getImportManager().run(configurator);
return true;
}
File file = dataSourcePage.getFile();
configurator.setSource(file.toURI());
- CdmStore.getImportHandler().run(configurator);
+ CdmStore.getImportManager().run(configurator);
return true;
}
*/
/** {@inheritDoc} */
public void init(IWorkbench workbench, IStructuredSelection selection) {
- configurator = CdmStore.getImportHandler().EndnoteConfigurator();
+ configurator = CdmStore.getImportManager().EndnoteConfigurator();
}
/* (non-Javadoc)
configurator.setSource(source);
configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
- CdmStore.getImportHandler().run(configurator);
+ CdmStore.getImportManager().run(configurator);
return true;
}
*/
/** {@inheritDoc} */
public void init(IWorkbench workbench, IStructuredSelection selection) {
- configurator = CdmStore.getImportHandler().NormalExplicitConfigurator();
+ configurator = CdmStore.getImportManager().NormalExplicitConfigurator();
}
/* (non-Javadoc)
/** {@inheritDoc} */
public void init(IWorkbench workbench, IStructuredSelection selection) {
this.setWindowTitle("JAXB Export");
- this.configurator = CdmStore.getExportHandler().JaxbConfigurator();
+ this.configurator = CdmStore.getExportManager().JaxbConfigurator();
}
/* (non-Javadoc)
configurator.setDestination(urlString);
- CdmStore.getExportHandler().run(configurator);
+ CdmStore.getExportManager().run(configurator);
return true;
}
configurator.setSource(source);
configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
- CdmStore.getImportHandler().run(configurator);
+ CdmStore.getImportManager().run(configurator);
return true;
}
*/
/** {@inheritDoc} */
public void init(IWorkbench workbench, IStructuredSelection selection) {
- configurator = CdmStore.getImportHandler().JaxbConfigurator();
+ configurator = CdmStore.getImportManager().JaxbConfigurator();
}
/* (non-Javadoc)
configurator.setDestination(file);
- CdmStore.getExportHandler().run(configurator);
+ CdmStore.getExportManager().run(configurator);
return true;
}
/** {@inheritDoc} */
public void init(IWorkbench workbench, IStructuredSelection selection) {
this.setWindowTitle("SDD Export");
- this.configurator = CdmStore.getExportHandler().SddConfigurator();
+ this.configurator = CdmStore.getExportManager().SddConfigurator();
}
}
configurator.setSource(source);
configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
- CdmStore.getImportHandler().run(configurator);
+ CdmStore.getImportManager().run(configurator);
return true;
}
*/
/** {@inheritDoc} */
public void init(IWorkbench workbench, IStructuredSelection selection) {
- configurator = CdmStore.getImportHandler().SddConfigurator();
+ configurator = CdmStore.getImportManager().SddConfigurator();
}
}
configurator.setDestination(new File(urlString));
- CdmStore.getExportHandler().run(configurator);
+ CdmStore.getExportManager().run(configurator);
return true;
}
configurator.setSource(source);
configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
- CdmStore.getImportHandler().run(configurator);
+ CdmStore.getImportManager().run(configurator);
return true;
}
*/
/** {@inheritDoc} */
public void init(IWorkbench workbench, IStructuredSelection selection) {
- configurator = CdmStore.getImportHandler().TcsConfigurator();
+ configurator = CdmStore.getImportManager().TcsConfigurator();
}
/* (non-Javadoc)
import org.eclipse.swt.widgets.Control;
+import eu.etaxonomy.cdm.api.service.ICommonService;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.name.NonViralName;
private List<INomenclaturalReference> findMatchingNomenclaturalReference(INomenclaturalReference nomenclaturalReference) {
if(nomenclaturalReference == null) return new ArrayList<INomenclaturalReference>();
try{
- return CdmStore.getCommonService().findMatching(nomenclaturalReference, MatchStrategyConfigurator.ReferenceMatchStrategy());
+ return CdmStore.getService(ICommonService.class).findMatching(nomenclaturalReference, MatchStrategyConfigurator.ReferenceMatchStrategy());
}catch (MatchException e) {
StoreUtil.error(this.getClass(), "Error finding matching references", e);
}
}
try{
- return CdmStore.getCommonService().findMatching(authorTeam, MatchStrategyConfigurator.TeamOrPersonMatchStrategy());
+ return CdmStore.getService(ICommonService.class).findMatching(authorTeam, MatchStrategyConfigurator.TeamOrPersonMatchStrategy());
}catch (MatchException e) {
StoreUtil.error(this.getClass(), "Error finding matching authors", e);
}
private List<TaxonNameBase> findMatchingLatinNames(TaxonNameBase taxonNameBase) {
try {
- return CdmStore.getCommonService().findMatching(taxonNameBase, MatchStrategyConfigurator.NonViralNameMatchStrategy());
+ return CdmStore.getService(ICommonService.class).findMatching(taxonNameBase, MatchStrategyConfigurator.NonViralNameMatchStrategy());
} catch (MatchException e) {
StoreUtil.error(this.getClass(), "Error finding matching names", e);
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
+import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.taxeditor.featuretree.FeatureTreeContentProvider;
import eu.etaxonomy.taxeditor.featuretree.FeatureTreeLabelProvider;
}
});
- List<FeatureTree> input = CdmStore.getFeatureTreeService().list(FeatureTree.class, null, null, null, null);
+ List<FeatureTree> input = CdmStore.getService(IFeatureTreeService.class).list(FeatureTree.class, null, null, null, null);
viewer.setInput(input);
}
});
- List<FeatureTree> input = CdmStore.getFeatureTreeService().list(FeatureTree.class, null, null, null, null);
+ List<FeatureTree> input = CdmStore.getService(IFeatureTreeService.class).list(FeatureTree.class, null, null, null, null);
viewer.setInput(input);
package eu.etaxonomy.taxeditor.preference;
import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.UUID;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
+import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
+import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.api.service.config.ITaxonServiceConfigurator;
import eu.etaxonomy.cdm.api.service.config.impl.TaxonServiceConfiguratorImpl;
import eu.etaxonomy.cdm.common.CdmUtils;
return null;
}
- /**
- * The ability to edit marker types in the BulkEditor is associated with an input type, e.g. references.
- *
- * @param input a {@link org.eclipse.ui.IEditorInput} object.
- * @param markerType a {@link eu.etaxonomy.cdm.model.common.MarkerType} object.
- * @return a boolean.
- */
- public static boolean getEditMarkerTypePreference(IEditorInput input, MarkerType markerType) {
- return getPreferenceStore().getBoolean(getEditMarkerTypePrefKey(input, markerType));
- }
-
- /**
- * <p>setEditMarkerTypePreference</p>
- *
- * @param input a {@link org.eclipse.ui.IEditorInput} object.
- * @param markerType a {@link eu.etaxonomy.cdm.model.common.MarkerType} object.
- * @param edit a boolean.
- */
- public static void setEditMarkerTypePreference(IEditorInput input, MarkerType markerType, boolean edit) {
- getPreferenceStore().setValue(getEditMarkerTypePrefKey(input, markerType), edit);
- }
-
- private static String getEditMarkerTypePrefKey(IEditorInput input, MarkerType markerType) {
- markerType = (MarkerType) HibernateProxyHelper.deproxy(markerType);
- return EDIT_MARKER_TYPE_PREFIX + "." + input.getClass().getName() + "." + markerType.getUuid().toString();
- }
-
/**
* Get the match strategy for the given class that was stored in preferences
* or the default strategy if it was not stored in preferences
*/
public static FeatureTree getDefaultFeatureTreeForTextualDescription() {
String uuidString = getPreferenceStore().getString(FEATURE_TREE_DEFAULT_TEXT);
- return CdmUtils.isEmpty(uuidString) ? null : CdmStore.getFeatureTreeService().load(UUID.fromString(uuidString));
+ return CdmUtils.isEmpty(uuidString) ? null : CdmStore.getService(IFeatureTreeService.class).load(UUID.fromString(uuidString));
}
/**
*/
public static FeatureTree getDefaultFeatureTreeForStructuredDescription() {
String uuidString = getPreferenceStore().getString(FEATURE_TREE_DEFAULT_STRUCTURE);
- return CdmUtils.isEmpty(uuidString) ? null : CdmStore.getFeatureTreeService().load(UUID.fromString(uuidString));
+ return CdmUtils.isEmpty(uuidString) ? null : CdmStore.getService(IFeatureTreeService.class).load(UUID.fromString(uuidString));
}
/**
}
UUID languageUuid = UUID.fromString(languageUuidString);
- return (Language) CdmStore.getTermService().load(languageUuid);
+ return (Language) CdmStore.getService(ITermService.class).load(languageUuid);
}
public static void setGlobalLanguage(Language language){
getPreferenceStore().setValue(GLOBAL_LANGUAGE_UUID, language.getUuid().toString());
CdmStore.setDefaultLanguage(language);
}
+
+ /**
+ * @return
+ */
+ public static Map<MarkerType, Boolean> getEditMarkerTypePreferences() {
+ List<MarkerType> markerTypes = CdmStore.getTermManager().getPreferredMarkerTypes();
+
+ Map<MarkerType, Boolean> result = new HashMap<MarkerType, Boolean>();
+
+ for(MarkerType markerType : markerTypes){
+ String name = getMarkerTypeEditingPreferenceKey(markerType);
+ Boolean value = getPreferenceStore().getBoolean(name);
+
+ result.put(markerType, value);
+ }
+
+ return result;
+ }
+
+ /**
+ * @param markerTypeEditingMap
+ */
+ public static void setEditMarkerTypePreferences(
+ Map<MarkerType, Boolean> markerTypeEditingMap) {
+ for(MarkerType markerType : markerTypeEditingMap.keySet()){
+ String name = getMarkerTypeEditingPreferenceKey(markerType);
+ getPreferenceStore().setValue(name, markerTypeEditingMap.get(markerType));
+ }
+
+ }
+
+ private static String getMarkerTypeEditingPreferenceKey(MarkerType markerType){
+ markerType = (MarkerType) HibernateProxyHelper.deproxy(markerType);
+ return markerType.getClass().getName() + EDIT_MARKER_TYPE_PREFIX;
+ }
+
+ /**
+ * <p>setEditMarkerTypePreference</p>
+ *
+ * @param input a {@link org.eclipse.ui.IEditorInput} object.
+ * @param markerType a {@link eu.etaxonomy.cdm.model.common.MarkerType} object.
+ * @param edit a boolean.
+ */
+ public static void setEditMarkerTypePreference(MarkerType markerType, boolean edit) {
+ getPreferenceStore().setValue(getMarkerTypeEditingPreferenceKey(markerType), edit);
+ }
+
}
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
+import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.preference.wizard.VocabularyTermWizard;
Iterator<T> selectionIterator = selection.iterator();
while(selectionIterator.hasNext()){
- CdmStore.getTermService().delete(selectionIterator.next());
+ CdmStore.getService(ITermService.class).delete(selectionIterator.next());
}
}
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.reporting;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.part.ViewPart;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 14, 2010
+ * @version 1.0
+ */
+public class ReportingViewPart extends ViewPart {
+
+ public static final String ID = "eu.etaxonomy.taxeditor.reporting.viewPart";
+
+ private Text text;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ public void createPartControl(Composite parent) {
+ text = new Text(parent, SWT.MULTI);
+ text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
+ */
+ @Override
+ public void setFocus() {
+ // TODO Auto-generated method stub
+
+ }
+
+}
package eu.etaxonomy.taxeditor.store;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.swt.widgets.Display;
import org.springframework.security.authentication.ProviderManager;
import eu.etaxonomy.cdm.api.application.CdmApplicationController;
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.service.IAgentService;
-import eu.etaxonomy.cdm.api.service.IClassificationService;
-import eu.etaxonomy.cdm.api.service.ICollectionService;
-import eu.etaxonomy.cdm.api.service.ICommonService;
-import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
-import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
-import eu.etaxonomy.cdm.api.service.ILocationService;
-import eu.etaxonomy.cdm.api.service.IMediaService;
-import eu.etaxonomy.cdm.api.service.INameService;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
-import eu.etaxonomy.cdm.api.service.IReferenceService;
-import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
-import eu.etaxonomy.cdm.api.service.ITaxonService;
-import eu.etaxonomy.cdm.api.service.ITermService;
-import eu.etaxonomy.cdm.api.service.IUserService;
-import eu.etaxonomy.cdm.api.service.IVocabularyService;
+import eu.etaxonomy.cdm.api.service.IService;
import eu.etaxonomy.cdm.database.DbSchemaValidation;
import eu.etaxonomy.cdm.database.ICdmDataSource;
import eu.etaxonomy.cdm.ext.geo.IEditGeoService;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
import eu.etaxonomy.taxeditor.datasource.view.CdmDataSourceViewPart;
-import eu.etaxonomy.taxeditor.io.ExportHandler;
-import eu.etaxonomy.taxeditor.io.ImportHandler;
+import eu.etaxonomy.taxeditor.io.ExportManager;
+import eu.etaxonomy.taxeditor.io.ImportManager;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
private static LoginManager loginManager;
- private static ImportHandler importHandler;
+ private static ImportManager importManager;
- private static ExportHandler exportHandler;
+ private static ExportManager exportManager;
private static ContextManager contextManager;
private static SearchManager searchManager;
+ private static CdmStoreConnector job;
+
private Language language;
private ICdmDataSource cdmDatasource;
private static void connect(final ICdmDataSource datasource, final DbSchemaValidation dbSchemaValidation, final Resource applicationContextBean){
StoreUtil.info("Connecting to datasource: " + datasource);
- CdmStoreConnector job = new CdmStoreConnector(Display.getDefault(), datasource, dbSchemaValidation, applicationContextBean);
+ job = new CdmStoreConnector(Display.getDefault(), datasource, dbSchemaValidation, applicationContextBean);
job.setUser(true);
job.setPriority(Job.BUILD);
job.schedule();
}
-
+ public static boolean isConnecting(){
+ return job != null && job.getState() == Job.RUNNING;
+ }
/**
* Closes the current application context
return conversation;
}
- /*
- * EXPOSING SERVICES
- */
-
- /**
- * <p>getTaxonService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.ITaxonService} object.
- */
- public static ITaxonService getTaxonService(){ return getCurrentApplicationController().getTaxonService();}
-
- /**
- * <p>getTaxonTreeService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.ITaxonTreeService} object.
- */
- public static IClassificationService getClassificationService() { return getCurrentApplicationController().getClassificationService();}
-
- /**
- * <p>getTaxonNodeService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.ITaxonNodeService} object.
- */
- public static ITaxonNodeService getTaxonNodeService() { return getCurrentApplicationController().getTaxonNodeService();}
-
- /**
- * <p>getNameService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.INameService} object.
- */
- public static INameService getNameService(){ return getCurrentApplicationController().getNameService();}
-
/**
- * <p>getReferenceService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.IReferenceService} object.
+ * Generic method that will return an implementation of the given service interface
+ * or <code>null</code> if the
+ *
+ * @param <T>
+ * @param serviceClass
+ * @return
*/
- public static IReferenceService getReferenceService(){ return getCurrentApplicationController().getReferenceService();}
+ public static <T extends IService> T getService(Class<T> serviceClass){
+ ICdmApplicationConfiguration controller = getCurrentApplicationController();
+
+ Method[] methods = ICdmApplicationConfiguration.class.getDeclaredMethods();
+
+ T service = null;
+
+ for(Method method : methods){
+ Type type = method.getGenericReturnType();
+
+ if(type.equals(serviceClass)){
+ try {
+ service = (T) method.invoke(controller, null);
+ break;
+ } catch (IllegalArgumentException e) {
+ StoreUtil.error(CdmStore.class, e);
+ } catch (IllegalAccessException e) {
+ StoreUtil.error(CdmStore.class, e);
+ } catch (InvocationTargetException e) {
+ StoreUtil.error(CdmStore.class, e);
+ }
+ }
+ }
+
+ return service;
+ }
- /**
- * <p>getLocationService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.ILocationService} object.
- */
- public static ILocationService getLocationService(){ return getCurrentApplicationController().getLocationService();}
-
/**
* <p>getAuthenticationManager</p>
*
* @return a {@link org.springframework.security.authentication.ProviderManager} object.
*/
public static ProviderManager getAuthenticationManager() { return getCurrentApplicationController().getAuthenticationManager();}
-
- /**
- * <p>getUserService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.IUserService} object.
- */
- public static IUserService getUserService() { return getCurrentApplicationController().getUserService(); }
-
- /**
- * <p>getCommonService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.ICommonService} object.
- */
- public static ICommonService getCommonService() { return getCurrentApplicationController().getCommonService(); }
-
- /**
- * <p>getAgentService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.IAgentService} object.
- */
- public static IAgentService getAgentService() { return getCurrentApplicationController().getAgentService(); }
-
- /**
- * <p>getTermService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.ITermService} object.
- */
- public static ITermService getTermService() { return getCurrentApplicationController() != null ? getCurrentApplicationController().getTermService() : null; }
-
- /**
- * <p>getVocabularyService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.IVocabularyService} object.
- */
- public static IVocabularyService getVocabularyService() { return getCurrentApplicationController().getVocabularyService(); }
-
- /**
- * <p>getMediaService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.IMediaService} object.
- */
- public static IMediaService getMediaService() { return getCurrentApplicationController().getMediaService(); }
-
- /**
- * <p>getOccurrenceService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.IOccurrenceService} object.
- */
- public static IOccurrenceService getOccurrenceService() { return getCurrentApplicationController().getOccurrenceService(); }
-
- /**
- * <p>getFeatureTreeService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.IFeatureTreeService} object.
- */
- public static IFeatureTreeService getFeatureTreeService() { return getCurrentApplicationController().getFeatureTreeService(); }
-
- /**
- * <p>getFeatureNodeService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.IFeatureNodeService} object.
- */
- public static IFeatureNodeService getFeatureNodeService() { return getCurrentApplicationController().getFeatureNodeService(); }
-
- /**
- * <p>getCollectionService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.ICollectionService} object.
- */
- public static ICollectionService getCollectionService() { return getCurrentApplicationController().getCollectionService(); }
-
- /**
- * <p>getPolytomousKeyService</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.service.ICollectionService} object.
- */
- public static IPolytomousKeyService getPolytomousKeyService() { return getCurrentApplicationController().getPolytomousKeyService(); }
/**
* <p>getGeoService</p>
/**
* <p>Getter for the field <code>importHandler</code>.</p>
*
- * @return a {@link eu.etaxonomy.taxeditor.io.ImportHandler} object.
+ * @return a {@link eu.etaxonomy.taxeditor.io.ImportManager} object.
*/
- public static ImportHandler getImportHandler(){
- if(importHandler == null){
- importHandler = ImportHandler.NewInstance(getCurrentApplicationController());
+ public static ImportManager getImportManager(){
+ if(importManager == null){
+ importManager = ImportManager.NewInstance(getCurrentApplicationController());
}
- return importHandler;
+ return importManager;
}
/**
* <p>Getter for the field <code>exportHandler</code>.</p>
*
- * @return a {@link eu.etaxonomy.taxeditor.io.ExportHandler} object.
+ * @return a {@link eu.etaxonomy.taxeditor.io.ExportManager} object.
*/
- public static ExportHandler getExportHandler(){
- if(exportHandler == null){
- exportHandler = ExportHandler.NewInstance(getCurrentApplicationController());
+ public static ExportManager getExportManager(){
+ if(exportManager == null){
+ exportManager = ExportManager.NewInstance(getCurrentApplicationController());
}
- return exportHandler;
+ return exportManager;
}
/**
import java.util.ArrayList;
import java.util.List;
+import eu.etaxonomy.cdm.api.service.IAgentService;
+import eu.etaxonomy.cdm.api.service.INameService;
+import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.api.service.IReferenceService;
+import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.config.ITaxonServiceConfigurator;
import eu.etaxonomy.cdm.model.agent.AgentBase;
-import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
// FIXME use proper method once it is implemented in the library
String titleSearchString = configurator.getTitleSearchString().replace("*", "%");
- return CdmStore.getNameService().getNamesByName(titleSearchString);
+ return CdmStore.getService(INameService.class).getNamesByName(titleSearchString);
}
/**
* @return a {@link java.util.List} object.
*/
public static List<IdentifiableEntity> findTaxaAndNames(ITaxonServiceConfigurator configurator){
- return CdmStore.getTaxonService().findTaxaAndNames(configurator).getRecords();
+
+ return CdmStore.getService(ITaxonService.class).findTaxaAndNames(configurator).getRecords();
}
/**
// FIXME use proper method once it is implemented in the library
String titleSearchString = configurator.getTitleSearchString().replace("*", "%");
- return CdmStore.getReferenceService().findByTitle(null, titleSearchString, null, null, null, null, null, null).getRecords();
+ return CdmStore.getService(IReferenceService.class).findByTitle(null, titleSearchString, null, null, null, null, null, null).getRecords();
}
/**
// FIXME use proper method once it is implemented in the library
String titleSearchString = configurator.getTitleSearchString().replace("*", "%");
- return CdmStore.getAgentService().findByTitle(null, titleSearchString, null, null, null, null, null, null).getRecords();
+ return CdmStore.getService(IAgentService.class).findByTitle(null, titleSearchString, null, null, null, null, null, null).getRecords();
}
/**
* @param configurator a {@link eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator} object.
* @return a {@link java.util.List} object.
*/
- public static List<TeamOrPersonBase> findTeamOrPersons(IIdentifiableEntityServiceConfigurator configurator){
+ public static List<AgentBase> findTeamOrPersons(IIdentifiableEntityServiceConfigurator configurator){
// TODO move this to cdmlib
- List<TeamOrPersonBase> result = new ArrayList<TeamOrPersonBase>();
+ List<AgentBase> result = new ArrayList<AgentBase>();
for (AgentBase agent : findAgents(configurator)) {
- if (agent instanceof TeamOrPersonBase) {
- result.add((TeamOrPersonBase) agent);
- }
+ result.add((AgentBase) agent);
}
return result;
}
// FIXME use proper method once it is implemented in the library
String titleSearchString = configurator.getTitleSearchString().replace("*", "%");
- return CdmStore.getOccurrenceService().findByTitle(SpecimenOrObservationBase.class, titleSearchString, null, null, null, null, null, null).getRecords();
+ return CdmStore.getService(IOccurrenceService.class).findByTitle(SpecimenOrObservationBase.class, titleSearchString, null, null, null, null, null, null).getRecords();
}
}
import java.util.List;
import eu.etaxonomy.cdm.api.service.ITermService;
+import eu.etaxonomy.cdm.api.service.IVocabularyService;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.AnnotationType;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
*/
public static TermVocabulary<DefinedTermBase> getTermVocabulary(VocabularyEnum vocabularyType){
- return CdmStore.getVocabularyService().getVocabulary(vocabularyType);
+ return CdmStore.getService(IVocabularyService.class).getVocabulary(vocabularyType);
}
private static <TERM extends DefinedTermBase> List<TERM> getTerms(Class<TERM> clazz){
}
private static ITermService getTermService(){
- return CdmStore.getTermService();
+ return CdmStore.getService(ITermService.class);
}
}
import org.eclipse.core.runtime.IStatus;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
throws ExecutionException {
bind();
monitor.worked(20);
- CdmStore.getUserService().createUser(user);
+ CdmStore.getService(IUserService.class).createUser(user);
monitor.worked(40);
return postExecute(null);
import org.eclipse.core.runtime.IStatus;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
throws ExecutionException {
bind();
monitor.worked(20);
- CdmStore.getUserService().delete(user);
+ CdmStore.getService(IUserService.class).delete(user);
monitor.worked(40);
return postExecute(null);
import org.eclipse.core.runtime.IStatus;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
bind();
monitor.worked(20);
- CdmStore.getUserService().updateUser(user);
+ CdmStore.getService(IUserService.class).updateUser(user);
monitor.worked(40);
return postExecute(null);
import org.eclipse.core.runtime.IStatus;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
user.setEnabled(! user.isEnabled());
- CdmStore.getUserService().saveOrUpdate(user);
+ CdmStore.getService(IUserService.class).saveOrUpdate(user);
monitor.worked(40);
return postExecute(null);
public IStatus undo(IProgressMonitor monitor, IAdaptable info)
throws ExecutionException {
bind();
- CdmStore.getUserService().createUser(user);
+ CdmStore.getService(IUserService.class).createUser(user);
return postExecute(null);
}
}
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.common.CdmBase;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
*/
private List<User> getAllUser(){
conversation = CdmStore.createConversation();
- return CdmStore.getUserService().list(null, null, null, null, null);
+ return CdmStore.getService(IUserService.class).list(null, null, null, null, null);
}
/* (non-Javadoc)
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Text;
+import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.taxeditor.model.CommonHelper;
setPageComplete(false);
return NAME_TO_SHORT;
}
- if(CdmStore.getUserService().userExists(newText)){
+ if(CdmStore.getService(IUserService.class).userExists(newText)){
setPageComplete(false);
return USER_EXISTS;
}