Bundle-ManifestVersion: 2
Bundle-Name: Application
Bundle-SymbolicName: eu.etaxonomy.taxeditor.application;singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.TaxonomicEditorPlugin
Bundle-Vendor: EDIT
Bundle-Localization: OSGI-INF/l10n/plugin
command.label.13 = Hilfeinhalt
command.label.14 = Suchen
command.label.15 = Dynamische Hilfe
-command.label.16 = Parser Hilfe Webseite (in Englisch)
+command.label.16 = Parser Hilfe Webseite (auf Englisch)
command.label.17 = Suche nach Updates
command.label.18 = Installiere Neue Software...
command.label.19 = \u00dcber den Taxonomischen Editor
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Bundle-ManifestVersion: 2
Bundle-Name: Bulkeditor Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.bulkeditor;singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin
Bundle-Vendor: EDIT
Export-Package: eu.etaxonomy.taxeditor.annotatedlineeditor,
specification.label.0 = Merge Target Annotation
command.name.10 = convert Person to Team
command.label.OPEN_REFERENCING_OBJECTS_VIEW = Referencing Objects View
-command.name.OPEN_REFERENCING_OBJECTS_VIEW = Open Referencing Objects View
\ No newline at end of file
+command.name.OPEN_REFERENCING_OBJECTS_VIEW = Open Referencing Objects View
+command.name.OPEN_BULK_EDITOR_FOR_TAXON_NODE = Open bulk editor for taxon node
+viewCommandMapping.viewerName.REFERENCING_OBJECTS_VIEW = Referencing Objects View
+viewCommandMapping.viewerName.BULK_EDITOR = Bulk Editor
\ No newline at end of file
specification.label.0 = Ziel-Annotation zusammenfügen
command.name.10 = Person in Team umwandeln
command.label.OPEN_REFERENCING_OBJECTS_VIEW = Referenzierende Objekte
-command.name.OPEN_REFERENCING_OBJECTS_VIEW = Öffne Referenzierende Objekte
\ No newline at end of file
+command.name.OPEN_REFERENCING_OBJECTS_VIEW = Öffne Referenzierende Objekte
+command.name.OPEN_BULK_EDITOR_FOR_TAXON_NODE = Öffne Bulk Editor für Taxonknoten
+viewCommandMapping.viewerName.REFERENCING_OBJECTS_VIEW = Referenzierende Objekte
+viewCommandMapping.viewerName.BULK_EDITOR = Bulk Editor
\ No newline at end of file
</visibleWhen>
</menu>
<separator
- name="taxeditor-bulkeditor.separator4"\r
- visible="true">\r
+ name="taxeditor-bulkeditor.separator4"
+ visible="true">
</separator>
<command
commandId="bulkeditor.commands.setmergetarget"
</reference>
</visibleWhen>
</command>
- <separator\r
- name="eu.etaxonomy.taxeditor.bulkeditor.separator1"\r
- visible="true">\r
- </separator>\r
+ <separator
+ name="eu.etaxonomy.taxeditor.bulkeditor.separator1"
+ visible="true">
+ </separator>
<command
commandId="eu.etaxonomy.taxeditor.bulkeditor.convertTeam2Person"
label="%command.label.5"
allPopups="false"
locationURI="menu:eu.etaxonomy.taxeditor.menu.showView?after=org.eclipse.ui.views.showView.supplemental">
<command
- commandId="eu.etaxonomy.taxeditor.openReferencingObjectsView"
+ commandId="eu.etaxonomy.taxeditor.openReferencingObjectsViewFromMenu"
label="%command.label.OPEN_REFERENCING_OBJECTS_VIEW"
style="push">
+ <visibleWhen
+ checkEnabled="true">
+ <reference
+ definitionId="isCdmStoreConnected">
+ </reference>
+ </visibleWhen>
</command>
</menuContribution>
</extension>
name="%command.name.10">
</command>
<command
- defaultHandler="eu.etaxonomy.taxeditor.handler.defaultHandler.OpenReferencingObjectsView"
id="eu.etaxonomy.taxeditor.openReferencingObjectsView"
name="%command.name.OPEN_REFERENCING_OBJECTS_VIEW">
</command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler.OpenBulkEditorForTaxonNodeHandler"
+ id="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForTaxonNode"
+ name="%command.name.OPEN_BULK_EDITOR_FOR_TAXON_NODE">
+ </command>
+ <command
+ id="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity"
+ name="Open bulk editor for identifiable entity">
+ <commandParameter
+ id="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity.uuid"
+ name="Identifiable Entity UUID"
+ optional="true"
+ typeId="eu.etaxonomy.taxeditor.uuidParameterType">
+ </commandParameter>
+ </command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.handler.defaultHandler.OpenReferencingObjectsView"
+ id="eu.etaxonomy.taxeditor.openReferencingObjectsViewFromMenu"
+ name="%command.name.OPEN_REFERENCING_OBJECTS_VIEW">
+ </command>
<!--command
defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.NewEntityHandler"
id="eu.etaxonomy.taxeditor.bulkeditor.command.new"
</test>
</with>
</definition>
+ <definition
+ id="isBulkEditorSupported">
+ <with
+ variable="selection">
+ <test
+ property="eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorSelectionPropertyTester.isBulkEditorSupported">
+ </test>
+ </with>
+ </definition>
+ <definition
+ id="isGroupEditor">
+ <with
+ variable="activeEditor">
+ <test
+ property="taxeditor-bulkeditor.propertyTester.isGroupEditor">
+ </test>
+ </with>
+ </definition>
</extension>
<extension
point="org.eclipse.core.expressions.propertyTesters">
properties="isTeam, isPerson"
type="java.lang.Object">
</propertyTester>
+ <propertyTester
+ class="eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorSelectionPropertyTester"
+ id="eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorSelectionPropertyTester"
+ namespace="eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorSelectionPropertyTester"
+ properties="isBulkEditorSupported"
+ type="org.eclipse.jface.viewers.IStructuredSelection">
+ </propertyTester>
</extension>
<extension
point="org.eclipse.ui.handlers">
class="eu.etaxonomy.taxeditor.bulkeditor.handler.ConvertPerson2TeamHandler"
commandId="eu.etaxonomy.taxeditor.bulkeditor.convertPerson2Team">
</handler>
+ <handler
+ class="eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler.OpenBulkEditorForIdentifiableEntity"
+ commandId="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity">
+ <activeWhen>
+ <reference
+ definitionId="isBulkEditorSupported">
+ </reference>
+ </activeWhen>
+ </handler>
</extension>
<extension
<viewCommandMapping
commandId="eu.etaxonomy.taxeditor.openReferencingObjectsView"
selection="java.lang.Object"
- viewerName="Referencing Objects View">
+ viewerName="%viewCommandMapping.viewerName.REFERENCING_OBJECTS_VIEW">
+ </viewCommandMapping>
+ <viewCommandMapping
+ commandId="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForTaxonNode"
+ selection="eu.etaxonomy.cdm.model.taxon.TaxonNode"
+ viewerName="%viewCommandMapping.viewerName.BULK_EDITOR">
+ </viewCommandMapping>
+ <viewCommandMapping
+ commandId="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity"
+ selection="eu.etaxonomy.cdm.model.common.IdentifiableEntity"
+ viewerName="%viewCommandMapping.viewerName.BULK_EDITOR">
</viewCommandMapping>
</extension>
<!-- start set marker -->
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.texteditor.AbstractDocumentProvider;
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
+import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
private ILineDisplayStrategy lineDisplayStrategy;
private final IEditorInput input;
+ private ConversationHolder conversation;
+
+ /**
+ * @return the conversation
+ */
+ public ConversationHolder getConversation() {
+ return conversation;
+ }
+
+ /**
+ * @param conversation the conversation to set
+ */
+ public void setConversation(ConversationHolder conversation) {
+ this.conversation = conversation;
+ }
/**
* <p>Constructor for AnnotatedLineDocumentProvider.</p>
*/
public AnnotatedLineDocumentProvider(IEditorInput input){
this.input = input;
+ this.conversation = ((AbstractBulkEditorInput)input).getConversation();
}
/** {@inheritDoc} */
// Get new containers from annotation model
LineAnnotationModel model = (LineAnnotationModel) getAnnotationModel(element);
Iterator iterator = model.getAnnotationIterator();
+ if (!this.conversation.isBound()){
+ this.conversation.bind();
+ }
+
while (iterator.hasNext()) {
Annotation annotation = (Annotation) iterator.next();
if (annotation instanceof IEntityContainer<?>) {
IEntityContainer<?> container = (IEntityContainer<?>) annotation;
+
if (container.isMarkedAsNew() || container.isDirty()) {
+
Object entity = persistenceService.save(container.getEntity()); // save
container.setEntity(entity);
container.setDirty(false);
}
}
}
+ this.conversation.commit(true);
for (LineAnnotation annotation : model.getDeletedAnnotations()) {
if (annotation.isMarkedAsNew()) {
continue;
}
if (annotation.isMarkedAsMerged()) {
persistenceService.merge(annotation.getEntity(), annotation.getMergeTarget()); // merge
- } else {
+ } if (annotation.isMarkedAsDeleted()) {
+ try {
+ persistenceService.delete(annotation.getEntity(), annotation.getDeleteConfigurator());
+ } catch (ReferencedObjectUndeletableException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } // merge
+ }
+
+ else {
// TODO clarify w AM whether this needs to be executed on merged objects
//persistenceService.delete(annotation.getEntity()); // delete
}
int length = position.getLength();
Object entity = annotation.getEntity();
- annotation.markAsDeleted();
+ //annotation.markAsDeleted(configurator);
model.removeAnnotation(annotation);
-
+
// Immediately followed by a delimiter?
int annotationEnd = offset + length;
try {
}
try {
+
document.replace(offset, length, "");
+
} catch (BadLocationException e) {
MessagingUtils.error(getClass(), "Problems removing annotated line", e);
}
updateLineFromAnnotation(annotation);
}
}
+
+
}
protected void doSetInput(IEditorInput input) throws CoreException {
AnnotatedLineDocumentProvider provider = new AnnotatedLineDocumentProvider(input);
-
+
provider.setLineDisplayStrategy(lineDisplayStrategy, input);
setDocumentProvider(provider);
public LineAnnotation createAnnotatedLine(Object entity) {
IEditorInput input = getEditorInput();
+ this.conversation.close();
+ this.conversation = ((AbstractBulkEditorInput)input).getConversation();
AnnotatedLineDocumentProvider provider = (AnnotatedLineDocumentProvider) getDocumentProvider();
LineAnnotation annotation = null;
*/
public void removeAnnotatedLine(LineAnnotation annotation) {
((AnnotatedLineDocumentProvider) getDocumentProvider()).removeAnnotatedLine(annotation);
+
}
/* (non-Javadoc)
package eu.etaxonomy.taxeditor.annotatedlineeditor;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
* @return a boolean.
* @throws ReferencedObjectUndeletableException
*/
- boolean delete(T entity) throws ReferencedObjectUndeletableException;
+ boolean delete(T entity, DeleteConfiguratorBase config) throws ReferencedObjectUndeletableException;
}
import org.apache.log4j.Logger;
import org.eclipse.jface.text.source.Annotation;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
+import eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator;
+
/**
* An <code>Annotation</code> which spans an entire line and holds an object associated
* with the line in an <code>IEntityContainer</code>.
private boolean markedAsMerged;
private boolean markedAsNew;
private T mergeTarget;
+ private DeleteConfiguratorBase configurator= null;
/**
lineDisplayStrategy.setStatusMessage(entity + " deleted.", entity);
}
}
-
+ public void markAsDeleted(DeleteConfiguratorBase config) {
+ super.markDeleted(true);
+ this.configurator = config;
+ if (!isMarkedAsMerged()) {
+ lineDisplayStrategy.setStatusMessage(entity + " deleted.", entity);
+ }
+ }
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#markAsMerged(eu.etaxonomy.cdm.model.common.CdmBase)
*/
public void setEntity(Object entity) {
this.entity = (T) entity;
}
+
+ public DeleteConfiguratorBase getDeleteConfigurator() {
+ return this.configurator;
+ }
+
+ public void setDeleteConfigurator(DeleteConfiguratorBase config) {
+ this.configurator = config;
+
+ }
}
package eu.etaxonomy.taxeditor.bulkeditor;
+import org.eclipse.core.commands.operations.IUndoContext;
+import org.eclipse.core.commands.operations.UndoContext;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.dialogs.MessageDialog;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
private boolean isDirty;
+ private IUndoContext undoContext;
+
public BulkEditor() {
super(CdmStore.createConversation());
+ undoContext = new UndoContext();
}
/** {@inheritDoc} */
if (!(input instanceof AbstractBulkEditorInput)) {
throw new PartInitException("Invalid Input: Must be BulkEditorInput");
}
-
+ else{
+ AbstractBulkEditorInput<?> bulkEditorInput = (AbstractBulkEditorInput<?>)input;
+ if(bulkEditorInput.getEntityUuid()!=null){
+ bulkEditorInput.performSearch(new BulkEditorQuery(bulkEditorInput.getEntityUuid().toString(), null));
+ }
+ }
super.init(site, input);
}
@Override
public void setFocus() {
conversation.bind();
- searchBar.setFocus();
// TODO find a better place to put this - this dialog should be shown after initial contents of
// Editor are displayed
isInitialFocus = false;
}
super.setFocus();
+ searchBar.setFocus();
+ }
+
+ /**
+ * @return the searchBar
+ */
+ public BulkEditorSearch getSearchBar() {
+ return searchBar;
}
private void displayWarningDialog() {
IPreferenceStore prefs = PreferencesUtil.getPreferenceStore();
- if (!prefs.getBoolean(PreferencesUtil.HIDE_BULKEDITOR_INFO)) {
+ if (!prefs.getBoolean(IPreferenceKeys.HIDE_BULKEDITOR_INFO)) {
String msg = "The Bulk Editor allows you to edit objects used to reference other objects, such as names, references, and authors.\n\n" +
"Any changes you make to an object in the Bulk Editor will be displayed wherever the object is used.\n\n" +
"For instance, a reference may be displayed with both a name and a descriptive element. If the reference name is changed here, the display of both the name and the descriptive element will be affected.";
MessageDialogWithToggle dialog = MessageDialogWithToggle.openOkCancelConfirm
(getSite().getShell(), "Bulk Editor", msg, "Do not show this message again",
- false, null, PreferencesUtil.HIDE_BULKEDITOR_INFO);
+ false, null, IPreferenceKeys.HIDE_BULKEDITOR_INFO);
if (dialog.getReturnCode() == Window.OK) {
- prefs.setValue(PreferencesUtil.HIDE_BULKEDITOR_INFO, dialog.getToggleState());
+ prefs.setValue(IPreferenceKeys.HIDE_BULKEDITOR_INFO, dialog.getToggleState());
}
}
}
isDirty = true;
firePropertyChange(PROP_DIRTY);
}
-
- @Override
+
+
+ @Override
public void doSave(IProgressMonitor progressMonitor) {
isDirty = false;
// TODO check if dirty, prompt save
if (isDirty()) {
- boolean proceed = MessageDialog.openQuestion(getEditorSite().getShell(),
- "Save changes", "You have made changes that must be saved before this query can be executed. Would you like to proceed?");
- if (proceed) {
+ String[] labels = {"Save (and Search)", "Don't save (and Search)","Cancel"};
+ MessageDialog dialog =new MessageDialog(getEditorSite().getShell(), "Save changes", null, "You have made changes that must be saved before this query can be executed. Would you like to proceed?", MessageDialog.QUESTION,labels, 0);
+ int result = dialog.open();
+ //MessageDialog.openQuestion(getEditorSite().getShell(),
+ //"Save changes", "You have made changes that must be saved before this query can be executed. Would you like to proceed?");
+ if (result == 0) {
doSave(null);
- } else {
+ } else if (result == 2){
return;
}
}
- conversation.commit();
- conversation.clear();
+ //conversation.clear();
+ //conversation.commit(true);
+ getEditorInput().dispose();
+ getEditorInput().bind();
getEditorInput().performSearch(query);
-
+
refresh();
selectFirstItem();
public boolean canAttachMedia() {
return getEditorInput() instanceof TaxonEditorInput?true:false;
}
+
+ public IUndoContext getUndoContext() {
+ return undoContext;
+ }
+
+
}
/** {@inheritDoc} */
@Override
public String getEmptyCacheMessage(Object entity) {
- if (entity instanceof Reference) {
- return "No reference title cache";
- }
- if (entity instanceof TaxonNameBase) {
- return "No name title cache";
- }
- if (entity instanceof AgentBase) {
- return "No title cache";
- }
- return "";
+ return entity.toString();
}
/* (non-Javadoc)
import eu.etaxonomy.taxeditor.bulkeditor.input.TaxonEditorInput;
/**
- * <p>BulkEditorPropertyTester class.</p>
- *
* @author p.ciardelli
* @created 21.09.2009
* @version 1.0
public static final String IS_PERSON = "isPerson";
public static final String IS_TEAM = "isTeam";
public static final String IS_MEDIA_EDITOR = "isMediaEditor";
- /* (non-Javadoc)
- * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
- */
- /** {@inheritDoc} */
+
+ /** {@inheritDoc} */
@Override
public boolean test(Object receiver, String property, Object[] args,
Object expectedValue) {
BulkEditor bulkEditor = null;
-
bulkEditor = (BulkEditor) receiver;
if (IS_MERGING_ENABLED.equals(property)) {
IEditorInput input = bulkEditor.getEditorInput();
}
else if(IS_TAXON_EDITOR.equals(property)){
return bulkEditor.getEditorInput() instanceof TaxonEditorInput;
- } else if(IS_MEDIA_EDITOR.equals(property)){
+ }
+ else if(IS_MEDIA_EDITOR.equals(property)){
return bulkEditor.getEditorInput() instanceof MediaEditorInput;
}
-
-// if (("isPublishFlagEditingEnabled").equals(property)) {
-// IEditorInput input = bulkEditor.getEditorInput();
-// if (input instanceof NameEditorInput) {
-// return ((NameEditorInput) input).isPublishFlagEnabled();
-// }
-// }
return false;
}
}
--- /dev/null
+package eu.etaxonomy.taxeditor.bulkeditor.command;
+
+import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
+import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType;
+
+public class BulkEditorSelectionPropertyTester extends PropertyTester {
+
+ public static final String IS_BULK_EDITOR_SUPPORTED = "isBulkEditorSupported";
+
+ @Override
+ public boolean test(Object receiver, String property, Object[] args,
+ Object expectedValue) {
+ if(IS_BULK_EDITOR_SUPPORTED.equals(property)){
+ if(receiver instanceof IStructuredSelection){
+ IStructuredSelection selection = (IStructuredSelection) receiver;
+ Object selectedElement = selection.getFirstElement();
+ if(selectedElement!=null){
+ if(selectedElement instanceof UuidAndTitleCache){
+ return BulkEditorInputType.getByType(((UuidAndTitleCache) selectedElement).getType())!=null;
+ }
+ return BulkEditorInputType.getByType(selectedElement.getClass())!=null;
+ }
+ }
+ }
+ return false;
+ }
+
+}
package eu.etaxonomy.taxeditor.bulkeditor.handler;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.text.TextSelection;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IEditorInput;
import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.api.service.IGroupService;
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.IReferenceService;
-import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.IUserService;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
+import eu.etaxonomy.cdm.api.service.config.MediaDeletionConfigurator;
import eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator;
import eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator;
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery;
+import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;
+
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.DeleteResultMessagingUtils;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
+
+import eu.etaxonomy.taxeditor.operation.RemotingCdmHandler;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.dialog.deleteConfigurator.DeleteConfiguratorDialog;
*/
public class DeleteHandler extends AbstractHandler {
+
+
/* (non-Javadoc)
* @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
*/
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
- ISelection selection = HandlerUtil.getCurrentSelection(event);
-
+
+ TextSelection selection = (TextSelection) HandlerUtil.getCurrentSelection(event);
IEditorPart editor = HandlerUtil.getActiveEditor(event);
IEditorInput input = editor.getEditorInput();
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
IEntityPersistenceService persistenceService = (IEntityPersistenceService) input;
-
-
+
for(Object object : structuredSelection.toList()){
LineAnnotation annotation = (LineAnnotation) model.getAnnotation(object);
if (object instanceof SpecimenOrObservationBase){
IOccurrenceService service = controller.getOccurrenceService();
if (object != null){
- result = service.delete(((SpecimenOrObservationBase) object).getUuid());
+ result = service.isDeletable(((SpecimenOrObservationBase) object), null);
errorMessage = "The specimen or observation ";
+ if (model != null) {
+ Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ if (result.isOk()){
+ ((LineAnnotation)next).markAsDeleted(null);
+ }
+
+ }
+ }
+ }
}
} else if (object instanceof Reference){
IReferenceService service = controller.getReferenceService();
if (object != null){
- result = service.delete(((Reference) object).getUuid());
+ result = service.isDeletable((Reference)object, null);
errorMessage = "The reference ";
}
+ if (model != null) {
+ Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ if (result.isOk()){
+ ((LineAnnotation)next).markAsDeleted(null);
+ }
+
+ }
+ }
+ }
} else if (object instanceof Group){
- IGroupService service = controller.getGroupService();
- if (object != null){
- result = service.delete(((Group) object).getUuid());
- errorMessage = "The group ";
+ if (model != null) {
+ Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ if (result.isOk()){
+ ((LineAnnotation)next).markAsDeleted(null);
+ }
+
+ }
+ }
}
+
+// IGroupService service = controller.getGroupService();
+// if (object != null){
+// result = service.delete(((Group) object).getUuid());
+// errorMessage = "The group ";
+// }
}else if (object instanceof User){
- IUserService service = controller.getUserService();
- if (object != null){
- result = service.delete(((User) object).getUuid());
- errorMessage = "The user ";
+ if (model != null) {
+ Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ if (result.isOk()){
+ ((LineAnnotation)next).markAsDeleted(null);
+ }
+
+ }
+ }
}
+
+// IUserService service = controller.getUserService();
+// if (object != null){
+// result = service.delete(((User) object).getUuid());
+// errorMessage = "The user ";
+// }
} else if (object instanceof TaxonNameBase){
- INameService service = controller.getNameService();
+ TaxonNameBase name = HibernateProxyHelper.deproxy(object, TaxonNameBase.class);
+
+
if (object != null){
NameDeletionConfigurator config = new NameDeletionConfigurator();
- DeleteConfiguratorDialog dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", null, "Do you really want to delete the name?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
+ DeleteConfiguratorDialog dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", null, "Do you really want to delete the name?\nThis operation is irreversible!", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
int result_dialog= dialog.open();
if (result_dialog != Status.OK){
return null;
}
- result = service.delete(((TaxonNameBase) object).getUuid(), config);
+
+ //operation = new DeleteTaxonNameOperation(commandName,((BulkEditor) editor).getUndoContext() , name, config, (BulkEditor)editor);
errorMessage = "The name ";
+
+ if (model != null) {
+ Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ result = controller.getNameService().isDeletable(name, config);
+ if (result.isOk()){
+ ((LineAnnotation)next).markAsDeleted(config);
+ }
+
+ }
+ }
+ }
}
} else if (object instanceof TaxonBase){
- ITaxonService service = controller.getTaxonService();
- if (object != null){
- if (object instanceof Taxon){
- TaxonDeletionConfigurator config = new TaxonDeletionConfigurator();
- config.setDeleteInAllClassifications(true);
- DeleteConfiguratorDialog dialog;
- if (((Taxon)object).getTaxonNodes().isEmpty()){
- dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", null, "Do you really want to delete the taxon?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
- int result_dialog= dialog.open();
- if (result_dialog != Status.OK){
- return null;
- }
- result = service.deleteTaxon(((TaxonBase) object).getUuid(), config, null);
- errorMessage = "The taxon ";
- } else{
- MessagingUtils.messageDialog("Delete not possible", getClass(), "The taxon can not be deleted in bulk editor. It is used in a classification.", null);
- return null;
+
+ // synonym
+ if(object instanceof Synonym){
+ Synonym synonym = HibernateProxyHelper.deproxy(object, Synonym.class);
+ SynonymDeletionConfigurator config = new SynonymDeletionConfigurator();
+ errorMessage = "The synonym ";
+ DeleteConfiguratorDialog dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", null, "Do you really want to delete the synonym?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
+ int result_dialog= dialog.open();
+ if (result_dialog != Status.OK){
+ return null;
+ }
+ //operation = new DeleteTaxonBaseOperation(commandName,((BulkEditor) editor).getUndoContext() , synonym, config, (BulkEditor)editor);
+ if (model != null) {
+ Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ result = controller.getTaxonService().isDeletable(synonym, config);
+ if (result.isOk()){
+ ((LineAnnotation)next).markAsDeleted(config);
+ }
+
+ }
}
-
- }else{
- SynonymDeletionConfigurator config = new SynonymDeletionConfigurator();
- DeleteConfiguratorDialog dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", null, "Do you really want to delete the synonym?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
- int result_dialog= dialog.open();
- if (result_dialog != Status.OK){
- return null;
- }
- result = service.deleteSynonym(((Synonym)object).getUuid(), config);
- errorMessage = "The synonym ";
}
}
+
+ else if(object instanceof Taxon ){
+ Taxon taxon = HibernateProxyHelper.deproxy(object, Taxon.class);
+ if (((Taxon)object).getTaxonNodes().isEmpty()){
+
+ errorMessage = "The taxon ";
+ } else{
+ MessagingUtils.messageDialog("Delete not possible", getClass(), "The taxon can not be deleted in bulk editor. It is used in a classification.", null);
+ return null;
+ }
+ TaxonDeletionConfigurator config = new TaxonDeletionConfigurator();
+ config.setDeleteInAllClassifications(true);
+ DeleteConfiguratorDialog dialog;
+ dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", null, "Do you really want to delete the taxon?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
+ int result_dialog= dialog.open();
+ if (result_dialog != Status.OK){
+ return null;
+ }
+ //operation = new DeleteTaxonBaseOperation(commandName, ((BulkEditor) editor).getUndoContext(), taxon, config, (BulkEditor)editor);
+ if (model != null) {
+ Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ result = controller.getTaxonService().isDeletable(taxon, config);
+ if (result.isOk()){
+ ((LineAnnotation)next).markAsDeleted(config);
+ }
+
+ }
+ }
+ }
+ }
+
+
+// ITaxonService service = controller.getTaxonService();
+// if (object != null){
+// if (object instanceof Taxon){
+// TaxonDeletionConfigurator config = new TaxonDeletionConfigurator();
+// config.setDeleteInAllClassifications(true);
+// DeleteConfiguratorDialog dialog;
+// if (((Taxon)object).getTaxonNodes().isEmpty()){
+// dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", null, "Do you really want to delete the taxon?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
+// int result_dialog= dialog.open();
+// if (result_dialog != Status.OK){
+// return null;
+// }
+// result = service.deleteTaxon(((TaxonBase) object).getUuid(), config, null);
+// errorMessage = "The taxon ";
+// } else{
+// MessagingUtils.messageDialog("Delete not possible", getClass(), "The taxon can not be deleted in bulk editor. It is used in a classification.", null);
+// return null;
+// }
+//
+// }else{
+// SynonymDeletionConfigurator config = new SynonymDeletionConfigurator();
+// DeleteConfiguratorDialog dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", null, "Do you really want to delete the synonym?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
+// int result_dialog= dialog.open();
+// if (result_dialog != Status.OK){
+// return null;
+// }
+// result = service.deleteSynonym(((Synonym)object).getUuid(), config);
+// errorMessage = "The synonym ";
+// }
+// }
} else if (object instanceof TeamOrPersonBase){
- IAgentService service = controller.getAgentService();
+
+ if (model != null) {
+ Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+
+ result = controller.getAgentService().isDeletable((TeamOrPersonBase) object, null);
+ if (result.isOk()){
+ ((LineAnnotation)next).markAsDeleted(null);
+ }
+
+ }
+ }
+ }
+ //IAgentService service = controller.getAgentService();
//TeamOrPersonBase teamOrPerson = (TeamOrPersonBase)service.load(((TeamOrPersonBase) object).getUuid());
- result = service.delete(((TeamOrPersonBase)object).getUuid());
+ //result = service.delete(((TeamOrPersonBase)object).getUuid());
errorMessage = "The team or person ";
} else if (object instanceof Media){
+ MediaDeletionConfigurator config = new MediaDeletionConfigurator();
+
+ DeleteConfiguratorDialog dialog;
+ dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", null, "Do you really want to delete the media?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
+ int result_dialog= dialog.open();
+ if (result_dialog != Status.OK){
+ return null;
+ }
IMediaService service = controller.getMediaService();
//TeamOrPersonBase teamOrPerson = (TeamOrPersonBase)service.load(((TeamOrPersonBase) object).getUuid());
- result = service.delete(((Media)object).getUuid(), null);
+
errorMessage = "The media ";
+
+ if (model != null) {
+ Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ result = service.isDeletable(((Media)object), config);
+ if (result.isOk()){
+ ((LineAnnotation)next).markAsDeleted(null);
+ }
+
+ }
+ }
+ }
}
} catch (Exception e){
MessagingUtils.messageDialog("Delete not possible", getClass(), "The object could not be deleted. An exception occured.", null);
}
}
+
+
if (result.isOk() ){
+
((BulkEditor) editor).removeAnnotatedLine(annotation);
+
if(result.getUpdatedObjects().size() != 0 || !result.getExceptions().isEmpty()){
List<String> messages = new ArrayList<String>();
int i = result.getExceptions().size();
for (Exception e:result.getExceptions()){
messages.add(e.getMessage());
}
- errorMessage += "was deleted but related object(s) could not be deleted. ";
+ errorMessage += "can be deleted but related object(s) could not be deleted. ";
//MessagingUtils.errorDialog("test", getClass(), "message", TaxeditorBulkeditorPlugin.PLUGIN_ID, result.getExceptions().iterator().next(),true);
DeleteResultMessagingUtils.messageDialogWithDetails(result, errorMessage, TaxeditorBulkeditorPlugin.PLUGIN_ID);
}
return null;
}
+
}
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType;
+import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* <p>OpenBulkEditorHandler class.</p>
--- /dev/null
+package eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler;
+
+import java.util.UUID;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.ui.PartInitException;
+
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
+import eu.etaxonomy.taxeditor.handler.defaultHandler.DefaultOpenHandlerBase;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+public class OpenBulkEditorForIdentifiableEntity extends DefaultOpenHandlerBase<IdentifiableEntity> {
+
+ @Override
+ protected IdentifiableEntity getEntity(UUID uuid) {
+ return CdmStore.getCommonService().find(IdentifiableEntity.class, uuid);
+ }
+
+ @Override
+ protected void open(ExecutionEvent event, IdentifiableEntity entity) {
+ try {
+ BulkEditorUtil.openEditor(entity);
+ } catch (PartInitException e) {
+ MessagingUtils.error(this.getClass(), "Bulk Editor could not be opened for "+entity, e);
+ }
+ }
+
+
+}
--- /dev/null
+package eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler;
+
+import java.util.UUID;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.ui.PartInitException;
+
+import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
+import eu.etaxonomy.taxeditor.handler.defaultHandler.DefaultOpenHandlerBase;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+public class OpenBulkEditorForTaxonNodeHandler extends DefaultOpenHandlerBase<TaxonNode> {
+
+ @Override
+ protected TaxonNode getEntity(UUID uuid) {
+ return CdmStore.getService(ITaxonNodeService.class).load(uuid);
+ }
+
+ @Override
+ protected void open(ExecutionEvent event, TaxonNode entity) {
+ try {
+ BulkEditorUtil.openEditor(entity.getTaxon());
+ } catch (PartInitException e) {
+ MessagingUtils.error(this.getClass(), "Bulk Editor could not be opened for "+entity, e);
+ }
+ }
+
+}
package eu.etaxonomy.taxeditor.bulkeditor.input;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IPersistableElement;
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
- * <p>Abstract AbstractBulkEditorInput class.</p>
- *
* @author p.ciardelli
* @created 25.06.2009
* @version 1.0
private List<T> model;
private IEntityCreator<T> entityCreator;
-
- private static Class serviceClass;
+ private final ConversationHolder conversation;
public AbstractBulkEditorInput() {
super(true);
+ this.conversation = CdmStore.createConversation();
}
- /**
- * <p>NewInstance</p>
- *
- * @param inputType a {@link eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputTypeValues.BulkEditorInputType} object.
- * @return a {@link eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput} object.
- */
static public AbstractBulkEditorInput NewInstance(BulkEditorInputType inputType) {
return BulkEditorInputType.getInput(inputType);
}
- /**
- * <p>NewInstance</p>
- *
- * @param entity a {@link eu.etaxonomy.cdm.model.common.IdentifiableEntity} object.
- * @return a {@link eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput} object.
- */
public static AbstractBulkEditorInput NewInstance(IdentifiableEntity entity) {
-
BulkEditorInputType inputType = BulkEditorInputType.getByType(entity.getClass());
AbstractBulkEditorInput editorInput = NewInstance(inputType);
return editorInput;
}
- /**
- * <p>listEntities</p>
- *
- * @param configurator a {@link eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator} object.
- * @return a {@link java.util.List} object.
- */
protected abstract List<T> listEntities(IIdentifiableEntityServiceConfigurator configurator);
- /**
- * <p>loadEntity</p>
- *
- * @param entityUuid a {@link java.util.UUID} object.
- * @return a T object.
- */
- protected T loadEntity(UUID entityUuid) {
- List<String> propertyPaths = Arrays.asList(new String[]{});
- return (T) CdmStore.getService(serviceClass).load(entityUuid, propertyPaths);
- }
+ protected abstract T loadEntity(UUID entityUuid);
private void setEntityUuid(UUID entityUuid){
this.entityUuid = entityUuid;
}
- /**
- * <p>Getter for the field <code>entityUuid</code>.</p>
- *
- * @return a {@link java.util.UUID} object.
- */
public UUID getEntityUuid() {
return entityUuid;
}
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#exists()
- */
- /**
- * <p>exists</p>
- *
- * @return a boolean.
- */
@Override
public boolean exists() {
// TODO Auto-generated method stub
return false;
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
- */
- /**
- * <p>getImageDescriptor</p>
- *
- * @return a {@link org.eclipse.jface.resource.ImageDescriptor} object.
- */
@Override
public ImageDescriptor getImageDescriptor() {
// TODO Auto-generated method stub
return null;
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getPersistable()
- */
- /**
- * <p>getPersistable</p>
- *
- * @return a {@link org.eclipse.ui.IPersistableElement} object.
- */
@Override
public IPersistableElement getPersistable() {
return null;
}
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
- */
/** {@inheritDoc} */
@Override
@SuppressWarnings("unchecked")
return null;
}
- /**
- * <p>Setter for the field <code>query</code>.</p>
- *
- * @param bulkEditorQuery a {@link eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery} object.
- */
public void performSearch(final BulkEditorQuery bulkEditorQuery) {
List<T> entityList = new ArrayList<T>();
model = entityList;
}
- /**
- * <p>isMergingEnabled</p>
- *
- * @return a boolean.
- */
public boolean isMergingEnabled() {
return false;
}
- /**
- * <p>isMergingEnabled</p>
- *
- * @return a boolean.
- */
public boolean isConvertingEnabled() {
return false;
}
- /**
- * <p>isMarkerTypeEditingEnabled</p>
- *
- * @param markerType a {@link eu.etaxonomy.cdm.model.common.MarkerType} object.
- * @return a boolean.
- */
+
public boolean isMarkerTypeEditingEnabled(MarkerType markerType) {
return false;
}
return entityCreator;
}
- /**
- * @return
- */
protected abstract IEntityCreator<T> createEntityCreator();
/**
return entity.getClass().getSimpleName();
}
- /**
- * @param entity
- * @return
- */
public String getText(T entity) {
if(entity instanceof IdentifiableEntity){
IdentifiableEntity identifiableEntity = (IdentifiableEntity) HibernateProxyHelper.deproxy(entity);
return "No text. Implement in subclass";
}
- /**
- * @return
- */
public List<T> getModel() {
return model;
}
}
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
- */
@Override
public List<T> getRootEntities() {
return getModel();
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getPropertyPathsMap()
- */
@Override
public Map<Object, List<String>> getPropertyPathsMap() {
// TODO Auto-generated method stub
return null;
}
+
+ public ConversationHolder getConversation() {
+ return conversation;
+ }
}
*/
package eu.etaxonomy.taxeditor.bulkeditor.input;
+import java.util.Arrays;
import java.util.List;
+import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IAgentService;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
@Override
public TeamOrPersonBase save(TeamOrPersonBase entity) {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- return (TeamOrPersonBase) CdmStore.getService(IAgentService.class).merge(entity, true).getMergedEntity();
- } else {
- CdmStore.getService(IAgentService.class).saveOrUpdate(entity) ;
- return entity;
- }
+ return (TeamOrPersonBase) CdmStore.getService(IAgentService.class).merge(entity, true).getMergedEntity();
+
}
@Override
- public boolean delete(TeamOrPersonBase entity)
+ public boolean delete(TeamOrPersonBase entity, DeleteConfiguratorBase config)
throws ReferencedObjectUndeletableException {
- // TODO Auto-generated method stub
- return false;
+ return CdmStore.getService(IAgentService.class).delete(entity.getUuid()) != null;
}
/* (non-Javadoc)
}
+ @Override
+ protected TeamOrPersonBase loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return HibernateProxyHelper.deproxy(CdmStore.getService(IAgentService.class).load(entityUuid, propertyPaths), TeamOrPersonBase.class);
+ }
+
+
+
}
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.reference.Reference;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
public enum BulkEditorInputType {
return GROUP;
} else if (User.class.isAssignableFrom(clazz)) {
return USER;
- } else if (Taxon.class.isAssignableFrom(clazz)){
+ } else if (TaxonBase.class.isAssignableFrom(clazz)){
return TAXON;
} else if (Media.class.isAssignableFrom(clazz)){
return MEDIA;
package eu.etaxonomy.taxeditor.bulkeditor.input;
+import java.util.Arrays;
import java.util.List;
+import java.util.UUID;
+import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.api.service.IGroupService;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.GroupCreator;
*/
@Override
public Group save(Group entity) {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- return CdmStore.getService(IGroupService.class).merge(entity, true).getMergedEntity();
- } else {
- CdmStore.getService(IGroupService.class).saveOrUpdate(entity);
- return entity;
- }
+ return CdmStore.getService(IGroupService.class).merge(entity, true).getMergedEntity();
+
}
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#delete(java.lang.Object)
*/
@Override
- public boolean delete(Group entity) throws ReferencedObjectUndeletableException {
- return CdmStore.getService(IGroupService.class).delete(entity) != null;
+ public boolean delete(Group entity, DeleteConfiguratorBase config) throws ReferencedObjectUndeletableException {
+ return CdmStore.getService(IGroupService.class).delete(entity.getUuid()) != null;
}
/* (non-Javadoc)
}
+ @Override
+ protected Group loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return HibernateProxyHelper.deproxy(CdmStore.getService(IAgentService.class).load(entityUuid, propertyPaths), Group.class);
+ }
+
}
*/
package eu.etaxonomy.taxeditor.bulkeditor.input;
+import java.util.Arrays;
import java.util.List;
+import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IMediaService;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
+import eu.etaxonomy.cdm.api.service.config.MediaDeletionConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.cdm.persistence.dao.hibernate.media.MediaDaoHibernateImpl;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.MediaCreator;
@Override
public Media save(Media entity) {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- return CdmStore.getService(IMediaService.class).merge(entity, true).getMergedEntity();
- } else {
- CdmStore.getService(IMediaService.class).saveOrUpdate(entity) ;
- return entity;
- }
+ return CdmStore.getService(IMediaService.class).merge(entity, true).getMergedEntity();
+
}
@Override
- public boolean delete(Media entity) throws ReferencedObjectUndeletableException {
- return CdmStore.getService(IMediaService.class).delete(entity) != null;
+ public boolean delete(Media entity, DeleteConfiguratorBase config) throws ReferencedObjectUndeletableException {
+ MediaDeletionConfigurator mediaConfig = null;
+ if (config instanceof MediaDeletionConfigurator){
+ mediaConfig = (MediaDeletionConfigurator) config;
+ } else{
+
+ }
+ return CdmStore.getService(IMediaService.class).delete(entity.getUuid(), mediaConfig) != null;
}
@Override
return sortProviders;
}
+
+ @Override
+ protected Media loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return CdmStore.getService(IMediaService.class).load(entityUuid, propertyPaths);
+ }
+
}
package eu.etaxonomy.taxeditor.bulkeditor.input;
+import java.util.Arrays;
import java.util.List;
+import java.util.UUID;
import eu.etaxonomy.cdm.api.service.INameService;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
+import eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
/** {@inheritDoc} */
@Override
public List listEntities(IIdentifiableEntityServiceConfigurator configurator) {
- return CdmStore.getSearchManager().findNames(configurator);
+
+ configurator.setPropertyPaths(getPropertyPaths());
+ return CdmStore.getSearchManager().findNames(configurator, this.getConversation());
}
/** {@inheritDoc}
return CdmStore.getService(INameService.class).load(uuid, propertyPaths);
}
*/
- /** {@inheritDoc}
- **/
@Override
- public boolean delete(TaxonNameBase entity) {
- return CdmStore.getService(INameService.class).delete(entity) != null;
+ public boolean delete(TaxonNameBase entity, DeleteConfiguratorBase config) {
+ NameDeletionConfigurator nameConfig = null;
+ if (config instanceof NameDeletionConfigurator){
+ nameConfig = (NameDeletionConfigurator) config;
+ } else{
+
+ }
+ return CdmStore.getService(INameService.class).delete(entity.getUuid(), nameConfig) != null;
}
-
+
/** {@inheritDoc} */
@Override
public TaxonNameBase save(TaxonNameBase entity) {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- return CdmStore.getService(INameService.class).merge(entity, true).getMergedEntity();
- } else {
- CdmStore.getService(INameService.class).saveOrUpdate(entity);
- return entity;
- }
+ TaxonNameBase mergedName = null;
+ mergedName = CdmStore.getService(INameService.class).merge(entity, true).getMergedEntity();
+ return mergedName;
+
}
/* (non-Javadoc)
}
+ @Override
+ protected TaxonNameBase loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return CdmStore.getService(INameService.class).load(entityUuid, getPropertyPaths());
+ }
+
+
+ private List<String> getPropertyPaths(){
+ List<String> nameBasePropertyPaths = Arrays.asList(new String[] {
+ "name.descriptions",
+ "name.typeDesignations",
+ "name.status",
+ "name.nomenclaturalReference.inReference",
+ "name.taxonBases.taxonNodes",
+ "name.relationsFromThisName",
+ "name.relationsToThisName",
+ "name.homotypicalGroup.typifiedNames.taxonBases.synonymRelations.synonym.name.status",
+ "name.homotypicalGroup.typifiedNames.relationsToThisName.fromName"});
+
+ return nameBasePropertyPaths;
+ }
}
import java.util.List;
import java.util.UUID;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.model.name.NameRelationship;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
*/
/** {@inheritDoc} */
@Override
- public boolean delete(NameRelationship entity) {
+ public boolean delete(NameRelationship entity, DeleteConfiguratorBase config) {
// TODO Auto-generated method stub
return false;
}
package eu.etaxonomy.taxeditor.bulkeditor.input;
+import java.util.Arrays;
import java.util.List;
+import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
/** {@inheritDoc}
* @throws ReferencedObjectUndeletableException */
@Override
- public boolean delete(SpecimenOrObservationBase entity) throws ReferencedObjectUndeletableException {
+ public boolean delete(SpecimenOrObservationBase entity, DeleteConfiguratorBase config ) throws ReferencedObjectUndeletableException {
return CdmStore.getService(IOccurrenceService.class).delete(entity) != null;
}
/** {@inheritDoc} */
@Override
public SpecimenOrObservationBase<IIdentifiableEntityCacheStrategy> save(SpecimenOrObservationBase entity) {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- return CdmStore.getService(IOccurrenceService.class).merge(entity, true).getMergedEntity();
- } else {
- CdmStore.getService(IOccurrenceService.class).save(entity);
- return entity;
- }
+ return CdmStore.getService(IOccurrenceService.class).merge(entity, true).getMergedEntity();
+
}
public void merge() {
}
+
+ @Override
+ protected SpecimenOrObservationBase loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths);
+ }
+
}
import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IReferenceService;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.cdm.model.common.MarkerType;
/** {@inheritDoc}
* @throws ReferencedObjectUndeletableException */
@Override
- public boolean delete(Reference entity) throws ReferencedObjectUndeletableException {
- return CdmStore.getService(IReferenceService.class).delete(entity) != null;
+ public boolean delete(Reference entity, DeleteConfiguratorBase config) throws ReferencedObjectUndeletableException {
+ return CdmStore.getService(IReferenceService.class).delete(entity.getUuid()) != null;
}
/** {@inheritDoc} */
@Override
public Reference save(Reference entity) {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- return CdmStore.getService(IReferenceService.class).merge(entity, true).getMergedEntity();
- } else {
- CdmStore.getService(IReferenceService.class).saveOrUpdate(entity);
- return entity;
- }
+ return CdmStore.getService(IReferenceService.class).merge(entity, true).getMergedEntity();
}
/* (non-Javadoc)
import java.util.UUID;\r
\r
import eu.etaxonomy.cdm.api.service.ITaxonService;\r
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;\r
import eu.etaxonomy.cdm.api.service.config.FindTaxaAndNamesConfiguratorImpl;\r
import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;\r
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;\r
+import eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator;\r
+import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;\r
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;\r
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;\r
import eu.etaxonomy.cdm.model.taxon.Synonym;\r
}\r
@Override\r
public TaxonBase save(TaxonBase entity) {\r
- if(CdmStore.getCurrentSessionManager().isRemoting()) {\r
- return CdmStore.getService(ITaxonService.class).merge(entity, true).getMergedEntity();\r
- } else {\r
- CdmStore.getService(ITaxonService.class).saveOrUpdate(entity);\r
- return entity;\r
- }\r
+ return CdmStore.getService(ITaxonService.class).merge(entity, true).getMergedEntity();\r
}\r
\r
\r
/** {@inheritDoc} */\r
@Override\r
public List listEntities(IIdentifiableEntityServiceConfigurator configurator) {\r
- IFindTaxaAndNamesConfigurator<TaxonBase> newConfig = new FindTaxaAndNamesConfiguratorImpl<TaxonBase>();\r
- newConfig.setTitleSearchString(configurator.getTitleSearchStringSqlized());\r
- newConfig.setMatchMode(MatchMode.ANYWHERE);\r
+// IFindTaxaAndNamesConfigurator<TaxonBase> newConfig = new FindTaxaAndNamesConfiguratorImpl<TaxonBase>();\r
+// newConfig.setTitleSearchString(configurator.getTitleSearchStringSqlized());\r
+// newConfig.setMatchMode(MatchMode.ANYWHERE);\r
+ \r
List<TaxonBase> taxa = CdmStore.getSearchManager().findTaxa(configurator);\r
List<TaxonBase> taxaCopy = new ArrayList<TaxonBase>();\r
for (TaxonBase taxon:taxa){\r
/** {@inheritDoc}\r
* @throws ReferencedObjectUndeletableException */\r
@Override\r
- public boolean delete(TaxonBase entity) {\r
- return CdmStore.getService(ITaxonService.class).delete(entity) != null;\r
+ public boolean delete(TaxonBase entity, DeleteConfiguratorBase config) {\r
+ if (entity instanceof Taxon){\r
+ TaxonDeletionConfigurator taxonConfig = null;\r
+ if (config instanceof TaxonDeletionConfigurator){\r
+ taxonConfig = (TaxonDeletionConfigurator)config;\r
+ }else{\r
+ \r
+ }\r
+ \r
+ return CdmStore.getService(ITaxonService.class).deleteTaxon(entity.getUuid(), taxonConfig, null) != null;\r
+ } else{\r
+ SynonymDeletionConfigurator synConfig = null;\r
+ if (config instanceof SynonymDeletionConfigurator){\r
+ synConfig = (SynonymDeletionConfigurator)config;\r
+ }else{\r
+ \r
+ }\r
+ \r
+ return CdmStore.getService(ITaxonService.class).deleteSynonym(entity.getUuid(), synConfig) != null;\r
+ }\r
}\r
@Override\r
protected IEntityCreator<TaxonBase> createEntityCreator() {\r
package eu.etaxonomy.taxeditor.bulkeditor.input;
+import java.util.Arrays;
import java.util.List;
+import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IUserService;
+import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.cdm.model.common.User;
*/
@Override
public User save(User entity) {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- return CdmStore.getService(IUserService.class).merge(entity, true).getMergedEntity();
- } else {
- CdmStore.getService(IUserService.class).saveOrUpdate(entity);
- return entity;
- }
-
+ return CdmStore.getService(IUserService.class).merge(entity, true).getMergedEntity();
}
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#delete(java.lang.Object)
*/
@Override
- public boolean delete(User entity) throws ReferencedObjectUndeletableException {
+ public boolean delete(User entity, DeleteConfiguratorBase config) throws ReferencedObjectUndeletableException {
return CdmStore.getService(IUserService.class).delete(entity) != null;
}
public void merge() {
}
+
+
+ @Override
+ protected User loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return CdmStore.getService(IUserService.class).load(entityUuid, propertyPaths);
+ }
+
}
public User createEntity(Object key, String text) {
try{
User user = User.NewInstance(text, text);
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IUserService.class).createUser(user);
- user = CdmStore.getService(IUserService.class).loadWithUpdate(user.getUuid());
- } else {
- CdmStore.getService(IUserService.class).createUser(user);
- }
+ CdmStore.getService(IUserService.class).createUser(user);
+ user = CdmStore.getService(IUserService.class).loadWithUpdate(user.getUuid());
return user;
} catch (AccessDeniedException e){
MessagingUtils.messageDialog("Access denied", getClass(), e.getMessage(), e);
referencedObject = CdmStore.getService(IUserService.class).load(entity, null);
} else if (Group.class.isAssignableFrom(objectClass)){
referencedObject = CdmStore.getService(IGroupService.class).load(entity, null);
+ }
+ else if(CdmBase.class.isAssignableFrom(objectClass)){
+ referencedObject = CdmStore.getCommonService().find(objectClass, entity);
}
//referencedObject =(CdmBase) CdmStore.getService(IIdentifiableEntityService.class).load(referencedObject.getUuid());
Set<CdmBase> setOfReferencingObjects = null;
}
+ @Override
+ protected String getViewName() {
+ return "Referencing Objects";
+ }
+
}
-<?xml version="1.0" encoding="UTF-8"?>\r
-<classpath>\r
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>\r
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
- <classpathentry kind="src" path="src/main/java"/>\r
- <classpathentry kind="src" path="src/main/resources"/>\r
- <classpathentry exported="true" kind="lib" path="lib/activation-1.1.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/antlr-2.7.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/aopalliance-1.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/apache-log4j-extras-1.2.17.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/aspectjrt-1.8.8.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/aspectjweaver-1.8.8.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/avro-1.6.3.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-anim-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-awt-util-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-bridge-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-css-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-dom-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-ext-1.8.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-extension-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-gvt-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-js-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-parser-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-script-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-svg-dom-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-svggen-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-transcoder-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-util-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/batik-xml-1.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/c3p0-0.9.5.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-4.2.0-SNAPSHOT.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-4.2.0-SNAPSHOT.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-4.2.0-SNAPSHOT.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-4.2.0-SNAPSHOT.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-4.2.0-SNAPSHOT.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-4.2.0-SNAPSHOT.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-4.2.0-SNAPSHOT.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-4.2.0-SNAPSHOT.jar" sourcepath="C:/Users/k.luther/.m2/repository/eu/etaxonomy/cdmlib-services/4.1.0-SNAPSHOT/cdmlib-services-4.2.0-SNAPSHOT-sources.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-test-4.2.0-SNAPSHOT.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/cglib-3.2.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/cglib-nodep-3.2.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/classmate-1.3.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/codemodel-2.2.11.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.aopalliance-1.0.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.apache.commons.logging-1.1.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/commons-beanutils-1.9.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/commons-codec-1.10.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/commons-collections-3.2.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/commons-csv-1.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/commons-dbcp-1.4.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/commons-io-2.4.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/commons-lang-2.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/commons-lang3-3.3.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/commons-pool-1.5.4.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/concurrent-1.3.4.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/dbunit-2.4.9.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/dom4j-1.6.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/doxia-core-1.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/doxia-logging-api-1.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/doxia-module-apt-1.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/doxia-module-xhtml-1.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/doxia-sink-api-1.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/dozer-5.3.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/dtd-parser-1.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/easymock-2.3.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/easymockclassextension-2.3.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/ehcache-core-2.6.11.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/ezmorph-1.0.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/FastInfoset-1.2.13.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/fop-1.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/google-api-translate-java-0.92.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/guava-19.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/h2-1.4.190.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/h2mig_pagestore_addon.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hamcrest-core-1.3.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-c3p0-5.0.7.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-cglib-repack-2.1_3.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-commons-annotations-5.0.1.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-core-5.0.7.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-ehcache-5.0.7.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-entitymanager-5.0.7.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-envers-5.0.7.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-jpa-2.1-api-1.0.0.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-search-4.2.0.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-search-analyzers-4.2.0.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-search-engine-5.5.2.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-search-orm-5.5.2.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-5.2.2.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-cdi-5.2.2.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/hsqldb-2.3.3.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/httpclient-4.5.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/httpclient-cache-4.2.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/httpcore-4.4.4.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/httpmime-4.5.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/icu4j-2.6.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/identificationKeyAPI-1.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/istack-commons-runtime-2.21.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/istack-commons-tools-2.21.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/itextpdf-5.5.8.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jackson-annotations-2.6.5.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jackson-core-2.6.5.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jackson-core-asl-1.8.8.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jackson-databind-2.6.5.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jackson-mapper-asl-1.8.8.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jakarta-regexp-1.4.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jandex-2.0.0.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/javassist-3.20.0-GA.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/javax.el-2.2.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/javax.el-api-2.2.5.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/javax.servlet-api-3.1.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jaxb-api-2.2.12.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jaxb-core-2.2.11.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jaxb-jxc-2.2.11.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jaxb-runtime-2.2.11.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jaxb-xjc-2.2.11.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jaxb1-impl-2.2-EA.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jaxen-1.1.4.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jaxen-1.1.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jboss-logging-3.3.0.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jcl-over-slf4j-1.7.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jdbc4-2.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jdom-1.1.3.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jdom2-2.0.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jena-arq-2.13.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jena-core-2.13.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jena-iri-1.1.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jena-tdb-1.1.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/joda-time-2.9.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/json-20090211.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/json-lib-2.4-jdk15.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jsonld-java-0.5.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jsr250-api-1.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jta-1.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/jtds-1.3.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/junit-4.12.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/junit-benchmarks-0.7.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/libthrift-0.9.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/log4j-1.2.17.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lsid-client-1.1.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lsid-server-1.1.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-analyzers-common-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-backward-codecs-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-core-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-facet-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-grouping-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-highlighter-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-join-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-memory-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-misc-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-queries-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-queryparser-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-sandbox-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/lucene-suggest-5.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/mapstruct-1.0.0.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/mchange-commons-java-0.2.11.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/mysql-connector-java-5.1.38.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/objenesis-1.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/odfdom-0.8.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/odfdom-java-0.8.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/ognl-2.6.9.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/opencsv-2.3.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/org.osgi.core-1.0.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/osgi-3.6.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/p6spy-2.1.4.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/paranamer-2.3.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/plexus-classworlds-1.2-alpha-9.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/plexus-component-annotations-1.5.5.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/plexus-container-default-1.0-alpha-30.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/plexus-utils-3.0.15.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/poi-3.13.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-3.13.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-schemas-3.13.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/postgresql-9.4-1206-jdbc4.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/relaxngDatatype-20020414.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/rngom-2.2.11.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/sanselan-0.97-incubator.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/Saxon-HE-9.7.0-2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/servlet-api-2.5.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/slf4j-api-1.7.13.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/slf4j-log4j12-1.7.13.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/slf4j-nop-1.7.13.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/snappy-java-1.0.4.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/solr-analysis-extras-3.6.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/solr-core-3.6.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/solr-solrj-3.6.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-aop-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-aspects-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-beans-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-context-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-context-support-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-core-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-expression-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-jdbc-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-modules-cache-0.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-orm-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-oxm-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-plugin-core-1.2.0.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-plugin-metadata-1.2.0.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-security-config-4.0.3.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-security-core-4.0.3.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-security-web-4.0.3.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-test-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-tx-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-web-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/spring-webmvc-4.2.4.RELEASE.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/springfox-core-2.3.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/springfox-schema-2.3.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/springfox-spi-2.3.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/springfox-spring-web-2.3.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/springfox-swagger-common-2.3.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/springfox-swagger2-2.3.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/standard-1.1.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/stax-1.2.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/stax-api-1.0.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/stax-ex-1.7.7.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/swagger-annotations-1.5.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/swagger-models-1.5.5.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/tools.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/txw2-2.2.11.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/unitils-core-3.4.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/unitils-database-3.4.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/unitils-dbmaintainer-3.4.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/unitils-dbunit-3.4.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/unitils-easymock-3.4.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/unitils-inject-3.4.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/unitils-mock-3.4.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/unitils-orm-3.4.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/unitils-spring-3.4.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/usertype.jodatime-2.0.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/usertype.spi-2.0.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/validation-api-1.1.0.Final.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/wsdl4j-1.6.3.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xalan-2.7.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xercesImpl-2.11.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xml-apis-1.0.b2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xml-apis-ext-1.3.04.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xml-resolver-1.2.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xmlbeans-2.6.0.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xmlgraphics-commons-1.5.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xmlpull-1.1.3.1.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xmlunit-1.6.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xom-1.2.5.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xpp3_min-1.1.4c.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xpp3-1.1.4c.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xsom-20140925.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/xstream-1.4.8.jar"/>\r
- <classpathentry exported="true" kind="lib" path="lib/yjp-controller-api-redist-9.0.8.jar"/>\r
- <classpathentry kind="output" path="target/classes"/>\r
-</classpath>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/resources"/>
+ <classpathentry exported="true" kind="lib" path="lib/activation-1.1.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/antlr-2.7.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/aopalliance-1.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/apache-log4j-extras-1.2.17.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/aspectjrt-1.8.8.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/aspectjweaver-1.8.8.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/avro-1.6.3.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-anim-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-awt-util-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-bridge-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-css-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-dom-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-ext-1.8.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-extension-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-gvt-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-js-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-parser-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-script-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-svg-dom-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-svggen-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-transcoder-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-util-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/batik-xml-1.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/c3p0-0.9.5.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-4.4.0-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-4.4.0-SNAPSHOT.jar" sourcepath="C:/Users/k.luther/.m2/repository/eu/etaxonomy/cdmlib-ext/4.3.0-SNAPSHOT/cdmlib-ext-4.4.0-SNAPSHOT-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-4.4.0-SNAPSHOT.jar" sourcepath="C:/Users/k.luther/.m2/repository/eu/etaxonomy/cdmlib-io/4.3.0-SNAPSHOT/cdmlib-io-4.4.0-SNAPSHOT-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-4.4.0-SNAPSHOT.jar" sourcepath="C:/Users/k.luther/.m2/repository/eu/etaxonomy/cdmlib-model/4.3.0-SNAPSHOT/cdmlib-model-4.4.0-SNAPSHOT-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-4.4.0-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-4.4.0-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-4.4.0-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-4.4.0-SNAPSHOT.jar" sourcepath="C:/Users/k.luther/.m2/repository/eu/etaxonomy/cdmlib-services/4.3.0-SNAPSHOT/cdmlib-services-4.4.0-SNAPSHOT-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-test-4.4.0-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cglib-3.2.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cglib-nodep-3.2.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/classmate-1.3.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/codemodel-2.2.11.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.aopalliance-1.0.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.apache.commons.logging-1.1.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-beanutils-1.9.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-codec-1.10.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-collections-3.2.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-csv-1.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-dbcp-1.4.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-io-2.4.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-lang-2.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-lang3-3.3.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-pool-1.5.4.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/concurrent-1.3.4.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/dbunit-2.4.9.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/dom4j-1.6.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/doxia-core-1.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/doxia-logging-api-1.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/doxia-module-apt-1.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/doxia-module-xhtml-1.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/doxia-sink-api-1.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/dozer-5.3.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/dtd-parser-1.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/easymock-2.3.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/easymockclassextension-2.3.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/ehcache-core-2.6.11.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/ezmorph-1.0.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/FastInfoset-1.2.13.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/fop-1.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/google-api-translate-java-0.92.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/guava-19.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/h2-1.4.190.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/h2mig_pagestore_addon.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hamcrest-core-1.3.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-c3p0-5.0.7.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-cglib-repack-2.1_3.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-commons-annotations-5.0.1.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-core-5.0.7.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-ehcache-5.0.7.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-entitymanager-5.0.7.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-envers-5.0.7.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-jpa-2.1-api-1.0.0.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-search-4.2.0.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-search-analyzers-4.2.0.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-search-engine-5.5.2.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-search-orm-5.5.2.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-5.2.2.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-cdi-5.2.2.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/hsqldb-2.3.3.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/httpclient-4.5.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/httpclient-cache-4.2.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/httpcore-4.4.4.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/httpmime-4.5.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/icu4j-2.6.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/identificationKeyAPI-1.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/istack-commons-runtime-2.21.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/istack-commons-tools-2.21.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/itextpdf-5.5.8.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jackson-annotations-2.6.5.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jackson-core-2.6.5.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jackson-core-asl-1.8.8.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jackson-databind-2.6.5.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jackson-mapper-asl-1.8.8.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jakarta-regexp-1.4.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jandex-2.0.0.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/javassist-3.20.0-GA.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/javax.el-2.2.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/javax.el-api-2.2.5.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/javax.servlet-api-3.1.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jaxb-api-2.2.12.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jaxb-core-2.2.11.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jaxb-jxc-2.2.11.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jaxb-runtime-2.2.11.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jaxb-xjc-2.2.11.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jaxb1-impl-2.2-EA.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jaxen-1.1.4.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jaxen-1.1.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jboss-logging-3.3.0.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jcl-over-slf4j-1.7.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jdbc4-2.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jdom-1.1.3.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jdom2-2.0.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jena-arq-2.13.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jena-core-2.13.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jena-iri-1.1.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jena-tdb-1.1.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/joda-time-2.9.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/json-20090211.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/json-lib-2.4-jdk15.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jsonld-java-0.5.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jsr250-api-1.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jta-1.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jtds-1.3.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/junit-4.12.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/junit-benchmarks-0.7.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/libthrift-0.9.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/log4j-1.2.17.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lsid-client-1.1.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lsid-server-1.1.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-analyzers-common-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-backward-codecs-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-core-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-facet-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-grouping-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-highlighter-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-join-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-memory-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-misc-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-queries-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-queryparser-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-sandbox-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/lucene-suggest-5.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/mapstruct-1.0.0.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/mchange-commons-java-0.2.11.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/mysql-connector-java-5.1.38.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/objenesis-1.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/odfdom-0.8.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/odfdom-java-0.8.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/ognl-2.6.9.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/opencsv-2.3.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/org.osgi.core-1.0.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/osgi-3.6.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/paranamer-2.3.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/plexus-classworlds-1.2-alpha-9.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/plexus-component-annotations-1.5.5.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/plexus-container-default-1.0-alpha-30.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/plexus-utils-3.0.15.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/poi-3.13.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-3.13.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-schemas-3.13.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/postgresql-9.4-1206-jdbc4.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/relaxngDatatype-20020414.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/rngom-2.2.11.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/sanselan-0.97-incubator.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/Saxon-HE-9.7.0-2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/servlet-api-2.5.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/slf4j-api-1.7.13.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/slf4j-log4j12-1.7.13.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/slf4j-nop-1.7.13.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/snappy-java-1.0.4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/solr-analysis-extras-3.6.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/solr-core-3.6.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/solr-solrj-3.6.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-aop-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-aspects-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-beans-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-context-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-context-support-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-core-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-expression-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-jdbc-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-modules-cache-0.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-orm-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-oxm-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-plugin-core-1.2.0.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-plugin-metadata-1.2.0.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-security-config-4.0.3.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-security-core-4.0.3.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-security-web-4.0.3.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-test-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-tx-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-web-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/spring-webmvc-4.2.4.RELEASE.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/springfox-core-2.3.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/springfox-schema-2.3.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/springfox-spi-2.3.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/springfox-spring-web-2.3.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/springfox-swagger-common-2.3.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/springfox-swagger2-2.3.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/standard-1.1.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/stax-1.2.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/stax-api-1.0.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/stax-ex-1.7.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/swagger-annotations-1.5.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/swagger-models-1.5.5.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/tools.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/txw2-2.2.11.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/unitils-core-3.4.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/unitils-database-3.4.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/unitils-dbmaintainer-3.4.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/unitils-dbunit-3.4.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/unitils-easymock-3.4.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/unitils-inject-3.4.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/unitils-mock-3.4.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/unitils-orm-3.4.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/unitils-spring-3.4.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/usertype.jodatime-2.0.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/usertype.spi-2.0.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/validation-api-1.1.0.Final.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/wsdl4j-1.6.3.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xalan-2.7.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xercesImpl-2.11.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xml-apis-1.0.b2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xml-apis-ext-1.3.04.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xml-resolver-1.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xmlbeans-2.6.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xmlgraphics-commons-1.5.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xmlpull-1.1.3.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xmlunit-1.6.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xom-1.2.5.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xpp3_min-1.1.4c.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xpp3-1.1.4c.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xsom-20140925.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xstream-1.4.8.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/yjp-controller-api-redist-9.0.8.jar"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Bundle-ManifestVersion: 2
Bundle-Name: CDM Library Dependencies Plugin
Bundle-SymbolicName: eu.etaxonomy.taxeditor.cdmlib;singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Eclipse-BundleShape: dir
Export-Package: com.google.api,
com.google.api.detect,
eu.etaxonomy.cdm.io.specimen,
eu.etaxonomy.cdm.io.specimen.abcd206.in,
eu.etaxonomy.cdm.io.specimen.excel.in,
+ eu.etaxonomy.cdm.io.specimen.gbif.in,
eu.etaxonomy.cdm.io.taxonx,
eu.etaxonomy.cdm.io.tcsxml,
eu.etaxonomy.cdm.io.tcsxml.in,
lib/batik-util-1.7.jar,
lib/batik-xml-1.7.jar,
lib/c3p0-0.9.5.2.jar,
- lib/cdmlib-commons-4.2.0-SNAPSHOT.jar,
- lib/cdmlib-ext-4.2.0-SNAPSHOT.jar,
- lib/cdmlib-io-4.2.0-SNAPSHOT.jar,
- lib/cdmlib-model-4.2.0-SNAPSHOT.jar,
- lib/cdmlib-persistence-4.2.0-SNAPSHOT.jar,
- lib/cdmlib-print-4.2.0-SNAPSHOT.jar,
- lib/cdmlib-remote-4.2.0-SNAPSHOT.jar,
- lib/cdmlib-services-4.2.0-SNAPSHOT.jar,
- lib/cdmlib-test-4.2.0-SNAPSHOT.jar,
+ lib/cdmlib-commons-4.4.0-SNAPSHOT.jar,
+ lib/cdmlib-ext-4.4.0-SNAPSHOT.jar,
+ lib/cdmlib-io-4.4.0-SNAPSHOT.jar,
+ lib/cdmlib-model-4.4.0-SNAPSHOT.jar,
+ lib/cdmlib-persistence-4.4.0-SNAPSHOT.jar,
+ lib/cdmlib-print-4.4.0-SNAPSHOT.jar,
+ lib/cdmlib-remote-4.4.0-SNAPSHOT.jar,
+ lib/cdmlib-services-4.4.0-SNAPSHOT.jar,
+ lib/cdmlib-test-4.4.0-SNAPSHOT.jar,
lib/cglib-3.2.0.jar,
lib/cglib-nodep-3.2.0.jar,
lib/classmate-1.3.1.jar,
lib/opencsv-2.3.jar,
lib/org.osgi.core-1.0.0.jar,
lib/osgi-3.6.0.jar,
- lib/p6spy-2.1.4.jar,
lib/paranamer-2.3.jar,
lib/plexus-classworlds-1.2-alpha-9.jar,
lib/plexus-component-annotations-1.5.5.jar,
lib/batik-util-1.7.jar,\
lib/batik-xml-1.7.jar,\
lib/c3p0-0.9.5.2.jar,\
- lib/cdmlib-commons-4.2.0-SNAPSHOT.jar,\
- lib/cdmlib-ext-4.2.0-SNAPSHOT.jar,\
- lib/cdmlib-io-4.2.0-SNAPSHOT.jar,\
- lib/cdmlib-model-4.2.0-SNAPSHOT.jar,\
- lib/cdmlib-persistence-4.2.0-SNAPSHOT.jar,\
- lib/cdmlib-print-4.2.0-SNAPSHOT.jar,\
- lib/cdmlib-remote-4.2.0-SNAPSHOT.jar,\
- lib/cdmlib-services-4.2.0-SNAPSHOT.jar,\
- lib/cdmlib-test-4.2.0-SNAPSHOT.jar,\
+ lib/cdmlib-commons-4.4.0-SNAPSHOT.jar,\
+ lib/cdmlib-ext-4.4.0-SNAPSHOT.jar,\
+ lib/cdmlib-io-4.4.0-SNAPSHOT.jar,\
+ lib/cdmlib-model-4.4.0-SNAPSHOT.jar,\
+ lib/cdmlib-persistence-4.4.0-SNAPSHOT.jar,\
+ lib/cdmlib-print-4.4.0-SNAPSHOT.jar,\
+ lib/cdmlib-remote-4.4.0-SNAPSHOT.jar,\
+ lib/cdmlib-services-4.4.0-SNAPSHOT.jar,\
+ lib/cdmlib-test-4.4.0-SNAPSHOT.jar,\
lib/cglib-3.2.0.jar,\
lib/cglib-nodep-3.2.0.jar,\
lib/classmate-1.3.1.jar,\
lib/opencsv-2.3.jar,\
lib/org.osgi.core-1.0.0.jar,\
lib/osgi-3.6.0.jar,\
- lib/p6spy-2.1.4.jar,\
lib/paranamer-2.3.jar,\
lib/plexus-classworlds-1.2-alpha-9.jar,\
lib/plexus-component-annotations-1.5.5.jar,\
<parent>\r
<groupId>eu.etaxonomy</groupId>\r
<artifactId>taxeditor-parent</artifactId>\r
- <version>4.2.0-SNAPSHOT</version>\r
+ <version>4.4.0-SNAPSHOT</version>\r
</parent>\r
<modelVersion>4.0.0</modelVersion>\r
<artifactId>eu.etaxonomy.taxeditor.cdmlib</artifactId>\r
<version>${cdmlib.version}</version>\r
</dependency>\r
\r
- <!-- <dependency> -->\r
- <!-- <groupId>org.eclipse.jetty</groupId> -->\r
- <!-- <artifactId>jetty-server</artifactId> -->\r
- <!-- <version>9.1.3.v20140225</version> -->\r
- <!-- </dependency> -->\r
- <!-- <dependency> -->\r
- <!-- <groupId>org.eclipse.jetty</groupId> -->\r
- <!-- <artifactId>jetty-util</artifactId> -->\r
- <!-- <version>9.1.3.v20140225</version> -->\r
- <!-- </dependency> -->\r
- <!-- <dependency> -->\r
- <!-- <groupId>org.eclipse.jetty</groupId> -->\r
- <!-- <artifactId>jetty-xml</artifactId> -->\r
- <!-- <version>9.1.3.v20140225</version> -->\r
- <!-- </dependency> -->\r
- <!-- <dependency> -->\r
- <!-- <groupId>org.eclipse.jetty</groupId> -->\r
- <!-- <artifactId>jetty-servlet</artifactId> -->\r
- <!-- <version>9.1.3.v20140225</version> -->\r
- <!-- </dependency> -->\r
- <!-- <dependency> -->\r
- <!-- <groupId>org.eclipse.jetty</groupId> -->\r
- <!-- <artifactId>jetty-webapp</artifactId> -->\r
- <!-- <version>9.1.3.v20140225</version> -->\r
- <!-- </dependency> -->\r
- <!-- <dependency> -->\r
- <!-- <groupId>org.eclipse.jetty</groupId> -->\r
- <!-- <artifactId>jetty-security</artifactId> -->\r
- <!-- <version>9.1.3.v20140225</version> -->\r
- <!-- </dependency> -->\r
- <!-- <dependency> -->\r
- <!-- <groupId>org.eclipse.jetty</groupId> -->\r
- <!-- <artifactId>jetty-http</artifactId> -->\r
- <!-- <version>${jetty.version}</version> -->\r
- <!-- </dependency> -->\r
- <!-- <dependency> -->\r
- <!-- <groupId>org.eclipse.jetty</groupId> -->\r
- <!-- <artifactId>jetty-io</artifactId> -->\r
- <!-- <version>${jetty.version}</version> -->\r
- <!-- </dependency> -->\r
- <!-- <dependency> -->\r
- <!-- <groupId>javax.servlet</groupId> -->\r
- <!-- <artifactId>javax.servlet-api</artifactId> -->\r
- <!-- <version>3.1.0</version> -->\r
- <!-- </dependency> -->\r
-\r
- <!-- <dependency> -->\r
- <!-- <groupId>javax.servlet</groupId> -->\r
- <!-- <artifactId>jsp-api</artifactId> -->\r
- <!-- <version>2.0</version> -->\r
- <!-- </dependency> -->\r
-\r
<dependency>\r
<groupId>net.sf.ehcache</groupId>\r
<artifactId>ehcache-core</artifactId>\r
<artifactId>hamcrest-core</artifactId>\r
<version>1.3</version>\r
</dependency>\r
- <dependency>\r
- <groupId>com.mchange</groupId>\r
- <artifactId>c3p0</artifactId>\r
- <version>${c3p0.version}</version>\r
- </dependency>\r
<dependency>\r
<groupId>org.jboss.spec.javax.transaction</groupId>\r
<artifactId>jboss-transaction-api_1.1_spec</artifactId>\r
</dependency>\r
\r
<!-- For Unit Tests Start -->\r
+ <!-- still needed? -->\r
\r
- <dependency>\r
- <groupId>org.unitils</groupId>\r
- <artifactId>unitils-core</artifactId>\r
- <version>3.4.2</version>\r
- </dependency>\r
- <dependency>\r
- <groupId>org.unitils</groupId>\r
- <artifactId>unitils-spring</artifactId>\r
- <version>3.4.2</version>\r
- </dependency>\r
- <dependency>\r
- <groupId>org.unitils</groupId>\r
- <artifactId>unitils-database</artifactId>\r
- <version>3.4.2</version>\r
- </dependency>\r
<dependency>\r
<groupId>commons-dbcp</groupId>\r
<artifactId>commons-dbcp</artifactId>\r
<artifactId>commons-pool</artifactId>\r
<version>1.5.4</version>\r
</dependency>\r
- <dependency>\r
- <groupId>org.unitils</groupId>\r
- <artifactId>unitils-dbmaintainer</artifactId>\r
- <version>3.4.2</version>\r
- </dependency>\r
- <dependency>\r
- <groupId>com.h2database</groupId>\r
- <artifactId>h2</artifactId>\r
- <version>1.4.181</version>\r
- </dependency>\r
- <dependency>\r
- <groupId>org.unitils</groupId>\r
- <artifactId>unitils-dbunit</artifactId>\r
- <version>3.4.2</version>\r
- </dependency>\r
- <dependency>\r
- <groupId>org.dbunit</groupId>\r
- <artifactId>dbunit</artifactId>\r
- <version>2.4.9</version>\r
- </dependency>\r
+\r
+ \r
<!-- For Unit Tests End -->\r
\r
<!-- For Hibernate Mapping Start -->\r
<version>5.5.8</version>\r
<scope>compile</scope>\r
</dependency>\r
- \r
\r
</dependencies>\r
</project>\r
import eu.etaxonomy.cdm.api.service.IOccurrenceService;\r
import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService;\r
import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;\r
+import eu.etaxonomy.cdm.api.service.IPreferenceService;\r
import eu.etaxonomy.cdm.api.service.IProgressMonitorService;\r
import eu.etaxonomy.cdm.api.service.IReferenceService;\r
import eu.etaxonomy.cdm.api.service.IService;\r
public IGroupService getGroupService(){\r
return (IGroupService) getService(IGroupService.class, "/remoting/group.service", new CdmServiceRequestExecutor());\r
}\r
+ \r
+ @Override\r
+ public IPreferenceService getPreferenceService(){\r
+ return (IPreferenceService) getService(IPreferenceService.class, "/remoting/preference.service", new CdmServiceRequestExecutor());\r
+ }\r
\r
\r
@Override\r
} else if (obj instanceof Collection) {
return (T) load((Collection<T>)obj, recursive, update);
} else if(obj instanceof Pager) {
- load(((Pager)obj).getRecords(), recursive, update);
- return obj;
+ load(((Pager)obj).getRecords(), recursive, update);
+ return obj;
} else if(obj instanceof MergeResult) {
return (T) load((MergeResult<CdmBase>)obj, recursive, update);
}
return map;
}
- public <T extends Object> Collection<T> load(Collection<T> collection, boolean recursive, boolean update){
+ public <T extends Object> Collection<T> load(Collection<T> collection, boolean recursive, boolean update){
Collection<T> loadedCollection;
if(isRecursiveEnabled && recursive) {
return;
}
- int originalMapSize = map.size();
-
Iterator<Map.Entry<T,T>> iter = map.entrySet().iterator();
- int i=0;
while ( iter.hasNext() ) {
Map.Entry<T,T> e = iter.next();
CdmEntityInfo childCei = new CdmEntityInfo(e);
private <T extends Object> void debug(Collection<T> collection,
List<CdmEntityInfo> alreadyVisitedEntities,
CdmEntityInfo cei) {
- int length = collection.size();
- Object[] result = new Object[length];
Iterator<T> collectionItr = collection.iterator();
while(collectionItr.hasNext()) {
Object obj = collectionItr.next();
- CdmEntityInfo childCei = new CdmEntityInfo(ProxyUtils.deproxy(obj));
- cei.addChild(childCei);
- debugRecursive(obj, alreadyVisitedEntities, childCei);
+ boolean alreadyVisited = false;
+ for (CdmEntityInfo entityInfo: alreadyVisitedEntities) {
+ if(obj.equals(entityInfo.getObject())){
+ alreadyVisited = true;
+ break;
+ }
+ }
+ if(!alreadyVisited){
+ CdmEntityInfo childCei = new CdmEntityInfo(ProxyUtils.deproxy(obj));
+ cei.addChild(childCei);
+ debugRecursive(obj, alreadyVisitedEntities, childCei);
+ }
}
// retrieve the actual object corresponding to the field.
// this object will be either a CdmBase or a Collection / Map
// with CdmBase as the generic type
- String f = field;
CdmEntityInfo childCei = getDebugCdmBaseTypeFieldValue(cdmEntity, field, alreadyVisitedEntities, cei);
if(!childCei.isProxy()) {
Object object = childCei.getObject();
o = ProxyUtils.deproxy(o);
CdmBase cdmEntityInSubGraph = null;
- boolean isHibernateProxy = false;
- boolean isPersistentCollection = false;
-
childCei = new CdmEntityInfo(o);
cei.addChild(childCei);
childCei.setField(field);
for(CdmEntityInfo cei : ceiSet) {
if(cei.getObject() == objectToCompare) {
foundIdentical = true;
- } else if(objectToCompare.equals(cei.getObject())) {
- return false;
}
+// } else if(objectToCompare.equals(cei.getObject())) {
+// return false;
+// }
}
}
return foundIdentical;
Bundle-ManifestVersion: 2
Bundle-Name: Editor Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.editor;singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin
Bundle-Vendor: %Bundle-Vendor.0
Bundle-Localization: OSGI-INF/l10n/plugin
Export-Package: eu.etaxonomy.taxeditor.editor,
eu.etaxonomy.taxeditor.editor.handler,
+ eu.etaxonomy.taxeditor.editor.handler.defaultHandler,
eu.etaxonomy.taxeditor.editor.internal,
eu.etaxonomy.taxeditor.editor.key.polytomous,
eu.etaxonomy.taxeditor.editor.name,
SingleReadSequenceContextMenu_REUSE_FOR_SEQUENCE=Reuse for other Sequence
SingleReadSequenceContextMenu_REUSE_SINGLE_READ_HERE=Reuse SingleRead here
-DerivateView_DERIVATIVE_EDITOR=Derivative Editor
+DerivateView_DERIVATIVE_EDITOR=Specimen Editor
DerivateView_SAVING_HIERARCHY=Saving hierarchy
DerivateView_UNSAVED_CHANGES=View has unsaved changes
DerivateView_YOU_NEED_TO_SAVE=You need to save before performing this action
MoveDerivateOperation_MOVE_NOT_POSSIBLE=Moving derivatives not possible\!
MoveDerivateOperation_MOVE_TO_NOT_POSSIBLE=Moving "%s" to "%s" is not possible\!
-OpenDerivateEditorForTaxonHandler_COULD_NOT_OPEN_EDITOR=Could not open Derivative Editor
+OpenDerivateEditorForTaxonHandler_COULD_NOT_OPEN_EDITOR=Could not open Specimen Editor
OpenDerivateEditorForTaxonHandler_FAILED_TO_OPEN=Failed to open Editor
OpenDerivateEditorForTaxonHandler_HIERARCHY_CORRUPTED=The derivative hierarchy is corrupted\!
OpenDerivateEditorForTaxonHandler_NO_DERIVATIVES_FOUND=No Derivatives found
DeleteTaxonBaseHandler_CONFIRM_DELETION=Confirm Deletion
DeleteTaxonBaseHandler_ELEMENT_MUST_BE_SYNONYM_MISAPP_CONCEPT=Element has to be Synonym, Misapplication or Concept
DeleteTaxonBaseHandler_REALLY_DELETE_TAXON=Are you sure you want to delete the selected taxon?
+
+DescriptiveViewPart_COLLAPSE_ALL=Collapse All
+DescriptiveViewPart_EXPAND_ALL=Expand All
+DescriptiveViewPart_FACTUAL_DATA=Factual Data
+DescriptiveViewPart_SHOW_ALL_DATA=Show all factual data
+
+ConceptGraphView_VIEWER_NAME=Concept Graph
+ConceptViewPart_VIEWER_NAME=Concept Relations
+UsesViewPart_VIEWER_NAME=Uses
SingleReadSequenceContextMenu_REUSE_FOR_SEQUENCE=Für andere Sequenz verwenden
SingleReadSequenceContextMenu_REUSE_SINGLE_READ_HERE=SingleRead hier verwenden
-DerivateView_DERIVATIVE_EDITOR=Derivat-Editor
+DerivateView_DERIVATIVE_EDITOR=Specimen-Editor
DerivateView_SAVING_HIERARCHY=Speichere Hierarchie
DerivateView_UNSAVED_CHANGES=Ungepeicherte Änderungen
DerivateView_YOU_NEED_TO_SAVE=Sie müssen speichern, um diese Aktion auszuführen
MoveDerivateOperation_MOVE_NOT_POSSIBLE=Verschieben von Derivaten nicht möglich\!
MoveDerivateOperation_MOVE_TO_NOT_POSSIBLE=Verschieben von "%s" nach "%s" nicht möglich\!
-OpenDerivateEditorForTaxonHandler_COULD_NOT_OPEN_EDITOR=Konnte Derivat-Editor nicht öffnen
+OpenDerivateEditorForTaxonHandler_COULD_NOT_OPEN_EDITOR=Konnte Specimen-Editor nicht öffnen
OpenDerivateEditorForTaxonHandler_FAILED_TO_OPEN=Öffnen des Editors fehlgeschlagen
OpenDerivateEditorForTaxonHandler_HIERARCHY_CORRUPTED=Die Derivathierarchie ist korrumpiert\!
OpenDerivateEditorForTaxonHandler_NO_DERIVATIVES_FOUND=Keine Derivate gefunden
DeleteTaxonBaseHandler_CONFIRM_DELETION=Löschen bestätigen
DeleteTaxonBaseHandler_ELEMENT_MUST_BE_SYNONYM_MISAPP_CONCEPT=Element muss Synonym, Misapplication oder Konzept sein
DeleteTaxonBaseHandler_REALLY_DELETE_TAXON=Wollen Sie wirklich das ausgewählte Taxon löschen?
+
+DescriptiveViewPart_COLLAPSE_ALL=Alles einklappen
+DescriptiveViewPart_EXPAND_ALL=Alles ausklappen
+DescriptiveViewPart_FACTUAL_DATA=Faktendaten
+DescriptiveViewPart_SHOW_ALL_DATA=Zeige alle Faktendaten
+
+ConceptGraphView_VIEWER_NAME=Konzeptgraph
+ConceptViewPart_VIEWER_NAME=Konzeptrelationen
+UsesViewPart_VIEWER_NAME=Nutzung
editor.name.2 = Polytomous Key Graph Editor\r
editor.name.3 = Polytomous Key List Editor\r
editor.name.4 = Cdm Authority Editor\r
-editor.name.5 = Derivative Editor\r
+editor.name.5 = Specimen Editor\r
view.name = Factual Data\r
view.name.0 = Uses\r
view.name.1 = Media\r
command.name.33 = Open Related Concept\r
category.name.7 = -- Group\r
command.name.34 = Edit CDM Authorities\r
-command.name.35 = Open Derivative Editor\r
+command.name.35 = Open Specimen Editor\r
scheme.description = The default key binding scheme for the Taxonomic Editor\r
scheme.name = Taxonomic Editor Default Key Bindings\r
editor.name.6 = Specimen Import Editor\r
editor.name.7 = Gbif Import Editor\r
-editor.name.8 = Checklist Editor\r
+editor.name.8 = Distribution Editor\r
view.name.4 = Specimen Import\r
view.name.5 = GBIF Specimen Import\r
command.label.46 = Name\r
command.label.50 = Use Existing Image\r
command.name.36 = Create Misapplication\r
command.name.37 = Use Existing Image\r
-command.name.38 = Open Checklist Editor\r
+command.name.38 = Open Distribution Editor\r
command.name.39 = New Datasource\r
wizard.name = Specimen Search/Import\r
wizard.description = Queries data provider for specimens with specified parameters.\nNote: Query results are currently limited to 100.\r
command.name.44 = Deep Delete\r
command.name.46 = Move Synonym (Homotypical Group) to another Accepted Taxon\r
command.label.56 = Move Synonym (Homotypical Group) to another Accepted Taxon\r
+command.name.57 = Set as Basionym of Homotypical Group\r
+command.label.57 = Set as Basionym of Homotypical Group\r
+\r
markerContentGenerator.name = Validation Problems Marker Generator\r
command.name.45 = Delete\r
command.name.47 = Delete\r
command.name.50 = delete\r
command.name.51 = delete
\r
-editor.name.DERIVATIVE_EDITOR = Derivative Editor\r
-command.label.DERIVATIVE_EDITOR = Derivative Editor\r
+editor.name.DERIVATIVE_EDITOR = Specimen Editor\r
+command.label.DERIVATIVE_EDITOR = Specimen Editor\r
command.label.LINK_WITH_TAXON_SELECTION = Link with taxon selection\r
command.label.UNLINK_FROM_TAXON_SELECTION = Unlink from taxon selection\r
command.label.REUSE_SINGLE_READ_HERE = Reuse single read here\r
command.label.REMOVE_SINGLE_READ_FROM_THIS_SEQUENCE = Remove from this sequence\r
command.label.LINK_WITH_TAXON_SELECTIO = Link with Taxon Selection\r
command.name.OPEN_NAME_EDITOR_FOR_TAXON_NODE = Open Taxon Editor for taxonnode\r
-command.name.OPEN_DERIVATIVE_EDITOR = Open Derivative Editor\r
+command.name.OPEN_DERIVATIVE_EDITOR = Open Specimen Editor\r
command.name.LINK_WITH_TAXON_SELECTION = Link with taxon selection\r
command.name.COPY_SINGLE_READ_TO_CLIPBOARD = Copy SingleRead to clipboard\r
command.name.REUSE_SINGLE_READ = Reuse SingleRead\r
command.name.REMOVE_SINGLE_READ = Remove SingleRead from sequence\r
-command.name.TOGGLE_LINK_WITH_TAXON_SELECTION = Toggle link with taxon selection
\ No newline at end of file
+command.name.TOGGLE_LINK_WITH_TAXON_SELECTION = Toggle link with taxon selection\r
+\r
+viewCommandMapping.viewerName.NAME_EDITOR = Name Editor\r
+viewCommandMapping.viewerName.SPECIMEN_EDITOR = Specimen Editor\r
+viewCommandMapping.viewerName.CHECKLIST_EDITOR = Distribution Editor
\ No newline at end of file
command.label.6 = Konzeptrelationen
command.label.7 = Konzeptgraph
command.label.8 = \u00d6ffne Parent
-menu.label = Neue
+menu.label = Neu
command.label.9 = Heterotypisches Synonym
command.label.10 = Homotypisches Synonym
command.label.11 = Synonym in Homotypischer Gruppe
command.label.43 = \u00d6ffne verbundenes Konzept
command.label.44 = L\u00f6schen
command.label.45 = Bearbeite Rechte
+command.label.57 = Setze als Basionym der homotypischen Gruppe
extension.name = Namensbefehle
category.name.0 = -- Namenseditor
command.name = \u00d6ffne Elter
scheme.name = Taxonomic Editor Standard Tastenkombinationen
editor.name.6 = Specimen Import Editor
editor.name.7 = GBIF Import Editor
-editor.name.8 = Checklist Editor
+editor.name.8 = Verbreitungs-Editor
view.name.4 = Specimen Import
view.name.5 = GBIF Specimen Import
command.label.46 = Name
command.label.50 = Benutze vorhandenes Bild
command.name.36 = Erstelle Misapplication
command.name.37 = Benutze vorhandenes Bild
-command.name.38 = \u00d6ffne Checklist Editor
+command.name.38 = \u00d6ffne Verbreitungs-Editor
command.name.39 = Neue Datenquelle
wizard.name = Specimen Suche/Import
wizard.description = Sendet eine Anfrage mit den eingegebenen Parametern an den Datenprovider.\nHinweis: Die Anzahl der Anfrageergebnisse sind auf 100 begrenzt.
command.name.42 = \u00d6ffne Taxon Editor
command.name.43 = Neue Field Unit
command.name.44 = L\u00f6schen (mit Kindern)
-command.name.46 = Verschiebe Synonym(Homotypische Gruppe) zu neuem Akzeptierten Taxon
-command.label.56 = Verschiebe Synonym(Homotypische Gruppe) zu neuem Akzeptierten Taxon
+command.name.46 = Verschiebe Synonym (homotypische Gruppe) zu neuem akzeptiertem Taxon
+command.label.56 = Verschiebe Synonym (homotypische Gruppe) zu neuem akzeptiertem Taxon
markerContentGenerator.name = Validation Problems Marker Generator
command.name.45 = L\u00f6schen
command.name.47 = L\u00f6schen
command.name.49 = L\u00f6schen
command.name.50 = L\u00f6schen
command.name.51 = L\u00f6schen
+command.name.57 = Setze als Basionym der homotypischen Gruppe
editor.name.DERIVATIVE_EDITOR = Specimen-Editor
command.label.DERIVATIVE_EDITOR = Specimen-Editor
command.label.LINK_WITH_TAXON_SELECTION = Verknüpfe mit Taxonauswahl
command.label.UNLINK_FROM_TAXON_SELECTION = Verknüpfung mit Taxonauswahl aufheben
command.label.REUSE_SINGLE_READ_HERE = Single-Read hier wiederverwenden
-command.label.REUSE_SINGLE_READ_FOR_OTHER_SEQUENCE = Für ander Sequenz wiederverwenden
+command.label.REUSE_SINGLE_READ_FOR_OTHER_SEQUENCE = Für andere Sequenz wiederverwenden
command.label.REMOVE_SINGLE_READ_FROM_THIS_SEQUENCE = Von dieser Sequenz entfernen
command.label.LINK_WITH_TAXON_SELECTIO = Verknüpfe mit Taxonauswahl
command.name.OPEN_NAME_EDITOR_FOR_TAXON_NODE = Öffne Namenseditor für Taxonknoten
command.name.COPY_SINGLE_READ_TO_CLIPBOARD = Kopiere Single-Read in die Zwischenablage
command.name.REUSE_SINGLE_READ = Single-Read wiederverwenden
command.name.REMOVE_SINGLE_READ = Entferne Single-Read von Sequenz
-command.name.TOGGLE_LINK_WITH_TAXON_SELECTION = De-/Aktiviere Verknüpfung mit Taxonauswahl
\ No newline at end of file
+command.name.TOGGLE_LINK_WITH_TAXON_SELECTION = De-/Aktiviere Verknüpfung mit Taxonauswahl
+
+viewCommandMapping.viewerName.NAME_EDITOR = Namenseditor
+viewCommandMapping.viewerName.SPECIMEN_EDITOR = Specimen-Editor
+viewCommandMapping.viewerName.CHECKLIST_EDITOR = Verbreitungs-Editor
\ No newline at end of file
definitionId="isSynonym">
</reference>
</visibleWhen>
+ </command>
+ <command
+ commandId="eu.etaxonomy.taxeditor.editor.name.setAsBasionym"
+ label="%command.label.57"
+ style="push">
+ <visibleWhen>
+ <reference
+ definitionId="isSynonymInHomotypicalGroupWithMoreSynonyms">
+ </reference>
+ </visibleWhen>
</command>
<command
commandId="eu.etaxonomy.taxeditor.editor.name.moveSynonymToAnotherAcceptedTaxon"
style="push">
<parameter
name="org.eclipse.ui.views.showView.viewId"
- value="eu.etaxonomy.taxeditor.editor.forms.detailsView">
+ value="eu.etaxonomy.taxeditor.view.detail">
</parameter>
</command>
<separator
</with>
</activeWhen>
</handler>
- <handler
- class="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
- commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler">
- </handler>
<handler
class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.DeleteDerivateHandler"
commandId="org.eclipse.ui.edit.delete">
</with>
</activeWhen>
</handler>
+ <handler
+ class="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
+ commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistViewHandler">
+ <activeWhen>
+ <and>
+ <reference
+ definitionId="isChecklistEditorEnabled">
+ </reference>
+ <or>
+ <reference
+ definitionId="isTaxonNode">
+ </reference>
+ <reference
+ definitionId="isClassification">
+ </reference>
+ </or>
+ </and>
+ </activeWhen>
+ </handler>
</extension>
<extension
name="%extension.name"
defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.SwapSynonymAndAcceptedHandler"
id="eu.etaxonomy.taxeditor.editor.name.swapSynonymAndAccepted"
name="%command.name.6">
+ </command>
+ <command
+ categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
+ defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.SetBasionymHandler"
+ id="eu.etaxonomy.taxeditor.editor.name.setAsBasionym"
+ name="%command.name.57">
</command>
<command
categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
name="%command.name.34">
</command>
<command
- defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
id="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistViewHandler"
name="%command.name.38">
+ <commandParameter
+ id="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistViewHandler.uuid"
+ name="taxonNodeUuid"
+ optional="true"
+ typeId="eu.etaxonomy.taxeditor.uuidParameterType">
+ </commandParameter>
</command>
<command
categoryId="eu.etaxonomy.taxeditor.editor.new.category"
name="%command.name.41">
</command>
<command
- defaultHandler="eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenTaxonEditorForTaxonHandler"
id="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxon"
name="%command.name.42">
<commandParameter
id="eu.etaxonomy.taxeditor.editor.derivative.toggleLinkWithTaxonSelection"
name="%command.name.TOGGLE_LINK_WITH_TAXON_SELECTION">
</command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenSpecimenEditorForTypeSpecimenHandler"
+ id="eu.etaxonomy.taxeditor.openSpecimenEditorForTypeSpecimen"
+ name="Open specimen editor for type specimen">
+ </command>
</extension>
<extension
property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isNotHomotypicSynonymOfAcceptedTaxon">
</test>
</with>
+ </definition>
+ <definition
+ id="isSynonymInHomotypicalGroupWithMoreSynonyms">
+ <with
+ variable="selection">
+ <test
+ property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isSynonymInHomotypicalGroupWithMoreSynonyms">
+ </test>
+ </with>
</definition>
<definition
id="isSynonym">
</test>
</with>
</definition>
- <definition
- id="isGroupEditor">
- <with
- variable="activeEditor">
- <test
- property="taxeditor-bulkeditor.propertyTester.isGroupEditor">
- </test>
- </with>
- </definition>
<definition
id="isIndividualsAssociation">
<with
</test>
</with>
</definition>
+ <definition
+ id="isOrphanedTaxon">
+ <with
+ variable="selection">
+ <test
+ forcePluginActivation="true"
+ property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isOrphaned">
+ </test>
+ </with>
+ </definition>
</extension>
<extension
point="org.eclipse.core.expressions.propertyTesters">
class="eu.etaxonomy.taxeditor.editor.name.handler.NameEditorMenuPropertyTester"
id="eu.etaxonomy.taxeditor.editor.name.propertyTester"
namespace="eu.etaxonomy.taxeditor.editor.name.propertyTester"
- properties="isAcceptedTaxon,isSynonym,isMisapplication,isTaxonBase,hasEmptyNames,isAcceptedAndHasNoHomotypicSynonyms,isNotHomotypicSynonymOfAcceptedTaxon"
+ properties="isAcceptedTaxon,isSynonym,isMisapplication,isTaxonBase,hasEmptyNames,isAcceptedAndHasNoHomotypicSynonyms,isNotHomotypicSynonymOfAcceptedTaxon,isSynonymInHomotypicalGroupWithMoreSynonyms,isOrphaned"
type="org.eclipse.jface.viewers.IStructuredSelection">
</propertyTester>
<propertyTester
properties="isMedia,isDescription,isDescriptionElement,isDeletable,isFeatureNodeContainer,isImageGallery,isTaxonEditor,isBulkEditor,isDerivateEditor, isIndividualsAssociation"
type="org.eclipse.jface.viewers.TreeSelection">
</propertyTester>
- <propertyTester
- class="eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorPropertyTester"
- id="taxeditor-bulkeditor.PropertyTester"
- namespace="taxeditor-bulkeditor.propertyTester"
- properties="isGroupEditor"
- type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor">
- </propertyTester>
<propertyTester
class="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
id="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
<viewCommandMapping
commandId="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxonNode"
selection="eu.etaxonomy.cdm.model.taxon.TaxonNode"
- viewerName="Name Editor">
+ viewerName="%viewCommandMapping.viewerName.NAME_EDITOR">
</viewCommandMapping>
<viewCommandMapping
commandId="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxon"
selection="eu.etaxonomy.cdm.model.taxon.TaxonBase"
- viewerName="Name Editor">
+ viewerName="%viewCommandMapping.viewerName.NAME_EDITOR">
</viewCommandMapping>
<viewCommandMapping
commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
selection="eu.etaxonomy.cdm.model.description.IndividualsAssociation"
- viewerName="Derivative Editor">
+ viewerName="%viewCommandMapping.viewerName.SPECIMEN_EDITOR">
</viewCommandMapping>
<viewCommandMapping
commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
selection="eu.etaxonomy.cdm.model.taxon.TaxonNode"
- viewerName="Derivative Editor">
+ viewerName="%viewCommandMapping.viewerName.SPECIMEN_EDITOR">
+ </viewCommandMapping>
+ <viewCommandMapping
+ commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistViewHandler"
+ selection="eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode"
+ viewerName="%viewCommandMapping.viewerName.CHECKLIST_EDITOR">
+ </viewCommandMapping>
+ <viewCommandMapping
+ commandId="eu.etaxonomy.taxeditor.openSpecimenEditorForTypeSpecimen"
+ selection="eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation"
+ viewerName="Specimen Editor">
</viewCommandMapping>
</extension>
</plugin>
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
}
TaxonEditorInput input = TaxonEditorInput
.NewInstanceFromTaxonBase(taxonBaseUuid);
- if(input!=null){
+ if(input!=null && input.getTaxonNode()!=null){
open(input);
}
}
*/
public class Messages extends NLS {
private static final String BUNDLE_NAME = "OSGI-INF/l10n/messages"; //$NON-NLS-1$
- public static String CreateDerivateContextMenu_ADD;
+ public static String ConceptGraphView_VIEWER_NAME;
+ public static String ConceptViewPart_VIEWER_NAME;
+ public static String CreateDerivateContextMenu_ADD;
public static String CreateDerivateContextMenu_DNA_SAMPLE;
public static String CreateDerivateContextMenu_MEDIA;
public static String CreateDerivateContextMenu_MEDIA_EXISTING;
public static String DerivateView_YOU_NEED_TO_SAVE;
public static String DerivateViewEditorInput_FAIL_INIT;
public static String DerivateViewEditorInput_NO_ROOT;
- public static String MoveDerivateOperation_MOVE_NOT_POSSIBLE;
+ public static String DescriptiveViewPart_COLLAPSE_ALL;
+ public static String DescriptiveViewPart_EXPAND_ALL;
+ public static String DescriptiveViewPart_FACTUAL_DATA;
+ public static String DescriptiveViewPart_SHOW_ALL_DATA;
+ public static String MoveDerivateOperation_MOVE_NOT_POSSIBLE;
public static String MoveDerivateOperation_MOVE_TO_NOT_POSSIBLE;
public static String OpenDerivateEditorForTaxonHandler_COULD_NOT_OPEN_EDITOR;
public static String OpenDerivateEditorForTaxonHandler_FAILED_TO_OPEN;
public static String SingleReadSequenceContextMenu_REMOVE_FROM_SEQUENCE;
public static String SingleReadSequenceContextMenu_REUSE_FOR_SEQUENCE;
public static String SingleReadSequenceContextMenu_REUSE_SINGLE_READ_HERE;
+ public static String UsesViewPart_VIEWER_NAME;
static {
// initialize resource bundle
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.forms.editor.FormEditor;
+import eu.etaxonomy.cdm.api.application.CdmApplicationState;
+import eu.etaxonomy.cdm.api.application.CdmChangeEvent;
+import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.common.CdmBase;
// commit the conversation and start a new transaction immediately
input.merge();
+
conversation.commit(true);
+ CdmApplicationState.getCurrentDataChangeService()
+ .fireChangeEvent(new CdmChangeEvent(Action.Update, input.getTaxonNode() , MultiPageTaxonEditor.class), true);
monitor.worked(1);
this.setDirty(false);
public boolean equals(Object obj) {
if (TaxonEditorInput.class.equals(obj.getClass())
&& getTaxon() != null
- && getTaxon().equals(((TaxonEditorInput) obj).getTaxon())){
- if(((TaxonEditorInput) obj).getInitiallySelectedTaxonBase() != null){
+ && getTaxon().equals(((TaxonEditorInput) obj).getTaxon())) {
+ if (((TaxonEditorInput) obj).getInitiallySelectedTaxonBase() != null){
setInitiallySelectedTaxonBase(((TaxonEditorInput) obj).getInitiallySelectedTaxonBase());
}
return true;
*/
@Override
public void merge() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
- }
+ CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
+
}
@Override
*/
@Override
public void merge() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- group = CdmStore.getService(IGroupService.class).merge(group, true).getMergedEntity();
- }
+ group = CdmStore.getService(IGroupService.class).merge(group, true).getMergedEntity();
+
}
}
package eu.etaxonomy.taxeditor.editor.handler;
-import org.apache.log4j.Logger;
-import org.eclipse.core.commands.AbstractHandler;
+import java.util.UUID;
+
+import org.apache.commons.lang.StringUtils;
import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.handlers.HandlerUtil;
+import eu.etaxonomy.cdm.api.service.IClassificationService;
+import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.model.taxon.Classification;
+import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditorInput;
-import eu.etaxonomy.taxeditor.model.AbstractUtility;
+import eu.etaxonomy.taxeditor.handler.defaultHandler.DefaultOpenHandlerBase;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
-public class OpenChecklistEditorHandler extends AbstractHandler {
+public class OpenChecklistEditorHandler extends DefaultOpenHandlerBase<ITaxonTreeNode> {
- private static final Logger logger = Logger.getLogger(OpenChecklistEditorHandler.class);
+ @Override
+ protected ITaxonTreeNode getEntity(UUID uuid) {
+ ITaxonTreeNode taxonTreeNode = CdmStore.getService(ITaxonNodeService.class).load(uuid);
+ if(taxonTreeNode==null){
+ taxonTreeNode = CdmStore.getService(IClassificationService.class).load(uuid);
+ }
+ return taxonTreeNode;
+ }
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.
- * ExecutionEvent)
- */
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- boolean isChecklistEditorActivated = PreferencesUtil.getPreferenceStore().getBoolean(
- IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE);
- if (isChecklistEditorActivated) {
- ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
- if (currentSelection instanceof IStructuredSelection) {
- Object selectedElement = ((IStructuredSelection) currentSelection).getFirstElement();
- if (selectedElement instanceof Classification) {
- ChecklistEditorInput input = new ChecklistEditorInput(((Classification) selectedElement));
- try {
- EditorUtil.open(input);
- } catch (PartInitException e) {
- MessagingUtils.error(OpenChecklistEditorHandler.class, "Could not open ChecklistView", e);
- } catch (NullPointerException npe) {
- MessagingUtils.messageDialog("Failed to open Editor", OpenChecklistEditorHandler.class,
- "Could not open ChecklistView. The hierarchy is corrupted!", npe);
- }
- } else if (selectedElement instanceof TaxonNode) {
- ChecklistEditorInput input = new ChecklistEditorInput(((TaxonNode) selectedElement));
- try {
- EditorUtil.open(input);
- } catch (PartInitException e) {
- MessagingUtils.error(OpenChecklistEditorHandler.class, "Could not open ChecklistView", e);
- } catch (NullPointerException npe) {
- MessagingUtils.messageDialog("Failed to open Editor", OpenChecklistEditorHandler.class,
- "Could not open ChecklistView. The hierarchy is corrupted!", npe);
- }
- }
- }
- }
- return null;
- }
+ @Override
+ protected void open(ExecutionEvent event, ITaxonTreeNode entity) {
+ if (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE)) {
+ if (StringUtils.isBlank(PreferencesUtil.getPreferenceStore().getString(IPreferenceKeys.DISTRIBUTION_AREA_OCCURENCE_STATUS) )){
+ MessagingUtils.informationDialog("No Areas to display", "Please choose the areas you want to display. "
+ + "For this go to the preferences, choose the Checklist Editor and choose the areas in the Distribution Selection Wizard.");
+ this.dispose();
+ return;
+ }
+ if (entity instanceof Classification) {
+ ChecklistEditorInput input = new ChecklistEditorInput(((Classification) entity));
+ try {
+ EditorUtil.open(input);
+ } catch (PartInitException e) {
+ MessagingUtils.error(OpenChecklistEditorHandler.class, "Could not open Distribution Editor", e);
+ } catch (NullPointerException npe) {
+ MessagingUtils.messageDialog("Failed to open Editor", OpenChecklistEditorHandler.class,
+ "Could not open Distribution Editor. The hierarchy is corrupted!", npe);
+ }
+ } else if (entity instanceof TaxonNode) {
+ ChecklistEditorInput input = new ChecklistEditorInput((TaxonNode) entity);
+ try {
+ EditorUtil.open(input);
+ } catch (PartInitException e) {
+ MessagingUtils.error(OpenChecklistEditorHandler.class, "Could not open Distribution Editor", e);
+ } catch (NullPointerException npe) {
+ MessagingUtils.messageDialog("Failed to open Editor", OpenChecklistEditorHandler.class,
+ "Could not open Distribution Editor. The hierarchy is corrupted!", npe);
+ }
+ }
+ }
+ }
}
*/
public class OpenParentHandler extends AbstractHandler implements IHandler {
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
/** {@inheritDoc} */
public Object execute(ExecutionEvent event) throws ExecutionException {
- Taxon parent = EditorUtil.getActiveMultiPageTaxonEditor().getTaxon().getTaxonomicParent();
-
- if(parent != null){
- try {
- EditorUtil.openTaxonNode(parent.getUuid());
- } catch (PartInitException e) {
- throw new RuntimeException("Error opening parent taxon", e);
- } catch (Exception e) {
- MessagingUtils.warningDialog("Could not create Taxon", this, e.getMessage());
- }
- }
-
- return null;
+ throw new RuntimeException("Open parent not supported anymore");
+// Taxon parent = EditorUtil.getActiveMultiPageTaxonEditor().getTaxon().getTaxonomicParent();
+//
+// if(parent != null){
+// try {
+// EditorUtil.openTaxonNode(parent.getUuid());
+// } catch (PartInitException e) {
+// throw new RuntimeException("Error opening parent taxon", e);
+// } catch (Exception e) {
+// MessagingUtils.warningDialog("Could not create Taxon", this, e.getMessage());
+// }
+// }
+//
+// return null;
}
}
--- /dev/null
+package eu.etaxonomy.taxeditor.editor.handler.defaultHandler;
+import java.util.UUID;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.ui.PartInitException;
+
+import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
+import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput;
+import eu.etaxonomy.taxeditor.handler.defaultHandler.DefaultOpenHandlerBase;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+
+public class DefaultOpenSpecimenEditorForTypeSpecimenHandler extends
+ DefaultOpenHandlerBase<SpecimenTypeDesignation> {
+
+ @Override
+ protected SpecimenTypeDesignation getEntity(UUID uuid) {
+ return CdmStore.getCommonService().find(SpecimenTypeDesignation.class, uuid);
+ }
+
+ @Override
+ protected void open(ExecutionEvent event, SpecimenTypeDesignation entity) {
+ try {
+ EditorUtil.open(new DerivateViewEditorInput(entity.getUuid()));
+ } catch (PartInitException e) {
+ MessagingUtils.error(DefaultOpenSpecimenEditorForTypeSpecimenHandler.class, "Derivative Editor could not be opened", e);
+ }
+ }
+
+}
import eu.etaxonomy.taxeditor.store.CdmStore;
-public class DefaultOpenTaxonEditorForTaxonHandler extends DefaultOpenHandlerBase<TaxonBase> {
+public class DefaultOpenTaxonEditorForTaxonBaseHandler extends DefaultOpenHandlerBase<TaxonBase> {
@Override
protected TaxonBase getEntity(UUID uuid) {
try {
EditorUtil.openTaxonBase(entity.getUuid());
} catch (PartInitException e) {
- MessagingUtils.error(DefaultOpenTaxonEditorForTaxonHandler.class, "Could not open taxon editor for taxon/synonym "+entity, e);
+ MessagingUtils.error(DefaultOpenTaxonEditorForTaxonBaseHandler.class, "Could not open taxon editor for taxon/synonym "+entity, e);
}
}
*/
@Override
public void merge() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- key = CdmStore.getService(IPolytomousKeyService.class).merge(key,true).getMergedEntity();
- }
+ key = CdmStore.getService(IPolytomousKeyService.class).merge(key,true).getMergedEntity();
+
}
@Override
* @created Mar 30, 2011
* @version 1.0
*/
-class PolytomousKeyContentProvider implements IGraphContentProvider {
+class PolytomousKeyGraphContentProvider implements IGraphContentProvider {
private List<PolytomousKeyRelationship> relations;
@Override
protected IContentProvider getContentProvider() {
- return new PolytomousKeyContentProvider();
+ return new PolytomousKeyGraphContentProvider();
}
}
IPolytomousKeyEditorPage {
private class LinkListener extends MouseAdapter {
+
+
/*
* (non-Javadoc)
*
@Override
public void mouseUp(MouseEvent event) {
- if(event.button == 1 && event.count == 2) {
+ if(event.button == 1 && event.count == 2) {
Table table = (Table) event.widget;
// Determine where the mouse was clicked
Point point = new Point(event.x, event.y);
return;
}
- PolytomousKeyNode node = (PolytomousKeyNode) getTableItem(
- table, point).getData();
-
+ TableItem item = getTableItem(
+ table, point);
+ PolytomousKeyNode node ;
+ if (item != null){
+ node =(PolytomousKeyNode) item.getData();
+ } else{
+ return;
+ }
if (selectedColumn == 4) {
PolytomousKeyNode linkData = getItemLinkData(node);
if (linkData != null) {
}
}
}
+
+
}
+
private int getSelectedColumn(Table table, Point point) {
TableItem item = getTableItem(table, point);
if (item != null) {
AbstractGroupedContainer.this.handleSplitText(text);
}
- @Override
- public void keyPressed(KeyEvent e) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void keyReleased(KeyEvent e) {
- // TODO Auto-generated method stub
-
- }
};
getNameViewer().getTextWidget().addVerifyListener(lineBreakListener);
- getNameViewer().getTextWidget().addKeyListener(lineBreakListener);
+
}
abstract class LabelEllipsisListener extends ControlAdapter {
* @created 19.05.2008
* @version 1.0
*/
-public abstract class LineBreakListener implements VerifyListener, KeyListener {
+
+public abstract class LineBreakListener implements VerifyListener{
+
private static String LINE_BREAK = System.getProperty("line.separator");
.getLogger(ChangeSynonymToAcceptedTaxonHandler.class);
private MultiPageTaxonEditor editor;
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
/** {@inheritDoc} */
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.editor.name.handler;
-
-import org.apache.log4j.Logger;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.ISelectionService;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.CompoundContributionItem;
-import org.eclipse.ui.menus.CommandContributionItem;
-import org.eclipse.ui.menus.CommandContributionItemParameter;
-
-import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
-import eu.etaxonomy.cdm.model.name.NameRelationshipType;
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.labels.ILabelImageStrategy;
-import eu.etaxonomy.taxeditor.labels.LabelImageProvider;
-
-/**
- * <p>GroupBasionymContributionItem class.</p>
- *
- * @author p.ciardelli
- * @version $Id: $
- */
-public class GroupBasionymContributionItem extends CompoundContributionItem {
- @SuppressWarnings("unused")
- private static final Logger logger = Logger.getLogger(GroupBasionymContributionItem.class);
-
- /**
- * <p>Constructor for GroupBasionymContributionItem.</p>
- */
- public GroupBasionymContributionItem() {}
-
- /**
- * <p>Constructor for GroupBasionymContributionItem.</p>
- *
- * @param id a {@link java.lang.String} object.
- */
- public GroupBasionymContributionItem(String id) {
- super(id);
- }
-
-
- /** {@inheritDoc} */
- @Override
- protected IContributionItem[] getContributionItems() {
-
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- ISelectionService selectionService = window.getSelectionService();
-
- ISelection selection = selectionService.getSelection();
-
- if(selection instanceof IStructuredSelection){
- Object selectedObject = ((IStructuredSelection) selection).getFirstElement();
-
- if(selectedObject != null && selectedObject instanceof TaxonBase){
-
- TaxonNameBase name = (TaxonNameBase) HibernateProxyHelper.deproxy(((TaxonBase) selectedObject).getName());
-
- if(name != null && name.getHomotypicalGroup().getTypifiedNames().size() > 1){
-
- CommandContributionItemParameter parameter =
- new CommandContributionItemParameter(
- window, null, getCommand(name), SWT.NONE);
-
- parameter.label = getLabel(name);
-
- return new IContributionItem[] {
- new CommandContributionItem(parameter)
- };
- }
-
- }
- }
-
- return new IContributionItem[]{};
- }
-
- /**
- * @param name
- * @return
- */
- private String getCommand(TaxonNameBase name) {
- if(name.isGroupsBasionym()){
- return "eu.etaxonomy.taxeditor.editor.name.removeBasionym" ;
- }
- return "eu.etaxonomy.taxeditor.editor.name.setBasionym";
- }
-
- /**
- * @param name
- * @return
- */
- private String getLabel(TaxonNameBase name) {
- ILabelImageStrategy strategy = LabelImageProvider.getLabelStrategy(name);
- LabelImageProvider labelProvider = new LabelImageProvider(strategy);
- return (name.isGroupsBasionym() ? "Remove" : "Set")
- + " as " + labelProvider.getNameRelationTypeDescription(NameRelationshipType.BASIONYM()) + " for Homotypic Group";
- }
-}
package eu.etaxonomy.taxeditor.editor.name.handler;
+import java.util.Set;
+
+import org.eclipse.core.expressions.PropertyTester;
import org.eclipse.jface.viewers.IStructuredSelection;
+import eu.etaxonomy.cdm.model.common.CdmBase;
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.persistence.dto.UuidAndTitleCache;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.Page;
import eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor;
+import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* <p>NameEditorMenuPropertyTester class.</p>
* @created Jun 22, 2010
* @version 1.0
*/
-public class NameEditorMenuPropertyTester extends org.eclipse.core.expressions.PropertyTester {
+public class NameEditorMenuPropertyTester extends PropertyTester {
private static final String ACCEPTED = "isAcceptedTaxon";
private static final String SYNONYM = "isSynonym";
private static final String EMPTY_NAMES = "hasEmptyNames";
private static final String ACCEPTED_AND_NO_HOMOTYPIC_SYNONYMS = "isAcceptedAndHasNoHomotypicSynonyms";
private static final String NOT_HOMOTYPIC_SYNONYM_OF_ACCEPTED = "isNotHomotypicSynonymOfAcceptedTaxon";
-
+ private static final String SYNONYM_WITH_HOMOTYPIC_SYNONYMS = "isSynonymInHomotypicalGroupWithMoreSynonyms";
+ private static final String IS_ORPHANED = "isOrphaned";
/**
* <p>Constructor for NameEditorMenuPropertyTester.</p>
IStructuredSelection selection = (IStructuredSelection) receiver;
Object selectedElement = selection.getFirstElement();
+ if(selectedElement instanceof UuidAndTitleCache){
+ UuidAndTitleCache uuidAndTitleCache = (UuidAndTitleCache<?>)selectedElement;
+ CdmBase cdmBase = CdmStore.getCommonService().find(uuidAndTitleCache.getType(), uuidAndTitleCache.getUuid());
+ selectedElement = cdmBase;
+ }
if(ACCEPTED.equals(property)){
return isAccepted(selectedElement);
}
else if(ACCEPTED_AND_NO_HOMOTYPIC_SYNONYMS.equals(property)){
return isAcceptedAndHasNoHomotypicSynonyms(selectedElement);
- }else if (NOT_HOMOTYPIC_SYNONYM_OF_ACCEPTED.equals(property)){
+ }
+ else if (NOT_HOMOTYPIC_SYNONYM_OF_ACCEPTED.equals(property)){
return isNotHomotypicSynonymOfAcceptedTaxon(selectedElement);
}
+ else if (SYNONYM_WITH_HOMOTYPIC_SYNONYMS.equals(property)){
+ return isSynonymInHomotypicalGroupWithMoreSynonyms(selectedElement);
+ }
+ else if (IS_ORPHANED.equals(property)){
+ return isOrphaned(selectedElement);
+ }
}
return false;
}
+ private boolean isSynonymInHomotypicalGroupWithMoreSynonyms(Object selectedElement) {
+ if (isSynonym(selectedElement)){
+ Synonym synonym = (Synonym) selectedElement;
+ return synonym.getHomotypicGroup().getTypifiedNames().size()>1;
+ }
+ return false;
+ }
+
+
private boolean isNotHomotypicSynonymOfAcceptedTaxon(Object selectedElement) {
if (isSynonym(selectedElement)){
Synonym synonym = (Synonym) selectedElement;
private boolean isAccepted(Object selectedElement) {
return (selectedElement instanceof Taxon && ! ((Taxon) selectedElement).isMisapplication()) ? true : false;
}
+
+ private boolean isOrphaned(Object selectedElement) {
+ if(selectedElement instanceof Taxon){
+ return ((Taxon) selectedElement).isOrphaned();
+ }
+ else if(selectedElement instanceof Synonym){
+ Set<Taxon> acceptedTaxa = ((Synonym) selectedElement).getAcceptedTaxa();
+ for (Taxon taxon : acceptedTaxa) {
+ if(!taxon.isOrphaned()){
+ return false;
+ }
+ }
+ }
+ return false;
+ }
}
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
-import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.preference.Resources;
-import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
-import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* @created 30.04.2014
* @version 1.0
*/
-public class ChecklistEditor extends EditorPart implements ISelectionListener, IPartContentHasFactualData,
- IConversationEnabled, IContextListener, IPartContentHasDetails, IDirtyMarkable, ICdmEntitySessionEnabled {
+public class ChecklistEditor extends EditorPart implements ISelectionListener, IPartContentHasFactualData, IConversationEnabled,
+ IContextListener, IPartContentHasDetails, IDirtyMarkable{//, ICdmEntitySessionEnabled {
private static final Logger logger = Logger.getLogger(ChecklistEditor.class);
/**
*/
private static final String CHECKLIST_EDITOR_MEMENTO_KEY = "checklistEditor";
+
+
+
private class ChecklistJob extends Job {
private List<TaxonNode> taxonNodes;
super(title);
this.taxonNodes = listTaxonNodes;
+
}
/*
private Label statusLabel;
- private final ICdmEntitySession cdmEntitySession;
+ // private final ICdmEntitySession cdmEntitySession;
+
+ private ChecklistLabelProvider labelProvider;
private SortedSet<DefinedTermBase> terms = null;
private ToolItem toolItem;
* </p>
*/
public ChecklistEditor() {
- cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
+ //cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
+
}
/** {@inheritDoc} */
taxonNodeService = CdmStore.getService(ITaxonNodeService.class);
selectionService = getSite().getWorkbenchWindow().getSelectionService();
selectionService.addSelectionListener(this);
+ viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
+ labelProvider = new ChecklistLabelProvider(this.viewer);
+
+ terms = labelProvider.getNamedAreas();
+ if (terms == null){
+ MessagingUtils.informationDialog("No Areas to display", "Please choose the areas you want to display. "
+ + "Therefore go to the preferences, choose the Checklist Editor and choose the areas in the Distribution Selection Wizard.");
+ this.dispose();
+ return;
+ }
filter = new ChecklistEditorFilter();
- ChecklistLabelProvider labelProvider = new ChecklistLabelProvider();
- terms = (SortedSet<DefinedTermBase>) labelProvider.getTermsOrderedByLabels(labelProvider.getNamedAreas(),
- CdmStore.getDefaultLanguage());
createTopComposite(parent);
loadDataInput();
}
final Text searchText = createSearchBar(parent);
createToolbar(parent);
- viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
+
getSite().setSelectionProvider(viewer);
final ModifyListener modifyListener = new ChecklistModifyListener(viewer, filter, searchText);
createTable();
viewer.setContentProvider(new ChecklistContentProvider());
- viewer.setLabelProvider(new ChecklistLabelProvider(viewer));
+ viewer.setLabelProvider(this.labelProvider);
comparator = new ChecklistEditorComparator();
viewer.setComparator(comparator);
private void createToolbarItems() {
dropListener = new ChecklistDropdownSelectionListener(toolItem, this, terms);
+
for (DefinedTermBase<DefinedTermBase> term : terms) {
if(term!=null){
dropListener.add(term);
private void createTable() {
Table table = viewer.getTable();//new Table(parent, viewer.getTable().getStyle());
List<String> titles = new ArrayList<String>();
- Collections.addAll(titles, "Taxon", "Author", "Rank");
List<Integer> bounds = new ArrayList<Integer>();
- Collections.addAll(bounds, 300, 200, 200);
+ if (PreferencesUtil.isShowRankInChecklistEditor()){
+ Collections.addAll(titles, "Taxon", "Rank");
+ Collections.addAll(bounds, 300, 200);
+ } else{
+ Collections.addAll(titles, "Taxon");
+ Collections.addAll(bounds, 300);
+ }
+
+
Map<Integer, Boolean> restoreValuesForColumnWidth = restoreValuesForColumnWidth(titles, bounds);
createInitalDistributionColumns(table, titles, bounds, restoreValuesForColumnWidth);
table.setSortDirection(SWT.DOWN);
* @param restoreValuesForColumnWidth
*/
private void createInitalDistributionColumns(Table table,
- List<String> titles, List<Integer> bounds,
- Map<Integer, Boolean> restoreValuesForColumnWidth) {
+ List<String> titles, List<Integer> bounds, Map<Integer, Boolean> restoreValuesForColumnWidth) {
for (int columnIndex = 0; columnIndex < titles.size(); columnIndex++) {
TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE);
column.getColumn().setText(titles.get(columnIndex));
column.getColumn().setResizable(true);
column.getColumn().setMoveable(true);
column.getColumn().addSelectionListener(getSelectionAdapter(column.getColumn(), columnIndex));
- if (columnIndex == 1) {
+ if (columnIndex == 0) {
table.setSortColumn(column.getColumn());
}
- if (columnIndex == 2) {
+ if (columnIndex == 1 && PreferencesUtil.isShowRankInChecklistEditor()) {
/** uncommented it for now because no rank editing is wanted **/
// column.setEditingSupport(new RankEditingSupport(viewer, this));
}
- if (columnIndex >= 3) {
+ if ((columnIndex == 1 && !PreferencesUtil.isShowRankInChecklistEditor()) || columnIndex >= 2 ) {
//read PrefrenceStore to setWidth according to last saved state
if(restoreValuesForColumnWidth.get(columnIndex)){
- column.getColumn().setWidth(100);
+ column.getColumn().setWidth(50);
}else{
- column.getColumn().setWidth(0);
+ column.getColumn().setWidth(50);
}
column.setEditingSupport(new DistributionEditingSupport(viewer, this, columnIndex));
}
List<Integer> bounds) {
Map<Integer, Boolean> restoreColumnWidth = new HashMap<Integer, Boolean>();
if (terms != null) {
- int columnIndex = 4;
+ int columnIndex;
+ if (PreferencesUtil.isShowRankInChecklistEditor()){
+ columnIndex = 2;
+ } else{
+ columnIndex = 1;
+ }
for (DefinedTermBase<DefinedTermBase> term : terms) {
if(term != null){
restoreColumnWidth.put(columnIndex, PreferencesUtil.getPreferenceStore().getBoolean(term.getUuid().toString()));
- titles.add(term.getTitleCache());
+ if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
+ if (term.getIdInVocabulary() != null){
+ titles.add(term.getIdInVocabulary());
+ } else{
+ titles.add(term.getTitleCache());
+ }
+ }else{
+ titles.add(term.getTitleCache());
+ }
bounds.add(200);
columnIndex++;
}
TaxonNode taxonNode = checklistEditorInput.getTaxonNode();
if (classification != null && taxonNode == null) {
countNodes = taxonNodeService.countAllNodesForClassification(classification);
- statusLabel.setText("Anzahl der Elemente: " + (countNodes != null ? countNodes : "uknown"));
+ statusLabel.setText("Anzahl der Elemente: " + (countNodes != null ? countNodes : "unknown"));
// This should not kill the view nor the editor if something goes
// wrong
// TODO: don't load the whole taxonNode Object but rather a small
/** {@inheritDoc} */
@Override
public void dispose() {
- cdmEntitySession.dispose();
- super.dispose();
+ this.checklistEditorInput.dispose();
+ super.dispose();
+
+ conversation.unregisterForDataStoreChanges(this);
+ conversation.unbind();
+
+ //conversation.close();
+ conversation = null;
}
/** {@inheritDoc} */
@Override
public void setFocus() {
- cdmEntitySession.bind();
+
viewer.getControl().setFocus();
}
Table table = viewer.getTable();
table.setRedraw(false);
SortedSet<DefinedTermBase> oldTerms = terms;
- ChecklistLabelProvider labelProvider = new ChecklistLabelProvider();
- terms = (SortedSet<DefinedTermBase>) labelProvider.getTermsOrderedByLabels(labelProvider.getNamedAreas(), CdmStore.getDefaultLanguage());
- SortedSet<DefinedTermBase> newTerms = terms;
+
+// if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
+//
+// } else{
+// terms = (SortedSet<DefinedTermBase>) labelProvider.getTermsOrderedByLabels(labelProvider.getNamedAreas(), CdmStore.getDefaultLanguage());
+// }
+ SortedSet<DefinedTermBase> newTerms = labelProvider.getNamedAreas();
toolItem.removeSelectionListener(dropListener);
hideDistributionColumns(oldTerms);
createToolbarItems();
addTableViewerColumn(term.getTitleCache(), 200, count);
acitivateNewColumnInDropDownMenu(term);
}
- viewer.setLabelProvider(new ChecklistLabelProvider(viewer));
+ viewer.setLabelProvider(labelProvider);
getService().schedule(new ChecklistJob("loading Taxa", selectedTaxonNodes), Job.LONG);
table.setRedraw(true);
viewer.refresh();
public void doSave(IProgressMonitor monitor) {
try {
monitor.beginTask("Saving Editor", 1);
- getConversationHolder().bind();
- getConversationHolder().commit(true);
+ if (!conversation.isBound()) {
+ conversation.bind();
+ }
+ CdmStore.getService(ITaxonNodeService.class).merge(selectedTaxonNodes, true);
+ //this.checklistEditorInput.merge();
+ conversation.commit(true);
setDirty(false);
monitor.worked(1);
} finally {
if (input instanceof ChecklistEditorInput) {
checklistEditorInput = (ChecklistEditorInput) input;
setPartName(getPartName() + ": " + checklistEditorInput.getName());
- conversation = ((ChecklistEditorInput) input).getConversationHolder();
+ conversation = checklistEditorInput.getConversation();
+ conversation.registerForDataStoreChanges(this);
}
simpleSelectionProvider = new SimpleSelectionProvider();
getSite().setSelectionProvider(simpleSelectionProvider);
+
}
@Override
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
}
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update
- * (eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
- */
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- }
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder
- * ()
- */
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
+
/*
* (non-Javadoc)
private static final List<String> NODE_INIT_STRATEGY = Arrays.asList(new String[] { "descriptions",
"descriptions.*", "description.state", "feature", "feature.*", "childNodes", "childNodes.taxon",
"childNodes.taxon.name", "taxonNodes", "taxonNodes.*", "taxonNodes.taxon.*", "taxon.*",
- "taxon.descriptions", "taxon.sec", "taxon.name.*", "taxon.synonymRelations", "terms", "name.*",
- "name.rank.representations", "name.status.type.representations", "sources.$", "stateData.$" });
+ "taxon.descriptions", "taxon.sec", "taxon.name.*", "terms", "name.*",
+ "name.rank.representations", "name.status.type.representations", "stateData.$" });
/*
* (non-Javadoc)
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getCdmEntitySession()
*/
- @Override
- public ICdmEntitySession getCdmEntitySession() {
- // TODO Auto-generated method stub
- return null;
+
+
+// /* (non-Javadoc)
+// * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
+// */
+// @Override
+// public <T extends CdmBase> Collection<T> getRootEntities() {
+// // TODO Auto-generated method stub
+// return null;
+// }
+//
+// /* (non-Javadoc)
+// * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getPropertyPathsMap()
+// */
+// @Override
+// public Map<Object, List<String>> getPropertyPathsMap() {
+// // TODO Auto-generated method stub
+// return null;
+// }
+
+ /**
+ * @return the labelProvider
+ */
+ public ChecklistLabelProvider getLabelProvider() {
+ return labelProvider;
}
/* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
+ * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
*/
@Override
- public <T extends CdmBase> Collection<T> getRootEntities() {
+ public void update(CdmDataChangeMap arg0) {
// TODO Auto-generated method stub
- return null;
+
}
/* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getPropertyPathsMap()
+ * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder()
*/
@Override
- public Map<Object, List<String>> getPropertyPathsMap() {
- // TODO Auto-generated method stub
- return null;
+ public ConversationHolder getConversationHolder() {
+
+ return conversation;
}
+
+
}
*/
package eu.etaxonomy.taxeditor.editor.view.checklist;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
import java.util.UUID;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IPersistableElement;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
+import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.model.taxon.Classification;
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* @date 25.04.2014
*
*/
-public class ChecklistEditorInput implements IEditorInput, IPersistable {
+public class ChecklistEditorInput extends CdmEntitySessionInput implements IEditorInput, IPersistable {
/**
* The selected classification
*/
private TaxonNode taxonNode = null;
+ private final List<TaxonBase> taxa = new ArrayList<TaxonBase>();
+
private Classification classification = null;
- private final ConversationHolder conversationHolder;
+ private final ConversationHolder conversation;
/**
* @param taxonNode
*/
public ChecklistEditorInput(TaxonNode taxonNode){
- super();
- this.conversationHolder = CdmStore.createConversation();
- this.taxonNode = CdmStore.getCurrentApplicationConfiguration().getTaxonNodeService().load(taxonNode.getUuid());
+ super(false);
+ this.conversation = CdmStore.createConversation();
+ this.taxonNode =CdmStore.getService(ITaxonNodeService.class).load(taxonNode.getUuid(), getTaxonNodePropertyPaths());
+ // getChildTaxa(taxonNode);
classification = taxonNode.getClassification();
+ initSession();
+ }
+
+
+ /**
+ * @param taxonNode2
+ */
+ private void getChildTaxa(TaxonNode taxonNode2) {
+ taxonNode2.removeNullValueFromChildren();
+ if (taxonNode2.hasChildNodes()){
+ for (TaxonNode node: taxonNode2.getChildNodes()){
+ taxa.add(node.getTaxon());
+ getChildTaxa(node);
+ }
+ }
+
+
}
/**
* @param classificationUuid
*/
public ChecklistEditorInput(Classification classification) {
- super();
- this.conversationHolder = CdmStore.createConversation();
+ super(true);
+ this.conversation = CdmStore.createConversation();
this.classification = CdmStore.getCurrentApplicationConfiguration().getClassificationService().load(classification.getUuid());
}
return classification;
}
- /**
- * @return the conversationHolder
- */
- public ConversationHolder getConversationHolder() {
- return conversationHolder;
- }
+// /**
+// * @return the conversationHolder
+// */
+// public ConversationHolder getConversationHolder() {
+// return conversationHolder;
+// }
UUID uuid = classification.getUuid();
}
+ @Override
+ public void merge() {
+ for (TaxonBase taxon:taxa){
+ CdmStore.getService(ITaxonService.class).merge(taxon, true);
+ }
+
+ // CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
+ */
+ @Override
+ public List<TaxonNode> getRootEntities() {
+ return Arrays.asList(taxonNode);
+ }
+
+ /**
+ * @return the conversation
+ */
+ public ConversationHolder getConversation() {
+ return conversation;
+ }
+
+ private List<String> getTaxonNodePropertyPaths() {
+ List<String> taxonNodePropertyPaths = new ArrayList<String>();
+ for(String propertyPath : getTaxonBasePropertyPaths()) {
+ taxonNodePropertyPaths.add("taxon." + propertyPath);
+ }
+ return taxonNodePropertyPaths;
+ }
+
+ private List<String> getTaxonBasePropertyPaths() {
+ List<String> taxonBasePropertyPaths = Arrays.asList(new String[] {
+ "sec",
+ "createdBy",
+ "updatedBy",
+ "annotations",
+ "markers",
+ "credits",
+ "extensions",
+ "rights",
+ "sources",
+ "descriptions",
+ "relationsToThisTaxon",
+ "relationsFromThisTaxon",
+ "taxonNodes",
+ "descriptions.descriptionElements.feature",
+ "descriptions.descriptionElements.area",
+ "descriptions.descriptionElements.status",
+ "descriptions.markers",
+ "name.descriptions",
+ "name.typeDesignations",
+ "name.status",
+ "name.nomenclaturalReference.inReference",
+ "name.taxonBases.taxonNodes",
+ "name.relationsFromThisName",
+ "name.relationsToThisName",
+ "name.homotypicalGroup.typifiedNames.taxonBases.synonymRelations.synonym.name.status",
+ "name.homotypicalGroup.typifiedNames.relationsToThisName.fromName",
+ "synonymRelations.synonym.name.status.type",
+ "synonymRelations.synonym.name.relationsToThisName.fromName",
+ "synonymRelations.synonym.name.nomenclaturalReference.inReference.authorship",
+ "synonymRelations.synonym.name.nomenclaturalReference.authorship",
+ "synonymRelations.synonym.name.homotypicalGroup.typifiedNames.taxonBases.synonymRelations"
+ });
+
+ return taxonBasePropertyPaths;
+ }
+
+// @Override
+// public void dispose(){
+// conversation.unbind();
+// conversation.close();
+// getCdmEntitySession().dispose();
+// super.dispose();
+// }
+
}
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IDescriptionService;
import eu.etaxonomy.cdm.api.service.ITermService;
+import eu.etaxonomy.cdm.common.CdmUtils;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.common.TermIdInVocabularyComparator;
import eu.etaxonomy.cdm.model.common.TermLanguageComparator;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.name.NonViralName;
import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
public static final String DEFAULT_ENTRY = "";
private IDescriptionService descriptionService;
- private final List<DefinedTermBase<?>> namedAreas;
+ private final SortedSet<DefinedTermBase> namedAreas;
TableViewer viewer = null;
/**
/** {@inheritDoc} */
@Override
public String getColumnText(Object element, int columnIndex) {
- descriptionService = CdmStore.getService(IDescriptionService.class);
+ // descriptionService = CdmStore.getService(IDescriptionService.class);
Taxon taxon = (Taxon) element;
//TODO load areas by this list
- List<TaxonDescription> listTaxonDescriptions = descriptionService.listTaxonDescriptions(taxon, null, null, null, null, null, DESC_INIT_STRATEGY);;
- NonViralName<?> nonVirlaName = HibernateProxyHelper.deproxy(taxon.getName(), NonViralName.class);
+ // List<TaxonDescription> listTaxonDescriptions = descriptionService.listTaxonDescriptions(taxon, null, null, null, null, null, DESC_INIT_STRATEGY);;
+ Set<TaxonDescription> listTaxonDescriptions = taxon.getDescriptions();
+ NonViralName<?> nonViralName = HibernateProxyHelper.deproxy(taxon.getName(), NonViralName.class);
switch (columnIndex) {
case 0:
String taxonName = null;
- taxonName = (nonVirlaName != null) ? nonVirlaName.getNameCache() : null;
+ taxonName = (nonViralName != null) ? nonViralName.getNameCache() : null;
return (taxonName != null) ? taxonName : DEFAULT_ENTRY;
- case 1:
- String authorship = null;
- authorship = (nonVirlaName != null) ? nonVirlaName.getAuthorshipCache() : null;
- return (authorship != null) ? authorship : DEFAULT_ENTRY;
+ // case 1:
+// String authorship = null;
+// authorship = (nonViralName != null) ? nonViralName.getAuthorshipCache() : null;
+// return (authorship != null) ? authorship : DEFAULT_ENTRY;
// case 2:
// String ref = null;
// if (taxon.getName() != null) {
// ref = (nomenclaturalReference != null) ? nomenclaturalReference.getAbbrevTitleCache() : null;
// }
// return (ref != null) ? ref : DEFAULT_ENTRY;
- case 2:
- String rank = null;
- if (taxon.getName().getRank() != null) {
- rank = taxon.getName().getRank().toString();
+ case 1:
+ if (PreferencesUtil.isShowRankInChecklistEditor()){
+ String rank = null;
+
+ if (taxon.getName().getRank() != null) {
+ rank = taxon.getName().getRank().toString();
+ }
+ return (rank != null) ? rank : DEFAULT_ENTRY;
}
- return (rank != null) ? rank : DEFAULT_ENTRY;
}
- if(columnIndex >2){
+ if(columnIndex >2 || (!PreferencesUtil.isShowRankInChecklistEditor() && columnIndex > 1)){
for (TaxonDescription td : listTaxonDescriptions) {
for (DescriptionElementBase deb : td.getElements()) {
if (deb instanceof Distribution) {
- Distribution distribution = (Distribution) deb;
- String area = distribution.toString();
+ Distribution distribution = HibernateProxyHelper.deproxy(deb, Distribution.class);
+ String area = null;
+ if (distribution.getArea() != null ){
+ if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
+ if (distribution.getArea().getIdInVocabulary() != null){
+ area = distribution.getArea().getIdInVocabulary();
+ } else{
+ area = distribution.getArea().getTitleCache();
+ }
+ }else{
+ area = distribution.getArea().getTitleCache();
+ }
+ }else{
+ continue;
+ }
+
if(viewer != null){
TableColumn column = viewer.getTable().getColumn(columnIndex);
if (area.equalsIgnoreCase(column.getText())) {
- return (distribution.getStatus().getTitleCache() != null)?distribution.getStatus().getTitleCache():DEFAULT_ENTRY;
- }
+ if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
+ return (distribution.getStatus().getIdInVocabulary() != null)?distribution.getStatus().getIdInVocabulary():CdmUtils.Nz(distribution.getStatus().getTitleCache());
+ }else{
+ return (distribution.getStatus().getTitleCache() != null)?distribution.getStatus().getTitleCache():DEFAULT_ENTRY;
+ }
+ }
+
}
}
}
"descriptions.*", "description.state" });
- private List<DefinedTermBase<?>> loadNamedAreas() {
+ private SortedSet<DefinedTermBase> loadNamedAreas() {
IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
String values = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS);
+
if (values != null && values != "") {
String[] split = values.split(",");
List<String> listValue = Arrays.asList(split);
- ArrayList<DefinedTermBase<?>> termlist = new ArrayList<DefinedTermBase<?>>();
+ List<DefinedTermBase> termlist = new ArrayList<DefinedTermBase>();
+ Set<UUID> uuidList = new HashSet<UUID>();
+ UUID uuid;
for(String s : listValue){
- UUID uuid = UUID.fromString(s);
- ITermService service = CdmStore.getService(ITermService.class);
- DefinedTermBase definedTermBase = service.load(uuid);
- termlist.add(definedTermBase);
+ uuid = UUID.fromString(s);
+ uuidList.add(uuid);
+
+ }
+ ITermService service = CdmStore.getService(ITermService.class);
+ termlist = service.find(uuidList);
+ if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
+ return getTermsOrderedByIdInVocabulary(termlist);
+ } else {
+ return getTermsOrderedByLabels(termlist, CdmStore.getDefaultLanguage());
}
- return termlist;
}
return null;
}
- public SortedSet<?> getTermsOrderedByLabels(List<DefinedTermBase<?>> listTerm,Language language){
+ public SortedSet<DefinedTermBase> getTermsOrderedByLabels(List<DefinedTermBase> listTerm,Language language){
TermLanguageComparator comp = new TermLanguageComparator();
comp.setCompareLanguage(language);
SortedSet result = new TreeSet(comp);
/**
* @return the namedAreas
*/
- public List<DefinedTermBase<?>> getNamedAreas() {
+ public SortedSet<DefinedTermBase> getNamedAreas() {
return namedAreas;
}
+
+ /**
+ * @param namedAreas
+ * @param defaultLanguage
+ * @return
+ */
+ public SortedSet<DefinedTermBase> getTermsOrderedByIdInVocabulary(List<DefinedTermBase> namedAreas) {
+ TermIdInVocabularyComparator comp = new TermIdInVocabularyComparator();
+
+ SortedSet result = new TreeSet(comp);
+ if(namedAreas != null){
+ result.addAll(namedAreas);
+ }
+ return result;
+ }
}
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor;
-import eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistLabelProvider;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
public final class DistributionEditingSupport extends EditingSupport {
Taxon taxon = (Taxon) element;
Distribution distributionForColumn = getDistributionForColumn(taxon);
if (distributionForColumn != null) {
- distributionForColumn.getStatus().getTitleCache();
+ if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
+ if (distributionForColumn.getStatus().getIdInVocabulary() != null){
+ return distributionForColumn.getStatus().getIdInVocabulary();
+ } else{
+ distributionForColumn.getStatus().getTitleCache();
+ }
+ } else{
+ return distributionForColumn.getStatus().getTitleCache();
+ }
}
// return PresenceAbsenceTerms
}
createDistributionForColumn(taxon, occurenceStatus);
}
// viewer.update(distribution, null);
- viewer.update(element, null);
- viewer.refresh();
- editor.setDirty(true);
+// viewer.update(element, null);
+// viewer.refresh();
+// editor.setDirty(true);
editor.changed(element);
viewer.refresh();
}
* @return
*/
private Distribution getDistributionForColumn(Taxon taxon) {
- List<TaxonDescription> listTaxonDescriptions = descriptionService.listTaxonDescriptions(taxon, null, null,
- null, null, null, DESC_INIT_STRATEGY);
+// List<TaxonDescription> listTaxonDescriptions = descriptionService.listTaxonDescriptions(taxon, null, null,
+// null, null, null, DESC_INIT_STRATEGY);
+ Set<TaxonDescription> listTaxonDescriptions = taxon.getDescriptions();
TableColumn column = viewer.getTable().getColumn(columnIndex);
for (TaxonDescription td : listTaxonDescriptions) {
for (DescriptionElementBase deb : td.getElements()) {
if (deb instanceof Distribution) {
Distribution distribution = (Distribution) deb;
- if (column.getText().equalsIgnoreCase(distribution.getArea().getTitleCache())) {
- return distribution;
+ if (distribution.getArea() != null){
+ if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
+ if (column.getText().equalsIgnoreCase(distribution.getArea().getIdInVocabulary())) {
+ return distribution;
+ }
+ }else{
+ if (column.getText().equalsIgnoreCase(distribution.getArea().getTitleCache())) {
+ return distribution;
+ }
+ }
}
}
}
private void createDistributionForColumn(Taxon taxon, PresenceAbsenceTerm occurenceStatus) {
TableColumn column = viewer.getTable().getColumn(columnIndex);
- ChecklistLabelProvider labelProvider = new ChecklistLabelProvider();
- List<DefinedTermBase<?>> namedAreas = labelProvider.getNamedAreas();
- SortedSet<DefinedTermBase<?>> terms = (SortedSet<DefinedTermBase<?>>) labelProvider.getTermsOrderedByLabels(
- namedAreas, CdmStore.getDefaultLanguage());
+ SortedSet<DefinedTermBase> namedAreas = this.editor.getLabelProvider().getNamedAreas();
+
- if (terms != null) {
- for (DefinedTermBase term : terms) {
- if (column.getText().equalsIgnoreCase(term.getTitleCache())) {
+ if (namedAreas != null) {
+ for (DefinedTermBase term : namedAreas) {
+ boolean sameArea = true;
+ if (!PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
+ sameArea = column.getText().equalsIgnoreCase(term.getTitleCache());
+ } else{
+ sameArea = column.getText().equalsIgnoreCase(term.getIdInVocabulary());
+ }
+ if (sameArea) {
NamedArea area = (NamedArea) term;
Distribution distribution = Distribution.NewInstance(area, occurenceStatus);
Set<TaxonDescription> descriptions = taxon.getDescriptions();
- if (descriptions != null) {
+ if (!descriptions.isEmpty()) {
for (TaxonDescription desc : descriptions) {
// add to first taxon description
desc.addElement(distribution);
} else {// there are no TaxonDescription yet.
TaxonDescription td = TaxonDescription.NewInstance(taxon);
td.addElement(distribution);
+ break;
}
}
}
public void setSearchText(String s) {
// Search must be a substring of the existing value
if(s.contains("*")){
- s=s.replace("*", "");
+ s=s.replace("*", ".*");
}
- this.searchString = "(?i).*" + s + ".*";
+ this.searchString = ".*" + s + ".*";
}
@Override
return true;
}
//Author
- if (nonVirlaName.getAuthorshipCache() != null && nonVirlaName.getAuthorshipCache().matches(searchString)) {
- return true;
- }
- //Reference
- if(reference != null && reference.getAbbrevTitleCache().matches(searchString)){
- return true;
- }
- //Rank
- if (rank != null && rank.matches(searchString)) {
- return true;
- }
+// if (nonVirlaName.getAuthorshipCache() != null && nonVirlaName.getAuthorshipCache().matches(searchString)) {
+// return true;
+// }
+// //Reference
+// if(reference != null && reference.getAbbrevTitleCache().matches(searchString)){
+// return true;
+// }
+// //Rank
+// if (rank != null && rank.matches(searchString)) {
+// return true;
+// }
return false;
}
package eu.etaxonomy.taxeditor.editor.view.concept;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.HashMap;
+import java.util.Map;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.Viewer;
*/
public class ConceptContentProvider implements IStructuredContentProvider {
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
@Override
public void dispose() {
- // TODO Auto-generated method stub
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
- */
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- // TODO Auto-generated method stub
-
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- */
@Override
public Object[] getElements(Object inputElement) {
+ Taxon taxon = null;
if(inputElement instanceof TaxonEditorInput){
- Taxon taxon = ((TaxonEditorInput) inputElement).getTaxon();
-
- Set<TaxonRelationship> filteredTaxonRelations = new HashSet<TaxonRelationship>();
+ taxon = ((TaxonEditorInput) inputElement).getTaxon();
+ }
+ else if(inputElement instanceof Taxon){
+ taxon = (Taxon) inputElement;
+ }
+ if(taxon!=null){
+ Map<TaxonRelationship, Taxon> taxonToTaxonRelationsMap = new HashMap<>();
for (TaxonRelationship relationship : taxon.getTaxonRelations()) {
if (! relationship.getType().equals(TaxonRelationshipType.MISAPPLIED_NAME_FOR()) ||
relationship.getType().equals(TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN())) {
- filteredTaxonRelations.add(relationship);
+ taxonToTaxonRelationsMap.put(relationship, taxon);
}
}
-
- return filteredTaxonRelations.toArray();
+ return taxonToTaxonRelationsMap.entrySet().toArray();
}
return new Object[0];
}
package eu.etaxonomy.taxeditor.editor.view.concept;
+import java.util.Map.Entry;
+
import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StyledString;
import org.eclipse.swt.graphics.Image;
-import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.common.Representation;
-import eu.etaxonomy.cdm.model.reference.IReference;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
-import eu.etaxonomy.taxeditor.editor.EditorUtil;
-import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer;
-import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* @author n.hoffmann
*/
public class ConceptLabelProvider extends LabelProvider implements IStyledLabelProvider {
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
- */
@Override
public Image getImage(Object element) {
- if(element instanceof TaxonRelationship){
- return getTaxonRelationshipImage((TaxonRelationship) element);
+ if(element instanceof Entry){
+ return getTaxonRelationshipImage((TaxonRelationship) ((Entry<TaxonRelationship, Taxon>) element).getKey());
}
return super.getImage(element);
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object)
- */
@Override
public String getText(Object element) {
- if(element instanceof TaxonRelationship){
- return formatRelationship((TaxonRelationship) element);
+ if(element instanceof Entry){
+ return formatRelationship((Entry<TaxonRelationship, Taxon>) element);
}
return "";
/**
* Creates a string that holds a representation of the {@link TaxonRelationship} in relation to
- * the accepted taxon of the currently active {@link MultiPageTaxonEditor}.
+ * the currently selected and accepted taxon.
*
* @param relationship
* @return a formatted String representation of the relationship
*/
- private String formatRelationship(TaxonRelationship relationship){
- Taxon sourceTaxon = EditorUtil.getActiveMultiPageTaxonEditor().getTaxon();
- TaxonRelationshipTypeInverseContainer container = TaxonRelationshipTypeInverseContainer.CreateFromSource(sourceTaxon, relationship);
- Taxon relatedTaxon = TaxonRelationshipTypeInverseContainer.RelatedTaxon(sourceTaxon, relationship);
+ private String formatRelationship(Entry<TaxonRelationship, Taxon> entry){
+ Taxon sourceTaxon = entry.getValue();
+ TaxonRelationshipTypeInverseContainer container = TaxonRelationshipTypeInverseContainer.CreateFromSource(sourceTaxon, entry.getKey());
+ Taxon relatedTaxon = TaxonRelationshipTypeInverseContainer.RelatedTaxon(sourceTaxon, entry.getKey());
String string = String.format("%s %s", container.getAbbreviatedLabel(), relatedTaxon);
return string;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider#getStyledText(java.lang.Object)
- */
@Override
public StyledString getStyledText(Object element) {
return new StyledString(getText(element), StyledString.QUALIFIER_STYLER);
package eu.etaxonomy.taxeditor.editor.view.concept;
+import java.util.Map.Entry;
+
import org.eclipse.jface.action.GroupMarker;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ListViewer;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.IWorkbenchPart;
+import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+import eu.etaxonomy.taxeditor.editor.Messages;
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
+import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
import eu.etaxonomy.taxeditor.editor.key.AbstractGraphKeyEditor;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
+import eu.etaxonomy.taxeditor.model.LineSelection;
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
+import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;
+import eu.etaxonomy.taxeditor.view.supplementaldata.SupplementalDataViewPart;
/**
* @author n.hoffmann
* @created Jan 24, 2011
* @version 1.0
*/
-public class ConceptViewPart extends AbstractCdmEditorViewPart implements IPartContentHasDetails, IPartContentHasSupplementalData{
+public class ConceptViewPart extends AbstractCdmEditorViewPart
+implements IPartContentHasDetails, IPartContentHasSupplementalData{
- public static final String ID = "eu.etaxonomy.taxeditor.editor.view.concept";
+ public static final String ID = "eu.etaxonomy.taxeditor.editor.view.concept"; //$NON-NLS-1$
- private ListViewer viewer;
+ private ConceptRelationViewer viewer;
@Override
protected void selectionChanged_internal(IWorkbenchPart part, ISelection selection) {
+ if(part == this){
+ return;
+ }
if(AbstractUtility.getActiveEditor() == null){
showEmptyPage();
return;
}
-
- if(part instanceof BulkEditor){
- showEmptyPage();
+
+ if (part instanceof DetailsViewPart || part instanceof SupplementalDataViewPart) {
+ // do not show empty page as these views are also used to edit the
+ // description selected in this view
+ return;
+ }
+ else if(part instanceof BulkEditor && selection instanceof LineSelection){
+ if(((LineSelection) selection).getFirstElement() instanceof Taxon){
+ showViewer(part, (LineSelection) selection);
+ }
+ else{
+ showEmptyPage();
+ }
return;
}
-
- if(part instanceof AbstractGraphKeyEditor){
+ else if(part instanceof AbstractGraphKeyEditor){
showEmptyPage();
return;
}
-
- if(part instanceof MultiPageTaxonEditor){
+ else if(part instanceof MultiPageTaxonEditor){
if(! part.equals(this.part)){
IEditorInput input = ((IEditorPart) part).getEditorInput();
showViewer(part, new StructuredSelection(input));
}
- showViewer();
+ }
+ else {
+ showEmptyPage();
}
}
+
+ @Override
+ protected String createPartTitle(Object selectedObject) {
+ if(selectedObject instanceof TaxonEditorInput){
+ return super.createPartTitle(((TaxonEditorInput) selectedObject).getTaxon());
+ }
+ return super.createPartTitle(selectedObject);
+ }
@Override
public boolean onComplete() {
@Override
public void createViewer(Composite parent) {
- viewer = new ListViewer(parent);
+ viewer = new ConceptRelationViewer(parent);
viewer.setContentProvider(new ConceptContentProvider());
viewer.setLabelProvider(new ConceptLabelProvider());
super.changed(object);
}
+ private class ConceptRelationViewer extends ListViewer {
+
+ public ConceptRelationViewer(Composite parent) {
+ super(parent);
+ }
+
+ @Override
+ public ISelection getSelection() {
+ ISelection selection = super.getSelection();
+ if(selection instanceof IStructuredSelection && !selection.isEmpty()){
+ Object firstElement = ((IStructuredSelection) selection).getFirstElement();
+ TaxonRelationship taxonRelationship = ((Entry<TaxonRelationship, Taxon>)firstElement).getKey();
+ return new StructuredSelection(taxonRelationship);
+
+ }
+ return selection;
+ }
+
+ @Override
+ public void setSelection(ISelection selection) {
+ super.setSelection(selection);
+ }
+
+ }
+
+ @Override
+ protected String getViewName() {
+ return Messages.ConceptViewPart_VIEWER_NAME;
+ }
+
}
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
+import eu.etaxonomy.taxeditor.editor.Messages;
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
*/
public class ConceptGraphView extends AbstractCdmEditorViewPart {
- public static final String ID = "eu.etaxonomy.taxeditor.editor.view.concept.graph";
+ public static final String ID = "eu.etaxonomy.taxeditor.editor.view.concept.graph"; //$NON-NLS-1$
private GraphViewer viewer;
private LayoutAlgorithm layoutAlgoritm;
return layoutAlgoritm;
}
+ @Override
+ protected String getViewName() {
+ return Messages.ConceptGraphView_VIEWER_NAME;
+ }
+
}
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* 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.
*/
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.core.commands.operations.IUndoContext;
import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Event;
+import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.handlers.HandlerUtil;
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
-import eu.etaxonomy.taxeditor.editor.EditorUtil;
-import eu.etaxonomy.taxeditor.editor.Page;
-import eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
import eu.etaxonomy.taxeditor.editor.view.concept.operation.CreateConceptRelationOperation;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonBaseSelectionDialog;
/**
- * <p>CreateConceptRelationHandler class.</p>
- *
* @author n.hoffmann
* @created 16.04.2009
* @version 1.0
*/
public class CreateConceptRelationHandler 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 {
- TaxonNameEditor editor = (TaxonNameEditor) EditorUtil.getActiveEditorPage(
- Page.NAME);
-
- Taxon taxonToBeFiltered = editor.getTaxon();
-
- /* we need to get the activePart before calling TaxonBaseSelectionDialog.selectTaxon(), otherwise the
+ IUndoContext undoContext = null;
+ ConversationHolder conversationHolder = null;
+ Taxon taxon = null;
+ IEditorPart activeEditor = AbstractUtility.getActiveEditor();
+ if(activeEditor instanceof MultiPageTaxonEditor){
+ MultiPageTaxonEditor taxonEditor = (MultiPageTaxonEditor)activeEditor;
+ taxon = taxonEditor.getTaxon();
+ conversationHolder = taxonEditor.getConversationHolder();
+ undoContext = taxonEditor.getUndoContext();
+ }
+ else if(activeEditor instanceof BulkEditor){
+ BulkEditor bulkEditor = (BulkEditor)activeEditor;
+ ISelection selection = bulkEditor.getSelectionProvider().getSelection();
+ taxon = (Taxon) ((IStructuredSelection)selection).getFirstElement();
+ conversationHolder = bulkEditor.getConversationHolder();
+ undoContext = bulkEditor.getUndoContext();
+ }
+
+
+ /* we need to get the activePart before calling TaxonBaseSelectionDialog.selectTaxon(), otherwise the
* the variable of the parent applicationContext in event are overwritten during this method call
* this is Linux specific bugfix see: #2685 ([LINUX] Editing concept relationships does not work under linux)
*/
IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
- Taxon relatedConcept = TaxonBaseSelectionDialog.selectTaxon(HandlerUtil.getActiveShell(event), editor.getConversationHolder(), taxonToBeFiltered);
-
-
+ Taxon relatedConcept = TaxonBaseSelectionDialog.selectTaxon(HandlerUtil.getActiveShell(event), conversationHolder, taxon);
+
+
if(relatedConcept == null){
return Status.CANCEL_STATUS;
}
TaxonRelationshipType type = (TaxonRelationshipType) ((Event)event.getTrigger()).data;
boolean isInverse = type.getInverseLabel().isEmpty()?false:true;
TaxonRelationshipTypeInverseContainer typeInverseContainer =new TaxonRelationshipTypeInverseContainer(type, isInverse) ;
-
+
IPostOperationEnabled postOperationEnabled = (activePart instanceof IPostOperationEnabled) ? (IPostOperationEnabled) activePart : null;
-
+
try {
- AbstractPostOperation operation = new CreateConceptRelationOperation(event.getCommand().getName(),
- editor.getUndoContext(), editor.getTaxon(), relatedConcept, typeInverseContainer, postOperationEnabled);
+ AbstractPostOperation operation = new CreateConceptRelationOperation(event.getCommand().getName(),
+ undoContext, taxon, relatedConcept, typeInverseContainer, postOperationEnabled);
AbstractUtility.executeOperation(operation);
} catch (NotDefinedException e) {
MessagingUtils.warn(getClass(), "Command name not set");
}
-
+
return null;
}
}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2013 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.view.dataimport.transientServices;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import org.hibernate.LockOptions;
-import org.hibernate.Session;
-import org.hibernate.criterion.Criterion;
-import org.hibernate.envers.query.criteria.AuditCriterion;
-
-import eu.etaxonomy.cdm.api.service.DeleteResult;
-import eu.etaxonomy.cdm.api.service.IAgentService;
-import eu.etaxonomy.cdm.api.service.UpdateResult;
-import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
-import eu.etaxonomy.cdm.api.service.pager.Pager;
-import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
-import eu.etaxonomy.cdm.model.agent.Address;
-import eu.etaxonomy.cdm.model.agent.AgentBase;
-import eu.etaxonomy.cdm.model.agent.Institution;
-import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;
-import eu.etaxonomy.cdm.model.agent.Person;
-import eu.etaxonomy.cdm.model.agent.Team;
-import eu.etaxonomy.cdm.model.common.Annotation;
-import eu.etaxonomy.cdm.model.common.DefinedTerm;
-import eu.etaxonomy.cdm.model.common.ISourceable;
-import eu.etaxonomy.cdm.model.common.IdentifiableSource;
-import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.media.Rights;
-import eu.etaxonomy.cdm.model.view.AuditEvent;
-import eu.etaxonomy.cdm.model.view.AuditEventRecord;
-import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
-import eu.etaxonomy.cdm.persistence.dto.MergeResult;
-import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
-import eu.etaxonomy.cdm.persistence.query.Grouping;
-import eu.etaxonomy.cdm.persistence.query.MatchMode;
-import eu.etaxonomy.cdm.persistence.query.OrderHint;
-import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
-import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
-import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
-import eu.etaxonomy.cdm.strategy.merge.MergeException;
-
-/**
- * @author pplitzner
- * @date 27.09.2013
- *
- */
-public class TransientAgentService implements IAgentService {
-
- private final IAgentService defaultService;
-
- /**
- * @param defaultAgentService
- */
- public TransientAgentService(IAgentService defaultAgentService) {
- this.defaultService = defaultAgentService;
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(eu.etaxonomy.cdm.model.common.VersionableEntity, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<AgentBase>> pageAuditEvents(AgentBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
- }
-
- /**
- * @param annotatedObj
- * @param status
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getAnnotations(eu.etaxonomy.cdm.model.common.AnnotatableEntity, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Annotation> getAnnotations(AgentBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param code
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAgentService#searchInstitutionByCode(java.lang.String)
- */
- @Override
- public List<Institution> searchInstitutionByCode(String code) {
- return defaultService.searchInstitutionByCode(code);
- }
-
- /**
- * @param person
- * @param pageSize
- * @param pageNumber
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAgentService#getInstitutionalMemberships(eu.etaxonomy.cdm.model.agent.Person, java.lang.Integer, java.lang.Integer)
- */
- @Override
- public Pager<InstitutionalMembership> getInstitutionalMemberships(Person person, Integer pageSize, Integer pageNumber) {
- return defaultService.getInstitutionalMemberships(person, pageSize, pageNumber);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IService#clear()
- */
- @Override
- public void clear() {
- defaultService.clear();
- }
-
- /**
- * @param t
- * @param lockMode
- * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
- */
- @Override
- public void lock(AgentBase t, LockOptions lockOptions) {
- defaultService.lock(t, lockOptions);
- }
-
- /**
- * @param t
- * @param lockMode
- * @param propertyPaths
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
- */
- @Override
- public void refresh(AgentBase t, LockOptions lockOptions, List<String> propertyPaths) {
- defaultService.refresh(t, lockOptions, propertyPaths);
- }
-
- /**
- * @param team
- * @param pageSize
- * @param pageNumber
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAgentService#getMembers(eu.etaxonomy.cdm.model.agent.Team, java.lang.Integer, java.lang.Integer)
- */
- @Override
- public Pager<Person> getMembers(Team team, Integer pageSize, Integer pageNumber) {
- return defaultService.getMembers(team, pageSize, pageNumber);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
- */
- @Override
- public void updateTitleCache() {
- defaultService.updateTitleCache();
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<AgentBase> getNextAuditEvent(AgentBase t) {
- return defaultService.getNextAuditEvent(t);
- }
-
- /**
- * @param annotatableEntity
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getMarkers(eu.etaxonomy.cdm.model.common.AnnotatableEntity, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Marker> getMarkers(AgentBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param stepSize
- * @param cacheStrategy
- * @param monitor
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Class, java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy, eu.etaxonomy.cdm.common.monitor.IProgressMonitor)
- */
- @Override
- public void updateTitleCache(Class<? extends AgentBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<AgentBase> cacheStrategy, IProgressMonitor monitor) {
- defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
- }
-
- /**
- * @param agent
- * @param pageSize
- * @param pageNumber
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAgentService#getAddresses(eu.etaxonomy.cdm.model.agent.AgentBase, java.lang.Integer, java.lang.Integer)
- */
- @Override
- public Pager<Address> getAddresses(AgentBase agent, Integer pageSize, Integer pageNumber) {
- return defaultService.getAddresses(agent, pageSize, pageNumber);
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<AgentBase> getPreviousAuditEvent(AgentBase t) {
- return defaultService.getPreviousAuditEvent(t);
- }
-
- /**
- * @param clazz
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
- */
- @Override
- public int count(Class<? extends AgentBase> clazz) {
- return defaultService.count(clazz);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAgentService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<AgentBase> search(Class<? extends AgentBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param from
- * @param to
- * @param criteria
- * @param pageSize
- * @param pageValue
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(java.lang.Class, eu.etaxonomy.cdm.model.view.AuditEvent, eu.etaxonomy.cdm.model.view.AuditEvent, java.util.List, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<AgentBase>> pageAuditEvents(Class<? extends AgentBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
- }
-
- /**
- * @param lsid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
- */
- @Override
- public AgentBase find(LSID lsid) {
- return defaultService.find(lsid);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DeleteResult delete(AgentBase persistentObject) {
- return defaultService.delete(persistentObject);
- }
-
- /**
- * @param clazz
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<Object[]> groupMarkers(Class<? extends AgentBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
- */
- @Override
- public boolean exists(UUID uuid) {
- return defaultService.exists(uuid);
- }
-
- /**
- * @param x
- * @param y
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
- */
- @Override
- public AgentBase replace(AgentBase x, AgentBase y) {
- return defaultService.replace(x, y);
- }
-
- /**
- * @param uuidSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
- */
- @Override
- public List<AgentBase> find(Set<UUID> uuidSet) {
- return defaultService.find(uuidSet);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<IdentifiableSource> getSources(AgentBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
- */
- @Override
- public AgentBase find(UUID uuid) {
- return defaultService.find(uuid);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAgentService#getPersonUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<Person>> getPersonUuidAndTitleCache() {
- return defaultService.getPersonUuidAndTitleCache();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAgentService#getTeamUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<Team>> getTeamUuidAndTitleCache() {
- return defaultService.getTeamUuidAndTitleCache();
- }
-
- /**
- * @param id
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(int)
- */
- @Override
- public AgentBase find(int id) {
- return defaultService.find(id);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<Rights> getRights(AgentBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param technical
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
- */
- @Override
- public int countMarkers(Class<? extends AgentBase> clazz, Boolean technical) {
- return defaultService.countMarkers(clazz, technical);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAgentService#getTeamUuidAndNomenclaturalTitle()
- */
- @Override
- public List<UuidAndTitleCache<Team>> getTeamUuidAndNomenclaturalTitle() {
- return defaultService.getTeamUuidAndNomenclaturalTitle();
- }
-
- /**
- * @param idSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
- */
- @Override
- public List<AgentBase> findById(Set<Integer> idSet) {
- return defaultService.findById(idSet);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAgentService#getInstitutionUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<Institution>> getInstitutionUuidAndTitleCache() {
- return defaultService.getInstitutionUuidAndTitleCache();
- }
-
- /**
- * @param clazz
- * @param idInSource
- * @param idNamespace
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
- */
- @Override
- public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
- return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#getSession()
- */
- @Override
- public Session getSession() {
- return defaultService.getSession();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<AgentBase>> getUuidAndTitleCache() {
- return defaultService.getUuidAndTitleCache();
- }
-
- /**
- * @param clazz
- * @param limit
- * @param start
- * @param groups
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Object[]> group(Class<? extends AgentBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
- return defaultService.group(clazz, limit, start, groups, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<AgentBase> findByTitle(Class<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param type
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends AgentBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(type, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Pager<AgentBase> findByTitle(IIdentifiableEntityServiceConfigurator<AgentBase> configurator) {
- return defaultService.findByTitle(configurator);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
- */
- @Override
- public Integer countByTitle(Class<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
- return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
- */
- @Override
- public AgentBase load(UUID uuid) {
- return defaultService.load(uuid);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
- */
- @Override
- public AgentBase load(UUID uuid, List<String> propertyPaths) {
- return defaultService.load(uuid, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Integer countByTitle(IIdentifiableEntityServiceConfigurator<AgentBase> configurator) {
- return defaultService.countByTitle(configurator);
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public AgentBase merge(AgentBase transientObject) {
- return defaultService.merge(transientObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<AgentBase> listByTitle(Class<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends AgentBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID refresh(AgentBase persistentObject) {
- return defaultService.refresh(persistentObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByReferenceTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<AgentBase> listByReferenceTitle(Class<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param tableName
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
- */
- @Override
- public List<AgentBase> rows(String tableName, int limit, int start) {
- return defaultService.rows(tableName, limit, start);
- }
-
- /**
- * @param newInstances
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
- */
- @Override
- public Map<UUID, AgentBase> save(Collection<AgentBase> newInstances) {
- return null;
- }
-
- /**
- * @param newInstance
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public AgentBase save(AgentBase newInstance) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID saveOrUpdate(AgentBase transientObject) {
- return null;
- }
-
- /**
- * @param transientObjects
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
- */
- @Override
- public Map<UUID, AgentBase> saveOrUpdate(Collection<AgentBase> transientObjects) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID update(AgentBase transientObject) {
- return defaultService.update(transientObject);
- }
-
- /**
- * @param example
- * @param includeProperties
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(eu.etaxonomy.cdm.model.common.ICdmBase, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<AgentBase> list(AgentBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param matchStrategy
- * @param mergeStrategy
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
- */
- @Override
- public int deduplicate(Class<? extends AgentBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
- return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param matchMode
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
- */
- @Override
- public Pager<AgentBase> findTitleCache(Class<? extends AgentBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
- return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
- }
-
- @Override
- public DeleteResult isDeletable(AgentBase object,
- DeleteConfiguratorBase config) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public AgentBase findWithoutFlush(UUID uuid) {
- return defaultService.findWithoutFlush(uuid);
- };
-
- @Override
- public <S extends AgentBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
- return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
- }
-
- @Override
- public UpdateResult convertPerson2Team(Person arg0) throws MergeException,
- IllegalArgumentException {
- return defaultService.convertPerson2Team(arg0);
- }
-
- @Override
- public UpdateResult convertTeam2Person(Team arg0) throws MergeException,
- IllegalArgumentException {
- return defaultService.convertTeam2Person(arg0);
- }
-
-
- @Override
- public DeleteResult delete(UUID arg0) {
- return defaultService.delete(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
- */
- @Override
- public DeleteResult delete(Collection<UUID> arg0) {
- return defaultService.delete(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
- */
- @Override
- public List<AgentBase> merge(List<AgentBase> arg0) {
- return defaultService.merge(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
- */
- @Override
- public List<MergeResult<AgentBase>> merge(List<AgentBase> arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
- */
- @Override
- public MergeResult<AgentBase> merge(AgentBase arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#loadWithUpdate(java.util.UUID)
- */
- @Override
- public AgentBase loadWithUpdate(UUID arg0) {
- return defaultService.loadWithUpdate(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IAgentService#convertPerson2Team(java.util.UUID)
- */
- @Override
- public UpdateResult convertPerson2Team(UUID arg0) throws MergeException, IllegalArgumentException {
- return defaultService.convertPerson2Team(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IAgentService#convertTeam2Person(java.util.UUID)
- */
- @Override
- public UpdateResult convertTeam2Person(UUID arg0) throws MergeException {
- return defaultService.convertTeam2Person(arg0);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<AgentBase> load(List<UUID> arg0, List<String> arg1) {
- return defaultService.load(arg0, arg1);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<UuidAndTitleCache<AgentBase>> getUuidAndAbbrevTitleCache() {
- return defaultService.getUuidAndAbbrevTitleCache();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2013 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.view.dataimport.transientServices;
-
-import java.util.Collection;
-
-import org.springframework.security.authentication.ProviderManager;
-import org.springframework.transaction.PlatformTransactionManager;
-import org.springframework.transaction.TransactionStatus;
-
-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.IAnnotationService;
-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.IDatabaseService;
-import eu.etaxonomy.cdm.api.service.IDescriptionService;
-import eu.etaxonomy.cdm.api.service.IEntityConstraintViolationService;
-import eu.etaxonomy.cdm.api.service.IEntityValidationService;
-import eu.etaxonomy.cdm.api.service.IEventBaseService;
-import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
-import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
-import eu.etaxonomy.cdm.api.service.IGrantedAuthorityService;
-import eu.etaxonomy.cdm.api.service.IGroupService;
-import eu.etaxonomy.cdm.api.service.IIdentificationKeyService;
-import eu.etaxonomy.cdm.api.service.ILocationService;
-import eu.etaxonomy.cdm.api.service.IMediaService;
-import eu.etaxonomy.cdm.api.service.IMetadataService;
-import eu.etaxonomy.cdm.api.service.INameService;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService;
-import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
-import eu.etaxonomy.cdm.api.service.IProgressMonitorService;
-import eu.etaxonomy.cdm.api.service.IReferenceService;
-import eu.etaxonomy.cdm.api.service.IService;
-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.IWorkingSetService;
-import eu.etaxonomy.cdm.api.service.molecular.IAmplificationService;
-import eu.etaxonomy.cdm.api.service.molecular.IPrimerService;
-import eu.etaxonomy.cdm.api.service.molecular.ISequenceService;
-import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.cdm.persistence.hibernate.permission.ICdmPermissionEvaluator;
-
-/**
- * @author pplitzner
- * @date 26.09.2013
- *
- */
-public class TransientCdmRepository implements ICdmApplicationConfiguration {
-
- private final ICdmApplicationConfiguration defaultApplicationConfiguration;
- private TransientOccurenceService occurenceService;
-
- public Collection<SpecimenOrObservationBase<?>> getUnits(){
- return occurenceService.getUnits();
- }
-
- /**
- * @param defaultApplicationConfiguration
- */
- public TransientCdmRepository(ICdmApplicationConfiguration defaultApplicationConfiguration) {
- this.defaultApplicationConfiguration = defaultApplicationConfiguration;
- this.occurenceService = (TransientOccurenceService) getOccurrenceService();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#NewConversation()
- */
- @Override
- public ConversationHolder NewConversation() {
- return defaultApplicationConfiguration.NewConversation();
- }
-
- /**
- * @param arg0
- * @param arg1
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#authenticate(java.lang.String, java.lang.String)
- */
- @Override
- public void authenticate(String arg0, String arg1) {
- defaultApplicationConfiguration.authenticate(arg0, arg1);
- }
-
- /**
- * @param arg0
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#commitTransaction(org.springframework.transaction.TransactionStatus)
- */
- @Override
- public void commitTransaction(TransactionStatus arg0) {
- defaultApplicationConfiguration.commitTransaction(arg0);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getAgentService()
- */
- @Override
- public IAgentService getAgentService() {
- return new TransientAgentService(defaultApplicationConfiguration.getAgentService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getAuthenticationManager()
- */
- @Override
- public ProviderManager getAuthenticationManager() {
- return defaultApplicationConfiguration.getAuthenticationManager();
- }
-
- /**
- * @param arg0
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getBean(java.lang.String)
- */
- @Override
- public Object getBean(String arg0) {
- return defaultApplicationConfiguration.getBean(arg0);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getClassificationService()
- */
- @Override
- public IClassificationService getClassificationService() {
- return new TransientClassificationService(defaultApplicationConfiguration.getClassificationService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getCollectionService()
- */
- @Override
- public ICollectionService getCollectionService() {
- return new TransientCollectionService(defaultApplicationConfiguration.getCollectionService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getCommonService()
- */
- @Override
- public ICommonService getCommonService() {
- return defaultApplicationConfiguration.getCommonService();
-// return new TransientCommonService(defaultApplicationConfiguration.getCommonService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getDatabaseService()
- */
- @Override
- public IDatabaseService getDatabaseService() {
- return defaultApplicationConfiguration.getDatabaseService();
-// return new TransientDatabaseService(defaultApplicationConfiguration.getDatabaseService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getDescriptionService()
- */
- @Override
- public IDescriptionService getDescriptionService() {
- return new TransientDescriptionService(defaultApplicationConfiguration.getDescriptionService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getFeatureNodeService()
- */
- @Override
- public IFeatureNodeService getFeatureNodeService() {
- return defaultApplicationConfiguration.getFeatureNodeService();
-// return new TransientFeatureNodeService(defaultApplicationConfiguration.getFeatureNodeService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getFeatureTreeService()
- */
- @Override
- public IFeatureTreeService getFeatureTreeService() {
- return defaultApplicationConfiguration.getFeatureTreeService();
-// return new TransientFeatureTreeService(defaultApplicationConfiguration.getFeatureTreeService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getGrantedAuthorityService()
- */
- @Override
- public IGrantedAuthorityService getGrantedAuthorityService() {
- return defaultApplicationConfiguration.getGrantedAuthorityService();
-// return new TransientGrantedAuthorityService(defaultApplicationConfiguration.getGrantedAuthorityService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getGroupService()
- */
- @Override
- public IGroupService getGroupService() {
- return defaultApplicationConfiguration.getGroupService();
-// return new TransientGroupService(defaultApplicationConfiguration.getGroupService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getIdentificationKeyService()
- */
- @Override
- public IIdentificationKeyService getIdentificationKeyService() {
- return defaultApplicationConfiguration.getIdentificationKeyService();
-// return new TransientIdentificationService(defaultApplicationConfiguration.getIdentificationKeyService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getLocationService()
- */
- @Override
- public ILocationService getLocationService() {
- return defaultApplicationConfiguration.getLocationService();
-// return new TransientLocationService(defaultApplicationConfiguration.getLocationService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getMainService()
- */
- @Override
- public IService<CdmBase> getMainService() {
- return defaultApplicationConfiguration.getMainService();
-// return new TransientMainService(defaultApplicationConfiguration.getMainService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getMediaService()
- */
- @Override
- public IMediaService getMediaService() {
- return defaultApplicationConfiguration.getMediaService();
-// return new TransientMediaService(defaultApplicationConfiguration.getMediaService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getNameService()
- */
- @Override
- public INameService getNameService() {
- return new TransientNameService(defaultApplicationConfiguration.getNameService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getOccurrenceService()
- */
- @Override
- public IOccurrenceService getOccurrenceService() {
- if(occurenceService==null){
- occurenceService = new TransientOccurenceService(defaultApplicationConfiguration.getOccurrenceService());
- }
- return occurenceService;
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPermissionEvaluator()
- */
- @Override
- public ICdmPermissionEvaluator getPermissionEvaluator() {
- return defaultApplicationConfiguration.getPermissionEvaluator();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPolytomousKeyNodeService()
- */
- @Override
- public IPolytomousKeyNodeService getPolytomousKeyNodeService() {
- return defaultApplicationConfiguration.getPolytomousKeyNodeService();
-// return new TransientPolytomousKeyNodeService(defaultApplicationConfiguration.getPolytomousKeyNodeService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPolytomousKeyService()
- */
- @Override
- public IPolytomousKeyService getPolytomousKeyService() {
- return defaultApplicationConfiguration.getPolytomousKeyService();
-// return new TransientPolytomousKeyService(defaultApplicationConfiguration.getPolytomousKeyService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getReferenceService()
- */
- @Override
- public IReferenceService getReferenceService() {
- return new TransientReferenceService(defaultApplicationConfiguration.getReferenceService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTaxonNodeService()
- */
- @Override
- public ITaxonNodeService getTaxonNodeService() {
- return defaultApplicationConfiguration.getTaxonNodeService();
-// return new TransientTaxonNodeService(defaultApplicationConfiguration.getTaxonNodeService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTaxonService()
- */
- @Override
- public ITaxonService getTaxonService() {
- return new TransientTaxonService(defaultApplicationConfiguration.getTaxonService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTermService()
- */
- @Override
- public ITermService getTermService() {
- return new TransientTermService(defaultApplicationConfiguration.getTermService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTransactionManager()
- */
- @Override
- public PlatformTransactionManager getTransactionManager() {
- return defaultApplicationConfiguration.getTransactionManager();
- }
-
- @Override
- public IUserService getUserService() {
- return defaultApplicationConfiguration.getUserService();
-// return new TransientUserService(defaultApplicationConfiguration.getUserService());
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getVocabularyService()
- */
- @Override
- public IVocabularyService getVocabularyService() {
- return defaultApplicationConfiguration.getVocabularyService();
-// return new TransientVocabularyService(defaultApplicationConfiguration.getVocabularyService());
- }
-
- @Override
- public IWorkingSetService getWorkingSetService() {
- return defaultApplicationConfiguration.getWorkingSetService();
-// return new TransientWorkingSetService(defaultApplicationConfiguration.getWorkingSetService());
- }
-
- @Override
- public TransactionStatus startTransaction() {
- return defaultApplicationConfiguration.startTransaction();
- }
-
-
- @Override
- public TransactionStatus startTransaction(Boolean arg0) {
- return defaultApplicationConfiguration.startTransaction(arg0);
- }
-
- @Override
- public IPrimerService getPrimerService() {
- return defaultApplicationConfiguration.getPrimerService();
- }
-
- @Override
- public IAmplificationService getAmplificationService() {
- return defaultApplicationConfiguration.getAmplificationService();
- }
-
- @Override
- public ISequenceService getSequenceService() {
- return defaultApplicationConfiguration.getSequenceService();
- }
-
- @Override
- public IEventBaseService getEventBaseService() {
- return defaultApplicationConfiguration.getEventBaseService();
- }
-
- @Override
- public IEntityConstraintViolationService getEntityConstraintViolationService() {
- return defaultApplicationConfiguration.getEntityConstraintViolationService();
- }
-
- @Override
- public IEntityValidationService getEntityValidationService() {
- return defaultApplicationConfiguration.getEntityValidationService();
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getAnnotationService()
- */
- @Override
- public IAnnotationService getAnnotationService() {
- return defaultApplicationConfiguration.getAnnotationService();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public IProgressMonitorService getProgressMonitorService() {
- return defaultApplicationConfiguration.getProgressMonitorService();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public IMetadataService getMetadataService() {
- return defaultApplicationConfiguration.getMetadataService();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2013 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.view.dataimport.transientServices;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import org.hibernate.LockOptions;
-import org.hibernate.Session;
-import org.hibernate.criterion.Criterion;
-import org.hibernate.envers.query.criteria.AuditCriterion;
-
-import eu.etaxonomy.cdm.api.service.DeleteResult;
-import eu.etaxonomy.cdm.api.service.IClassificationService;
-import eu.etaxonomy.cdm.api.service.UpdateResult;
-import eu.etaxonomy.cdm.api.service.config.CreateHierarchyForClassificationConfigurator;
-import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
-import eu.etaxonomy.cdm.api.service.pager.Pager;
-import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
-import eu.etaxonomy.cdm.model.common.Annotation;
-import eu.etaxonomy.cdm.model.common.DefinedTerm;
-import eu.etaxonomy.cdm.model.common.ISourceable;
-import eu.etaxonomy.cdm.model.common.IdentifiableSource;
-import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.media.MediaRepresentation;
-import eu.etaxonomy.cdm.model.media.Rights;
-import eu.etaxonomy.cdm.model.name.Rank;
-import eu.etaxonomy.cdm.model.taxon.Classification;
-import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
-import eu.etaxonomy.cdm.model.taxon.TaxonNode;
-import eu.etaxonomy.cdm.model.view.AuditEvent;
-import eu.etaxonomy.cdm.model.view.AuditEventRecord;
-import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
-import eu.etaxonomy.cdm.persistence.dto.MergeResult;
-import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
-import eu.etaxonomy.cdm.persistence.query.Grouping;
-import eu.etaxonomy.cdm.persistence.query.MatchMode;
-import eu.etaxonomy.cdm.persistence.query.OrderHint;
-import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
-import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
-import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
-
-/**
- * @author pplitzner
- * @date 27.09.2013
- *
- */
-public class TransientClassificationService implements IClassificationService {
-
- private final IClassificationService defaultService;
-
- /**
- * @param defaultClassificationService
- */
- public TransientClassificationService(IClassificationService defaultClassificationService) {
- this.defaultService = defaultClassificationService;
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(eu.etaxonomy.cdm.model.common.VersionableEntity, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<Classification>> pageAuditEvents(Classification t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
- }
-
- /**
- * @param annotatedObj
- * @param status
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getAnnotations(eu.etaxonomy.cdm.model.common.AnnotatableEntity, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Annotation> getAnnotations(Classification annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#getTaxonNodeByUuid(java.util.UUID)
- */
- @Override
- public TaxonNode getTaxonNodeByUuid(UUID uuid) {
- return defaultService.getTaxonNodeByUuid(uuid);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#getTreeNodeByUuid(java.util.UUID)
- */
- @Override
- public ITaxonTreeNode getTreeNodeByUuid(UUID uuid) {
- return defaultService.getTreeNodeByUuid(uuid);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IService#clear()
- */
- @Override
- public void clear() {
- defaultService.clear();
- }
-
- /**
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#listClassifications(java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Classification> listClassifications(Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listClassifications(limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param t
- * @param lockMode
- * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
- */
- @Override
- public void lock(Classification t, LockOptions lockOptions) {
- defaultService.lock(t, lockOptions);
- }
-
- /**
- * @param t
- * @param lockMode
- * @param propertyPaths
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
- */
- @Override
- public void refresh(Classification t, LockOptions lockOptions, List<String> propertyPaths) {
- defaultService.refresh(t, lockOptions, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param classificationUuid
- * @param propertyPaths
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadTaxonNodeByTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.UUID, java.util.List)
- */
- @Deprecated
- @Override
- public TaxonNode loadTaxonNodeByTaxon(Taxon taxon, UUID classificationUuid, List<String> propertyPaths) {
- return defaultService.loadTaxonNodeByTaxon(taxon, classificationUuid, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
- */
- @Override
- public void updateTitleCache() {
- defaultService.updateTitleCache();
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<Classification> getNextAuditEvent(Classification t) {
- return defaultService.getNextAuditEvent(t);
- }
-
- /**
- * @param annotatableEntity
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getMarkers(eu.etaxonomy.cdm.model.common.AnnotatableEntity, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Marker> getMarkers(Classification annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param stepSize
- * @param cacheStrategy
- * @param monitor
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Class, java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy, eu.etaxonomy.cdm.common.monitor.IProgressMonitor)
- */
- @Override
- public void updateTitleCache(Class<? extends Classification> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<Classification> cacheStrategy, IProgressMonitor monitor) {
- defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
- }
-
- /**
- * @param taxonNode
- * @param propertyPaths
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadTaxonNode(eu.etaxonomy.cdm.model.taxon.TaxonNode, java.util.List)
- */
- @Deprecated
- @Override
- public TaxonNode loadTaxonNode(TaxonNode taxonNode, List<String> propertyPaths) {
- return defaultService.loadTaxonNode(taxonNode, propertyPaths);
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<Classification> getPreviousAuditEvent(Classification t) {
- return defaultService.getPreviousAuditEvent(t);
- }
-
- /**
- * @param clazz
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
- */
- @Override
- public int count(Class<? extends Classification> clazz) {
- return defaultService.count(clazz);
- }
-
- /**
- * @param clazz
- * @param from
- * @param to
- * @param criteria
- * @param pageSize
- * @param pageValue
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(java.lang.Class, eu.etaxonomy.cdm.model.view.AuditEvent, eu.etaxonomy.cdm.model.view.AuditEvent, java.util.List, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<Classification>> pageAuditEvents(Class<? extends Classification> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
- }
-
- /**
- * @param lsid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
- */
- @Override
- public Classification find(LSID lsid) {
- return defaultService.find(lsid);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DeleteResult delete(Classification persistentObject) {
- return defaultService.delete(persistentObject);
- }
-
- /**
- * @param clazz
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<Object[]> groupMarkers(Class<? extends Classification> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
- */
- @Override
- public boolean exists(UUID uuid) {
- return defaultService.exists(uuid);
- }
-
- /**
- * @param x
- * @param y
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
- */
- @Override
- public Classification replace(Classification x, Classification y) {
- return defaultService.replace(x, y);
- }
-
- /**
- * @param uuidSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
- */
- @Override
- public List<Classification> find(Set<UUID> uuidSet) {
- return defaultService.find(uuidSet);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<IdentifiableSource> getSources(Classification t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param classification
- * @param rank
- * @param pageSize
- * @param pageIndex
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#listRankSpecificRootNodes(eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<TaxonNode> listRankSpecificRootNodes(Classification classification, Rank rank, Integer pageSize, Integer pageIndex, List<String> propertyPaths) {
- return defaultService.listRankSpecificRootNodes(classification, rank, pageSize, pageIndex, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
- */
- @Override
- public Classification find(UUID uuid) {
- return defaultService.find(uuid);
- }
-
- /**
- * @param id
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(int)
- */
- @Override
- public Classification find(int id) {
- return defaultService.find(id);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<Rights> getRights(Classification t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param technical
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
- */
- @Override
- public int countMarkers(Class<? extends Classification> clazz, Boolean technical) {
- return defaultService.countMarkers(clazz, technical);
- }
-
- /**
- * @param idSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
- */
- @Override
- public List<Classification> findById(Set<Integer> idSet) {
- return defaultService.findById(idSet);
- }
-
- /**
- * @param clazz
- * @param idInSource
- * @param idNamespace
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
- */
- @Override
- public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
- return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
- }
-
- /**
- * @param classification
- * @param rank
- * @param pageSize
- * @param pageIndex
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#pageRankSpecificRootNodes(eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<TaxonNode> pageRankSpecificRootNodes(Classification classification, Rank rank, Integer pageSize, Integer pageIndex, List<String> propertyPaths) {
- return defaultService.pageRankSpecificRootNodes(classification, rank, pageSize, pageIndex, propertyPaths);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#getSession()
- */
- @Override
- public Session getSession() {
- return defaultService.getSession();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<Classification>> getUuidAndTitleCache() {
- return defaultService.getUuidAndTitleCache();
- }
-
- /**
- * @param clazz
- * @param limit
- * @param start
- * @param groups
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Object[]> group(Class<? extends Classification> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
- return defaultService.group(clazz, limit, start, groups, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Classification> findByTitle(Class<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param taxonNode
- * @param baseRank
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadTreeBranch(eu.etaxonomy.cdm.model.taxon.TaxonNode, eu.etaxonomy.cdm.model.name.Rank, java.util.List)
- */
- @Override
- public List<TaxonNode> loadTreeBranch(TaxonNode taxonNode, Rank baseRank, List<String> propertyPaths) {
- return defaultService.loadTreeBranch(taxonNode, baseRank, propertyPaths);
- }
-
- /**
- * @param type
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends Classification> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(type, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param classification
- * @param baseRank
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadTreeBranchToTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.name.Rank, java.util.List)
- */
- @Override
- public List<TaxonNode> loadTreeBranchToTaxon(Taxon taxon, Classification classification, Rank baseRank, List<String> propertyPaths) {
- return defaultService.loadTreeBranchToTaxon(taxon, classification, baseRank, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Pager<Classification> findByTitle(IIdentifiableEntityServiceConfigurator<Classification> configurator) {
- return defaultService.findByTitle(configurator);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
- */
- @Override
- public Integer countByTitle(Class<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
- return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
- */
- @Override
- public Classification load(UUID uuid) {
- return defaultService.load(uuid);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
- */
- @Override
- public Classification load(UUID uuid, List<String> propertyPaths) {
- return defaultService.load(uuid, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Integer countByTitle(IIdentifiableEntityServiceConfigurator<Classification> configurator) {
- return defaultService.countByTitle(configurator);
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public Classification merge(Classification transientObject) {
- return defaultService.merge(transientObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Classification> listByTitle(Class<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends Classification> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param taxonNode
- * @param propertyPaths
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadChildNodesOfTaxonNode(eu.etaxonomy.cdm.model.taxon.TaxonNode, java.util.List)
- */
- @Deprecated
- @Override
- public List<TaxonNode> loadChildNodesOfTaxonNode(TaxonNode taxonNode, List<String> propertyPaths) {
- return defaultService.loadChildNodesOfTaxonNode(taxonNode, propertyPaths);
- }
-
- /**
- * @param classification
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(eu.etaxonomy.cdm.model.taxon.Classification)
- */
- @Override
- public List<UuidAndTitleCache<TaxonNode>> getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(Classification classification, List<UUID> excludeTaxa) {
- return defaultService.getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(classification, excludeTaxa);
- }
-
- /**
- * @param taxon
- * @param taxTree
- * @param propertyPaths
- * @param size
- * @param height
- * @param widthOrDuration
- * @param mimeTypes
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#getAllMediaForChildNodes(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, int, int, int, java.lang.String[])
- */
- @Deprecated
- @Override
- public Map<UUID, List<MediaRepresentation>> getAllMediaForChildNodes(Taxon taxon, Classification taxTree, List<String> propertyPaths, int size, int height, int widthOrDuration, String[] mimeTypes) {
- return defaultService.getAllMediaForChildNodes(taxon, taxTree, propertyPaths, size, height, widthOrDuration, mimeTypes);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID refresh(Classification persistentObject) {
- return defaultService.refresh(persistentObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByReferenceTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Classification> listByReferenceTitle(Class<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param taxonNode
- * @param propertyPaths
- * @param size
- * @param height
- * @param widthOrDuration
- * @param mimeTypes
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#getAllMediaForChildNodes(eu.etaxonomy.cdm.model.taxon.TaxonNode, java.util.List, int, int, int, java.lang.String[])
- */
- @Override
- public Map<UUID, List<MediaRepresentation>> getAllMediaForChildNodes(TaxonNode taxonNode, List<String> propertyPaths, int size, int height, int widthOrDuration, String[] mimeTypes) {
- return defaultService.getAllMediaForChildNodes(taxonNode, propertyPaths, size, height, widthOrDuration, mimeTypes);
- }
-
- /**
- * @param tableName
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
- */
- @Override
- public List<Classification> rows(String tableName, int limit, int start) {
- return defaultService.rows(tableName, limit, start);
- }
-
- /**
- * @param newInstances
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
- */
- @Override
- public Map<UUID, Classification> save(Collection<Classification> newInstances) {
- return null;
- }
-
- /**
- * @param taxonNode
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#removeTaxonNode(eu.etaxonomy.cdm.model.taxon.TaxonNode)
- */
- @Deprecated
- @Override
- public UUID removeTaxonNode(TaxonNode taxonNode) {
- return defaultService.removeTaxonNode(taxonNode);
- }
-
- /**
- * @param taxonNode
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#saveTaxonNode(eu.etaxonomy.cdm.model.taxon.TaxonNode)
- */
- @Deprecated
- @Override
- public UUID saveTaxonNode(TaxonNode taxonNode) {
- return null;
- }
-
- /**
- * @param newInstance
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public Classification save(Classification newInstance) {
- return null;
- }
-
- /**
- * @param taxonNodeCollection
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#saveTaxonNodeAll(java.util.Collection)
- */
- @Deprecated
- @Override
- public Map<UUID, TaxonNode> saveTaxonNodeAll(Collection<TaxonNode> taxonNodeCollection) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID saveOrUpdate(Classification transientObject) {
- return null;
- }
-
- /**
- * @param treeNode
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#removeTreeNode(eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode)
- */
- @Override
- public UUID removeTreeNode(ITaxonTreeNode treeNode) {
- return defaultService.removeTreeNode(treeNode);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Classification> search(Class<? extends Classification> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param treeNode
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#saveTreeNode(eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode)
- */
- @Override
- public UUID saveTreeNode(ITaxonTreeNode treeNode) {
- return null;
- }
-
- /**
- * @param transientObjects
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
- */
- @Override
- public Map<UUID, Classification> saveOrUpdate(Collection<Classification> transientObjects) {
- return null;
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#getAllNodes()
- */
- @Override
- public List<TaxonNode> getAllNodes() {
- return defaultService.getAllNodes();
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID update(Classification transientObject) {
- return defaultService.update(transientObject);
- }
-
- /**
- * @param example
- * @param includeProperties
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(eu.etaxonomy.cdm.model.common.ICdmBase, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Classification> list(Classification example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param matchStrategy
- * @param mergeStrategy
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
- */
- @Override
- public int deduplicate(Class<? extends Classification> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
- return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param matchMode
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
- */
- @Override
- public Pager<Classification> findTitleCache(Class<? extends Classification> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
- return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#listChildNodesOfTaxon(java.util.UUID, java.util.UUID, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<TaxonNode> listChildNodesOfTaxon(UUID taxonUuid, UUID classificationUuid, Integer pageSize,
- Integer pageIndex, List<String> propertyPaths) {
- return defaultService.listChildNodesOfTaxon(taxonUuid, classificationUuid, pageSize, pageIndex, propertyPaths);
- }
-
- @Override
- public DeleteResult isDeletable(Classification object,
- DeleteConfiguratorBase config) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Classification findWithoutFlush(UUID uuid) {
- return defaultService.findWithoutFlush(uuid);
- }
-
-
- @Override
- public <S extends Classification> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
- return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
- }
-
- @Override
- public UpdateResult createHierarchyInClassification(Classification arg1, CreateHierarchyForClassificationConfigurator arg2) {
- return defaultService.createHierarchyInClassification(arg1, arg2);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
- */
- @Override
- public DeleteResult delete(UUID arg0) {
- return defaultService.delete(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
- */
- @Override
- public DeleteResult delete(Collection<UUID> arg0) {
- return defaultService.delete(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
- */
- @Override
- public List<Classification> merge(List<Classification> arg0) {
- return defaultService.merge(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
- */
- @Override
- public List<MergeResult<Classification>> merge(List<Classification> arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
- */
- @Override
- public MergeResult<Classification> merge(Classification arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#loadWithUpdate(java.util.UUID)
- */
- @Override
- public Classification loadWithUpdate(UUID arg0) {
- return defaultService.loadWithUpdate(arg0);
- }
-
-
- @Override
- public List<UuidAndTitleCache<TaxonNode>> getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(
- UUID classificationUuid, List<UUID> excludeTaxa) {
-
- return defaultService.getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(classificationUuid, excludeTaxa);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<Classification> load(List<UUID> arg0, List<String> arg1) {
- return defaultService.load(arg0, arg1);
- }
-
-
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2014 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.view.dataimport.transientServices;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import org.hibernate.LockOptions;
-import org.hibernate.Session;
-import org.hibernate.criterion.Criterion;
-import org.hibernate.envers.query.criteria.AuditCriterion;
-
-import eu.etaxonomy.cdm.api.service.DeleteResult;
-import eu.etaxonomy.cdm.api.service.ICollectionService;
-import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
-import eu.etaxonomy.cdm.api.service.pager.Pager;
-import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
-import eu.etaxonomy.cdm.model.common.Annotation;
-import eu.etaxonomy.cdm.model.common.DefinedTerm;
-import eu.etaxonomy.cdm.model.common.ISourceable;
-import eu.etaxonomy.cdm.model.common.IdentifiableSource;
-import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.media.Rights;
-import eu.etaxonomy.cdm.model.occurrence.Collection;
-import eu.etaxonomy.cdm.model.view.AuditEvent;
-import eu.etaxonomy.cdm.model.view.AuditEventRecord;
-import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
-import eu.etaxonomy.cdm.persistence.dto.MergeResult;
-import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
-import eu.etaxonomy.cdm.persistence.query.Grouping;
-import eu.etaxonomy.cdm.persistence.query.MatchMode;
-import eu.etaxonomy.cdm.persistence.query.OrderHint;
-import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
-import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
-import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
-
-/**
- * @author pplitzner
- * @date Sep 8, 2014
- *
- */
-public class TransientCollectionService implements ICollectionService {
-
- private final ICollectionService defaultService;
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public Collection save(Collection newInstance) {
- return null;
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
- */
- @Override
- public Map<UUID, Collection> save(java.util.Collection<Collection> newInstances) {
- return null;
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID saveOrUpdate(Collection transientObject) {
- return null;
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
- */
- @Override
- public Map<UUID, Collection> saveOrUpdate(java.util.Collection<Collection> transientObjects) {
- return null;
- }
-
- /**
- * @param defaultService
- */
- public TransientCollectionService(ICollectionService defaultService) {
- this.defaultService = defaultService;
- }
-
- /**
- * @param clazz
- * @param query
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ICollectionService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Collection> search(Class<? extends Collection> clazz, String query, Integer pageSize,
- Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.search(clazz, query, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param annotatedObj
- * @param status
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getAnnotations(eu.etaxonomy.cdm.model.common.AnnotatableEntity, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Annotation> getAnnotations(Collection annotatedObj, MarkerType status, Integer pageSize,
- Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(eu.etaxonomy.cdm.model.common.VersionableEntity, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<Collection>> pageAuditEvents(Collection t, Integer pageSize, Integer pageNumber,
- AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IService#clear()
- */
- @Override
- public void clear() {
- defaultService.clear();
- }
-
- /**
- * @param t
- * @param lockOptions
- * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockOptions)
- */
- @Override
- public void lock(Collection t, LockOptions lockOptions) {
- defaultService.lock(t, lockOptions);
- }
-
- /**
- * @param t
- * @param lockOptions
- * @param propertyPaths
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockOptions, java.util.List)
- */
- @Override
- public void refresh(Collection t, LockOptions lockOptions, List<String> propertyPaths) {
- defaultService.refresh(t, lockOptions, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
- */
- @Override
- public void updateTitleCache() {
- defaultService.updateTitleCache();
- }
-
- /**
- * @param code
- * @return
- * @see eu.etaxonomy.cdm.api.service.ICollectionService#searchByCode(java.lang.String)
- */
- @Override
- public List<Collection> searchByCode(String code) {
- return defaultService.searchByCode(code);
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<Collection> getNextAuditEvent(Collection t) {
- return defaultService.getNextAuditEvent(t);
- }
-
- /**
- * @param clazz
- * @param stepSize
- * @param cacheStrategy
- * @param monitor
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Class, java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy, eu.etaxonomy.cdm.common.monitor.IProgressMonitor)
- */
- @Override
- public void updateTitleCache(Class<? extends Collection> clazz, Integer stepSize,
- IIdentifiableEntityCacheStrategy<Collection> cacheStrategy, IProgressMonitor monitor) {
- defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
- }
-
- /**
- * @param annotatableEntity
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getMarkers(eu.etaxonomy.cdm.model.common.AnnotatableEntity, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Marker> getMarkers(Collection annotatableEntity, Boolean technical, Integer pageSize,
- Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<Collection> getPreviousAuditEvent(Collection t) {
- return defaultService.getPreviousAuditEvent(t);
- }
-
- /**
- * @param clazz
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
- */
- @Override
- public int count(Class<? extends Collection> clazz) {
- return defaultService.count(clazz);
- }
-
- /**
- * @param lsid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
- */
- @Override
- public Collection find(LSID lsid) {
- return defaultService.find(lsid);
- }
-
- /**
- * @param clazz
- * @param from
- * @param to
- * @param criteria
- * @param pageSize
- * @param pageValue
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(java.lang.Class, eu.etaxonomy.cdm.model.view.AuditEvent, eu.etaxonomy.cdm.model.view.AuditEvent, java.util.List, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<Collection>> pageAuditEvents(Class<? extends Collection> clazz, AuditEvent from,
- AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort,
- List<String> propertyPaths) {
- return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DeleteResult delete(Collection persistentObject) {
- return defaultService.delete(persistentObject);
- }
-
- /**
- * @param clazz
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<Object[]> groupMarkers(Class<? extends Collection> clazz, Boolean technical, Integer pageSize,
- Integer pageNumber, List<String> propertyPaths) {
- return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param x
- * @param y
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
- */
- @Override
- public Collection replace(Collection x, Collection y) {
- return defaultService.replace(x, y);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
- */
- @Override
- public boolean exists(UUID uuid) {
- return defaultService.exists(uuid);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<IdentifiableSource> getSources(Collection t, Integer pageSize, Integer pageNumber,
- List<String> propertyPaths) {
- return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuidSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
- */
- @Override
- public List<Collection> find(Set<UUID> uuidSet) {
- return defaultService.find(uuidSet);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
- */
- @Override
- public Collection find(UUID uuid) {
- return defaultService.find(uuid);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<Rights> getRights(Collection t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param object
- * @param config
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#isDeletable(eu.etaxonomy.cdm.model.common.VersionableEntity, eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase)
- */
- @Override
- public DeleteResult isDeletable(Collection object, DeleteConfiguratorBase config) {
- return defaultService.isDeletable(object, config);
- }
-
- /**
- * @param clazz
- * @param technical
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
- */
- @Override
- public int countMarkers(Class<? extends Collection> clazz, Boolean technical) {
- return defaultService.countMarkers(clazz, technical);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#findWithoutFlush(java.util.UUID)
- */
- @Override
- public Collection findWithoutFlush(UUID uuid) {
- return defaultService.findWithoutFlush(uuid);
- }
-
- /**
- * @param clazz
- * @param idInSource
- * @param idNamespace
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
- */
- @Override
- public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
- return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<Collection>> getUuidAndTitleCache() {
- return defaultService.getUuidAndTitleCache();
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Collection> findByTitle(Class<? extends Collection> clazz, String queryString, MatchMode matchmode,
- List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,
- List<String> propertyPaths) {
- return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints,
- propertyPaths);
- }
-
- /**
- * @param id
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(int)
- */
- @Override
- public Collection find(int id) {
- return defaultService.find(id);
- }
-
- /**
- * @param idSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
- */
- @Override
- public List<Collection> findById(Set<Integer> idSet) {
- return defaultService.findById(idSet);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#getSession()
- */
- @Override
- public Session getSession() {
- return defaultService.getSession();
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Pager<Collection> findByTitle(IIdentifiableEntityServiceConfigurator<Collection> configurator) {
- return defaultService.findByTitle(configurator);
- }
-
- /**
- * @param clazz
- * @param limit
- * @param start
- * @param groups
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Object[]> group(Class<? extends Collection> clazz, Integer limit, Integer start, List<Grouping> groups,
- List<String> propertyPaths) {
- return defaultService.group(clazz, limit, start, groups, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
- */
- @Override
- public Integer countByTitle(Class<? extends Collection> clazz, String queryString, MatchMode matchmode,
- List<Criterion> criteria) {
- return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Integer countByTitle(IIdentifiableEntityServiceConfigurator<Collection> configurator) {
- return defaultService.countByTitle(configurator);
- }
-
- /**
- * @param type
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends Collection> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints,
- List<String> propertyPaths) {
- return defaultService.list(type, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Collection> listByTitle(Class<? extends Collection> clazz, String queryString, MatchMode matchmode,
- List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,
- List<String> propertyPaths) {
- return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints,
- propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
- */
- @Override
- public Collection load(UUID uuid) {
- return defaultService.load(uuid);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByReferenceTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Collection> listByReferenceTitle(Class<? extends Collection> clazz, String queryString,
- MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber,
- List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber,
- orderHints, propertyPaths);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
- */
- @Override
- public Collection load(UUID uuid, List<String> propertyPaths) {
- return defaultService.load(uuid, propertyPaths);
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public Collection merge(Collection transientObject) {
- return defaultService.merge(transientObject);
- }
-
- /**
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends Collection> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber,
- List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID refresh(Collection persistentObject) {
- return defaultService.refresh(persistentObject);
- }
-
- /**
- * @param tableName
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
- */
- @Override
- public List<Collection> rows(String tableName, int limit, int start) {
- return defaultService.rows(tableName, limit, start);
- }
-
- /**
- * @param clazz
- * @param matchStrategy
- * @param mergeStrategy
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
- */
- @Override
- public int deduplicate(Class<? extends Collection> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
- return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param matchMode
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
- */
- @Override
- public Pager<Collection> findTitleCache(Class<? extends Collection> clazz, String queryString, Integer pageSize,
- Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
- return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID update(Collection transientObject) {
- return defaultService.update(transientObject);
- }
-
- /**
- * @param example
- * @param includeProperties
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(eu.etaxonomy.cdm.model.common.ICdmBase, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Collection> list(Collection example, Set<String> includeProperties, Integer limit, Integer start,
- List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
- }
-
- @Override
- public <S extends Collection> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
- return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
- }
-
-
- @Override
- public DeleteResult delete(UUID arg0) {
- return defaultService.delete(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
- */
- @Override
- public DeleteResult delete(java.util.Collection<UUID> arg0) {
- return defaultService.delete(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
- */
- @Override
- public List<Collection> merge(List<Collection> arg0) {
- return defaultService.merge(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
- */
- @Override
- public List<MergeResult<Collection>> merge(List<Collection> arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
- */
- @Override
- public MergeResult<Collection> merge(Collection arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#loadWithUpdate(java.util.UUID)
- */
- @Override
- public Collection loadWithUpdate(UUID arg0) {
- return defaultService.loadWithUpdate(arg0);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<Collection> load(List<UUID> arg0, List<String> arg1) {
- return defaultService.load(arg0, arg1);
- }
-
-
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2013 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.view.dataimport.transientServices;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import org.hibernate.LockOptions;
-import org.hibernate.Session;
-import org.hibernate.criterion.Criterion;
-import org.hibernate.envers.query.criteria.AuditCriterion;
-
-import eu.etaxonomy.cdm.api.service.DeleteResult;
-import eu.etaxonomy.cdm.api.service.DistributionTree;
-import eu.etaxonomy.cdm.api.service.IDescriptionService;
-import eu.etaxonomy.cdm.api.service.UpdateResult;
-import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
-import eu.etaxonomy.cdm.api.service.pager.Pager;
-import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
-import eu.etaxonomy.cdm.model.common.Annotation;
-import eu.etaxonomy.cdm.model.common.DefinedTerm;
-import eu.etaxonomy.cdm.model.common.ISourceable;
-import eu.etaxonomy.cdm.model.common.IdentifiableSource;
-import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.common.TermVocabulary;
-import eu.etaxonomy.cdm.model.description.DescriptionBase;
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
-import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
-import eu.etaxonomy.cdm.model.description.TaxonDescription;
-import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
-import eu.etaxonomy.cdm.model.location.NamedArea;
-import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
-import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.media.Rights;
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
-import eu.etaxonomy.cdm.model.view.AuditEvent;
-import eu.etaxonomy.cdm.model.view.AuditEventRecord;
-import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
-import eu.etaxonomy.cdm.persistence.dto.MergeResult;
-import eu.etaxonomy.cdm.persistence.dto.TermDto;
-import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
-import eu.etaxonomy.cdm.persistence.query.Grouping;
-import eu.etaxonomy.cdm.persistence.query.MatchMode;
-import eu.etaxonomy.cdm.persistence.query.OrderHint;
-import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
-import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
-import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
-
-/**
- * @author pplitzner
- * @date 27.09.2013
- *
- */
-public class TransientDescriptionService implements IDescriptionService {
-
- private final IDescriptionService defaultService;
-
- /**
- * @param defaultDescriptionService
- */
- public TransientDescriptionService(IDescriptionService defaultDescriptionService) {
- this.defaultService = defaultDescriptionService;
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(eu.etaxonomy.cdm.model.common.VersionableEntity, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<DescriptionBase>> pageAuditEvents(DescriptionBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
- }
-
- /**
- * @param annotatedObj
- * @param status
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getAnnotations(eu.etaxonomy.cdm.model.common.AnnotatableEntity, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Annotation> getAnnotations(DescriptionBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IService#clear()
- */
- @Override
- public void clear() {
- defaultService.clear();
- }
-
- /**
- * @param t
- * @param lockMode
- * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
- */
- @Override
- public void lock(DescriptionBase t, LockOptions lockOptions) {
- defaultService.lock(t, lockOptions);
- }
-
- /**
- * @param t
- * @param lockMode
- * @param propertyPaths
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
- */
- @Override
- public void refresh(DescriptionBase t, LockOptions lockOptions, List<String> propertyPaths) {
- defaultService.refresh(t, lockOptions, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
- */
- @Override
- public void updateTitleCache() {
- defaultService.updateTitleCache();
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<DescriptionBase> getNextAuditEvent(DescriptionBase t) {
- return defaultService.getNextAuditEvent(t);
- }
-
- /**
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDefaultFeatureVocabulary()
- */
- @Deprecated
- @Override
- public TermVocabulary<Feature> getDefaultFeatureVocabulary() {
- return defaultService.getDefaultFeatureVocabulary();
- }
-
- /**
- * @param annotatableEntity
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getMarkers(eu.etaxonomy.cdm.model.common.AnnotatableEntity, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Marker> getMarkers(DescriptionBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getFeatureVocabulary(java.util.UUID)
- */
- @Deprecated
- @Override
- public TermVocabulary<Feature> getFeatureVocabulary(UUID uuid) {
- return defaultService.getFeatureVocabulary(uuid);
- }
-
- /**
- * @param clazz
- * @param stepSize
- * @param cacheStrategy
- * @param monitor
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Class, java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy, eu.etaxonomy.cdm.common.monitor.IProgressMonitor)
- */
- @Override
- public void updateTitleCache(Class<? extends DescriptionBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<DescriptionBase> cacheStrategy, IProgressMonitor monitor) {
- defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<DescriptionBase> getPreviousAuditEvent(DescriptionBase t) {
- return defaultService.getPreviousAuditEvent(t);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDescriptionElementByUuid(java.util.UUID)
- */
- @Override
- public DescriptionElementBase getDescriptionElementByUuid(UUID uuid) {
- return defaultService.getDescriptionElementByUuid(uuid);
- }
-
- /**
- * @param clazz
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
- */
- @Override
- public int count(Class<? extends DescriptionBase> clazz) {
- return defaultService.count(clazz);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#loadDescriptionElement(java.util.UUID, java.util.List)
- */
- @Override
- public DescriptionElementBase loadDescriptionElement(UUID uuid, List<String> propertyPaths) {
- return defaultService.loadDescriptionElement(uuid, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param from
- * @param to
- * @param criteria
- * @param pageSize
- * @param pageValue
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(java.lang.Class, eu.etaxonomy.cdm.model.view.AuditEvent, eu.etaxonomy.cdm.model.view.AuditEvent, java.util.List, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<DescriptionBase>> pageAuditEvents(Class<? extends DescriptionBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
- }
-
- /**
- * @param lsid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
- */
- @Override
- public DescriptionBase find(LSID lsid) {
- return defaultService.find(lsid);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DeleteResult delete(DescriptionBase persistentObject) {
- return defaultService.delete(persistentObject);
- }
-
- /**
- * @param clazz
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<Object[]> groupMarkers(Class<? extends DescriptionBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
- */
- @Override
- public boolean exists(UUID uuid) {
- return defaultService.exists(uuid);
- }
-
- /**
- * @param x
- * @param y
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
- */
- @Override
- public DescriptionBase replace(DescriptionBase x, DescriptionBase y) {
- return defaultService.replace(x, y);
- }
-
- /**
- * @param descriptionElement
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#saveDescriptionElement(eu.etaxonomy.cdm.model.description.DescriptionElementBase)
- */
- @Override
- public UUID saveDescriptionElement(DescriptionElementBase descriptionElement) {
- return null;
- }
-
- /**
- * @param uuidSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
- */
- @Override
- public List<DescriptionBase> find(Set<UUID> uuidSet) {
- return defaultService.find(uuidSet);
- }
-
- /**
- * @param descriptionElements
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#saveDescriptionElement(java.util.Collection)
- */
- @Override
- public Map<UUID, DescriptionElementBase> saveDescriptionElement(Collection<DescriptionElementBase> descriptionElements) {
- return null;
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<IdentifiableSource> getSources(DescriptionBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param descriptionElement
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#deleteDescriptionElement(eu.etaxonomy.cdm.model.description.DescriptionElementBase)
- */
- @Override
- public UUID deleteDescriptionElement(DescriptionElementBase descriptionElement) {
- return defaultService.deleteDescriptionElement(descriptionElement);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
- */
- @Override
- public DescriptionBase find(UUID uuid) {
- return defaultService.find(uuid);
- }
-
- /**
- * @param type
- * @param hasMedia
- * @param hasText
- * @param feature
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#page(java.lang.Class, java.lang.Boolean, java.lang.Boolean, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<DescriptionBase> page(Class<? extends DescriptionBase> type, Boolean hasMedia, Boolean hasText, Set<Feature> feature, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.page(type, hasMedia, hasText, feature, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param id
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(int)
- */
- @Override
- public DescriptionBase find(int id) {
- return defaultService.find(id);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<Rights> getRights(DescriptionBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param technical
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
- */
- @Override
- public int countMarkers(Class<? extends DescriptionBase> clazz, Boolean technical) {
- return defaultService.countMarkers(clazz, technical);
- }
-
- /**
- * @param idSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
- */
- @Override
- public List<DescriptionBase> findById(Set<Integer> idSet) {
- return defaultService.findById(idSet);
- }
-
- /**
- * @param clazz
- * @param idInSource
- * @param idNamespace
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
- */
- @Override
- public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
- return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#getSession()
- */
- @Override
- public Session getSession() {
- return defaultService.getSession();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<DescriptionBase>> getUuidAndTitleCache() {
- return defaultService.getUuidAndTitleCache();
- }
-
- /**
- * @param clazz
- * @param limit
- * @param start
- * @param groups
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Object[]> group(Class<? extends DescriptionBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
- return defaultService.group(clazz, limit, start, groups, propertyPaths);
- }
-
- /**
- * @param type
- * @param hasImages
- * @param hasText
- * @param feature
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#count(java.lang.Class, java.lang.Boolean, java.lang.Boolean, java.util.Set)
- */
- @Override
- public int count(Class<? extends DescriptionBase> type, Boolean hasImages, Boolean hasText, Set<Feature> feature) {
- return defaultService.count(type, hasImages, hasText, feature);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<DescriptionBase> findByTitle(Class<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param type
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends DescriptionBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(type, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param description
- * @param features
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDescriptionElements(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Deprecated
- @Override
- public <T extends DescriptionElementBase> Pager<T> getDescriptionElements(DescriptionBase description, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getDescriptionElements(description, features, type, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Pager<DescriptionBase> findByTitle(IIdentifiableEntityServiceConfigurator<DescriptionBase> configurator) {
- return defaultService.findByTitle(configurator);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
- */
- @Override
- public Integer countByTitle(Class<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
- return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
- */
- @Override
- public DescriptionBase load(UUID uuid) {
- return defaultService.load(uuid);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
- */
- @Override
- public DescriptionBase load(UUID uuid, List<String> propertyPaths) {
- return defaultService.load(uuid, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Integer countByTitle(IIdentifiableEntityServiceConfigurator<DescriptionBase> configurator) {
- return defaultService.countByTitle(configurator);
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DescriptionBase merge(DescriptionBase transientObject) {
- return defaultService.merge(transientObject);
- }
-
- /**
- * @param description
- * @param descriptionType
- * @param features
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageDescriptionElements(eu.etaxonomy.cdm.model.description.DescriptionBase, java.lang.Class, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public <T extends DescriptionElementBase> Pager<T> pageDescriptionElements(DescriptionBase description, Class<? extends DescriptionBase> descriptionType, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.pageDescriptionElements(description, descriptionType, features, type, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<DescriptionBase> listByTitle(Class<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends DescriptionBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID refresh(DescriptionBase persistentObject) {
- return defaultService.refresh(persistentObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByReferenceTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<DescriptionBase> listByReferenceTitle(Class<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param description
- * @param features
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listDescriptionElements(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Deprecated
- @Override
- public <T extends DescriptionElementBase> List<T> listDescriptionElements(DescriptionBase description, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.listDescriptionElements(description, features, type, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param tableName
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
- */
- @Override
- public List<DescriptionBase> rows(String tableName, int limit, int start) {
- return defaultService.rows(tableName, limit, start);
- }
-
- /**
- * @param newInstances
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
- */
- @Override
- public Map<UUID, DescriptionBase> save(Collection<DescriptionBase> newInstances) {
- return null;
- }
-
- /**
- * @param newInstance
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DescriptionBase save(DescriptionBase newInstance) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID saveOrUpdate(DescriptionBase transientObject) {
- return null;
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<DescriptionBase> search(Class<? extends DescriptionBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param transientObjects
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
- */
- @Override
- public Map<UUID, DescriptionBase> saveOrUpdate(Collection<DescriptionBase> transientObjects) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID update(DescriptionBase transientObject) {
- return defaultService.update(transientObject);
- }
-
- /**
- * @param description
- * @param descriptionType
- * @param features
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listDescriptionElements(eu.etaxonomy.cdm.model.description.DescriptionBase, java.lang.Class, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public <T extends DescriptionElementBase> List<T> listDescriptionElements(DescriptionBase description, Class<? extends DescriptionBase> descriptionType, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.listDescriptionElements(description, descriptionType, features, type, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param example
- * @param includeProperties
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(eu.etaxonomy.cdm.model.common.ICdmBase, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<DescriptionBase> list(DescriptionBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param matchStrategy
- * @param mergeStrategy
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
- */
- @Override
- public int deduplicate(Class<? extends DescriptionBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
- return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
- }
-
- /**
- * @param annotatedObj
- * @param status
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDescriptionElementAnnotations(eu.etaxonomy.cdm.model.description.DescriptionElementBase, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Annotation> getDescriptionElementAnnotations(DescriptionElementBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getDescriptionElementAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param matchMode
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
- */
- @Override
- public Pager<DescriptionBase> findTitleCache(Class<? extends DescriptionBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
- return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
- }
-
- /**
- * @param taxon
- * @param scopes
- * @param geographicalScope
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageTaxonDescriptions(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<TaxonDescription> pageTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.pageTaxonDescriptions(taxon, scopes, geographicalScope, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param scopes
- * @param geographicalScope
- * @param markerTypes
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageTaxonDescriptions(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.util.Set, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<TaxonDescription> pageTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Set<MarkerType> markerTypes, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.pageTaxonDescriptions(taxon, scopes, geographicalScope, markerTypes, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param scopes
- * @param geographicalScope
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listTaxonDescriptions(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<TaxonDescription> listTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.listTaxonDescriptions(taxon, scopes, geographicalScope, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param scopes
- * @param geographicalScope
- * @param markerTypes
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listTaxonDescriptions(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.util.Set, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<TaxonDescription> listTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Set<MarkerType> markerTypes, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.listTaxonDescriptions(taxon, scopes, geographicalScope, markerTypes, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param taxonUuid
- * @param limitToGalleries
- * @param markerTypes
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listTaxonDescriptionMedia(java.util.UUID, boolean, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<Media> listTaxonDescriptionMedia(UUID taxonUuid, boolean limitToGalleries, Set<MarkerType> markerTypes, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.listTaxonDescriptionMedia(taxonUuid, limitToGalleries, markerTypes, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param taxonUuid
- * @param limitToGalleries
- * @param markerTypes
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#countTaxonDescriptionMedia(java.util.UUID, boolean, java.util.Set)
- */
- @Override
- public int countTaxonDescriptionMedia(UUID taxonUuid, boolean limitToGalleries, Set<MarkerType> markerTypes) {
- return defaultService.countTaxonDescriptionMedia(taxonUuid, limitToGalleries, markerTypes);
- }
-
- /**
- * @param name
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getTaxonNameDescriptions(eu.etaxonomy.cdm.model.name.TaxonNameBase, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<TaxonNameDescription> getTaxonNameDescriptions(TaxonNameBase name, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getTaxonNameDescriptions(name, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param namedAreas
- * @param presence
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#searchDescriptionByDistribution(java.util.Set, eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<TaxonDescription> searchDescriptionByDistribution(Set<NamedArea> namedAreas, PresenceAbsenceTerm presence, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.searchDescriptionByDistribution(namedAreas, presence, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#searchElements(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<DescriptionElementBase> searchElements(Class<? extends DescriptionElementBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.searchElements(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param descriptionElement
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getMedia(eu.etaxonomy.cdm.model.description.DescriptionElementBase, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<Media> getMedia(DescriptionElementBase descriptionElement, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getMedia(descriptionElement, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param features
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDescriptionElementsForTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Deprecated
- @Override
- public <T extends DescriptionElementBase> List<T> getDescriptionElementsForTaxon(Taxon taxon, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param features
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listDescriptionElementsForTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public <T extends DescriptionElementBase> List<T> listDescriptionElementsForTaxon(Taxon taxon, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.listDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param features
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageDescriptionElementsForTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public <T extends DescriptionElementBase> Pager<T> pageDescriptionElementsForTaxon(Taxon taxon, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.pageDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param featureTree
- * @param description
- * @param preferredLanguages
- * @param separator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#generateNaturalLanguageDescription(eu.etaxonomy.cdm.model.description.FeatureTree, eu.etaxonomy.cdm.model.description.TaxonDescription, java.util.List, java.lang.String)
- */
- @Override
- public String generateNaturalLanguageDescription(FeatureTree featureTree, TaxonDescription description, List<Language> preferredLanguages, String separator) {
- return defaultService.generateNaturalLanguageDescription(featureTree, description, preferredLanguages, separator);
- }
-
- /**
- * @param description
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#hasStructuredData(eu.etaxonomy.cdm.model.description.DescriptionBase)
- */
- @Deprecated
- @Override
- public boolean hasStructuredData(DescriptionBase<?> description) {
- return defaultService.hasStructuredData(description);
- }
-
- /**
- * @param descriptionElements
- * @param targetDescription
- * @param isPaste
- * @return
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#moveDescriptionElementsToDescription(java.util.Collection, eu.etaxonomy.cdm.model.description.DescriptionBase, boolean)
- */
- @Override
- public UpdateResult moveDescriptionElementsToDescription(Collection<DescriptionElementBase> descriptionElements, DescriptionBase targetDescription, boolean isPaste) {
- return defaultService.moveDescriptionElementsToDescription(descriptionElements, targetDescription, isPaste);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getOrderedDistributions(java.util.Set, boolean, boolean, java.util.Set, java.util.Set, java.util.List)
- */
- @Override
- public DistributionTree getOrderedDistributions(Set<TaxonDescription> taxonDescriptions, boolean subAreaPreference, boolean statusOrderPreference, Set<MarkerType> hideMarkedAreas, Set<NamedAreaLevel> omitLevels, List<String> propertyPaths) {
- return defaultService.getOrderedDistributions(taxonDescriptions, subAreaPreference, statusOrderPreference, hideMarkedAreas, omitLevels, propertyPaths);
- }
-
- @Override
- public DeleteResult isDeletable(DescriptionBase object,
- DeleteConfiguratorBase config) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public DescriptionBase findWithoutFlush(UUID uuid) {
- return defaultService.findWithoutFlush(uuid);
- }
-
- @Override
- public <S extends DescriptionBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
- return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
- }
-
- @Override
- public DeleteResult deleteDescription(DescriptionBase description) {
- return defaultService.deleteDescription(description);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageNamedAreasInUse(boolean, java.lang.Integer, java.lang.Integer)
- */
- @Override
- public Pager<TermDto> pageNamedAreasInUse(boolean includeAllParents, Integer pageSize, Integer pageNumber) {
- return defaultService.pageNamedAreasInUse(includeAllParents, pageSize, pageNumber);
- }
-
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
- */
- @Override
- public DeleteResult delete(UUID uuid) {
- return defaultService.deleteDescription(uuid);
- }
-
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#deleteDescription(java.util.UUID)
- */
- @Override
- public DeleteResult deleteDescription(UUID uuid) {
- return defaultService.delete(uuid);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#deleteDescriptionElement(java.util.UUID)
- */
- @Override
- public UUID deleteDescriptionElement(UUID uuid) {
- return defaultService.deleteDescriptionElement(uuid);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#moveTaxonDescriptions(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Taxon)
- */
- @Override
- public UpdateResult moveTaxonDescriptions(Taxon sourceTaxon, Taxon targetTaxon) {
- return defaultService.moveTaxonDescriptions(sourceTaxon, targetTaxon);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#moveTaxonDescriptions(java.util.UUID, java.util.UUID)
- */
- @Override
- public UpdateResult moveTaxonDescriptions(UUID sourceTaxonUuid, UUID targetTaxonUuid) {
- return defaultService.moveTaxonDescriptions(sourceTaxonUuid, targetTaxonUuid);
-
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
- */
- @Override
- public DeleteResult delete(Collection<UUID> arg0) {
- return defaultService.delete(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
- */
- @Override
- public List<DescriptionBase> merge(List<DescriptionBase> arg0) {
- return defaultService.merge(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#moveDescriptionElementsToDescription(java.util.Set, java.util.UUID, boolean)
- */
- @Override
- public UpdateResult moveDescriptionElementsToDescription(Set<UUID> arg0, UUID arg1, boolean arg2) {
- return defaultService.moveDescriptionElementsToDescription(arg0, arg1, arg2);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#moveDescriptionElementsToDescription(java.util.Set, java.util.UUID, java.lang.String, boolean)
- */
- @Override
- public UpdateResult moveDescriptionElementsToDescription(Set<UUID> arg0, UUID arg1, String arg2, boolean arg3) {
- return defaultService.moveDescriptionElementsToDescription(arg0, arg1, arg2, arg3);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
- */
- @Override
- public List<MergeResult<DescriptionBase>> merge(List<DescriptionBase> arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
-
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
- */
- @Override
- public MergeResult<DescriptionBase> merge(DescriptionBase arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#loadWithUpdate(java.util.UUID)
- */
- @Override
- public DescriptionBase loadWithUpdate(UUID arg0) {
- return defaultService.loadWithUpdate(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#moveTaxonDescription(java.util.UUID, java.util.UUID)
- */
- @Override
- public UpdateResult moveTaxonDescription(UUID arg0, UUID arg1) {
-
- return defaultService.moveTaxonDescriptions(arg0, arg1);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<DescriptionBase> load(List<UUID> arg0, List<String> arg1) {
- return defaultService.load(arg0, arg1);
- }
-
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2013 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.view.dataimport.transientServices;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.queryparser.classic.ParseException;
-import org.hibernate.LockOptions;
-import org.hibernate.Session;
-import org.hibernate.criterion.Criterion;
-import org.hibernate.envers.query.criteria.AuditCriterion;
-
-import eu.etaxonomy.cdm.api.service.DeleteResult;
-import eu.etaxonomy.cdm.api.service.INameService;
-import eu.etaxonomy.cdm.api.service.UpdateResult;
-import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator;
-import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
-import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
-import eu.etaxonomy.cdm.api.service.pager.Pager;
-import eu.etaxonomy.cdm.api.service.search.DocumentSearchResult;
-import eu.etaxonomy.cdm.api.service.search.SearchResult;
-import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
-import eu.etaxonomy.cdm.model.common.Annotation;
-import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.common.DefinedTerm;
-import eu.etaxonomy.cdm.model.common.ISourceable;
-import eu.etaxonomy.cdm.model.common.IdentifiableSource;
-import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;
-import eu.etaxonomy.cdm.model.common.RelationshipBase;
-import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction;
-import eu.etaxonomy.cdm.model.media.Rights;
-import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
-import eu.etaxonomy.cdm.model.name.HybridRelationship;
-import eu.etaxonomy.cdm.model.name.HybridRelationshipType;
-import eu.etaxonomy.cdm.model.name.NameRelationship;
-import eu.etaxonomy.cdm.model.name.NameRelationshipType;
-import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
-import eu.etaxonomy.cdm.model.name.NonViralName;
-import eu.etaxonomy.cdm.model.name.Rank;
-import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
-import eu.etaxonomy.cdm.model.view.AuditEvent;
-import eu.etaxonomy.cdm.model.view.AuditEventRecord;
-import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
-import eu.etaxonomy.cdm.persistence.dto.MergeResult;
-import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
-import eu.etaxonomy.cdm.persistence.query.Grouping;
-import eu.etaxonomy.cdm.persistence.query.MatchMode;
-import eu.etaxonomy.cdm.persistence.query.OrderHint;
-import eu.etaxonomy.cdm.strategy.cache.TaggedText;
-import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
-import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
-import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
-
-/**
- * @author pplitzner
- * @date 27.09.2013
- *
- */
-public class TransientNameService implements INameService {
-
- private final INameService defaultService;
-
- /**
- *
- */
- public TransientNameService(INameService defaultNameService) {
- this.defaultService = defaultNameService;
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(eu.etaxonomy.cdm.model.common.VersionableEntity, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<TaxonNameBase>> pageAuditEvents(TaxonNameBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
- }
-
- /**
- * @param annotatedObj
- * @param status
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getAnnotations(eu.etaxonomy.cdm.model.common.AnnotatableEntity, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Annotation> getAnnotations(TaxonNameBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IService#clear()
- */
- @Override
- public void clear() {
- defaultService.clear();
- }
-
- /**
- * @param t
- * @param lockMode
- * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
- */
- @Override
- public void lock(TaxonNameBase t, LockOptions lockOptions) {
- defaultService.lock(t, lockOptions);
- }
-
- /**
- * @param t
- * @param lockMode
- * @param propertyPaths
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
- */
- @Override
- public void refresh(TaxonNameBase t, LockOptions lockOptions, List<String> propertyPaths) {
- defaultService.refresh(t, lockOptions, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
- */
- @Override
- public void updateTitleCache() {
- defaultService.updateTitleCache();
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<TaxonNameBase> getNextAuditEvent(TaxonNameBase t) {
- return defaultService.getNextAuditEvent(t);
- }
-
- /**
- * @param annotatableEntity
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getMarkers(eu.etaxonomy.cdm.model.common.AnnotatableEntity, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Marker> getMarkers(TaxonNameBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param stepSize
- * @param cacheStrategy
- * @param monitor
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Class, java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy, eu.etaxonomy.cdm.common.monitor.IProgressMonitor)
- */
- @Override
- public void updateTitleCache(Class<? extends TaxonNameBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<TaxonNameBase> cacheStrategy, IProgressMonitor monitor) {
- defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<TaxonNameBase> getPreviousAuditEvent(TaxonNameBase t) {
- return defaultService.getPreviousAuditEvent(t);
- }
-
- /**
- * @param clazz
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
- */
- @Override
- public int count(Class<? extends TaxonNameBase> clazz) {
- return defaultService.count(clazz);
- }
-
- /**
- * @param name
- * @param config
- * @return
- * @throws ReferencedObjectUndeletableException
- * @see eu.etaxonomy.cdm.api.service.INameService#delete(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator)
- */
- @Override
- public DeleteResult delete(UUID nameUuid, NameDeletionConfigurator config) {
- return defaultService.delete(nameUuid, config);
- }
-
- /**
- * @param clazz
- * @param from
- * @param to
- * @param criteria
- * @param pageSize
- * @param pageValue
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(java.lang.Class, eu.etaxonomy.cdm.model.view.AuditEvent, eu.etaxonomy.cdm.model.view.AuditEvent, java.util.List, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<TaxonNameBase>> pageAuditEvents(Class<? extends TaxonNameBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
- }
-
- /**
- * @param lsid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
- */
- @Override
- public TaxonNameBase find(LSID lsid) {
- return defaultService.find(lsid);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DeleteResult delete(TaxonNameBase persistentObject) {
- return defaultService.delete(persistentObject);
- }
-
- /**
- * @param clazz
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<Object[]> groupMarkers(Class<? extends TaxonNameBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
- */
- @Override
- public boolean exists(UUID uuid) {
- return defaultService.exists(uuid);
- }
-
- /**
- * @param name
- * @param typeDesignation
- * @see eu.etaxonomy.cdm.api.service.INameService#deleteTypeDesignation(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.TypeDesignationBase)
- */
- @Override
- public DeleteResult deleteTypeDesignation(TaxonNameBase name, TypeDesignationBase typeDesignation) {
- return defaultService.deleteTypeDesignation(name, typeDesignation);
- }
-
- @Override
- public DeleteResult deleteTypeDesignation(UUID arg0, UUID arg1) {
- return defaultService.deleteTypeDesignation(arg0, arg1);
- }
-
- /**
- * @param x
- * @param y
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
- */
- @Override
- public TaxonNameBase replace(TaxonNameBase x, TaxonNameBase y) {
- return defaultService.replace(x, y);
- }
-
- /**
- * @param uuidSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
- */
- @Override
- public List<TaxonNameBase> find(Set<UUID> uuidSet) {
- return defaultService.find(uuidSet);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<IdentifiableSource> getSources(TaxonNameBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param typeDesignationCollection
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#saveTypeDesignationAll(java.util.Collection)
- */
- @Override
- public Map<UUID, TypeDesignationBase> saveTypeDesignationAll(Collection<TypeDesignationBase> typeDesignationCollection) {
- return null;
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
- */
- @Override
- public TaxonNameBase find(UUID uuid) {
- return defaultService.find(uuid);
- }
-
- /**
- * @param referencedEntityCollection
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#saveReferencedEntitiesAll(java.util.Collection)
- */
- @Override
- public Map<UUID, ReferencedEntityBase> saveReferencedEntitiesAll(Collection<ReferencedEntityBase> referencedEntityCollection) {
- return null;
- }
-
- /**
- * @param homotypicalGroups
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#saveAllHomotypicalGroups(java.util.Collection)
- */
- @Override
- public Map<UUID, HomotypicalGroup> saveAllHomotypicalGroups(Collection<HomotypicalGroup> homotypicalGroups) {
- return null;
- }
-
- /**
- * @param id
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(int)
- */
- @Override
- public TaxonNameBase find(int id) {
- return defaultService.find(id);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<Rights> getRights(TaxonNameBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param technical
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
- */
- @Override
- public int countMarkers(Class<? extends TaxonNameBase> clazz, Boolean technical) {
- return defaultService.countMarkers(clazz, technical);
- }
-
- /**
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#getAllNomenclaturalStatus(int, int)
- */
- @Override
- public List<NomenclaturalStatus> getAllNomenclaturalStatus(int limit, int start) {
- return defaultService.getAllNomenclaturalStatus(limit, start);
- }
-
- /**
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#getAllTypeDesignations(int, int)
- */
- @Override
- public List<TypeDesignationBase> getAllTypeDesignations(int limit, int start) {
- return defaultService.getAllTypeDesignations(limit, start);
- }
-
- /**
- * @param idSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
- */
- @Override
- public List<TaxonNameBase> findById(Set<Integer> idSet) {
- return defaultService.findById(idSet);
- }
-
- /**
- * @param name
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#getNamesByName(java.lang.String)
- */
- @Override
- public List<TaxonNameBase> getNamesByName(String name) {
- return defaultService.getNamesByName(name);
- }
-
- /**
- * @param nameCache
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#getNamesByNameCache(java.lang.String)
- */
- @Override
- public List<NonViralName> getNamesByNameCache(String nameCache) {
- return defaultService.getNamesByNameCache(nameCache);
- }
-
- /**
- * @param clazz
- * @param idInSource
- * @param idNamespace
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
- */
- @Override
- public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
- return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#getSession()
- */
- @Override
- public Session getSession() {
- return defaultService.getSession();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<TaxonNameBase>> getUuidAndTitleCache() {
- return defaultService.getUuidAndTitleCache();
- }
-
- /**
- * @param clazz
- * @param limit
- * @param start
- * @param groups
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Object[]> group(Class<? extends TaxonNameBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
- return defaultService.group(clazz, limit, start, groups, propertyPaths);
- }
-
- /**
- * @param titleCache
- * @param matchMode
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#findNamesByTitleCache(java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
- */
- @Override
- public List<NonViralName> findNamesByTitleCache(String titleCache, MatchMode matchMode, List<String> propertyPaths) {
- return defaultService.findNamesByTitleCache(titleCache, matchMode, propertyPaths);
- }
-
- /**
- * @param nameCache
- * @param matchMode
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#findNamesByNameCache(java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
- */
- @Override
- public List<NonViralName> findNamesByNameCache(String nameCache, MatchMode matchMode, List<String> propertyPaths) {
- return defaultService.findNamesByNameCache(nameCache, matchMode, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<TaxonNameBase> findByTitle(Class<? extends TaxonNameBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#findNameByUuid(java.util.UUID, java.util.List)
- */
- @Override
- public NonViralName findNameByUuid(UUID uuid, List<String> propertyPaths) {
- return defaultService.findNameByUuid(uuid, propertyPaths);
- }
-
- /**
- * @param name
- * @param sessionObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#getNamesByName(java.lang.String, eu.etaxonomy.cdm.model.common.CdmBase)
- */
- @Override
- public List getNamesByName(String name, CdmBase sessionObject) {
- return defaultService.getNamesByName(name, sessionObject);
- }
-
- /**
- * @param name
- * @param accuracy
- * @param languages
- * @param highlightFragments
- * @param propertyPaths
- * @param maxNoOfResults
- * @return
- * @throws CorruptIndexException
- * @throws IOException
- * @throws ParseException
- * @see eu.etaxonomy.cdm.api.service.INameService#findByNameFuzzySearch(java.lang.String, float, java.util.List, boolean, java.util.List, int)
- */
- @Override
- public List<SearchResult<TaxonNameBase>> findByNameFuzzySearch(String name, float accuracy, List<Language> languages, boolean highlightFragments, List<String> propertyPaths, int maxNoOfResults) throws CorruptIndexException, IOException, ParseException {
- return defaultService.findByNameFuzzySearch(name, accuracy, languages, highlightFragments, propertyPaths, maxNoOfResults);
- }
-
- /**
- * @param type
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends TaxonNameBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(type, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Pager<TaxonNameBase> findByTitle(IIdentifiableEntityServiceConfigurator<TaxonNameBase> configurator) {
- return defaultService.findByTitle(configurator);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
- */
- @Override
- public Integer countByTitle(Class<? extends TaxonNameBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
- return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
- */
- @Override
- public TaxonNameBase load(UUID uuid) {
- return defaultService.load(uuid);
- }
-
- /**
- * @param name
- * @param accuracy
- * @param languages
- * @param highlightFragments
- * @param maxNoOfResults
- * @return
- * @throws CorruptIndexException
- * @throws IOException
- * @throws ParseException
- * @see eu.etaxonomy.cdm.api.service.INameService#findByNameFuzzySearch(java.lang.String, float, java.util.List, boolean, int)
- */
- @Override
- public List<DocumentSearchResult> findByNameFuzzySearch(String name, float accuracy, List<Language> languages, boolean highlightFragments, int maxNoOfResults) throws CorruptIndexException, IOException, ParseException {
- return defaultService.findByNameFuzzySearch(name, accuracy, languages, highlightFragments, maxNoOfResults);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
- */
- @Override
- public TaxonNameBase load(UUID uuid, List<String> propertyPaths) {
- return defaultService.load(uuid, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Integer countByTitle(IIdentifiableEntityServiceConfigurator<TaxonNameBase> configurator) {
- return defaultService.countByTitle(configurator);
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public TaxonNameBase merge(TaxonNameBase transientObject) {
- return defaultService.merge(transientObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<TaxonNameBase> listByTitle(Class<? extends TaxonNameBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends TaxonNameBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param name
- * @param accuracy
- * @param languages
- * @param highlightFragments
- * @param maxNoOfResults
- * @return
- * @throws CorruptIndexException
- * @throws IOException
- * @throws ParseException
- * @see eu.etaxonomy.cdm.api.service.INameService#findByFuzzyNameCacheSearch(java.lang.String, float, java.util.List, boolean, int)
- */
- @Override
- public List<DocumentSearchResult> findByFuzzyNameCacheSearch(String name, float accuracy, List<Language> languages, boolean highlightFragments, int maxNoOfResults) throws CorruptIndexException, IOException, ParseException {
- return defaultService.findByFuzzyNameCacheSearch(name, accuracy, languages, highlightFragments, maxNoOfResults);
- }
-
- /**
- * @param name
- * @param wildcard
- * @param languages
- * @param highlightFragments
- * @param maxNoOfResults
- * @return
- * @throws CorruptIndexException
- * @throws IOException
- * @throws ParseException
- * @see eu.etaxonomy.cdm.api.service.INameService#findByNameExactSearch(java.lang.String, boolean, java.util.List, boolean, int)
- */
- @Override
- public List<DocumentSearchResult> findByNameExactSearch(String name, boolean wildcard, List<Language> languages, boolean highlightFragments, int maxNoOfResults) throws CorruptIndexException, IOException, ParseException {
- return defaultService.findByNameExactSearch(name, wildcard, languages, highlightFragments, maxNoOfResults);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID refresh(TaxonNameBase persistentObject) {
- return defaultService.refresh(persistentObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByReferenceTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<TaxonNameBase> listByReferenceTitle(Class<? extends TaxonNameBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param tableName
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
- */
- @Override
- public List<TaxonNameBase> rows(String tableName, int limit, int start) {
- return defaultService.rows(tableName, limit, start);
- }
-
- /**
- * @param newInstances
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
- */
- @Override
- public Map<UUID, TaxonNameBase> save(Collection<TaxonNameBase> newInstances) {
- return null;
- }
-
- /**
- * @param newInstance
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public TaxonNameBase save(TaxonNameBase newInstance) {
- return null;
- }
-
- /**
- * @param title
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#findNamesByTitle(java.lang.String)
- */
- @Override
- public List findNamesByTitle(String title) {
- return defaultService.findNamesByTitle(title);
- }
-
- /**
- * @param title
- * @param sessionObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#findNamesByTitle(java.lang.String, eu.etaxonomy.cdm.model.common.CdmBase)
- */
- @Override
- public List findNamesByTitle(String title, CdmBase sessionObject) {
- return defaultService.findNamesByTitle(title, sessionObject);
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID saveOrUpdate(TaxonNameBase transientObject) {
- return null;
- }
-
- /**
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#getAllHomotypicalGroups(int, int)
- */
- @Override
- public List<HomotypicalGroup> getAllHomotypicalGroups(int limit, int start) {
- return defaultService.getAllHomotypicalGroups(limit, start);
- }
-
- /**
- * @param limit
- * @param start
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.INameService#getAllRelationships(int, int)
- */
- @Deprecated
- @Override
- public List<RelationshipBase> getAllRelationships(int limit, int start) {
- return defaultService.getAllRelationships(limit, start);
- }
-
- /**
- * @param transientObjects
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
- */
- @Override
- public Map<UUID, TaxonNameBase> saveOrUpdate(Collection<TaxonNameBase> transientObjects) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID update(TaxonNameBase transientObject) {
- return defaultService.update(transientObject);
- }
-
- /**
- * @param example
- * @param includeProperties
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(eu.etaxonomy.cdm.model.common.ICdmBase, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<TaxonNameBase> list(TaxonNameBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param matchStrategy
- * @param mergeStrategy
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
- */
- @Override
- public int deduplicate(Class<? extends TaxonNameBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
- return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
- }
-
- /**
- * @param name
- * @param direction
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#listNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.common.RelationshipBase.Direction, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<NameRelationship> listNameRelationships(TaxonNameBase name, Direction direction, NameRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listNameRelationships(name, direction, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param matchMode
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
- */
- @Override
- public Pager<TaxonNameBase> findTitleCache(Class<? extends TaxonNameBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
- return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
- }
-
- /**
- * @param name
- * @param direction
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#pageNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.common.RelationshipBase.Direction, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<NameRelationship> pageNameRelationships(TaxonNameBase name, Direction direction, NameRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.pageNameRelationships(name, direction, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param name
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.INameService#listFromNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Deprecated
- @Override
- public List<NameRelationship> listFromNameRelationships(TaxonNameBase name, NameRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listFromNameRelationships(name, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param name
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.INameService#pageFromNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Deprecated
- @Override
- public Pager<NameRelationship> pageFromNameRelationships(TaxonNameBase name, NameRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.pageFromNameRelationships(name, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param name
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.INameService#listToNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Deprecated
- @Override
- public List<NameRelationship> listToNameRelationships(TaxonNameBase name, NameRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listToNameRelationships(name, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param name
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.INameService#pageToNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Deprecated
- @Override
- public Pager<NameRelationship> pageToNameRelationships(TaxonNameBase name, NameRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.pageToNameRelationships(name, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param name
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#getHybridNames(eu.etaxonomy.cdm.model.name.NonViralName, eu.etaxonomy.cdm.model.name.HybridRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<HybridRelationship> getHybridNames(NonViralName name, HybridRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getHybridNames(name, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param name
- * @param status
- * @param pageSize
- * @param pageNumber
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#getTypeDesignations(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus, java.lang.Integer, java.lang.Integer)
- */
- @Override
- public Pager<TypeDesignationBase> getTypeDesignations(TaxonNameBase name, SpecimenTypeDesignationStatus status, Integer pageSize, Integer pageNumber) {
- return defaultService.getTypeDesignations(name, status, pageSize, pageNumber);
- }
-
- /**
- * @param name
- * @param status
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#getTypeDesignations(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<TypeDesignationBase> getTypeDesignations(TaxonNameBase name, SpecimenTypeDesignationStatus status, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getTypeDesignations(name, status, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uninomial
- * @param infraGenericEpithet
- * @param specificEpithet
- * @param infraspecificEpithet
- * @param rank
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#searchNames(java.lang.String, java.lang.String, java.lang.String, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<TaxonNameBase> searchNames(String uninomial, String infraGenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.searchNames(uninomial, infraGenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<TaxonNameBase> search(Class<? extends TaxonNameBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#getUuidAndTitleCacheOfNames()
- */
- @Override
- public List<UuidAndTitleCache> getUuidAndTitleCacheOfNames() {
- return defaultService.getUuidAndTitleCacheOfNames();
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#findByName(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<TaxonNameBase> findByName(Class<? extends TaxonNameBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.findByName(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#findHomotypicalGroup(java.util.UUID)
- */
- @Override
- public HomotypicalGroup findHomotypicalGroup(UUID uuid) {
- return defaultService.findHomotypicalGroup(uuid);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.INameService#getTaggedName(java.util.UUID)
- */
- @Override
- public List<TaggedText> getTaggedName(UUID uuid) {
- return defaultService.getTaggedName(uuid);
- }
-
- @Override
- public DeleteResult isDeletable(TaxonNameBase object,
- DeleteConfiguratorBase config) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public TaxonNameBase findWithoutFlush(UUID uuid) {
- return defaultService.findWithoutFlush(uuid);
- }
-
-
- @Override
- public <S extends TaxonNameBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
- return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
- }
-
-
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.INameService#setAsGroupsBasionym(java.util.UUID)
- */
- @Override
- public UpdateResult setAsGroupsBasionym(UUID nameUuid) {
- return defaultService.delete(nameUuid);
- }
-
-
- @Override
- public List<HashMap<String, String>> getNameRecords() {
-
- return defaultService.getNameRecords();
- }
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- public DeleteResult delete(UUID arg0) {
- return defaultService.delete(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
- */
- @Override
- public DeleteResult delete(Collection<UUID> arg0) {
- return defaultService.delete(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
- */
- @Override
- public List<TaxonNameBase> merge(List<TaxonNameBase> arg0) {
- return defaultService.merge(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
- */
- @Override
- public List<MergeResult<TaxonNameBase>> merge(List<TaxonNameBase> arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
- */
- @Override
- public MergeResult<TaxonNameBase> merge(TaxonNameBase arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#loadWithUpdate(java.util.UUID)
- */
- @Override
- public TaxonNameBase loadWithUpdate(UUID arg0) {
- return defaultService.loadWithUpdate(arg0);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<TaxonNameBase> load(List<UUID> arg0, List<String> arg1) {
- return defaultService.load(arg0, arg1);
- }
-
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2013 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.view.dataimport.transientServices;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.queryparser.classic.ParseException;
-import org.hibernate.LockOptions;
-import org.hibernate.Session;
-import org.hibernate.criterion.Criterion;
-import org.hibernate.envers.query.criteria.AuditCriterion;
-import org.hibernate.search.spatial.impl.Rectangle;
-
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
-import eu.etaxonomy.cdm.api.service.DeleteResult;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.api.service.UpdateResult;
-import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.config.SpecimenDeleteConfigurator;
-import eu.etaxonomy.cdm.api.service.dto.FieldUnitDTO;
-import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
-import eu.etaxonomy.cdm.api.service.dto.PreservedSpecimenDTO;
-import eu.etaxonomy.cdm.api.service.pager.Pager;
-import eu.etaxonomy.cdm.api.service.search.SearchResult;
-import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
-import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
-import eu.etaxonomy.cdm.model.common.Annotation;
-import eu.etaxonomy.cdm.model.common.DefinedTerm;
-import eu.etaxonomy.cdm.model.common.ICdmBase;
-import eu.etaxonomy.cdm.model.common.ISourceable;
-import eu.etaxonomy.cdm.model.common.IdentifiableSource;
-import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.description.DescriptionBase;
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
-import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
-import eu.etaxonomy.cdm.model.location.Country;
-import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.media.Rights;
-import eu.etaxonomy.cdm.model.molecular.DnaSample;
-import eu.etaxonomy.cdm.model.molecular.Sequence;
-import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
-import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
-import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
-import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.cdm.model.view.AuditEvent;
-import eu.etaxonomy.cdm.model.view.AuditEventRecord;
-import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
-import eu.etaxonomy.cdm.persistence.dto.MergeResult;
-import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
-import eu.etaxonomy.cdm.persistence.query.Grouping;
-import eu.etaxonomy.cdm.persistence.query.MatchMode;
-import eu.etaxonomy.cdm.persistence.query.OrderHint;
-import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
-import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
-import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
-
-/**
- * @author pplitzner
- * @date 26.09.2013
- *
- */
-public class TransientOccurenceService implements IOccurrenceService {
-
- private final IOccurrenceService defaultService;
- private final Collection<SpecimenOrObservationBase<?>> units;
-
- /**
- * @param defaultService
- */
- public TransientOccurenceService(IOccurrenceService defaultService) {
- this.defaultService = defaultService;
- this.units = new HashSet<SpecimenOrObservationBase<?>>();
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(eu.etaxonomy.cdm.model.common.VersionableEntity, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<SpecimenOrObservationBase>> pageAuditEvents(SpecimenOrObservationBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
- }
-
- /**
- * @param annotatedObj
- * @param status
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getAnnotations(eu.etaxonomy.cdm.model.common.AnnotatableEntity, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Annotation> getAnnotations(SpecimenOrObservationBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IService#clear()
- */
- @Override
- public void clear() {
- defaultService.clear();
- }
-
- /**
- * @param t
- * @param lockMode
- * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
- */
- @Override
- public void lock(SpecimenOrObservationBase t, LockOptions lockOptions) {
- defaultService.lock(t, lockOptions);
- }
-
- /**
- * @param t
- * @param lockMode
- * @param propertyPaths
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
- */
- @Override
- public void refresh(SpecimenOrObservationBase t, LockOptions lockOptions, List<String> propertyPaths) {
- defaultService.refresh(t, lockOptions, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
- */
- @Override
- public void updateTitleCache() {
- defaultService.updateTitleCache();
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<SpecimenOrObservationBase> getNextAuditEvent(SpecimenOrObservationBase t) {
- return defaultService.getNextAuditEvent(t);
- }
-
- /**
- * @param annotatableEntity
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getMarkers(eu.etaxonomy.cdm.model.common.AnnotatableEntity, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Marker> getMarkers(SpecimenOrObservationBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param stepSize
- * @param cacheStrategy
- * @param monitor
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Class, java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy, eu.etaxonomy.cdm.common.monitor.IProgressMonitor)
- */
- @Override
- public void updateTitleCache(Class<? extends SpecimenOrObservationBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<SpecimenOrObservationBase> cacheStrategy, IProgressMonitor monitor) {
- defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<SpecimenOrObservationBase> getPreviousAuditEvent(SpecimenOrObservationBase t) {
- return defaultService.getPreviousAuditEvent(t);
- }
-
- /**
- * @param iso639
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCountryByIso(java.lang.String)
- */
- @Override
- public Country getCountryByIso(String iso639) {
- return defaultService.getCountryByIso(iso639);
- }
-
- /**
- * @param clazz
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
- */
- @Override
- public int count(Class<? extends SpecimenOrObservationBase> clazz) {
- return defaultService.count(clazz);
- }
-
- /**
- * @param name
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCountryByName(java.lang.String)
- */
- @Override
- public List<Country> getCountryByName(String name) {
- return defaultService.getCountryByName(name);
- }
-
- /**
- * @param type
- * @param determinedAs
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#list(java.lang.Class, eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<SpecimenOrObservationBase> list(Class<? extends SpecimenOrObservationBase> type, TaxonBase determinedAs, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(type, determinedAs, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param from
- * @param to
- * @param criteria
- * @param pageSize
- * @param pageValue
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(java.lang.Class, eu.etaxonomy.cdm.model.view.AuditEvent, eu.etaxonomy.cdm.model.view.AuditEvent, java.util.List, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<SpecimenOrObservationBase>> pageAuditEvents(Class<? extends SpecimenOrObservationBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
- }
-
- /**
- * @param lsid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
- */
- @Override
- public SpecimenOrObservationBase find(LSID lsid) {
- return defaultService.find(lsid);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DeleteResult delete(SpecimenOrObservationBase persistentObject) {
- return defaultService.delete(persistentObject);
- }
-
- /**
- * @param clazz
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<Object[]> groupMarkers(Class<? extends SpecimenOrObservationBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
- */
- @Override
- public boolean exists(UUID uuid) {
- return defaultService.exists(uuid);
- }
-
- /**
- * @param x
- * @param y
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
- */
- @Override
- public SpecimenOrObservationBase replace(SpecimenOrObservationBase x, SpecimenOrObservationBase y) {
- return defaultService.replace(x, y);
- }
-
- /**
- * @param uuidSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
- */
- @Override
- public List<SpecimenOrObservationBase> find(Set<UUID> uuidSet) {
- return defaultService.find(uuidSet);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<IdentifiableSource> getSources(SpecimenOrObservationBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
- */
- @Override
- public SpecimenOrObservationBase find(UUID uuid) {
- return defaultService.find(uuid);
- }
-
- /**
- * @param id
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(int)
- */
- @Override
- public SpecimenOrObservationBase find(int id) {
- return defaultService.find(id);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<Rights> getRights(SpecimenOrObservationBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param technical
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
- */
- @Override
- public int countMarkers(Class<? extends SpecimenOrObservationBase> clazz, Boolean technical) {
- return defaultService.countMarkers(clazz, technical);
- }
-
- /**
- * @param occurence
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getMedia(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<Media> getMedia(SpecimenOrObservationBase occurence, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getMedia(occurence, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param idSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
- */
- @Override
- public List<SpecimenOrObservationBase> findById(Set<Integer> idSet) {
- return defaultService.findById(idSet);
- }
-
- /**
- * @param clazz
- * @param idInSource
- * @param idNamespace
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
- */
- @Override
- public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
- return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#getSession()
- */
- @Override
- public Session getSession() {
- return defaultService.getSession();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<SpecimenOrObservationBase>> getUuidAndTitleCache() {
- return defaultService.getUuidAndTitleCache();
- }
-
- /**
- * @param clazz
- * @param limit
- * @param start
- * @param groups
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Object[]> group(Class<? extends SpecimenOrObservationBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
- return defaultService.group(clazz, limit, start, groups, propertyPaths);
- }
-
- /**
- * @param occurence
- * @param taxonBase
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDeterminations(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<DeterminationEvent> getDeterminations(SpecimenOrObservationBase occurence, TaxonBase taxonBase, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getDeterminations(occurence, taxonBase, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<SpecimenOrObservationBase> findByTitle(Class<? extends SpecimenOrObservationBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param occurence
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivationEvents(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<DerivationEvent> getDerivationEvents(SpecimenOrObservationBase occurence, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getDerivationEvents(occurence, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param type
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends SpecimenOrObservationBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(type, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param query
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<SpecimenOrObservationBase> search(Class<? extends SpecimenOrObservationBase> clazz, String query, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.search(clazz, query, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Pager<SpecimenOrObservationBase> findByTitle(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> configurator) {
- return defaultService.findByTitle(configurator);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
- */
- @Override
- public Integer countByTitle(Class<? extends SpecimenOrObservationBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
- return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
- */
- @Override
- public SpecimenOrObservationBase load(UUID uuid) {
- return defaultService.load(uuid);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
- */
- @Override
- public SpecimenOrObservationBase load(UUID uuid, List<String> propertyPaths) {
- return defaultService.load(uuid, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Integer countByTitle(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> configurator) {
- return defaultService.countByTitle(configurator);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getFieldUnitUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<FieldUnit>> getFieldUnitUuidAndTitleCache() {
- return defaultService.getFieldUnitUuidAndTitleCache();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<DerivedUnit>> getDerivedUnitUuidAndTitleCache() {
- return defaultService.getDerivedUnitUuidAndTitleCache();
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public SpecimenOrObservationBase merge(SpecimenOrObservationBase transientObject) {
- return defaultService.merge(transientObject);
- }
-
- /**
- * @param derivedUnit
- * @param propertyPaths
- * @return
- * @throws DerivedUnitFacadeNotSupportedException
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitFacade(eu.etaxonomy.cdm.model.occurrence.DerivedUnit, java.util.List)
- */
- @Override
- public DerivedUnitFacade getDerivedUnitFacade(DerivedUnit derivedUnit, List<String> propertyPaths) throws DerivedUnitFacadeNotSupportedException {
- return defaultService.getDerivedUnitFacade(derivedUnit, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<SpecimenOrObservationBase> listByTitle(Class<? extends SpecimenOrObservationBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param description
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listDerivedUnitFacades(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.List)
- */
- @Override
- public List<DerivedUnitFacade> listDerivedUnitFacades(DescriptionBase description, List<String> propertyPaths) {
- return defaultService.listDerivedUnitFacades(description, propertyPaths);
- }
-
- /**
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends SpecimenOrObservationBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param type
- * @param includeRelationships
- * @param associatedTaxon
- * @param maxDepth
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listByAssociatedTaxon(java.lang.Class, java.util.Set, eu.etaxonomy.cdm.model.taxon.Taxon, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <T extends SpecimenOrObservationBase> List<T> listByAssociatedTaxon(Class<T> type, Set<TaxonRelationshipEdge> includeRelationships, Taxon associatedTaxon, Integer maxDepth, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByAssociatedTaxon(type, includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID refresh(SpecimenOrObservationBase persistentObject) {
- return defaultService.refresh(persistentObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByReferenceTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<SpecimenOrObservationBase> listByReferenceTitle(Class<? extends SpecimenOrObservationBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param tableName
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
- */
- @Override
- public List<SpecimenOrObservationBase> rows(String tableName, int limit, int start) {
- return defaultService.rows(tableName, limit, start);
- }
-
- /**
- * @param newInstances
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
- */
- @Override
- public Map<UUID, SpecimenOrObservationBase> save(Collection<SpecimenOrObservationBase> newInstances) {
- for(SpecimenOrObservationBase unit:newInstances){
- save(unit);
- }
- return null;
- }
-
- /**
- * @param type
- * @param includeRelationships
- * @param associatedTaxon
- * @param maxDepth
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#pageByAssociatedTaxon(java.lang.Class, java.util.Set, eu.etaxonomy.cdm.model.taxon.Taxon, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <T extends SpecimenOrObservationBase> Pager<T> pageByAssociatedTaxon(Class<T> type, Set<TaxonRelationshipEdge> includeRelationships, Taxon associatedTaxon, Integer maxDepth, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.pageByAssociatedTaxon(type, includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param newInstance
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public SpecimenOrObservationBase save(SpecimenOrObservationBase newInstance) {
- units.add(newInstance);
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID saveOrUpdate(SpecimenOrObservationBase transientObject) {
- units.add(transientObject);
- return null;
- }
-
- /**
- * @param transientObjects
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
- */
- @Override
- public Map<UUID, SpecimenOrObservationBase> saveOrUpdate(Collection<SpecimenOrObservationBase> transientObjects) {
- for(SpecimenOrObservationBase unit:transientObjects){
- saveOrUpdate(unit);
- }
- return null;
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param boundingBox
- * @param languages
- * @param highlightFragments
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @throws CorruptIndexException
- * @throws IOException
- * @throws ParseException
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#findByFullText(java.lang.Class, java.lang.String, org.hibernate.search.spatial.impl.Rectangle, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<SearchResult<SpecimenOrObservationBase>> findByFullText(Class<? extends SpecimenOrObservationBase> clazz, String queryString, Rectangle boundingBox, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException {
- return defaultService.findByFullText(clazz, queryString, boundingBox, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID update(SpecimenOrObservationBase transientObject) {
- return defaultService.update(transientObject);
- }
-
- /**
- * @param example
- * @param includeProperties
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(eu.etaxonomy.cdm.model.common.ICdmBase, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<SpecimenOrObservationBase> list(SpecimenOrObservationBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
- }
-
- @Override
- public int deduplicate(Class<? extends SpecimenOrObservationBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
- return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
- }
-
- @Override
- public Pager<SpecimenOrObservationBase> findTitleCache(Class<? extends SpecimenOrObservationBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
- return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
- }
-
- public Collection<SpecimenOrObservationBase<?>> getUnits() {
- return units;
- }
-
- @Override
- public Collection<FieldUnit> getFieldUnits(UUID derivedUnitUuid) {
- return defaultService.getFieldUnits(derivedUnitUuid);
- }
-
- @Override
- public <T extends SpecimenOrObservationBase> Pager<T> pageByAssociatedTaxon(Class<T> type,
- Set<TaxonRelationshipEdge> includeRelationships, String taxonUUID, Integer maxDepth, Integer pageSize,
- Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.pageByAssociatedTaxon(type, includeRelationships, taxonUUID,
- maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
-
- @Override
- public UpdateResult moveSequence(DnaSample from, DnaSample to, Sequence sequence) {
- return defaultService.moveSequence(from, to, sequence);
- }
-
- @Override
- public DeleteResult isDeletable(SpecimenOrObservationBase object,
- DeleteConfiguratorBase config) {
- return defaultService.isDeletable(object, config);
- }
-
- @Override
- public int countDeterminations(SpecimenOrObservationBase occurence, TaxonBase taxonbase) {
- return defaultService.countDeterminations(occurence, taxonbase);
- }
-
- @Override
- public SpecimenOrObservationBase findWithoutFlush(UUID uuid) {
- return defaultService.findWithoutFlush(uuid);
- }
-
- @Override
- public Collection<SpecimenOrObservationBase> listFieldUnitsByAssociatedTaxon(Taxon associatedTaxon,
- List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listFieldUnitsByAssociatedTaxon(associatedTaxon, orderHints, propertyPaths);
- }
-
- @Override
- public Pager<SpecimenOrObservationBase> pageFieldUnitsByAssociatedTaxon(
- Set<TaxonRelationshipEdge> includeRelationships, Taxon associatedTaxon, Integer maxDepth, Integer pageSize,
- Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.pageFieldUnitsByAssociatedTaxon(includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
-
- @Override
- public FieldUnitDTO assembleFieldUnitDTO(FieldUnit fieldUnit, UUID associatedTaxonUuid) {
- return defaultService.assembleFieldUnitDTO(fieldUnit, associatedTaxonUuid);
- }
-
- @Override
- public PreservedSpecimenDTO assemblePreservedSpecimenDTO(DerivedUnit derivedUnit) {
- return defaultService.assemblePreservedSpecimenDTO(derivedUnit);
- }
-
- @Override
- public Collection<ICdmBase> getNonCascadedAssociatedElements(SpecimenOrObservationBase<?> specimen) {
- return defaultService.getNonCascadedAssociatedElements(specimen);
- }
-
- @Override
- public DeleteResult delete(SpecimenOrObservationBase<?> specimen, SpecimenDeleteConfigurator config) {
- return defaultService.delete(specimen, config);
- }
-
- @Override
- public Collection<IndividualsAssociation> listIndividualsAssociations(SpecimenOrObservationBase<?> specimen,
- Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listIndividualsAssociations(specimen, limit, start, orderHints, propertyPaths);
- }
-
- @Override
- public Collection<DescriptionBase<?>> listDescriptionsWithDescriptionSpecimen(
- SpecimenOrObservationBase<?> specimen, Integer limit, Integer start, List<OrderHint> orderHints,
- List<String> propertyPaths) {
- return defaultService.listDescriptionsWithDescriptionSpecimen(specimen, limit, start, orderHints, propertyPaths);
- }
-
- @Override
- public <S extends SpecimenOrObservationBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
- return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
- }
-
- @Override
- public Collection<DescriptionElementBase> getCharacterDataForSpecimen(SpecimenOrObservationBase<?> arg0) {
- return defaultService.getCharacterDataForSpecimen(arg0);
- }
-
- @Override
- public Collection<DescriptionElementBase> getCharacterDataForSpecimen(UUID arg0) {
- return getCharacterDataForSpecimen(arg0);
- }
-
- @Override
- public String getMostSignificantIdentifier(DerivedUnit derivedUnit) {
- return defaultService.getMostSignificantIdentifier(derivedUnit);
- }
-
- @Override
- public int countOccurrences(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> config) {
- return defaultService.countOccurrences(config);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<DerivedUnit> getAllChildDerivatives(SpecimenOrObservationBase<?> specimen) {
- return defaultService.getAllChildDerivatives(specimen);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<SpecimenOrObservationBase<?>> getAllHierarchyDerivatives(SpecimenOrObservationBase<?> specimen) {
- return defaultService.getAllHierarchyDerivatives(specimen);
- }
-
-
- @Override
- public DeleteResult delete(UUID uuid) {
- return defaultService.delete(uuid);
- }
-
- @Override
- public DeleteResult delete(Collection<UUID> arg0) {
- return defaultService.delete(arg0);
- }
-
-
- @Override
- public List<SpecimenOrObservationBase> merge(List<SpecimenOrObservationBase> arg0) {
- return defaultService.merge(arg0);
- }
-
- @Override
- public UpdateResult moveDerivate(UUID arg0, UUID arg1, UUID arg2) {
- return defaultService.moveDerivate(arg0, arg1, arg2);
- }
-
- @Override
- public boolean moveDerivate(SpecimenOrObservationBase<?> from, SpecimenOrObservationBase<?> to, DerivedUnit derivate) {
- return defaultService.moveDerivate(from, to, derivate);
- }
-
- @Override
- public UpdateResult moveSequence(UUID arg0, UUID arg1, UUID arg2) {
- return defaultService.moveSequence(arg0, arg1, arg2);
- }
-
- @Override
- public Pager<Media> getMediainHierarchy(SpecimenOrObservationBase arg0, Integer arg1, Integer arg2,
- List<String> arg3) {
- return defaultService.getMediainHierarchy(arg0, arg1, arg2, arg3);
- }
-
- @Override
- public List<MergeResult<SpecimenOrObservationBase>> merge(List<SpecimenOrObservationBase> arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- @Override
- public MergeResult<SpecimenOrObservationBase> merge(SpecimenOrObservationBase arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<TaxonBase<?>> listAssociatedTaxa(SpecimenOrObservationBase<?> arg0, Integer arg1, Integer arg2,
- List<OrderHint> arg3, List<String> arg4) {
- return defaultService.listAssociatedTaxa(arg0, arg1, arg2, arg3, arg4);
- }
-
- @Override
- public SpecimenOrObservationBase loadWithUpdate(UUID arg0) {
- return defaultService.loadWithUpdate(arg0);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public DeleteResult delete(UUID arg0, SpecimenDeleteConfigurator arg1) {
- return defaultService.delete(arg0, arg1);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Pager<SpecimenOrObservationBase> list(Class<? extends SpecimenOrObservationBase> arg0, TaxonNameBase arg1,
- Integer arg2, Integer arg3, List<OrderHint> arg4, List<String> arg5) {
- return defaultService.list(arg0, arg1, arg2, arg3, arg4, arg5);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<DeterminationEvent> listDeterminationEvents(SpecimenOrObservationBase<?> arg0, Integer arg1,
- Integer arg2, List<OrderHint> arg3, List<String> arg4) {
- return defaultService.listDeterminationEvents(arg0, arg1, arg2, arg3, arg4);
- }
-
- @Override
- public Collection<TaxonBase<?>> listDeterminedTaxa(SpecimenOrObservationBase<?> arg0, Integer arg1, Integer arg2,
- List<OrderHint> arg3, List<String> arg4) {
- return defaultService.listDeterminedTaxa(arg0, arg1, arg2, arg3, arg4);
- }
-
- @Override
- public Collection<TaxonBase<?>> listIndividualsAssociationTaxa(SpecimenOrObservationBase<?> arg0, Integer arg1,
- Integer arg2, List<OrderHint> arg3, List<String> arg4) {
- return defaultService.listIndividualsAssociationTaxa(arg0, arg1, arg2, arg3, arg4);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<SpecimenOrObservationBase> load(List<UUID> arg0, List<String> arg1) {
- return defaultService.load(arg0, arg1);
- }
-
- @Override
- public Collection<TaxonBase<?>> listTypeDesignationTaxa(DerivedUnit arg0, Integer arg1, Integer arg2,
- List<OrderHint> arg3, List<String> arg4) {
- return defaultService.listTypeDesignationTaxa(arg0, arg1, arg2, arg3, arg4);
- }
-
- @Override
- public Map<DerivedUnit, Collection<SpecimenTypeDesignation>> listTypeDesignations(Collection<DerivedUnit> arg0,
- Integer arg1, Integer arg2, List<OrderHint> arg3, List<String> arg4) {
- return defaultService.listTypeDesignations(arg0, arg1, arg2, arg3, arg4);
- }
-
- @Override
- public Collection<SpecimenTypeDesignation> listTypeDesignations(DerivedUnit arg0, Integer arg1, Integer arg2,
- List<OrderHint> arg3, List<String> arg4) {
- return defaultService.listTypeDesignations(arg0, arg1, arg2, arg3, arg4);
- }
-
- @Override
- public List<DerivedUnit> getAllChildDerivatives(UUID arg0) {
- return defaultService.getAllChildDerivatives(arg0);
- }
-
-
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2013 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.view.dataimport.transientServices;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import org.hibernate.LockOptions;
-import org.hibernate.Session;
-import org.hibernate.criterion.Criterion;
-import org.hibernate.envers.query.criteria.AuditCriterion;
-
-import eu.etaxonomy.cdm.api.service.DeleteResult;
-import eu.etaxonomy.cdm.api.service.IReferenceService;
-import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
-import eu.etaxonomy.cdm.api.service.pager.Pager;
-import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
-import eu.etaxonomy.cdm.model.common.Annotation;
-import eu.etaxonomy.cdm.model.common.DefinedTerm;
-import eu.etaxonomy.cdm.model.common.ISourceable;
-import eu.etaxonomy.cdm.model.common.IdentifiableSource;
-import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.media.Rights;
-import eu.etaxonomy.cdm.model.reference.Reference;
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.cdm.model.view.AuditEvent;
-import eu.etaxonomy.cdm.model.view.AuditEventRecord;
-import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
-import eu.etaxonomy.cdm.persistence.dto.MergeResult;
-import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
-import eu.etaxonomy.cdm.persistence.query.Grouping;
-import eu.etaxonomy.cdm.persistence.query.MatchMode;
-import eu.etaxonomy.cdm.persistence.query.OrderHint;
-import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
-import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
-import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
-
-/**
- * @author pplitzner
- * @date 27.09.2013
- *
- */
-public class TransientReferenceService implements IReferenceService {
-
- private final IReferenceService defaultService;
-
- /**
- * @param defaultReferenceService
- */
- public TransientReferenceService(IReferenceService defaultReferenceService) {
- this.defaultService = defaultReferenceService;
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IReferenceService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Reference> search(Class<? extends Reference> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(eu.etaxonomy.cdm.model.common.VersionableEntity, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<Reference>> pageAuditEvents(Reference t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
- }
-
- /**
- * @param annotatedObj
- * @param status
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getAnnotations(eu.etaxonomy.cdm.model.common.AnnotatableEntity, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Annotation> getAnnotations(Reference annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IService#clear()
- */
- @Override
- public void clear() {
- defaultService.clear();
- }
-
- /**
- * @param t
- * @param lockMode
- * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
- */
- @Override
- public void lock(Reference t, LockOptions lockOptions) {
- defaultService.lock(t, lockOptions);
- }
-
- /**
- * @param t
- * @param lockMode
- * @param propertyPaths
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
- */
- @Override
- public void refresh(Reference t, LockOptions lockOptions, List<String> propertyPaths) {
- defaultService.refresh(t, lockOptions, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
- */
- @Override
- public void updateTitleCache() {
- defaultService.updateTitleCache();
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<Reference> getNextAuditEvent(Reference t) {
- return defaultService.getNextAuditEvent(t);
- }
-
- /**
- * @param annotatableEntity
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getMarkers(eu.etaxonomy.cdm.model.common.AnnotatableEntity, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Marker> getMarkers(Reference annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IReferenceService#getUuidAndTitle()
- */
- @Override
- public List<UuidAndTitleCache<Reference>> getUuidAndTitle() {
- return defaultService.getUuidAndTitle();
- }
-
- /**
- * @param clazz
- * @param stepSize
- * @param cacheStrategy
- * @param monitor
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Class, java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy, eu.etaxonomy.cdm.common.monitor.IProgressMonitor)
- */
- @Override
- public void updateTitleCache(Class<? extends Reference> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<Reference> cacheStrategy, IProgressMonitor monitor) {
- defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<Reference> getPreviousAuditEvent(Reference t) {
- return defaultService.getPreviousAuditEvent(t);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IReferenceService#getAllReferencesForPublishing()
- */
- @Override
- public List<Reference> getAllReferencesForPublishing() {
- return defaultService.getAllReferencesForPublishing();
- }
-
- /**
- * @param clazz
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
- */
- @Override
- public int count(Class<? extends Reference> clazz) {
- return defaultService.count(clazz);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IReferenceService#getAllNomenclaturalReferences()
- */
- @Override
- public List<Reference> getAllNomenclaturalReferences() {
- return defaultService.getAllNomenclaturalReferences();
- }
-
- /**
- * @param reference
- * @param includeSubordinateReferences
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IReferenceService#listCoveredTaxa(eu.etaxonomy.cdm.model.reference.Reference, boolean, java.util.List)
- */
- @Override
- public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<String> propertyPaths) {
- return defaultService.listCoveredTaxa(reference, includeSubordinateReferences, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param from
- * @param to
- * @param criteria
- * @param pageSize
- * @param pageValue
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(java.lang.Class, eu.etaxonomy.cdm.model.view.AuditEvent, eu.etaxonomy.cdm.model.view.AuditEvent, java.util.List, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<Reference>> pageAuditEvents(Class<? extends Reference> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
- }
-
- /**
- * @param lsid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
- */
- @Override
- public Reference find(LSID lsid) {
- return defaultService.find(lsid);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DeleteResult delete(Reference persistentObject) {
- return defaultService.delete(persistentObject);
- }
-
- /**
- * @param clazz
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<Object[]> groupMarkers(Class<? extends Reference> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
- */
- @Override
- public boolean exists(UUID uuid) {
- return defaultService.exists(uuid);
- }
-
- /**
- * @param x
- * @param y
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
- */
- @Override
- public Reference replace(Reference x, Reference y) {
- return defaultService.replace(x, y);
- }
-
- /**
- * @param uuidSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
- */
- @Override
- public List<Reference> find(Set<UUID> uuidSet) {
- return defaultService.find(uuidSet);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<IdentifiableSource> getSources(Reference t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
- */
- @Override
- public Reference find(UUID uuid) {
- return defaultService.find(uuid);
- }
-
- /**
- * @param id
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(int)
- */
- @Override
- public Reference find(int id) {
- return defaultService.find(id);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<Rights> getRights(Reference t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param technical
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
- */
- @Override
- public int countMarkers(Class<? extends Reference> clazz, Boolean technical) {
- return defaultService.countMarkers(clazz, technical);
- }
-
- /**
- * @param idSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
- */
- @Override
- public List<Reference> findById(Set<Integer> idSet) {
- return defaultService.findById(idSet);
- }
-
- /**
- * @param clazz
- * @param idInSource
- * @param idNamespace
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
- */
- @Override
- public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
- return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#getSession()
- */
- @Override
- public Session getSession() {
- return defaultService.getSession();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<Reference>> getUuidAndTitleCache() {
- return defaultService.getUuidAndTitleCache();
- }
-
- /**
- * @param clazz
- * @param limit
- * @param start
- * @param groups
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Object[]> group(Class<? extends Reference> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
- return defaultService.group(clazz, limit, start, groups, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Reference> findByTitle(Class<? extends Reference> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param type
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends Reference> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(type, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Pager<Reference> findByTitle(IIdentifiableEntityServiceConfigurator<Reference> configurator) {
- return defaultService.findByTitle(configurator);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
- */
- @Override
- public Integer countByTitle(Class<? extends Reference> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
- return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
- */
- @Override
- public Reference load(UUID uuid) {
- return defaultService.load(uuid);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
- */
- @Override
- public Reference load(UUID uuid, List<String> propertyPaths) {
- return defaultService.load(uuid, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Integer countByTitle(IIdentifiableEntityServiceConfigurator<Reference> configurator) {
- return defaultService.countByTitle(configurator);
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public Reference merge(Reference transientObject) {
- return defaultService.merge(transientObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Reference> listByTitle(Class<? extends Reference> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends Reference> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID refresh(Reference persistentObject) {
- return defaultService.refresh(persistentObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByReferenceTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Reference> listByReferenceTitle(Class<? extends Reference> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param tableName
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
- */
- @Override
- public List<Reference> rows(String tableName, int limit, int start) {
- return defaultService.rows(tableName, limit, start);
- }
-
- /**
- * @param newInstances
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
- */
- @Override
- public Map<UUID, Reference> save(Collection<Reference> newInstances) {
- return null;
- }
-
- /**
- * @param newInstance
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public Reference save(Reference newInstance) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID saveOrUpdate(Reference transientObject) {
- return null;
- }
-
- /**
- * @param transientObjects
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
- */
- @Override
- public Map<UUID, Reference> saveOrUpdate(Collection<Reference> transientObjects) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID update(Reference transientObject) {
- return defaultService.update(transientObject);
- }
-
- /**
- * @param example
- * @param includeProperties
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(eu.etaxonomy.cdm.model.common.ICdmBase, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Reference> list(Reference example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param matchStrategy
- * @param mergeStrategy
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
- */
- @Override
- public int deduplicate(Class<? extends Reference> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
- return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param matchMode
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
- */
- @Override
- public Pager<Reference> findTitleCache(Class<? extends Reference> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
- return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
- }
-
- @Override
- public DeleteResult isDeletable(Reference object,
- DeleteConfiguratorBase config) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Reference findWithoutFlush(UUID uuid) {
- return defaultService.findWithoutFlush(uuid);
- }
-
- @Override
- public <S extends Reference> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
- return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
- */
- @Override
- public DeleteResult delete(UUID uuid) {
- return defaultService.delete(uuid);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
- */
- @Override
- public DeleteResult delete(Collection<UUID> arg0) {
- return defaultService.delete(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
- */
- @Override
- public List<Reference> merge(List<Reference> arg0) {
- return defaultService.merge(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
- */
- @Override
- public List<MergeResult<Reference>> merge(List<Reference> arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
- */
- @Override
- public MergeResult<Reference> merge(Reference arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#loadWithUpdate(java.util.UUID)
- */
- @Override
- public Reference loadWithUpdate(UUID arg0) {
- return defaultService.loadWithUpdate(arg0);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<Reference> load(List<UUID> arg0, List<String> arg1) {
- return defaultService.load(arg0, arg1);
- }
-
-
-}
+++ /dev/null
-// $Id$
-/**
- * Copyright (C) 2013 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.view.dataimport.transientServices;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.EnumSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.queryparser.classic.ParseException;
-import org.hibernate.LockOptions;
-import org.hibernate.Session;
-import org.hibernate.criterion.Criterion;
-import org.hibernate.envers.query.criteria.AuditCriterion;
-
-import eu.etaxonomy.cdm.api.service.DeleteResult;
-import eu.etaxonomy.cdm.api.service.ITaxonService;
-import eu.etaxonomy.cdm.api.service.TaxaAndNamesSearchMode;
-import eu.etaxonomy.cdm.api.service.UpdateResult;
-import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
-import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.config.IncludedTaxonConfiguration;
-import eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator;
-import eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator;
-import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
-import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
-import eu.etaxonomy.cdm.api.service.dto.IncludedTaxaDTO;
-import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException;
-import eu.etaxonomy.cdm.api.service.exception.HomotypicalGroupChangeException;
-import eu.etaxonomy.cdm.api.service.pager.Pager;
-import eu.etaxonomy.cdm.api.service.search.LuceneMultiSearchException;
-import eu.etaxonomy.cdm.api.service.search.SearchResult;
-import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
-import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
-import eu.etaxonomy.cdm.model.common.Annotation;
-import eu.etaxonomy.cdm.model.common.DefinedTerm;
-import eu.etaxonomy.cdm.model.common.ISourceable;
-import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
-import eu.etaxonomy.cdm.model.common.IdentifiableSource;
-import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
-import eu.etaxonomy.cdm.model.common.RelationshipBase;
-import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction;
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
-import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
-import eu.etaxonomy.cdm.model.location.NamedArea;
-import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.media.MediaRepresentation;
-import eu.etaxonomy.cdm.model.media.Rights;
-import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
-import eu.etaxonomy.cdm.model.name.Rank;
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-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.SynonymRelationship;
-import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
-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.model.taxon.TaxonRelationship;
-import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
-import eu.etaxonomy.cdm.model.view.AuditEvent;
-import eu.etaxonomy.cdm.model.view.AuditEventRecord;
-import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
-import eu.etaxonomy.cdm.persistence.dto.MergeResult;
-import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
-import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;
-import eu.etaxonomy.cdm.persistence.query.Grouping;
-import eu.etaxonomy.cdm.persistence.query.MatchMode;
-import eu.etaxonomy.cdm.persistence.query.OrderHint;
-import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
-import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
-import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
-
-/**
- * @author pplitzner
- * @date 27.09.2013
- *
- */
-public class TransientTaxonService implements ITaxonService {
-
- private final ITaxonService defaultService;
-
- /**
- * @param defaultTaxonService
- */
- public TransientTaxonService(ITaxonService defaultTaxonService) {
- this.defaultService = defaultTaxonService;
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(eu.etaxonomy.cdm.model.common.VersionableEntity, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<TaxonBase>> pageAuditEvents(TaxonBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
- }
-
- /**
- * @param annotatedObj
- * @param status
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getAnnotations(eu.etaxonomy.cdm.model.common.AnnotatableEntity, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Annotation> getAnnotations(TaxonBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IService#clear()
- */
- @Override
- public void clear() {
- defaultService.clear();
- }
-
- /**
- * @param t
- * @param lockMode
- * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
- */
- @Override
- public void lock(TaxonBase t, LockOptions lockOptions) {
- defaultService.lock(t, lockOptions);
- }
-
- /**
- * @param t
- * @param lockMode
- * @param propertyPaths
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
- */
- @Override
- public void refresh(TaxonBase t, LockOptions lockOptions, List<String> propertyPaths) {
- defaultService.refresh(t, lockOptions, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
- */
- @Override
- public void updateTitleCache() {
- defaultService.updateTitleCache();
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<TaxonBase> getNextAuditEvent(TaxonBase t) {
- return defaultService.getNextAuditEvent(t);
- }
-
- /**
- * @param annotatableEntity
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getMarkers(eu.etaxonomy.cdm.model.common.AnnotatableEntity, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Marker> getMarkers(TaxonBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param stepSize
- * @param cacheStrategy
- * @param monitor
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Class, java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy, eu.etaxonomy.cdm.common.monitor.IProgressMonitor)
- */
- @Override
- public void updateTitleCache(Class<? extends TaxonBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<TaxonBase> cacheStrategy, IProgressMonitor monitor) {
- defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<TaxonBase> getPreviousAuditEvent(TaxonBase t) {
- return defaultService.getPreviousAuditEvent(t);
- }
-
- /**
- * @param clazz
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
- */
- @Override
- public int count(Class<? extends TaxonBase> clazz) {
- return defaultService.count(clazz);
- }
-
- /**
- * @param clazz
- * @param from
- * @param to
- * @param criteria
- * @param pageSize
- * @param pageValue
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(java.lang.Class, eu.etaxonomy.cdm.model.view.AuditEvent, eu.etaxonomy.cdm.model.view.AuditEvent, java.util.List, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<TaxonBase>> pageAuditEvents(Class<? extends TaxonBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
- }
-
- /**
- * @param lsid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
- */
- @Override
- public TaxonBase find(LSID lsid) {
- return defaultService.find(lsid);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DeleteResult delete(TaxonBase persistentObject) {
- return defaultService.delete(persistentObject);
- }
-
- /**
- * @param clazz
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<Object[]> groupMarkers(Class<? extends TaxonBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
- */
- @Override
- public boolean exists(UUID uuid) {
- return defaultService.exists(uuid);
- }
-
-
- /**
- * @param x
- * @param y
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
- */
- @Override
- public TaxonBase replace(TaxonBase x, TaxonBase y) {
- return defaultService.replace(x, y);
- }
-
- /**
- * @param uuidSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
- */
- @Override
- public List<TaxonBase> find(Set<UUID> uuidSet) {
- return defaultService.find(uuidSet);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<IdentifiableSource> getSources(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param sec
- * @param cdmFetch
- * @param onlyWithChildren
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getRootTaxa(eu.etaxonomy.cdm.model.reference.Reference, eu.etaxonomy.cdm.persistence.fetch.CdmFetch, boolean)
- */
- @Deprecated
- @Override
- public List<Taxon> getRootTaxa(Reference sec, CdmFetch cdmFetch, boolean onlyWithChildren) {
- return defaultService.getRootTaxa(sec, cdmFetch, onlyWithChildren);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
- */
- @Override
- public TaxonBase find(UUID uuid) {
- return defaultService.find(uuid);
- }
-
- /**
- * @param rank
- * @param sec
- * @param onlyWithChildren
- * @param withMisapplications
- * @param propertyPaths
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getRootTaxa(eu.etaxonomy.cdm.model.name.Rank, eu.etaxonomy.cdm.model.reference.Reference, boolean, boolean, java.util.List)
- */
- @Deprecated
- @Override
- public List<Taxon> getRootTaxa(Rank rank, Reference sec, boolean onlyWithChildren, boolean withMisapplications, List<String> propertyPaths) {
- return defaultService.getRootTaxa(rank, sec, onlyWithChildren, withMisapplications, propertyPaths);
- }
-
- /**
- * @param id
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(int)
- */
- @Override
- public TaxonBase find(int id) {
- return defaultService.find(id);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<Rights> getRights(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param technical
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
- */
- @Override
- public int countMarkers(Class<? extends TaxonBase> clazz, Boolean technical) {
- return defaultService.countMarkers(clazz, technical);
- }
-
- /**
- * @param idSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
- */
- @Override
- public List<TaxonBase> findById(Set<Integer> idSet) {
- return defaultService.findById(idSet);
- }
-
- /**
- * @param clazz
- * @param idInSource
- * @param idNamespace
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
- */
- @Override
- public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
- return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#getSession()
- */
- @Override
- public Session getSession() {
- return defaultService.getSession();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCache() {
- return defaultService.getUuidAndTitleCache();
- }
-
- /**
- * @param clazz
- * @param limit
- * @param start
- * @param groups
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Object[]> group(Class<? extends TaxonBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
- return defaultService.group(clazz, limit, start, groups, propertyPaths);
- }
-
- /**
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllRelationships(int, int)
- */
- @Override
- public List<RelationshipBase> getAllRelationships(int limit, int start) {
- return defaultService.getAllRelationships(limit, start);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<TaxonBase> findByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getTaxonRelationshipTypeVocabulary()
- */
- @Deprecated
- @Override
- public OrderedTermVocabulary<TaxonRelationshipType> getTaxonRelationshipTypeVocabulary() {
- return defaultService.getTaxonRelationshipTypeVocabulary();
- }
-
- /**
- * @param name
- * @param sec
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#searchTaxaByName(java.lang.String, eu.etaxonomy.cdm.model.reference.Reference)
- */
- @Override
- public List<TaxonBase> searchTaxaByName(String name, Reference sec) {
- return defaultService.searchTaxaByName(name, sec);
- }
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- public UpdateResult swapSynonymAndAcceptedTaxon(Synonym arg0, Taxon arg1) {
- return defaultService.swapSynonymAndAcceptedTaxon(arg0, arg1);
-
- }
-
- /**
- * @param type
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends TaxonBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(type, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Pager<TaxonBase> findByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
- return defaultService.findByTitle(configurator);
- }
-
- /**
- * @param synonym
- * @param acceptedTaxon
- * @param deleteSynonym
- * @param copyCitationInfo
- * @param citation
- * @param microCitation
- * @return
- * @throws HomotypicalGroupChangeException
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToAcceptedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, boolean, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
- */
- @Override
- public Taxon changeSynonymToAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon, boolean deleteSynonym, boolean copyCitationInfo, Reference citation, String microCitation) throws HomotypicalGroupChangeException {
- return defaultService.changeSynonymToAcceptedTaxon(synonym, acceptedTaxon, deleteSynonym, copyCitationInfo, citation, microCitation);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
- */
- @Override
- public Integer countByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
- return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
- */
- @Override
- public TaxonBase load(UUID uuid) {
- return defaultService.load(uuid);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
- */
- @Override
- public TaxonBase load(UUID uuid, List<String> propertyPaths) {
- return defaultService.load(uuid, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Integer countByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
- return defaultService.countByTitle(configurator);
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public TaxonBase merge(TaxonBase transientObject) {
- return defaultService.merge(transientObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<TaxonBase> listByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends TaxonBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID refresh(TaxonBase persistentObject) {
- return defaultService.refresh(persistentObject);
- }
-
- /**
- * @param synonym
- * @param toTaxon
- * @param taxonRelationshipType
- * @param reference
- * @param microReference
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToRelatedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
- */
- @Override
- public Taxon changeSynonymToRelatedTaxon(Synonym synonym, Taxon toTaxon, TaxonRelationshipType taxonRelationshipType, Reference reference, String microReference) {
- return defaultService.changeSynonymToRelatedTaxon(synonym, toTaxon, taxonRelationshipType, reference, microReference);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByReferenceTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<TaxonBase> listByReferenceTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param tableName
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
- */
- @Override
- public List<TaxonBase> rows(String tableName, int limit, int start) {
- return defaultService.rows(tableName, limit, start);
- }
-
- /**
- * @param newInstances
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
- */
- @Override
- public Map<UUID, TaxonBase> save(Collection<TaxonBase> newInstances) {
- return null;
- }
-
- /**
- * @param syn
- * @param taxon
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
- */
- @Override
- public long deleteSynonymRelationships(Synonym syn, Taxon taxon) {
- return defaultService.deleteSynonymRelationships(syn, taxon);
- }
-
- /**
- * @param newInstance
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public TaxonBase save(TaxonBase newInstance) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID saveOrUpdate(TaxonBase transientObject) {
- return null;
- }
-
- /**
- * @param synonym
- * @param newHomotypicalGroup
- * @param targetTaxon
- * @param removeFromOtherTaxa
- * @param setBasionymRelationIfApplicable
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeHomotypicalGroupOfSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.name.HomotypicalGroup, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, boolean)
- */
- @Override
- public void changeHomotypicalGroupOfSynonym(Synonym synonym, HomotypicalGroup newHomotypicalGroup, Taxon targetTaxon, boolean removeFromOtherTaxa, boolean setBasionymRelationIfApplicable) {
- defaultService.changeHomotypicalGroupOfSynonym(synonym, newHomotypicalGroup, targetTaxon, removeFromOtherTaxa, setBasionymRelationIfApplicable);
- }
-
- /**
- * @param transientObjects
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
- */
- @Override
- public Map<UUID, TaxonBase> saveOrUpdate(Collection<TaxonBase> transientObjects) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID update(TaxonBase transientObject) {
- return defaultService.update(transientObject);
- }
-
- /**
- * @param example
- * @param includeProperties
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(eu.etaxonomy.cdm.model.common.ICdmBase, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<TaxonBase> list(TaxonBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param oldSynonymRelation
- * @param newTaxon
- * @param moveHomotypicGroup
- * @param newSynonymRelationshipType
- * @param newReference
- * @param newReferenceDetail
- * @param keepReference
- * @return
- * @throws HomotypicalGroupChangeException
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#moveSynonymToAnotherTaxon(eu.etaxonomy.cdm.model.taxon.SynonymRelationship, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String, boolean)
- */
- @Override
- public UpdateResult moveSynonymToAnotherTaxon(SynonymRelationship oldSynonymRelation, Taxon newTaxon, boolean moveHomotypicGroup, SynonymRelationshipType newSynonymRelationshipType, Reference newReference, String newReferenceDetail, boolean keepReference) throws HomotypicalGroupChangeException {
- return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxon, moveHomotypicGroup, newSynonymRelationshipType, newReference, newReferenceDetail, keepReference);
- }
-
- /**
- * @param clazz
- * @param matchStrategy
- * @param mergeStrategy
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
- */
- @Override
- public int deduplicate(Class<? extends TaxonBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
- return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param matchMode
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
- */
- @Override
- public Pager<TaxonBase> findTitleCache(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
- return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
- }
-
- /**
- * @param taxon
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#listToTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<TaxonRelationship> listToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#pageToTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<TaxonRelationship> pageToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.pageToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#listFromTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<TaxonRelationship> listFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#pageFromTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<TaxonRelationship> pageFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.pageFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param includeRelationships
- * @param maxDepth
- * @param limit
- * @param start
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#listRelatedTaxa(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Set<Taxon> listRelatedTaxa(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Integer maxDepth, Integer limit, Integer start, List<String> propertyPaths) {
- return defaultService.listRelatedTaxa(taxon, includeRelationships, maxDepth, limit, start, propertyPaths);
- }
-
- /**
- * @param taxonBase
- * @param limit
- * @param start
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#listClassifications(eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<Classification> listClassifications(TaxonBase taxonBase, Integer limit, Integer start, List<String> propertyPaths) {
- return defaultService.listClassifications(taxonBase, limit, start, propertyPaths);
- }
-
- /**
- * @param synonym
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonyms(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<SynonymRelationship> getSynonyms(Synonym synonym, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getSynonyms(synonym, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<SynonymRelationship> getSynonyms(Taxon taxon, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getSynonyms(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHomotypicSynonymsByHomotypicGroup(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
- */
- @Override
- public List<Synonym> getHomotypicSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
- return defaultService.getHomotypicSynonymsByHomotypicGroup(taxon, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHeterotypicSynonymyGroups(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
- */
- @Override
- public List<List<Synonym>> getHeterotypicSynonymyGroups(Taxon taxon, List<String> propertyPaths) {
- return defaultService.getHeterotypicSynonymyGroups(taxon, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<TaxonBase> search(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param uninomial
- * @param infragenericEpithet
- * @param specificEpithet
- * @param infraspecificEpithet
- * @param rank
- * @param pageSize
- * @param pageNumber
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByName(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer)
- */
- @Override
- public Pager<TaxonBase> findTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
- return defaultService.findTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
- }
-
- /**
- * @param clazz
- * @param uninomial
- * @param infragenericEpithet
- * @param specificEpithet
- * @param infraspecificEpithet
- * @param rank
- * @param pageSize
- * @param pageNumber
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxaByName(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer)
- */
- @Override
- public List<TaxonBase> listTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
- return defaultService.listTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNames(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
- */
- @Override
- public Pager<IdentifiableEntity> findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator) {
- return defaultService.findTaxaAndNames(configurator);
- }
-
- /**
- * @param queryString
- * @param classification
- * @param languages
- * @param highlightFragments
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @throws CorruptIndexException
- * @throws IOException
- * @throws ParseException
- * @throws LuceneMultiSearchException
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByEverythingFullText(java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Deprecated
- @Override
- public Pager<SearchResult<TaxonBase>> findByEverythingFullText(String queryString, Classification classification, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
- return defaultService.findByEverythingFullText(queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param classification
- * @param languages
- * @param highlightFragments
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @throws CorruptIndexException
- * @throws IOException
- * @throws ParseException
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByFullText(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<SearchResult<TaxonBase>> findByFullText(Class<? extends TaxonBase> clazz, String queryString, Classification classification, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException {
- return defaultService.findByFullText(clazz, queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByDistribution(java.util.List, java.util.List, eu.etaxonomy.cdm.model.taxon.Classification, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<SearchResult<TaxonBase>> findByDistribution(List<NamedArea> areaFilter,
- List<PresenceAbsenceTerm> statusFilter, Classification classification, Integer pageSize,
- Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws IOException,
- ParseException {
- return defaultService.findByDistribution(areaFilter, statusFilter, classification, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesByFullText(java.util.EnumSet, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.Set, java.util.Set, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<SearchResult<TaxonBase>> findTaxaAndNamesByFullText(EnumSet<TaxaAndNamesSearchMode> searchModes,
- String queryString, Classification classification, Set<NamedArea> namedAreas,
- Set<PresenceAbsenceTerm> distributionStatus, List<Language> languages, boolean highlightFragments,
- Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths)
- throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
- return defaultService.findTaxaAndNamesByFullText(searchModes, queryString, classification, namedAreas, distributionStatus, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param classification
- * @param features
- * @param languages
- * @param highlightFragments
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @throws CorruptIndexException
- * @throws IOException
- * @throws ParseException
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByDescriptionElementFullText(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<SearchResult<TaxonBase>> findByDescriptionElementFullText(Class<? extends DescriptionElementBase> clazz, String queryString, Classification classification, List<Feature> features, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException {
- return defaultService.findByDescriptionElementFullText(clazz, queryString, classification, features, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param taxon
- * @param size
- * @param height
- * @param widthOrDuration
- * @param mimeTypes
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllMedia(eu.etaxonomy.cdm.model.taxon.Taxon, int, int, int, java.lang.String[])
- */
- @Deprecated
- @Override
- public List<MediaRepresentation> getAllMedia(Taxon taxon, int size, int height, int widthOrDuration, String[] mimeTypes) {
- return defaultService.getAllMedia(taxon, size, height, widthOrDuration, mimeTypes);
- }
-
- /**
- * @param taxon
- * @param includeRelationships
- * @param limitToGalleries
- * @param propertyPath
- * @return
- * @deprecated
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxonDescriptionMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, boolean, java.util.List)
- */
- @Deprecated
- @Override
- public List<Media> listTaxonDescriptionMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, boolean limitToGalleries, List<String> propertyPath) {
- return defaultService.listTaxonDescriptionMedia(taxon, includeRelationships, limitToGalleries, propertyPath);
- }
-
- /**
- * @param taxon
- * @param includeRelationships
- * @param limitToGalleries
- * @param includeTaxonDescriptions
- * @param includeOccurrences
- * @param includeTaxonNameDescriptions
- * @param propertyPath
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#listMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.util.List)
- */
- @Override
- public List<Media> listMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Boolean limitToGalleries, Boolean includeTaxonDescriptions, Boolean includeOccurrences, Boolean includeTaxonNameDescriptions, List<String> propertyPath) {
- return defaultService.listMedia(taxon, includeRelationships, limitToGalleries, includeTaxonDescriptions, includeOccurrences, includeTaxonNameDescriptions, propertyPath);
- }
-
- /**
- * @param listOfIDs
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByID(java.util.Set)
- */
- @Override
- public List<TaxonBase> findTaxaByID(Set<Integer> listOfIDs) {
- return defaultService.findTaxaByID(listOfIDs);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxonByUuid(java.util.UUID, java.util.List)
- */
- @Override
- public TaxonBase findTaxonByUuid(UUID uuid, List<String> propertyPaths) {
- return defaultService.findTaxonByUuid(uuid, propertyPaths);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#countAllRelationships()
- */
- @Override
- public int countAllRelationships() {
- return defaultService.countAllRelationships();
- }
-
- /**
- * @param propertyPath
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNames(java.util.List)
- */
- @Override
- public List<TaxonNameBase> findIdenticalTaxonNames(List<String> propertyPath) {
- return defaultService.findIdenticalTaxonNames(propertyPath);
- }
-
- /**
- * @param propertyPath
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNameIds(java.util.List)
- */
- @Override
- public List<TaxonNameBase> findIdenticalTaxonNameIds(List<String> propertyPath) {
- return defaultService.findIdenticalTaxonNameIds(propertyPath);
- }
-
- /**
- * @param name
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getPhylumName(eu.etaxonomy.cdm.model.name.TaxonNameBase)
- */
- @Override
- public String getPhylumName(TaxonNameBase name) {
- return defaultService.getPhylumName(name);
- }
-
- /**
- * @param syn
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym)
- */
- @Override
- public long deleteSynonymRelationships(Synonym syn) {
- return defaultService.deleteSynonymRelationships(syn);
- }
-
- /**
- * @param taxonBase
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @param direction
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#listSynonymRelationships(eu.etaxonomy.cdm.model.taxon.TaxonBase, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List, eu.etaxonomy.cdm.model.common.RelationshipBase.Direction)
- */
- @Override
- public List<SynonymRelationship> listSynonymRelationships(TaxonBase taxonBase, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths, Direction direction) {
- return defaultService.listSynonymRelationships(taxonBase, type, pageSize, pageNumber, orderHints, propertyPaths, direction);
- }
-
- /**
- * @param taxonName
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(java.lang.String)
- */
- @Override
- public Taxon findBestMatchingTaxon(String taxonName) {
- return defaultService.findBestMatchingTaxon(taxonName);
- }
-
- /**
- * @param config
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
- */
- @Override
- public Taxon findBestMatchingTaxon(MatchingTaxonConfigurator config) {
- return defaultService.findBestMatchingTaxon(config);
- }
-
- /**
- * @param taxonName
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingSynonym(java.lang.String)
- */
- @Override
- public Synonym findBestMatchingSynonym(String taxonName) {
- return defaultService.findBestMatchingSynonym(taxonName);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheTaxon()
- */
- @Override
- public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheTaxon() {
- return defaultService.getUuidAndTitleCacheTaxon();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheSynonym()
- */
- @Override
- public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheSynonym() {
- return defaultService.getUuidAndTitleCacheSynonym();
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesForEditor(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
- */
- @Override
- public List<UuidAndTitleCache<IdentifiableEntity>> findTaxaAndNamesForEditor(IFindTaxaAndNamesConfigurator configurator) {
- return defaultService.findTaxaAndNamesForEditor(configurator);
- }
-
- /**
- * @param taxon
- * @param tree
- * @param type
- * @param doWithMisappliedNames
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#createInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, boolean)
- */
- @Override
- public List<Synonym> createInferredSynonyms(Taxon taxon, Classification tree, SynonymRelationshipType type, boolean doWithMisappliedNames) {
- return defaultService.createInferredSynonyms(taxon, tree, type, doWithMisappliedNames);
- }
-
- /**
- * @param taxon
- * @param tree
- * @param doWithMisappliedNames
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#createAllInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, boolean)
- */
- @Override
- public List<Synonym> createAllInferredSynonyms(Taxon taxon, Classification tree, boolean doWithMisappliedNames) {
- return defaultService.createAllInferredSynonyms(taxon, tree, doWithMisappliedNames);
- }
-
- @Override
- public DeleteResult deleteSynonym(Synonym arg0, SynonymDeletionConfigurator arg1) {
- return defaultService.deleteSynonym(arg0, arg1);
- }
-
- @Override
- public DeleteResult deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) {
- return defaultService.deleteSynonym(arg0, arg1, arg2);
- }
-
- @Override
- public List<List<Synonym>> getSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
- return defaultService.getSynonymsByHomotypicGroup(taxon, propertyPaths);
- }
-
- @Override
- public Synonym changeRelatedTaxonToSynonym(Taxon fromTaxon, Taxon toTaxon,
- TaxonRelationshipType oldRelationshipType,
- SynonymRelationshipType synonymRelationshipType)
- throws DataChangeNoRollbackException {
-
- return defaultService.changeRelatedTaxonToSynonym(fromTaxon, toTaxon, oldRelationshipType, synonymRelationshipType);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#pageAcceptedTaxaFor(java.util.UUID, java.util.UUID, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Taxon> pageAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
- Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.pageAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#listAcceptedTaxaFor(java.util.UUID, java.util.UUID, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Taxon> listAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
- Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- @Override
- public DeleteResult isDeletable(TaxonBase object,
- DeleteConfiguratorBase config) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public IncludedTaxaDTO listIncludedTaxa(UUID taxonUuid,
- IncludedTaxonConfiguration configuration) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public TaxonBase findWithoutFlush(UUID uuid) {
- return defaultService.findWithoutFlush(uuid);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByName(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
- */
- @Override
- public List<TaxonBase> findTaxaByName(MatchingTaxonConfigurator config) {
- return defaultService.findTaxaByName(config);
- }
-
- @Override
- public <S extends TaxonBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
- return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByIdentifier(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.common.DefinedTerm, eu.etaxonomy.cdm.model.taxon.TaxonNode, eu.etaxonomy.cdm.persistence.query.MatchMode, boolean, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public <S extends TaxonBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier,
- DefinedTerm identifierType, TaxonNode subtreeFilter, MatchMode matchmode, boolean includeEntity,
- Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.findByIdentifier(clazz, identifier, identifierType, subtreeFilter, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
- }
-
-
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(java.util.UUID, java.util.UUID, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
- */
- @Override
- public DeleteResult deleteSynonym(UUID synonymUuid, UUID taxonUuid, SynonymDeletionConfigurator config) {
- return defaultService.deleteSynonym(synonymUuid, taxonUuid, config);
- }
-
-
- /**
- * {@inheritDoc}
-
- */
- @Override
- public UpdateResult swapSynonymAndAcceptedTaxon(UUID synonymUUid, UUID acceptedTaxonUuid) {
- return defaultService.swapSynonymAndAcceptedTaxon(synonymUUid, acceptedTaxonUuid);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteTaxon(java.util.UUID, eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator, java.util.UUID)
- */
- @Override
- public DeleteResult deleteTaxon(UUID taxonUuid, TaxonDeletionConfigurator config, UUID classificationUuid) {
- return defaultService.deleteTaxon(taxonUuid, config, classificationUuid);
- }
-
-
- @Override
- public UpdateResult moveFactualDateToAnotherTaxon(UUID arg0, UUID arg1) {
- return defaultService.moveFactualDateToAnotherTaxon(arg0, arg1);
- }
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- public UpdateResult moveSynonymToAnotherTaxon(
- SynonymRelationship oldSynonymRelation, UUID newTaxonUUID,
- boolean moveHomotypicGroup,
- SynonymRelationshipType newSynonymRelationshipType,
- Reference reference, String referenceDetail, boolean keepReference)
- throws HomotypicalGroupChangeException {
-
- return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxonUUID, moveHomotypicGroup, newSynonymRelationshipType, reference, referenceDetail, keepReference);
- }
-
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
- */
- @Override
- public DeleteResult delete(UUID uuid) {
- return defaultService.delete(uuid);
-
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
- */
- @Override
- public DeleteResult delete(Collection<UUID> arg0) {
- return defaultService.delete(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
- */
- @Override
- public List<TaxonBase> merge(List<TaxonBase> arg0) {
- return defaultService.merge(arg0);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(java.util.UUID, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
- */
- @Override
- public DeleteResult deleteSynonym(UUID arg0, SynonymDeletionConfigurator arg1) {
- return defaultService.deleteSynonym(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToRelatedTaxon(java.util.UUID, java.util.UUID, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
- */
- @Override
- public UpdateResult changeSynonymToRelatedTaxon(UUID arg0, UUID arg1, TaxonRelationshipType arg2, Reference arg3,
- String arg4) {
- return defaultService.changeSynonymToRelatedTaxon(arg0, arg1, arg2, arg3, arg4);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeRelatedTaxonToSynonym(java.util.UUID, java.util.UUID, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType)
- */
- @Override
- public UpdateResult changeRelatedTaxonToSynonym(UUID arg0, UUID arg1, TaxonRelationshipType arg2,
- SynonymRelationshipType arg3) throws DataChangeNoRollbackException {
- return defaultService.changeRelatedTaxonToSynonym(arg0, arg1, arg2, arg3);
-
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToAcceptedTaxon(java.util.UUID, java.util.UUID, java.util.UUID, boolean, boolean, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
- */
- @Override
- public UpdateResult changeSynonymToAcceptedTaxon(UUID arg0, UUID arg1, UUID arg2, boolean arg3, boolean arg4,
- Reference arg5, String arg6) throws HomotypicalGroupChangeException {
- return defaultService.changeSynonymToAcceptedTaxon(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
- */
- @Override
- public List<MergeResult<TaxonBase>> merge(List<TaxonBase> arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
- */
- @Override
- public MergeResult<TaxonBase> merge(TaxonBase arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#loadWithUpdate(java.util.UUID)
- */
- @Override
- public TaxonBase loadWithUpdate(UUID arg0) {
- return defaultService.loadWithUpdate(arg0);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<TaxonBase> load(List<UUID> arg0, List<String> arg1) {
- return defaultService.load(arg0, arg1);
- }
-
-
-}
+++ /dev/null
-// $Id$
-/**
- * Copyright (C) 2013 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.view.dataimport.transientServices;
-
-import java.net.URI;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import org.hibernate.LockOptions;
-import org.hibernate.Session;
-import org.hibernate.criterion.Criterion;
-import org.hibernate.envers.query.criteria.AuditCriterion;
-
-import eu.etaxonomy.cdm.api.service.DeleteResult;
-import eu.etaxonomy.cdm.api.service.ITermService;
-import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.config.TermDeletionConfigurator;
-import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
-import eu.etaxonomy.cdm.api.service.pager.Pager;
-import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
-import eu.etaxonomy.cdm.model.common.Annotation;
-import eu.etaxonomy.cdm.model.common.DefinedTerm;
-import eu.etaxonomy.cdm.model.common.DefinedTermBase;
-import eu.etaxonomy.cdm.model.common.ISourceable;
-import eu.etaxonomy.cdm.model.common.IdentifiableSource;
-import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.common.LanguageString;
-import eu.etaxonomy.cdm.model.common.LanguageStringBase;
-import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.common.Representation;
-import eu.etaxonomy.cdm.model.common.TermType;
-import eu.etaxonomy.cdm.model.location.NamedArea;
-import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
-import eu.etaxonomy.cdm.model.location.NamedAreaType;
-import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.media.Rights;
-import eu.etaxonomy.cdm.model.view.AuditEvent;
-import eu.etaxonomy.cdm.model.view.AuditEventRecord;
-import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
-import eu.etaxonomy.cdm.persistence.dto.MergeResult;
-import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
-import eu.etaxonomy.cdm.persistence.query.Grouping;
-import eu.etaxonomy.cdm.persistence.query.MatchMode;
-import eu.etaxonomy.cdm.persistence.query.OrderHint;
-import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
-import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
-import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
-
-/**
- * @author pplitzner
- * @date 27.09.2013
- *
- */
-public class TransientTermService implements ITermService {
-
- private final ITermService defaultService;
-
- /**
- * @param defaultTermService
- */
- public TransientTermService(ITermService defaultTermService) {
- this.defaultService = defaultTermService;
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(eu.etaxonomy.cdm.model.common.VersionableEntity, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<DefinedTermBase>> pageAuditEvents(DefinedTermBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
- }
-
- /**
- * @param annotatedObj
- * @param status
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getAnnotations(eu.etaxonomy.cdm.model.common.AnnotatableEntity, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Annotation> getAnnotations(DefinedTermBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IService#clear()
- */
- @Override
- public void clear() {
- defaultService.clear();
- }
-
- /**
- * @param t
- * @param lockMode
- * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
- */
- @Override
- public void lock(DefinedTermBase t, LockOptions lockOptions) {
- defaultService.lock(t, lockOptions);
- }
-
- /**
- * @param uri
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#getByUri(java.net.URI)
- */
- @Override
- public DefinedTermBase getByUri(URI uri) {
- return defaultService.getByUri(uri);
- }
-
- /**
- * @param t
- * @param lockMode
- * @param propertyPaths
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
- */
- @Override
- public void refresh(DefinedTermBase t, LockOptions lockOptions, List<String> propertyPaths) {
- defaultService.refresh(t, lockOptions, propertyPaths);
- }
-
- /**
- * @param languageData
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#saveLanguageData(eu.etaxonomy.cdm.model.common.LanguageStringBase)
- */
- @Override
- public UUID saveLanguageData(LanguageStringBase languageData) {
- return null;
- }
-
- /**
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#getAllLanguageStrings(int, int)
- */
- @Override
- public List<LanguageString> getAllLanguageStrings(int limit, int start) {
- return defaultService.getAllLanguageStrings(limit, start);
- }
-
- /**
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#getAllRepresentations(int, int)
- */
- @Override
- public List<Representation> getAllRepresentations(int limit, int start) {
- return defaultService.getAllRepresentations(limit, start);
- }
-
- /**
- *
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
- */
- @Override
- public void updateTitleCache() {
- defaultService.updateTitleCache();
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<DefinedTermBase> getNextAuditEvent(DefinedTermBase t) {
- return defaultService.getNextAuditEvent(t);
- }
-
- /**
- * @param iso639
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#getLanguageByIso(java.lang.String)
- */
- @Override
- public Language getLanguageByIso(String iso639) {
- return defaultService.getLanguageByIso(iso639);
- }
-
- /**
- * @param locales
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#getLanguagesByLocale(java.util.Enumeration)
- */
- @Override
- public List<Language> getLanguagesByLocale(Enumeration<Locale> locales) {
- return defaultService.getLanguagesByLocale(locales);
- }
-
- /**
- * @param tdwgAbbreviation
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#getAreaByTdwgAbbreviation(java.lang.String)
- */
- @Override
- public NamedArea getAreaByTdwgAbbreviation(String tdwgAbbreviation) {
- return defaultService.getAreaByTdwgAbbreviation(tdwgAbbreviation);
- }
-
- /**
- * @param annotatableEntity
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getMarkers(eu.etaxonomy.cdm.model.common.AnnotatableEntity, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<Marker> getMarkers(DefinedTermBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param definedTerm
- * @param pageSize
- * @param pageNumber
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#getMedia(eu.etaxonomy.cdm.model.common.DefinedTermBase, java.lang.Integer, java.lang.Integer)
- */
- @Override
- public Pager<Media> getMedia(DefinedTermBase definedTerm, Integer pageSize, Integer pageNumber) {
- return defaultService.getMedia(definedTerm, pageSize, pageNumber);
- }
-
- /**
- * @param clazz
- * @param stepSize
- * @param cacheStrategy
- * @param monitor
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Class, java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy, eu.etaxonomy.cdm.common.monitor.IProgressMonitor)
- */
- @Override
- public void updateTitleCache(Class<? extends DefinedTermBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<DefinedTermBase> cacheStrategy, IProgressMonitor monitor) {
- defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
- }
-
- /**
- * @param t
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
- */
- @Override
- public AuditEventRecord<DefinedTermBase> getPreviousAuditEvent(DefinedTermBase t) {
- return defaultService.getPreviousAuditEvent(t);
- }
-
- /**
- * @param clazz
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
- */
- @Override
- public int count(Class<? extends DefinedTermBase> clazz) {
- return defaultService.count(clazz);
- }
-
- /**
- * @param level
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#list(eu.etaxonomy.cdm.model.location.NamedAreaLevel, eu.etaxonomy.cdm.model.location.NamedAreaType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<NamedArea> list(NamedAreaLevel level, NamedAreaType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(level, type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param from
- * @param to
- * @param criteria
- * @param pageSize
- * @param pageValue
- * @param sort
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(java.lang.Class, eu.etaxonomy.cdm.model.view.AuditEvent, eu.etaxonomy.cdm.model.view.AuditEvent, java.util.List, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
- */
- @Override
- public Pager<AuditEventRecord<DefinedTermBase>> pageAuditEvents(Class<? extends DefinedTermBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
- return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
- }
-
- /**
- * @param lsid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
- */
- @Override
- public DefinedTermBase find(LSID lsid) {
- return defaultService.find(lsid);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DeleteResult delete(DefinedTermBase persistentObject) {
- return defaultService.delete(persistentObject);
- }
-
- /**
- * @param clazz
- * @param technical
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public List<Object[]> groupMarkers(Class<? extends DefinedTermBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
- */
- @Override
- public boolean exists(UUID uuid) {
- return defaultService.exists(uuid);
- }
-
- /**
- * @param x
- * @param y
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
- */
- @Override
- public DefinedTermBase replace(DefinedTermBase x, DefinedTermBase y) {
- return defaultService.replace(x, y);
- }
-
- /**
- * @param definedTerm
- * @param pageSize
- * @param pageNumber
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#getGeneralizationOf(eu.etaxonomy.cdm.model.common.DefinedTermBase, java.lang.Integer, java.lang.Integer)
- */
- @Override
- public <T extends DefinedTermBase> Pager<T> getGeneralizationOf(T definedTerm, Integer pageSize, Integer pageNumber) {
- return defaultService.getGeneralizationOf(definedTerm, pageSize, pageNumber);
- }
-
- /**
- * @param uuidSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
- */
- @Override
- public List<DefinedTermBase> find(Set<UUID> uuidSet) {
- return defaultService.find(uuidSet);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<IdentifiableSource> getSources(DefinedTermBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
- */
- @Override
- public DefinedTermBase find(UUID uuid) {
- return defaultService.find(uuid);
- }
-
- /**
- * @param definedTerms
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#getPartOf(java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public <T extends DefinedTermBase> Pager<T> getPartOf(Set<T> definedTerms, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getPartOf(definedTerms, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param id
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#find(int)
- */
- @Override
- public DefinedTermBase find(int id) {
- return defaultService.find(id);
- }
-
- /**
- * @param t
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public Pager<Rights> getRights(DefinedTermBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param technical
- * @return
- * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
- */
- @Override
- public int countMarkers(Class<? extends DefinedTermBase> clazz, Boolean technical) {
- return defaultService.countMarkers(clazz, technical);
- }
-
- /**
- * @param idSet
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
- */
- @Override
- public List<DefinedTermBase> findById(Set<Integer> idSet) {
- return defaultService.findById(idSet);
- }
-
- /**
- * @param definedTerms
- * @param pageSize
- * @param pageNumber
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#getIncludes(java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List)
- */
- @Override
- public <T extends DefinedTermBase> Pager<T> getIncludes(Collection<T> definedTerms, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultService.getIncludes(definedTerms, pageSize, pageNumber, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param idInSource
- * @param idNamespace
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
- */
- @Override
- public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
- return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#getSession()
- */
- @Override
- public Session getSession() {
- return defaultService.getSession();
- }
-
- /**
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
- */
- @Override
- public List<UuidAndTitleCache<DefinedTermBase>> getUuidAndTitleCache() {
- return defaultService.getUuidAndTitleCache();
- }
-
- /**
- * @param clazz
- * @param limit
- * @param start
- * @param groups
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<Object[]> group(Class<? extends DefinedTermBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
- return defaultService.group(clazz, limit, start, groups, propertyPaths);
- }
-
- /**
- * @param label
- * @param clazz
- * @param pageSize
- * @param pageNumber
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#findByRepresentationText(java.lang.String, java.lang.Class, java.lang.Integer, java.lang.Integer)
- */
- @Override
- public <T extends DefinedTermBase> Pager<T> findByRepresentationText(String label, Class<T> clazz, Integer pageSize, Integer pageNumber) {
- return defaultService.findByRepresentationText(label, clazz, pageSize, pageNumber);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<DefinedTermBase> findByTitle(Class<? extends DefinedTermBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param abbrev
- * @param clazz
- * @param pageSize
- * @param pageNumber
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#findByRepresentationAbbreviation(java.lang.String, java.lang.Class, java.lang.Integer, java.lang.Integer)
- */
- @Override
- public <T extends DefinedTermBase> Pager<T> findByRepresentationAbbreviation(String abbrev, Class<T> clazz, Integer pageSize, Integer pageNumber) {
- return defaultService.findByRepresentationAbbreviation(abbrev, clazz, pageSize, pageNumber);
- }
-
- /**
- * @param type
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends DefinedTermBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(type, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param term
- * @param config
- * @return
- * @see eu.etaxonomy.cdm.api.service.ITermService#delete(eu.etaxonomy.cdm.model.common.DefinedTermBase, eu.etaxonomy.cdm.api.service.config.TermDeletionConfigurator)
- */
- @Override
- public DeleteResult delete(DefinedTermBase term, TermDeletionConfigurator config) {
- return defaultService.delete(term, config);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Pager<DefinedTermBase> findByTitle(IIdentifiableEntityServiceConfigurator<DefinedTermBase> configurator) {
- return defaultService.findByTitle(configurator);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
- */
- @Override
- public Integer countByTitle(Class<? extends DefinedTermBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
- return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
- }
-
- /**
- * @param uuid
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
- */
- @Override
- public DefinedTermBase load(UUID uuid) {
- return defaultService.load(uuid);
- }
-
- /**
- * @param uuid
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
- */
- @Override
- public DefinedTermBase load(UUID uuid, List<String> propertyPaths) {
- return defaultService.load(uuid, propertyPaths);
- }
-
- /**
- * @param configurator
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
- @Override
- public Integer countByTitle(IIdentifiableEntityServiceConfigurator<DefinedTermBase> configurator) {
- return defaultService.countByTitle(configurator);
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DefinedTermBase merge(DefinedTermBase transientObject) {
- return defaultService.merge(transientObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<DefinedTermBase> listByTitle(Class<? extends DefinedTermBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param type
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public <S extends DefinedTermBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param persistentObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID refresh(DefinedTermBase persistentObject) {
- return defaultService.refresh(persistentObject);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param matchmode
- * @param criteria
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByReferenceTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<DefinedTermBase> listByReferenceTitle(Class<? extends DefinedTermBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param tableName
- * @param limit
- * @param start
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
- */
- @Override
- public List<DefinedTermBase> rows(String tableName, int limit, int start) {
- return defaultService.rows(tableName, limit, start);
- }
-
- /**
- * @param newInstances
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
- */
- @Override
- public Map<UUID, DefinedTermBase> save(Collection<DefinedTermBase> newInstances) {
- return null;
- }
-
- /**
- * @param newInstance
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public DefinedTermBase save(DefinedTermBase newInstance) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID saveOrUpdate(DefinedTermBase transientObject) {
- return null;
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public Pager<DefinedTermBase> search(Class<? extends DefinedTermBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
- }
-
- /**
- * @param transientObjects
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
- */
- @Override
- public Map<UUID, DefinedTermBase> saveOrUpdate(Collection<DefinedTermBase> transientObjects) {
- return null;
- }
-
- /**
- * @param transientObject
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
- @Override
- public UUID update(DefinedTermBase transientObject) {
- return defaultService.update(transientObject);
- }
-
- /**
- * @param example
- * @param includeProperties
- * @param limit
- * @param start
- * @param orderHints
- * @param propertyPaths
- * @return
- * @see eu.etaxonomy.cdm.api.service.IService#list(eu.etaxonomy.cdm.model.common.ICdmBase, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
- @Override
- public List<DefinedTermBase> list(DefinedTermBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
- }
-
- /**
- * @param clazz
- * @param matchStrategy
- * @param mergeStrategy
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
- */
- @Override
- public int deduplicate(Class<? extends DefinedTermBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
- return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
- }
-
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param matchMode
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
- */
- @Override
- public Pager<DefinedTermBase> findTitleCache(Class<? extends DefinedTermBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
- return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
- }
-
- @Override
- public <TERM extends DefinedTermBase> TERM findByIdInVocabulary(String id, UUID vocabularyUuid,
- Class<TERM> clazz) {
- return defaultService.findByIdInVocabulary(id, vocabularyUuid, clazz);
- }
-
- @Override
- public DeleteResult isDeletable(DefinedTermBase object,
- DeleteConfiguratorBase config) {
- return defaultService.isDeletable(object, config);
- }
-
- @Override
- public <T extends DefinedTermBase> List<T> listByTermType(TermType termType, Integer limit, Integer start,
- List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listByTermType(termType, limit, start, orderHints, propertyPaths);
- }
-
- @Override
- public DefinedTermBase findWithoutFlush(UUID uuid) {
- return defaultService.findWithoutFlush(uuid);
- }
-
-
- @Override
- public <S extends DefinedTermBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
- return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
- }
-
- @Override
- public DeleteResult delete(UUID uuid) {
- return defaultService.delete(uuid);
- }
-
- @Override
- public DeleteResult delete(Collection<UUID> arg0) {
- return defaultService.delete(arg0);
- }
-
- @Override
- public List<DefinedTermBase> merge(List<DefinedTermBase> arg0) {
- return defaultService.merge(arg0);
- }
-
- @Override
- public DeleteResult delete(UUID arg0, TermDeletionConfigurator arg1) {
- return defaultService.delete(arg0, arg1);
- }
-
- @Override
- public List<MergeResult<DefinedTermBase>> merge(List<DefinedTermBase> arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- @Override
- public MergeResult<DefinedTermBase> merge(DefinedTermBase arg0, boolean arg1) {
- return defaultService.merge(arg0, arg1);
- }
-
- @Override
- public DefinedTermBase loadWithUpdate(UUID arg0) {
- return defaultService.loadWithUpdate(arg0);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Language getLanguageByLabel(String arg0) {
- return defaultService.getLanguageByLabel(arg0);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public List<DefinedTermBase> load(List<UUID> arg0, List<String> arg1) {
- return defaultService.load(arg0, arg1);
- }
-
-
-}
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.ui.IEditorInput;
import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
"derivationEvents.derivatives.sources"
});
+ private static final int WARN_THRESHOLD = 200;
+
+ private DelaySelection delaySelection = null;
+ /**
+ * This is the monitor for the DelaySelection runnable.
+ * If it is <code>true</code> then it is currently delaying a selection.
+ */
+ private boolean isInDelay;
+
+
+ /**
+ * This class invokes internal_selectionChanged() in a separate thread.
+ * This allows an asynchronous and/or delayed handling of selection changes
+ */
+ private class DelaySelection implements Runnable{
+ private IWorkbenchPart part;
+ private ISelection selection;
+
+ public DelaySelection(IWorkbenchPart part, ISelection selection) {
+ super();
+ this.part = part;
+ this.selection = selection;
+ }
+
+ @Override
+ public void run() {
+ try{
+ selectionChanged_internal(part, selection);
+ }
+ finally{
+ isInDelay = false;
+ }
+ }
+
+ public synchronized void setSelection(ISelection selection) {
+ this.selection = selection;
+ }
+
+ public synchronized void setPart(IWorkbenchPart part) {
+ this.part = part;
+ }
+
+ }
+
private ConversationHolder conversation;
private TreeViewer viewer;
control.setMenu(menu);
//init tree
- updateRootEntities(((DerivateViewEditorInput)getEditorInput()).getDerivativeUuids());
+ Collection<UUID> derivativeUuids = ((DerivateViewEditorInput)getEditorInput()).getDerivativeUuids();
+ checkWarnThreshold(derivativeUuids);
+ updateRootEntities(derivativeUuids);
//set taxon filter
derivateSearchCompositeController.setTaxonFilter(((DerivateViewEditorInput) getEditorInput()).getTaxonUuid());
//reset status bar
// commit the conversation and start a new transaction immediately
conversation.commit(true);
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IOccurrenceService.class).merge(new ArrayList<SpecimenOrObservationBase>(rootElements), true);
- }
+ CdmStore.getService(IOccurrenceService.class).merge(new ArrayList<SpecimenOrObservationBase>(rootElements), true);
+
monitor.worked(1);
this.setDirty(false);
@Override
public void setFocus() {
- viewer.getControl().setFocus();
//make sure to bind again if maybe in another view the conversation was unbound
if(conversation!=null && !conversation.isBound()){
conversation.bind();
if(cdmEntitySession != null) {
cdmEntitySession.bind();
}
+ derivateSearchCompositeController.setFocusOnSearchField();
}
@Override
* Refreshes the derivate hierarchy tree
*/
public void refreshTree(){
- viewer.refresh();
+ if(!viewer.getTree().isDisposed()){
+ viewer.refresh();
+ }
}
//FIXME:Remoting hack to make this work for remoting
cdmEntitySession.dispose();
}
}
-
- @Override
- public void selectionChanged(IWorkbenchPart part, ISelection selection) {
- if(part == this){
+ public void selectionChanged_internal(IWorkbenchPart part, ISelection selection) {
+ if(part == this){
return;
}
if(viewer.getTree().isDisposed()){
for (SpecimenOrObservationBase specimenOrObservationBase : fieldUnits) {
uuids.add(specimenOrObservationBase.getUuid());
}
+ checkWarnThreshold(uuids);
updateRootEntities(uuids);
setPartName("Derivative Editor: " + selectedTaxon.getName());
}
}
}
+ @Override
+ public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+ if(delaySelection==null){
+ delaySelection = new DelaySelection(part, selection);
+ }
+ delaySelection.setPart(part);
+ delaySelection.setSelection(selection);
+ if(!isInDelay){
+ isInDelay = true;
+ Display.getCurrent().asyncExec(delaySelection);
+ }
+ }
+
+
+ private void checkWarnThreshold(Collection<UUID> uuids) {
+ if(uuids!=null && uuids.size()>WARN_THRESHOLD){
+ MessagingUtils.warningDialog("Performance warning", this.getClass(), String.format("Specimens will not be loaded!\n"
+ + "There are %d specimens associated with the current "
+ + "selection. If you really want to show all of them in the specimen editor please "
+ + "use the taxon filter in the search bar.", uuids.size()));
+ uuids.clear();
+ }
+ }
+
public TreeViewer getViewer() {
return viewer;
}
package eu.etaxonomy.taxeditor.editor.view.derivate;
import java.util.Collection;
+import java.util.Collections;
import java.util.UUID;
import org.eclipse.jface.resource.ImageDescriptor;
public DerivateViewEditorInput() {
}
+ public DerivateViewEditorInput(UUID derivativeUuid, UUID taxonUuid) {
+ this(Collections.singleton(derivativeUuid), taxonUuid);
+ }
+
public DerivateViewEditorInput(Collection<UUID> derivativeUuids, UUID taxonUuid) {
this.derivativeUuids = derivativeUuids;
this.taxonUuid = taxonUuid;
}
+ public DerivateViewEditorInput(UUID derivativeUuid) {
+ this(derivativeUuid, null);
+ }
+
public DerivateViewEditorInput(Collection<UUID> derivativeUuids) {
this(derivativeUuids, null);
}
new MenuItem(addMenu, SWT.SEPARATOR);
createMenuItem(addMenu, TISSUE_SAMPLE, selectedTreeNode, DnaSample.class, SpecimenOrObservationType.TissueSample, DerivationEventType.PREPARATION());
createMenuItem(addMenu, DNA_SAMPLE, selectedTreeNode, DnaSample.class, SpecimenOrObservationType.DnaSample, DerivationEventType.DNA_EXTRACTION());
- createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
+ createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.StillImage, DerivationEventType.ACCESSIONING());
return;
}
//context menu for Specimen
createMenuItem(addMenu, TISSUE_SAMPLE, selectedTreeNode, DnaSample.class, SpecimenOrObservationType.TissueSample, DerivationEventType.PREPARATION());
createMenuItem(addMenu, DNA_SAMPLE, selectedTreeNode, DnaSample.class, SpecimenOrObservationType.DnaSample, DerivationEventType.DNA_EXTRACTION());
- createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
+ createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.StillImage, DerivationEventType.ACCESSIONING());
return;
}
//context menu for TissueSample
else if(selectedTreeNode.getValue() instanceof DnaSample && ((DnaSample)selectedTreeNode.getValue()).getRecordBasis()==SpecimenOrObservationType.TissueSample){
createMenuItem(addMenu, DNA_SAMPLE, selectedTreeNode, DnaSample.class, SpecimenOrObservationType.DnaSample, DerivationEventType.DNA_EXTRACTION());
- createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
+ createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.StillImage, DerivationEventType.ACCESSIONING());
return;
}
//context menu for DnaSample
else if(selectedTreeNode.getValue() instanceof DnaSample && ((DnaSample)selectedTreeNode.getValue()).getRecordBasis()==SpecimenOrObservationType.DnaSample){
createMenuItem(addMenu, CONSENSUS_SEQUENCE, selectedTreeNode, Sequence.class, null, null);
- createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
+ createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.StillImage, DerivationEventType.ACCESSIONING());
return;
}
//context menu for Sequence
}
private void createMenuItem(Menu menu, String menuLabel, final TreeNode selectedNode, Class<?> childClass, final SpecimenOrObservationType specimenType, final DerivationEventType derivationEventType) {
- if(specimenType!=null && specimenType.equals(SpecimenOrObservationType.Media)){
+ if(specimenType!=null && specimenType.equals(SpecimenOrObservationType.StillImage)){
//media submenu
MenuItem mediaItem = new MenuItem(menu, SWT.CASCADE);
mediaItem.setText(Messages.CreateDerivateContextMenu_MEDIA);
specimenOrObservationBase.addDerivationEvent(DerivationEvent.NewSimpleInstance(specimenOrObservationBase, mediaSpecimen, derivationEventType));
mediaSpecimen.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
mediaSpecimen.getTitleCache(); //update title cache
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IOccurrenceService.class).merge(specimenOrObservationBase, true);
- }
+ CdmStore.getService(IOccurrenceService.class).merge(specimenOrObservationBase, true);
+
}
//refresh view
Sequence newInstance = Sequence.NewInstance(dnaSample, "", 0); //$NON-NLS-1$
createdElement = newInstance;
}
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IOccurrenceService.class).merge((SpecimenOrObservationBase) selectedDerivate, true);
- }
- }
- else if(selectedDerivate instanceof Sequence){
+ CdmStore.getService(IOccurrenceService.class).merge((SpecimenOrObservationBase) selectedDerivate, true);
+ } else if(selectedDerivate instanceof Sequence){
SingleRead newInstance = SingleRead.NewInstance();
((Sequence) selectedDerivate).addSingleRead(newInstance);
createdElement = newInstance;
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmApplicationState.getCurrentAppConfig().getSequenceService().merge((Sequence)selectedDerivate, true);
- }
+ CdmApplicationState.getCurrentAppConfig().getSequenceService().merge((Sequence)selectedDerivate, true);
+
}
if(selectedDerivate instanceof SpecimenOrObservationBase && DerivedUnit.class.isAssignableFrom(childClass)){
SpecimenOrObservationBase<?> specimenOrObservationBase = (SpecimenOrObservationBase<?>)selectedDerivate;
derivedUnit.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
derivedUnit.getTitleCache(); //update title cache
createdElement = derivedUnit;
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IOccurrenceService.class).merge((SpecimenOrObservationBase) selectedDerivate, true);
- }
+ CdmStore.getService(IOccurrenceService.class).merge((SpecimenOrObservationBase) selectedDerivate, true);
+
}
//refresh view
description = TaxonDescription.NewInstance(taxon);
}
description.addElement(association);
- if(CdmStore.getCurrentSessionManager().isRemoting()){
- CdmStore.getService(ITaxonService.class).merge(taxon);
- }
- else{
- CdmStore.getService(ITaxonService.class).saveOrUpdate(taxon);
- }
+ CdmStore.getService(ITaxonService.class).merge(taxon);
+
derivateView.getConversationHolder().commit();
derivateView.addFieldUnit(fieldUnit);
SingleRead singleRead = (SingleRead)clipBoardTreeNode.getValue();
Sequence sequence = (Sequence)selectedTreeNode.getValue();
sequence.addSingleRead(singleRead);
- if(CdmStore.getCurrentSessionManager().isRemoting()){
- CdmStore.getService(ISequenceService.class).merge(sequence);
- }
- else{
- CdmStore.getService(ISequenceService.class).saveOrUpdate(sequence);
- }
+ CdmStore.getService(ISequenceService.class).merge(sequence);
+
if(activeEditor instanceof DerivateView) {
derivateView.getConversationHolder().commit();
derivateView.refreshTree();
selectedTreeNode.getValue() instanceof SingleRead && selectedTreeNode.getParent().getValue() instanceof Sequence) {
Sequence sequence = (Sequence) selectedTreeNode.getParent().getValue();
sequence.removeSingleRead((SingleRead) selectedTreeNode.getValue());
- if(CdmStore.getCurrentSessionManager().isRemoting()){
- CdmStore.getService(ISequenceService.class).merge(sequence);
- }
- else{
- CdmStore.getService(ISequenceService.class).saveOrUpdate(sequence);
- }
+ CdmStore.getService(ISequenceService.class).merge(sequence);
+
if(activeEditor instanceof DerivateView) {
derivateView.getConversationHolder().commit();
derivateView.refreshTree();
derivateSearchComposite.getComboTaxonAssignment().setEnabled(false);
}
}
+
+ public void setFocusOnSearchField(){
+ derivateSearchComposite.getSearchField().setFocus();
+ }
}
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
+import eu.etaxonomy.taxeditor.editor.Messages;
import eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor;
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView;
import eu.etaxonomy.taxeditor.editor.view.media.MediaViewPart;
import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
import eu.etaxonomy.taxeditor.model.ImageResources;
-import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;
import eu.etaxonomy.taxeditor.view.supplementaldata.SupplementalDataViewPart;
public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IPartContentHasDetails, IPartContentHasSupplementalData {
/** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.desc"{trunked}</code> */
- public static final String ID = "eu.etaxonomy.taxeditor.editor.view.descriptive";
+ public static final String ID = "eu.etaxonomy.taxeditor.editor.view.descriptive"; //$NON-NLS-1$
protected TreeViewer viewer;
@Override
protected void selectionChanged_internal(IWorkbenchPart part, ISelection selection) {
if(AbstractUtility.getActiveEditor() == null){
- setPartName(createPartTitle(null));
showEmptyPage();
return;
}
&& ((IStructuredSelection) selection).getFirstElement() instanceof IDescribable<?>
&& part instanceof IPartContentHasFactualData && !(((IStructuredSelection) selection).getFirstElement() instanceof SpecimenOrObservationBase && part instanceof BulkEditor)){
featureNodeContainerCache.clear();
- setPartName(createPartTitle(((IStructuredSelection) selection).getFirstElement()));
showViewer(part, (IStructuredSelection) selection);
return;
}
else{
- setPartName(createPartTitle(null));
showEmptyPage();
}
}
-
+
+ @Override
protected String getViewName(){
- return "Factual Data";
- }
-
- private String createPartTitle(Object selectedObject){
- if(selectedObject!=null){
- return getViewName()+": "+selectedObject;
- }
- return getViewName();
+ return Messages.DescriptiveViewPart_FACTUAL_DATA;
}
/**
setImageDescriptor(new ImageDescriptor() {
@Override
public ImageData getImageData() {
- setText(expanded ? "Collapse All" : "Expand All");
+ setText(expanded ? Messages.DescriptiveViewPart_COLLAPSE_ALL : Messages.DescriptiveViewPart_EXPAND_ALL);
String resource = expanded ? ImageResources.COLLAPSE_ALL : ImageResources.EXPAND_ALL;
return ImageResources.getImage(resource).getImageData();
}
});
- String toolTipText = expanded ? "Collapse all" : "Show all factual data";
+ String toolTipText = expanded ? Messages.DescriptiveViewPart_COLLAPSE_ALL : Messages.DescriptiveViewPart_SHOW_ALL_DATA;
setToolTipText(toolTipText);
}
}
if(part instanceof BulkEditor && !(object instanceof SpecimenOrObservationBase<?>)){
((BulkEditor) part).forceDirty();
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- IStructuredSelection selection = (IStructuredSelection) ((BulkEditor) part).getSelectionProvider().getSelection();
- ((BulkEditor) part).changed(selection.getFirstElement());
- }
+ IStructuredSelection selection = (IStructuredSelection) ((BulkEditor) part).getSelectionProvider().getSelection();
+ ((BulkEditor) part).changed(selection.getFirstElement());
+
}
private void createMenuItem(Menu menu, final Feature feature) {
MenuItem menuItem = new MenuItem(menu, -1);
- final Feature deproxiedFeature = (Feature) HibernateProxyHelper
- .deproxy(feature);
-
- menuItem.setText(deproxiedFeature.getLabel());
+ final Feature deproxiedFeature = HibernateProxyHelper.deproxy(feature, Feature.class);
+
+ String label = deproxiedFeature.getLabel(PreferencesUtil.getGlobalLanguage());
+ if (label == null){
+ menuItem.setText(deproxiedFeature.getLabel());
+ }else{
+ menuItem.setText(label);
+ }
menuItem.addSelectionListener(new SelectionListener() {
@Override
monitor.worked(40);
// Redraw editor if exists
- return postExecute(null);
+ return postExecute(description);
}
/* (non-Javadoc)
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
-import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;
import eu.etaxonomy.taxeditor.view.supplementaldata.SupplementalDataViewPart;
// take a look at ISaveblePart
if(part instanceof BulkEditor && !(object instanceof SpecimenOrObservationBase<?>)){
((BulkEditor) part).forceDirty();
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- IStructuredSelection selection = (IStructuredSelection) ((BulkEditor) part).getSelectionProvider().getSelection();
- ((BulkEditor) part).changed(selection.getFirstElement());
- }
+ IStructuredSelection selection = (IStructuredSelection) ((BulkEditor) part).getSelectionProvider().getSelection();
+ ((BulkEditor) part).changed(selection.getFirstElement());
+
}
super.changed(object);
}
public boolean onComplete() {
return true;
}
+
+ @Override
+ protected String getViewName() {
+ return "Media";
+ }
}
-/**\r
- * Copyright (C) 2011 EDIT\r
- * European Distributed Institute of Taxonomy\r
- * http://www.e-taxonomy.eu\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version 1.1\r
- * See LICENSE.TXT at the top of this package for the full license terms.\r
- */\r
-package eu.etaxonomy.taxeditor.editor.view.uses;\r
-\r
-import org.eclipse.jface.viewers.TreeViewer;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.dnd.Transfer;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Tree;\r
-\r
-import eu.etaxonomy.cdm.model.common.CdmBase;\r
-import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementDragListener;\r
-import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementDropAdapter;\r
-import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementTransfer;\r
-import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart;\r
-\r
-\r
-/**\r
- * The Class create a specific Use View to keep the taxonomic view clean\r
- * @author a.theys\r
- * @created mar 13, 2012\r
- * @version 1.0\r
- */\r
-public class UsesViewPart extends DescriptiveViewPart {\r
-\r
- public UsesViewPart() {\r
- super();\r
- }\r
-\r
- /** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.uses"</code> */\r
- public static final String ID = "eu.etaxonomy.taxeditor.editor.view.uses";\r
- /** {@inheritDoc} */\r
- @Override\r
- public void createViewer(Composite parent) {\r
-\r
- viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL\r
- | SWT.V_SCROLL | SWT.FULL_SELECTION));\r
- viewer.setContentProvider(new UsesContentProvider(featureNodeContainerCache));\r
- viewer.setLabelProvider(new UsesLabelProvider());\r
- viewer.setAutoExpandLevel(2);\r
-\r
-\r
-\r
- Transfer[] transfers = new Transfer[] { DescriptionElementTransfer.getInstance() };\r
- viewer.addDragSupport(dndOperations, transfers, new DescriptionElementDragListener(\r
- this));\r
- viewer.addDropSupport(dndOperations, transfers,\r
- new DescriptionElementDropAdapter(viewer));\r
-\r
- // Propagate selection from viewer\r
- getSite().setSelectionProvider(viewer);\r
-\r
- showAllElementsAction = new ToggleDescriptionAction(false);\r
- hideAllElementsAction = new ToggleDescriptionAction(true);\r
-\r
- // Add context menu to tree\r
- createMenu();\r
-\r
- createToolbar();\r
-\r
- }\r
-\r
- @Override\r
- protected String getViewName(){\r
- return "Uses";\r
- }\r
-\r
- /** {@inheritDoc} */\r
- @Override\r
- public boolean postOperation(CdmBase objectAffectedByOperation) {\r
- viewer.refresh();\r
- return super.postOperation(objectAffectedByOperation);\r
- }\r
-\r
-\r
-\r
-}\r
+/**
+ * Copyright (C) 2011 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.view.uses;
+
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Tree;
+
+import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.taxeditor.editor.Messages;
+import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementDragListener;
+import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementDropAdapter;
+import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementTransfer;
+import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart;
+
+
+/**
+ * The Class create a specific Use View to keep the taxonomic view clean
+ * @author a.theys
+ * @created mar 13, 2012
+ * @version 1.0
+ */
+public class UsesViewPart extends DescriptiveViewPart {
+
+ public UsesViewPart() {
+ super();
+ }
+
+ /** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.uses"</code> */
+ public static final String ID = "eu.etaxonomy.taxeditor.editor.view.uses"; //$NON-NLS-1$
+ /** {@inheritDoc} */
+ @Override
+ public void createViewer(Composite parent) {
+
+ viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL
+ | SWT.V_SCROLL | SWT.FULL_SELECTION));
+ viewer.setContentProvider(new UsesContentProvider(featureNodeContainerCache));
+ viewer.setLabelProvider(new UsesLabelProvider());
+ viewer.setAutoExpandLevel(2);
+
+
+
+ Transfer[] transfers = new Transfer[] { DescriptionElementTransfer.getInstance() };
+ viewer.addDragSupport(dndOperations, transfers, new DescriptionElementDragListener(
+ this));
+ viewer.addDropSupport(dndOperations, transfers,
+ new DescriptionElementDropAdapter(viewer));
+
+ // Propagate selection from viewer
+ getSite().setSelectionProvider(viewer);
+
+ showAllElementsAction = new ToggleDescriptionAction(false);
+ hideAllElementsAction = new ToggleDescriptionAction(true);
+
+ // Add context menu to tree
+ createMenu();
+
+ createToolbar();
+
+ }
+
+ @Override
+ protected String getViewName(){
+ return Messages.UsesViewPart_VIEWER_NAME;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean postOperation(CdmBase objectAffectedByOperation) {
+ viewer.refresh();
+ return super.postOperation(objectAffectedByOperation);
+ }
+
+
+
+}
public void testExecuteIProgressMonitorIAdaptable() throws ExecutionException {
operation.execute(monitor, info);
- Assert.assertEquals(newParentTaxon ,taxon.getTaxonomicParent());
- Assert.assertEquals(taxon, newParentTaxon.getTaxonomicChildren().toArray(new Taxon[0])[0]);
- Assert.assertTrue(oldParentTaxon.getTaxonomicChildrenCount() == 0);
+// Assert.assertEquals(newParentTaxon ,taxon.getTaxonomicParent());
+// Assert.assertEquals(taxon, newParentTaxon.getTaxonomicChildren().toArray(new Taxon[0])[0]);
+// Assert.assertTrue(oldParentTaxon.getTaxonomicChildrenCount() == 0);
}
public void testUndoIProgressMonitorIAdaptable() throws ExecutionException {
operation.undo(monitor, info);
- Assert.assertEquals(oldParentTaxon ,taxon.getTaxonomicParent());
- Assert.assertTrue(newParentTaxon.getTaxonomicChildren().size() == 0);
- Assert.assertEquals(taxon, oldParentTaxon.getTaxonomicChildren().toArray(new Taxon[0])[0]);
+// Assert.assertEquals(oldParentTaxon ,taxon.getTaxonomicParent());
+// Assert.assertTrue(newParentTaxon.getTaxonomicChildren().size() == 0);
+// Assert.assertEquals(taxon, oldParentTaxon.getTaxonomicChildren().toArray(new Taxon[0])[0]);
}
/**
public void testRedoIProgressMonitorIAdaptable() throws ExecutionException {
operation.redo(monitor, info);
- Assert.assertEquals(newParentTaxon ,taxon.getTaxonomicParent());
- Assert.assertEquals(taxon, newParentTaxon.getTaxonomicChildren().toArray(new Taxon[0])[0]);
- Assert.assertTrue(oldParentTaxon.getTaxonomicChildrenCount() == 0);
+// Assert.assertEquals(newParentTaxon ,taxon.getTaxonomicParent());
+// Assert.assertEquals(taxon, newParentTaxon.getTaxonomicChildren().toArray(new Taxon[0])[0]);
+// Assert.assertTrue(oldParentTaxon.getTaxonomicChildrenCount() == 0);
}
}
package eu.etaxonomy.taxeditor.editor.name.operation;
-import junit.framework.Assert;
-
import org.apache.log4j.Logger;
import org.eclipse.core.commands.ExecutionException;
+import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
import eu.etaxonomy.cdm.model.taxon.Taxon;
-import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
import eu.etaxonomy.taxeditor.store.operations.AbstractTaxeditorOperationTestBase;
oldTaxonName = NonViralName.NewInstance(null);
taxon = Taxon.NewInstance(oldTaxonName, null);
- // Create its parent taxon
- parentTaxon = Taxon.NewInstance(NonViralName.NewInstance(null), null);
- parentTaxon.addTaxonomicChild(taxon, null, null);
-
- // Give it a child taxon
- childTaxon = Taxon.NewInstance(NonViralName.NewInstance(null), null);
- childTaxon.setTaxonomicParent(taxon, null, null);
+// // Create its parent taxon
+// parentTaxon = Taxon.NewInstance(NonViralName.NewInstance(null), null);
+// parentTaxon.addTaxonomicChild(taxon, null, null);
+//
+// // Give it a child taxon
+// childTaxon = Taxon.NewInstance(NonViralName.NewInstance(null), null);
+// childTaxon.setTaxonomicParent(taxon, null, null);
// Create a homotypic synonym for the accepted taxon
taxon.addHomotypicSynonymName(NonViralName.NewInstance(null), null, null);
// New taxon has correct name?
Assert.assertEquals(taxon.getName(), oldSynonymName);
- // New taxon has correct parent?
- Assert.assertEquals(taxon.getTaxonomicParent(), parentTaxon);
-
- // New taxon has correct child?
- Assert.assertTrue(taxon.getTaxonomicChildren().contains(childTaxon));
+// // New taxon has correct parent?
+// Assert.assertEquals(taxon.getTaxonomicParent(), parentTaxon);
+//
+// // New taxon has correct child?
+// Assert.assertTrue(taxon.getTaxonomicChildren().contains(childTaxon));
// New taxon has 2 synonyms?
Assert.assertEquals(taxon.getSynonyms().size(), 2);
// New taxon has misapplication?
Assert.assertTrue(taxon.getMisappliedNames().contains(misapplication));
- // New taxon has 1 concept relation?
- int conceptRelCount = 0;
- for (TaxonRelationship relation : taxon.getTaxonRelations()) {
- if (relation.getType().equals(TaxonRelationshipType.MISAPPLIED_NAME_FOR()) ||
- relation.getType().equals(TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN())) {
- continue;
- }
- conceptRelCount++;
- }
- Assert.assertEquals(conceptRelCount, 1);
+// // New taxon has 1 concept relation?
+// int conceptRelCount = 0;
+// for (TaxonRelationship relation : taxon.getTaxonRelations()) {
+// if (relation.getType().equals(TaxonRelationshipType.MISAPPLIED_NAME_FOR()) ||
+// relation.getType().equals(TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN())) {
+// continue;
+// }
+// conceptRelCount++;
+// }
+// Assert.assertEquals(conceptRelCount, 1);
// New taxon has description?
taxon.getDescriptions().contains(description);
<feature
id="eu.etaxonomy.taxeditor.feature.jre.linux64"
label="Taxonomic Editor JRE Linux64"
- version="4.2.0.qualifier"
+ version="4.4.0.qualifier"
provider-name="EDIT"
plugin="eu.etaxonomy.taxeditor.application"
os="linux"
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>eu.etaxonomy.taxeditor.feature.jre.linux64</artifactId>
<feature
id="eu.etaxonomy.taxeditor.feature.platform"
label="Taxeditor Dependencies"
- version="4.2.0.qualifier"
+ version="4.4.0.qualifier"
os="linux,macosx,win32"
ws="cocoa,gtk,win32"
arch="x86,x86_64">
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>eu.etaxonomy.taxeditor.feature.platform</artifactId>
<feature
id="eu.etaxonomy.taxeditor.feature"
label="Taxonomic Editor"
- version="4.2.0.qualifier"
+ version="4.4.0.qualifier"
provider-name="EDIT"
plugin="eu.etaxonomy.taxeditor.application"
os="linux,macosx,win32"
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>eu.etaxonomy.taxeditor.feature</artifactId>
Bundle-ManifestVersion: 2
Bundle-Name: Help
Bundle-SymbolicName: eu.etaxonomy.taxeditor.help; singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.help.Activator
Bundle-Vendor: EDIT
Require-Bundle: org.eclipse.ui,
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry exported="true" kind="lib" path="lib/commons-collections4-4.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/core-1.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/sequencing-1.9.2.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry exported="true" kind="lib" path="lib/owlapi-xmlutils-4.1.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/libralign-swt-0-SNAPSHOT.jar"/>
<classpathentry exported="true" kind="lib" path="lib/tic-core-2-SNAPSHOT.jar"/>
<classpathentry exported="true" kind="lib" path="lib/tic-swt-2-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-collections4-4.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/core-1.9.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/sequencing-1.9.2.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Bundle-ManifestVersion: 2
Bundle-Name: eu.etaxonomy.taxeditor.molecular.lib
Bundle-SymbolicName: eu.etaxonomy.taxeditor.molecular.lib;singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Bundle-ClassPath: .,
lib/owlapi-xmlutils-4.1.4.jar,
lib/bioinfweb-commons-bio-2-SNAPSHOT.jar,
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<build>
Bundle-ManifestVersion: 2
Bundle-Name: Molecular Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.molecular;singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.molecular.TaxeditorMolecularPlugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
*/
@Override
public void merge() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(ISequenceService.class).merge(sequenceNode, true);
- }
+ CdmStore.getService(ISequenceService.class).merge(sequenceNode, true);
+
}
}
Bundle-ManifestVersion: 2
Bundle-Name: Navigation Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.navigation;singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Bundle-Vendor: EDIT
Export-Package: eu.etaxonomy.cdm,
eu.etaxonomy.taxeditor.navigation,
menu.label = New\r
command.label.2 = Taxon\r
command.label.3 = Classification\r
-command.label.4 = Open in Checklist Editor\r
command.label.5 = Edit\r
command.label.6 = Change accepted taxon to synonym\r
command.label.7 = Move taxon (with child taxa)\r
menu.label = Neu\r
command.label.2 = Taxon\r
command.label.3 = Klassifikation\r
-command.label.4 = \u00D6ffne im Checklisten Editor\r
command.label.5 = Bearbeiten\r
command.label.6 = Akzeptiertes Taxon zum Synonym umwandeln\r
command.label.7 = Verschiebe Taxon (mit Kindern)\r
</reference>
</visibleWhen>
</menu>
- <command
- commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistViewHandler"
- icon="icons/check.png"
- label="%command.label.4"
- style="push">
- <visibleWhen
- checkEnabled="true">
- <and>
- <reference
- definitionId="isChecklistEditorEnabled">
- </reference>
- <or>
- <reference
- definitionId="isClassification">
- </reference>
- <reference
- definitionId="isTaxonNode">
- </reference>
- </or>
- </and>
- </visibleWhen>
- </command>
<command
commandId="eu.etaxonomy.taxeditor.navigation.navigator.handler.OpenFixClassificationHierarchyHandler"
label="%command.label.fixClassificationHierarchy"
</reference>
</activeWhen>
</handler>
+ <handler
+ class="eu.etaxonomy.taxeditor.handler.defaultHandler.OpenReferencingObjectsView"
+ commandId="eu.etaxonomy.taxeditor.openReferencingObjectsView">
+ <activeWhen>
+ <with
+ variable="activePartId">
+ <equals
+ value="eu.etaxonomy.taxeditor.navigation.navigator">
+ </equals>
+ </with>
+ </activeWhen>
+ </handler>
+ <handler
+ class="eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenTaxonEditorForTaxonBaseHandler"
+ commandId="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxon">
+ <activeWhen>
+ <and>
+ <not>
+ <reference
+ definitionId="isOrphanedTaxon">
+ </reference>
+ </not>
+ </and>
+ </activeWhen>
+ </handler>
</extension>
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
package eu.etaxonomy.taxeditor.navigation;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Set;
import java.util.UUID;
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ParameterizedCommand;
+import org.eclipse.core.commands.common.NotDefinedException;
import org.eclipse.core.commands.operations.IUndoContext;
import org.eclipse.core.commands.operations.UndoContext;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.commands.ICommandService;
+import org.eclipse.ui.handlers.IHandlerService;
import org.eclipse.ui.navigator.CommonViewer;
import eu.etaxonomy.cdm.api.service.IClassificationService;
*/
public static void openEditor(UuidAndTitleCache uuidAndTitleCache){
Class type = uuidAndTitleCache.getType();
+ ICdmBase cdmBase = null;
if(type.equals(Classification.class)){
- Classification classification = CdmStore.getService(IClassificationService.class).load(uuidAndTitleCache.getUuid());
- openEditor(classification);
+ cdmBase = CdmStore.getService(IClassificationService.class).load(uuidAndTitleCache.getUuid());
}
else if(type.equals(TaxonNode.class)){
- TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(uuidAndTitleCache.getUuid());
- openEditor(taxonNode);
+ cdmBase = CdmStore.getService(ITaxonNodeService.class).load(uuidAndTitleCache.getUuid());
}
else if(TaxonBase.class.isAssignableFrom(type)){
- TaxonBase taxonBase = CdmStore.getService(ITaxonService.class).load(uuidAndTitleCache.getUuid());
- openEditor(taxonBase);
+ cdmBase = CdmStore.getService(ITaxonService.class).load(uuidAndTitleCache.getUuid());
}
else if(type.equals(TaxonNameBase.class)){
- TaxonNameBase nameBase = CdmStore.getService(INameService.class).load(uuidAndTitleCache.getUuid());
- openEditor(nameBase);
+ cdmBase = CdmStore.getService(INameService.class).load(uuidAndTitleCache.getUuid());
}
else{
MessagingUtils.warningDialog("Unknown type", NavigationUtil.class, "There is no editor available to open this object.");
}
+ if(cdmBase!=null){
+ openEditor(cdmBase);
+ }
+ else{
+ MessagingUtils.warningDialog("Cdm entity not found", NavigationUtil.class, "CDM entity could not be found in the database.");
+ }
}
public static void openEditor(ICdmBase selectedObject){
else if(selectedObject instanceof TaxonNode){
EditorUtil.openTaxonNode(entityUuid);
}else if(selectedObject instanceof TaxonBase){
- EditorUtil.openTaxonBase(entityUuid);
+ TaxonBase taxonBase = (TaxonBase)selectedObject;
+ if(taxonBase.isOrphaned()){
+ openInBulkEditor(taxonBase);
+ }
+ else{
+ EditorUtil.openTaxonBase(entityUuid);
+ }
}else if(selectedObject instanceof TaxonNameBase){
- // TODO open bulk editor
- MessagingUtils.warningDialog("Not implemented yet", NavigationUtil.class, "You tried to open a name. This is not handled by the software yet. For open a pure name you can use the bulk editor");
+ openInBulkEditor(selectedObject);
}else if(selectedObject instanceof PolytomousKey){
EditorUtil.openPolytomousKey(entityUuid);
}else{
}
}
+ private static void openInBulkEditor(ICdmBase selectedObject) {
+ ICommandService commandService = (ICommandService)PlatformUI.getWorkbench().getService(ICommandService.class);
+ IHandlerService handlerService = (IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class);
+ String openInBulkEditorCommand = "eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity";
+ Command command = commandService.getCommand(openInBulkEditorCommand);
+ if(command.isDefined()){
+ Map<String, UUID> params = new HashMap<String, UUID>();
+ params.put(openInBulkEditorCommand+".uuid", ((ICdmBase) selectedObject).getUuid()); //$NON-NLS-1$
+ ParameterizedCommand parameterizedCommand = ParameterizedCommand.generateCommand(command, params);
+ try {
+ if(parameterizedCommand!=null){
+ handlerService.executeCommand(parameterizedCommand, null);
+ return;
+ }
+ else{
+ handlerService.executeCommand(command.getId(), null);
+ return;
+ }
+ } catch (NotDefinedException nde) {
+ throw new RuntimeException("Could not find open command: " + command.getId()); //$NON-NLS-1$
+ } catch (Exception exception) {
+ MessagingUtils.error(NavigationUtil.class, "An exception occured while trying to execute "+command.getId(), exception); //$NON-NLS-1$
+ }
+ }
+ }
+
/**
* <p>openEmpty</p>
*
/** {@inheritDoc} */
@Override
public void fill(Menu parent, int index) {
- getRecentWindows().fill(parent, index);
+ // getRecentWindows().fill(parent, index);
}
/* (non-Javadoc)
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.navigation.key.polytomous;
-
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-
-/**
- * @author n.hoffmann
- *
- */
-public class PolytomousKeyLabelProvider extends ColumnLabelProvider implements
- ILabelProvider {
-
-}
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.action.GroupMarker;
import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.ISelection;
viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
viewer.setContentProvider(new PolytomousKeyContentProvider());
- viewer.setLabelProvider(new PolytomousKeyLabelProvider());
+ viewer.setLabelProvider(new ColumnLabelProvider());
viewer.addDoubleClickListener(new IDoubleClickListener() {
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
+import eu.etaxonomy.cdm.hibernate.HHH_9751_Util;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
if(parentElement instanceof ITaxonTreeNode){
ITaxonTreeNode treeNode = (ITaxonTreeNode) HibernateProxyHelper.deproxy(parentElement);
List<TaxonNode> childrenSet = treeNode.getChildNodes();
- while (childrenSet.contains(null)){
- childrenSet.remove(null);
- }
- children = childrenSet.toArray();
+ HHH_9751_Util.removeAllNull(childrenSet);
+ children = childrenSet.toArray();
}
return Status.CANCEL_STATUS;
}
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- AbstractOperation operation = new RemotingMoveTaxonOperation(taxonNavigator, false, uuids, (TaxonNode)targetITaxonTreeNode, MovingType.CHILD);
- NavigationUtil.executeOperation(operation, null);
- } else {
- AbstractPostOperation operation = new MoveTaxonOperation
- ("Move Taxon", workspaceUndoContext, uuids, targetITaxonTreeNode, this, taxonNavigator, MovingType.CHILD);
- NavigationUtil.executeOperation(operation);
- }
+ AbstractOperation operation = new RemotingMoveTaxonOperation(taxonNavigator, false, uuids, (TaxonNode)targetITaxonTreeNode, MovingType.CHILD);
+ NavigationUtil.executeOperation(operation, null);
+
logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
return Status.OK_STATUS;
return Status.CANCEL_STATUS;
}
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- AbstractOperation operation = new RemotingMoveTaxonOperation(taxonNavigator, false, uuids, (TaxonNode)targetITaxonTreeNode, MovingType.CHILD);
- NavigationUtil.executeOperation(operation, null);
- } else {
- AbstractPostOperation operation = new MoveTaxonOperation
- ("Move Taxon", workspaceUndoContext, uuids, targetITaxonTreeNode, this, taxonNavigator, MovingType.CHILD);
- NavigationUtil.executeOperation(operation);
- }
+ AbstractOperation operation = new RemotingMoveTaxonOperation(taxonNavigator, false, uuids, (TaxonNode)targetITaxonTreeNode, MovingType.CHILD);
+ NavigationUtil.executeOperation(operation, null);
+
logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
return Status.OK_STATUS;
}
TaxonNode targetNode = (TaxonNode) targetITaxonTreeNode;
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- AbstractOperation operation = new RemotingMoveTaxonOperation(taxonNavigator, false, uuids, targetNode, MovingType.BEHIND);
- NavigationUtil.executeOperation(operation, null);
- } else {
- AbstractPostOperation operation = new MoveTaxonOperation
- ("Move Taxon", workspaceUndoContext, uuids, targetNode, this, taxonNavigator, MovingType.BEHIND);
- NavigationUtil.executeOperation(operation);
- }
+ AbstractOperation operation = new RemotingMoveTaxonOperation(taxonNavigator, false, uuids, targetNode, MovingType.BEHIND);
+ NavigationUtil.executeOperation(operation, null);
+
logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
return Status.OK_STATUS;
// }else if (returnCode == 2){
taxonNavigator.refresh();
} catch (Exception e) {
MessagingUtils.messageDialog("Failed to open Editor", CreateClassificationHierarchyHandler.class,
- "Could not open ChecklistView. The hierarchy is corrupted!", e);
+ "Could not open distribution view. The hierarchy is corrupted!", e);
}
}
}
import org.eclipse.ui.handlers.HandlerUtil;
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
+import eu.etaxonomy.cdm.api.service.config.NodeDeletionConfigurator.ChildHandling;
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
import eu.etaxonomy.cdm.api.service.config.TaxonNodeDeletionConfigurator;
-import eu.etaxonomy.cdm.api.service.config.NodeDeletionConfigurator.ChildHandling;
-import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
private TaxonDeletionConfigurator config;
private Set<ITaxonTreeNode> treeNodes;
- /**
- * @param label
- */
public RemotingDeleteTaxonNodeHandler() {
super(TaxonNavigatorLabels.DELETE_TAXON_NODE_LABEL);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.operation.RemotingCdmHandler#allowOperations(org.eclipse.core.commands.ExecutionEvent)
- */
@Override
public IStatus allowOperations(ExecutionEvent event) {
TreeSelection selection = (TreeSelection) HandlerUtil.getCurrentSelection(event);
- Iterator selectionIterator = selection.iterator();
+ Iterator<?> selectionIterator = selection.iterator();
treeNodes = new HashSet<ITaxonTreeNode>();
while (selectionIterator.hasNext()){
}
TaxonNodeDeletionConfigurator configNodes = new TaxonNodeDeletionConfigurator();
- if (taxonNode instanceof Classification && taxonNode.hasChildNodes()){
- if(!DeleteConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the classification? The tree has children, they will be deleted, too.")){
- return Status.CANCEL_STATUS;
- }
- } else if (taxonNode instanceof Classification && !taxonNode.hasChildNodes()){
- if(!DeleteConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the classification?")){
- return Status.CANCEL_STATUS;
- }
- } else {
+ if (taxonNode instanceof Classification) {
+ String message;
+ if (taxonNode.hasChildNodes()) {
+ message = "Do you really want to delete the classification? The tree has children, they will be deleted, too.";
+ } else {
+ message = "Do you really want to delete the classification?";
+ }
+ if (!DeleteConfiguratorDialog.openConfirm(
+ HandlerUtil.getActiveShell(event), "Confirm Deletion",
+ message)) {
+ return Status.CANCEL_STATUS;
+ }
+ }
+ else {
if (taxonNode.hasChildNodes()){
DeleteConfiguratorDialog dialog = new DeleteConfiguratorDialog(
return Status.OK_STATUS;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.operation.RemotingCdmHandler#prepareOperation(org.eclipse.core.commands.ExecutionEvent)
- */
@Override
public AbstractOperation prepareOperation(ExecutionEvent event) {
return new RemotingDeleteTaxonNodeOperation(event.getTrigger(),
config);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.operation.RemotingCdmHandler#onComplete()
- */
@Override
public void onComplete() {
- // TODO Auto-generated method stub
-
}
}
}
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
- */
/** {@inheritDoc} */
@Override
public IStatus execute(IProgressMonitor monitor, IAdaptable info)
if(classification.getReference() == null){
Reference reference = ReferenceFactory.newGeneric();
- reference.setTitleCache(classification.getTitleCache());
+ reference.setTitle(classification.getTitleCache());
classification.setReference(reference);
}
return postExecute(classification);
}
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
- */
/** {@inheritDoc} */
@Override
public IStatus redo(IProgressMonitor monitor, IAdaptable info)
return null;
}
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
- */
/** {@inheritDoc} */
@Override
public IStatus undo(IProgressMonitor monitor, IAdaptable info)
Bundle-ManifestVersion: 2
Bundle-Name: Printpublisher Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.printpublisher;singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Require-Bundle: org.eclipse.osgi,
org.eclipse.ui,
eu.etaxonomy.taxeditor.cdmlib,
<parent>
<artifactId>taxeditor-parent</artifactId>
<groupId>eu.etaxonomy</groupId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Bundle-ManifestVersion: 2
Bundle-Name: DataStore Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.store;singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin
Bundle-Vendor: EDIT
Export-Package: eu.etaxonomy.cdm,
#Properties file for eu.etaxonomy.taxeditor.store\r
page.name = Taxonomic Editor\r
-page.name.0 = Description\r
+page.name.0 = Factual Data\r
page.name.1 = Features\r
page.name.2 = Distribution Status\r
page.name.3 = Taxonomic\r
view.name.4 = Details\r
view.name.5 = Use Records\r
view.name.6 = Derivative Search\r
+view.name.7 = Specimen Search\r
+\r
editor.name = Defined Term Editor\r
menu.label = Show View\r
command.label = Derivative Search\r
command.name.3 = Update Datasource\r
command.name.4 = Show Login Window\r
command.name.5 = Open Defined Term Editor\r
-commandParameter.name = inputType\r
commandParameter.name.0 = inputType\r
command.name.6 = New Defined Term\r
command.name.7 = New Term Vocabulary\r
colorDefinition.label.15 = Editor On Error\r
page.name.26 = Specimens and FieldUnits\r
page.name.27 = Media\r
-page.name.28 = Checklist Editor\r
+page.name.28 = Distribution Editor\r
page.name.29 = Editor Profile\r
page.name.30 = Language\r
+page.name.32 = Taxon Navigator\r
+page.name.33 = Sort of Taxonnodes\r
+page.name.34 = Debug Preferences\r
+page.name.35 = Areas for Distributions\r
command.label.clone = Clone\r
command.label.openInSpecimenEditor = Open in Specimen Editor\r
page.name.31 = Order of Taxonnodes\r
wizard.name.18 = CSV\r
wizard.name.19 = CSV_NAME\r
wizard.name.20 = CSV_PRINT\r
+wizard.name.21 = Specimen Search\r
activity.description = DELETE permission dependent ui contributions\r
activity.name = Delete\r
activity.description.0 = UPDATE permission dependent ui contributions\r
activity.name.2 = UserManagement\r
activity.description.3 = ROLE_PROJECT_MANAGER dependent ui contributions\r
activity.name.3 = ProjectManagement\r
-Bundle-Vendor = EDIT\r
-Bundle-Name = DataStore Bundle\r
command.name.13 = delete\r
command.name.14 = delete\r
-page.name.32 = Taxon Navigator\r
-page.name.33 = Sort of Taxonnodes\r
-page.name.34 = Debug Preferences\r
command.name.15 = Open\r
view.name.SESSIONS = Sessions\r
command.label.SESSION = Sessions\r
command.name.CONNECT = Connect\r
command.name.RE_CONNECT = Re-Connect\r
command.name.OPEN_CLASSIFICATION_WIZARD = Open Classification Wizard\r
-command.name.OPEN_TAXONNODE_WIZARD = Open Taxon Node Wizard
\ No newline at end of file
+command.name.OPEN_TAXONNODE_WIZARD = Open Taxon Node Wizard\r
+\r
+command.name.INSPECT_ACTIVE_SESSIONS = Inspect Active Session\r
+viewCommandMapping.viewerName.CLASSIFICATION_WIZARD = Classification Wizard\r
+viewCommandMapping.viewerName.TAXON_NODE_WIZARD = Taxon node Wizard\r
+command.label.CHANGE_PASSWORD = Change password
\ No newline at end of file
#Properties file for eu.etaxonomy.taxeditor.store, German
page.name = Taxonomischer Editor
-page.name.0 = Beschreibung
+page.name.0 = Faktendaten
page.name.1 = Merkmal
page.name.2 = Verbreitungsstatus
page.name.3 = Taxonomisch
view.name.4 = Details
view.name.5 = Benutze Datensatz
view.name.6 = Derivatsuche
+view.name.7 = Specimensuche
+view.name.8 = GBif Specimen Import
editor.name = Editor f\u00fcr definierte Begriffe
menu.label = Zeige Ansicht
command.label = Derivatsuche
command.name.3 = Aktualisiere Datenquellen
command.name.4 = Zeige Login Window
command.name.5 = \u00d6ffne Editor f\u00fcr definierte Begriffe
-commandParameter.name = inputTyp
commandParameter.name.0 = inputTyp
command.name.6 = Neuer definierter Begriff
command.name.7 = Neues Begriffsvokabular
colorDefinition.label.15 = Editor fehlerhaft
page.name.26 = Specimens und Field Units
page.name.27 = Media
-page.name.28 = Checklisten Editor
+page.name.28 = Verbreitungs-Editor
page.name.29 = Editor Profil
page.name.30 = Sprache
page.name.32 = Taxon Navigator
page.name.33 = Sortierung im TaxonNavigator
page.name.34 = Debug Einstellungen
+page.name.35 = Gebiete für Verbreitungsdaten
command.label.clone = Klonen
command.label.openInSpecimenEditor = \u00d6ffnen im Specimen-Editor
-page.name.31 = Taxon-Node-Reihenfolge
+page.name.31 = Taxonknoten-Reihenfolge
extension.name.0 = Popup Menu Befehle
command.name.8 = Datenquelle klonen
command.name.9 = \u00d6ffne Feature Tree-Wizard
wizard.name.18 = CSV
wizard.name.19 = CSV_NAME
wizard.name.20 = CSV_PRINT
+wizard.name.21 = Specimen Suche
+activity.description = DELETE abhängige UI-Erweiterungen
+activity.name = Löschen
+activity.description.0 = UPDATE abhängige UI-Erweiterungen
+activity.name.0 = Aktualisieren
+activity.description.1 = CREATE abhängige UI-Erweiterungen
+activity.name.1 = Löschen
+activity.description.2 = ROLE_USER_MANAGER abhängige UI-Erweiterungen
+activity.name.2 = User-Management
+activity.description.3 = ROLE_PROJECT_MANAGER abhängige UI-Erweiterungen
+activity.name.3 = Projekt-Management
command.name.13 = L\u00f6schen
command.name.14 = L\u00f6schen
-page.name.32 = Taxon Navigator
-page.name.33 = Reihenfolge der Taxon-Nodes
command.name.15 = \u00d6ffnen
view.name.SESSIONS = Sessions
command.label.SESSION = Sessions
command.label.RE_CONNECT = Aktualisiere Verbindung
command.name.CONNECT = Verbinden
command.name.RE_CONNECT = Aktualisiere Verbindung
-command.name.OPEN_CLASSIFICATION_WIZARD = \u00d6ffne Klassifikations-Wizardcommand.name.OPEN_TAXONNODE_WIZARD = \u00d6ffne Taxon Node-Wizard
\ No newline at end of file
+command.name.OPEN_CLASSIFICATION_WIZARD = \u00d6ffne Klassifikations-Wizard
+command.name.OPEN_TAXONNODE_WIZARD = \u00d6ffne Taxonknoten-Wizard
+
+command.name.INSPECT_ACTIVE_SESSIONS = Aktive Session untersuchen
+viewCommandMapping.viewerName.CLASSIFICATION_WIZARD = Klassifikations-Wizard
+viewCommandMapping.viewerName.TAXON_NODE_WIZARD = Taxonknoten-Wizard
+command.label.CHANGE_PASSWORD = Kennwort ändern
\ No newline at end of file
CdmStoreConnector_SCHEME_NOT_COMPATIBLE=The database schema for the chosen datasource '%s' \n is not compatible for this version of the taxonomic editor. \n\n%s
CdmStoreConnector_UPDATE_DATASOUREC_OR_CHOOSE_NEW_DATASOURCE=Please update the chosen datasource or choose a new data source to connect to in the Datasource View.
CdmStoreConnector_UPDATE_EDITOR_OR_CHOOSE_COMPATIBLE_DATASOURCE=Please update the Taxonomic Editor (Help->Check for Updates) or choose a compatible datasource
+
+RemotingLoginDialog_CHOOSE_COMPATIBLE_CDM_SERVER=Please choose a compatible cdm-server or update the chosen cdm-server
+RemotingLoginDialog_LABEL_ADVANCED=advanced
+RemotingLoginDialog_LABEL_CDM_INSTANCE=CDM Instance :
+RemotingLoginDialog_LABEL_CDM_SERVER=CDM Server :
+RemotingLoginDialog_LABEL_CONNECT=Connect
+RemotingLoginDialog_LABEL_EDITOR_CDM_VERSION=Editor CDM Version :
+RemotingLoginDialog_LABEL_EDITOR_CDMLIB_VERSION=Editor Cdmlib Version :
+RemotingLoginDialog_LABEL_LOGIN=Login
+RemotingLoginDialog_LABEL_LOGIN_COLON=Login :
+RemotingLoginDialog_LABEL_PASSWORD=Password :
+RemotingLoginDialog_LABEL_PORT=Port :
+RemotingLoginDialog_LABEL_REFRESH=Refresh
+RemotingLoginDialog_LABEL_REMEMBER_ME=Remember Me
+RemotingLoginDialog_RETRIEVE_SERVER_INSTANCES=Retrieve Server Instances
+RemotingLoginDialog_LABEL_SERVER_CDM_VERSION=Server CDM Version :
+RemotingLoginDialog_LABEL_SERVER_CDMLIB_VERSION=Server Cdmlib Version :
+RemotingLoginDialog_LABEL_STOP_MANAGED_SERVER=Stop Managed Server
+RemotingLoginDialog_LOGIN_CANNOT_BE_EMPTY=User login cannot be empty
+RemotingLoginDialog_MESSAGE_PORT_SHOULD_BE_INTEGER=Port should be an integer
+RemotingLoginDialog_PASSWORD_CANNOT_BE_EMPTY=Password cannot be empty
+RemotingLoginDialog_SERVER_LAUNCH_ERROR=CDM Server launch error
+RemotingLoginDialog_STATUS_AVAILABLE=Available
+RemotingLoginDialog_STATUS_CHECKING=Checking ...
+RemotingLoginDialog_STATUS_ERROR=Error
+RemotingLoginDialog_STATUS_NO_INSTANCES_FOUND=No Instances Found
+RemotingLoginDialog_STATUS_NOT_AVAILABLE=Not Available
+RemotingLoginDialog_STATUS_NOT_COMPATIBLE=Not Compatible
+RemotingLoginDialog_STATUS_NOT_STARTED=Not Started
+RemotingLoginDialog_STATUS_REMOTING_NOT_ACTIVATED=Remoting not activated
+RemotingLoginDialog_STATUS_RETRIEVING=Retrieving ...
+RemotingLoginDialog_STATUS_STARTED=Started
+RemotingLoginDialog_UPDATE_EDITOR=Please update the Taxonomic Editor (Help->Check for Updates) or choose a compatible cdm-server
+RemotingLoginDialog_COULD_NOT_STOP_SERVER=Could not stop managed server running at port %s. Please stop it manually.
+RemotingLoginDialog_ERROR_GENERATING_CONFIG_FILE=Error generating server config file
+RemotingLoginDialog_ERROR_STARTING_SERVER=Error starting managed server
+RemotingLoginDialog_ERROR_STOPPING_SERVER=Error stopping managed server
+RemotingLoginDialog_GENERATING_CONFIG_FILE=Generating datasources config file for %s
+RemotingLoginDialog_JOB_SERVER_LAUNCH=Managed CDM Server Launch
+RemotingLoginDialog_STARTING_MGD_SERVER=Starting Managed CDM Server. This may take a while.
+RemotingLoginDialog_TASK_LAUNCHING_SERVER=Launching Managed CDM Server
+
+EditPasswordElement_PLEASE_CREATE_OR_SAVE_USER=Please create or save user '%s' before changing password
+EditPasswordElement_USERNAME_DOES_NOT_EXIST=Username does not exist
+PasswordWizard_COULD_NOT_CHANGE_PWD=Could not change password
+PasswordWizard_OLD_PWD_INCORRECT=The old password is not correct.
+PasswordWizard_PROBLEM_WITH_CHANGING_PWD=Problem with changing password
+PasswordWizard_PWD_COULD_NOT_BE_CHANGED=The password could not be changed.
+PasswordWizardPage_CHANGE_PASSWORD=Change password
+PasswordWizardPage_CHANGE_PASSWORD_AND_CONFIRM=Change password and confirm with current password
+PasswordWizardPage_NEW_PASSWORD=New Password
+PasswordWizardPage_OLD_PASSWORD=Old Password
+PasswordWizardPage_PASSWORD_MIN_CHARACTER=Password has to have at least %s characters
+PasswordWizardPage_PASSWORDS_DO_NOT_MATCH=The passwords do not match
+PasswordWizardPage_REPEAT_PASSWORD=Repeat Password
+
+SearchManager_LARGE_RESULT_EXPECTED=Large result expected
+SearchManager_LONG_SEARCH_WARNING=The current search will return %s objects. This will take a long time and/or might render the editor unusable. Please consider refining your search.\nSearch anyway?
+
+SupplementalDataViewPart_VIEWER_NAME=Supplemental Data
+DetailsViewPart_VIEWER_NAME=Details
\ No newline at end of file
CdmStoreConnector_SCHEME_NOT_COMPATIBLE=Das Datenbankschema für die gewählte Datenquelle '%s' \n ist nicht kompatibel mit dieser Version des Editors. \n\n%s
CdmStoreConnector_UPDATE_DATASOUREC_OR_CHOOSE_NEW_DATASOURCE=Bitte aktualisieren Sie die ausgewählte Datenquelle oder wählen Sie eine neue Datenquelle aus.
CdmStoreConnector_UPDATE_EDITOR_OR_CHOOSE_COMPATIBLE_DATASOURCE=Bitte aktualisieren Sie den Taxonomic Editor (Hilfe->Suche nach Updates) oder wählen sie eine kompatible Datenquelle
+
+RemotingLoginDialog_CHOOSE_COMPATIBLE_CDM_SERVER=Bitte wählen Sie einen kompatiblen CDM-Server oder aktualisieren sie den CDM-Server
+RemotingLoginDialog_LABEL_ADVANCED=Erweitert
+RemotingLoginDialog_LABEL_CDM_INSTANCE=CDM Instanz :
+RemotingLoginDialog_LABEL_CDM_SERVER=CDM-Server :
+RemotingLoginDialog_LABEL_CONNECT=Verbinden
+RemotingLoginDialog_LABEL_EDITOR_CDM_VERSION=Editor CDM Version :
+RemotingLoginDialog_LABEL_EDITOR_CDMLIB_VERSION=Editor Cdmlib Version :
+RemotingLoginDialog_LABEL_LOGIN=Login
+RemotingLoginDialog_LABEL_LOGIN_COLON=Login :
+RemotingLoginDialog_LABEL_PASSWORD=Kennwort :
+RemotingLoginDialog_LABEL_PORT=Port :
+RemotingLoginDialog_LABEL_REFRESH=Aktualisieren
+RemotingLoginDialog_LABEL_REMEMBER_ME=Login Daten merken
+RemotingLoginDialog_RETRIEVE_SERVER_INSTANCES=Abrufen der Serverinstanzen
+RemotingLoginDialog_LABEL_SERVER_CDM_VERSION=Server CDM Version :
+RemotingLoginDialog_LABEL_SERVER_CDMLIB_VERSION=Server Cdmlib Version :
+RemotingLoginDialog_LABEL_STOP_MANAGED_SERVER=Beende internen CDM-Server
+RemotingLoginDialog_LOGIN_CANNOT_BE_EMPTY=Nutzer-Login darf nicht leer sein
+RemotingLoginDialog_MESSAGE_PORT_SHOULD_BE_INTEGER=Port muss eine Zahl sein
+RemotingLoginDialog_PASSWORD_CANNOT_BE_EMPTY=Kennwort darf nicht leer sein
+RemotingLoginDialog_SERVER_LAUNCH_ERROR=CDM-Server Startfehler
+RemotingLoginDialog_STATUS_AVAILABLE=Verfügbar
+RemotingLoginDialog_STATUS_CHECKING=Überprüfe ...
+RemotingLoginDialog_STATUS_ERROR=Error
+RemotingLoginDialog_STATUS_NO_INSTANCES_FOUND=Keine Instanzen gefunden
+RemotingLoginDialog_STATUS_NOT_AVAILABLE=Nicht verfügbar
+RemotingLoginDialog_STATUS_NOT_COMPATIBLE=Nicht kompatibel
+RemotingLoginDialog_STATUS_NOT_STARTED=Nicht gestartet
+RemotingLoginDialog_STATUS_REMOTING_NOT_ACTIVATED=Remoting nicht aktiviert
+RemotingLoginDialog_STATUS_RETRIEVING=Abrufen ...
+RemotingLoginDialog_STATUS_STARTED=Gestartet
+RemotingLoginDialog_UPDATE_EDITOR=Bitte aktualisieren Sie den Taxonomic Editor (Hifle->Suche nach Updates) oder wählen Sie einen kompatiblen CDM-Server
+RemotingLoginDialog_COULD_NOT_STOP_SERVER=Konte den internen CDM-Server auf Port %s nicht beenden. Bitte beenden sie ihn manuell.
+RemotingLoginDialog_ERROR_GENERATING_CONFIG_FILE=Fehler beim Generieren der Config-Datei für den Server
+RemotingLoginDialog_ERROR_STARTING_SERVER=Fehler beim Starten des internen CDM-Servers
+RemotingLoginDialog_ERROR_STOPPING_SERVER=Fehler beim Beenden des internen CDM-Servers
+RemotingLoginDialog_GENERATING_CONFIG_FILE=Generiere Config-Datei für Datenquellen für %s
+RemotingLoginDialog_JOB_SERVER_LAUNCH=Starte internen CDM-Server
+RemotingLoginDialog_STARTING_MGD_SERVER=Starte internen CDM-Server. Dies kann eine Weile dauern.
+RemotingLoginDialog_TASK_LAUNCHING_SERVER=Starte internen CDM-Server
+
+EditPasswordElement_PLEASE_CREATE_OR_SAVE_USER=Bitte erstellen oder speichern sie den Nutzer '%s', bevor Sie das Kennwort ändern
+EditPasswordElement_USERNAME_DOES_NOT_EXIST=Nutzername existiert nicht
+PasswordWizard_COULD_NOT_CHANGE_PWD=Konnte das Kennwort nicht ändern
+PasswordWizard_OLD_PWD_INCORRECT=Das alte Kennwort ist inkorrekt
+PasswordWizard_PROBLEM_WITH_CHANGING_PWD=Fehler beim Ändern des Kennworts
+PasswordWizard_PWD_COULD_NOT_BE_CHANGED=Das Kennwort konnte nicht geändert werden
+PasswordWizardPage_CHANGE_PASSWORD=Kennwort ändern
+PasswordWizardPage_CHANGE_PASSWORD_AND_CONFIRM=Kennwort ändern und mit altem Kennwort bestätigen
+PasswordWizardPage_NEW_PASSWORD=Neues Kennwort
+PasswordWizardPage_OLD_PASSWORD=Altes Kennwort
+PasswordWizardPage_PASSWORD_MIN_CHARACTER=Kennwort muss mindesten %s Zeichen enthalten
+PasswordWizardPage_PASSWORDS_DO_NOT_MATCH=Die Kennwörter stimmen nicht überein
+PasswordWizardPage_REPEAT_PASSWORD=Kennwort wiederholen
+
+SearchManager_LARGE_RESULT_EXPECTED=Große Anzahl an Suchergebnissen
+SearchManager_LONG_SEARCH_WARNING=Die aktuelle Suche wird %s Objekte laden. Dies kann einige Zeit dauern und den Editor währenddessen unbedienbar machen. Bitte erstellen sie eine detailliertere Suche.\nTrotzdem suchen?
+
+SupplementalDataViewPart_VIEWER_NAME=Zusatzdaten
+DetailsViewPart_VIEWER_NAME=Details
name="%view.name"
restorable="true">
</view>
+ <view
+ allowMultiple="true"
+ class="eu.etaxonomy.taxeditor.view.dataimport.SpecimenImportView"
+ id="eu.etaxonomy.taxeditor.view.dataimport.SpecimenImportView"
+ name="%view.name.7">
+ </view>
+ <view
+ allowMultiple="true"
+ class="eu.etaxonomy.taxeditor.view.dataimport.GbifResponseImportView"
+ id="eu.etaxonomy.taxeditor.view.dataimport.GbifResponseImportView"
+ name="%view.name.8">
+ </view>
<view
name="%view.name.0"
category="org.eclipse.ui"
</reference>
</visibleWhen>
</command>
+ <command
+ commandId="eu.etaxonomy.taxeditor.store.openPasswordWizzard"
+ label="%command.label.CHANGE_PASSWORD"
+ style="push">
+ <visibleWhen
+ checkEnabled="true">
+ <reference
+ definitionId="isUserLoggedIn">
+ </reference>
+ </visibleWhen>
+ </command>
<separator
name="eu.etaxonomy.taxeditor.application.filemenu.login"
visible="true">
<command
defaultHandler="eu.etaxonomy.taxeditor.handler.OpenInspectSessionsHandler"
id="eu.etaxonomy.taxeditor.store.open.InspectSessionsDialog"
- name="Inspect Active Session">
+ name="%command.name.INSPECT_ACTIVE_SESSIONS">
</command>
<command
defaultHandler="eu.etaxonomy.taxeditor.handler.OpenHandler"
id="eu.etaxonomy.taxeditor.io.import.tcs"
name="%wizard.name">
</wizard>
+ <wizard
+ category="eu.etaxonomy.taxeditor.import.category.cdm"
+ class="eu.etaxonomy.taxeditor.view.dataimport.SpecimenSearchWizard"
+ id="eu.etaxonomy.taxeditor.view.dataimport.SpecimenSearchWizard"
+ name="%wizard.name.21">
+ <description>
+ %wizard.description
+ </description>
+ </wizard>
+
<!-- <wizard
category="eu.etaxonomy.taxeditor.import.category.cdm"
class="eu.etaxonomy.taxeditor.io.wizard.JaxbImportWizard"
<viewCommandMapping
commandId="eu.etaxonomy.taxeditor.command.openClassificationWizard"
selection="eu.etaxonomy.cdm.model.taxon.Classification"
- viewerName="Classification Wizard">
+ viewerName="%viewCommandMapping.viewerName.CLASSIFICATION_WIZARD">
</viewCommandMapping>
<viewCommandMapping
commandId="eu.etaxonomy.taxeditor.command.openTaxonNodeWizard"
selection="eu.etaxonomy.cdm.model.taxon.TaxonNode"
- viewerName="TaxonNode Wizard">
+ viewerName="%viewCommandMapping.viewerName.TAXON_NODE_WIZARD">
</viewCommandMapping>
</extension>
</plugin>
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<documentation>
The name of the viewer which shows the selected element
</documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
</annotation>
</attribute>
<attribute name="selection" type="string" use="required">
public static String CdmViewerContextMenu_OPEN;
public static String CdmViewerContextMenu_OPEN_IN;
public static String ChangeConnectionHandler_ALREADY_CONNECTING;
- public static String ChangeConnectionHandler_CONFIRM_DATASOURCE;
public static String ChangeConnectionHandler_CURRENTLY_CONNECTING_ALREADY;
public static String ChangeConnectionHandler_CREATE_DATAMODEL;
public static String ChangeConnectionHandler_REALLY_CREATE_DATAMODEL;
public static String ChangeConnectionHandler_DATASOURCE_NOT_AVAILABLE;
- public static String ChangeConnectionHandler_REALLY_WANT_TO_CONNECT;
public static String ChangeConnectionHandler_NOT_AVAILABLE_REASONS;
public static String UriWithLabelElement_COULD_NOT_OPEN_BROWSER;
public static String UriWithLabelElement_INVALID_URL;
public static String CdmStoreConnector_SCHEME_NOT_COMPATIBLE;
public static String CdmStoreConnector_UPDATE_DATASOUREC_OR_CHOOSE_NEW_DATASOURCE;
public static String CdmStoreConnector_UPDATE_EDITOR_OR_CHOOSE_COMPATIBLE_DATASOURCE;
- static {
+ public static String DetailsViewPart_VIEWER_NAME;
+ public static String EditPasswordElement_PLEASE_CREATE_OR_SAVE_USER;
+ public static String EditPasswordElement_USERNAME_DOES_NOT_EXIST;
+ public static String PasswordWizard_COULD_NOT_CHANGE_PWD;
+ public static String PasswordWizard_OLD_PWD_INCORRECT;
+ public static String PasswordWizard_PROBLEM_WITH_CHANGING_PWD;
+ public static String PasswordWizard_PWD_COULD_NOT_BE_CHANGED;
+ public static String PasswordWizardPage_CHANGE_PASSWORD;
+ public static String PasswordWizardPage_CHANGE_PASSWORD_AND_CONFIRM;
+ public static String PasswordWizardPage_NEW_PASSWORD;
+ public static String PasswordWizardPage_OLD_PASSWORD;
+ public static String PasswordWizardPage_PASSWORD_MIN_CHARACTER;
+ public static String PasswordWizardPage_PASSWORDS_DO_NOT_MATCH;
+ public static String PasswordWizardPage_REPEAT_PASSWORD;
+ public static String RemotingLoginDialog_CHOOSE_COMPATIBLE_CDM_SERVER;
+ public static String RemotingLoginDialog_LABEL_ADVANCED;
+ public static String RemotingLoginDialog_LABEL_CDM_INSTANCE;
+ public static String RemotingLoginDialog_LABEL_CDM_SERVER;
+ public static String RemotingLoginDialog_LABEL_CONNECT;
+ public static String RemotingLoginDialog_LABEL_EDITOR_CDM_VERSION;
+ public static String RemotingLoginDialog_LABEL_EDITOR_CDMLIB_VERSION;
+ public static String RemotingLoginDialog_LABEL_LOGIN;
+ public static String RemotingLoginDialog_LABEL_LOGIN_COLON;
+ public static String RemotingLoginDialog_LABEL_PASSWORD;
+ public static String RemotingLoginDialog_LABEL_PORT;
+ public static String RemotingLoginDialog_LABEL_REFRESH;
+ public static String RemotingLoginDialog_LABEL_REMEMBER_ME;
+ public static String RemotingLoginDialog_RETRIEVE_SERVER_INSTANCES;
+ public static String RemotingLoginDialog_LABEL_SERVER_CDM_VERSION;
+ public static String RemotingLoginDialog_LABEL_SERVER_CDMLIB_VERSION;
+ public static String RemotingLoginDialog_LABEL_STOP_MANAGED_SERVER;
+ public static String RemotingLoginDialog_LOGIN_CANNOT_BE_EMPTY;
+ public static String RemotingLoginDialog_MESSAGE_PORT_SHOULD_BE_INTEGER;
+ public static String RemotingLoginDialog_PASSWORD_CANNOT_BE_EMPTY;
+ public static String RemotingLoginDialog_SERVER_LAUNCH_ERROR;
+ public static String RemotingLoginDialog_STATUS_AVAILABLE;
+ public static String RemotingLoginDialog_STATUS_CHECKING;
+ public static String RemotingLoginDialog_STATUS_ERROR;
+ public static String RemotingLoginDialog_STATUS_NO_INSTANCES_FOUND;
+ public static String RemotingLoginDialog_STATUS_NOT_AVAILABLE;
+ public static String RemotingLoginDialog_STATUS_NOT_COMPATIBLE;
+ public static String RemotingLoginDialog_STATUS_NOT_STARTED;
+ public static String RemotingLoginDialog_STATUS_REMOTING_NOT_ACTIVATED;
+ public static String RemotingLoginDialog_STATUS_RETRIEVING;
+ public static String RemotingLoginDialog_STATUS_STARTED;
+ public static String RemotingLoginDialog_UPDATE_EDITOR;
+ public static String RemotingLoginDialog_COULD_NOT_STOP_SERVER;
+ public static String RemotingLoginDialog_ERROR_GENERATING_CONFIG_FILE;
+ public static String RemotingLoginDialog_ERROR_STARTING_SERVER;
+ public static String RemotingLoginDialog_ERROR_STOPPING_SERVER;
+ public static String RemotingLoginDialog_GENERATING_CONFIG_FILE;
+ public static String RemotingLoginDialog_JOB_SERVER_LAUNCH;
+ public static String RemotingLoginDialog_STARTING_MGD_SERVER;
+ public static String RemotingLoginDialog_TASK_LAUNCHING_SERVER;
+ public static String SearchManager_LARGE_RESULT_EXPECTED;
+ public static String SearchManager_LONG_SEARCH_WARNING;
+ public static String SupplementalDataViewPart_VIEWER_NAME;
+ static {
// initialize resource bundle
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
}
*/
public static ICdmDataSource createDefaultH2DataSource() {
ICdmDataSource h2DataSource = CdmDataSource.NewH2EmbeddedInstance(
- DEFAULT_DATASOURCE_NAME, "sa", "", PreferencesUtil.getPreferredNomenclaturalCode());
+ DEFAULT_DATASOURCE_NAME, "sa", "", PreferencesUtil.getPreferredNomenclaturalCode(true));
save(h2DataSource.getName(), h2DataSource);
return h2DataSource;
}
public static boolean setCurrentCdmSource(ICdmSource cdmSource) {
currentCdmSource = cdmSource;
NomenclaturalCode dataSourceNomenclaturalCode = cdmSource.getNomenclaturalCode();
- NomenclaturalCode applicationNomenclaturalCode = PreferencesUtil.getPreferredNomenclaturalCode();
+ NomenclaturalCode applicationNomenclaturalCode = PreferencesUtil.getPreferredNomenclaturalCode(true);
if( dataSourceNomenclaturalCode != null && ! dataSourceNomenclaturalCode.equals(applicationNomenclaturalCode)){
PreferencesUtil.setPreferredNomenclaturalCode(dataSourceNomenclaturalCode);
nomenclaturalCodeGroup = new Group(composite , SWT.NONE);
nomenclaturalCodeGroup.setLayout(new GridLayout());
- nomenclaturalCode = dataSource != null ? dataSource.getNomenclaturalCode() : PreferencesUtil.getPreferredNomenclaturalCode();
+ nomenclaturalCode = dataSource != null ? dataSource.getNomenclaturalCode() : PreferencesUtil.getPreferredNomenclaturalCode(true);
for (final NomenclaturalCode code : NomenclaturalCodeHelper.getSupportedCodes()) {
Button button = new Button(nomenclaturalCodeGroup, SWT.RADIO);
-// $Id$\r
-/**\r
- * Copyright (C) 2009 EDIT\r
- * European Distributed Institute of Taxonomy\r
- * http://www.e-taxonomy.eu\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version 1.1\r
- * See LICENSE.TXT at the top of this package for the full license terms.\r
- */\r
-package eu.etaxonomy.taxeditor.editor.definedterm;\r
-\r
-import org.apache.commons.lang.StringUtils;\r
-import org.eclipse.jface.viewers.StyledCellLabelProvider;\r
-import org.eclipse.jface.viewers.StyledString;\r
-import org.eclipse.jface.viewers.StyledString.Styler;\r
-import org.eclipse.jface.viewers.ViewerCell;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.custom.StyleRange;\r
-import org.eclipse.swt.graphics.Color;\r
-import org.eclipse.swt.graphics.TextStyle;\r
-import org.eclipse.swt.widgets.Display;\r
-\r
-import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
-import eu.etaxonomy.cdm.model.common.TermBase;\r
-import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
-\r
-/**\r
- * @author l.morris\r
- * @date 9 Dec 2011\r
- *\r
- */\r
-public class TermLabelProvider extends StyledCellLabelProvider {\r
-\r
- private static Color vocColor = Display.getCurrent().getSystemColor(SWT.COLOR_BLUE);\r
- private Styler vocStyler;\r
-\r
- public TermLabelProvider() {\r
- }\r
-\r
- public TermLabelProvider(Styler vocStyler){\r
- this.vocStyler = vocStyler;\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- *\r
- * @see\r
- * org.eclipse.jface.viewers.StyledCellLabelProvider#update(org.eclipse.\r
- * jface.viewers.ViewerCell)\r
- */\r
- @Override\r
- public void update(ViewerCell cell) {\r
- Object element = cell.getElement();\r
- int columnIndex = cell.getColumnIndex();\r
-\r
- String text = getText(element);\r
- cell.setText(text);\r
-\r
- if (element instanceof TermVocabulary) {\r
- StyledString styledString = new StyledString(text, getVocabularyStyler());\r
- StyleRange[] styleRanges;\r
- styleRanges = styledString.getStyleRanges();\r
- cell.setStyleRanges(styleRanges);\r
- }\r
- super.update(cell);\r
- }\r
-\r
- public StyledString getStyledText(Object element) {\r
-\r
- if (element instanceof TermVocabulary) {\r
- new StyledString(getText(element), getVocabularyStyler());\r
- }\r
- return new StyledString(getText(element), StyledString.QUALIFIER_STYLER);\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- *\r
- * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)\r
- */\r
-\r
- public String getText(Object element) {\r
-\r
- if (element instanceof DefinedTermBase) {\r
- DefinedTermBase<?> dtb = (DefinedTermBase<?>) element;\r
- if (StringUtils.isNotBlank(dtb.getIdInVocabulary())) {\r
- return dtb.getIdInVocabulary() + " : " + dtb.getLabel(PreferencesUtil.getGlobalLanguage());\r
- } else {\r
- return dtb.getLabel(PreferencesUtil.getGlobalLanguage());\r
- }\r
- } else if (element instanceof TermBase) {\r
- return ((TermBase) element).getTitleCache();\r
- }\r
-\r
- // FIXME : must throw an exception here\r
- return element.toString();\r
- }\r
-\r
- private Styler getVocabularyStyler() {\r
- if (vocStyler == null) {\r
- vocStyler = new Styler() {\r
- @Override\r
- public void applyStyles(TextStyle textStyle) {\r
- textStyle.foreground = vocColor;\r
- }\r
- };\r
- }\r
- return vocStyler;\r
- }\r
-\r
-}\r
+// $Id$
+/**
+ * Copyright (C) 2009 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.definedterm;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.viewers.StyledCellLabelProvider;
+import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.jface.viewers.StyledString.Styler;
+import org.eclipse.jface.viewers.ViewerCell;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.StyleRange;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.TextStyle;
+import org.eclipse.swt.widgets.Display;
+
+import eu.etaxonomy.cdm.common.CdmUtils;
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.common.TermBase;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+
+/**
+ * @author l.morris
+ * @date 9 Dec 2011
+ *
+ */
+public class TermLabelProvider extends StyledCellLabelProvider {
+
+ private static Color vocColor = Display.getCurrent().getSystemColor(SWT.COLOR_BLUE);
+ private Styler vocStyler;
+
+ public TermLabelProvider() {
+ }
+
+ public TermLabelProvider(Styler vocStyler){
+ this.vocStyler = vocStyler;
+ }
+
+ @Override
+ public void update(ViewerCell cell) {
+ Object element = cell.getElement();
+ int columnIndex = cell.getColumnIndex();
+
+ String text = getText(element);
+ cell.setText(text);
+
+ if (element instanceof TermVocabulary) {
+ StyledString styledString = new StyledString(text, getVocabularyStyler());
+ StyleRange[] styleRanges;
+ styleRanges = styledString.getStyleRanges();
+ cell.setStyleRanges(styleRanges);
+ }
+ super.update(cell);
+ }
+
+ public StyledString getStyledText(Object element) {
+
+ if (element instanceof TermVocabulary) {
+ new StyledString(getText(element), getVocabularyStyler());
+ }
+ return new StyledString(getText(element), StyledString.QUALIFIER_STYLER);
+ }
+
+ public String getText(Object element) {
+ if(element instanceof TermBase){
+ TermBase termBase = (TermBase)element;
+ Representation rep = termBase.getRepresentation(PreferencesUtil.getGlobalLanguage());
+ if (rep == null){
+ rep = termBase.getPreferredRepresentation(new ArrayList<Language>());
+ }
+ String label = rep != null? rep.getLabel() : termBase.getTitleCache();
+ if (element instanceof DefinedTermBase) {
+ DefinedTermBase<?> dtb = (DefinedTermBase<?>) element;
+ return CdmUtils.concat(" : ", dtb.getIdInVocabulary(), label);
+
+ } else {
+ return label;
+ }
+ }
+
+ // FIXME : must throw an exception here
+ return element.toString();
+ }
+
+ private Styler getVocabularyStyler() {
+ if (vocStyler == null) {
+ vocStyler = new Styler() {
+ @Override
+ public void applyStyles(TextStyle textStyle) {
+ textStyle.foreground = vocColor;
+ }
+ };
+ }
+ return vocStyler;
+ }
+
+}
*/
@Override
public void merge() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IVocabularyService.class).merge(new ArrayList<TermVocabulary>(getRootEntities()), true);
- updateDefaultFeatureTree();
- }
+ CdmStore.getService(IVocabularyService.class).merge(new ArrayList<TermVocabulary>(getRootEntities()), true);
+ updateDefaultFeatureTree();
}
public static FeatureTree getDefaultFeatureTree() {
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import org.hibernate.proxy.HibernateProxy;
import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
+import eu.etaxonomy.cdm.api.service.config.FeatureNodeDeletionConfigurator;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.FeatureNode;
import eu.etaxonomy.cdm.model.description.FeatureTree;
* object.
*/
public void setSelectedTree(FeatureTree featureTree) {
- this.featureTree = featureTree;
+ this.featureTree = HibernateProxyHelper.deproxy(featureTree, FeatureTree.class);
+ this.featureTree.setRoot(HibernateProxyHelper.deproxy(featureTree.getRoot(), FeatureNode.class));
viewer.setInput(featureTree);
text_title.removeModifyListener(this);
.getAdditionalFeatures();
for (Feature feature : additionalFeatures) {
FeatureNode child = FeatureNode.NewInstance(feature);
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IFeatureNodeService.class).merge(child, true);
- } else {
- CdmStore.getService(IFeatureNodeService.class).saveOrUpdate(child);
- }
+ CdmStore.getService(IFeatureNodeService.class).merge(child, true);
+
parent.addChild(child);
}
viewer.refresh();
FeatureNode featureNode = (FeatureNode) selectedObject;
FeatureNode parent = featureNode.getParent();
parent.removeChild(featureNode);
+
+ CdmStore.getService(IFeatureNodeService.class).deleteFeatureNode(featureNode.getUuid(), new FeatureNodeDeletionConfigurator());
+
}
viewer.refresh();
}
public boolean performFinish() {
try{
if (selectedFeatureTree != null){
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IFeatureTreeService.class).merge(selectedFeatureTree, true);
- } else {
- CdmStore.getService(IFeatureTreeService.class).saveOrUpdate(selectedFeatureTree);
- }
+ CdmStore.getService(IFeatureTreeService.class).merge(selectedFeatureTree, true);
}
conversation.commit();
}finally{
featureTree.setTitleCache(text_title.getText(), true);
viewer.add(featureTree);
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IFeatureTreeService.class).merge(featureTree, true);
- } else {
- CdmStore.getService(IFeatureTreeService.class).saveOrUpdate(featureTree);
- }
+ CdmStore.getService(IFeatureTreeService.class).merge(featureTree, true);
+
text_title.setText("");
viewer.setSelection(new StructuredSelection(featureTree));
protected ICdmApplicationConfiguration applicationConfiguration;
public static enum TYPE {
- Jaxb, Tcs, Excel_Taxa, Endnote, Sdd, Abcd, SpecimenCdmExcel, Excel_Name, SpecimenSearch
+ Jaxb, Tcs, Excel_Taxa, Endnote, Sdd, Abcd, SpecimenCdmExcel, Excel_Name, SpecimenSearch, Gbif
}
/**
import java.io.File;
import java.io.InputStream;
+import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
+import java.util.Set;
import java.util.UUID;
import org.apache.commons.io.IOUtils;
import eu.etaxonomy.cdm.io.common.IImportConfigurator;
import eu.etaxonomy.cdm.io.common.IImportConfigurator.SOURCE_TYPE;
import eu.etaxonomy.cdm.io.common.ImportResult;
+import eu.etaxonomy.cdm.io.dwca.in.DwcaImportConfigurator;
import eu.etaxonomy.cdm.io.excel.taxa.NormalExplicitImportConfigurator;
import eu.etaxonomy.cdm.io.jaxb.JaxbImportConfigurator;
import eu.etaxonomy.cdm.io.reference.endnote.in.EndnoteImportConfigurator;
import eu.etaxonomy.cdm.io.sdd.in.SDDImportConfigurator;
import eu.etaxonomy.cdm.io.service.IIOService;
+import eu.etaxonomy.cdm.io.specimen.SpecimenImportConfiguratorBase;
import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;
+import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportState;
import eu.etaxonomy.cdm.io.specimen.excel.in.SpecimenCdmExcelImportConfigurator;
+import eu.etaxonomy.cdm.io.specimen.gbif.in.GbifImportConfigurator;
+import eu.etaxonomy.cdm.io.specimen.gbif.in.GbifImportState;
import eu.etaxonomy.cdm.io.tcsxml.in.TcsXmlImportConfigurator;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter;
return SpecimenCdmExcelImportConfigurator.NewInstance(null, null);
case SpecimenSearch:
return Abcd206ImportConfigurator.NewInstance(null, null);
+ case Gbif:
+ return DwcaImportConfigurator.NewInstance(null, null);
default:
MessagingUtils.notImplementedMessage(this);
throw new IllegalArgumentException("Import not supported yet");
public SpecimenCdmExcelImportConfigurator SpecimenCdmExcelImportConfigurator() {
return (SpecimenCdmExcelImportConfigurator) getConfigurator(TYPE.SpecimenCdmExcel);
}
+
+ public DwcaImportConfigurator DwcaImportConfigurator() {
+ return (DwcaImportConfigurator) getConfigurator(TYPE.Gbif);
+ }
+
/**
* {@inheritDoc}
}
+ public Job createIOServiceJob(final GbifImportConfigurator<GbifImportState, InputStream> configurator) {
+ Assert.isNotNull(configurator, "Configuration may not be null");
+ final Display display = Display.getDefault();
+ Job job = new Job("Import: " + " Dwca") {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask("Importing data", IProgressMonitor.UNKNOWN);
+ IIOService ioService = CdmApplicationState.getIOService();
+
+ ImportResult result = ioService.importDataFromStream(configurator);
+ monitor.done();
+
+ display.asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ CdmStore.getContextManager().notifyContextRefresh();
+ }
+ });
+
+ return Status.OK_STATUS;
+ }
+ };
+
+ return job;
+
+ }
+
+ public Job createIOServiceJob(final Abcd206ImportConfigurator<Abcd206ImportState, InputStream> configurator) {
+ Assert.isNotNull(configurator, "Configuration may not be null");
+ final Display display = Display.getDefault();
+ Job job = new Job("Import: " + " Dwca") {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask("Importing data", IProgressMonitor.UNKNOWN);
+ IIOService ioService = CdmApplicationState.getIOService();
+
+ ImportResult result = ioService.importDataFromStream(configurator);
+ monitor.done();
+
+ display.asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ CdmStore.getContextManager().notifyContextRefresh();
+ }
+ });
+
+ return Status.OK_STATUS;
+ }
+ };
+
+ return job;
+
+ }
+
+ public Job createIOServiceJob(
+ final List<Abcd206ImportConfigurator> abcdConfigurators) {
+ Assert.isNotNull(abcdConfigurators, "Configuration may not be null");
+ final Display display = Display.getDefault();
+ Job job = new Job("Import: " + " Dwca") {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask("Importing data", IProgressMonitor.UNKNOWN);
+ IIOService ioService = CdmApplicationState.getIOService();
+
+ ImportResult result = ioService.importDataFromStream(abcdConfigurators);
+ monitor.done();
+
+ display.asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ CdmStore.getContextManager().notifyContextRefresh();
+ }
+ });
+
+ return Status.OK_STATUS;
+ }
+ };
+
+ return job;
+ }
+
+
+
}
--- /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.io.wizard;
+
+import org.eclipse.jface.wizard.WizardPage;
+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.io.specimen.abcd206.in.Abcd206ImportConfigurator;
+import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportState;
+
+/**
+ *
+ * @author pplitzner
+ *
+ */
+public class AbcdImportConfiguratorWizardPage extends WizardPage {
+
+ public static final String PAGE_NAME = "AbcdImportConfiguratorWizardPage";
+
+ private Abcd206ImportConfigurator<Abcd206ImportState, ?> configurator;
+
+ protected AbcdImportConfiguratorWizardPage(String title, String description, Abcd206ImportConfigurator<Abcd206ImportState, ?> configurator) {
+ super(PAGE_NAME);
+ this.configurator = configurator;
+ setTitle(title);
+ setDescription(description);
+ }
+
+ public static AbcdImportConfiguratorWizardPage createPage(Abcd206ImportConfigurator<Abcd206ImportState, ?> configurator){
+ return new AbcdImportConfiguratorWizardPage("Configure import parameters",
+ "Tooltips will explain parameters in more detail", configurator);
+ }
+
+
+
+ /** {@inheritDoc} */
+ @Override
+ public void createControl(Composite parent) {
+ final Composite composite = new Composite(parent, SWT.NULL);
+
+ GridLayout gridLayout = new GridLayout();
+ composite.setLayout(gridLayout);
+
+ Button checkBoxMediaSpecimen = new Button(composite, SWT.CHECK);
+ checkBoxMediaSpecimen.setSelection(configurator.isAddMediaAsMediaSpecimen());
+ checkBoxMediaSpecimen.setText("Import media as media specimen");
+ checkBoxMediaSpecimen
+ .setToolTipText("Any media attached to a ABCD unit will be imported as a sub derivative of the specimen created from this unit");
+ checkBoxMediaSpecimen.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ configurator.setAddMediaAsMediaSpecimen(!configurator.isAddMediaAsMediaSpecimen());
+ }
+ });
+
+ Button checkBoxIgnoreExisting = new Button(composite, SWT.CHECK);
+ checkBoxIgnoreExisting.setSelection(configurator.isIgnoreImportOfExistingSpecimen());
+ checkBoxIgnoreExisting.setText("Do not import existing specimens");
+ checkBoxIgnoreExisting
+ .setToolTipText("Specimens that have previously been imported will be ignored in this import");
+ checkBoxIgnoreExisting.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ configurator.setIgnoreImportOfExistingSpecimen(!configurator.isIgnoreImportOfExistingSpecimen());
+ }
+ });
+
+ Button checkBoxIgnoreAuthorship = new Button(composite, SWT.CHECK);
+ checkBoxIgnoreAuthorship.setSelection(configurator.isIgnoreAuthorship());
+ checkBoxIgnoreAuthorship.setText("Ignore Authorship for name matching");
+ checkBoxIgnoreAuthorship
+ .setToolTipText("Name matching with existing names will be done without "
+ + "the authorship part of the name");
+ checkBoxIgnoreAuthorship.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ configurator.setIgnoreAuthorship(!configurator.isIgnoreAuthorship());
+ }
+ });
+
+ Button checkBoxMapUnitIdToCatalogNumber = new Button(composite, SWT.CHECK);
+ checkBoxMapUnitIdToCatalogNumber.setSelection(configurator.isMapUnitIdToCatalogNumber());
+ checkBoxMapUnitIdToCatalogNumber.setText("Map UnitID to catalog number");
+ checkBoxMapUnitIdToCatalogNumber
+ .setToolTipText("The UnitID of every ABCD unit will be mapped the catalog number "
+ + "of the specimen");
+ checkBoxMapUnitIdToCatalogNumber.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ configurator.setMapUnitIdToCatalogNumber(!configurator.isMapUnitIdToCatalogNumber());
+ }
+ });
+
+ Button checkBoxMapUnitIdToAccessionNumber = new Button(composite, SWT.CHECK);
+ checkBoxMapUnitIdToAccessionNumber.setSelection(configurator.isMapUnitIdToAccessionNumber());
+ checkBoxMapUnitIdToAccessionNumber.setText("Map UnitID to accession number");
+ checkBoxMapUnitIdToAccessionNumber
+ .setToolTipText("The UnitID of every ABCD unit will be mapped the accession number "
+ + "of the specimen");
+ checkBoxMapUnitIdToAccessionNumber.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ configurator.setMapUnitIdToAccessionNumber(!configurator.isMapUnitIdToAccessionNumber());
+ }
+ });
+
+ Button checkBoxMapUnitIdToBarcode = new Button(composite, SWT.CHECK);
+ checkBoxMapUnitIdToBarcode.setSelection(configurator.isMapUnitIdToBarcode());
+ checkBoxMapUnitIdToBarcode.setText("Map UnitID to barcode");
+ checkBoxMapUnitIdToBarcode
+ .setToolTipText("The UnitID of every ABCD unit will be mapped the barcode "
+ + "of the specimen");
+ checkBoxMapUnitIdToBarcode.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ configurator.setMapUnitIdToBarcode(!configurator.isMapUnitIdToBarcode());
+ }
+ });
+
+ Button checkBoxRemoveCountry = new Button(composite, SWT.CHECK);
+ checkBoxRemoveCountry.setSelection(configurator.isRemoveCountryFromLocalityText());
+ checkBoxRemoveCountry.setText("Remove country from locality text");
+ checkBoxRemoveCountry
+ .setToolTipText("If the locality text contains information about the "
+ + "country which is additionally stored in other ABCD "
+ + "elements then it is removed from the locality text");
+ checkBoxRemoveCountry.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ configurator.setRemoveCountryFromLocalityText(!configurator.isRemoveCountryFromLocalityText());
+ }
+ });
+
+ Button checkBoxMoveToDefaultClassification = new Button(composite, SWT.CHECK);
+ checkBoxMoveToDefaultClassification.setSelection(configurator.isMoveNewTaxaToDefaultClassification());
+ checkBoxMoveToDefaultClassification.setText("Create new classification for new taxa");
+ checkBoxMoveToDefaultClassification
+ .setToolTipText("For taxa that do not exist in the data base "
+ + "a new classification will be created");
+ checkBoxMoveToDefaultClassification.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ configurator.setRemoveCountryFromLocalityText(!configurator.isRemoveCountryFromLocalityText());
+ }
+ });
+
+ setControl(composite);
+ }
+
+}
configurator.setClassificationUuid(classificationChooserWizardPage.getClassification().getUuid());
}
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- //Job job = CdmStore.getImportManager().createIOServiceJob(configurator, new File(source), SOURCE_TYPE.INPUTSTREAM);
- //CdmStore.getImportManager().run(job);
- CdmStore.getImportManager().runMoniteredOperation(configurator, new File(source), SOURCE_TYPE.INPUTSTREAM);
- } else {
- try {
- configurator.setSource(new FileInputStream(new File(source)));
- } catch (FileNotFoundException e) {
- MessagingUtils.errorDialog("File not found.", this, "Import file was not found.", TaxeditorStorePlugin.PLUGIN_ID, e, false);
- logger.error("File not found!", e);
- return false;
- }
- CdmStore.getImportManager().run(configurator);
- }
+ CdmStore.getImportManager().runMoniteredOperation(configurator, new File(source), SOURCE_TYPE.INPUTSTREAM);
+
return true;
}
}
- protected static ClassificationChooserWizardPage createPage(){
+ public static ClassificationChooserWizardPage createPage(){
return new ClassificationChooserWizardPage("Configure import destinations", "Note: Selecting no classification will create a default one.");
}
configurator.setLastChange(true);
}
}
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- // create job
- Job job = CdmStore.getExportManager().createIOServiceJob(configurator, new File(urlString));
- // configure the job
- job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
- job.setUser(true);
- // schedule job
- job.schedule();
- } else {
-
- configurator.setDestination(new File(urlString));
- CdmStore.getExportManager().run(configurator);
- }
+
+ // create job
+ Job job = CdmStore.getExportManager().createIOServiceJob(configurator, new File(urlString));
+ // configure the job
+ job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
+ job.setUser(true);
+ // schedule job
+ job.schedule();
+
return true;
}
+ page.getExportFileName();\r
\r
final Combo combo = page.getCombo();\r
-\r
- if(CdmStore.getCurrentSessionManager().isRemoting()) {\r
- // create job\r
- Job job = CdmStore.getExportManager().createIOServiceJob(configurator, new File(urlString));\r
- // configure the job\r
- job.setProperty(IProgressConstants.KEEP_PROPERTY, true);\r
- job.setUser(true);\r
- // schedule job\r
- job.schedule();\r
- } else {\r
- configurator.setDestination(new File(urlString));\r
- CdmStore.getExportManager().run(configurator);\r
- }\r
+ configurator.setClassificationUUID(page.getSelectedClassificationUUID());\r
+ \r
+ // create job\r
+ Job job = CdmStore.getExportManager().createIOServiceJob(configurator, new File(urlString));\r
+ // configure the job\r
+ job.setProperty(IProgressConstants.KEEP_PROPERTY, true);\r
+ job.setUser(true);\r
+ // schedule job\r
+ job.schedule();\r
+ \r
return true;\r
}\r
\r
+ page.getExportFileName();\r
\r
final Combo combo = page.getCombo();\r
- final List<Classification> listClassifications = CdmStore.getCurrentApplicationConfiguration().getClassificationService().listClassifications(null, null, null, null);\r
- if(combo != null){\r
- int selectionIndex = combo.getSelectionIndex();\r
- HashSet<UUID> set = new HashSet<UUID>();\r
- if(selectionIndex == -1){\r
- for(Classification c:listClassifications){\r
- set.add(c.getUuid());\r
- }\r
- }else{\r
- for(Classification c:listClassifications){\r
- if(c.getTitleCache().equalsIgnoreCase(combo.getItem(selectionIndex))){\r
- set.add(c.getUuid());\r
- }\r
- }\r
-\r
- configurator.setHasHeaderLines(true);\r
-\r
- }\r
- } else{\r
- configurator.setClassificationUUID(listClassifications.get(0).getUuid());\r
- }\r
-\r
- if(CdmStore.getCurrentSessionManager().isRemoting()) {\r
- // create job\r
- Job job = CdmStore.getExportManager().createIOServiceJob(configurator, new File(urlString));\r
- // configure the job\r
- job.setProperty(IProgressConstants.KEEP_PROPERTY, true);\r
- job.setUser(true);\r
- // schedule job\r
- job.schedule();\r
- } else {\r
- configurator.setDestination(new File(urlString));\r
- CdmStore.getExportManager().run(configurator);\r
- }\r
+\r
+ \r
+ configurator.setClassificationUUID(page.getSelectedClassificationUUID());\r
+ // create job\r
+ Job job = CdmStore.getExportManager().createIOServiceJob(configurator, new File(urlString));\r
+ // configure the job\r
+ job.setProperty(IProgressConstants.KEEP_PROPERTY, true);\r
+ job.setUser(true);\r
+ // schedule job\r
+ job.schedule();\r
+ \r
return true;\r
}\r
\r
package eu.etaxonomy.taxeditor.io.wizard;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.net.URI;
+import org.apache.log4j.Logger;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.ui.IWorkbench;
import eu.etaxonomy.cdm.database.DbSchemaValidation;
import eu.etaxonomy.cdm.io.common.IImportConfigurator.SOURCE_TYPE;
import eu.etaxonomy.cdm.io.excel.taxa.NormalExplicitImportConfigurator;
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+
import eu.etaxonomy.taxeditor.store.CdmStore;
private NormalExplicitImportConfigurator configurator;
private ImportFromFileDataSourceWizardPage dataSourcePage;
+ private static final Logger logger = Logger.getLogger(ExcelNormalExplicitTaxaImportWizard.class);
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.io.wizard.AbstractImportWizard#getConfigurator()
URI source = dataSourcePage.getUri();
configurator.setSource(source);
configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
+ File file = new File(source);
+ FileInputStream fis = null;
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- Job job = CdmStore.getImportManager().createIOServiceJob(configurator, new File(source), SOURCE_TYPE.URI);
- CdmStore.getImportManager().run(job);
- } else {
- CdmStore.getImportManager().run(configurator);
+ try {
+ fis = new FileInputStream(file);
+ } catch (FileNotFoundException e) {
+ logger.error("Error while reading file" + source.toString());
}
-
-
+
+ Job job = CdmStore.getImportManager().createIOServiceJob(configurator,file , SOURCE_TYPE.INPUTSTREAM);
+ CdmStore.getImportManager().run(job);
+
return true;
}
public void init(IWorkbench workbench, IStructuredSelection selection) {
super.init(workbench, selection);
configurator = CdmStore.getImportManager().NormalExplicitConfigurator();
+ if (selection instanceof TreeSelection && !selection.isEmpty()){
+ TaxonNode node = (TaxonNode)selection.getFirstElement();
+ configurator.setParentUUID(node.getTaxon().getUuid());
+ configurator.setClassificationUuid(node.getClassification().getUuid());
+ }
}
/* (non-Javadoc)
import java.text.SimpleDateFormat;
import java.util.Calendar;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
+import java.util.UUID;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
import eu.etaxonomy.taxeditor.remoting.source.CdmRemoteSourceException;
* @created 15.06.2009
* @version 1.0
*/
-public class ExportToFileDestinationWizardPage extends WizardPage {
+public class ExportToFileDestinationWizardPage extends WizardPage implements SelectionListener {
/** Constant <code>DATE_FORMAT_NOW="yyyyMMddHHmm"</code> */
public static final String DATE_FORMAT_NOW = "yyyyMMddHHmm";
private final String extension;
- private Combo comboBox;
+ private Combo classificationSelectionCombo;
+
+ private List<Classification> classifications;
+
+ private Classification selectedClassification;
/**
* @param pageName
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 3;
composite.setLayout(gridLayout);
+ if(classifications == null){
+ classifications = CdmStore.getService(IClassificationService.class).list(null, null, null, null, null);
+ Collections.sort(classifications, new Comparator<Classification>() {
+
+ @Override
+ public int compare(Classification o1, Classification o2) {
+ return o1.getTitleCache().compareTo(o2.getTitleCache());
+ }
+ });
+
+ selectedClassification = classifications.iterator().next();
+ }
- if(csvExport){
+ if(csvExport || csvPrintExport){
Label comboBoxLabel = new Label(composite, SWT.NONE);
comboBoxLabel.setText("Classification");
- Combo comboBox = addComboBox(composite);
- comboBox.setLayoutData(new GridData(SWT.FILL, SWT.FILL,
+
+ createClassificationSelectionCombo(composite);
+ classificationSelectionCombo.setLayoutData(new GridData(SWT.FILL, SWT.FILL,
true, false, 2, 1));
}
return text_folder.getText();
}
- private Combo addComboBox(Composite composite){
+ private Control createClassificationSelectionCombo(Composite parent){
+// classifications = CdmStore.getTaxonTreeService().list(null, null, null, null, null);
- comboBox = new Combo(composite, SWT.DROP_DOWN);
- comboBox.setText("Choose Classification");
+ Composite classificationSelection = new Composite(parent, SWT.NULL);
+ classificationSelection.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- final List<Classification> listClassifications = CdmStore.getCurrentApplicationConfiguration().getClassificationService().listClassifications(null, null, null, null);
+ GridLayout layout = new GridLayout();
+ classificationSelection.setLayout(layout);
- for(Classification c : listClassifications){
- comboBox.add(c.getTitleCache());
- }
+ Label label = new Label(classificationSelection, SWT.NULL);
+ // TODO not working is not really true but leave it here to remind everyone that this is under construction
+ label.setText("Select Classification");
+ classificationSelectionCombo = new Combo(classificationSelection, SWT.BORDER | SWT.READ_ONLY);
+ classificationSelectionCombo.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, true));
+
+ for(Classification tree : classifications){
+ classificationSelectionCombo.add(tree.getName().getText(), classifications.indexOf(tree));
+
+ }
- return comboBox;
+ classificationSelectionCombo.select(classifications.indexOf(selectedClassification));
+
+ // TODO remember last selection
+ classificationSelectionCombo.addSelectionListener(this);
+
+
+
+ return classificationSelection;
}
public Combo getCombo(){
- return comboBox;
+ return classificationSelectionCombo;
+ }
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ selectedClassification = classifications.get(classificationSelectionCombo.getSelectionIndex());
+
+ }
+
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ //not needed here
+
+ }
+
+ public UUID getSelectedClassificationUUID() {
+
+ return selectedClassification.getUuid();
}
}
File exportFile = new File(page.getFolderText() + File.separator + page.getExportFileName());
URI urlString = exportFile.toURI();
configurator.setDestination(urlString);
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- // create job
- Job job = CdmStore.getExportManager().createIOServiceJob(configurator, exportFile);
- // configure the job
- job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
- job.setUser(true);
- // schedule job
- job.schedule();
- } else {
- CdmStore.getExportManager().run(configurator);
- }
+
+ // create job
+ Job job = CdmStore.getExportManager().createIOServiceJob(configurator, exportFile);
+ // configure the job
+ job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
+ job.setUser(true);
+ // schedule job
+ job.schedule();
+
performFinish = true;
return performFinish;
}
final Group group = new Group(container, SWT.NONE);
group.setLayout(new GridLayout());
- NomenclaturalCode preferredCode = PreferencesUtil.getPreferredNomenclaturalCode();
+ NomenclaturalCode preferredCode = PreferencesUtil.getPreferredNomenclaturalCode(false);
// set preferred code as default
configurator.setNomenclaturalCode(preferredCode);
@Override
public boolean performFinish() {
File file = new File(page.getFolderText() + File.separator + page.getExportFileName());
-
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- // create job
- Job job = CdmStore.getExportManager().createIOServiceJob(configurator, file);
- // configure the job
- job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
- job.setUser(true);
- // schedule job
- job.schedule();
- } else {
- configurator.setDestination(file);
- CdmStore.getExportManager().run(configurator);
- }
+ // create job
+ Job job = CdmStore.getExportManager().createIOServiceJob(configurator, file);
+ // configure the job
+ job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
+ job.setUser(true);
+ // schedule job
+ job.schedule();
+
return true;
}
URI source = dataSourcePage.getUri();
configurator.setSource(source);
configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
-
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- Job job = CdmStore.getImportManager().createIOServiceJob(configurator, new File(source), SOURCE_TYPE.URI);
- CdmStore.getImportManager().run(job);
- } else {
- CdmStore.getImportManager().run(configurator);
- }
-
+ Job job = CdmStore.getImportManager().createIOServiceJob(configurator, new File(source), SOURCE_TYPE.URI);
+ CdmStore.getImportManager().run(job);
+
return true;
}
configurator.setSource(source);
configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- Job job = CdmStore.getImportManager().createIOServiceJob(configurator, new File(source), SOURCE_TYPE.URI);
- CdmStore.getImportManager().run(job);
- } else {
- CdmStore.getImportManager().run(configurator);
- }
-
+ Job job = CdmStore.getImportManager().createIOServiceJob(configurator, new File(source), SOURCE_TYPE.URI);
+ CdmStore.getImportManager().run(job);
+
return true;
}
public class DefaultTermComparator<T extends DefinedTermBase> implements Comparator<T> {
@Override
public int compare(T o1, T o2) {
+ if (o1 == o2){
+ return 0;
+ }
+ if (o1 == null){
+ return -1;
+ }
+ if (o2 == null){
+ return 1;
+ }
String label1 = o1.getLabel(CdmStore.getDefaultLanguage()) != null ? o1.getLabel(CdmStore.getDefaultLanguage()) : o1.getTitleCache();
String label2 = o2.getLabel(CdmStore.getDefaultLanguage()) != null ? o2.getLabel(CdmStore.getDefaultLanguage()) : o2.getTitleCache();
return label1.compareTo(label2);
import java.util.List;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.Status;
import eu.etaxonomy.cdm.api.service.DeleteResult;
}
+
+ public static void messageDialogWithDetails(IStatus result, String message, String pluginId) {
+
+ List<String> details = new ArrayList<String>();
+ String title= "";
+ Throwable e = null;
+ if (result.isMultiStatus()){
+ for (IStatus childStatus:result.getChildren()){
+ details.add(childStatus.getMessage());
+ }
+ e = result.getChildren()[0].getException();
+ if (result.equals(Status.OK_STATUS)|| result.equals(Status.WARNING)){
+ title = "Delete was successfull.";
+ } else {
+ title = "Delete was aborted.";
+ }
+ }
+ StringBuffer relatedObjectsString = new StringBuffer();
+ Object[] relatedObjects = new ArrayList<Object>().toArray();
+
+
+
+ String stackTraceWithContext = getContextInfo(details);
+ CdmDeleteErrorDialog ced = new CdmDeleteErrorDialog(AbstractUtility.getShell(), title, message,new Status(IStatus.INFO, pluginId, null, e), stackTraceWithContext, relatedObjects);
+
+ ced.open();
+
+
+
+ }
+
}
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
import eu.etaxonomy.cdm.model.name.TypeDesignationStatusBase;
+import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;
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.model.taxon.TaxonRelationship;
import eu.etaxonomy.taxeditor.store.CdmStore;
return getCache((HomotypicalGroup) element);
}else if (element instanceof TaxonNode) {
return getCache((TaxonNode) element);
+ }else if (element instanceof DeterminationEvent) {
+ return getCache((DeterminationEvent) element);
}else if (element instanceof Marker) {
Marker marker = (Marker) element;
MarkerType type = marker.getMarkerType();
}
+ private static String getCache(DeterminationEvent detEvent) {
+ //taxon
+ String taxonStr = null;
+ TaxonNameBase<?,?> taxonName = detEvent.getTaxonName();
+ TaxonBase<?> taxon = detEvent.getTaxon();
+ if (taxonName != null){
+ taxonStr = taxonName.getTitleCache();
+ }
+ if (StringUtils.isBlank(taxonStr) && taxon != null){
+ taxonStr = taxon.getTitleCache();
+ }
+ if (StringUtils.isBlank(taxonStr)){
+ taxonStr = "no or unlabled taxon";
+ }
+
+
+ //unit
+ SpecimenOrObservationBase<?> unit = detEvent.getIdentifiedUnit();
+ String unitStr;
+ if (unit != null){
+ unitStr = unit.getTitleCache();
+ if (StringUtils.isBlank(unitStr)){
+ unitStr = "Unlabled unit";
+ }
+ }else{
+ unitStr = "no unit";
+ }
+
+ String result = CdmUtils.concat(" determined as ", unitStr, taxonStr);
+
+ return result;
+ }
+
private static String getCache(TaxonNode taxonNode) {
String result = "";
Classification classification = taxonNode.getClassification();
}else{
TaxonNameBase<?,?> parentName = parentTaxon.getName();
if (parentName == null){
- parentStr = parentTaxon.getTitleCache();
+ parentStr = "child of " + parentTaxon.getTitleCache();
}else{
- parentStr = parentName.getTitleCache();
+ parentStr = "child of " + parentName.getTitleCache();
}
}
}
result = CdmUtils.concat(": ", result, parentStr);
- return null;
+ return result;
}
private static String getCache(TypeDesignationBase<?> designation) {
toMethod.setAccessible(true);
from = (IdentifiableEntity<?>)fromMethod.invoke(rel);
to = (IdentifiableEntity<?>)toMethod.invoke(rel);
- } catch (NoSuchMethodException e) {
- throw new RuntimeException(e);
- } catch (SecurityException e) {
- throw new RuntimeException(e);
- } catch (IllegalAccessException e) {
- throw new RuntimeException(e);
- } catch (IllegalArgumentException e) {
- throw new RuntimeException(e);
- } catch (InvocationTargetException e) {
+ } catch (NoSuchMethodException | SecurityException | IllegalAccessException
+ | IllegalArgumentException | InvocationTargetException e) {
throw new RuntimeException(e);
}
-
}
String typeLabel = null;
if (type != null){
public static final String AMPLIFICATION_DERIVATE = "amplification_derivate";
public static final String SINGLE_READ_DERIVATE = "single_read_derivate";
public static final String SINGLE_READ_DERIVATE_MULTILINK = "single_read_derivate_multilink";
+ public static final String DEFAULT_DERIVATIVE = "default_derivate";
public static final String CHARACTER_DATA_DERIVATE = "character_data_derivate";
"single_read_derivate_multilink-16x16-32.png");
registerImage(registry, CHARACTER_DATA_DERIVATE,
"character_data_derivate-16x16-32.png");
+ registerImage(registry, DEFAULT_DERIVATIVE,
+ "default_derivate-16x16-32.png");
registerImage(registry, WEB,
"web.gif");
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IAmplificationService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(IAmplificationService.class).save(getEntity());
- }
+ CdmStore.getService(IAmplificationService.class).merge(getEntity(), true);
+
}
/** {@inheritDoc} */
protected void saveEntity() {
//CdmStore.getService(IClassificationService.class).saveOrUpdate(getEntity());
Classification classification = getEntity();
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IClassificationService.class).merge(getEntity(), true);
- CdmApplicationState.getCurrentDataChangeService()
+ CdmStore.getService(IClassificationService.class).merge(getEntity(), true);
+ CdmApplicationState.getCurrentDataChangeService()
.fireChangeEvent(new CdmChangeEvent(Action.Create, classification, NewTaxonNodeWizard.class), true);
- } else {
- CdmStore.getService(IClassificationService.class).save(getEntity());
- }
+
}
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(ICollectionService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(ICollectionService.class).save(getEntity());
- }
+ CdmStore.getService(ICollectionService.class).merge(getEntity(), true);
+
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IOccurrenceService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(IOccurrenceService.class).save(getEntity());
- }
+ setEntity(CdmStore.getService(IOccurrenceService.class).merge(getEntity()));
+
}
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IOccurrenceService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(IOccurrenceService.class).save(getEntity());
- }
+ CdmStore.getService(IOccurrenceService.class).merge(getEntity(), true);
+
}
@Override
*/
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IGrantedAuthorityService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(IGrantedAuthorityService.class).save(getEntity());
- }
+ CdmStore.getService(IGrantedAuthorityService.class).merge(getEntity(), true);
+
}
/* (non-Javadoc)
*/
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IGroupService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(IGroupService.class).save(getEntity());
- }
+ CdmStore.getService(IGroupService.class).merge(getEntity(), true);
+
}
/* (non-Javadoc)
*/
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IAgentService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(IAgentService.class).save(getEntity());
- }
+ CdmStore.getService(IAgentService.class).merge(getEntity(), true);
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(INameService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(INameService.class).save(getEntity());
- }
+ CdmStore.getService(INameService.class).merge(getEntity(), true);
}
@Override
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IAgentService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(IAgentService.class).save(getEntity());
- }
+ CdmStore.getService(IAgentService.class).merge(getEntity(), true);
}
@Override
@Override
protected void saveEntity() {
if(!polytomousKeyPage.getPolytomousKeyName().equals("")) {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IPolytomousKeyService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(IPolytomousKeyService.class).save(getEntity());
- }
+ CdmStore.getService(IPolytomousKeyService.class).merge(getEntity(), true);
}
}
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IPrimerService.class).merge(getEntity(),true);
- } else {
- CdmStore.getService(IPrimerService.class).save(getEntity());
- }
+ CdmStore.getService(IPrimerService.class).merge(getEntity(),true);
+
}
/** {@inheritDoc} */
*/
package eu.etaxonomy.taxeditor.newWizard;
+import java.util.ArrayList;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import java.util.UUID;
import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action;
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.api.service.UpdateResult;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeDetailElement;
import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeWizardPage;
/**
else{
parentNodeUuid = parent.getUuid();
}
- UpdateResult result = CdmStore.getService(ITaxonNodeService.class).createNewTaxonNode(parentNodeUuid, taxon, parent.getReference(), parent.getMicroReference());
-
- //TaxonNode taxonNode = parent.addChildTaxon(taxon, parent.getReference(), parent.getMicroReference());
-
- /* if(CdmStore.getCurrentSessionManager().isRemoting()) {
- taxonNode = CdmStore.getService(ITaxonNodeService.class).merge(taxonNode);
- } else {
- taxonNode = CdmStore.getService(ITaxonNodeService.class).save(taxonNode);
- }*/
- if (result.isOk()){
- generatedTaxonNodeUuid = result.getCdmEntity().getUuid();
- TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(generatedTaxonNodeUuid);
- taxonNode.getTaxon().setSec(sec);
- CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
- Set<CdmBase> affectedObjects = new HashSet<CdmBase>();
- if (result.getUpdatedObjects().iterator().hasNext()){
- TaxonNode parentNode = (TaxonNode)result.getUpdatedObjects().iterator().next();
- if(parentNode.getParent() == null) {
- affectedObjects.add(taxonNode.getClassification());
- }
- affectedObjects.add(parentNode);
- }
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmApplicationState.getCurrentDataChangeService()
- .fireChangeEvent(new CdmChangeEvent(Action.Create, affectedObjects, NewTaxonNodeWizard.class), true);
- }
- }else{
- if (!result.isOk()){
- if (!result.getExceptions().isEmpty()){
- MessagingUtils.error(getClass(), "Taxon could not be created", result.getExceptions().iterator().next());
- }else{
- MessagingUtils.warn(getClass(), "Taxon could not be created");
- }
- }
- }
- }catch(IllegalArgumentException e){
+ UpdateResult result;
+
+ if (taxon.getId() == 0){
+ result = CdmStore.getService(ITaxonNodeService.class).createNewTaxonNode(parentNodeUuid, taxon, parent.getReference(), parent.getMicroReference());
+ }else{
+ result = CdmStore.getService(ITaxonNodeService.class).createNewTaxonNode(parentNodeUuid, taxon.getUuid(), parent.getReference(), parent.getMicroReference());
+ }
+ if (result.isOk()){
+ generatedTaxonNodeUuid = result.getCdmEntity().getUuid();
+ TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(generatedTaxonNodeUuid);
+ taxonNode.getTaxon().setSec(sec);
+ CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
+ Set<CdmBase> affectedObjects = new HashSet<CdmBase>();
+ if (result.getUpdatedObjects().iterator().hasNext()){
+ TaxonNode parentNode = (TaxonNode)result.getUpdatedObjects().iterator().next();
+ if(parentNode.getParent() == null) {
+ affectedObjects.add(taxonNode.getClassification());
+ }
+ affectedObjects.add(parentNode);
+ }
+ CdmApplicationState.getCurrentDataChangeService()
+ .fireChangeEvent(new CdmChangeEvent(Action.Create, affectedObjects, NewTaxonNodeWizard.class), true);
+
+ }else{
+ if (!result.isOk()){
+ if (!result.getExceptions().isEmpty()){
+ MessagingUtils.error(getClass(), "Taxon could not be created", result.getExceptions().iterator().next());
+ }else{
+ MessagingUtils.warn(getClass(), "Taxon could not be created");
+ }
+ }
+ }
+ }catch(IllegalArgumentException e){
MessagingUtils.warningDialog("Taxon already exists in classfication", getClass(), e.getMessage());
}
}
return CdmStore.getService(IClassificationService.class).load(treeNode.getUuid());
}
else if(treeNode instanceof TaxonNode){
- return CdmStore.getService(ITaxonNodeService.class).load(treeNode.getUuid());
+
+ TaxonNode node = CdmStore.getService(ITaxonNodeService.class).load(treeNode.getUuid());
+ Taxon taxon = (Taxon) CdmStore.getService(ITaxonService.class).load(node.getTaxon().getUuid());
+ return node;
}
}
}
*/
public class NewTeamWizard extends AbstractNewEntityWizard<Team> {
+ private boolean isNomenclaturalTeam = false;
+
+ public NewTeamWizard() {}
+
+ public NewTeamWizard(boolean b) {
+ setNomenclaturalTeam(b);
+ }
+
/** {@inheritDoc} */
@Override
public void addPages() {
- addPage(new TeamWizardPage(formFactory, getConversationHolder(), getEntity()));
+ addPage(new TeamWizardPage(formFactory, getConversationHolder(), getEntity(), isNomenclaturalTeam));
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IAgentService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(IAgentService.class).save(getEntity());
- }
+ CdmStore.getService(IAgentService.class).merge(getEntity(), true);
+
}
@Override
protected String getEntityName() {
return "Team";
}
+
+ /**
+ * @return the isNomenclaturalTeam
+ */
+ public boolean isNomenclaturalTeam() {
+ return isNomenclaturalTeam;
+ }
+
+ /**
+ * @param isNomenclaturalTeam the isNomenclaturalTeam to set
+ */
+ public void setNomenclaturalTeam(boolean isNomenclaturalTeam) {
+ this.isNomenclaturalTeam = isNomenclaturalTeam;
+ }
}
@Override
protected void saveEntity() {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmStore.getService(IUserService.class).merge(getEntity(), true);
- } else {
- CdmStore.getService(IUserService.class).save(getEntity());
- }
+ CdmStore.getService(IUserService.class).merge(getEntity(), true);
+
}
@Override
composite.setLayout(new GridLayout());
isEditorActivated = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE);
final Button activateCheckButton = new Button(composite, SWT.CHECK);
- activateCheckButton.setText("Enable Checklist Editor");
+ activateCheckButton.setText("Enable Distribution Editor");
activateCheckButton.setSelection(isEditorActivated);
activateCheckButton.addSelectionListener(new SelectionAdapter(){
@Override
child.setLayout(new GridLayout());
child.setVisible(isEditorActivated);
final CLabel label = new CLabel(child, SWT.NULL);
- label.setText("Please open the wizard below, in order to \n" + "choose the areas for the Checklist Editor");
+ label.setText("Please open the wizard below, in order to \n" + "choose the areas for the Distribution Editor");
final CommandHandlerButton button_openFeatureTree = new CommandHandlerButton(child, SWT.PUSH,
"eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler");
button_openFeatureTree.setText("Open Distribution Selection Wizard");
+ final Button showIdInVocabulary = new Button(child, SWT.CHECK);
+ boolean isShowIdInVocabulary = PreferencesUtil.isShowIdInVocabularyInChecklistEditor();
+ showIdInVocabulary.setText("Show Id in Vocabulary instead of full title of the areas");
+ showIdInVocabulary.setSelection(isShowIdInVocabulary);
+ showIdInVocabulary.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowIdInVocabulary = showIdInVocabulary.getSelection();
+ PreferencesUtil.setShowIdInVocabularyInChecklistEditor(isShowIdInVocabulary);
+ }
+ });
PreferencesUtil.recursiveSetEnabled(button_openFeatureTree, CdmStore.isActive());
+ boolean isShowRank = PreferencesUtil.isShowRankInChecklistEditor();
+ final Button activateRankButton = new Button(child, SWT.CHECK);
+ activateRankButton.setText("Show Rank in Distribution Editor");
+ activateRankButton.setSelection(isShowRank);
+ activateRankButton.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowRank = activateRankButton.getSelection();
+ PreferencesUtil.setShowRankInChecklistEditor(isShowRank);
+ }
+ });
+
if(isEditorActivated){
child.setEnabled(true);
*/
public static final String TAXON_SERVICE_CONFIGURATOR_COMMON_NAMES = "eu.etaxonomy.taxeditor.taxonServiceConfigurator.doTaxaByCommonNames";
+ /**
+ *
+ */
+ public static final String TAXON_SERVICE_CONFIGURATOR_MATCH_MODE = "eu.etaxonomy.taxeditor.taxonServiceConfigurator.doSearchByMatchMode";
+
/**
* Whether to show UUID and database id in the supplemental data view.
*/
public static final String DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED = "eu.etaxonomy.taxeditor.checklist.distributionAreaStatusGrayed";
- public static final String SHOW_ADVANCED_MEDIA_SECTION = "eu.etaxonomy.taxeditor.media.showAdvancedMedia";
+ public static final String CHECKLIST_ID_IN_VOCABULARY = "eu.etaxonomy.taxeditor.checklist.checklistIdInVocabulary";
+ public static final String CHECKLIST_SHOW_RANK = "eu.etaxonomy.taxeditor.checklist.checklistShowRank";
+ public static final String SHOW_ADVANCED_MEDIA_SECTION = "eu.etaxonomy.taxeditor.media.showAdvancedMedia";
+ public static final String SHOW_SIMPLE_NAME_DETAILS_SECTION = "eu.etaxonomy.taxeditor.name.showSimpleName";
+ public static final String SHOW_SIMPLE_NAME_DETAILS_TAXON = "eu.etaxonomy.taxeditor.name.showNameTaxon";
+ public static final String SHOW_NAME_DETAILS_SECTION_LSID = "eu.etaxonomy.taxeditor.name.showNameLsid";
+ public static final String SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_CODE = "eu.etaxonomy.taxeditor.name.showNameNomenclaturalCode";
+ public static final String SHOW_NAME_DETAILS_SECTION_RANK = "eu.etaxonomy.taxeditor.name.showNameRank";
+ public static final String SHOW_NAME_DETAILS_SECTION_NAMECACHE = "eu.etaxonomy.taxeditor.name.showNameNameCache";
+ public static final String SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS = "eu.etaxonomy.taxeditor.name.showNameAtomisedEpithets";
+ public static final String SHOW_NAME_DETAILS_SECTION_AUTHORSHIP = "eu.etaxonomy.taxeditor.name.showNameAuthorship";
+ public static final String SHOW_NAME_DETAILS_SECTION_HYBRID = "eu.etaxonomy.taxeditor.name.showNameHybrid";
+ public static final String SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE = "eu.etaxonomy.taxeditor.name.showNameNomenclaturalReference";
+ public static final String SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS = "eu.etaxonomy.taxeditor.name.showNameNomenclaturalStatus";
+ public static final String SHOW_NAME_DETAILS_SECTION_PROTOLOGUE = "eu.etaxonomy.taxeditor.name.showNameProtologue";
+ public static final String SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION = "eu.etaxonomy.taxeditor.name.showNameTypeDesignation";
+ public static final String SHOW_NAME_DETAILS_SECTION_NAME_RELATIONSHIP = "eu.etaxonomy.taxeditor.name.showNameNameRelationship";
+ public static final String SHOW_NAME_DETAILS_SECTION_APPENDED_PHRASE = "eu.etaxonomy.taxeditor.name.showNameAppendedPhrase";
+ public static final String SHOW_NAME_DETAILS_SECTION_CACHE = "eu.etaxonomy.taxeditor.name.showNameCache";
+
public static final String PROMPT_FOR_OPEN_SPECIMEN_IN_EDITOR = "eu.etaxonomy.taxeditor.specimen.promptForOpenSpecimenInEditor";
// TODO RL
*/
public static final String P2_REPOSITORY_LIST = "eu.etaxonomy.taxeditor.p2.repositories";
+
+
+
+
+
+
+
}
--- /dev/null
+package eu.etaxonomy.taxeditor.preference;
+
+
+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 org.eclipse.jface.preference.PreferencePage;
+
+
+public class NameDetailsViewConfiguration extends PreferencePage implements IWorkbenchPreferencePage {
+ boolean isSimpleDetailsViewActivated;
+ Composite child ;
+ @Override
+ public void init(IWorkbench workbench) {
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors
+ * ()
+ */
+ @Override
+ protected Control createContents(Composite parent) {
+
+ Composite composite = new Composite(parent, SWT.NULL);
+ composite.setLayout(new GridLayout());
+ isSimpleDetailsViewActivated = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION);
+ final Button activateCheckButton = new Button(composite, SWT.CHECK);
+ activateCheckButton.setText("Show only a simple name details view");
+ activateCheckButton.setSelection(isSimpleDetailsViewActivated);
+ activateCheckButton.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ isSimpleDetailsViewActivated = activateCheckButton.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION, isSimpleDetailsViewActivated);
+ if(isSimpleDetailsViewActivated){
+ child.setVisible(true);
+ child.setEnabled(true);
+ }else{
+ child.setVisible(false);
+ child.setEnabled(false);
+ }
+ }
+ });
+
+ child = new Composite(composite, SWT.NULL);
+ child.setLayout(new GridLayout());
+ child.setVisible(isSimpleDetailsViewActivated);
+
+ final Button showTaxon = new Button(child, SWT.CHECK);
+ boolean isShowTaxon = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_TAXON);
+ showTaxon.setText("Show taxon of the name");
+ showTaxon.setSelection(isShowTaxon);
+ showTaxon.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowTaxon = showTaxon.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_TAXON, isShowTaxon);
+ }
+ });
+
+ final Button showLsid = new Button(child, SWT.CHECK);
+ boolean isShowLSID = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_LSID);
+ showLsid.setText("Show Lsid of the name");
+ showLsid.setSelection(isShowLSID);
+ showLsid.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowLSID = showLsid.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_LSID, isShowLSID);
+ }
+ });
+
+ final Button showNomenclaturalCode = new Button(child, SWT.CHECK);
+ boolean isShowNomenclaturalCode = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_CODE);
+ showNomenclaturalCode.setText("Show the nomenclatural code");
+ showNomenclaturalCode.setSelection(isShowNomenclaturalCode);
+ showNomenclaturalCode.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowNomenclaturalCode = showNomenclaturalCode.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_CODE, isShowNomenclaturalCode);
+ }
+ });
+
+ final Button showNameCache = new Button(child, SWT.CHECK);
+ boolean isShowNameCache = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAMECACHE);
+ showNameCache.setText("Show nameCache of the name (only the scientific name without the author and year)");
+ showNameCache.setSelection(isShowNomenclaturalCode);
+ showNameCache.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowNameCache = showNameCache.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAMECACHE, isShowNameCache);
+ }
+ });
+ final Button showAppendedPhrase = new Button(child, SWT.CHECK);
+ boolean isShowAppendedPhrase = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_APPENDED_PHRASE);
+ showAppendedPhrase.setText("Show appended phrase");
+ showAppendedPhrase.setSelection(isShowAppendedPhrase);
+ showAppendedPhrase.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowAppendedPhrase = showAppendedPhrase.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAMECACHE, isShowAppendedPhrase);
+ }
+ });
+
+ final Button showRank = new Button(child, SWT.CHECK);
+ boolean isShowRank = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_RANK);
+ showRank.setText("Show rank of the name");
+ showRank.setSelection(isShowRank);
+ showRank.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowRank = showRank.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_RANK, isShowRank);
+ }
+ });
+ final Button showEpithets = new Button(child, SWT.CHECK);
+ boolean isShowEpithets = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS);
+ showEpithets.setText("Show atomised epithets");
+ showEpithets.setSelection(isShowEpithets);
+ showEpithets.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowEpithets = showEpithets.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS, isShowEpithets);
+ }
+ });
+ final Button showAuthorship = new Button(child, SWT.CHECK);
+ boolean isShowAuthorship = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP);
+ showAuthorship.setText("Show authorship section");
+ showAuthorship.setSelection(isShowAuthorship);
+ showAuthorship.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowAuthorship = showAuthorship.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_AUTHORSHIP, isShowAuthorship);
+ }
+ });
+
+ final Button showNomenclaturalRef = new Button(child, SWT.CHECK);
+ boolean isShowNomenclaturalRef = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE);
+ showNomenclaturalRef.setText("Show nomenclatural reference section");
+ showNomenclaturalRef.setSelection(isShowNomenclaturalRef);
+ showNomenclaturalRef.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowNomenclaturalRef = showNomenclaturalRef.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE, isShowNomenclaturalRef);
+ }
+ });
+
+ final Button showNomenclaturalStatus = new Button(child, SWT.CHECK);
+ boolean isShowNomenclaturalStatus = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS);
+ showNomenclaturalStatus.setText("Show nomenclatural status section");
+ showNomenclaturalStatus.setSelection(isShowNomenclaturalStatus);
+ showNomenclaturalStatus.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowNomenclaturalStatus = showNomenclaturalStatus.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS, isShowNomenclaturalStatus);
+ }
+ });
+
+ final Button showProtologue = new Button(child, SWT.CHECK);
+ boolean isShowProtologue = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_PROTOLOGUE);
+ showProtologue.setText("Show protologue section");
+ showProtologue.setSelection(isShowProtologue);
+ showProtologue.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowProtologue = showProtologue.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_PROTOLOGUE, isShowProtologue);
+ }
+ });
+
+ final Button showTypeDesignation = new Button(child, SWT.CHECK);
+ boolean isShowTypeDesignation = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION);
+ showTypeDesignation.setText("Show name type designation section");
+ showTypeDesignation.setSelection(isShowTypeDesignation);
+ showTypeDesignation.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowTypeDesignation = showTypeDesignation.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION, isShowTypeDesignation);
+ }
+ });
+
+
+ final Button showNameRelationship = new Button(child, SWT.CHECK);
+ boolean isShowNameRelationship = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_RELATIONSHIP);
+ showNameRelationship.setText("Show name relationship section");
+ showNameRelationship.setSelection(isShowNameRelationship);
+ showNameRelationship.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ boolean isShowNameRelationship = showNameRelationship.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION, isShowNameRelationship);
+ }
+ });
+
+ if(isSimpleDetailsViewActivated){
+ child.setEnabled(true);
+ }else{
+ child.setEnabled(false);
+ }
+
+ return composite;
+
+
+
+ }
+
+}
*/
package eu.etaxonomy.taxeditor.preference;
+import java.util.Iterator;
import java.util.List;
+import org.eclipse.jface.preference.FieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.RadioGroupFieldEditor;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
+import eu.etaxonomy.cdm.api.service.IClassificationService;
+import eu.etaxonomy.cdm.api.service.IPreferenceService;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
import eu.etaxonomy.taxeditor.model.NomenclaturalCodeHelper;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
/**
public void init(IWorkbench workbench) {
setPreferenceStore(TaxeditorStorePlugin.getDefault()
.getPreferenceStore());
- setDescription("Choose which nomenclatural code you would like to use for scientific names unless otherwise specified.");
+ setDescription("Choose which nomenclatural code you would like to use for scientific names unless otherwise specified. \nATTENTION, this preference is stored in DB!");
+ PreferencesUtil.setPreferredNomenclaturalCode(null);
}
+
+ @Override
+ public boolean performOk() {
+
+ boolean result = super.performOk();
+ if (result){
+ String value = getPreferenceStore().getString(IPreferenceKeys.PREFERRED_NOMENCLATURAL_CODE_KEY);
+ CdmPreference pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.NomenclaturalCode, value);
+ ICdmApplicationConfiguration controller = CdmStore.getCurrentApplicationConfiguration();
+ if (controller == null){
+ return false;
+ }
+ IPreferenceService service = controller.getPreferenceService();
+ service.set(pref);
+ }
+ return result;
+ }
+
+
}
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeConfigurator;
import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
+import eu.etaxonomy.cdm.api.service.IPreferenceService;
import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.api.service.config.FindTaxaAndNamesConfiguratorImpl;
import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;
import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.common.TermBase;
import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
import eu.etaxonomy.cdm.strategy.match.DefaultMatchStrategy;
import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
public static final String P2_REPOSITORIES_DELIM = ",";
public static final String P2_REPOSITORY_FIELDS_DELIM = ";";
+
+
/**
* <p>
* getPreferenceStore
*/
public static void setPreferredNomenclaturalCode(
NomenclaturalCode preferredCode) {
+ ICdmApplicationConfiguration controller;
+ controller = CdmStore.getCurrentApplicationConfiguration();
+ PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode);
+ CdmPreference preference = null;
+ if (controller == null){
+ return;
+ }
+ if (preferredCode == null){
+ preference = controller.getPreferenceService().find(key);
+ if (preference == null){
+ return;
+ } else{
+ int index = StringUtils.lastIndexOf(preference.getValue(), ".");
+ UUID uuid = UUID.fromString(preference.getValue().substring(index +1, preference.getValue().length()));
+ preferredCode = NomenclaturalCode.getByUuid(uuid);
+ }
+ } else{
+ preference = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode, preferredCode.getKey());
+ controller.getPreferenceService().set(preference);
+ }
+
+
getPreferenceStore().setValue(PREFERRED_NOMENCLATURAL_CODE_KEY,
- getPreferenceKey(preferredCode));
+ getPreferenceKey(preferredCode));
}
+ public static NomenclaturalCode getPreferredNomenclaturalCode(){
+ return getPreferredNomenclaturalCode(false);
+ }
+
/**
* <p>
* getPreferredNomenclaturalCode
*
* @return a {@link eu.etaxonomy.cdm.model.name.NomenclaturalCode} object.
*/
- public static NomenclaturalCode getPreferredNomenclaturalCode() {
-
- for (NomenclaturalCode code : NomenclaturalCodeHelper.getAllCodes()) {
- String preferredCode = getPreferenceStore().getString(
+ public static NomenclaturalCode getPreferredNomenclaturalCode(boolean preConnected) {
+ ICdmApplicationConfiguration controller;
+ CdmPreference pref = null;
+ if (!preConnected){
+ try{
+ controller = CdmStore.getCurrentApplicationConfiguration();
+ PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode);
+ pref = controller.getPreferenceService().find(key);
+ }catch(Exception e){
+ e.printStackTrace();
+ }
+ }
+
+ String preferredCode;
+ if(pref == null){
+ preferredCode = getPreferenceStore().getString(
PREFERRED_NOMENCLATURAL_CODE_KEY);
+ }else{
+ preferredCode = pref.getValue();
+ }
+
+ for (NomenclaturalCode code : NomenclaturalCodeHelper.getAllCodes()) {
+// String preferredCode = getPreferenceStore().getString(
+// PREFERRED_NOMENCLATURAL_CODE_KEY);
if (getPreferenceKey(code).equals(preferredCode)) {
return code;
}
TAXON_SERVICE_CONFIGURATOR_NAMES));
configurator.setDoTaxaByCommonNames(getPreferenceStore().getBoolean(
TAXON_SERVICE_CONFIGURATOR_COMMON_NAMES));
+ //configurator.setMatchMode(eu.etaxonomy.cdm.persistence.query.MatchMode.valueOf(getPreferenceStore().getString(TAXON_SERVICE_CONFIGURATOR_MATCH_MODE)));
return configurator;
}
getPreferenceStore().setDefault(OPENURL_IMAGE_MAX_WIDTH, "1000");
getPreferenceStore().setDefault(OPENURL_IMAGE_MAX_HEIGHT, "1000");
getPreferenceStore().setDefault(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE, false);
+ getPreferenceStore().setDefault(CHECKLIST_ID_IN_VOCABULARY, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_AUTHORSHIP, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_HYBRID, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_LSID, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_NAME_RELATIONSHIP, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_NAMECACHE, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_CODE, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_PROTOLOGUE, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_RANK, true);
+ getPreferenceStore().setDefault(SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION, true);
}
/**
// First time Editor is opened, no nomenclatural code has been set
- if (PreferencesUtil.getPreferredNomenclaturalCode() == null) {
+ if (PreferencesUtil.getPreferredNomenclaturalCode(true) == null) {
PreferencesUtil.setPreferredNomenclaturalCode(NomenclaturalCode.ICNAFP);
/*
getPreferenceStore().setValue(IS_SHOW_UP_WIDGET_IS_DISPOSED, selection);
}
+ /**
+ * @return
+ */
+ public static boolean isShowIdInVocabularyInChecklistEditor() {
+ return getPreferenceStore().getBoolean(IPreferenceKeys.CHECKLIST_ID_IN_VOCABULARY);
+ }
+ public static void setShowIdInVocabularyInChecklistEditor(boolean selection) {
+ getPreferenceStore().setValue(CHECKLIST_ID_IN_VOCABULARY, selection);
+ }
+ /**
+ * @return
+ */
+ public static boolean isShowRankInChecklistEditor() {
+ return getPreferenceStore().getBoolean(IPreferenceKeys.CHECKLIST_SHOW_RANK);
+ }
+ public static void setShowRankInChecklistEditor(boolean selection) {
+ getPreferenceStore().setValue(CHECKLIST_SHOW_RANK, selection);
+ }
}
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.RowLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
+import eu.etaxonomy.cdm.persistence.query.MatchMode;
+
/**
* <p>
* TaxonomicEditorGeneralPreferences class.
addField(new BooleanFieldEditor(IPreferenceKeys.SEARCH_OPEN_RESULTS_IN_SEPARATE_WINDOWS,
"Open search results in separate windows",
getFieldEditorParent()));
+// addField(new BooleanFieldEditor(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION,
+// "Show only a simple name details view",
+// getFieldEditorParent()));
+
+ Composite composite = new Composite(getFieldEditorParent(), SWT.NULL);
+ composite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
+ composite.setLayout(new RowLayout(1));
+
+// final Label label = new Label(composite, SWT.NONE);
+// label.setText("Choose the prefered match mode for searches.");
+//
+// final Combo combo_MatchMode = new Combo(composite, SWT.NONE);
+//
+// MatchMode[] matchModes = MatchMode.values();
+// int currentSelectionIndex = 0;
+// for(int i = 0; i < matchModes.length; i++){
+// MatchMode mode = matchModes[i];
+// combo_MatchMode.add(mode.name(),i);
+// //TODO:the correct preselection is needed here!!
+// if (mode.equals(PreferencesUtil.getSearchConfigurator().getMatchMode())){
+// currentSelectionIndex = i;
+// }
+// }
+//
+// combo_MatchMode.select(currentSelectionIndex);
+//
+// combo_MatchMode.addSelectionListener(new SelectionAdapter() {
+// /* (non-Javadoc)
+// * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+// */
+// @Override
+// public void widgetSelected(SelectionEvent e) {
+// int selectionIndex = combo_MatchMode.getSelectionIndex();
+// PreferencesUtil.getSearchConfigurator().setMatchMode(MatchMode.valueOf(combo_MatchMode.getItem(selectionIndex)));
+// }
+// });
+
+
}
IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
String checkedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS);
String grayedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED);
- setTitle("Select areas for ChecklistEditor");
+ setTitle("Select areas for Distribution Editor");
setDescription("In order to be able to modify and see the distribution status of taxa,\n"
+ "you have to select the areas which you like to see.");
Composite composite = new Composite(parent, SWT.NULL);
this.viewer.setGrayed(element, false);
int length = tcp.getChildren(element).length;
if(length>1){
+ this.viewer.expandToLevel(element, CheckboxTreeViewer.ALL_LEVELS);
this.viewer.setSubtreeChecked(element, checked);
}
}
static void setInstance(ICdmApplicationConfiguration applicationController,
ICdmSource cdmSource) {
instance = new CdmStore(applicationController, cdmSource);
- if(getCurrentSessionManager().isRemoting()) {
- CdmApplicationState.setCdmServiceCacher(new CdmServiceCacher());
- }
+ CdmApplicationState.setCdmServiceCacher(new CdmServiceCacher());
+
}
private CdmStore(ICdmApplicationConfiguration applicationController,
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display;
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.api.service.IGroupService;
import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
+import eu.etaxonomy.taxeditor.Messages;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
public static final List NO_RESULTS = Arrays.asList(new Object[]{});
- public static final String WILDCARD = "*";
+ public static final String WILDCARD = "*"; //$NON-NLS-1$
public static int NO_COUNT = -1;
+
// TODO make this configurable via preferences
private static final int MAX_RESULTS_BEFORE_WARNING = 500;
- public List<TaxonNameBase> findNames(IIdentifiableEntityServiceConfigurator configurator){
+ public List<TaxonNameBase> findNames(IIdentifiableEntityServiceConfigurator configurator, ConversationHolder conversation){
+
if(checkLargeResult(CdmStore.getService(INameService.class).countByTitle(configurator))){
List<TaxonNameBase> records = CdmStore.getService(INameService.class).findByTitle(configurator).getRecords();
addUuidSearchResults(records, configurator, INameService.class);
String titleSearchString = configurator.getTitleSearchString();
try {
UUID uuid = UUID.fromString(titleSearchString);
- T foundRecord = CdmStore.getService(service).find(uuid);
+ T foundRecord = CdmStore.getService(service).load(uuid, configurator.getPropertyPaths());
if(foundRecord!=null){
records.add(foundRecord);
}
public List<SpecimenOrObservationBase> findOccurrences(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> configurator, boolean showFieldUnits){
List<SpecimenOrObservationBase> records = new ArrayList<SpecimenOrObservationBase>();
final List<String> BASE_OCCURRENCE_INIT_STRATEGY = Arrays.asList(new String[] {
- "collection",
- "descriptions",
- "identifiers",
- "derivationEvents.originals",
- "derivedFrom.originals",
- "gatheringEvent.country.representations",
- "gatheringEvent.collector",
- "gatheringEvent.locality",
- "descriptions.descriptionElements",
- "kindOfUnit",
- "amplificationResults",
- "sequences.singleReadAlignments",
- "mediaSpecimen"
+ "collection", //$NON-NLS-1$
+ "descriptions", //$NON-NLS-1$
+ "identifiers", //$NON-NLS-1$
+ "derivationEvents.originals", //$NON-NLS-1$
+ "derivedFrom.originals", //$NON-NLS-1$
+ "gatheringEvent.country.representations", //$NON-NLS-1$
+ "gatheringEvent.collector", //$NON-NLS-1$
+ "gatheringEvent.locality", //$NON-NLS-1$
+ "descriptions.descriptionElements", //$NON-NLS-1$
+ "kindOfUnit", //$NON-NLS-1$
+ "amplificationResults", //$NON-NLS-1$
+ "sequences.singleReadAlignments", //$NON-NLS-1$
+ "mediaSpecimen" //$NON-NLS-1$
});
List<String> occurrencePropertyPaths = new ArrayList<String>();
occurrencePropertyPaths.addAll(BASE_OCCURRENCE_INIT_STRATEGY);
for(String propertyPath:BASE_OCCURRENCE_INIT_STRATEGY) {
- occurrencePropertyPaths.add("derivationEvents.derivatives." + propertyPath);
+ occurrencePropertyPaths.add("derivationEvents.derivatives." + propertyPath); //$NON-NLS-1$
}
configurator.setPropertyPaths(occurrencePropertyPaths);
private boolean checkLargeResult(int count, int maxBeforWarning) {
if(count > maxBeforWarning){
- return MessageDialog.openConfirm(Display.getDefault().getActiveShell(), "Large result expected",
- String.format("The current search will return %s objects. This will " +
- "take a long time and/or might render the editor unusable. Please consider refining your search.", count));
+ return MessageDialog.openConfirm(Display.getDefault().getActiveShell(), Messages.SearchManager_LARGE_RESULT_EXPECTED,
+ String.format(Messages.SearchManager_LONG_SEARCH_WARNING, count));
}else{
return true;
}
}
private String sqlizeTitleSearchString(IIdentifiableEntityServiceConfigurator configurator){
- return configurator.getTitleSearchString().replace(WILDCARD, "%");
+ return configurator.getTitleSearchString().replace(WILDCARD, "%"); //$NON-NLS-1$
}
public List findTaxa(IIdentifiableEntityServiceConfigurator configurator) {
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.ui.element.RootElement;
+import eu.etaxonomy.taxeditor.webapp.ICDMServerError;
/**
* @author pplitzner
* @date Mar 30, 2016
*
*/
-public abstract class AbstractEntityCollectionElementWizardPage extends WizardPage implements
+public abstract class AbstractEntityCollectionElementWizardPage extends WizardPage implements
IPropertyChangeListener {
protected CdmFormFactory formFactory;
+
protected RootElement rootElement;
protected AbstractEntityCollectionElementWizardPage(String pageName) {
super(pageName);
+
}
/**
public void dispose() {
rootElement.removeElements();
formFactory.removePropertyChangeListener(this);
+
super.dispose();
}
if(authenticatedUser == null) {
text = "Not logged in " ;
} else {
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- CdmRemoteSource source = (CdmRemoteSource) CdmStore.getActiveCdmSource();
- String loginInfo = authenticatedUser.getUsername() + "@" + source.getName() + ":" + source.getContextPath();
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().setText(ApplicationUtil.getTitle() + " " + loginInfo);
- }
+ CdmRemoteSource source = (CdmRemoteSource) CdmStore.getActiveCdmSource();
+ String loginInfo = authenticatedUser.getUsername() + "@" + source.getName() + ":" + source.getContextPath();
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().setText(ApplicationUtil.getTitle() + " " + loginInfo);
+
text = "Logged in as: " + authenticatedUser.getUsername() + " ";
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2016 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.ui.combo;
+
+import org.eclipse.jface.viewers.ComboViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
+import eu.etaxonomy.taxeditor.ui.element.ISelectable;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
+
+/**
+ * @author pplitzner
+ * @date Aug 11, 2016
+ *
+ */
+public abstract class AbstractComboElement<T> extends
+AbstractCdmFormElement implements SelectionListener,
+IEnableableFormElement, ISelectable,
+DisposeListener {
+
+ protected static final int DEFAULT_VISIBLE_ITEMS = 10;
+
+ protected T selection;
+
+ protected Label label;
+
+ protected final Combo combo;
+
+
+ public AbstractComboElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
+ super(formFactory, formElement);
+
+ label = formFactory.createLabel(getLayoutComposite(), "");
+ addControl(label);
+
+ // create combo
+ ComboViewer viewer = new ComboViewer(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY );
+ combo = viewer.getCombo();
+ addControl(combo);
+ TableWrapData fill_HORIZONTALLY = LayoutConstants.FILL_HORIZONTALLY();
+ combo.setLayoutData(fill_HORIZONTALLY);
+ fill_HORIZONTALLY.maxWidth = 50;
+ combo.setVisibleItemCount(DEFAULT_VISIBLE_ITEMS);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setBackground(Color color) {
+ if (label != null) {
+ label.setBackground(color);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setIrrelevant(boolean irrelevant) {
+ String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT
+ : Resources.COLOR_COMPOSITE_BACKGROUND;
+
+ Color color = AbstractUtility.getColor(colorId);
+ combo.setBackground(color);
+ }
+
+ public void setVisibleItemCount(int count){
+ combo.setVisibleItemCount(count);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setSelected(boolean selected) {
+ setBackground(selected ? SELECTED : getPersistentBackground());
+ }
+
+ public T getSelection() {
+ return selection;
+ }
+
+ public void addSelectionListener(SelectionListener listener) {
+ combo.addSelectionListener(listener);
+ }
+
+ public void removeSelectionListener(SelectionListener listener) {
+ combo.removeSelectionListener(listener);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void widgetDisposed(DisposeEvent e) {
+ PreferencesUtil.getPreferenceStore().removePropertyChangeListener(this);
+ }
+
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+
+ @Override
+ public boolean isEnabled() {
+ return combo.isEnabled();
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setEnabled(boolean enabled) {
+ combo.setEnabled(enabled);
+ }
+
+ public abstract void setSelection(T selection);
+}
import java.util.List;
import java.util.Map.Entry;
-import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Label;
import eu.etaxonomy.cdm.model.common.IEnumTerm;
import eu.etaxonomy.cdm.model.common.OriginalSourceType;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
import eu.etaxonomy.cdm.model.reference.ReferenceType;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
-import eu.etaxonomy.taxeditor.preference.Resources;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
-import eu.etaxonomy.taxeditor.ui.element.ISelectable;
-import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
/**
- * <p>
- * Abstract AbstractEnumComboElement class.
- * </p>
- *
* @author n.hoffmann
* @created Mar 16, 2010
* @version 1.0
*/
public class EnumComboElement<T extends IEnumTerm<T>> extends
- AbstractCdmFormElement implements SelectionListener,
- IEnableableFormElement, ISelectable {
+ AbstractComboElement<T> {
//TODO RL
public void setVisible(boolean b){
combo.setVisible(b);
}
-
+
private static CdmEnumDataHolder[] cdmEnumDataHolders = {
new CdmEnumDataHolder<NomenclaturalCode>(){
};
- private static final int DEFAULT_VISIBLE_ITEMS = 10;
-
- protected T selection;
-
protected List<T> elementTypeList = new ArrayList<T>();
- private final Label label;
- protected Combo combo;
-
private final Class<T> enumType;
- /**
- * <p>
- * Constructor for AbstractEnumComboElement.
- * </p>
- *
- * @param formFactory
- * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
- * object.
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param labelString
- * a {@link java.lang.String} object.
- * @param <T>
- * a T object.
- */
public EnumComboElement(CdmFormFactory formFactory,
ICdmFormElement parentElement, Class<T> enumType, int style) {
super(formFactory, parentElement);
this.enumType = enumType;
- label = formFactory.createLabel(getLayoutComposite(), getDefaultLabelString());
- addControl(label);
-
- // create combo
- combo = new Combo(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY);
- addControl(combo);
- combo.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
- setVisibleItemCount(DEFAULT_VISIBLE_ITEMS);
+ label.setText(getDefaultLabelString());
populateTypes();
return "No Label";
}
- /**
- * <p>
- * populateTypes
- * </p>
- */
private void populateTypes(){
Collection<T> elementsForClass = getElementsForClass(enumType);
// special hierarchical order for specimens
}
}
- /**
- * <p>
- * Setter for the field <code>selection</code>.
- * </p>
- *
- * @param selection
- * the selection to set
- */
- public void setSelection(T selection) {
+ @Override
+ public void setSelection(T selection) {
this.selection = selection;
combo.select(elementTypeList.indexOf(selection));
}
-
- /**
- * <p>
- * addSelectionListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- */
- public void addSelectionListener(SelectionListener listener) {
- combo.addSelectionListener(listener);
- }
-
- /**
- * <p>
- * removeSelectionListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- */
- public void removeSelectionListener(SelectionListener listener) {
- combo.removeSelectionListener(listener);
- }
-
- /** {@inheritDoc} */
- @Override
- public void setSelected(boolean selected) {
- setBackground(selected ? SELECTED : getPersistentBackground());
- }
-
- /**
- * <p>
- * Getter for the field <code>selection</code>.
- * </p>
- *
- * @return the selection
- */
- public T getSelection() {
- return selection;
- }
-
- /** {@inheritDoc} */
- @Override
- public void setEnabled(boolean enabled) {
- combo.setEnabled(enabled);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled()
- */
- @Override
- public boolean isEnabled() {
- return combo.isEnabled();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt
- * .events.SelectionEvent)
- */
/** {@inheritDoc} */
@Override
public void widgetSelected(SelectionEvent e) {
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
}
- /** {@inheritDoc} */
- @Override
- public void setIrrelevant(boolean irrelevant) {
- String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT
- : Resources.COLOR_COMPOSITE_BACKGROUND;
-
- Color color = StoreUtil.getColor(colorId);
- combo.setBackground(color);
- }
-
- /** {@inheritDoc} */
- @Override
- public void setBackground(Color color) {
- label.setBackground(color);
- }
-
- /** {@inheritDoc} */
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- public void setVisibleItemCount(int visibleItems){
- combo.setVisibleItemCount(visibleItems);
- }
-
private Collection<T> getElementsForClass(Class<T> clazz){
CdmEnumDataHolder<T> dataHolder = getCdmEnumDataHolderForClass(clazz);
if (dataHolder != null) {
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.preference.Resources;
import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.taxeditor.store.TermManager;
-import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
-import eu.etaxonomy.taxeditor.ui.element.ISelectable;
-import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
/**
- * <p>
- * Abstract AbstractTermComboElement class.
- * </p>
- *
* @author n.hoffmann
* @created Nov 5, 2009
* @version 1.0
* @param <T>
*/
public class TermComboElement<T extends DefinedTermBase>
- extends AbstractCdmFormElement implements SelectionListener,
- DisposeListener, IEnableableFormElement, ISelectable {
-
- private static final int DEFAULT_VISIBLE_ITEMS = 10;
-
- private T selection;
+ extends AbstractComboElement<T> {
private T emptyElement;
private static String EMPTY_ELEMENT_LABEL = "";
- protected Label label;
- private final Combo combo;
-
private ArrayList<T> terms;
private Comparator<T> termComparator;
private List<T> customPreferredTerms;
+ private boolean useAbbrevLabel = false;
private boolean addEmptyElement;
public TermComboElement(CdmFormFactory formFactory,
ICdmFormElement parentElement, TermType termType, String labelString, T selection, boolean addEmptyElement,
- int style) {
- this(formFactory, parentElement, null, termType, null, labelString, selection, addEmptyElement, style);
+ int style, boolean useAbbrevLabel) {
+ this(formFactory, parentElement, null, termType, null, labelString, selection, addEmptyElement, style, useAbbrevLabel);
}
public TermComboElement(CdmFormFactory formFactory,
ICdmFormElement parentElement, TermVocabulary<?> termVocabulary, String labelString, T selection, boolean addEmptyElement,
int style) {
- this(formFactory, parentElement, null, null, termVocabulary, labelString, selection, addEmptyElement, style);
+ this(formFactory, parentElement, null, null, termVocabulary, labelString, selection, addEmptyElement, style, false);
}
public TermComboElement(CdmFormFactory formFactory,
ICdmFormElement parentElement, Class<T> termClass, String labelString, T selection, boolean addEmptyElement,
int style) {
- this(formFactory, parentElement, termClass, null, null, labelString, selection, addEmptyElement, style);
+ this(formFactory, parentElement, termClass, null, null, labelString, selection, addEmptyElement, style, false);
+ }
+ public TermComboElement(CdmFormFactory formFactory,
+ ICdmFormElement parentElement, Class<T> termClass, String labelString, T selection, boolean addEmptyElement,
+ int style, boolean useAbbrevLabel) {
+ this(formFactory, parentElement, termClass, null, null, labelString, selection, addEmptyElement, style, useAbbrevLabel);
+
}
private TermComboElement(CdmFormFactory formFactory,
ICdmFormElement parentElement, Class<T> termClass, TermType termType, TermVocabulary<?> termVocabulary, String labelString, T selection, boolean addEmptyElement,
- int style) {
+ int style, boolean useAbbrevLabel) {
super(formFactory, parentElement);
this.termType = termType;
this.termVocabulary = termVocabulary;
this.termClass = termClass;
this.addEmptyElement = addEmptyElement;
-
+ this.useAbbrevLabel = useAbbrevLabel;
if (labelString != null) {
- label = formFactory.createLabel(getLayoutComposite(), labelString);
- addControl(label);
+ label.setText(labelString);
}
- // create combo
- combo = new Combo(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY );//FIXME: removed this parameter seems break windows version: | style
- addControl(combo);
- combo.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
- combo.setVisibleItemCount(DEFAULT_VISIBLE_ITEMS);
-
if(termType!=null){
//TODO try to remove generic T and avoid classes to be used
populateTerms((List<T>) getTermManager().getPreferredTerms(termType));
}
}
- /**
- * <p>
- * Getter for the field <code>selection</code>.
- * </p>
- *
- * @return a T object.
- */
- public T getSelection() {
- return selection;
- }
-
/**
* <p>Sets the selection of the combo to the given T object.</p>
* <p>Passing <code>null</code> to this method will set the selection to
* @param selection
* a T object or <code>null</code> to clear the selection
*/
- public void setSelection(T selection) {
+ @Override
+ public void setSelection(T selection) {
this.selection = selection;
Listener[] listeners = combo.getListeners(SWT.Selection);
combo.select(index);
}
- /*
- * (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.forms.IEnableableFormElement#setEnabled(boolean)
- */
- /** {@inheritDoc} */
- @Override
- public void setEnabled(boolean enabled) {
- combo.setEnabled(enabled);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled()
- */
- @Override
- public boolean isEnabled() {
- return combo.isEnabled();
- }
-
- /**
- * <p>
- * preferredTerms
- * </p>
- *
- * @return a {@link java.util.List} object.
- */
protected List<T> getPreferredTerms(){
List<T> preferredTerms = new ArrayList<T>();
if (customPreferredTerms != null){
if (term == null){
return "";
}else{
- String termLabel = term.getLabel(CdmStore.getDefaultLanguage());
+ String termLabel = null;
+ if (useAbbrevLabel){
+ termLabel = term.getIdInVocabulary();
+ }else{
+ termLabel = term.getLabel(CdmStore.getDefaultLanguage());
+ }
+ if (termLabel == null){
+ termLabel = term.getLabel();
+ }
if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_VOCABULARY_ID_FOR_TERM_LABELS)
&& term.getVocabulary()!=null){
- termLabel += " ["+term.getVocabulary().getLabel(CdmStore.getDefaultLanguage())+"]";
+ String vocLabel = term.getVocabulary().getLabel(CdmStore.getDefaultLanguage());
+ if (vocLabel == null){
+ vocLabel = term.getVocabulary().getLabel();
+ }
+ termLabel += " ["+vocLabel+"]";
}
return termLabel;
}
populateTerms(preferredTerms);
}
- /**
- * <p>
- * addSelectionListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- */
- public void addSelectionListener(SelectionListener listener) {
- combo.addSelectionListener(listener);
- }
-
- /**
- * <p>
- * removeSelectionListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- */
- public void removeSelectionListener(SelectionListener listener) {
- combo.removeSelectionListener(listener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt
- * .events.SelectionEvent)
- */
/** {@inheritDoc} */
@Override
public void widgetSelected(SelectionEvent e) {
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
}
- /*
- * (non-Javadoc)
- *
- * @see java.beans.PropertyChangeListener#propertyChange(java.beans.
- * PropertyChangeEvent)
- */
/** {@inheritDoc} */
@Override
public void propertyChange(PropertyChangeEvent event) {
}
}
- /** {@inheritDoc} */
- @Override
- public void setSelected(boolean selected) {
- setBackground(selected ? SELECTED : getPersistentBackground());
- }
-
- /** {@inheritDoc} */
- @Override
- public void widgetDisposed(DisposeEvent e) {
- PreferencesUtil.getPreferenceStore().removePropertyChangeListener(this);
- }
-
- // not used
- /** {@inheritDoc} */
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- /** {@inheritDoc} */
- @Override
- public void setIrrelevant(boolean irrelevant) {
- String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT
- : Resources.COLOR_COMPOSITE_BACKGROUND;
-
- Color color = StoreUtil.getColor(colorId);
- combo.setBackground(color);
- }
-
- /** {@inheritDoc} */
- @Override
- public void setBackground(Color color) {
- if (label != null) {
- label.setBackground(color);
- }
- }
-
- /**
- *
- */
protected TermManager getTermManager() {
return CdmStore.getTermManager();
}
- /**
- *
- * @return
- */
public int getVisibleItemCount(){
return combo.getVisibleItemCount();
}
- /**
- *
- * @param count
- */
- public void setVisibleItemCount(int count){
- combo.setVisibleItemCount(count);
- }
-
/**
* <p>A {@link List} of term objects may be passed to this combo box. In this case, the default behaviour
* of displaying the preferred terms for the T type will be overridden and the combo will only display the
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import eu.etaxonomy.cdm.api.service.IVocabularyService;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.preference.Resources;
import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.taxeditor.store.TermManager;
-import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
-import eu.etaxonomy.taxeditor.ui.element.ISelectable;
-import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
/**
- * <p>
- * Abstract AbstractTermComboElement class.
- * </p>
- *
* @author n.hoffmann
* @created Nov 5, 2009
* @version 1.0
* @param <VOC>
*/
public class VocabularyComboElement<TERM extends DefinedTermBase<TERM>, VOC extends TermVocabulary<TERM>>
- extends AbstractCdmFormElement implements SelectionListener,
- DisposeListener, IEnableableFormElement, ISelectable {
-
- private static final int DEFAULT_VISIBLE_ITEMS = 10;
-
- private VOC selection;
+ extends AbstractComboElement<VOC> {
private VOC emptyElement;
private static String EMPTY_ELEMENT_LABEL = "";
- protected Label label;
- private final Combo combo;
-
private ArrayList<VOC> terms;
private Comparator<VOC> vocComparator;
this.termType = termType;
- if (labelString != null) {
- label = formFactory.createLabel(getLayoutComposite(), labelString);
- addControl(label);
- }
-
- // create combo
- combo = new Combo(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY );//FIXME: removed this parameter seems break windows version: | style
- addControl(combo);
- combo.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
- combo.setVisibleItemCount(DEFAULT_VISIBLE_ITEMS);
-
populateTerms(getVocabularies());
combo.addSelectionListener(this);
}
}
- /**
- * <p>
- * Getter for the field <code>selection</code>.
- * </p>
- *
- * @return a T object.
- */
- public VOC getSelection() {
- return selection;
- }
-
/**
* <p>Sets the selection of the combo to the given T object.</p>
* <p>Passing <code>null</code> to this method will set the selection to
* @param selection
* a T object or <code>null</code> to clear the selection
*/
- public void setSelection(VOC selection) {
+ @Override
+ public void setSelection(VOC selection) {
this.selection = selection;
this.selection = selection;
combo.select(index);
}
- /*
- * (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.forms.IEnableableFormElement#setEnabled(boolean)
- */
- /** {@inheritDoc} */
- @Override
- public void setEnabled(boolean enabled) {
- combo.setEnabled(enabled);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled()
- */
- @Override
- public boolean isEnabled() {
- return combo.isEnabled();
- }
-
- /**
- * <p>
- * preferredTerms
- * </p>
- *
- * @return a {@link java.util.List} object.
- */
protected List<VOC> getVocabularies(){
List<TermVocabulary<TERM>> list = CdmStore.getService(IVocabularyService.class).<TERM>findByTermType(termType);
return (List<VOC>) list;
}
}
- /**
- *
- *
- * @param term
- */
private void createTermNotInPreferredTerms(VOC term) {
List<VOC> preferredTerms = getVocabularies();
populateTerms(preferredTerms);
}
- /**
- * <p>
- * addSelectionListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- */
- public void addSelectionListener(SelectionListener listener) {
- combo.addSelectionListener(listener);
- }
-
- /**
- * <p>
- * removeSelectionListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- */
- public void removeSelectionListener(SelectionListener listener) {
- combo.removeSelectionListener(listener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt
- * .events.SelectionEvent)
- */
/** {@inheritDoc} */
@Override
public void widgetSelected(SelectionEvent e) {
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
}
- /*
- * (non-Javadoc)
- *
- * @see java.beans.PropertyChangeListener#propertyChange(java.beans.
- * PropertyChangeEvent)
- */
/** {@inheritDoc} */
@Override
public void propertyChange(PropertyChangeEvent event) {
}
}
- /** {@inheritDoc} */
- @Override
- public void setSelected(boolean selected) {
- setBackground(selected ? SELECTED : getPersistentBackground());
- }
-
- /** {@inheritDoc} */
- @Override
- public void widgetDisposed(DisposeEvent e) {
- PreferencesUtil.getPreferenceStore().removePropertyChangeListener(this);
- }
-
- // not used
- /** {@inheritDoc} */
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- /** {@inheritDoc} */
- @Override
- public void setIrrelevant(boolean irrelevant) {
- String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT
- : Resources.COLOR_COMPOSITE_BACKGROUND;
-
- Color color = StoreUtil.getColor(colorId);
- combo.setBackground(color);
- }
-
- /** {@inheritDoc} */
- @Override
- public void setBackground(Color color) {
- if (label != null) {
- label.setBackground(color);
- }
- }
-
- /**
- *
- */
protected TermManager getTermManager() {
return CdmStore.getTermManager();
}
- /**
- *
- * @return
- */
public int getVisibleItemCount(){
return combo.getVisibleItemCount();
}
- /**
- *
- * @param count
- */
- public void setVisibleItemCount(int count){
- combo.setVisibleItemCount(count);
- }
-
public void removeEmptyElement(){
terms.remove(emptyElement);
combo.remove(EMPTY_ELEMENT_LABEL);
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.metadata.CdmMetaData;
+import eu.etaxonomy.taxeditor.Messages;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
*/
public class RemotingLoginDialog extends Dialog implements ICDMServerError {
- protected Object result;
+ private static final String UBUNTU = "Ubuntu"; //$NON-NLS-1$
+ protected Object result;
protected Shell shlConnect;
private Text txtCdmServerStatus;
private Text txtCdmInstanceStatus;
private final Map<String, CdmServerInfo> csiiMap = new HashMap<String, CdmServerInfo>();
- private final static String STATUS_AVAILABLE = "Available";
- private final static String STATUS_NOT_AVAILABLE = "Not Available";
- private final static String STATUS_STARTED = "Started";
- private final static String STATUS_NOT_STARTED = "Not Started";
- private final static String STATUS_RETRIEVING = "Retrieving ...";
- private final static String STATUS_CHECKING_AVAILABILITY = "Checking ...";
- private final static String STATUS_NO_INSTANCES = "No Instances Found";
- private final static String STATUS_ERROR = "Error";
- private final static String STATUS_REMOTING_NOT_ACTIVATED = "Remoting not activated";
- private final static String STATUS_NOT_COMPATIBLE = "Not Compatible";
+ private final static String STATUS_AVAILABLE = Messages.RemotingLoginDialog_STATUS_AVAILABLE;
+ private final static String STATUS_NOT_AVAILABLE = Messages.RemotingLoginDialog_STATUS_NOT_AVAILABLE;
+ private final static String STATUS_STARTED = Messages.RemotingLoginDialog_STATUS_STARTED;
+ private final static String STATUS_NOT_STARTED = Messages.RemotingLoginDialog_STATUS_NOT_STARTED;
+ private final static String STATUS_RETRIEVING = Messages.RemotingLoginDialog_STATUS_RETRIEVING;
+ private final static String STATUS_CHECKING_AVAILABILITY = Messages.RemotingLoginDialog_STATUS_CHECKING;
+ private final static String STATUS_NO_INSTANCES = Messages.RemotingLoginDialog_STATUS_NO_INSTANCES_FOUND;
+ private final static String STATUS_ERROR = Messages.RemotingLoginDialog_STATUS_ERROR;
+ private final static String STATUS_REMOTING_NOT_ACTIVATED = Messages.RemotingLoginDialog_STATUS_REMOTING_NOT_ACTIVATED;
+ private final static String STATUS_NOT_COMPATIBLE = Messages.RemotingLoginDialog_STATUS_NOT_COMPATIBLE;
- private final static String MESG_COMPATIBLE_EDITOR_OLD = "Please update the Taxonomic Editor (Help->Check for Updates) or choose a compatible cdm-server";
- private final static String MESG_COMPATIBLE_SERVER_OLD = "Please choose a compatible cdm-server or update the chosen cdm-server";
+ private final static String MESG_COMPATIBLE_EDITOR_OLD = Messages.RemotingLoginDialog_UPDATE_EDITOR;
+ private final static String MESG_COMPATIBLE_SERVER_OLD = Messages.RemotingLoginDialog_CHOOSE_COMPATIBLE_CDM_SERVER;
- private final static String STORE_PREFERENCES_NODE = "eu.etaxonomy.taxeditor.store";
+ private final static String STORE_PREFERENCES_NODE = "eu.etaxonomy.taxeditor.store"; //$NON-NLS-1$
- private final static String LOGIN_NODE = "login";
- private final static String USERNAME_SUFFIX = "_username";
- private final static String PASSWORD_SUFFIX = "_password";
+ private final static String LOGIN_NODE = "login"; //$NON-NLS-1$
+ private final static String USERNAME_SUFFIX = "_username"; //$NON-NLS-1$
+ private final static String PASSWORD_SUFFIX = "_password"; //$NON-NLS-1$
- private final static String LAST_SERVER_INSTANCE_NODE = "lastServerInstance";
- private final static String LAST_SERVER_KEY = "lastServerKey";
- private final static String LAST_INSTANCE_KEY = "lastInstanceKey";
+ private final static String LAST_SERVER_INSTANCE_NODE = "lastServerInstance"; //$NON-NLS-1$
+ private final static String LAST_SERVER_KEY = "lastServerKey"; //$NON-NLS-1$
+ private final static String LAST_INSTANCE_KEY = "lastInstanceKey"; //$NON-NLS-1$
- private final static String REFRESH_LABEL = "Refresh";
+ private final static String REFRESH_LABEL = Messages.RemotingLoginDialog_LABEL_REFRESH;
private Composite remotingComposite;
private CdmServerInfo selectedCsii;
*/
public RemotingLoginDialog(Shell parent, int style) {
super(parent, style);
- setText("Login");
+ setText(Messages.RemotingLoginDialog_LABEL_LOGIN);
}
public Object open(CdmRemoteSource source, boolean loadLoginPrefs, boolean autoConnect) {
this.loadLoginPrefs = loadLoginPrefs;
this.serverName = source.getName();
String contextPath = source.getContextPath();
- this.instanceName = contextPath.substring(contextPath.lastIndexOf("/") + 1);
+ this.instanceName = contextPath.substring(contextPath.lastIndexOf("/") + 1); //$NON-NLS-1$
return open(serverName, instanceName, loadLoginPrefs, autoConnect);
}
shlConnect = new Shell(getParent(), SWT.DIALOG_TRIM);
shlConnect.setMinimumSize(new Point(MIN_WIDTH, MIN_HEIGHT));
shlConnect.setSize(MIN_WIDTH, MIN_HEIGHT);
- shlConnect.setText("Connect");
+ shlConnect.setText(Messages.RemotingLoginDialog_LABEL_CONNECT);
shlConnect.setLayout(new FillLayout(SWT.HORIZONTAL));
remotingComposite = new Composite(shlConnect, SWT.NONE);
cdmServerComposite.setLayout(new GridLayout(4, false));
Label lblCdmServer = new Label(cdmServerComposite, SWT.NONE);
- lblCdmServer.setText("CDM Server : ");
- lblCdmServer.setFont(SWTResourceManager.getFont("Ubuntu", 9, SWT.NORMAL));
+ lblCdmServer.setText(Messages.RemotingLoginDialog_LABEL_CDM_SERVER);
+ lblCdmServer.setFont(SWTResourceManager.getFont(UBUNTU, 9, SWT.NORMAL));
lblCdmServer.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
comboCdmServer = new Combo(cdmServerComposite, SWT.READ_ONLY);
}
});
btnCdmServerRefresh.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
- btnCdmServerRefresh.setText("Refresh");
+ btnCdmServerRefresh.setText(Messages.RemotingLoginDialog_LABEL_REFRESH);
Label lblCdmInstance = new Label(cdmServerComposite, SWT.NONE);
GridData gd_lblCdmInstance = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1);
gd_lblCdmInstance.heightHint = 30;
lblCdmInstance.setLayoutData(gd_lblCdmInstance);
- lblCdmInstance.setText("CDM Instance : ");
- lblCdmInstance.setFont(SWTResourceManager.getFont("Ubuntu", 9, SWT.NORMAL));
+ lblCdmInstance.setText(Messages.RemotingLoginDialog_LABEL_CDM_INSTANCE);
+ lblCdmInstance.setFont(SWTResourceManager.getFont(UBUNTU, 9, SWT.NORMAL));
comboCdmInstance = new Combo(cdmServerComposite, SWT.READ_ONLY);
comboCdmInstance.addSelectionListener(new SelectionAdapter() {
gd_btnCdmInstanceRefresh.widthHint = 110;
gd_btnCdmInstanceRefresh.heightHint = 30;
btnCdmInstanceRefresh.setLayoutData(gd_btnCdmInstanceRefresh);
- btnCdmInstanceRefresh.setText("Refresh");
+ btnCdmInstanceRefresh.setText(Messages.RemotingLoginDialog_LABEL_REFRESH);
loginComposite = new Composite(remotingComposite, SWT.NONE);
GridData gd_loginComposite = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
GridData gd_lblLogin = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1);
gd_lblLogin.widthHint = 50;
lblLogin.setLayoutData(gd_lblLogin);
- lblLogin.setText("Login : ");
- lblLogin.setFont(SWTResourceManager.getFont("Ubuntu", 9, SWT.NORMAL));
+ lblLogin.setText(Messages.RemotingLoginDialog_LABEL_LOGIN_COLON);
+ lblLogin.setFont(SWTResourceManager.getFont(UBUNTU, 9, SWT.NORMAL));
txtLogin = new Text(loginComposite, SWT.BORDER);
GridData gd_txtLogin = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1);
lblPassword = new Label(loginComposite, SWT.CENTER);
lblPassword.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- lblPassword.setText("Password : ");
- lblPassword.setFont(SWTResourceManager.getFont("Ubuntu", 9, SWT.NORMAL));
+ lblPassword.setText(Messages.RemotingLoginDialog_LABEL_PASSWORD);
+ lblPassword.setFont(SWTResourceManager.getFont(UBUNTU, 9, SWT.NORMAL));
txtPassword = new Text(loginComposite, SWT.BORDER | SWT.PASSWORD);
GridData gd_txtPassword = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1);
}
}
});
- btnConnect.setText("Connect");
+ btnConnect.setText(Messages.RemotingLoginDialog_LABEL_CONNECT);
btnRememberMe = new Button(loginComposite, SWT.CHECK);
btnRememberMe.setSelection(true);
GridData gd_btnRememberMe = new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1);
- gd_btnRememberMe.widthHint = 107;
btnRememberMe.setLayoutData(gd_btnRememberMe);
- btnRememberMe.setText("Remember Me");
+ btnRememberMe.setText(Messages.RemotingLoginDialog_LABEL_REMEMBER_ME);
new Label(loginComposite, SWT.NONE);
new Label(loginComposite, SWT.NONE);
new Label(loginComposite, SWT.NONE);
styledTxtMessage = new StyledText(remotingComposite, SWT.NONE);
styledTxtMessage.setBackground(SWTResourceManager.getColor(SWT.COLOR_INFO_BACKGROUND));
styledTxtMessage.setForeground(SWTResourceManager.getColor(SWT.COLOR_DARK_RED));
- styledTxtMessage.setFont(SWTResourceManager.getFont("Ubuntu", 12, SWT.BOLD));
+ styledTxtMessage.setFont(SWTResourceManager.getFont(UBUNTU, 12, SWT.BOLD));
styledTxtMessage.setSelectionBackground(SWTResourceManager.getColor(SWT.COLOR_LIST_SELECTION_TEXT));
styledTxtMessage.setSelectionForeground(SWTResourceManager.getColor(SWT.COLOR_DARK_RED));
styledTxtMessage.setDoubleClickEnabled(false);
public void expansionStateChanging(ExpansionEvent e) {
}
});
- xpndblcmpstAdvanced.setText("advanced");
+ xpndblcmpstAdvanced.setText(Messages.RemotingLoginDialog_LABEL_ADVANCED);
xpndblcmpstAdvanced.setExpanded(true);
compAdvanced = new Composite(xpndblcmpstAdvanced, SWT.NONE);
lblPort = new Label(compAdvanced, SWT.CENTER);
lblPort.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
lblPort.setSize(0, 0);
- lblPort.setText("Port : ");
- lblPort.setFont(SWTResourceManager.getFont("Ubuntu", 9, SWT.NORMAL));
+ lblPort.setText(Messages.RemotingLoginDialog_LABEL_PORT);
+ lblPort.setFont(SWTResourceManager.getFont(UBUNTU, 9, SWT.NORMAL));
txtPort = new Text(compAdvanced, SWT.BORDER);
GridData gd_txtPort = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
lblServerVersion = new Label(compAdvanced, SWT.CENTER);
lblServerVersion.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- lblServerVersion.setText("Server Cdmlib Version :");
- lblServerVersion.setFont(SWTResourceManager.getFont("Ubuntu", 9, SWT.NORMAL));
+ lblServerVersion.setText(Messages.RemotingLoginDialog_LABEL_SERVER_CDMLIB_VERSION);
+ lblServerVersion.setFont(SWTResourceManager.getFont(UBUNTU, 9, SWT.NORMAL));
txtServerVersion = new Text(compAdvanced, SWT.BORDER);
txtServerVersion.setEditable(false);
stopManagedServer();
}
});
- btnStopServer.setText("Stop Managed Server");
+ btnStopServer.setText(Messages.RemotingLoginDialog_LABEL_STOP_MANAGED_SERVER);
lblEditorVersion = new Label(compAdvanced, SWT.CENTER);
lblEditorVersion.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- lblEditorVersion.setText("Editor Cdmlib Version :");
- lblEditorVersion.setFont(SWTResourceManager.getFont("Ubuntu", 9, SWT.NORMAL));
+ lblEditorVersion.setText(Messages.RemotingLoginDialog_LABEL_EDITOR_CDMLIB_VERSION);
+ lblEditorVersion.setFont(SWTResourceManager.getFont(UBUNTU, 9, SWT.NORMAL));
txtEditorVersion = new Text(compAdvanced, SWT.BORDER);
txtEditorVersion.setEditable(false);
lblServerCDMVersion = new Label(compAdvanced, SWT.CENTER);
lblServerCDMVersion.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- lblServerCDMVersion.setText("Server CDM Version :");
- lblServerCDMVersion.setFont(SWTResourceManager.getFont("Ubuntu", 9, SWT.NORMAL));
+ lblServerCDMVersion.setText(Messages.RemotingLoginDialog_LABEL_SERVER_CDM_VERSION);
+ lblServerCDMVersion.setFont(SWTResourceManager.getFont(UBUNTU, 9, SWT.NORMAL));
txtServerCDMVersion = new Text(compAdvanced, SWT.BORDER);
txtServerCDMVersion.setEditable(false);
lblEditorCDMVersion = new Label(compAdvanced, SWT.CENTER);
lblEditorCDMVersion.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- lblEditorCDMVersion.setText("Editor CDM Version :");
- lblEditorCDMVersion.setFont(SWTResourceManager.getFont("Ubuntu", 9, SWT.NORMAL));
+ lblEditorCDMVersion.setText(Messages.RemotingLoginDialog_LABEL_EDITOR_CDM_VERSION);
+ lblEditorCDMVersion.setFont(SWTResourceManager.getFont(UBUNTU, 9, SWT.NORMAL));
txtEditorCDMVersion = new Text(compAdvanced, SWT.BORDER);
txtEditorCDMVersion.setEditable(false);
private void populateCdmServerCombo() {
- Job job = new Job("Retrieve Server Instances") {
+ Job job = new Job(Messages.RemotingLoginDialog_RETRIEVE_SERVER_INSTANCES) {
@Override
protected IStatus run(IProgressMonitor monitor) {
Display.getDefault().syncExec(new Runnable() {
CdmRemoteSource devRemoteSource = CdmServerInfo.getDevServerRemoteSource();
if(devRemoteSource != null) {
isDevRemoteSource = true;
- String username = System.getProperty("cdm.server.dev.username");
- String password = System.getProperty("cdm.server.dev.password");
+ String username = System.getProperty("cdm.server.dev.username"); //$NON-NLS-1$
+ String password = System.getProperty("cdm.server.dev.password"); //$NON-NLS-1$
if(username != null && !username.isEmpty() && password != null && !password.isEmpty()) {
txtLogin.setText(username);
txtPassword.setText(password);
port = Integer.valueOf(txtPort.getText());
} catch (NumberFormatException nfe) {
if(!CdmServerInfo.NULL_PORT_STRING.equals(txtPort.getText())) {
- setMessage("Port should be an integer");
+ setMessage(Messages.RemotingLoginDialog_MESSAGE_PORT_SHOULD_BE_INTEGER);
}
}
return port;
txtCdmServerStatus.setText(STATUS_AVAILABLE);
populateCdmInstanceCombo(true);
String serverVersionTimestamp = generateLastModifiedTooltip(selectedCsii.getCdmlibLastModified());
- txtServerVersion.setText(selectedCsii.getCdmlibServicesVersion() + ":" + serverVersionTimestamp);
+ txtServerVersion.setText(selectedCsii.getCdmlibServicesVersion() + ":" + serverVersionTimestamp); //$NON-NLS-1$
} else {
txtCdmServerStatus.setText(STATUS_NOT_AVAILABLE);
comboCdmInstance.removeAll();
txtCdmInstanceStatus.setText(STATUS_RETRIEVING);
txtCdmInstanceStatus.setToolTipText("");
- serverJob = new Job("Retrieve Server Instances") {
+ serverJob = new Job(Messages.RemotingLoginDialog_RETRIEVE_SERVER_INSTANCES) {
@Override
protected IStatus run(IProgressMonitor monitor) {
try {
}
- Job job = new Job("Managed CDM Server Launch") {
+ Job job = new Job(Messages.RemotingLoginDialog_JOB_SERVER_LAUNCH) {
@Override
public IStatus run(IProgressMonitor monitor) {
- String mgdServerConfigFileName = "mgd.datasources.xml";
+ String mgdServerConfigFileName = "mgd.datasources.xml"; //$NON-NLS-1$
String config = CDMServerUtils.convertEditorToServerConfig();
File managedServerConfigFile;
int maxUnits = 50;
- monitor.beginTask("Launching Managed CDM Server", maxUnits);
+ monitor.beginTask(Messages.RemotingLoginDialog_TASK_LAUNCHING_SERVER, maxUnits);
try {
- monitor.subTask("Generating datasources config file for " + selectedCdmInstance.getName());
+ monitor.subTask(String.format(Messages.RemotingLoginDialog_GENERATING_CONFIG_FILE, selectedCdmInstance.getName()));
managedServerConfigFile = CDMServerUtils.writeManagedServerConfig(config, mgdServerConfigFileName);
monitor.worked(1);
CdmStore.setManagedServer(new CDMServer(selectedCdmInstance.getName(), managedServerConfigFile));
- monitor.subTask("Starting Managed CDM Server. This may take a while.");
+ monitor.subTask(Messages.RemotingLoginDialog_STARTING_MGD_SERVER);
CdmStore.getManagedServer().start(false, RemotingLoginDialog.this);
int serverUnits = 0;
}
});
} catch (IOException ioe) {
- MessagingUtils.errorDialog("Error generating server config file",
+ MessagingUtils.errorDialog(Messages.RemotingLoginDialog_ERROR_GENERATING_CONFIG_FILE,
this,
ioe.getMessage(),
TaxeditorStorePlugin.PLUGIN_ID,
ioe,
true);
} catch (CDMEmbeddedServerException cse) {
- MessagingUtils.errorDialog("Error starting managed server",
+ MessagingUtils.errorDialog(Messages.RemotingLoginDialog_ERROR_STARTING_SERVER,
this,
cse.getMessage(),
TaxeditorStorePlugin.PLUGIN_ID,
try {
CdmStore.getManagedServer().stop();
} catch (Exception e) {
- MessagingUtils.errorDialog("Error stopping managed server",
+ MessagingUtils.errorDialog(Messages.RemotingLoginDialog_ERROR_STOPPING_SERVER,
this,
- "Could not stop managed server running at port " + CdmStore.getManagedServer().getPort() + ". Please stop it manually",
+ String.format(Messages.RemotingLoginDialog_COULD_NOT_STOP_SERVER, CdmStore.getManagedServer().getPort()),
TaxeditorStorePlugin.PLUGIN_ID,
e,
true);
} else {
status = STATUS_AVAILABLE;
available = true;
- message = "";
+ message = ""; //$NON-NLS-1$
}
}
} catch (Exception e) {
String username, password;
IEclipsePreferences preferences = ConfigurationScope.INSTANCE.getNode(STORE_PREFERENCES_NODE);
Preferences credentialsPrefs = preferences.node(LOGIN_NODE);
- username = credentialsPrefs.get(getUsernamePrefKey(), "");
+ username = credentialsPrefs.get(getUsernamePrefKey(), ""); //$NON-NLS-1$
txtLogin.setText(username);
- password = credentialsPrefs.get(getPasswordPrefKey(),"");
+ password = credentialsPrefs.get(getPasswordPrefKey(),""); //$NON-NLS-1$
txtPassword.setText(password);
if(username.isEmpty() || password.isEmpty()) {
autoConnect = false;
private boolean validateLogin(ICdmRemoteSource remoteSource) {
if(getUsername() == null || getUsername().isEmpty()) {
- setMessage("User login cannot be empty");
+ setMessage(Messages.RemotingLoginDialog_LOGIN_CANNOT_BE_EMPTY);
return false;
}
if(getPassword() == null || getPassword().isEmpty()) {
- setMessage("Password cannot be empty");
+ setMessage(Messages.RemotingLoginDialog_PASSWORD_CANNOT_BE_EMPTY);
return false;
}
if(message != null && !message.isEmpty()) {
if(message.length() > 60) {
styledTxtMessage.setToolTipText(message);
- message = message.substring(0, 60) + "...";
+ message = message.substring(0, 60) + "..."; //$NON-NLS-1$
}
styledTxtMessage.setText(message);
styledTxtMessage.setVisible(true);
shlConnect.setSize(MIN_WIDTH, getHeightWithoutMessage() + MESSAGE_HEIGHT);
shlConnect.setMinimumSize(MIN_WIDTH, getHeightWithoutMessage() + MESSAGE_HEIGHT);
} else {
- styledTxtMessage.setText("");
+ styledTxtMessage.setText(""); //$NON-NLS-1$
styledTxtMessage.setVisible(false);
((GridData)styledTxtMessage.getLayoutData()).exclude = true;
shlConnect.setSize(MIN_WIDTH, getHeightWithoutMessage());
private String generateLastModifiedTooltip(String cdmlibLastModified) {
if(StringUtils.isBlank(cdmlibLastModified)) {
- return "";
+ return ""; //$NON-NLS-1$
}
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd.HH.mm.z");
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd.HH.mm.z"); //$NON-NLS-1$
Date cdmlibLastModifiedDate;
- String cdmlibLastModifiedTimestamp = "";
+ String cdmlibLastModifiedTimestamp = ""; //$NON-NLS-1$
cdmlibLastModifiedDate = new Date(Long.valueOf(cdmlibLastModified));
cdmlibLastModifiedTimestamp = sdf.format(cdmlibLastModifiedDate);
private void setEditorInfo() {
txtEditorCDMVersion.setText(CdmMetaData.getDbSchemaVersion());
String editorVersionTimestamp = generateLastModifiedTooltip(CdmApplicationState.getCdmlibLastModified());
- txtEditorVersion.setText(CdmApplicationState.getCdmlibVersion() + ":" + editorVersionTimestamp);
+ txtEditorVersion.setText(CdmApplicationState.getCdmlibVersion() + ":" + editorVersionTimestamp); //$NON-NLS-1$
}
private void clearOnServerChange() {
- setMessage("");
- txtServerCDMVersion.setText("");
- txtServerVersion.setText("");
- txtServerVersion.setToolTipText("");
- txtServerCDMVersion.setText("");
+ setMessage(""); //$NON-NLS-1$
+ txtServerCDMVersion.setText(""); //$NON-NLS-1$
+ txtServerVersion.setText(""); //$NON-NLS-1$
+ txtServerVersion.setToolTipText(""); //$NON-NLS-1$
+ txtServerCDMVersion.setText(""); //$NON-NLS-1$
comboCdmInstance.removeAll();
- txtCdmInstanceStatus.setText("");
+ txtCdmInstanceStatus.setText(""); //$NON-NLS-1$
txtPort.setEditable(false);
txtPort.setEnabled(false);
}
private void clearOnInstanceChange() {
- setMessage("");
- txtServerCDMVersion.setText("");
+ setMessage(""); //$NON-NLS-1$
+ txtServerCDMVersion.setText(""); //$NON-NLS-1$
}
/**
public void run() {
serverJob.cancel();
- String title = "CDM Server launch error";
+ String title = Messages.RemotingLoginDialog_SERVER_LAUNCH_ERROR;
String message = t.getMessage();
this.configurator = configurator;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.dialogs.MessageDialog#createCustomArea(org.eclipse.swt.widgets.Composite)
- */
@Override
protected Control createCustomArea(Composite parent) {
DeleteConfiguratorComposite composite = new DeleteConfiguratorComposite(parent, NONE);
return dialog.open() == 0;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.dialogs.Dialog#isResizable()
- */
@Override
protected boolean isResizable() {
return true;
}
- /**
- * @param kind
- * @return
- */
protected static String[] getButtonLabels(int kind) {
String[] dialogButtonLabels;
switch (kind) {
setBackground(getBackground());
btnDeleteTaxonName = new Button(this, SWT.CHECK);
- btnDeleteTaxonName.setText("Delete taxon name if possible");
+ btnDeleteTaxonName.setText("Delete name if possible");
btnDeleteTaxonName.setSelection(true);
btnDeleteTaxonName.addListener(SWT.Selection, new Listener() {
@Override
import java.text.Collator;
import java.util.Comparator;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IMemento;
-import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
* @version 1.0
*/
public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmBase> extends
- FilteredItemsSelectionDialog implements IConversationEnabled {
+ CdmFilteredItemsSelectionDialog implements IConversationEnabled {
private final ConversationHolder conversation;
protected List<UuidAndTitleCache<T>> model;
private final Set<T> transientCdmObjects = new HashSet<T>();
private final String settings;
-
+ protected final int limitOfInitialElements = 100;
+
protected T cdmBaseToBeFiltered;
initModel();
shell.setCursor(cursor);
String objectTitle = getTitle(cdmObject);
- if (objectTitle != null) {
- setInitialPattern(objectTitle);
- }
+// if (objectTitle != null) {
+// setInitialPattern(objectTitle);
+// }
setListLabelProvider(createListLabelProvider());
setDetailsLabelProvider(createDetailsLabelProvider());
/** {@inheritDoc} */
@Override
public void refresh() {
- initModel();
- filterExcludedObjects();
super.refresh();
}
- /**
- * <p>initModel</p>
- */
- abstract protected void initModel();
+
/* (non-Javadoc)
* @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createFilter()
((Text) getPatternControl()).setText(pattern);
}
+
+
/* (non-Javadoc)
* @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#fillContentProvider(org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.AbstractContentProvider, org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.ItemsFilter, org.eclipse.core.runtime.IProgressMonitor)
*/
try {
if(model != null){
progressMonitor.beginTask("Looking for entities", model.size());
- for(UuidAndTitleCache<T> element : model){
+ filterExcludedObjects();
+ Iterator<UuidAndTitleCache<T>> iterator = model.iterator();
+ UuidAndTitleCache<T> element;
+ while(iterator.hasNext()){
+ element = iterator.next();
contentProvider.add(element, itemsFilter);
if (progressMonitor.isCanceled()) {
throw new OperationCanceledException();
if (status == IStatus.OK) {
T entity = (T) wizard.getEntity();
- model.add(new UuidAndTitleCache<T>(entity.getUuid(),
- entity.getId(),
- getTitle(entity)));
+ // model.add(new UuidAndTitleCache<T>(entity.getUuid(), entity.getId(), getTitle(entity)));
refresh();
setPattern(entity);
getConversationHolder().bind();
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.IAgentService;
/**
*
*/
- private static final String PERSON = "Person";
+ protected static final String PERSON = "Person";
/**
*
*/
- private static final String TEAM = "Team";
+ protected static final String TEAM = "Team";
+
+ protected static boolean selectTeamMember;
/**
* <p>select</p>
* @param entity a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
* @return a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
*/
- public static AgentBase select(Shell shell, ConversationHolder conversation, AgentBase entity) {
+ public static AgentBase select(Shell shell, ConversationHolder conversation, AgentBase entity, boolean selectTeamMember) {
AgentSelectionDialog dialog = new AgentSelectionDialog(shell, conversation,
- "Choose Agent", false, AgentSelectionDialog.class.getCanonicalName(), entity);
+ "Choose Agent", false, AgentSelectionDialog.class.getCanonicalName(), entity, selectTeamMember);
return getSelectionFromDialog(dialog);
}
* @param multi a boolean.
* @param settings a {@link java.lang.String} object.
*/
- protected AgentSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, String settings, AgentBase agent) {
+ protected AgentSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, String settings, AgentBase agent, boolean selectTeamMember) {
super(shell, conversation, title, multi, settings, agent);
+ this.selectTeamMember = selectTeamMember;
}
/** {@inheritDoc} */
@Override
protected String getNewWizardLinkText() {
+ if (this.selectTeamMember){
+ return String.format("Create a new <a>%1s</a>", PERSON);
+ }
return String.format("Create a new <a>%1s</a> or <a>%2s</a>", TEAM, PERSON);
}
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getService(IAgentService.class).getUuidAndTitleCache();
+ Control control = getPatternControl();
+ String pattern = null;
+ if (control != null){
+ pattern = ((Text)control).getText();
+ }
+
+
+ model = CdmStore.getService(IAgentService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2016 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.ui.dialog.selection;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.ListenerList;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.ProgressMonitorWrapper;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.LegacyActionTools;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.viewers.ContentViewer;
+import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IColorProvider;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.IFontProvider;
+import org.eclipse.jface.viewers.ILabelDecorator;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.ILazyContentProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.LabelProviderChangedEvent;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StyledCellLabelProvider;
+import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerCell;
+import org.eclipse.jface.viewers.ViewerFilter;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.accessibility.ACC;
+import org.eclipse.swt.accessibility.AccessibleAdapter;
+import org.eclipse.swt.accessibility.AccessibleEvent;
+import org.eclipse.swt.custom.CLabel;
+import org.eclipse.swt.custom.ViewForm;
+import org.eclipse.swt.events.KeyAdapter;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.MouseAdapter;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.TraverseEvent;
+import org.eclipse.swt.events.TraverseListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+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.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.ToolBar;
+import org.eclipse.swt.widgets.ToolItem;
+import org.eclipse.ui.ActiveShellExpression;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IWorkbenchCommandConstants;
+import org.eclipse.ui.IWorkbenchPreferenceConstants;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.WorkbenchException;
+import org.eclipse.ui.XMLMemento;
+import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;
+import org.eclipse.ui.dialogs.SearchPattern;
+import org.eclipse.ui.dialogs.SelectionStatusDialog;
+import org.eclipse.ui.handlers.IHandlerActivation;
+import org.eclipse.ui.handlers.IHandlerService;
+import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
+import org.eclipse.ui.internal.WorkbenchImages;
+import org.eclipse.ui.internal.WorkbenchMessages;
+import org.eclipse.ui.internal.WorkbenchPlugin;
+import org.eclipse.ui.progress.UIJob;
+import org.eclipse.ui.statushandlers.StatusManager;
+
+/**
+ * @author k.luther
+ * @date 10.06.2016
+ *
+ * This is a class copied from FilteredItemsSelectionDialog and adapted to the Cdm use case. The original
+ * dialog gets all items when opening the dialog and then apply the filter on all items.
+ * In our case we need a possibility to filter the items already when getting them from the DB, so we adapt the
+ * original class
+ * the abstract method initMOdel was added and the method applyFilter was modified
+ * original description:
+ * Shows a list of items to the user with a text entry field for a string
+ * pattern used to filter the list of items.
+ *
+ *
+ */
+
+public abstract class CdmFilteredItemsSelectionDialog extends SelectionStatusDialog {
+
+
+
+ private static final String DIALOG_BOUNDS_SETTINGS = "DialogBoundsSettings"; //$NON-NLS-1$
+
+ private static final String SHOW_STATUS_LINE = "ShowStatusLine"; //$NON-NLS-1$
+
+ private static final String HISTORY_SETTINGS = "History"; //$NON-NLS-1$
+
+ private static final String DIALOG_HEIGHT = "DIALOG_HEIGHT"; //$NON-NLS-1$
+
+ private static final String DIALOG_WIDTH = "DIALOG_WIDTH"; //$NON-NLS-1$
+
+ /**
+ * Represents an empty selection in the pattern input field (used only for
+ * initial pattern).
+ */
+ public static final int NONE = 0;
+
+ /**
+ * Pattern input field selection where caret is at the beginning (used only
+ * for initial pattern).
+ */
+ public static final int CARET_BEGINNING = 1;
+
+ /**
+ * Represents a full selection in the pattern input field (used only for
+ * initial pattern).
+ */
+ public static final int FULL_SELECTION = 2;
+
+ private Text pattern;
+
+ private TableViewer list;
+
+ private DetailsContentViewer details;
+
+ /**
+ * It is a duplicate of a field in the CLabel class in DetailsContentViewer.
+ * It is maintained, because the <code>setDetailsLabelProvider()</code>
+ * could be called before content area is created.
+ */
+ private ILabelProvider detailsLabelProvider;
+
+ private ItemsListLabelProvider itemsListLabelProvider;
+
+ private MenuManager menuManager;
+
+ private MenuManager contextMenuManager;
+
+ private final boolean multi;
+
+ private ToolBar toolBar;
+
+ private ToolItem toolItem;
+
+ private Label progressLabel;
+
+ private ToggleStatusLineAction toggleStatusLineAction;
+
+ private RemoveHistoryItemAction removeHistoryItemAction;
+
+ private ActionContributionItem removeHistoryActionContributionItem;
+
+ private IStatus status;
+
+ private final RefreshCacheJob refreshCacheJob;
+
+ private final RefreshProgressMessageJob refreshProgressMessageJob = new RefreshProgressMessageJob();
+
+ private Object[] currentSelection;
+
+ private final ContentProvider contentProvider;
+
+ private final FilterHistoryJob filterHistoryJob;
+
+ private final FilterJob filterJob;
+
+ private ItemsFilter filter;
+
+ private List lastCompletedResult;
+
+ private ItemsFilter lastCompletedFilter;
+
+ private String initialPatternText;
+
+ private int selectionMode;
+
+ private ItemsListSeparator itemsListSeparator;
+
+ private static final String EMPTY_STRING = ""; //$NON-NLS-1$
+
+ private boolean refreshWithLastSelection = false;
+
+ private IHandlerActivation showViewHandler;
+
+ /**
+ * Creates a new instance of the class.
+ *
+ * @param shell
+ * shell to parent the dialog on
+ * @param multi
+ * indicates whether dialog allows to select more than one
+ * position in its list of items
+ */
+ public CdmFilteredItemsSelectionDialog(Shell shell, boolean multi) {
+ super(shell);
+ this.multi = multi;
+ filterHistoryJob = new FilterHistoryJob();
+ filterJob = new FilterJob();
+ contentProvider = new ContentProvider();
+ refreshCacheJob = new RefreshCacheJob();
+ itemsListSeparator = new ItemsListSeparator(
+ WorkbenchMessages.FilteredItemsSelectionDialog_separatorLabel);
+ selectionMode = NONE;
+ }
+
+ /**
+ * Creates a new instance of the class. Created dialog won't allow to select
+ * more than one item.
+ *
+ * @param shell
+ * shell to parent the dialog on
+ */
+ public CdmFilteredItemsSelectionDialog(Shell shell) {
+ this(shell, false);
+ }
+
+ /**
+ * Adds viewer filter to the dialog items list.
+ *
+ * @param filter
+ * the new filter
+ */
+ protected void addListFilter(ViewerFilter filter) {
+ contentProvider.addFilter(filter);
+ }
+
+ /**
+ * Sets a new label provider for items in the list. If the label provider
+ * also implements {@link
+ * org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider
+ * .IStyledLabelProvider}, the style text labels provided by it will be used
+ * provided that the corresponding preference is set.
+ *
+ * @see IWorkbenchPreferenceConstants#USE_COLORED_LABELS
+ *
+ * @param listLabelProvider
+ * the label provider for items in the list
+ */
+ public void setListLabelProvider(ILabelProvider listLabelProvider) {
+ getItemsListLabelProvider().setProvider(listLabelProvider);
+ }
+
+ /**
+ * Returns the label decorator for selected items in the list.
+ *
+ * @return the label decorator for selected items in the list
+ */
+ private ILabelDecorator getListSelectionLabelDecorator() {
+ return getItemsListLabelProvider().getSelectionDecorator();
+ }
+
+ /**
+ * Sets the label decorator for selected items in the list.
+ *
+ * @param listSelectionLabelDecorator
+ * the label decorator for selected items in the list
+ */
+ public void setListSelectionLabelDecorator(
+ ILabelDecorator listSelectionLabelDecorator) {
+ getItemsListLabelProvider().setSelectionDecorator(
+ listSelectionLabelDecorator);
+ }
+
+ /**
+ * Returns the item list label provider.
+ *
+ * @return the item list label provider
+ */
+ private ItemsListLabelProvider getItemsListLabelProvider() {
+ if (itemsListLabelProvider == null) {
+ itemsListLabelProvider = new ItemsListLabelProvider(
+ new LabelProvider(), null);
+ }
+ return itemsListLabelProvider;
+ }
+
+ /**
+ * Sets label provider for the details field.
+ *
+ * For a single selection, the element sent to
+ * {@link ILabelProvider#getImage(Object)} and
+ * {@link ILabelProvider#getText(Object)} is the selected object, for
+ * multiple selection a {@link String} with amount of selected items is the
+ * element.
+ *
+ * @see #getSelectedItems() getSelectedItems() can be used to retrieve
+ * selected items and get the items count.
+ *
+ * @param detailsLabelProvider
+ * the label provider for the details field
+ */
+ public void setDetailsLabelProvider(ILabelProvider detailsLabelProvider) {
+ this.detailsLabelProvider = detailsLabelProvider;
+ if (details != null) {
+ details.setLabelProvider(detailsLabelProvider);
+ }
+ }
+
+ private ILabelProvider getDetailsLabelProvider() {
+ if (detailsLabelProvider == null) {
+ detailsLabelProvider = new LabelProvider();
+ }
+ return detailsLabelProvider;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.window.Window#create()
+ */
+ @Override
+ public void create() {
+ super.create();
+ pattern.setFocus();
+ }
+
+ /**
+ * Restores dialog using persisted settings. The default implementation
+ * restores the status of the details line and the selection history.
+ *
+ * @param settings
+ * settings used to restore dialog
+ */
+ protected void restoreDialog(IDialogSettings settings) {
+ boolean toggleStatusLine = true;
+
+ if (settings.get(SHOW_STATUS_LINE) != null) {
+ toggleStatusLine = settings.getBoolean(SHOW_STATUS_LINE);
+ }
+
+ toggleStatusLineAction.setChecked(toggleStatusLine);
+
+ details.setVisible(toggleStatusLine);
+
+ String setting = settings.get(HISTORY_SETTINGS);
+ if (setting != null) {
+ try {
+ IMemento memento = XMLMemento.createReadRoot(new StringReader(
+ setting));
+ this.contentProvider.loadHistory(memento);
+ } catch (WorkbenchException e) {
+ // Simply don't restore the settings
+ StatusManager
+ .getManager()
+ .handle(
+ new Status(
+ IStatus.ERROR,
+ PlatformUI.PLUGIN_ID,
+ IStatus.ERROR,
+ WorkbenchMessages.FilteredItemsSelectionDialog_restoreError,
+ e));
+ }
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.window.Window#close()
+ */
+ @Override
+ public boolean close() {
+ this.filterJob.cancel();
+ this.refreshCacheJob.cancel();
+ this.refreshProgressMessageJob.cancel();
+ if (showViewHandler != null) {
+ IHandlerService service = (IHandlerService) PlatformUI
+ .getWorkbench().getService(IHandlerService.class);
+ service.deactivateHandler(showViewHandler);
+ showViewHandler.getHandler().dispose();
+ showViewHandler = null;
+ }
+ if (menuManager != null) {
+ menuManager.dispose();
+ }
+ if (contextMenuManager != null) {
+ contextMenuManager.dispose();
+ }
+ storeDialog(getDialogSettings());
+ return super.close();
+ }
+
+ /**
+ * Stores dialog settings.
+ *
+ * @param settings
+ * settings used to store dialog
+ */
+ protected void storeDialog(IDialogSettings settings) {
+ settings.put(SHOW_STATUS_LINE, toggleStatusLineAction.isChecked());
+
+ XMLMemento memento = XMLMemento.createWriteRoot(HISTORY_SETTINGS);
+ this.contentProvider.saveHistory(memento);
+ StringWriter writer = new StringWriter();
+ try {
+ memento.save(writer);
+ settings.put(HISTORY_SETTINGS, writer.getBuffer().toString());
+ } catch (IOException e) {
+ // Simply don't store the settings
+ StatusManager
+ .getManager()
+ .handle(
+ new Status(
+ IStatus.ERROR,
+ PlatformUI.PLUGIN_ID,
+ IStatus.ERROR,
+ WorkbenchMessages.FilteredItemsSelectionDialog_storeError,
+ e));
+ }
+ }
+
+ /**
+ * Create a new header which is labelled by headerLabel.
+ *
+ * @param parent
+ * @return Label the label of the header
+ */
+ private Label createHeader(Composite parent) {
+ Composite header = new Composite(parent, SWT.NONE);
+
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ layout.marginWidth = 0;
+ layout.marginHeight = 0;
+ header.setLayout(layout);
+
+ Label headerLabel = new Label(header, SWT.NONE);
+ headerLabel.setText((getMessage() != null && getMessage().trim()
+ .length() > 0) ? getMessage()
+ : WorkbenchMessages.FilteredItemsSelectionDialog_patternLabel);
+ headerLabel.addTraverseListener(new TraverseListener() {
+ @Override
+ public void keyTraversed(TraverseEvent e) {
+ if (e.detail == SWT.TRAVERSE_MNEMONIC && e.doit) {
+ e.detail = SWT.TRAVERSE_NONE;
+ pattern.setFocus();
+ }
+ }
+ });
+
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ headerLabel.setLayoutData(gd);
+
+ createViewMenu(header);
+ header.setLayoutData(gd);
+ return headerLabel;
+ }
+
+ /**
+ * Create the labels for the list and the progress. Return the list label.
+ *
+ * @param parent
+ * @return Label
+ */
+ private Label createLabels(Composite parent) {
+ Composite labels = new Composite(parent, SWT.NONE);
+
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ layout.marginWidth = 0;
+ layout.marginHeight = 0;
+ labels.setLayout(layout);
+
+ Label listLabel = new Label(labels, SWT.NONE);
+ listLabel
+ .setText(WorkbenchMessages.FilteredItemsSelectionDialog_listLabel);
+
+ listLabel.addTraverseListener(new TraverseListener() {
+ @Override
+ public void keyTraversed(TraverseEvent e) {
+ if (e.detail == SWT.TRAVERSE_MNEMONIC && e.doit) {
+ e.detail = SWT.TRAVERSE_NONE;
+ getList().getTable().setFocus();
+ }
+ }
+ });
+
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ listLabel.setLayoutData(gd);
+
+ progressLabel = new Label(labels, SWT.RIGHT);
+ progressLabel.setLayoutData(gd);
+
+ labels.setLayoutData(gd);
+ return listLabel;
+ }
+
+ private void createViewMenu(Composite parent) {
+ toolBar = new ToolBar(parent, SWT.FLAT);
+ toolItem = new ToolItem(toolBar, SWT.PUSH, 0);
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.END;
+ toolBar.setLayoutData(data);
+
+ toolBar.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseDown(MouseEvent e) {
+ showViewMenu();
+ }
+ });
+
+ toolItem.setImage(WorkbenchImages
+ .getImage(IWorkbenchGraphicConstants.IMG_LCL_VIEW_MENU));
+ toolItem
+ .setToolTipText(WorkbenchMessages.FilteredItemsSelectionDialog_menu);
+ toolItem.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ showViewMenu();
+ }
+ });
+
+ menuManager = new MenuManager();
+
+ fillViewMenu(menuManager);
+
+ IHandlerService service = (IHandlerService) PlatformUI.getWorkbench()
+ .getService(IHandlerService.class);
+ IHandler handler = new AbstractHandler() {
+ @Override
+ public Object execute(ExecutionEvent event) {
+ showViewMenu();
+ return null;
+ }
+ };
+ showViewHandler = service.activateHandler(
+ IWorkbenchCommandConstants.WINDOW_SHOW_VIEW_MENU, handler,
+ new ActiveShellExpression(getShell()));
+ }
+
+ /**
+ * Fills the menu of the dialog.
+ *
+ * @param menuManager
+ * the menu manager
+ */
+ protected void fillViewMenu(IMenuManager menuManager) {
+ toggleStatusLineAction = new ToggleStatusLineAction();
+ menuManager.add(toggleStatusLineAction);
+ }
+
+ private void showViewMenu() {
+ Menu menu = menuManager.createContextMenu(getShell());
+ Rectangle bounds = toolItem.getBounds();
+ Point topLeft = new Point(bounds.x, bounds.y + bounds.height);
+ topLeft = toolBar.toDisplay(topLeft);
+ menu.setLocation(topLeft.x, topLeft.y);
+ menu.setVisible(true);
+ }
+
+ /**
+ * Hook that allows to add actions to the context menu.
+ * <p>
+ * Subclasses may extend in order to add other actions.</p>
+ *
+ * @param menuManager the context menu manager
+ * @since 3.5
+ */
+ protected void fillContextMenu(IMenuManager menuManager) {
+ List selectedElements= ((StructuredSelection)getList().getSelection()).toList();
+
+ Object item= null;
+
+ for (Iterator it= selectedElements.iterator(); it.hasNext();) {
+ item= it.next();
+ if (item instanceof ItemsListSeparator || !isHistoryElement(item)) {
+ return;
+ }
+ }
+
+ if (selectedElements.size() > 0) {
+ removeHistoryItemAction.setText(WorkbenchMessages.FilteredItemsSelectionDialog_removeItemsFromHistoryAction);
+
+ menuManager.add(removeHistoryActionContributionItem);
+
+ }
+ }
+
+ private void createPopupMenu() {
+ removeHistoryItemAction = new RemoveHistoryItemAction();
+ removeHistoryActionContributionItem = new ActionContributionItem(
+ removeHistoryItemAction);
+
+ contextMenuManager = new MenuManager();
+ contextMenuManager.setRemoveAllWhenShown(true);
+ contextMenuManager.addMenuListener(new IMenuListener() {
+ @Override
+ public void menuAboutToShow(IMenuManager manager) {
+ fillContextMenu(manager);
+ }
+ });
+
+ final Table table = getList().getTable();
+ Menu menu= contextMenuManager.createContextMenu(table);
+ table.setMenu(menu);
+ }
+
+ /**
+ * Creates an extra content area, which will be located above the details.
+ *
+ * @param parent
+ * parent to create the dialog widgets in
+ * @return an extra content area
+ */
+ protected abstract Control createExtendedContentArea(Composite parent);
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control createDialogArea(Composite parent) {
+ Composite dialogArea = (Composite) super.createDialogArea(parent);
+
+ Composite content = new Composite(dialogArea, SWT.NONE);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ content.setLayoutData(gd);
+
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.marginWidth = 0;
+ layout.marginHeight = 0;
+ content.setLayout(layout);
+
+ final Label headerLabel = createHeader(content);
+
+ pattern = new Text(content, SWT.SINGLE | SWT.BORDER | SWT.SEARCH | SWT.ICON_CANCEL);
+ pattern.getAccessible().addAccessibleListener(new AccessibleAdapter() {
+ @Override
+ public void getName(AccessibleEvent e) {
+ e.result = LegacyActionTools.removeMnemonics(headerLabel
+ .getText());
+ }
+ });
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ pattern.setLayoutData(gd);
+
+ final Label listLabel = createLabels(content);
+
+ setList(new TableViewer(content, (multi ? SWT.MULTI : SWT.SINGLE)
+ | SWT.BORDER | SWT.V_SCROLL | SWT.VIRTUAL));
+ getList().getTable().getAccessible().addAccessibleListener(
+ new AccessibleAdapter() {
+ @Override
+ public void getName(AccessibleEvent e) {
+ if (e.childID == ACC.CHILDID_SELF) {
+ e.result = LegacyActionTools
+ .removeMnemonics(listLabel.getText());
+ }
+ }
+ });
+ getList().setContentProvider(contentProvider);
+ getList().setLabelProvider(getItemsListLabelProvider());
+ getList().setInput(new Object[0]);
+ getList().setItemCount(contentProvider.getNumberOfElements());
+ gd = new GridData(GridData.FILL_BOTH);
+ applyDialogFont(getList().getTable());
+ gd.heightHint= getList().getTable().getItemHeight() * 15;
+ getList().getTable().setLayoutData(gd);
+
+ createPopupMenu();
+
+ pattern.addModifyListener(new ModifyListener() {
+ @Override
+ public void modifyText(ModifyEvent e) {
+ applyFilter();
+ }
+ });
+
+ pattern.addKeyListener(new KeyAdapter() {
+ @Override
+ public void keyPressed(KeyEvent e) {
+ if (e.keyCode == SWT.ARROW_DOWN) {
+ if (getList().getTable().getItemCount() > 0) {
+ getList().getTable().setFocus();
+ }
+ }
+ }
+ });
+
+ getList().addSelectionChangedListener(new ISelectionChangedListener() {
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ StructuredSelection selection = (StructuredSelection) event
+ .getSelection();
+ handleSelected(selection);
+ }
+ });
+
+ getList().addDoubleClickListener(new IDoubleClickListener() {
+ @Override
+ public void doubleClick(DoubleClickEvent event) {
+ handleDoubleClick();
+ }
+ });
+
+ getList().getTable().addKeyListener(new KeyAdapter() {
+ @Override
+ public void keyPressed(KeyEvent e) {
+
+ if (e.keyCode == SWT.DEL) {
+
+ List selectedElements = ((StructuredSelection) getList()
+ .getSelection()).toList();
+
+ Object item = null;
+ boolean isSelectedHistory = true;
+
+ for (Iterator it = selectedElements.iterator(); it
+ .hasNext();) {
+ item = it.next();
+ if (item instanceof ItemsListSeparator
+ || !isHistoryElement(item)) {
+ isSelectedHistory = false;
+ break;
+ }
+ }
+ if (isSelectedHistory) {
+ removeSelectedItems(selectedElements);
+ }
+
+ }
+
+ if (e.keyCode == SWT.ARROW_UP && (e.stateMask & SWT.SHIFT) != 0
+ && (e.stateMask & SWT.CTRL) != 0) {
+ StructuredSelection selection = (StructuredSelection) getList()
+ .getSelection();
+
+ if (selection.size() == 1) {
+ Object element = selection.getFirstElement();
+ if (element.equals(getList().getElementAt(0))) {
+ pattern.setFocus();
+ }
+ if (getList().getElementAt(getList().getTable()
+ .getSelectionIndex() - 1) instanceof ItemsListSeparator) {
+ getList().getTable().setSelection(
+ getList().getTable().getSelectionIndex() - 1);
+ }
+ getList().getTable().notifyListeners(SWT.Selection,
+ new Event());
+
+ }
+ }
+
+ if (e.keyCode == SWT.ARROW_DOWN
+ && (e.stateMask & SWT.SHIFT) != 0
+ && (e.stateMask & SWT.CTRL) != 0) {
+
+ if (getList()
+ .getElementAt(getList().getTable().getSelectionIndex() + 1) instanceof ItemsListSeparator) {
+ getList().getTable().setSelection(
+ getList().getTable().getSelectionIndex() + 1);
+ }
+ getList().getTable().notifyListeners(SWT.Selection, new Event());
+ }
+
+ }
+ });
+
+ createExtendedContentArea(content);
+
+ details = new DetailsContentViewer(content, SWT.BORDER | SWT.FLAT);
+ details.setVisible(toggleStatusLineAction.isChecked());
+ details.setContentProvider(new NullContentProvider());
+ details.setLabelProvider(getDetailsLabelProvider());
+
+ applyDialogFont(content);
+
+ restoreDialog(getDialogSettings());
+
+ if (initialPatternText != null) {
+ pattern.setText(initialPatternText);
+ }
+
+ switch (selectionMode) {
+ case CARET_BEGINNING:
+ pattern.setSelection(0, 0);
+ break;
+ case FULL_SELECTION:
+ pattern.setSelection(0, initialPatternText.length());
+ break;
+ }
+
+ // apply filter even if pattern is empty (display history)
+ applyFilter();
+
+ return dialogArea;
+ }
+
+ /**
+ * This method is a hook for subclasses to override default dialog behavior.
+ * The <code>handleDoubleClick()</code> method handles double clicks on
+ * the list of filtered elements.
+ * <p>
+ * Current implementation makes double-clicking on the list do the same as
+ * pressing <code>OK</code> button on the dialog.
+ */
+ protected void handleDoubleClick() {
+ okPressed();
+ }
+
+ /**
+ * Refreshes the details field according to the current selection in the
+ * items list.
+ */
+ private void refreshDetails() {
+ StructuredSelection selection = getSelectedItems();
+
+ switch (selection.size()) {
+ case 0:
+ details.setInput(null);
+ break;
+ case 1:
+ details.setInput(selection.getFirstElement());
+ break;
+ default:
+ details
+ .setInput(NLS
+ .bind(
+ WorkbenchMessages.FilteredItemsSelectionDialog_nItemsSelected,
+ new Integer(selection.size())));
+ break;
+ }
+
+ }
+
+ /**
+ * Handle selection in the items list by updating labels of selected and
+ * unselected items and refresh the details field using the selection.
+ *
+ * @param selection
+ * the new selection
+ */
+ protected void handleSelected(StructuredSelection selection) {
+ IStatus status = new Status(IStatus.OK, PlatformUI.PLUGIN_ID,
+ IStatus.OK, EMPTY_STRING, null);
+
+ Object[] lastSelection = getCurrentSelection();
+
+ setCurrentSelection(selection.toArray());
+
+ if (selection.size() == 0) {
+ status = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID,
+ IStatus.ERROR, EMPTY_STRING, null);
+
+ if (lastSelection != null
+ && getListSelectionLabelDecorator() != null) {
+ getList().update(lastSelection, null);
+ }
+
+ setCurrentSelection(null);
+
+ } else {
+ status = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID,
+ IStatus.ERROR, EMPTY_STRING, null);
+
+ List items = selection.toList();
+
+ Object item = null;
+ IStatus tempStatus = null;
+
+ for (Iterator it = items.iterator(); it.hasNext();) {
+ Object o = it.next();
+
+ if (o instanceof ItemsListSeparator) {
+ continue;
+ }
+
+ item = o;
+ tempStatus = validateItem(item);
+
+ if (tempStatus.isOK()) {
+ status = new Status(IStatus.OK, PlatformUI.PLUGIN_ID,
+ IStatus.OK, EMPTY_STRING, null);
+ } else {
+ status = tempStatus;
+ // if any selected element is not valid status is set to
+ // ERROR
+ break;
+ }
+ }
+
+ if (lastSelection != null
+ && getListSelectionLabelDecorator() != null) {
+ getList().update(lastSelection, null);
+ }
+
+ if (getListSelectionLabelDecorator() != null) {
+ getList().update(getCurrentSelection(), null);
+ }
+ }
+
+ refreshDetails();
+ updateStatus(status);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.window.Dialog#getDialogBoundsSettings()
+ */
+ @Override
+ protected IDialogSettings getDialogBoundsSettings() {
+ IDialogSettings settings = getDialogSettings();
+ IDialogSettings section = settings.getSection(DIALOG_BOUNDS_SETTINGS);
+ if (section == null) {
+ section = settings.addNewSection(DIALOG_BOUNDS_SETTINGS);
+ section.put(DIALOG_HEIGHT, 500);
+ section.put(DIALOG_WIDTH, 600);
+ }
+ return section;
+ }
+
+ /**
+ * Returns the dialog settings. Returned object can't be null.
+ *
+ * @return return dialog settings for this dialog
+ */
+ protected abstract IDialogSettings getDialogSettings();
+
+ /**
+ * Refreshes the dialog - has to be called in UI thread.
+ */
+ public void refresh() {
+ if (getList() != null && !getList().getTable().isDisposed()) {
+
+ List lastRefreshSelection = ((StructuredSelection) getList()
+ .getSelection()).toList();
+ getList().getTable().deselectAll();
+
+ getList().setItemCount(contentProvider.getNumberOfElements());
+ getList().refresh();
+
+ if (getList().getTable().getItemCount() > 0) {
+ // preserve previous selection
+ if (refreshWithLastSelection && lastRefreshSelection != null
+ && lastRefreshSelection.size() > 0) {
+ getList().setSelection(new StructuredSelection(
+ lastRefreshSelection));
+ } else {
+ refreshWithLastSelection = true;
+ getList().getTable().setSelection(0);
+ getList().getTable().notifyListeners(SWT.Selection, new Event());
+ }
+ } else {
+ getList().setSelection(StructuredSelection.EMPTY);
+ }
+
+ }
+
+ scheduleProgressMessageRefresh();
+ }
+
+ /**
+ * Updates the progress label.
+ *
+ * @deprecated
+ */
+ @Deprecated
+ public void updateProgressLabel() {
+ scheduleProgressMessageRefresh();
+ }
+
+ /**
+ * Notifies the content provider - fires filtering of content provider
+ * elements. During the filtering, a separator between history and workspace
+ * matches is added.
+ * <p>
+ * This is a long running operation and should be called in a job.
+ *
+ * @param checkDuplicates
+ * <code>true</code> if data concerning elements duplication
+ * should be computed - it takes much more time than the standard
+ * filtering
+ * @param monitor
+ * a progress monitor or <code>null</code> if no monitor is
+ * available
+ */
+ public void reloadCache(boolean checkDuplicates, IProgressMonitor monitor) {
+ if (getList() != null && !getList().getTable().isDisposed()
+ && contentProvider != null) {
+ contentProvider.reloadCache(checkDuplicates, monitor);
+ }
+ }
+
+ /**
+ * Schedule refresh job.
+ */
+ public void scheduleRefresh() {
+ refreshCacheJob.cancelAll();
+ refreshCacheJob.schedule();
+ }
+
+ /**
+ * Schedules progress message refresh.
+ */
+ public void scheduleProgressMessageRefresh() {
+ if (filterJob.getState() != Job.RUNNING
+ && refreshProgressMessageJob.getState() != Job.RUNNING) {
+ refreshProgressMessageJob.scheduleProgressRefresh(null);
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.dialogs.SelectionStatusDialog#computeResult()
+ */
+ @Override
+ protected void computeResult() {
+
+ List selectedElements = ((StructuredSelection) getList().getSelection())
+ .toList();
+
+ List objectsToReturn = new ArrayList();
+
+ Object item = null;
+
+ for (Iterator it = selectedElements.iterator(); it.hasNext();) {
+ item = it.next();
+
+ if (!(item instanceof ItemsListSeparator)) {
+ accessedHistoryItem(item);
+ objectsToReturn.add(item);
+ }
+ }
+
+ setResult(objectsToReturn);
+ }
+
+ /*
+ * @see org.eclipse.ui.dialogs.SelectionStatusDialog#updateStatus(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void updateStatus(IStatus status) {
+ this.status = status;
+ super.updateStatus(status);
+ }
+
+ /*
+ * @see Dialog#okPressed()
+ */
+ @Override
+ protected void okPressed() {
+ if (status != null
+ && (status.isOK() || status.getCode() == IStatus.INFO)) {
+ super.okPressed();
+ }
+ }
+
+ /**
+ * Sets the initial pattern used by the filter. This text is copied into the
+ * selection input on the dialog. A full selection is used in the pattern
+ * input field.
+ *
+ * @param text
+ * initial pattern for the filter
+ * @see FilteredItemsSelectionDialog#FULL_SELECTION
+ */
+ public void setInitialPattern(String text) {
+ setInitialPattern(text, FULL_SELECTION);
+ }
+
+ /**
+ * Sets the initial pattern used by the filter. This text is copied into the
+ * selection input on the dialog. The <code>selectionMode</code> is used
+ * to choose selection type for the input field.
+ *
+ * @param text
+ * initial pattern for the filter
+ * @param selectionMode
+ * one of: {@link FilteredItemsSelectionDialog#NONE},
+ * {@link FilteredItemsSelectionDialog#CARET_BEGINNING},
+ * {@link FilteredItemsSelectionDialog#FULL_SELECTION}
+ */
+ public void setInitialPattern(String text, int selectionMode) {
+ this.initialPatternText = text;
+ this.selectionMode = selectionMode;
+ }
+
+ /**
+ * Gets initial pattern.
+ *
+ * @return initial pattern, or <code>null</code> if initial pattern is not
+ * set
+ */
+ protected String getInitialPattern() {
+ return this.initialPatternText;
+ }
+
+ /**
+ * Returns the current selection.
+ *
+ * @return the current selection
+ */
+ protected StructuredSelection getSelectedItems() {
+
+ StructuredSelection selection = (StructuredSelection) getList()
+ .getSelection();
+
+ List selectedItems = selection.toList();
+ Object itemToRemove = null;
+
+ for (Iterator it = selection.iterator(); it.hasNext();) {
+ Object item = it.next();
+ if (item instanceof ItemsListSeparator) {
+ itemToRemove = item;
+ break;
+ }
+ }
+
+ if (itemToRemove == null) {
+ return new StructuredSelection(selectedItems);
+ }
+ // Create a new selection without the collision
+ List newItems = new ArrayList(selectedItems);
+ newItems.remove(itemToRemove);
+ return new StructuredSelection(newItems);
+
+ }
+
+ /**
+ * Validates the item. When items on the items list are selected or
+ * deselected, it validates each item in the selection and the dialog status
+ * depends on all validations.
+ *
+ * @param item
+ * an item to be checked
+ * @return status of the dialog to be set
+ */
+ protected abstract IStatus validateItem(Object item);
+
+ /**
+ * Creates an instance of a filter.
+ *
+ * @return a filter for items on the items list. Can be <code>null</code>,
+ * no filtering will be applied then, causing no item to be shown in
+ * the list.
+ */
+ protected abstract ItemsFilter createFilter();
+
+ /**
+ *
+ * Applies the filter created by <code>createFilter()</code> method to the
+ * items list. When new filter is different than previous one it will cause
+ * refiltering.
+ */
+ protected void applyFilter() {
+ // to get an already filtered selection of the database we added the initModel() method here.
+ initModel();
+ ItemsFilter newFilter = createFilter();
+
+ // don't apply filtering for patterns which mean the same, for example:
+ // *a**b and ***a*b
+ if (filter != null && filter.equalsFilter(newFilter)) {
+ return;
+ }
+
+ filterHistoryJob.cancel();
+ filterJob.cancel();
+
+ this.filter = newFilter;
+
+ if (this.filter != null) {
+ filterHistoryJob.schedule();
+ }
+ }
+
+ /**
+ * Returns comparator to sort items inside content provider. Returned object
+ * will be probably created as an anonymous class. Parameters passed to the
+ * <code>compare(java.lang.Object, java.lang.Object)</code> are going to
+ * be the same type as the one used in the content provider.
+ *
+ * @return comparator to sort items content provider
+ */
+ protected abstract Comparator getItemsComparator();
+
+ /**
+ * Fills the content provider with matching items.
+ *
+ * @param contentProvider
+ * collector to add items to.
+ * {@link FilteredItemsSelectionDialog.AbstractContentProvider#add(Object, FilteredItemsSelectionDialog.ItemsFilter)}
+ * only adds items that pass the given <code>itemsFilter</code>.
+ * @param itemsFilter
+ * the items filter
+ * @param progressMonitor
+ * must be used to report search progress. The state of this
+ * progress monitor reflects the state of the filtering process.
+ * @throws CoreException
+ */
+ protected abstract void fillContentProvider(
+ AbstractContentProvider contentProvider, ItemsFilter itemsFilter,
+ IProgressMonitor progressMonitor) throws CoreException;
+
+ /**
+ * Removes selected items from history.
+ *
+ * @param items
+ * items to be removed
+ */
+ private void removeSelectedItems(List items) {
+ for (Iterator iter = items.iterator(); iter.hasNext();) {
+ Object item = iter.next();
+ removeHistoryItem(item);
+ }
+ refreshWithLastSelection = false;
+ contentProvider.refresh();
+ }
+
+ /**
+ * Removes an item from history.
+ *
+ * @param item
+ * an item to remove
+ * @return removed item
+ */
+ protected Object removeHistoryItem(Object item) {
+ return contentProvider.removeHistoryElement(item);
+ }
+
+ /**
+ * Adds item to history.
+ *
+ * @param item
+ * the item to be added
+ */
+ protected void accessedHistoryItem(Object item) {
+ contentProvider.addHistoryElement(item);
+ }
+
+ /**
+ * Returns a history comparator.
+ *
+ * @return decorated comparator
+ */
+ private Comparator getHistoryComparator() {
+ return new HistoryComparator();
+ }
+
+ /**
+ * Returns the history of selected elements.
+ *
+ * @return history of selected elements, or <code>null</code> if it is not
+ * set
+ */
+ protected SelectionHistory getSelectionHistory() {
+ return this.contentProvider.getSelectionHistory();
+ }
+
+ /**
+ * Sets new history.
+ *
+ * @param selectionHistory
+ * the history
+ */
+ protected void setSelectionHistory(SelectionHistory selectionHistory) {
+ if (this.contentProvider != null) {
+ this.contentProvider.setSelectionHistory(selectionHistory);
+ }
+ }
+
+ /**
+ * Indicates whether the given item is a history item.
+ *
+ * @param item
+ * the item to be investigated
+ * @return <code>true</code> if the given item exists in history,
+ * <code>false</code> otherwise
+ */
+ public boolean isHistoryElement(Object item) {
+ return this.contentProvider.isHistoryElement(item);
+ }
+
+ /**
+ * Indicates whether the given item is a duplicate.
+ *
+ * @param item
+ * the item to be investigated
+ * @return <code>true</code> if the item is duplicate, <code>false</code>
+ * otherwise
+ */
+ public boolean isDuplicateElement(Object item) {
+ return this.contentProvider.isDuplicateElement(item);
+ }
+
+ /**
+ * Sets separator label
+ *
+ * @param separatorLabel
+ * the label showed on separator
+ */
+ public void setSeparatorLabel(String separatorLabel) {
+ this.itemsListSeparator = new ItemsListSeparator(separatorLabel);
+ }
+
+ /**
+ * Returns name for then given object.
+ *
+ * @param item
+ * an object from the content provider. Subclasses should pay
+ * attention to the passed argument. They should either only pass
+ * objects of a known type (one used in content provider) or make
+ * sure that passed parameter is the expected one (by type
+ * checking like <code>instanceof</code> inside the method).
+ * @return name of the given item
+ */
+ public abstract String getElementName(Object item);
+
+ private class ToggleStatusLineAction extends Action {
+
+ /**
+ * Creates a new instance of the class.
+ */
+ public ToggleStatusLineAction() {
+ super(
+ WorkbenchMessages.FilteredItemsSelectionDialog_toggleStatusAction,
+ IAction.AS_CHECK_BOX);
+ }
+
+ @Override
+ public void run() {
+ details.setVisible(isChecked());
+ }
+ }
+
+ /**
+ * Only refreshes UI on the basis of an already sorted and filtered set of
+ * items.
+ * <p>
+ * Standard invocation scenario:
+ * <ol>
+ * <li>filtering job (<code>FilterJob</code> class extending
+ * <code>Job</code> class)</li>
+ * <li>cache refresh without checking for duplicates (<code>RefreshCacheJob</code>
+ * class extending <code>Job</code> class)</li>
+ * <li>UI refresh (<code>RefreshJob</code> class extending
+ * <code>UIJob</code> class)</li>
+ * <li>cache refresh with checking for duplicates (<cod>CacheRefreshJob</code>
+ * class extending <code>Job</code> class)</li>
+ * <li>UI refresh (<code>RefreshJob</code> class extending <code>UIJob</code>
+ * class)</li>
+ * </ol>
+ * The scenario is rather complicated, but it had to be applied, because:
+ * <ul>
+ * <li> refreshing cache is rather a long action and cannot be run in the UI -
+ * cannot be run in a UIJob</li>
+ * <li> refreshing cache checking for duplicates is twice as long as
+ * refreshing cache without checking for duplicates; results of the search
+ * could be displayed earlier</li>
+ * <li> refreshing the UI have to be run in a UIJob</li>
+ * </ul>
+ *
+ * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.FilterJob
+ * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.RefreshJob
+ * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.RefreshCacheJob
+ */
+ private class RefreshJob extends UIJob {
+
+ /**
+ * Creates a new instance of the class.
+ */
+ public RefreshJob() {
+ super(CdmFilteredItemsSelectionDialog.this.getParentShell()
+ .getDisplay(),
+ WorkbenchMessages.FilteredItemsSelectionDialog_refreshJob);
+ setSystem(true);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public IStatus runInUIThread(IProgressMonitor monitor) {
+ if (monitor.isCanceled()) {
+ return new Status(IStatus.OK, WorkbenchPlugin.PI_WORKBENCH,
+ IStatus.OK, EMPTY_STRING, null);
+ }
+
+ if (CdmFilteredItemsSelectionDialog.this != null) {
+ CdmFilteredItemsSelectionDialog.this.refresh();
+ }
+
+ return new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK,
+ EMPTY_STRING, null);
+ }
+
+ }
+
+ /**
+ * Refreshes the progress message cyclically with 500 milliseconds delay.
+ * <code>RefreshProgressMessageJob</code> is strictly connected with
+ * <code>GranualProgressMonitor</code> and use it to to get progress
+ * message and to decide about break of cyclical refresh.
+ */
+ private class RefreshProgressMessageJob extends UIJob {
+
+ private GranualProgressMonitor progressMonitor;
+
+ /**
+ * Creates a new instance of the class.
+ */
+ public RefreshProgressMessageJob() {
+ super(
+ CdmFilteredItemsSelectionDialog.this.getParentShell()
+ .getDisplay(),
+ WorkbenchMessages.FilteredItemsSelectionDialog_progressRefreshJob);
+ setSystem(true);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public IStatus runInUIThread(IProgressMonitor monitor) {
+
+ if (!progressLabel.isDisposed()) {
+ progressLabel.setText(progressMonitor != null ? progressMonitor
+ .getMessage() : EMPTY_STRING);
+ }
+
+ if (progressMonitor == null || progressMonitor.isDone()) {
+ return new Status(IStatus.CANCEL, PlatformUI.PLUGIN_ID,
+ IStatus.CANCEL, EMPTY_STRING, null);
+ }
+
+ // Schedule cyclical with 500 milliseconds delay
+ schedule(500);
+
+ return new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK,
+ EMPTY_STRING, null);
+ }
+
+ /**
+ * Schedule progress refresh job.
+ *
+ * @param progressMonitor
+ * used during refresh progress label
+ */
+ public void scheduleProgressRefresh(
+ GranualProgressMonitor progressMonitor) {
+ this.progressMonitor = progressMonitor;
+ // Schedule with initial delay to avoid flickering when the user
+ // types quickly
+ schedule(200);
+ }
+
+ }
+
+ /**
+ * A job responsible for computing filtered items list presented using
+ * <code>RefreshJob</code>.
+ *
+ * @see FilteredItemsSelectionDialog.RefreshJob
+ *
+ */
+ private class RefreshCacheJob extends Job {
+
+ private final RefreshJob refreshJob = new RefreshJob();
+
+ /**
+ * Creates a new instance of the class.
+ */
+ public RefreshCacheJob() {
+ super(
+ WorkbenchMessages.FilteredItemsSelectionDialog_cacheRefreshJob);
+ setSystem(true);
+ }
+
+ /**
+ * Stops the job and all sub-jobs.
+ */
+ public void cancelAll() {
+ cancel();
+ refreshJob.cancel();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ if (monitor.isCanceled()) {
+ return new Status(IStatus.CANCEL, WorkbenchPlugin.PI_WORKBENCH,
+ IStatus.CANCEL, EMPTY_STRING, null);
+ }
+
+ if (CdmFilteredItemsSelectionDialog.this != null) {
+ GranualProgressMonitor wrappedMonitor = new GranualProgressMonitor(
+ monitor);
+ CdmFilteredItemsSelectionDialog.this.reloadCache(true,
+ wrappedMonitor);
+ }
+
+ if (!monitor.isCanceled()) {
+ refreshJob.schedule();
+ }
+
+ return new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK,
+ EMPTY_STRING, null);
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.jobs.Job#canceling()
+ */
+ @Override
+ protected void canceling() {
+ super.canceling();
+ contentProvider.stopReloadingCache();
+ }
+
+ }
+
+ private class RemoveHistoryItemAction extends Action {
+
+ /**
+ * Creates a new instance of the class.
+ */
+ public RemoveHistoryItemAction() {
+ super(
+ WorkbenchMessages.FilteredItemsSelectionDialog_removeItemsFromHistoryAction);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.action.Action#run()
+ */
+ @Override
+ public void run() {
+ List selectedElements = ((StructuredSelection) getList().getSelection())
+ .toList();
+ removeSelectedItems(selectedElements);
+ }
+ }
+
+ protected static boolean showColoredLabels() {
+ return PlatformUI.getPreferenceStore().getBoolean(IWorkbenchPreferenceConstants.USE_COLORED_LABELS);
+ }
+
+ private class ItemsListLabelProvider extends StyledCellLabelProvider
+ implements ILabelProviderListener {
+ private ILabelProvider provider;
+
+ private ILabelDecorator selectionDecorator;
+
+ // Need to keep our own list of listeners
+ private final ListenerList listeners = new ListenerList();
+
+ /**
+ * Creates a new instance of the class.
+ *
+ * @param provider
+ * the label provider for all items, not <code>null</code>
+ * @param selectionDecorator
+ * the decorator for selected items, can be <code>null</code>
+ */
+ public ItemsListLabelProvider(ILabelProvider provider,
+ ILabelDecorator selectionDecorator) {
+ Assert.isNotNull(provider);
+ this.provider = provider;
+ this.selectionDecorator = selectionDecorator;
+
+ setOwnerDrawEnabled(showColoredLabels() && provider instanceof IStyledLabelProvider);
+
+ provider.addListener(this);
+
+ if (selectionDecorator != null) {
+ selectionDecorator.addListener(this);
+ }
+ }
+
+ /**
+ * Sets new selection decorator.
+ *
+ * @param newSelectionDecorator
+ * new label decorator for selected items in the list
+ */
+ public void setSelectionDecorator(ILabelDecorator newSelectionDecorator) {
+ if (selectionDecorator != null) {
+ selectionDecorator.removeListener(this);
+ selectionDecorator.dispose();
+ }
+
+ selectionDecorator = newSelectionDecorator;
+
+ if (selectionDecorator != null) {
+ selectionDecorator.addListener(this);
+ }
+ }
+
+ /**
+ * Gets selection decorator.
+ *
+ * @return the label decorator for selected items in the list
+ */
+ public ILabelDecorator getSelectionDecorator() {
+ return selectionDecorator;
+ }
+
+ /**
+ * Sets new label provider.
+ *
+ * @param newProvider
+ * new label provider for items in the list, not
+ * <code>null</code>
+ */
+ public void setProvider(ILabelProvider newProvider) {
+ Assert.isNotNull(newProvider);
+ provider.removeListener(this);
+ provider.dispose();
+
+ provider = newProvider;
+
+ if (provider != null) {
+ provider.addListener(this);
+ }
+
+ setOwnerDrawEnabled(showColoredLabels() && provider instanceof IStyledLabelProvider);
+ }
+
+ private Image getImage(Object element) {
+ if (element instanceof ItemsListSeparator) {
+ return WorkbenchImages
+ .getImage(IWorkbenchGraphicConstants.IMG_OBJ_SEPARATOR);
+ }
+
+ return provider.getImage(element);
+ }
+
+ private boolean isSelected(Object element) {
+ if (element != null && getCurrentSelection() != null) {
+ for (int i = 0; i < getCurrentSelection().length; i++) {
+ if (element.equals(getCurrentSelection()[i])) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
+ */
+ private String getText(Object element) {
+ if (element instanceof ItemsListSeparator) {
+ return getSeparatorLabel(((ItemsListSeparator) element)
+ .getName());
+ }
+
+ String str = provider.getText(element);
+ if (selectionDecorator != null && isSelected(element)) {
+ return selectionDecorator.decorateText(str.toString(), element);
+ }
+
+ return str;
+ }
+
+ private StyledString getStyledText(Object element,
+ IStyledLabelProvider provider) {
+ StyledString string = provider.getStyledText(element);
+
+ if (selectionDecorator != null && isSelected(element)) {
+ String decorated = selectionDecorator.decorateText(string
+ .getString(), element);
+ return StyledCellLabelProvider.styleDecoratedString(decorated, null, string);
+ // no need to add colors when element is selected
+ }
+ return string;
+ }
+
+ @Override
+ public void update(ViewerCell cell) {
+ Object element = cell.getElement();
+
+ if (!(element instanceof ItemsListSeparator)
+ && provider instanceof IStyledLabelProvider) {
+ IStyledLabelProvider styledLabelProvider = (IStyledLabelProvider) provider;
+ StyledString styledString = getStyledText(element,
+ styledLabelProvider);
+
+ cell.setText(styledString.getString());
+ cell.setStyleRanges(styledString.getStyleRanges());
+ cell.setImage(styledLabelProvider.getImage(element));
+ } else {
+ cell.setText(getText(element));
+ cell.setImage(getImage(element));
+ }
+ cell.setFont(getFont(element));
+ cell.setForeground(getForeground(element));
+ cell.setBackground(getBackground(element));
+
+ super.update(cell);
+ }
+
+ private String getSeparatorLabel(String separatorLabel) {
+ Rectangle rect = getList().getTable().getBounds();
+
+ int borderWidth = getList().getTable().computeTrim(0, 0, 0, 0).width;
+
+ int imageWidth = WorkbenchImages.getImage(
+ IWorkbenchGraphicConstants.IMG_OBJ_SEPARATOR).getBounds().width;
+
+ int width = rect.width - borderWidth - imageWidth;
+
+ GC gc = new GC(getList().getTable());
+ gc.setFont(getList().getTable().getFont());
+
+ int fSeparatorWidth = gc.getAdvanceWidth('-');
+ int fMessageLength = gc.textExtent(separatorLabel).x;
+
+ gc.dispose();
+
+ StringBuffer dashes = new StringBuffer();
+ int chars = (((width - fMessageLength) / fSeparatorWidth) / 2) - 2;
+ for (int i = 0; i < chars; i++) {
+ dashes.append('-');
+ }
+
+ StringBuffer result = new StringBuffer();
+ result.append(dashes);
+ result.append(" " + separatorLabel + " "); //$NON-NLS-1$//$NON-NLS-2$
+ result.append(dashes);
+ return result.toString().trim();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
+ */
+ @Override
+ public void addListener(ILabelProviderListener listener) {
+ listeners.add(listener);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
+ */
+ @Override
+ public void dispose() {
+ provider.removeListener(this);
+ provider.dispose();
+
+ if (selectionDecorator != null) {
+ selectionDecorator.removeListener(this);
+ selectionDecorator.dispose();
+ }
+
+ super.dispose();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object,
+ * java.lang.String)
+ */
+ @Override
+ public boolean isLabelProperty(Object element, String property) {
+ if (provider.isLabelProperty(element, property)) {
+ return true;
+ }
+ if (selectionDecorator != null
+ && selectionDecorator.isLabelProperty(element, property)) {
+ return true;
+ }
+ return false;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
+ */
+ @Override
+ public void removeListener(ILabelProviderListener listener) {
+ listeners.remove(listener);
+ }
+
+ private Color getBackground(Object element) {
+ if (element instanceof ItemsListSeparator) {
+ return null;
+ }
+ if (provider instanceof IColorProvider) {
+ return ((IColorProvider) provider).getBackground(element);
+ }
+ return null;
+ }
+
+ private Color getForeground(Object element) {
+ if (element instanceof ItemsListSeparator) {
+ return Display.getCurrent().getSystemColor(
+ SWT.COLOR_WIDGET_NORMAL_SHADOW);
+ }
+ if (provider instanceof IColorProvider) {
+ return ((IColorProvider) provider).getForeground(element);
+ }
+ return null;
+ }
+
+ private Font getFont(Object element) {
+ if (element instanceof ItemsListSeparator) {
+ return null;
+ }
+ if (provider instanceof IFontProvider) {
+ return ((IFontProvider) provider).getFont(element);
+ }
+ return null;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.ILabelProviderListener#labelProviderChanged(org.eclipse.jface.viewers.LabelProviderChangedEvent)
+ */
+ @Override
+ public void labelProviderChanged(LabelProviderChangedEvent event) {
+ Object[] l = listeners.getListeners();
+ for (int i = 0; i < listeners.size(); i++) {
+ ((ILabelProviderListener) l[i]).labelProviderChanged(event);
+ }
+ }
+ }
+
+ /**
+ * Used in ItemsListContentProvider, separates history and non-history
+ * items.
+ */
+ protected class ItemsListSeparator {
+
+ private final String name;
+
+ /**
+ * Creates a new instance of the class.
+ *
+ * @param name
+ * the name of the separator
+ */
+ public ItemsListSeparator(String name) {
+ this.name = name;
+ }
+
+ /**
+ * Returns the name of this separator.
+ *
+ * @return the name of the separator
+ */
+ public String getName() {
+ return name;
+ }
+ }
+
+ /**
+ * GranualProgressMonitor is used for monitoring progress of filtering
+ * process. It is used by <code>RefreshProgressMessageJob</code> to
+ * refresh progress message. State of this monitor illustrates state of
+ * filtering or cache refreshing process.
+ *
+ */
+ private class GranualProgressMonitor extends ProgressMonitorWrapper {
+
+ private String name;
+
+ private String subName;
+
+ private int totalWork;
+
+ private double worked;
+
+ private boolean done;
+
+ /**
+ * Creates instance of <code>GranualProgressMonitor</code>.
+ *
+ * @param monitor
+ * progress to be wrapped
+ */
+ public GranualProgressMonitor(IProgressMonitor monitor) {
+ super(monitor);
+ }
+
+ /**
+ * Checks if filtering has been done
+ *
+ * @return true if filtering work has been done false in other way
+ */
+ public boolean isDone() {
+ return done;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.ProgressMonitorWrapper#setTaskName(java.lang.String)
+ */
+ @Override
+ public void setTaskName(String name) {
+ super.setTaskName(name);
+ this.name = name;
+ this.subName = null;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.ProgressMonitorWrapper#subTask(java.lang.String)
+ */
+ @Override
+ public void subTask(String name) {
+ super.subTask(name);
+ this.subName = name;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.ProgressMonitorWrapper#beginTask(java.lang.String,
+ * int)
+ */
+ @Override
+ public void beginTask(String name, int totalWork) {
+ super.beginTask(name, totalWork);
+ if (this.name == null) {
+ this.name = name;
+ }
+ this.totalWork = totalWork;
+ refreshProgressMessageJob.scheduleProgressRefresh(this);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.ProgressMonitorWrapper#worked(int)
+ */
+ @Override
+ public void worked(int work) {
+ super.worked(work);
+ internalWorked(work);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.ProgressMonitorWrapper#done()
+ */
+ @Override
+ public void done() {
+ done = true;
+ super.done();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.ProgressMonitorWrapper#setCanceled(boolean)
+ */
+ @Override
+ public void setCanceled(boolean b) {
+ done = b;
+ super.setCanceled(b);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.ProgressMonitorWrapper#internalWorked(double)
+ */
+ @Override
+ public void internalWorked(double work) {
+ worked = worked + work;
+ }
+
+ private String getMessage() {
+ if (done) {
+ return ""; //$NON-NLS-1$
+ }
+
+ String message;
+
+ if (name == null) {
+ message = subName == null ? "" : subName; //$NON-NLS-1$
+ } else {
+ message = subName == null ? name
+ : NLS
+ .bind(
+ WorkbenchMessages.FilteredItemsSelectionDialog_subtaskProgressMessage,
+ new Object[] { name, subName });
+ }
+ if (totalWork == 0) {
+ return message;
+ }
+
+ return NLS
+ .bind(
+ WorkbenchMessages.FilteredItemsSelectionDialog_taskProgressMessage,
+ new Object[] {
+ message,
+ new Integer(
+ (int) ((worked * 100) / totalWork)) });
+
+ }
+
+ }
+
+ /**
+ * Filters items history and schedule filter job.
+ */
+ private class FilterHistoryJob extends Job {
+
+ /**
+ * Filter used during the filtering process.
+ */
+ private ItemsFilter itemsFilter;
+
+ /**
+ * Creates new instance of receiver.
+ */
+ public FilterHistoryJob() {
+ super(WorkbenchMessages.FilteredItemsSelectionDialog_jobLabel);
+ setSystem(true);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+
+ this.itemsFilter = filter;
+
+ contentProvider.reset();
+
+ refreshWithLastSelection = false;
+
+ contentProvider.addHistoryItems(itemsFilter);
+
+ if (!(lastCompletedFilter != null && lastCompletedFilter
+ .isSubFilter(this.itemsFilter))) {
+ contentProvider.refresh();
+ }
+
+ filterJob.schedule();
+
+ return Status.OK_STATUS;
+ }
+
+ }
+
+ /**
+ * Filters items in indicated set and history. During filtering, it
+ * refreshes the dialog (progress monitor and elements list).
+ *
+ * Depending on the filter, <code>FilterJob</code> decides which kind of
+ * search will be run inside <code>filterContent</code>. If the last
+ * filtering is done (last completed filter), is not null, and the new
+ * filter is a sub-filter ({@link FilteredItemsSelectionDialog.ItemsFilter#isSubFilter(FilteredItemsSelectionDialog.ItemsFilter)})
+ * of the last, then <code>FilterJob</code> only filters in the cache. If
+ * it is the first filtering or the new filter isn't a sub-filter of the
+ * last one, a full search is run.
+ */
+ private class FilterJob extends Job {
+
+ /**
+ * Filter used during the filtering process.
+ */
+ protected ItemsFilter itemsFilter;
+
+ /**
+ * Creates new instance of FilterJob
+ */
+ public FilterJob() {
+ super(WorkbenchMessages.FilteredItemsSelectionDialog_jobLabel);
+ setSystem(true);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ protected final IStatus run(IProgressMonitor parent) {
+ GranualProgressMonitor monitor = new GranualProgressMonitor(parent);
+ return doRun(monitor);
+ }
+
+ /**
+ * Executes job using the given filtering progress monitor. A hook for
+ * subclasses.
+ *
+ * @param monitor
+ * progress monitor
+ * @return result of the execution
+ */
+ protected IStatus doRun(GranualProgressMonitor monitor) {
+ try {
+ internalRun(monitor);
+ } catch (CoreException e) {
+ cancel();
+ return new Status(
+ IStatus.ERROR,
+ PlatformUI.PLUGIN_ID,
+ IStatus.ERROR,
+ WorkbenchMessages.FilteredItemsSelectionDialog_jobError,
+ e);
+ }
+ return Status.OK_STATUS;
+ }
+
+ /**
+ * Main method for the job.
+ *
+ * @param monitor
+ * @throws CoreException
+ */
+ private void internalRun(GranualProgressMonitor monitor)
+ throws CoreException {
+ try {
+ if (monitor.isCanceled()) {
+ return;
+ }
+
+ this.itemsFilter = filter;
+
+ if (filter.getPattern().length() != 0) {
+ filterContent(monitor);
+ }
+
+ if (monitor.isCanceled()) {
+ return;
+ }
+
+ contentProvider.refresh();
+ } finally {
+ monitor.done();
+ }
+ }
+
+ /**
+ * Filters items.
+ *
+ * @param monitor
+ * for monitoring progress
+ * @throws CoreException
+ */
+ protected void filterContent(GranualProgressMonitor monitor)
+ throws CoreException {
+
+// if (lastCompletedFilter != null
+// && lastCompletedFilter.isSubFilter(this.itemsFilter)) {
+//
+// int length = lastCompletedResult.size() / 500;
+// monitor
+// .beginTask(
+// WorkbenchMessages.FilteredItemsSelectionDialog_cacheSearchJob_taskName,
+// length);
+//
+// for (int pos = 0; pos < lastCompletedResult.size(); pos++) {
+//
+// Object item = lastCompletedResult.get(pos);
+// if (monitor.isCanceled()) {
+// break;
+// }
+// contentProvider.add(item, itemsFilter);
+//
+// if ((pos % 500) == 0) {
+// monitor.worked(1);
+// }
+// }
+//
+// } else {
+
+ lastCompletedFilter = null;
+ lastCompletedResult = null;
+
+ SubProgressMonitor subMonitor = null;
+ if (monitor != null) {
+ monitor
+ .beginTask(
+ WorkbenchMessages.FilteredItemsSelectionDialog_searchJob_taskName,
+ 100);
+ subMonitor = new SubProgressMonitor(monitor, 95);
+
+ }
+
+ fillContentProvider(contentProvider, itemsFilter, subMonitor);
+
+ if (monitor != null && !monitor.isCanceled()) {
+ monitor.worked(2);
+ contentProvider.rememberResult(itemsFilter);
+ monitor.worked(3);
+ }
+ //}
+
+ }
+
+ }
+
+ /**
+ * History stores a list of key, object pairs. The list is bounded at a
+ * certain size. If the list exceeds this size the oldest element is removed
+ * from the list. An element can be added/renewed with a call to
+ * <code>accessed(Object)</code>.
+ * <p>
+ * The history can be stored to/loaded from an XML file.
+ */
+ protected static abstract class SelectionHistory {
+
+ private static final String DEFAULT_ROOT_NODE_NAME = "historyRootNode"; //$NON-NLS-1$
+
+ private static final String DEFAULT_INFO_NODE_NAME = "infoNode"; //$NON-NLS-1$
+
+ private static final int MAX_HISTORY_SIZE = 60;
+
+ private final Set historyList;
+
+ private final String rootNodeName;
+
+ private final String infoNodeName;
+
+ private SelectionHistory(String rootNodeName, String infoNodeName) {
+
+ historyList = Collections.synchronizedSet(new LinkedHashSet() {
+
+ private static final long serialVersionUID = 0L;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.util.LinkedList#add(java.lang.Object)
+ */
+ @Override
+ public boolean add(Object arg0) {
+ if (this.size() >= MAX_HISTORY_SIZE) {
+ Iterator iterator = this.iterator();
+ iterator.next();
+ iterator.remove();
+ }
+ return super.add(arg0);
+ }
+
+ });
+
+ this.rootNodeName = rootNodeName;
+ this.infoNodeName = infoNodeName;
+ }
+
+ /**
+ * Creates new instance of <code>SelectionHistory</code>.
+ */
+ public SelectionHistory() {
+ this(DEFAULT_ROOT_NODE_NAME, DEFAULT_INFO_NODE_NAME);
+ }
+
+ /**
+ * Adds object to history.
+ *
+ * @param object
+ * the item to be added to the history
+ */
+ public synchronized void accessed(Object object) {
+ historyList.remove(object);
+ historyList.add(object);
+ }
+
+ /**
+ * Returns <code>true</code> if history contains object.
+ *
+ * @param object
+ * the item for which check will be executed
+ * @return <code>true</code> if history contains object
+ * <code>false</code> in other way
+ */
+ public synchronized boolean contains(Object object) {
+ return historyList.contains(object);
+ }
+
+ /**
+ * Returns <code>true</code> if history is empty.
+ *
+ * @return <code>true</code> if history is empty
+ */
+ public synchronized boolean isEmpty() {
+ return historyList.isEmpty();
+ }
+
+ /**
+ * Remove element from history.
+ *
+ * @param element
+ * to remove form the history
+ * @return <code>true</code> if this list contained the specified
+ * element
+ */
+ public synchronized boolean remove(Object element) {
+ return historyList.remove(element);
+ }
+
+ /**
+ * Load history elements from memento.
+ *
+ * @param memento
+ * memento from which the history will be retrieved
+ */
+ public void load(IMemento memento) {
+
+ XMLMemento historyMemento = (XMLMemento) memento
+ .getChild(rootNodeName);
+
+ if (historyMemento == null) {
+ return;
+ }
+
+ IMemento[] mementoElements = historyMemento
+ .getChildren(infoNodeName);
+ for (int i = 0; i < mementoElements.length; ++i) {
+ IMemento mementoElement = mementoElements[i];
+ Object object = restoreItemFromMemento(mementoElement);
+ if (object != null) {
+ historyList.add(object);
+ }
+ }
+ }
+
+ /**
+ * Save history elements to memento.
+ *
+ * @param memento
+ * memento to which the history will be added
+ */
+ public void save(IMemento memento) {
+
+ IMemento historyMemento = memento.createChild(rootNodeName);
+
+ Object[] items = getHistoryItems();
+ for (int i = 0; i < items.length; i++) {
+ Object item = items[i];
+ IMemento elementMemento = historyMemento
+ .createChild(infoNodeName);
+ storeItemToMemento(item, elementMemento);
+ }
+
+ }
+
+ /**
+ * Gets array of history items.
+ *
+ * @return array of history elements
+ */
+ public synchronized Object[] getHistoryItems() {
+ return historyList.toArray();
+ }
+
+ /**
+ * Creates an object using given memento.
+ *
+ * @param memento
+ * memento used for creating new object
+ *
+ * @return the restored object
+ */
+ protected abstract Object restoreItemFromMemento(IMemento memento);
+
+ /**
+ * Store object in <code>IMemento</code>.
+ *
+ * @param item
+ * the item to store
+ * @param memento
+ * the memento to store to
+ */
+ protected abstract void storeItemToMemento(Object item, IMemento memento);
+
+ }
+
+ /**
+ * Filters elements using SearchPattern by comparing the names of items with
+ * the filter pattern.
+ */
+ protected abstract class ItemsFilter {
+
+ protected SearchPattern patternMatcher;
+
+ /**
+ * Creates new instance of ItemsFilter.
+ */
+ public ItemsFilter() {
+ this(new SearchPattern());
+ }
+
+ /**
+ * Creates new instance of ItemsFilter.
+ *
+ * @param searchPattern
+ * the pattern to be used when filtering
+ */
+ public ItemsFilter(SearchPattern searchPattern) {
+ patternMatcher = searchPattern;
+ String stringPattern = ""; //$NON-NLS-1$
+ if (pattern != null && !pattern.getText().equals("*")) { //$NON-NLS-1$
+ stringPattern = pattern.getText();
+ }
+ patternMatcher.setPattern(stringPattern);
+ }
+
+ /**
+ * Check if the given filter is a sub-filter of this filter. The default
+ * implementation checks if the <code>SearchPattern</code> from the
+ * given filter is a sub-pattern of the one from this filter.
+ * <p>
+ * <i>WARNING: This method is <b>not</b> defined in reading order, i.e.
+ * <code>a.isSubFilter(b)</code> is <code>true</code> iff
+ * <code>b</code> is a sub-filter of <code>a</code>, and not
+ * vice-versa. </i>
+ * </p>
+ *
+ * @param filter
+ * the filter to be checked, or <code>null</code>
+ * @return <code>true</code> if the given filter is sub-filter of this
+ * filter, <code>false</code> if the given filter isn't a
+ * sub-filter or is <code>null</code>
+ *
+ * @see org.eclipse.ui.dialogs.SearchPattern#isSubPattern(org.eclipse.ui.dialogs.SearchPattern)
+ */
+ public boolean isSubFilter(ItemsFilter filter) {
+ if (filter != null) {
+ return this.patternMatcher.isSubPattern(filter.patternMatcher);
+ }
+ return false;
+ }
+
+ /**
+ * Checks whether the provided filter is equal to the current filter.
+ * The default implementation checks if <code>SearchPattern</code>
+ * from current filter is equal to the one from provided filter.
+ *
+ * @param filter
+ * filter to be checked, or <code>null</code>
+ * @return <code>true</code> if the given filter is equal to current
+ * filter, <code>false</code> if given filter isn't equal to
+ * current one or if it is <code>null</code>
+ *
+ * @see org.eclipse.ui.dialogs.SearchPattern#equalsPattern(org.eclipse.ui.dialogs.SearchPattern)
+ */
+ public boolean equalsFilter(ItemsFilter filter) {
+ if (filter != null
+ && filter.patternMatcher.equalsPattern(this.patternMatcher)) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Checks whether the pattern's match rule is camel case.
+ *
+ * @return <code>true</code> if pattern's match rule is camel case,
+ * <code>false</code> otherwise
+ */
+ public boolean isCamelCasePattern() {
+ return patternMatcher.getMatchRule() == SearchPattern.RULE_CAMELCASE_MATCH;
+ }
+
+ /**
+ * Returns the pattern string.
+ *
+ * @return pattern for this filter
+ *
+ * @see SearchPattern#getPattern()
+ */
+ public String getPattern() {
+ return patternMatcher.getPattern();
+ }
+
+ /**
+ * Returns the rule to apply for matching keys.
+ *
+ * @return an implementation-specific match rule
+ *
+ * @see SearchPattern#getMatchRule() for match rules returned by the
+ * default implementation
+ */
+ public int getMatchRule() {
+ return patternMatcher.getMatchRule();
+ }
+
+ /**
+ * Matches text with filter.
+ *
+ * @param text
+ * the text to match with the filter
+ * @return <code>true</code> if text matches with filter pattern,
+ * <code>false</code> otherwise
+ */
+ protected boolean matches(String text) {
+ return patternMatcher.matches(text);
+ }
+
+ /**
+ * General method for matching raw name pattern. Checks whether current
+ * pattern is prefix of name provided item.
+ *
+ * @param item
+ * item to check
+ * @return <code>true</code> if current pattern is a prefix of name
+ * provided item, <code>false</code> if item's name is shorter
+ * than prefix or sequences of characters don't match.
+ */
+ public boolean matchesRawNamePattern(Object item) {
+ String prefix = patternMatcher.getPattern();
+ String text = getElementName(item);
+
+ if (text == null) {
+ return false;
+ }
+
+ int textLength = text.length();
+ int prefixLength = prefix.length();
+ if (textLength < prefixLength) {
+ return false;
+ }
+ for (int i = prefixLength - 1; i >= 0; i--) {
+ if (Character.toLowerCase(prefix.charAt(i)) != Character
+ .toLowerCase(text.charAt(i))) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Matches an item against filter conditions.
+ *
+ * @param item
+ * @return <code>true<code> if item matches against filter conditions, <code>false</code>
+ * otherwise
+ */
+ public abstract boolean matchItem(Object item);
+
+ /**
+ * Checks consistency of an item. Item is inconsistent if was changed or
+ * removed.
+ *
+ * @param item
+ * @return <code>true</code> if item is consistent, <code>false</code>
+ * if item is inconsistent
+ */
+ public abstract boolean isConsistentItem(Object item);
+
+ }
+
+ /**
+ * An interface to content providers for
+ * <code>FilterItemsSelectionDialog</code>.
+ */
+ protected abstract class AbstractContentProvider {
+ /**
+ * Adds the item to the content provider iff the filter matches the
+ * item. Otherwise does nothing.
+ *
+ * @param item
+ * the item to add
+ * @param itemsFilter
+ * the filter
+ *
+ * @see FilteredItemsSelectionDialog.ItemsFilter#matchItem(Object)
+ */
+ public abstract void add(Object item, ItemsFilter itemsFilter);
+ }
+
+ /**
+ * Collects filtered elements. Contains one synchronized, sorted set for
+ * collecting filtered elements. All collected elements are sorted using
+ * comparator. Comparator is returned by getElementComparator() method.
+ * Implementation of <code>ItemsFilter</code> is used to filter elements.
+ * The key function of filter used in to filtering is
+ * <code>matchElement(Object item)</code>.
+ * <p>
+ * The <code>ContentProvider</code> class also provides item filtering
+ * methods. The filtering has been moved from the standard TableView
+ * <code>getFilteredItems()</code> method to content provider, because
+ * <code>ILazyContentProvider</code> and virtual tables are used. This
+ * class is responsible for adding a separator below history items and
+ * marking each items as duplicate if its name repeats more than once on the
+ * filtered list.
+ */
+ private class ContentProvider extends AbstractContentProvider implements
+ IStructuredContentProvider, ILazyContentProvider {
+
+ private SelectionHistory selectionHistory;
+
+ /**
+ * Raw result of the searching (unsorted, unfiltered).
+ * <p>
+ * Standard object flow:
+ * <code>items -> lastSortedItems -> lastFilteredItems</code>
+ */
+ private final Set items;
+
+ /**
+ * Items that are duplicates.
+ */
+ private final Set duplicates;
+
+ /**
+ * List of <code>ViewerFilter</code>s to be used during filtering
+ */
+ private List filters;
+
+ /**
+ * Result of the last filtering.
+ * <p>
+ * Standard object flow:
+ * <code>items -> lastSortedItems -> lastFilteredItems</code>
+ */
+ private List lastFilteredItems;
+
+ /**
+ * Result of the last sorting.
+ * <p>
+ * Standard object flow:
+ * <code>items -> lastSortedItems -> lastFilteredItems</code>
+ */
+ private final List lastSortedItems;
+
+ /**
+ * Used for <code>getFilteredItems()</code> method canceling (when the
+ * job that invoked the method was canceled).
+ * <p>
+ * Method canceling could be based (only) on monitor canceling
+ * unfortunately sometimes the method <code>getFilteredElements()</code>
+ * could be run with a null monitor, the <code>reset</code> flag have
+ * to be left intact.
+ */
+ private boolean reset;
+
+ /**
+ * Creates new instance of <code>ContentProvider</code>.
+ */
+ public ContentProvider() {
+ this.items = Collections.synchronizedSet(new HashSet(2048));
+ this.duplicates = Collections.synchronizedSet(new HashSet(256));
+ this.lastFilteredItems = new ArrayList();
+ this.lastSortedItems = Collections.synchronizedList(new ArrayList(
+ 2048));
+ }
+
+ /**
+ * Sets selection history.
+ *
+ * @param selectionHistory
+ * The selectionHistory to set.
+ */
+ public void setSelectionHistory(SelectionHistory selectionHistory) {
+ this.selectionHistory = selectionHistory;
+ }
+
+ /**
+ * @return Returns the selectionHistory.
+ */
+ public SelectionHistory getSelectionHistory() {
+ return selectionHistory;
+ }
+
+ /**
+ * Removes all content items and resets progress message.
+ */
+ public void reset() {
+ reset = true;
+ this.items.clear();
+ this.duplicates.clear();
+ this.lastSortedItems.clear();
+ }
+
+ /**
+ * Stops reloading cache - <code>getFilteredItems()</code> method.
+ */
+ public void stopReloadingCache() {
+ reset = true;
+ }
+
+ /**
+ * Adds filtered item.
+ *
+ * @param item
+ * @param itemsFilter
+ */
+ @Override
+ public void add(Object item, ItemsFilter itemsFilter) {
+ if (itemsFilter == filter) {
+ if (itemsFilter != null) {
+ if (itemsFilter.matchItem(item)) {
+ this.items.add(item);
+ }
+ } else {
+ this.items.add(item);
+ }
+ }
+ }
+
+ /**
+ * Add all history items to <code>contentProvider</code>.
+ *
+ * @param itemsFilter
+ */
+ public void addHistoryItems(ItemsFilter itemsFilter) {
+ if (this.selectionHistory != null) {
+ Object[] items = this.selectionHistory.getHistoryItems();
+ for (int i = 0; i < items.length; i++) {
+ Object item = items[i];
+ if (itemsFilter == filter) {
+ if (itemsFilter != null) {
+ if (itemsFilter.matchItem(item)) {
+ if (itemsFilter.isConsistentItem(item)) {
+ this.items.add(item);
+ } else {
+ this.selectionHistory.remove(item);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Refresh dialog.
+ */
+ public void refresh() {
+ scheduleRefresh();
+ }
+
+ /**
+ * Removes items from history and refreshes the view.
+ *
+ * @param item
+ * to remove
+ *
+ * @return removed item
+ */
+ public Object removeHistoryElement(Object item) {
+ if (this.selectionHistory != null) {
+ this.selectionHistory.remove(item);
+ }
+ if (filter == null || filter.getPattern().length() == 0) {
+ items.remove(item);
+ duplicates.remove(item);
+ this.lastSortedItems.remove(item);
+ }
+
+ synchronized (lastSortedItems) {
+ Collections.sort(lastSortedItems, getHistoryComparator());
+ }
+ return item;
+ }
+
+ /**
+ * Adds item to history and refresh view.
+ *
+ * @param item
+ * to add
+ */
+ public void addHistoryElement(Object item) {
+ if (this.selectionHistory != null) {
+ this.selectionHistory.accessed(item);
+ }
+ if (filter == null || !filter.matchItem(item)) {
+ this.items.remove(item);
+ this.duplicates.remove(item);
+ this.lastSortedItems.remove(item);
+ }
+ synchronized (lastSortedItems) {
+ Collections.sort(lastSortedItems, getHistoryComparator());
+ }
+ this.refresh();
+ }
+
+ /**
+ * @param item
+ * @return <code>true</code> if given item is part of the history
+ */
+ public boolean isHistoryElement(Object item) {
+ if (this.selectionHistory != null) {
+ return this.selectionHistory.contains(item);
+ }
+ return false;
+ }
+
+ /**
+ * Sets/unsets given item as duplicate.
+ *
+ * @param item
+ * item to change
+ *
+ * @param isDuplicate
+ * duplicate flag
+ */
+ public void setDuplicateElement(Object item, boolean isDuplicate) {
+ if (this.items.contains(item)) {
+ if (isDuplicate) {
+ this.duplicates.add(item);
+ } else {
+ this.duplicates.remove(item);
+ }
+ }
+ }
+
+ /**
+ * Indicates whether given item is a duplicate.
+ *
+ * @param item
+ * item to check
+ * @return <code>true</code> if item is duplicate
+ */
+ public boolean isDuplicateElement(Object item) {
+ return duplicates.contains(item);
+ }
+
+ /**
+ * Load history from memento.
+ *
+ * @param memento
+ * memento from which the history will be retrieved
+ */
+ public void loadHistory(IMemento memento) {
+ if (this.selectionHistory != null) {
+ this.selectionHistory.load(memento);
+ }
+ }
+
+ /**
+ * Save history to memento.
+ *
+ * @param memento
+ * memento to which the history will be added
+ */
+ public void saveHistory(IMemento memento) {
+ if (this.selectionHistory != null) {
+ this.selectionHistory.save(memento);
+ }
+ }
+
+ /**
+ * Gets sorted items.
+ *
+ * @return sorted items
+ */
+ private Object[] getSortedItems() {
+ if (lastSortedItems.size() != items.size()) {
+ synchronized (lastSortedItems) {
+ lastSortedItems.clear();
+ lastSortedItems.addAll(items);
+ Collections.sort(lastSortedItems, getHistoryComparator());
+ }
+ }
+ return lastSortedItems.toArray();
+ }
+
+ /**
+ * Remember result of filtering.
+ *
+ * @param itemsFilter
+ */
+ public void rememberResult(ItemsFilter itemsFilter) {
+ List itemsList = Collections.synchronizedList(Arrays
+ .asList(getSortedItems()));
+ // synchronization
+ if (itemsFilter == filter) {
+ lastCompletedFilter = itemsFilter;
+ lastCompletedResult = itemsList;
+ }
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
+ */
+ @Override
+ public Object[] getElements(Object inputElement) {
+ //return items.toArray();
+ return lastFilteredItems.toArray();
+ }
+
+ public int getNumberOfElements() {
+
+ return lastFilteredItems.size();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+ */
+ @Override
+ public void dispose() {
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
+ * java.lang.Object, java.lang.Object)
+ */
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.ILazyContentProvider#updateElement(int)
+ */
+ @Override
+ public void updateElement(int index) {
+
+ CdmFilteredItemsSelectionDialog.this.getList().replace((lastFilteredItems
+ .size() > index) ? lastFilteredItems.get(index) : null,
+ index);
+
+ }
+
+ /**
+ * Main method responsible for getting the filtered items and checking
+ * for duplicates. It is based on the
+ * {@link FilteredItemsSelectionDialog.ContentProvider#getFilteredItems(Object, IProgressMonitor)}.
+ *
+ * @param checkDuplicates
+ * <code>true</code> if data concerning elements
+ * duplication should be computed - it takes much more time
+ * than standard filtering
+ *
+ * @param monitor
+ * progress monitor
+ */
+ public void reloadCache(boolean checkDuplicates,
+ IProgressMonitor monitor) {
+
+ reset = false;
+
+ if (monitor != null) {
+ // the work is divided into two actions of the same length
+ int totalWork = checkDuplicates ? 200 : 100;
+
+ monitor
+ .beginTask(
+ WorkbenchMessages.FilteredItemsSelectionDialog_cacheRefreshJob,
+ totalWork);
+ }
+
+ // the TableViewer's root (the input) is treated as parent
+
+ lastFilteredItems = Arrays.asList(getFilteredItems(getList().getInput(),
+ monitor != null ? new SubProgressMonitor(monitor, 100)
+ : null));
+
+ if (reset || (monitor != null && monitor.isCanceled())) {
+ if (monitor != null) {
+ monitor.done();
+ }
+ return;
+ }
+
+ if (checkDuplicates) {
+ checkDuplicates(monitor);
+ }
+ if (monitor != null) {
+ monitor.done();
+ }
+ }
+
+ private void checkDuplicates(IProgressMonitor monitor) {
+ synchronized (lastFilteredItems) {
+ IProgressMonitor subMonitor = null;
+ int reportEvery = lastFilteredItems.size() / 20;
+ if (monitor != null) {
+ subMonitor = new SubProgressMonitor(monitor, 100);
+ subMonitor
+ .beginTask(
+ WorkbenchMessages.FilteredItemsSelectionDialog_cacheRefreshJob_checkDuplicates,
+ 5);
+ }
+ HashMap helperMap = new HashMap();
+ for (int i = 0; i < lastFilteredItems.size(); i++) {
+ if (reset
+ || (subMonitor != null && subMonitor.isCanceled())) {
+ return;
+ }
+ Object item = lastFilteredItems.get(i);
+
+ if (!(item instanceof ItemsListSeparator)) {
+ Object previousItem = helperMap.put(
+ getElementName(item), item);
+ if (previousItem != null) {
+ setDuplicateElement(previousItem, true);
+ setDuplicateElement(item, true);
+ } else {
+ setDuplicateElement(item, false);
+ }
+ }
+
+ if (subMonitor != null && reportEvery != 0
+ && (i + 1) % reportEvery == 0) {
+ subMonitor.worked(1);
+ }
+ }
+ helperMap.clear();
+ }
+ }
+
+ /**
+ * Returns an array of items filtered using the provided
+ * <code>ViewerFilter</code>s with a separator added.
+ *
+ * @param parent
+ * the parent
+ * @param monitor
+ * progress monitor, can be <code>null</code>
+ * @return an array of filtered items
+ */
+ protected Object[] getFilteredItems(Object parent,
+ IProgressMonitor monitor) {
+ int ticks = 100;
+ if (monitor == null) {
+ monitor = new NullProgressMonitor();
+ }
+
+ monitor
+ .beginTask(
+ WorkbenchMessages.FilteredItemsSelectionDialog_cacheRefreshJob_getFilteredElements,
+ ticks);
+ if (filters != null) {
+ ticks /= (filters.size() + 2);
+ } else {
+ ticks /= 2;
+ }
+
+ // get already sorted array
+ Object[] filteredElements = getSortedItems();
+
+ monitor.worked(ticks);
+
+ // filter the elements using provided ViewerFilters
+ if (filters != null && filteredElements != null) {
+ for (Iterator iter = filters.iterator(); iter.hasNext();) {
+ ViewerFilter f = (ViewerFilter) iter.next();
+ filteredElements = f.filter(getList(), parent, filteredElements);
+ monitor.worked(ticks);
+ }
+ }
+
+ if (filteredElements == null || monitor.isCanceled()) {
+ monitor.done();
+ return new Object[0];
+ }
+
+ ArrayList preparedElements = new ArrayList();
+ boolean hasHistory = false;
+
+ if (filteredElements.length > 0) {
+ if (isHistoryElement(filteredElements[0])) {
+ hasHistory = true;
+ }
+ }
+
+ int reportEvery = filteredElements.length / ticks;
+
+ // add separator
+ for (int i = 0; i < filteredElements.length; i++) {
+ Object item = filteredElements[i];
+
+ if (hasHistory && !isHistoryElement(item)) {
+ preparedElements.add(itemsListSeparator);
+ hasHistory = false;
+ }
+
+ preparedElements.add(item);
+
+ if (reportEvery != 0 && ((i + 1) % reportEvery == 0)) {
+ monitor.worked(1);
+ }
+ }
+
+ monitor.done();
+
+ return preparedElements.toArray();
+ }
+
+ /**
+ * Adds a filter to this content provider. For an example usage of such
+ * filters look at the project <code>org.eclipse.ui.ide</code>, class
+ * <code>org.eclipse.ui.dialogs.FilteredResourcesSelectionDialog.CustomWorkingSetFilter</code>.
+ *
+ *
+ * @param filter
+ * the filter to be added
+ */
+ public void addFilter(ViewerFilter filter) {
+ if (filters == null) {
+ filters = new ArrayList();
+ }
+ filters.add(filter);
+ // currently filters are only added when dialog is restored
+ // if it is changed, refreshing the whole TableViewer should be
+ // added
+ }
+
+ }
+
+ /**
+ * A content provider that does nothing.
+ */
+ private class NullContentProvider implements IContentProvider {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+ */
+ @Override
+ public void dispose() {
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
+ * java.lang.Object, java.lang.Object)
+ */
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
+
+ }
+
+ /**
+ * DetailsContentViewer objects are wrappers for labels.
+ * DetailsContentViewer provides means to change label's image and text when
+ * the attached LabelProvider is updated.
+ */
+ private class DetailsContentViewer extends ContentViewer {
+
+ private final CLabel label;
+
+ /**
+ * Unfortunately, it was impossible to delegate displaying border to
+ * label. The <code>ViewForm</code> is used because
+ * <code>CLabel</code> displays shadow when border is present.
+ */
+ private final ViewForm viewForm;
+
+ /**
+ * Constructs a new instance of this class given its parent and a style
+ * value describing its behavior and appearance.
+ *
+ * @param parent
+ * the parent component
+ * @param style
+ * SWT style bits
+ */
+ public DetailsContentViewer(Composite parent, int style) {
+ viewForm = new ViewForm(parent, style);
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 2;
+ viewForm.setLayoutData(gd);
+ label = new CLabel(viewForm, SWT.FLAT);
+ label.setFont(parent.getFont());
+ viewForm.setContent(label);
+ hookControl(label);
+ }
+
+ /**
+ * Shows/hides the content viewer.
+ *
+ * @param visible
+ * if the content viewer should be visible.
+ */
+ public void setVisible(boolean visible) {
+ GridData gd = (GridData) viewForm.getLayoutData();
+ gd.exclude = !visible;
+ viewForm.getParent().layout();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.Viewer#inputChanged(java.lang.Object,
+ * java.lang.Object)
+ */
+ @Override
+ protected void inputChanged(Object input, Object oldInput) {
+ if (oldInput == null) {
+ if (input == null) {
+ return;
+ }
+ refresh();
+ return;
+ }
+
+ refresh();
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.ContentViewer#handleLabelProviderChanged(org.eclipse.jface.viewers.LabelProviderChangedEvent)
+ */
+ @Override
+ protected void handleLabelProviderChanged(
+ LabelProviderChangedEvent event) {
+ if (event != null) {
+ refresh(event.getElements());
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.Viewer#getControl()
+ */
+ @Override
+ public Control getControl() {
+ return label;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.Viewer#getSelection()
+ */
+ @Override
+ public ISelection getSelection() {
+ // not supported
+ return null;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.Viewer#refresh()
+ */
+ @Override
+ public void refresh() {
+ Object input = this.getInput();
+ if (input != null) {
+ ILabelProvider labelProvider = (ILabelProvider) getLabelProvider();
+ doRefresh(labelProvider.getText(input), labelProvider
+ .getImage(input));
+ } else {
+ doRefresh(null, null);
+ }
+ }
+
+ /**
+ * Sets the given text and image to the label.
+ *
+ * @param text
+ * the new text or null
+ * @param image
+ * the new image
+ */
+ private void doRefresh(String text, Image image) {
+ if ( text != null ) {
+ text = LegacyActionTools.escapeMnemonics(text);
+ }
+ label.setText(text);
+ label.setImage(image);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.viewers.Viewer#setSelection(org.eclipse.jface.viewers.ISelection,
+ * boolean)
+ */
+ @Override
+ public void setSelection(ISelection selection, boolean reveal) {
+ // not supported
+ }
+
+ /**
+ * Refreshes the label if currently chosen element is on the list.
+ *
+ * @param objs
+ * list of changed object
+ */
+ private void refresh(Object[] objs) {
+ if (objs == null || getInput() == null) {
+ return;
+ }
+ Object input = getInput();
+ for (int i = 0; i < objs.length; i++) {
+ if (objs[i].equals(input)) {
+ refresh();
+ break;
+ }
+ }
+ }
+ }
+
+ /**
+ * Compares items according to the history.
+ */
+ private class HistoryComparator implements Comparator {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
+ */
+ @Override
+ public int compare(Object o1, Object o2) {
+ boolean h1 = isHistoryElement(o1);
+ boolean h2 = isHistoryElement(o2);
+ if (h1 == h2) {
+ return getItemsComparator().compare(o1, o2);
+ }
+
+ if (h1) {
+ return -2;
+ }
+ if (h2) {
+ return +2;
+ }
+
+ return 0;
+ }
+
+ }
+
+
+ /**
+ * Get the control where the search pattern is entered. Any filtering should
+ * be done using an {@link ItemsFilter}. This control should only be
+ * accessed for listeners that wish to handle events that do not affect
+ * filtering such as custom traversal.
+ *
+ * @return Control or <code>null</code> if the pattern control has not
+ * been created.
+ */
+ public Control getPatternControl() {
+ return pattern;
+ }
+
+ /**
+ * CDM IMPLEMENTATION
+ * we have to call the initModel() method in the applyFilter method, so we had to add this abstract method (moved from AbstractFilteredCdmResourceSelectionDialog)
+ * <p>initModel</p>
+ */
+ abstract protected void initModel();
+
+ public Object[] getCurrentSelection() {
+ return currentSelection;
+ }
+
+ public void setCurrentSelection(Object[] currentSelection) {
+ this.currentSelection = currentSelection;
+ }
+
+ public TableViewer getList() {
+ return list;
+ }
+
+ public void setList(TableViewer list) {
+ this.list = list;
+ }
+
+ }
+
+
// $Id$
/**
* Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy
+ * 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.
*/
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.IClassificationService;
* <p>
* FilteredClassificationSelectionDialog class.
* </p>
- *
+ *
* @author n.hoffmann
* @created Sep 21, 2009
* @version 1.0
* <p>
* select
* </p>
- *
+ *
* @param shell
* a {@link org.eclipse.swt.widgets.Shell} object.
* @param conversation
* a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
* object.
- * @param curentSelection
+ * @param curentSelection
* @return a {@link eu.etaxonomy.cdm.model.taxon.TaxonomicTree} object.
*/
public static Classification select(Shell shell,
* <p>
* Constructor for FilteredClassificationSelectionDialog.
* </p>
- *
+ *
* @param shell
* a {@link org.eclipse.swt.widgets.Shell} object.
* @param title
/*
* (non-Javadoc)
- *
+ *
* @see
* org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createExtendedContentArea
* (org.eclipse.swt.widgets.Composite)
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog
* #getPersistentObject(java.util.UUID)
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog
* #initModel()
/** {@inheritDoc} */
@Override
protected void initModel() {
+ Control control = getPatternControl();
+ String pattern = null;
+ if (control != null){
+ pattern = ((Text)control).getText();
+ }
+
+
model = CdmStore.getService(IClassificationService.class)
- .getUuidAndTitleCache();
+ .getUuidAndTitleCache(limitOfInitialElements, pattern);
}
/** {@inheritDoc} */
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getService(ICollectionService.class).getUuidAndTitleCache();
+ model = CdmStore.getService(ICollectionService.class).getUuidAndTitleCache(null, null);
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getService(IMediaService.class).getUuidAndTitleCache();
+ model = CdmStore.getService(IMediaService.class).getUuidAndTitleCache(null, null);
}
/* (non-Javadoc)
import java.util.UUID;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.INameService;
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getService(INameService.class).getUuidAndTitleCache();
+ Control control = getPatternControl();
+ String pattern = null;
+ if (control != null){
+ pattern = ((Text)control).getText();
+ }
+
+
+ model = CdmStore.getService(INameService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
}
/** {@inheritDoc} */
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
}else{
selectedVocabularies.remove(vocabulary);
}
+ PreferencesUtil.getPreferenceStore().setValue(getPrefKey(vocabulary), !isChecked());
initModel();
}
}
- private Collection<TermVocabulary> selectedVocabularies;
- private ArrayList<TermVocabulary> preselectedVocabularies;
+ protected Collection<TermVocabulary> selectedVocabularies;
+ protected ArrayList<TermVocabulary> preselectedVocabularies;
+ private Object preferenceID;
/**
* @param namedArea
* A namedArea that should be selected when the dialog opens
* @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+ * @param preferenceId a class which is used for generating the preference key so that every
+ * dialogs can be grouped to have their own preferences depending on this id
* @param preselectedVocabularyUuids the {@link UUID}s of the pre-selected vocabularies
* @return a {@link eu.etaxonomy.cdm.model.location.NamedArea} object.
*/
- public static NamedArea select(Shell shell, ConversationHolder conversation, NamedArea namedArea, UUID... preselectedVocabularyUuids) {
+ public static NamedArea select(Shell shell, ConversationHolder conversation, NamedArea namedArea, String preferenceId, UUID... preselectedVocabularyUuids) {
NamedAreaSelectionDialog dialog = new NamedAreaSelectionDialog(shell, conversation,
- "Choose an area", false, namedArea, preselectedVocabularyUuids);
+ "Choose an area", false, namedArea, preferenceId, preselectedVocabularyUuids);
return getSelectionFromDialog(dialog);
}
- protected NamedAreaSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, NamedArea namedArea, UUID... preselectedVocabularyUuids) {
+ protected NamedAreaSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, NamedArea namedArea, Object preferenceId, UUID... preselectedVocabularyUuids) {
super(shell, conversation, title, multi, NamedAreaSelectionDialog.class.getCanonicalName(), namedArea);
- if(preselectedVocabularyUuids.length>0){
- preselectedVocabularies = new ArrayList<TermVocabulary>();
- for(int i=0;i<preselectedVocabularyUuids.length;i++){
- TermVocabulary preselectedVocabulary = CdmStore.getService(IVocabularyService.class).find(preselectedVocabularyUuids[i]);
- preselectedVocabularies.add(preselectedVocabulary);
- }
- selectedVocabularies.retainAll(preselectedVocabularies);
- initModel();//re-init to consider pre-selected vocabularies
+ this.preferenceID = preferenceId;
+ preselectedVocabularies = new ArrayList<TermVocabulary>();
+ for(int i=0;i<preselectedVocabularyUuids.length;i++){
+ TermVocabulary preselectedVocabulary = CdmStore.getService(IVocabularyService.class).find(preselectedVocabularyUuids[i]);
+ preselectedVocabularies.add(preselectedVocabulary);
}
+ Collection<TermVocabulary> tempSelectedVocabularies = new HashSet<>();
+ for(TermVocabulary vocabulary:selectedVocabularies){
+ if(preselectedVocabularies.contains(vocabulary)
+ || !PreferencesUtil.getPreferenceStore().getBoolean(getPrefKey(vocabulary))){
+ tempSelectedVocabularies.add(vocabulary);
+ }
+ }
+ selectedVocabularies = tempSelectedVocabularies;
+ initModel();//re-init to consider pre-selected vocabularies
}
/** {@inheritDoc} */
for(TermVocabulary<NamedArea> vocabulary : getAvailableVocabularies()){
IncludeNamedAreaVocabulary action = new IncludeNamedAreaVocabulary(vocabulary);
menuManager.add(action);
- if(preselectedVocabularies==null || preselectedVocabularies.isEmpty() || preselectedVocabularies.contains(vocabulary)) {
+ if(preselectedVocabularies.contains(vocabulary)) {
action.setChecked(true);
}
+ else{
+ action.setChecked(!PreferencesUtil.getPreferenceStore().getBoolean(getPrefKey(vocabulary)));
+ }
}
}
+
+ private String getPrefKey(TermVocabulary vocabulary){
+ return "hide_"+NamedAreaSelectionDialog.class.getCanonicalName()+vocabulary.getUuid()+preferenceID;
+ }
/** {@inheritDoc} */
@Override
*/
package eu.etaxonomy.taxeditor.ui.dialog.selection;
+
+
+import java.text.Collator;
+import java.util.Comparator;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.ListenerList;
+import org.eclipse.jface.viewers.IColorProvider;
+import org.eclipse.jface.viewers.IFontProvider;
+import org.eclipse.jface.viewers.ILabelDecorator;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.LabelProviderChangedEvent;
+import org.eclipse.jface.viewers.StyledCellLabelProvider;
+import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.jface.viewers.ViewerCell;
+import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
+import org.eclipse.ui.internal.WorkbenchImages;
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.TeamOrPersonBase;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
+import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
+import eu.etaxonomy.taxeditor.newWizard.NewPersonWizard;
+import eu.etaxonomy.taxeditor.newWizard.NewTeamWizard;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.AbstractFilteredCdmResourceSelectionDialog.FilteredCdmResourceLabelProvider;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.CdmFilteredItemsSelectionDialog.ItemsFilter;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.CdmFilteredItemsSelectionDialog.ItemsListSeparator;
/**
* @author k.luther
* @param agent
*/
protected NomenclaturalAuthorSelectionDialog(Shell shell, ConversationHolder conversation, String title,
- boolean multi, String settings, AgentBase agent) {
- super(shell, conversation, title, multi, settings, agent);
+ boolean multi, String settings, AgentBase agent, boolean teamMemberSelection) {
+ super(shell, conversation, title, multi, settings, agent, teamMemberSelection);
// TODO Auto-generated constructor stub
}
@Override
protected void initModel() {
- model = CdmStore.getService(IAgentService.class).getUuidAndAbbrevTitleCache();
+ Control control = getPatternControl();
+ String pattern = null;
+ if (control != null){
+ pattern = ((Text)control).getText();
+ }
+
+ model = CdmStore.getService(IAgentService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern, null);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected AbstractNewEntityWizard getNewEntityWizard(String parameter) {
+ if(TEAM.equals(parameter)){
+ return new NewTeamWizard(true);
+ }
+ else if(PERSON.equals(parameter)){
+ return new NewPersonWizard();
+ }
+ else{
+ throw new IllegalArgumentException("Could not determine the desired wizard.");
+ }
}
+ /**
+ *
+ * @return
+ */
+ @Override
+ protected ILabelProvider createListLabelProvider() {
+ return new FilteredCdmResourceAbbrevLabelProvider();
+ }
/**
* <p>select</p>
* @param entity a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
* @return a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
*/
- public static AgentBase select(Shell shell, ConversationHolder conversation, AgentBase entity) {
+ public static AgentBase select(Shell shell, ConversationHolder conversation, AgentBase entity, boolean teamMemberSelection) {
NomenclaturalAuthorSelectionDialog dialog = new NomenclaturalAuthorSelectionDialog(shell, conversation,
- "Choose Agent", false, NomenclaturalAuthorSelectionDialog.class.getCanonicalName(), entity);
+ "Choose Agent", false, NomenclaturalAuthorSelectionDialog.class.getCanonicalName(), entity, teamMemberSelection);
return getSelectionFromDialog(dialog);
}
" supports cdmObject of type IIdentifiableEntity." +
" Please implement specific method in subclass.");
}
+
+
+
+ public class FilteredCdmResourceAbbrevLabelProvider extends LabelProvider {
+ @Override
+ public String getText(Object element) {
+ if (element == null) {
+ return null;
+ }
+ UuidAndTitleCache uuidAndTitleCache = (UuidAndTitleCache) element;
+ String titleCache = uuidAndTitleCache.getTitleCache();
+ String abbrevTitleCache = uuidAndTitleCache.getAbbrevTitleCache();
+ if (!titleCache.equals(abbrevTitleCache)){
+ abbrevTitleCache += " - " + titleCache;
+ }
+ if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_ID_IN_ENTITY_SELECTION_DIAOLOG)){
+ abbrevTitleCache += " ["+uuidAndTitleCache.getId()+"]";
+ }
+ return abbrevTitleCache;
+ }
+ };
+
+ /** {@inheritDoc} */
+ @Override
+ protected ItemsFilter createFilter() {
+ return new ItemsFilter() {
+
+ /**
+ * Always returns false to enforce refiltering even if the pattern is equal
+ */
+ @Override
+ public boolean equalsFilter(ItemsFilter filter) {
+ return false;
+ }
+
+ @Override
+ public boolean isConsistentItem(Object item) {
+ return false;
+ }
+
+ @Override
+ public boolean matchItem(Object item) {
+ String textTitleCache = null;
+ String abbrevTitleCache = null;
+ if(item instanceof UuidAndTitleCache){
+ if (((UuidAndTitleCache) item).getAbbrevTitleCache() != null){
+ abbrevTitleCache = ((UuidAndTitleCache) item).getAbbrevTitleCache();
+ }
+ if (((UuidAndTitleCache) item).getTitleCache() != null ){
+ textTitleCache = ((UuidAndTitleCache) item).getTitleCache();
+ }
+ }else if(item instanceof String){
+ textTitleCache = (String) item;
+ }
+
+ return (matches(textTitleCache) || matches(abbrevTitleCache)) ;
+
+ }
+
+ };
+ }
+
+ @Override
+ protected Comparator getItemsComparator() {
+ return new Comparator<UuidAndTitleCache>() {
+ @Override
+ public int compare(UuidAndTitleCache entity1,
+ UuidAndTitleCache entity2) {
+ Collator collator = Collator.getInstance();
+ String compareString1 = "";
+ if (entity1.getAbbrevTitleCache() != null){
+ compareString1 = entity1.getAbbrevTitleCache();
+ }
+ if (entity1.getTitleCache() != null){
+ compareString1 += entity1.getTitleCache();
+ }
+
+
+ String compareString2 = "";
+ if (entity2.getAbbrevTitleCache() != null){
+ compareString2 = entity2.getAbbrevTitleCache();
+ }
+ if (entity2.getTitleCache() != null){
+ compareString2 += entity2.getTitleCache();
+ }
+
+
+ return collator.compare(compareString1, compareString2);
+ }
+ };
+ }
+
}
import java.util.UUID;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
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.Team;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
* @version 1.0
*/
public class NomenclaturalAuthorTeamSelectionDialog extends
- AbstractFilteredCdmResourceSelectionDialog<Team> {
+ AbstractFilteredCdmResourceSelectionDialog<AgentBase> {
/**
* <p>select</p>
public static Team select(Shell shell, ConversationHolder conversation, Team team){
NomenclaturalAuthorTeamSelectionDialog dialog = new NomenclaturalAuthorTeamSelectionDialog(shell, conversation,
"Choose Author Team", false, NomenclaturalAuthorTeamSelectionDialog.class.getCanonicalName(), team);
- return getSelectionFromDialog(dialog);
+ return (Team)getSelectionFromDialog(dialog);
}
/**
/** {@inheritDoc} */
@Override
protected AbstractNewEntityWizard getNewEntityWizard(String parameter) {
- return new NewTeamWizard();
+ return new NewTeamWizard(true);
}
/** {@inheritDoc} */
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getService(IAgentService.class).getTeamUuidAndNomenclaturalTitle();
+ Control control = getPatternControl();
+ String pattern = null;
+ if (control != null){
+ pattern = ((Text)control).getText();
+ }
+
+ model = CdmStore.getService(IAgentService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern, Team.class);
}
/** {@inheritDoc} */
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2016 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.ui.dialog.selection;
+
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+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.Person;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author k.luther
+ * @date 21.06.2016
+ *
+ */
+public class NomenclaturalPersonAuthorSelectionDialog extends NomenclaturalAuthorSelectionDialog {
+
+ /**
+ * @param shell
+ * @param conversation
+ * @param title
+ * @param multi
+ * @param settings
+ * @param agent
+ */
+ protected NomenclaturalPersonAuthorSelectionDialog(Shell shell, ConversationHolder conversation, String title,
+ boolean multi, String settings, AgentBase agent, boolean teamMemberSelection) {
+ super(shell, conversation, title, multi, settings, agent, teamMemberSelection);
+ // TODO Auto-generated constructor stub
+ }
+
+
+ /**
+ * <p>select</p>
+ *
+ * @param shell a {@link org.eclipse.swt.widgets.Shell} object.
+ * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+ * @param entity a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
+ * @return a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
+ */
+ public static AgentBase select(Shell shell, ConversationHolder conversation, AgentBase entity, boolean teamMemberSelection) {
+ NomenclaturalPersonAuthorSelectionDialog dialog = new NomenclaturalPersonAuthorSelectionDialog(shell, conversation,
+ "Choose Agent", false, NomenclaturalAuthorSelectionDialog.class.getCanonicalName(), entity,teamMemberSelection);
+ return getSelectionFromDialog(dialog);
+ }
+
+ @Override
+ protected void initModel() {
+ Control control = getPatternControl();
+ String pattern = null;
+ if (control != null){
+ pattern = ((Text)control).getText();
+ }
+
+ model = CdmStore.getService(IAgentService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern, Person.class);
+ }
+
+}
--- /dev/null
+package eu.etaxonomy.taxeditor.ui.dialog.selection;
+
+import java.text.Collator;
+import java.util.Comparator;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.ListenerList;
+import org.eclipse.jface.viewers.IColorProvider;
+import org.eclipse.jface.viewers.IFontProvider;
+import org.eclipse.jface.viewers.ILabelDecorator;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.LabelProviderChangedEvent;
+import org.eclipse.jface.viewers.StyledCellLabelProvider;
+import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.jface.viewers.ViewerCell;
+import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
+import org.eclipse.ui.internal.WorkbenchImages;
+
+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.persistence.dto.UuidAndTitleCache;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.CdmFilteredItemsSelectionDialog.ItemsFilter;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.CdmFilteredItemsSelectionDialog.ItemsListSeparator;
+
+public class NomenclaturalReferenceSelectionDialog extends
+ ReferenceSelectionDialog {
+
+ protected NomenclaturalReferenceSelectionDialog(Shell shell,
+ ConversationHolder conversation, String title, boolean multi,
+ Reference reference) {
+ super(shell, conversation, title, multi, reference);
+ // TODO Auto-generated constructor stub
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog#initModel()
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected void initModel() {
+ Control control = getPatternControl();
+ String pattern = null;
+ if (control != null){
+ pattern = ((Text)control).getText();
+ }
+
+
+ model = CdmStore.getService(IReferenceService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern);
+ }
+
+ /**
+ *
+ * @return
+ */
+ @Override
+ protected ILabelProvider createListLabelProvider() {
+ return new FilteredCdmResourceAbbrevLabelProvider();
+ }
+
+ /**
+ * <p>select</p>
+ *
+ * @param reference a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
+ * @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.reference.ReferenceBase} object.
+ */
+
+ public static Reference select(Shell shell, ConversationHolder conversation, Reference reference) {
+ NomenclaturalReferenceSelectionDialog dialog = new NomenclaturalReferenceSelectionDialog(shell, conversation,
+ "Choose a reference", false, reference);
+ return getSelectionFromDialog(dialog);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createFilter()
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected ItemsFilter createFilter() {
+ return new ItemsFilter() {
+
+ /**
+ * Always returns false to enforce refiltering even if the pattern is equal
+ */
+ @Override
+ public boolean equalsFilter(ItemsFilter filter) {
+ return false;
+ }
+
+ @Override
+ public boolean isConsistentItem(Object item) {
+ return false;
+ }
+
+ @Override
+ public boolean matchItem(Object item) {
+ return true;
+// String text = null;
+// if(item instanceof UuidAndTitleCache){
+// if (((UuidAndTitleCache) item).getAbbrevTitleCache() != null){
+// text = ((UuidAndTitleCache) item).getAbbrevTitleCache();
+// } else{
+// text = ((UuidAndTitleCache) item).getTitleCache();
+// }
+// }else if(item instanceof String){
+// text = (String) item;
+// }
+// return text != null ? matches(text) : false;
+ }
+
+ };
+ }
+
+
+
+ public class FilteredCdmResourceAbbrevLabelProvider extends LabelProvider {
+ @Override
+ public String getText(Object element) {
+ if (element == null) {
+ return null;
+ }
+ UuidAndTitleCache uuidAndTitleCache = (UuidAndTitleCache) element;
+ String titleCache = uuidAndTitleCache.getTitleCache();
+ String abbrevTitleCache = uuidAndTitleCache.getAbbrevTitleCache();
+ if (!abbrevTitleCache.equals(titleCache)){
+ abbrevTitleCache += " - " + titleCache;
+ }
+ if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_ID_IN_ENTITY_SELECTION_DIAOLOG)){
+ abbrevTitleCache += " ["+uuidAndTitleCache.getId()+"]";
+ }
+ return abbrevTitleCache;
+ }
+ };
+
+ @Override
+ protected Comparator getItemsComparator() {
+ return new Comparator<UuidAndTitleCache>() {
+ @Override
+ public int compare(UuidAndTitleCache entity1,
+ UuidAndTitleCache entity2) {
+ Collator collator = Collator.getInstance();
+ String compareString1 = "";
+ if (entity1.getAbbrevTitleCache() != null){
+ compareString1 = entity1.getAbbrevTitleCache();
+ }
+ if (entity1.getTitleCache() != null){
+ compareString1 += entity1.getTitleCache();
+ }
+ String compareString2 = "";
+ if (entity2.getAbbrevTitleCache() != null){
+ compareString2 = entity2.getAbbrevTitleCache();
+ }
+ if (entity2.getTitleCache() != null){
+ compareString2 += entity2.getTitleCache();
+ }
+ return collator.compare(compareString1, compareString2);
+ }
+ };
+ }
+
+
+
+}
*/
@Override
protected void initModel() {
- model = CdmStore.getService(IPolytomousKeyService.class).getUuidAndTitleCache();
+ model = CdmStore.getService(IPolytomousKeyService.class).getUuidAndTitleCache(null, null);
}
/* (non-Javadoc)
import java.util.UUID;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.IReferenceService;
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getService(IReferenceService.class).getUuidAndTitleCache();
+ Control control = getPatternControl();
+ String pattern = null;
+ if (control != null){
+ pattern = ((Text)control).getText();
+ }
+
+
+ model = CdmStore.getService(IReferenceService.class).getUuidAndTitleCache(limitOfInitialElements,pattern);
}
protected String getTitle(Reference cdmObject) {
if(cdmObject == null){
return "";
- }else if(cdmObject.getAuthorship() == null){
- return super.getTitle(cdmObject);
}else{
- return DefaultReferenceCacheStrategy.putAuthorToEndOfString(cdmObject.getTitleCache(), cdmObject.getAuthorship().getTitleCache());
+ return super.getTitle(cdmObject);
}
+// }else{
+// return DefaultReferenceCacheStrategy.putAuthorToEndOfString(cdmObject.getTitleCache(), cdmObject.getAuthorship().getTitleCache());
+// }
}
/** {@inheritDoc} */
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.IEntityElement;
+import eu.etaxonomy.taxeditor.ui.section.agent.TeamMemberElement;
import eu.etaxonomy.taxeditor.ui.section.name.AuthorshipDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailElement;
/**
* @author n.hoffmann
if(clazz.equals(TaxonNode.class)){
return (T) TaxonNodeSelectionDialog.select(shell, conversation, null, null, (TaxonNode) currentSelection, ((TaxonNode) currentSelection).getClassification());
}
+ if(clazz.equals(Reference.class) && parentElement instanceof NomenclaturalReferenceDetailElement){
+ return (T) NomenclaturalReferenceSelectionDialog.select(shell, conversation, (Reference) currentSelection);
+ }
if(clazz.equals(Reference.class)){
return (T) ReferenceSelectionDialog.select(shell, conversation, (Reference) currentSelection);
}
+
if(clazz.equals(TaxonNameBase.class)){
return (T) NameSelectionDialog.select(shell, conversation, (TaxonNameBase) currentSelection);
}
return (T) TeamSelectionDialog.select(shell, conversation, (Team) currentSelection);
}
if(clazz.equals(TeamOrPersonBase.class) && parentElement instanceof AuthorshipDetailElement){
- return (T) NomenclaturalAuthorSelectionDialog.select(shell, conversation, (AgentBase) currentSelection);
+ return (T) NomenclaturalAuthorSelectionDialog.select(shell, conversation, (AgentBase) currentSelection, false);
}else if(clazz.equals(TeamOrPersonBase.class)){
//TODO: add TeamOrPersonBaseSelectionDialog (see ticket #4545)
- return (T) AgentSelectionDialog.select(shell, conversation, (AgentBase) currentSelection);
+ return (T) AgentSelectionDialog.select(shell, conversation, (AgentBase) currentSelection, false);
}
-
+ if(clazz.equals(Person.class) && parentElement instanceof TeamMemberElement){
+ return (T) NomenclaturalPersonAuthorSelectionDialog.select(shell, conversation, (AgentBase) currentSelection, true);
+ }
if(clazz.equals(AgentBase.class)){
- return (T) AgentSelectionDialog.select(shell, conversation, (AgentBase) currentSelection);
+ return (T) AgentSelectionDialog.select(shell, conversation, (AgentBase) currentSelection, false);
}
if(clazz.equals(Feature.class)){
return (T) FeatureSelectionDialog.select(shell, conversation, (Feature) currentSelection);
}
if(clazz.equals(NamedArea.class)){
if(parentElement instanceof IEntityElement && ((IEntityElement) parentElement).getEntity() instanceof DerivedUnitFacade){
- return (T) NamedAreaSelectionDialog.select(shell, conversation, (NamedArea) currentSelection, Country.uuidCountryVocabulary);
+ return (T) NamedAreaSelectionDialog.select(shell, conversation, (NamedArea) currentSelection, DerivedUnit.class.getCanonicalName(), Country.uuidCountryVocabulary);
}
else{
- return (T) NamedAreaSelectionDialog.select(shell, conversation, (NamedArea) currentSelection);
+ return (T) NamedAreaSelectionDialog.select(shell, conversation, (NamedArea) currentSelection, parentElement.getClass().getCanonicalName());
}
}
if(clazz.equals(Collection.class)){
/** {@inheritDoc} */
@Override
protected void initModel() {
- model = CdmStore.getService(IOccurrenceService.class).getUuidAndTitleCache();
+ model = CdmStore.getService(IOccurrenceService.class).getUuidAndTitleCache(null, null);
}
/** {@inheritDoc} */
package eu.etaxonomy.taxeditor.ui.dialog.selection;
+import java.util.List;
import java.util.UUID;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
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.cdm.persistence.dto.UuidAndTitleCache;
import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
import eu.etaxonomy.taxeditor.newWizard.NewTaxonWizard;
import eu.etaxonomy.taxeditor.store.CdmStore;
}
/** {@inheritDoc} */
- @Override
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ @Override
protected void initModel() {
- 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();
+ Control control = getPatternControl();
+ String pattern = null;
+ if (control != null){
+ pattern = ((Text)control).getText();
}
+
+
+
+ model = (List)CdmStore.getService(ITaxonService.class).getUuidAndTitleCache(Taxon.class, limitOfInitialElements, pattern);
}
/** {@inheritDoc} */
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.IClassificationService;
// default to first tree
// TODO this will be problematic and can only be seen as workaround
+ Control control = getPatternControl();
+ String pattern = null;
+ if (control != null){
+ pattern = ((Text)control).getText();
+ }
+
if(classifications == null){
classifications = CdmStore.getService(IClassificationService.class).list(null, null, null, null, null);
}
}
- model = CdmStore.getService(IClassificationService.class).getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(selectedClassification.getUuid(), excludeTaxa);
+ //FIXME prelim
+ pattern = pattern + "*";
+ model = CdmStore.getService(IClassificationService.class).getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(selectedClassification.getUuid(), limitOfInitialElements, pattern);
}
/** {@inheritDoc} */
import org.eclipse.swt.widgets.TypedListener;
import org.eclipse.swt.widgets.Widget;
import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.events.IExpansionListener;
import org.eclipse.ui.forms.widgets.Section;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
import org.eclipse.ui.forms.widgets.ToggleHyperlink;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
/**
* <p>
*/
public void setEntity(ENTITY entity) {
this.entity = entity;
+ addExpandListener();
}
/*
}
/** {@inheritDoc} */
-
@Override
public void update(CdmDataChangeMap changeEvents) {
}
+
+ private class ExpandListener implements IExpansionListener{
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ }
+ @Override
+ public void expansionStateChanged(ExpansionEvent e) {
+ PreferencesUtil.getPreferenceStore().setValue(getPrefKey(), e.getState());
+ }
+ }
+
+ /**
+ * Adds a custom implementation of IExpansionListener to this section
+ * which stores the expansion state in the preferences
+ */
+ private void addExpandListener() {
+ PreferencesUtil.getPreferenceStore().setDefault(getPrefKey(), isExpanded());
+ setExpanded(PreferencesUtil.getPreferenceStore().getBoolean(getPrefKey()));
+ addExpansionListener(new ExpandListener());
+ }
+
+ private String getPrefKey() {
+ return this.getClass().getCanonicalName()+";"+entity.getClass().getCanonicalName();
+ }
}
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.common.Marker;
+import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.common.TermBase;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.common.TimePeriod;
import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailSection;
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailElement;
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailElement;
-import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailElement;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailElement;
import eu.etaxonomy.taxeditor.ui.section.supplemental.SourceSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionElement;
import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.identifier.DerivedUnitFacadeIdentifierSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.identifier.IdentifierElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.identifier.IdentifierSection;
import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessageElement;
import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection;
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailElement;
return element;
}
+ /**
+ * <p>
+ * createMultiLanguageTextElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ *
+ * @param Representation
+ * a {@link eu.etaxonomy.cdm.model.common.Representation} object.
+ * @param textHeight
+ * a int.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement}
+ * object.
+ */
+ public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style, boolean fillDetails) {
+ RepresentationElement element = new RepresentationElement(this, parentElement, representation, term, textHeight, style, fillDetails);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+
+ /**
+ * <p>
+ * createMultiLanguageTextElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ *
+ * @param Representation
+ * a {@link eu.etaxonomy.cdm.model.common.Representation} object.
+ * @param textHeight
+ * a int.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement}
+ * object.
+ */
+ public TranslatableRepresentationElement createTranslatableRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style, boolean fillDetails) {
+ TranslatableRepresentationElement element = new TranslatableRepresentationElement(this, parentElement, representation, term, textHeight, style, fillDetails);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+
+ /**
+ * <p>
+ * createMultiLanguageTextElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ *
+ * @param term
+ * a {@link eu.etaxonomy.cdm.model.common.Representation} object.
+ * @param textHeight
+ * a int.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement}
+ * object.
+ */
+ public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, TermBase term, int textHeight, int style, boolean fillDetails) {
+ RepresentationElement element = new RepresentationElement(this, parentElement, term, textHeight, style, fillDetails);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+
+ /**
+ * <p>
+ * createMultiLanguageTextElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ *
+ * @param term
+ * a {@link eu.etaxonomy.cdm.model.common.Representation} object.
+ * @param textHeight
+ * a int.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement}
+ * object.
+ */
+ public TranslatableRepresentationElement createTranslatableRepresentationElement(ICdmFormElement parentElement, TermBase term, int textHeight, int style, boolean fillDetails) {
+ TranslatableRepresentationElement element = new TranslatableRepresentationElement(this, parentElement, term, textHeight, style, fillDetails);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+
public KeyStatementElement createKeyStatementElement(ICdmFormElement parentElement, String labelString,
KeyStatement keyStatement, int textHeight, int style) {
KeyStatementElement element = new KeyStatementElement(this, parentElement, labelString, keyStatement,
String labelString,
T selection,
int style) {
- TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termType, labelString, selection, true, style);
+ TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termType, labelString, selection, true, style, false);
adapt(element);
parentElement.addElement(element);
return element;
T selection,
boolean addEmptyElement,
int style) {
- TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termType, labelString, selection, addEmptyElement, style);
+ TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termType, labelString, selection, addEmptyElement, style, false);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+ public <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
+ TermType termType,
+ ICdmFormElement parentElement,
+ String labelString,
+ T selection,
+ boolean addEmptyElement,
+ int style, boolean useAbbrevLabel) {
+ TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termType, labelString, selection, addEmptyElement, style, useAbbrevLabel);
adapt(element);
parentElement.addElement(element);
return element;
}
+
public <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
TermVocabulary<?> termVocabulary,
return element;
}
- public TeamDetailElement createTeamDetailElement(ICdmFormElement parentElement, int style){
- TeamDetailElement element = new TeamDetailElement(this, parentElement, style);
+ public TeamDetailElement createTeamDetailElement(ICdmFormElement parentElement, int style, boolean isNomenclatural){
+ TeamDetailElement element = new TeamDetailElement(this, parentElement, style, isNomenclatural);
addAndAdaptElement(parentElement, element);
return element;
}
}
//--------EntityCollectionSection----------
- public TeamMemberSection createTeamMemberSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
- TeamMemberSection section = new TeamMemberSection(this, conversation, parentElement, style);
+ public TeamMemberSection createTeamMemberSection(ConversationHolder conversation, ICdmFormElement parentElement, int style, boolean isNomenclatural){
+ TeamMemberSection section = new TeamMemberSection(this, conversation, parentElement, style, isNomenclatural);
addAndAdaptSection(parentElement, section);
return section;
}
return section;
}
- public IdentifierDetailSection createIdentifierDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
- IdentifierDetailSection section = new IdentifierDetailSection(this, conversation, parentElement, style);
+ public IdentifierSection createIdentifierDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+ IdentifierSection section = new IdentifierSection(this, conversation, parentElement, style);
addAndAdaptSection(parentElement, section);
return section;
}
+ public DerivedUnitFacadeIdentifierSection createDerivedUnitFacadeIdentifierSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+ DerivedUnitFacadeIdentifierSection section = new DerivedUnitFacadeIdentifierSection(this, conversation, parentElement, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
public CurrentSampleDesignationDetailSection createCurrentSampleDesignationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
CurrentSampleDesignationDetailSection section = new CurrentSampleDesignationDetailSection(this, conversation, parentElement, style);
addAndAdaptSection(parentElement, section);
if (entity instanceof Annotation) {
element = new AnnotationElement(this, parentElement, (Annotation) entity, removeListener, style);
- }else if (entity instanceof Person) {
- element = new TeamMemberElement(this, parentElement, (Person) entity, removeListener, style);
+ }else if (entity instanceof Person ) {
+ boolean isNomenclatural = false;
+ if (parentElement instanceof TeamMemberSection){
+ isNomenclatural = ((TeamMemberSection) parentElement).isNomenclaturalTeam();
+ }
+ element = new TeamMemberElement(this, parentElement, (Person) entity, removeListener, style, isNomenclatural);
} else if (entity instanceof Credit) {
element = new CreditElement(this, parentElement, (Credit) entity, removeListener, style);
} else if (entity instanceof Extension) {
element = new SampleDesignationTextDetailElement(this, parentElement, (Identifier<DnaSample>) entity, removeListener, backgroundColor, style);
}
else{
- element = new IdentifierDetailElement(this, parentElement, (Identifier) entity, removeListener, style);
+ element = new IdentifierElement(this, parentElement, (Identifier) entity, removeListener, style);
}
} else if (entity instanceof TermVocabulary) {
TermVocabulary<?> termVocabulary = (TermVocabulary<?>)entity;
return element;
}
- public NomenclaturalAuthorTeamSelectionElement createNomenclaturalAuthorTeamSelectionElement(
- ConversationHolder conversation, ICdmFormElement parentElement, String labelString, Team selection,
- int mode, int style) {
- NomenclaturalAuthorTeamSelectionElement element = new NomenclaturalAuthorTeamSelectionElement(this,
- conversation, parentElement, labelString, selection, mode, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+// public NomenclaturalAuthorTeamSelectionElement createNomenclaturalAuthorTeamSelectionElement(
+// ConversationHolder conversation, ICdmFormElement parentElement, String labelString, Team selection,
+// int mode, int style) {
+// NomenclaturalAuthorTeamSelectionElement element = new NomenclaturalAuthorTeamSelectionElement(this,
+// conversation, parentElement, labelString, selection, mode, style);
+// adapt(element);
+// parentElement.addElement(element);
+// return element;
+// }
/** {@inheritDoc} */
public LabelElement createLabel(ICdmFormElement parentElement, String text) {
return section;
}
+ /**
+ * @param conversationHolder
+ * @param formElement
+ * @param expanded
+ * @return
+ */
+ public TeamMemberSection createNomenclaturalTeamMemberSection(ConversationHolder conversationHolder,
+ ICdmFormElement formElement, int expanded) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.taxeditor.model.DefaultTermComparator;
+import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
import eu.etaxonomy.taxeditor.ui.translation.TranslationWizard;
/**
public void widgetSelected(SelectionEvent e) {
Map<Language, LanguageString> multilanguageText = getMultilanguageText();
- if (multilanguageText == null){
- MessagingUtils.warningDialog("No text to transalte", getClass(), "The text is empty and therefore can not be translated");
+ if (multilanguageText.isEmpty()){
+ MessagingUtils.warningDialog("No text to translate", getClass(), "The text is empty and therefore can not be translated");
+ return;
}
TranslationWizard wizard = new TranslationWizard(multilanguageText);
protected LanguageStringWithLabelElement element_languageString;
private Button button;
+
+// private Button removeRepresentation;
private Map<Language, LanguageString> multilanguageText;
combo_language = formFactory.createDefinedTermComboElement(TermType.Language, formElement,
"", null, style);
combo_language.addSelectionListener(this);
+// removeRepresentation = formFactory.createButton(getLayoutComposite(), null,
+// SWT.PUSH);
+// removeRepresentation.setImage(ImageResources
+// .getImage(ImageResources.TRASH_ICON));
+// removeRepresentation.setToolTipText("Remove representation");
+// addControl(removeRepresentation);
+// removeRepresentation.addSelectionListener(new DeleteListener(this));
addControl(formFactory.createLabel(getLayoutComposite(), ""));
button = formFactory.createButton(getLayoutComposite(),
"Open In Translation Editor", SWT.PUSH);
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event));
}
}
+
+
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2016 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.ui.element;
+
+/**
+ * @author k.luther
+ * @date 22.06.2016
+ *
+ */
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.common.TermBase;
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.taxeditor.model.DefaultTermComparator;
+import eu.etaxonomy.taxeditor.model.ImageResources;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
+
+
+public class RepresentationElement extends AbstractCdmFormElement implements
+SelectionListener{
+
+ protected TermComboElement<Language> combo_language;
+
+ protected TextWithLabelElement element_Label;
+ protected TextWithLabelElement element_abbrevLabel;
+ protected TextWithLabelElement element_text;
+
+ protected Button button;
+
+ protected Representation selectedRepresentation;
+ protected TermBase term;
+
+ private Button removeRepresentation;
+
+ // protected final boolean isTranslationWizard;
+
+
+ /**
+ * <p>
+ * Constructor for MultilanguageTextElement.
+ * </p>
+ *
+ * @param formFactory
+ * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
+ * object.
+ * @param formElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ *
+ * @param term
+ * a {@link eu.etaxonomy.cdm.model.common.TermBase} object.
+ * @param textHeight
+ * a {@link java.lang.Integer} object.
+ * @param style
+ * a int.
+ */
+ public RepresentationElement(CdmFormFactory formFactory,
+ ICdmFormElement formElement, TermBase term,
+ Integer textHeight, int style, boolean fill) {
+ super(formFactory, formElement);
+
+ formFactory.addPropertyChangeListener(this);
+
+ element_Label = this.formFactory.createTextWithLabelElement(formElement, "Label", null, style);
+ element_abbrevLabel = this.formFactory
+ .createTextWithLabelElement(formElement, "abbrev. Label",
+ null, style);
+ element_text = this.formFactory.createMultiLineTextWithLabel(formElement, "Description", textHeight, style);
+ if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
+ createRepresentationEditingElements(formElement, style);
+ }
+ setTerm(term, fill);
+
+ }
+
+ /**
+ * <p>
+ * Constructor for MultilanguageTextElement.
+ * </p>
+ *
+ * @param formFactory
+ * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
+ * object.
+ * @param formElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param representation
+ * a {@link eu.etaxonomy.cdm.model.common.Representation} object.
+ * @param term
+ * a {@link eu.etaxonomy.cdm.model.common.TermBase} object.
+ * @param textHeight
+ * a {@link java.lang.Integer} object.
+ * @param style
+ * a int.
+ */
+ public RepresentationElement(CdmFormFactory formFactory,
+ ICdmFormElement formElement, Representation representation, TermBase term,
+ Integer textHeight, int style, boolean fill) {
+ super(formFactory, formElement);
+
+ formFactory.addPropertyChangeListener(this);
+
+ element_Label = this.formFactory.createTextWithLabelElement(formElement, "Label", null, style);
+ element_abbrevLabel = this.formFactory
+ .createTextWithLabelElement(formElement, "abbrev. Label",
+ null, style);
+ element_text = this.formFactory.createMultiLineTextWithLabel(formElement, "Description", textHeight, style);
+ if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
+ createRepresentationEditingElements(formElement, style);
+ }
+ setTerm(term, fill);
+ setSelectedRepresentation(representation);
+
+
+ }
+
+ protected void createRepresentationEditingElements(
+ ICdmFormElement formElement, int style) {
+ removeRepresentation = formFactory.createButton(getLayoutComposite(), null,
+ SWT.PUSH);
+ removeRepresentation.setImage(ImageResources
+ .getImage(ImageResources.TRASH_ICON));
+ removeRepresentation.setToolTipText("Remove representation");
+ removeRepresentation.addSelectionListener(new DeleteListener(this));
+ addControl(removeRepresentation);
+
+ combo_language = formFactory.createDefinedTermComboElement(TermType.Language, formElement,
+ "", null, false, style);
+
+ combo_language.addSelectionListener(this);
+
+ //addControl(formFactory.createLabel(getLayoutComposite(), ""));
+ }
+
+ public List<Language> getLanguages() {
+
+ ArrayList<Language> languageList = new ArrayList<Language>();
+ for (Representation rep: term.getRepresentations()){
+ languageList.add(rep.getLanguage());
+ }
+
+ Collections.sort(languageList, new DefaultTermComparator<Language>());
+
+ return languageList;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt
+ * .events.SelectionEvent)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ Language selectedLanguage = combo_language.getSelection();
+ if (selectedLanguage != null) {
+ selectedRepresentation = getTerm().getRepresentation(
+ selectedLanguage);
+ if (selectedRepresentation == null){
+ selectedRepresentation = Representation.NewInstance("", "", "", selectedLanguage);
+ }
+ element_Label.setText(selectedRepresentation.getLabel());
+ element_abbrevLabel.setText(selectedRepresentation.getAbbreviatedLabel());
+ element_text.setText(selectedRepresentation.getDescription());
+
+ }else {
+
+ element_Label.setEnabled(false);
+ element_abbrevLabel.setEnabled(false);
+ element_text.setEnabled(false);
+ }
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse
+ * .swt.events.SelectionEvent)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+
+ /**
+ * <p>
+ * Setter for the field <code>multilanguageText</code>.
+ * </p>
+ *
+ * @param multilanguageText
+ * the multilanguageText to set
+ */
+ public void setTerm(
+ TermBase term, boolean update) {
+ this.term = term;
+ if (term.getRepresentations().isEmpty()){
+ //if the term has no representation at all, create a default one.
+ Representation rep = Representation.NewInstance("", "empty representation", "", PreferencesUtil.getGlobalLanguage());
+ term.addRepresentation(rep);
+ }
+
+ if (selectedRepresentation != null) {
+ combo_language.setTerms(getLanguages());
+
+ } else{
+ element_Label.setEnabled(false);
+ element_abbrevLabel.setEnabled(false);
+ element_text.setEnabled(false);
+ if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
+ removeRepresentation.setEnabled(false);
+ }
+ }
+ if (update){
+ updateControls();
+ }
+ }
+
+ /**
+ *
+ */
+ protected void updateControls() {
+ Representation preferredRepresentation = term
+ .getPreferredRepresentation(PreferencesUtil.getGlobalLanguage() );
+
+ element_Label.setText(preferredRepresentation.getLabel());
+ element_abbrevLabel.setText(preferredRepresentation.getAbbreviatedLabel());
+ element_text.setText(preferredRepresentation.getDescription());
+ selectedRepresentation = preferredRepresentation;
+ if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
+ combo_language.setSelection(preferredRepresentation == null?CdmStore.getDefaultLanguage():preferredRepresentation.getLanguage());
+ boolean removePossible = term.getRepresentations().size() > 1 ;
+ removeRepresentation.setEnabled(removePossible);
+
+ }
+ }
+
+ /**
+ * <p>
+ * Getter for the field <code>multilanguageText</code>.
+ * </p>
+ *
+ * @return the multilanguageText
+ */
+ public TermBase getTerm() {
+ return term;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement#propertyChange(org
+ * .eclipse.jface.util.PropertyChangeEvent)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
+ if (event == null) {
+ return;
+ }
+ Object eventSource = event.getSource();
+
+ if (eventSource == element_abbrevLabel) {
+ String abbrevLabel = ((TextWithLabelElement) eventSource)
+ .getText();
+ selectedRepresentation.setAbbreviatedLabel(abbrevLabel);
+ firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event));
+ } else if (eventSource == element_Label){
+ String label = ((TextWithLabelElement) eventSource)
+ .getText();
+ selectedRepresentation.setLabel(label);
+ firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event));
+ } else if (eventSource == element_text){
+ String text = ((TextWithLabelElement) eventSource)
+ .getText();
+ selectedRepresentation.setText(text);
+ firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event));
+ } else if (eventSource == button){
+ firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event));
+ } else if (eventSource == combo_language){
+ if (combo_language.getSelection() != null){
+ element_Label.setEnabled(true);
+ element_abbrevLabel.setEnabled(true);
+ element_text.setEnabled(true);
+ boolean removePossible = term.getRepresentations().size() > 1 ;
+ removeRepresentation.setEnabled(removePossible);
+ } else{
+ element_Label.setEnabled(false);
+ element_abbrevLabel.setEnabled(false);
+ element_text.setEnabled(false);
+ removeRepresentation.setEnabled(false);
+ }
+ firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event));
+ }
+ }
+
+ /**
+ * @return the selectedRepresentation
+ */
+ public Representation getSelectedRepresentation() {
+ return selectedRepresentation;
+ }
+
+ /**
+ * @param selectedRepresentation the selectedRepresentation to set
+ */
+ public void setSelectedRepresentation(Representation selectedRepresentation) {
+ if (selectedRepresentation == null){
+ selectedRepresentation = Representation.NewInstance("", "", "", null);
+ }
+ this.selectedRepresentation = selectedRepresentation;
+ }
+
+ private class DeleteListener extends SelectionAdapter {
+
+ private final RepresentationElement element;
+
+ public DeleteListener(RepresentationElement element) {
+ this.element = element;
+ }
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ term.removeRepresentation(selectedRepresentation);
+ firePropertyChangeEvent(new CdmPropertyChangeEvent(
+ this, e));
+ updateControls();
+ }
+ }
+ }
+
+
* @return a {@link java.lang.String} object.
*/
public String getText() {
- return text.getText();
+
+ return CdmUtils.Nb(text.getText());
}
/**
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2016 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.ui.element;
+
+import org.eclipse.jface.window.Window;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+
+import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.common.TermBase;
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermTranslationWizard;
+
+/**
+ * @author k.luther
+ * @date 23.06.2016
+ *
+ */
+public class TranslatableRepresentationElement extends RepresentationElement {
+
+ /**
+ * @param formFactory
+ * @param formElement
+ * @param representation
+ * @param term
+ * @param textHeight
+ * @param style
+ * @param isTranslationWizard
+ */
+ public TranslatableRepresentationElement(CdmFormFactory formFactory, ICdmFormElement formElement,
+ Representation representation, TermBase term, Integer textHeight, int style, boolean fill) {
+ super(formFactory, formElement, representation, term, textHeight, style, fill);
+
+
+ }
+
+
+ /**
+ * @param cdmFormFactory
+ * @param parentElement
+ * @param term
+ * @param textHeight
+ * @param style
+ */
+ public TranslatableRepresentationElement(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement,
+ TermBase term, int textHeight, int style, boolean fill) {
+ super(cdmFormFactory, parentElement, term, textHeight, style, fill);
+ }
+
+
+ private class OpenTranslationWizard extends SelectionAdapter {
+
+ public OpenTranslationWizard() {
+ super();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse
+ * .swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ TermBase term = getTerm();
+
+ if (term == null){
+ MessagingUtils.warningDialog("No term to translate", getClass(), "The term is empty and therefore can not be translated");
+ }
+
+ TermTranslationWizard wizard = new TermTranslationWizard(term);
+ WizardDialog dialog = new WizardDialog(getLayoutComposite()
+ .getShell(), wizard);
+
+ if (dialog.open() == Window.OK) {
+ combo_language.setTerms(getLanguages());
+ updateControls();
+ }
+
+ firePropertyChangeEvent( e);
+
+ }
+ }
+ @Override
+ protected void createRepresentationEditingElements(ICdmFormElement formElement, int style) {
+ super.createRepresentationEditingElements(formElement, style );
+ button = formFactory.createButton(getLayoutComposite(),
+ "Open In Translation Editor", SWT.PUSH);
+ addControl(button);
+ button.setLayoutData(LayoutConstants.RIGHT());
+ button.addSelectionListener(new OpenTranslationWizard());
+
+ }
+
+ @Override
+ public void setTerm(
+ TermBase term, boolean update) {
+ super.setTerm(term, update);
+ if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
+ button.setEnabled(false);
+ }
+ updateControls();
+ }
+
+
+ /**
+ *
+ */
+ @Override
+ protected void updateControls() {
+ super.updateControls();
+ if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
+ button.setEnabled(true);
+ combo_language.setTerms(getLanguages());
+ combo_language.setSelection(selectedRepresentation.getLanguage());
+ }
+
+ }
+
+
+}
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* 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.
*/
import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.Messages;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
private Button button;
private ConversationHolder conversation;
-
- /**
- * @param formFactory
- * @param formElement
- */
+
public EditPasswordElement(CdmFormFactory formFactory,
ICdmFormElement formElement, String labelString, User user, ConversationHolder conversation) {
super(formFactory, formElement);
-
+
this.conversation = conversation;
this.user = user;
-
+
Label label = formFactory.createLabel(getLayoutComposite(), null);
addControl(label);
-
- String buttonLabelString = (labelString != null) ? labelString : "Change Password";
-
+
+ String buttonLabelString = (labelString != null) ? labelString : Messages.PasswordWizardPage_CHANGE_PASSWORD;
+
button = formFactory.createButton(getLayoutComposite(), buttonLabelString, SWT.PUSH);
button.setLayoutData(LayoutConstants.RIGHT());
addControl(button);
-
+
button.addSelectionListener(this);
}
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
@Override
public void widgetSelected(SelectionEvent e) {
if(!CdmStore.getService(IUserService.class).userExists(user.getUsername())) {
- MessagingUtils.warningDialog("Username does not exist", this, "Please create or save user '" + user.getUsername() + "' before changing password");
+ MessagingUtils.warningDialog(Messages.EditPasswordElement_USERNAME_DOES_NOT_EXIST, this, String.format(Messages.EditPasswordElement_PLEASE_CREATE_OR_SAVE_USER, user.getUsername()));
} else {
PasswordWizard wizard = new PasswordWizard(user, conversation);
- WizardDialog dialog = new WizardDialog(getLayoutComposite().getShell(), wizard);
+ WizardDialog dialog = new WizardDialog(getLayoutComposite().getShell(), wizard);
dialog.open();
}
}
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
- */
@Override
public void widgetDefaultSelected(SelectionEvent e) {}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
- */
@Override
public void update(CdmDataChangeMap arg0) {}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder()
- */
@Override
public ConversationHolder getConversationHolder() {
return conversation;
import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.Messages;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
public PasswordWizard(User user, ConversationHolder conversation){
this.conversation = conversation;
this.user = user;
+ setWindowTitle(Messages.PasswordWizardPage_CHANGE_PASSWORD);
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.wizard.Wizard#addPages()
- */
@Override
public void addPages() {
CdmFormFactory formFactory = new CdmFormFactory(Display.getDefault());
addPage(passwordPage);
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.wizard.Wizard#performFinish()
- */
@Override
public boolean performFinish() {
ConversationHolder internalConversation = CdmStore.getCurrentApplicationConfiguration().NewConversation();
internalConversation.bind();
internalConversation.startTransaction();
- try{
+ String warningTitle = Messages.PasswordWizard_COULD_NOT_CHANGE_PWD;
+ String warningMessage = Messages.PasswordWizard_OLD_PWD_INCORRECT;
+ try{
if(passwordPage.isChangingOwnPassword()){
// change own password with validating of old one
CdmStore.getService(IUserService.class).changePassword(passwordPage.getOldPassword(), passwordPage.getNewPassword());
internalConversation.close();
return true;
}catch(AccessDeniedException e){
- MessagingUtils.warningDialog("Could not change password", this, "The old password is not correct.");
+ MessagingUtils.warningDialog(warningTitle, this, warningMessage);
return false;
}catch (AuthenticationException e){
- MessagingUtils.warningDialog("Could not change password", this, "The old password is not correct.");
+ MessagingUtils.warningDialog(warningTitle, this, warningMessage);
return false;
}catch(Exception e){
- MessagingUtils.warningDialog("Problem with changing password", this, "The password could not be changed. " + e.getMessage());
+ MessagingUtils.warningDialog(Messages.PasswordWizard_PROBLEM_WITH_CHANGING_PWD, this, Messages.PasswordWizard_PWD_COULD_NOT_BE_CHANGED + e.getMessage());
return false;
}finally{
if(conversation != null){
}
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
- */
@Override
public void update(CdmDataChangeMap arg0) {
- // TODO Auto-generated method stub
-
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder()
- */
@Override
public ConversationHolder getConversationHolder() {
return conversation;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.taxeditor.Messages;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
/**
- * <p>UserWizardPage class.</p>
- *
* @author n.hoffmann
* @created 02.07.2009
* @version 1.0
*/
public class PasswordWizardPage extends AbstractCdmEntityWizardPage<User> implements ModifyListener{
- /** Constant <code>NAME="USER_WIZARD_PAGE"</code> */
- public static final String NAME = "USER_WIZARD_PAGE";
-
private TextWithLabelElement text_oldPassword;
private TextWithLabelElement text_password;
private TextWithLabelElement text_passwordRepeat;
private final PasswordValidator passwordValidator;
- private final UniqueUserNameValidator uniqueUsernameValidator;
-
- /**
- * @param formFactory
- * @param conversation
- * @param entity
- */
protected PasswordWizardPage(CdmFormFactory formFactory,
ConversationHolder conversation, User entity) {
super(formFactory, conversation, entity);
passwordValidator = new PasswordValidator();
- uniqueUsernameValidator = new UniqueUserNameValidator();
+
+ setTitle(Messages.PasswordWizardPage_CHANGE_PASSWORD);
+ setDescription(Messages.PasswordWizardPage_CHANGE_PASSWORD_AND_CONFIRM);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage#createControl(org.eclipse.swt.widgets.Composite)
- */
@Override
public void createControl(Composite parent) {
Composite control = formFactory.createComposite(parent);
WizardPageRootElement rootElement = new WizardPageRootElement(formFactory, control, getConversationHolder());
if(isChangingOwnPassword()) {
- text_oldPassword = formFactory.createTextWithLabelElement(rootElement, "Old Password", null, SWT.PASSWORD);
+ text_oldPassword = formFactory.createTextWithLabelElement(rootElement, Messages.PasswordWizardPage_OLD_PASSWORD, null, SWT.PASSWORD);
}
- text_password = formFactory.createTextWithLabelElement(rootElement, "New Password", null, SWT.PASSWORD);
- text_passwordRepeat = formFactory.createTextWithLabelElement(rootElement, "Repeat Password", null, SWT.PASSWORD);
+ text_password = formFactory.createTextWithLabelElement(rootElement, Messages.PasswordWizardPage_NEW_PASSWORD, null, SWT.PASSWORD);
+ text_passwordRepeat = formFactory.createTextWithLabelElement(rootElement, Messages.PasswordWizardPage_REPEAT_PASSWORD, null, SWT.PASSWORD);
((Text)text_passwordRepeat.getMainControl()).addModifyListener(this);
+ Color bgColor = getShell().getBackground();
+ rootElement.setBackground(bgColor);
+ control.setBackground(bgColor);
setControl(control);
}
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage#createElement(eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement)
- */
@Override
public AbstractCdmDetailElement<User> createElement(
ICdmFormElement rootElement) {
return null;
}
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
- */
/** {@inheritDoc} */
@Override
public void modifyText(ModifyEvent e) {
setErrorMessage(message);
}
- private class UniqueUserNameValidator implements IInputValidator{
-
- private static final String USER_EXISTS = "Username already exists";
- private static final String NAME_TO_SHORT = "Username is empty";
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.dialogs.IInputValidator#isValid(java.lang.String)
- */
- @Override
- public String isValid(String newText) {
- // query for username
- if(newText.length() < 1){
- setPageComplete(false);
- return NAME_TO_SHORT;
- }
- if(CdmStore.getService(IUserService.class).userExists(newText)){
- setPageComplete(false);
- return USER_EXISTS;
- }
-
- setPageComplete(true);
- return null;
- }
- }
-
private class PasswordValidator implements IInputValidator{
- private static final int PW_MIN_LENGTH = 5;
+ private final int PW_MIN_LENGTH = 5;
- private static final String TO_SHORT = "Password has to have at least " + PW_MIN_LENGTH + " characters";
- private static final String NO_MATCH = "The passwords do not match";
+ private final String TO_SHORT = String.format(Messages.PasswordWizardPage_PASSWORD_MIN_CHARACTER, PW_MIN_LENGTH);
+ private final String NO_MATCH = Messages.PasswordWizardPage_PASSWORDS_DO_NOT_MATCH;
- /* (non-Javadoc)
- * @see org.eclipse.jface.dialogs.IInputValidator#isValid(java.lang.String)
- */
@Override
public String isValid(String newText) {
if(newText.length() < PW_MIN_LENGTH){
}
- /**
- * @return
- */
public String getOldPassword() {
return text_oldPassword.getText();
}
- /**
- * @return
- */
public String getNewPassword() {
return text_password.getText();
}
import org.eclipse.ui.forms.widgets.TableWrapLayout;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.description.TextData;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
protected void setSectionTitle() {
String title = "";
+ String label = "";
if (getEntity() != null && (getEntity() instanceof IdentifiableEntity) && !(getEntity() instanceof SpecimenOrObservationBase)) {
- title = ": " + ((IdentifiableEntity) getEntity()).getTitleCache();
+ if (getEntity() instanceof DefinedTermBase<?> ){
+ label = ((DefinedTermBase<?>)getEntity()).getLabel(PreferencesUtil.getGlobalLanguage());
+ if (label == null){
+ label = ((DefinedTermBase<?>)getEntity()).getLabel();
+ }
+
+ } else if (getEntity() instanceof TextData){
+ label = ((TextData)getEntity()).getLanguageText(PreferencesUtil.getGlobalLanguage()).getText();
+ if (label == null){
+ label = ((TextData)getEntity()).getLanguageText(Language.DEFAULT()).getText();
+ }
+ } else{
+ label =((IdentifiableEntity) getEntity()).getTitleCache();
+ }
+ title = ": " + label;
+
// we have to duplicate ampersands otherwise they are treated as
// mnenomic (see Label.setText() documentation)
// see also #4302
* Override in subclasses if you want to have a different behaviour.
*/
protected void setSectionTitle() {
- if(getCollection(getEntity()) != null && getCollection(getEntity()).size() > 0){
+ Collection<ELEMENT> collection = getCollection(getEntity());
+ if(collection != null && collection.size() > 0){
this.setText(getTitleString() + " +");
}else{
this.setText(getTitleString());
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
*/
private static final EnumSet<CRUD> UPDATE = EnumSet.of(CRUD.UPDATE);
protected ToggleableTextElement toggleable_cache;
+ protected boolean isAdvancedView ;
public AbstractIdentifiableEntityDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
super(formFactory, formElement);
updateToggleableCacheState();
+ initIsAdvancedDetailsView();
}
public void updateToggleableCacheField() {
- if (!getEntity().isProtectedTitleCache()) {
- toggleable_cache.setText(getEntity().generateTitle());
+ if (toggleable_cache != null){
+ if (!getEntity().isProtectedTitleCache()) {
+ toggleable_cache.setText(getEntity().generateTitle());
+ }
}
}
toggleable_cache.setEnabled(getEntity() != null && CdmStore.currentAuthentiationHasPermission((CdmBase) getEntity(), UPDATE));
}
}
+ protected void initIsAdvancedDetailsView(){
+ if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION)){
+ isAdvancedView = false;
+ } else{
+ isAdvancedView = true;
+ }
+
+
+
+ }
}
private CheckboxElement hasAdditionalMembers;
private TeamMemberSection section_teamMembers;
+ private boolean isNomenclaturalTeam;
/**
* <p>
* a int.
*/
public TeamDetailElement(CdmFormFactory cdmFormFactory,
- ICdmFormElement formElement, int style) {
+ ICdmFormElement formElement, int style, boolean isNomenclatural) {
super(cdmFormFactory, formElement);
+ this.isNomenclaturalTeam = isNomenclatural;
}
/** {@inheritDoc} */
toggleable_cache = formFactory.createToggleableTextField(formElement, "Title Cache", entity.getTitleCache(), entity.isProtectedTitleCache(), style);
toggleable_nomenclaturalTitleCache = formFactory.createToggleableTextField(formElement, "Abbrev. Title", entity.getNomenclaturalTitle(), entity.isProtectedNomenclaturalTitleCache(), style);
hasAdditionalMembers = formFactory.createCheckbox(formElement, "Additional Members", entity.isHasMoreMembers(), style);
- section_teamMembers = formFactory.createTeamMemberSection(getConversationHolder(), formElement, ExpandableComposite.EXPANDED);
+ section_teamMembers = formFactory.createTeamMemberSection(getConversationHolder(), formElement, ExpandableComposite.EXPANDED, isNomenclaturalTeam);
section_teamMembers.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
}
@Override
protected void updateContent() {
super.updateContent();
-
- toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
- toggleable_nomenclaturalTitleCache.setEnabled(getEntity()
+ if (toggleable_cache != null){
+ toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
+ }
+ if (toggleable_nomenclaturalTitleCache != null){
+ toggleable_nomenclaturalTitleCache.setEnabled(getEntity()
.isProtectedNomenclaturalTitleCache());
- setIrrelevant(
- toggleable_cache.getState(),
- Arrays.asList(new Object[] { toggleable_cache,
- toggleable_nomenclaturalTitleCache , hasAdditionalMembers}));
+ }
+ if (toggleable_nomenclaturalTitleCache != null && toggleable_cache != null){
+ setIrrelevant(
+ toggleable_cache.getState(),
+ Arrays.asList(new Object[] { toggleable_cache,
+ toggleable_nomenclaturalTitleCache , hasAdditionalMembers}));
+ } else if (toggleable_cache != null){
+ setIrrelevant(
+ toggleable_cache.getState(),
+ Arrays.asList(new Object[] { toggleable_cache, hasAdditionalMembers}));
+ }
section_teamMembers.setEntity(getEntity());
getEntity().setNomenclaturalTitle(toggleable_nomenclaturalTitleCache.getText(), pushedState);
setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache }));
-
+
if (!getEntity().isProtectedNomenclaturalTitleCache()) {
toggleable_nomenclaturalTitleCache.setText(getEntity().getNomenclaturalTitle());
}
}
+
+ /**
+ * @return the isNomenclaturalTeam
+ */
+ public boolean isNomenclaturalTeam() {
+ return isNomenclaturalTeam;
+ }
+
+ /**
+ * @param isNomenclaturalTeam the isNomenclaturalTeam to set
+ */
+ public void setNomenclaturalTeam(boolean isNomenclaturalTeam) {
+ this.isNomenclaturalTeam = isNomenclaturalTeam;
+ }
}
*/
public class TeamDetailSection extends AbstractCdmDetailSection<Team>{
+ private boolean isNomenclaturalTeam;
+
/**
* <p>Constructor for TeamDetailSection.</p>
*
*/
@Override
protected AbstractCdmDetailElement<Team> createCdmDetailElement(AbstractCdmDetailSection<Team> parentElement, int style) {
- return formFactory.createTeamDetailElement(parentElement, style);
+ return formFactory.createTeamDetailElement(parentElement, style, isNomenclaturalTeam);
+ }
+
+ public boolean isNomenclaturalTeam(){
+ return isNomenclaturalTeam;
+ }
+
+ public void setIsNomenclaturalTeam(boolean isNomenclaturalTeam){
+ this.isNomenclaturalTeam = isNomenclaturalTeam;
}
}
public class TeamMemberElement extends AbstractEntityCollectionElement<Person> {
private EntitySelectionElement<Person> selection_person;
+ private final boolean isNomenclatural;
public TeamMemberElement(CdmFormFactory cdmFormFactory,
AbstractFormSection section, Person entity,
- SelectionListener removeListener, int style) {
+ SelectionListener removeListener, int style, boolean isNomenclatural) {
super(cdmFormFactory, section, entity, removeListener, null, style);
+ this.isNomenclatural =isNomenclatural;
+
}
/** {@inheritDoc} */
*/
public class TeamMemberSection extends AbstractUnboundEntityCollectionSection<Team, Person> {
+ private boolean isNomenclaturalTeam = false;
+
/**
* <p>Constructor for TeamMemberSection.</p>
*
* @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
* @param style a int.
*/
- public TeamMemberSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+ public TeamMemberSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style, boolean isNomenclatural) {
super(cdmFormFactory, conversation, parentElement, null, style);
+ isNomenclaturalTeam = isNomenclatural;
}
/** {@inheritDoc} */
return getEntity().getTeamMembers();
}
+ /**
+ * @return
+ */
+ public boolean isNomenclaturalTeam() {
+ return isNomenclaturalTeam;
+ }
+
}
*/
public class TeamWizardPage extends AbstractCdmEntityWizardPage<Team> {
+ private boolean isNomenclaturalTeam = false;
+
/**
* <p>
* Constructor for TeamWizardPage.
* a {@link eu.etaxonomy.cdm.model.agent.Team} object.
*/
public TeamWizardPage(CdmFormFactory formFactory,
- ConversationHolder conversation, Team entity) {
+ ConversationHolder conversation, Team entity, boolean isNomenclaturalTeam) {
super(formFactory, conversation, entity);
setTitle("Team");
+ setIsNomenclaturalTeam(isNomenclaturalTeam);
}
/** {@inheritDoc} */
@Override
public AbstractCdmDetailElement<Team> createElement(
ICdmFormElement rootElement) {
- TeamDetailElement teamElement = formFactory.createTeamDetailElement(rootElement, SWT.NULL);
+ TeamDetailElement teamElement = formFactory.createTeamDetailElement(rootElement, SWT.NULL, isNomenclaturalTeam);
teamElement.setEntity(entity);
return teamElement;
}
+
+ /**
+ * @return the isNomenclaturalTeam
+ */
+ public boolean isNomenclaturalTeam() {
+ return isNomenclaturalTeam;
+ }
+
+ public void setIsNomenclaturalTeam(boolean isNomenclaturalTeam){
+ this.isNomenclaturalTeam = isNomenclaturalTeam;
+ }
}
*/
@Override
protected String getEntityName() {
- return "TaxonNode";
+ return "taxon node";
}
/* (non-Javadoc)
*/
@Override
public void createControls(ICdmFormElement element, int style) {
- combo_relationshipType = formFactory.createDefinedTermComboElement(TermType.TaxonNodeAgentRelationType, element, "Taxonnode Agent Relationtype", null, style);
+ combo_relationshipType = formFactory.createDefinedTermComboElement(TermType.TaxonNodeAgentRelationType, element, "Taxon node agent relationtype", null, style);
if (entity != null){
selection_toPerson = formFactory
.createSelectionElement(TeamOrPersonBase.class,
*/
public TaxonNodeAgentRelationCollectionSection (CdmFormFactory formFactory, ConversationHolder conversation,
ICdmFormElement parentElement, int style) {
- super(formFactory, conversation, parentElement, "TaxonNode Agent Relation", style);
+ super(formFactory, conversation, parentElement, "Taxon node agent relation", style);
}
selection_reuseExistingName.setEnabled(enabled);
if (!enabled){
setTaxon(selection_reuseExistingTaxon.getEntity());
- }
- if (isCreateNew()){
- textNewTaxonName.setEnabled(enabled);
- if (!enabled){
- setTaxon(selection_reuseExistingTaxon.getEntity());
- } else{
- textNewTaxonName.setText(null);
- }
-
- complete = !textNewTaxonName.getText().isEmpty();
- }
+ }else{
+ textNewTaxonName.setText(null);
+ }
+ complete = !textNewTaxonName.getText().isEmpty();
+
} else if (eventSource == selection_reuseExistingName) {
boolean enabled = selection_reuseExistingName.getEntity() == null;
selection_reuseExistingTaxon.setEnabled(enabled);
textNewTaxonName.setEnabled(enabled);
- setTaxon(selection_reuseExistingName.getEntity());
+ //setTaxon(selection_reuseExistingName.getEntity());
complete = !textNewTaxonName.getText().isEmpty();
} else if (eventSource == textNewTaxonName) {
public String getTaxonName() {
return textNewTaxonName.getText();
}
+ public Taxon getTaxon() {
+ return taxon;
+ }
public Reference getReference(){
return selection_SecRef.getSelection();
ConversationHolder conversation, ITaxonTreeNode entity, IWizardPageListener closeOnEnterListener, boolean isCreateNew) {
super(formFactory, conversation, entity);
this.wizardPageListener = closeOnEnterListener;
- setTitle("TaxonNode");
+ setTitle("Edit taxon node");
this.isCreateNew = isCreateNew;
}
}
public Taxon createTaxon() {
- String taxonName = ((TaxonNodeDetailElement) getDetailElement()).getTaxonName();
- Reference reference = ((TaxonNodeDetailElement) getDetailElement()).getReference();
- NonViralName parseReferencedName = ParseHandler.parseReferencedName(taxonName, null);
- return Taxon.NewInstance(parseReferencedName, reference);
+ if (((TaxonNodeDetailElement) getDetailElement()).getTaxon() == null){
+ String taxonName = ((TaxonNodeDetailElement) getDetailElement()).getTaxonName();
+ Reference reference = ((TaxonNodeDetailElement) getDetailElement()).getReference();
+ NonViralName parseReferencedName = ParseHandler.parseReferencedName(taxonName, null);
+ return Taxon.NewInstance(parseReferencedName, reference);
+ } else{
+ return ((TaxonNodeDetailElement) getDetailElement()).getTaxon();
+ }
}
/*
import org.eclipse.swt.SWT;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.description.TaxonInteraction;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.store.CdmStore;
interactionDescription = formFactory.createMultiLineTextWithLabel(this,
"Relationship to the taxon:", 200, SWT.WRAP);
+ entity = HibernateProxyHelper.deproxy(entity, TaxonInteraction.class);
interactionDescription.setText(entity.getDescription(CdmStore
.getDefaultLanguage()));
}
int width = image.calculateWidth();
IEditGeoService editGeoService;
List<Language> languages = Arrays.asList(new Language[]{CdmStore.getDefaultLanguage()});
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- editGeoService = ((CdmApplicationRemoteController)CdmStore.getCurrentApplicationConfiguration()).getEditGeoService();
- }else{
- editGeoService =(IEditGeoService) CdmStore.getCurrentApplicationConfiguration().getBean(
- "editGeoService");
- }
-
+ editGeoService = ((CdmApplicationRemoteController)CdmStore.getCurrentApplicationConfiguration()).getEditGeoService();
+
String parameter = editGeoService.getDistributionServiceRequestParameterString(
getTaxonDescriptions(),
false,
+++ /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.ui.section.identifier;
-
-import java.util.Collection;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.widgets.Control;
-
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
-import eu.etaxonomy.cdm.model.common.Identifier;
-import eu.etaxonomy.taxeditor.model.ImageResources;
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
-
-/**
- * <p>
- * CollectingAreasDetailSection class.
- * </p>
- *
- * @author n.hoffmann
- * @created Oct 14, 2010
- * @version 1.0
- */
-public class IdentifierDetailSection extends AbstractEntityCollectionSection<DerivedUnitFacade, Identifier> {
-
- /**
- * <p>Constructor for CollectingAreasDetailSection.</p>
- *
- * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
- * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
- * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
- * @param style a int.
- */
- public IdentifierDetailSection(CdmFormFactory formFactory,
- ConversationHolder conversation, ICdmFormElement parentElement, int style) {
- super(formFactory, conversation, parentElement, "Identifiers", style);
- }
-
- @Override
- protected Control createToolbar() {
- ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
-
- Action addAction = new Action("add", IAction.AS_PUSH_BUTTON){
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.Action#run()
- */
- @Override
- public void run() {
- Identifier element = createNewElement();
- if(element != null){
- if(! getSection().isExpanded()) {
- getSection().setExpanded(true);
- }
- internalUpdateSection(true);
- }
- }
- };
- addAction.setImageDescriptor(new ImageDescriptor() {
-
- @Override
- public ImageData getImageData() {
- return ImageResources.getImage(ImageResources.ADD_ICON).getImageData();
- }
- });
- addAction.setToolTipText(getTooltipString());
-
- toolBarManager.add(addAction);
-
- return toolBarManager.createControl(this);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getCollection(java.lang.Object)
- */
- /** {@inheritDoc} */
- @Override
- public Collection<Identifier> getCollection(DerivedUnitFacade entity) {
- return entity.getIdentifiers();
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
- */
- /** {@inheritDoc} */
- @Override
- public Identifier createNewElement() {
- return Identifier.NewInstance(getEntity().baseUnit(), null, null);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
- */
- /** {@inheritDoc} */
- @Override
- public void addElement(Identifier element) {
- getEntity().addIdentifier(element);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
- */
- /** {@inheritDoc} */
- @Override
- public void removeElement(Identifier element) {
- getEntity().removeIdentifier(getEntity().getIdentifiers().get(0));
- getConversationHolder().commit();
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
- */
- /** {@inheritDoc} */
- @Override
- public String getEmptyString() {
- return "No identifiers yet.";
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
- */
- /** {@inheritDoc} */
- @Override
- protected String getTooltipString() {
- return "Add an identifier";
- }
-
-}
*/
package eu.etaxonomy.taxeditor.ui.section.media;
+import java.util.Map;
+
import org.apache.commons.lang.StringUtils;
import org.eclipse.jface.action.IAction;
import org.eclipse.swt.SWT;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.AgentBase;
+import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
text_description.setLanguageString(element.getDescription(CdmStore
.getDefaultLanguage()));
+ if (text_description.getText().isEmpty()){
+ Map<Language, LanguageString> allDescriptions = element.getAllDescriptions();
+ if (!allDescriptions.isEmpty()){
+ text_description.setLanguageString(allDescriptions.get(Language.ENGLISH()));
+ }
+ }
LanguageString title = element.getTitle(CdmStore.getDefaultLanguage());
import java.util.Arrays;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
+import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
import eu.etaxonomy.cdm.model.name.NonViralName;
+import eu.etaxonomy.cdm.model.name.ZoologicalName;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
private EntitySelectionElement<TeamOrPersonBase> selectionBasionymAuthor;
private EntitySelectionElement<TeamOrPersonBase> selectionExCombinationAuthor;
private EntitySelectionElement<TeamOrPersonBase> selectionCombinationAuthor;
+
+ private NumberWithLabelElement text_publicationYear;
+ private NumberWithLabelElement text_originalPublicationYear;
/**
* <p>
* Constructor for AuthorshipDetailElement.
@Override
protected void createControls(ICdmFormElement formElement,
NonViralName entity, int style) {
- toggleable_cache = formFactory.createToggleableTextField(this,
+ if (isAdvancedView){
+ toggleable_cache = formFactory.createToggleableTextField(this,
"Authorship Cache", entity.getAuthorshipCache(),
entity.isProtectedAuthorshipCache(), style);
+ //TODO RL
+ if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){
+ toggleable_cache.setVisible(false);
+ }
+ }
+ NomenclaturalCode code = entity.getNomenclaturalCode();
- //TODO RL
- if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){
- toggleable_cache.setVisible(false);
- }
- selectionCombinationAuthor = formFactory.createSelectionElementWithAbbreviatedTitle(TeamOrPersonBase.class,
+ selectionCombinationAuthor = formFactory.createSelectionElementWithAbbreviatedTitle(TeamOrPersonBase.class,
getConversationHolder(),
formElement, "Author",
entity.getCombinationAuthorship(),
entity.getExCombinationAuthorship(),
EntitySelectionElement.ALL, style);
addElement(selectionExCombinationAuthor);
+ if (code != null){
+ if (code.equals(NomenclaturalCode.ICZN)){
+ text_publicationYear = formFactory.createNumberTextWithLabelElement(formElement, "Publication Year", ((ZoologicalName)entity).getPublicationYear(), style);
+
+ }
+ }
selectionBasionymAuthor = formFactory.createSelectionElementWithAbbreviatedTitle(TeamOrPersonBase.class, getConversationHolder(),
formElement, "Basionym Author", entity.getBasionymAuthorship(),
EntitySelectionElement.ALL, style);
addElement(selectionBasionymAuthor);
selectionExBasionymAuthor = formFactory.createSelectionElementWithAbbreviatedTitle(TeamOrPersonBase.class, getConversationHolder(),
- formElement, "Ex Basionym Author", entity.getExBasionymAuthorship(),
+ formElement, "Ex Basionym Author",entity.getExBasionymAuthorship(),
EntitySelectionElement.ALL, style);
addElement(selectionExBasionymAuthor);
+ if (code != null){
+ if (code.equals(NomenclaturalCode.ICZN)){
+
+ text_originalPublicationYear = formFactory.createNumberTextWithLabelElement(formElement, "Orig. Publication Year", ((ZoologicalName)entity).getOriginalPublicationYear(), style);
+
+ }
+ }
+
+
+
}
/** {@inheritDoc} */
}
super.updateContent();
- toggleable_cache.setEnabled(getEntity().isProtectedAuthorshipCache());
+ if (toggleable_cache != null){
+ toggleable_cache.setEnabled(getEntity().isProtectedAuthorshipCache());
+
- if (this.isIrrelevant()) {
- setIrrelevant(isIrrelevant());
- } else {
- setIrrelevant(toggleable_cache.getState(),
- Arrays.asList(new Object[] { toggleable_cache }));
+ if (this.isIrrelevant()) {
+ setIrrelevant(isIrrelevant());
+ } else {
+ setIrrelevant(toggleable_cache.getState(),
+ Arrays.asList(new Object[] { toggleable_cache }));
+ }
}
}
} else if (eventSource == selectionExBasionymAuthor) {
getEntity().setExBasionymAuthorship(
selectionExBasionymAuthor.getSelection());
- }
+ } else if (eventSource == text_originalPublicationYear) {
+ ((ZoologicalName)getEntity()).setOriginalPublicationYear(text_originalPublicationYear.getInteger());
+ } else if (eventSource == text_publicationYear) {
+ ((ZoologicalName)getEntity()).setPublicationYear(text_publicationYear.getInteger());
+ }
// if (eventSource != toggleable_cache) {
// toggleable_cache.setText(getEntity().getAuthorshipCache());
@Override
public void updateToggleableCacheField() {
- if(! getEntity().isProtectedAuthorshipCache()){
- toggleable_cache.setText(getEntity().getAuthorshipCache());
- }
+ if (toggleable_cache != null){
+ if(! getEntity().isProtectedAuthorshipCache()){
+ toggleable_cache.setText(getEntity().getAuthorshipCache());
+ }
+ }
}
}
private TaxonBase taxonBase;
+
public AuthorshipDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
ISelectionProvider selectionProvider, int style) {
super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
+
}
/** {@inheritDoc} */
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
import eu.etaxonomy.taxeditor.ui.element.ISelectableElement;
-import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
private SelectionArbitrator selectionArbitrator;
private CheckboxElement checkbox_anamorphic;
private TextWithLabelElement text_breed;
- private NumberWithLabelElement text_publicationYear;
- private NumberWithLabelElement text_originalPublicationYear;
+ //private NumberWithLabelElement text_publicationYear;
+ //private NumberWithLabelElement text_originalPublicationYear;
private int cursorPosition;
/**
@Override
protected void createControls(ICdmFormElement formElement, NonViralName nonViralName, int style) {
- toggleable_cache = formFactory.createToggleableTextField(this, "Name Cache", nonViralName.getNameCache(), nonViralName.isProtectedNameCache(), style);
-
+ if (isAdvancedView){
+ toggleable_cache = formFactory.createToggleableTextField(this, "Name Cache", nonViralName.getNameCache(), nonViralName.isProtectedNameCache(), style);
+ }else{
+ if (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAMECACHE)){
+ toggleable_cache = formFactory.createToggleableTextField(this, "Name Cache", nonViralName.getNameCache(), nonViralName.isProtectedNameCache(), style);
+ }
+ }
combo_rank = formFactory.createDefinedTermComboElement(TermType.Rank, this, "Rank", nonViralName.getRank(), style);
-
- createGenusOrUninomialControls(this, nonViralName, style);
- createInfragenerericEpithetControls(this, nonViralName, style);
- createSpecificEpithetControls(this, nonViralName, style);
- createInfraSpecificEpithetControls(this, nonViralName, style);
-
- createSpecificNameParts(this, nonViralName, style);
-
- text_appendedPhrase = formFactory.createTextWithLabelElement(formElement, "Appended Phrase", nonViralName.getAppendedPhrase(), style);
-
+ if (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_ATOMISED_EPITHETS)){
+ createGenusOrUninomialControls(this, nonViralName, style);
+ createInfragenerericEpithetControls(this, nonViralName, style);
+ createSpecificEpithetControls(this, nonViralName, style);
+ createInfraSpecificEpithetControls(this, nonViralName, style);
+ createSpecificNameParts(this, nonViralName, style);
+ }
+ if (isAdvancedView){
+ //createSpecificNameParts(this, nonViralName, style);
+ text_appendedPhrase = formFactory.createTextWithLabelElement(formElement, "Appended Phrase", nonViralName.getAppendedPhrase(), style);
+ }else{
+ if (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_APPENDED_PHRASE)){
+ text_appendedPhrase = formFactory.createTextWithLabelElement(formElement, "Appended Phrase", nonViralName.getAppendedPhrase(), style);
+ }
+ }
}
/**
}
super.updateContent();
-
- if(isIrrelevant()){
- setIrrelevant(isIrrelevant());
- }else{
- setIrrelevant(toggleable_cache.getState(), Arrays.asList(new Object[]{toggleable_cache}));
+ if (isAdvancedView){
+ if(isIrrelevant()){
+ setIrrelevant(isIrrelevant());
+ }else{
+ setIrrelevant(toggleable_cache.getState(), Arrays.asList(new Object[]{toggleable_cache}));
+ }
}
}
switch(nonViralName.getNomenclaturalCode()){
case ICNAFP :
// TODO RL
- if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL))
+ if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL) && isAdvancedView)
{
createBotanicalNameParts(formElement, nonViralName, style);
}
private void createZoologicalNameParts(ICdmFormElement formElement, NonViralName nonViralName, int style){
ZoologicalName zoologicalName = (ZoologicalName) nonViralName;
- text_breed = formFactory.createTextWithLabelElement(formElement, "Breed", zoologicalName.getBreed(), style);
- text_publicationYear = formFactory.createNumberTextWithLabelElement(formElement, "Publication Year", zoologicalName.getPublicationYear(), style);
- text_originalPublicationYear = formFactory.createNumberTextWithLabelElement(formElement, "Orig. Publication Year", zoologicalName.getOriginalPublicationYear(), style);
+
+ if (isAdvancedView){
+ text_breed = formFactory.createTextWithLabelElement(formElement, "Breed", zoologicalName.getBreed(), style);
+ }
}
private void createGenusOrUninomialControls(ICdmFormElement element, NonViralName nonViralName, int style){
}
private void createInfragenerericEpithetControls(ICdmFormElement element, NonViralName nonViralName, int style){
- if(nonViralName.getRank() != null && nonViralName.getRank().isInfraGeneric() && !nonViralName.getRank().isSpeciesAggregate()){
- text_infragenericEpithet = formFactory.createTextWithLabelElement(element, "Infrageneric Epithet", nonViralName.getInfraGenericEpithet(), style);
+ if (nonViralName.getNomenclaturalCode() == null || nonViralName.getNomenclaturalCode().equals(NomenclaturalCode.ICZN)){
+ if(nonViralName.getRank() != null && nonViralName.getRank().isLower(Rank.GENUS()) ){
+ text_infragenericEpithet = formFactory.createTextWithLabelElement(element, "Infrageneric Epithet", nonViralName.getInfraGenericEpithet(), style);
+ }
+ } else{
+ if((nonViralName.getRank() != null && nonViralName.getRank().isLower(Rank.GENUS())) && !nonViralName.getRank().isLower(Rank.SPECIES()) && !nonViralName.getRank().isSpeciesAggregate()){
+ text_infragenericEpithet = formFactory.createTextWithLabelElement(element, "Infrageneric Epithet", nonViralName.getInfraGenericEpithet(), style);
+ }
}
}
}
else if(eventSource == checkbox_anamorphic){
((BotanicalName)getEntity()).setAnamorphic(checkbox_anamorphic.getSelection());
- }
+ }else if(eventSource == text_breed){
+ ((ZoologicalName)getEntity()).setBreed(text_breed.getText());
+ }
+
}
/*
@Override
public void updateToggleableCacheField() {
- if(! getEntity().isProtectedNameCache()){
- toggleable_cache.setText(getEntity().getNameCache());
- }
+ if (toggleable_cache != null){
+ if(! getEntity().isProtectedNameCache()){
+ toggleable_cache.setText(getEntity().getNameCache());
+ }
+ }
}
-
+
@Override
protected void handleToggleableCacheField() {
boolean pushedState = toggleable_cache.getState();
getEntity().setTitleCache(toggleable_cache.getText(), pushedState);
setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache, text_appendedPhrase, checkbox_anamorphic }));
updateToggleableCacheField();
- }
+ }
+
+
}
@Override
protected AbstractCdmDetailElement<NonViralName> createCdmDetailElement(AbstractCdmDetailSection<NonViralName> parentElement, int style) {
return formFactory.createNameDetailElement(parentElement, style);
+
}
}
package eu.etaxonomy.taxeditor.ui.section.name;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
import org.eclipse.jface.wizard.Wizard;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.name.NameRelationship;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
+import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* <p>NameRelationshipWizard class.</p>
* @created Jun 1, 2010
* @version 1.0
*/
-public class NameRelationshipWizard extends Wizard implements IConversationEnabled{
+public class NameRelationshipWizard extends Wizard implements IConversationEnabled, ICdmEntitySessionEnabled{
private static NameRelationshipDetailSection callingSection;
+ private ICdmEntitySession cdmEntitySession;
+ private ICdmEntitySession previousCdmEntitySession;
+ private CdmBase rootElement;
+
/**
* <p>Constructor for NameRelationshipWizard.</p>
*
*/
public NameRelationshipWizard(NameRelationshipDetailSection callingSection) {
NameRelationshipWizard.callingSection = callingSection;
+ rootElement = callingSection.getEntity();
+ if (CdmStore.isActive()) {
+ previousCdmEntitySession = CdmStore.getCurrentSessionManager().getActiveSession();
+ cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
+ cdmEntitySession.bind();
+ }
}
private NameRelationshipWizardPage page;
return page.isPageComplete();
}
-
+ @Override
+ public void dispose() {
+ super.dispose();
+ if(cdmEntitySession != null) {
+ cdmEntitySession.dispose();
+ }
+ if(previousCdmEntitySession!=null){
+ previousCdmEntitySession.bind();
+ }
+ }
/**
* <p>getNameRelationship</p>
/** {@inheritDoc} */
public void update(CdmDataChangeMap changeEvents) {}
+
+ @Override
+ public ICdmEntitySession getCdmEntitySession() {
+ return cdmEntitySession;
+ }
+
+ @Override
+ public java.util.Collection<CdmBase> getRootEntities() {
+ return Collections.singleton(rootElement);
+ }
+
+ @Override
+ public Map<Object, List<String>> getPropertyPathsMap() {
+ return null;
+ }
}
selection_typeName.setEntity((TaxonNameBase) HibernateProxyHelper.deproxy(entity.getTypeName()));
- combo_typeStatus.setSelection((NameTypeDesignationStatus) HibernateProxyHelper.deproxy(entity.getTypeStatus()));
+ combo_typeStatus.setSelection(HibernateProxyHelper.deproxy(entity.getTypeStatus(), NameTypeDesignationStatus.class));
checkbox_notDesignated.setSelection(entity.isNotDesignated());
}
/** {@inheritDoc} */
@Override
public void createControls(ICdmFormElement element, int style) {
- nomenclaturalStatusTypeCombo = formFactory.createDefinedTermComboElement(TermType.NomenclaturalStatusType, this, "Nomenclatural Status Type", null, style);
+ nomenclaturalStatusTypeCombo = formFactory.createDefinedTermComboElement(TermType.NomenclaturalStatusType, this, "Nomenclatural Status Type", null, false, style, true);
ruleConsideredText = formFactory.createTextWithLabelElement(this, "Rule Considered", "", style);
super.createControls(element, style);
* @version 1.0
*/
public class NonViralNameDetailElement extends
- AbstractIdentifiableEntityDetailElement<NonViralName> {
+ AbstractIdentifiableEntityDetailElement<NonViralName> {
private NameDetailSection section_name;
private AuthorshipDetailSection section_author;
private HybridDetailSection section_hybrid;
private LsidWithExceptionLabelElement textLsid;
+
public NonViralNameDetailElement(CdmFormFactory formFactory,
ICdmFormElement formElement) {
super(formFactory, formElement);
+ initIsAdvancedDetailsView();
+
}
/** {@inheritDoc} */
@Override
protected void createControls(ICdmFormElement formElement, final NonViralName entity, int style) {
- toggleable_cache = formFactory.createToggleableTextField(formElement, "Cache", entity.getTitleCache(), entity.isProtectedTitleCache() || entity.isProtectedFullTitleCache(), style);
- combo_nomenclaturalCode = formFactory.createEnumComboElement(NomenclaturalCode.class, formElement, style);
- combo_nomenclaturalCode.setSelection(entity.getNomenclaturalCode());
- //TODO RL
- if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){
- toggleable_cache.setVisible(false);
- combo_nomenclaturalCode.setVisible(false);
- }
- textLsid = formFactory.createLsidWithExceptionLabelElement(formElement, "Lsid", entity.getLsid(), style);
+ if (isAdvancedView){
+ toggleable_cache = formFactory.createToggleableTextField(formElement, "Cache", entity.getTitleCache(), entity.isProtectedTitleCache() || entity.isProtectedFullTitleCache(), style);
+
+ combo_nomenclaturalCode = formFactory.createEnumComboElement(NomenclaturalCode.class, formElement, style);
+ combo_nomenclaturalCode.setSelection(entity.getNomenclaturalCode());
+ textLsid = formFactory.createLsidWithExceptionLabelElement(formElement, "Lsid", entity.getLsid(), style);
+ //TODO RL
+ if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){
+ toggleable_cache.setVisible(false);
+ combo_nomenclaturalCode.setVisible(false);
+ }
+ }else{
+ if (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_CACHE)){
+ toggleable_cache = formFactory.createToggleableTextField(formElement, "Cache", entity.getTitleCache(), entity.isProtectedTitleCache() || entity.isProtectedFullTitleCache(), style);
+ if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){
+ toggleable_cache.setVisible(false);
+ }
+ }
+ if (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_CODE)){
+ combo_nomenclaturalCode = formFactory.createEnumComboElement(NomenclaturalCode.class, formElement, style);
+ combo_nomenclaturalCode.setSelection(entity.getNomenclaturalCode());
+ if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){
+ combo_nomenclaturalCode.setVisible(false);
+ }
+ }
+ if (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_LSID)){
+ textLsid = formFactory.createLsidWithExceptionLabelElement(formElement, "Lsid", entity.getLsid(), style);
+
+ }
+
+
+ }
+
+
section_name = formFactory.createNameDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
section_name.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
addControl(section_name);
addElement(section_author);
//TODO RL
- if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){
- section_hybrid = formFactory.createHybridDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE);
- section_hybrid.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- addControl(section_hybrid);
- addElement(section_hybrid);
- }
+ if (isAdvancedView){
+ if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){
+ section_hybrid = formFactory.createHybridDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE);
+ section_hybrid.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ addControl(section_hybrid);
+ addElement(section_hybrid);
+ }
+ }else{
+ if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){
+ if (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_HYBRID)){
+ section_hybrid = formFactory.createHybridDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE);
+ section_hybrid.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ addControl(section_hybrid);
+ addElement(section_hybrid);
+ }
+ }
+ }
}
if (getParentElement() instanceof AbstractCdmDetailSection) {
((AbstractCdmDetailSection) getParentElement()).updateTitle();
}
- if (!toggleable_cache.getState()) {
- toggleable_cache.setText(getEntity().getTitleCache());
+ if (toggleable_cache != null){
+ if (!toggleable_cache.getState()) {
+ toggleable_cache.setText(getEntity().getTitleCache());
+ }
}
}
if (eventSource == section_name) {
setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache, textLsid }));
updateToggleableCacheField();
}
+
+
+
+
+// @Override
+// public void toggleAdvancedMediaView(){
+// mediaDetailElement.toggleAdvancedMediaView();
+// }
}
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.dialog.selection.NameSelectionDialog;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
protected Control createToolbar() {
ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
- if(nameChoosable){
+ if(nameChoosable && !PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION)){
//choose name
Action chooseNameAction = new Action("Choose Name", IAction.AS_PUSH_BUTTON){
@Override
public void run() {
- TaxonNameBase taxonName = NameSelectionDialog.select(getShell(), getConversationHolder(), null);
+ TaxonNameBase taxonName = NameSelectionDialog.select(getShell(), getConversationHolder(), getEntity());
if(taxonName!=null){
if(taxonName.isInstanceOf(NonViralName.class)){
CdmStore.getService(ITaxonNodeService.class).list(TaxonNode.class, null, null, null, null);
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
import eu.etaxonomy.taxeditor.ui.dialog.selection.NamedAreaSelectionDialog;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
/** {@inheritDoc} */
@Override
public NamedArea createNewElement() {
- NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null);
+ NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null, FieldUnit.class.getCanonicalName());
return selection;
}
/** {@inheritDoc} */
@Override
public NamedArea createNewElement() {
- NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null);
+ NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null, Classification.class.getCanonicalName());
return selection;
}
/** {@inheritDoc} */
@Override
public NamedArea createNewElement() {
- NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null);
+ NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null, PolytomousKey.class.getCanonicalName());
return selection;
}
import java.util.ArrayList;
import java.util.Collection;
import java.util.Set;
-import java.util.UUID;
-import org.eclipse.core.commands.Command;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IParameter;
-import org.eclipse.core.commands.NotEnabledException;
-import org.eclipse.core.commands.NotHandledException;
-import org.eclipse.core.commands.Parameterization;
-import org.eclipse.core.commands.ParameterizedCommand;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.dnd.Clipboard;
+import org.eclipse.swt.dnd.TextTransfer;
+import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.ICommandService;
-import org.eclipse.ui.handlers.IHandlerService;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.view.CdmViewerChooser;
/**
* @author pplitzner
/** {@inheritDoc} */
@Override
protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
-
- //TODO add context menu for deleting associations
-
Collection<TaxonBase<?>> associatedTaxa = CdmStore.getService(IOccurrenceService.class).listIndividualsAssociationTaxa(entity.innerDerivedUnit(), null, null, null, null);
Collection<SpecimenTypeDesignation> typeDesignations = CdmStore.getService(IOccurrenceService.class).listTypeDesignations(entity.innerDerivedUnit(), null, null, null, null);
Collection<DeterminationEvent> determinationEvents = CdmStore.getService(IOccurrenceService.class).listDeterminationEvents(entity.innerDerivedUnit(), null, null, null, null);
+ Collection<CdmBase> associations = new ArrayList<>();
+ associations.addAll(associatedTaxa);
+ associations.addAll(typeDesignations);
+ associations.addAll(determinationEvents);
+
+ TableWrapLayout layout = (TableWrapLayout) getLayoutComposite().getLayout();
+ layout.bottomMargin = 0;
+ layout.topMargin = 0;
+
if(associatedTaxa.isEmpty() && typeDesignations.isEmpty() && determinationEvents.isEmpty()){
Label label = formFactory.createLabel(getLayoutComposite(), "No associations");
label.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
return;
}
- if(!associatedTaxa.isEmpty()){
- TableViewer viewer = new TableViewer(getLayoutComposite(), SWT.FULL_SELECTION);
- viewer.getTable().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- viewer.setContentProvider(new ArrayContentProvider());
- viewer.setLabelProvider(new LabelProvider(){
+ for (CdmBase cdmBase : associations) {
+ final StyledText styledTextWidget = new StyledText(getLayoutComposite(), SWT.WRAP);
+ styledTextWidget.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ styledTextWidget.setText(getLabelText(cdmBase));
+ styledTextWidget.setBackground(getLayoutComposite().getBackground());
+ styledTextWidget.setEditable(false);
+ //Set caret null this will hide caret
+ styledTextWidget.setCaret(null);
+
+ //TODO add context menu for deleting associations
+ //context menu
+ Menu menu = new Menu(styledTextWidget);
+ //copy menu
+ MenuItem copyItem = new MenuItem(menu, SWT.PUSH);
+ copyItem.setText("Copy");
+ copyItem.addSelectionListener(new SelectionListener() {
+
@Override
- public String getText(Object element) {
- return "Associated with "+element.toString();
+ public void widgetSelected(SelectionEvent e) {
+ Object[] data = new Object[]{styledTextWidget.getText()};
+ Clipboard clipboard = new Clipboard(styledTextWidget.getDisplay());
+ clipboard.setContents(data, new Transfer[]{TextTransfer.getInstance()});
}
- });
- viewer.setInput(associatedTaxa);
- viewer.addDoubleClickListener(this);
- }
- if(!typeDesignations.isEmpty()){
- TableViewer viewer = new TableViewer(getLayoutComposite(), SWT.FULL_SELECTION);
- viewer.getTable().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- viewer.setContentProvider(new ArrayContentProvider());
- viewer.setLabelProvider(new LabelProvider(){
@Override
- public String getText(Object element) {
- SpecimenTypeDesignation typeDesignation = (SpecimenTypeDesignation)element;
- String label = typeDesignation.getTypeStatus()!=null?typeDesignation.getTypeStatus().getLabel()+" of ":"Type of ";
- Set<TaxonNameBase> typifiedNames = typeDesignation.getTypifiedNames();
- for (TaxonNameBase taxonNameBase : typifiedNames) {
- label += taxonNameBase+", ";
- }
- if(label.endsWith(", ")){
- label = label.substring(0, label.length()-2);
- }
- return label;
+ public void widgetDefaultSelected(SelectionEvent e) {
}
});
- viewer.setInput(typeDesignations);
- viewer.addDoubleClickListener(this);
- }
- if(!determinationEvents.isEmpty()){
- TableViewer viewer = new TableViewer(getLayoutComposite(), SWT.FULL_SELECTION);
- viewer.getTable().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- viewer.setContentProvider(new ArrayContentProvider());
- viewer.setLabelProvider(new LabelProvider(){
- @Override
- public String getText(Object element) {
- DeterminationEvent determinationEvent = (DeterminationEvent)element;
- if(determinationEvent.getTaxon()!=null){
- return "Determined as taxon "+determinationEvent.getTaxon();
- }
- if(determinationEvent.getTaxonName()!=null){
- return "Determined as name "+determinationEvent.getTaxonName();
- }
- return element.toString();
- }
+ //"Open in..." menu
+ MenuItem openInItem = new MenuItem(menu, SWT.PUSH);
+ openInItem.setText("Open");
+ if(cdmBase.isInstanceOf(SpecimenTypeDesignation.class)){
+ openInItem.setData(HibernateProxyHelper.deproxy(cdmBase, SpecimenTypeDesignation.class));
+ }
+ openInItem.setData(cdmBase);
+ openInItem.addSelectionListener(new SelectionListener() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ new CdmViewerChooser(TaxonAssociationDetailElement.this.getLayoutComposite().getShell()).chooseViewer(e.widget.getData());
+ }
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
});
- viewer.setInput(determinationEvents);
- viewer.addDoubleClickListener(this);
+ styledTextWidget.setMenu(menu);
+ }
+ }
+
+ private String getLabelText(Object element) {
+ if(element instanceof TaxonBase){
+ return "Associated with "+element.toString();
+ }
+ else if(element instanceof DeterminationEvent){
+ DeterminationEvent determinationEvent = (DeterminationEvent)element;
+ if(determinationEvent.getTaxon()!=null){
+ return "Determined as taxon "+determinationEvent.getTaxon();
+ }
+ if(determinationEvent.getTaxonName()!=null){
+ return "Determined as name "+determinationEvent.getTaxonName();
+ }
+ }
+ else if(element instanceof SpecimenTypeDesignation){
+ SpecimenTypeDesignation typeDesignation = (SpecimenTypeDesignation)element;
+ String label = typeDesignation.getTypeStatus()!=null?typeDesignation.getTypeStatus().getLabel()+" of ":"Type of ";
+ Set<TaxonNameBase> typifiedNames = typeDesignation.getTypifiedNames();
+ for (TaxonNameBase taxonNameBase : typifiedNames) {
+ label += taxonNameBase+", ";
+ }
+ if(label.endsWith(", ")){
+ label = label.substring(0, label.length()-2);
+ }
+ return label;
}
+ return "";
}
/** {@inheritDoc} */
public void doubleClick(DoubleClickEvent event) {
if(event.getSelection() instanceof IStructuredSelection){
Object firstElement = ((IStructuredSelection) event.getSelection()).getFirstElement();
- UUID taxonToOpenUuid = null;
- if(firstElement instanceof TaxonBase<?>){
- taxonToOpenUuid = ((TaxonBase<?>)firstElement).getUuid();
- }
- else if(firstElement instanceof SpecimenTypeDesignation){
- //TODO how to open an editor for all typed names?
+ if(firstElement instanceof SpecimenTypeDesignation){
+ SpecimenTypeDesignation typeDesignation = (SpecimenTypeDesignation)firstElement;
+ Set<TaxonNameBase> typifiedNames = typeDesignation.getTypifiedNames();
+ if(typifiedNames.size()==1){
+ firstElement = typifiedNames.iterator().next();
+ }
+ if(typifiedNames.size()==0 || typifiedNames.size()>=2){
+ MessagingUtils.informationDialog("Could not open name", "Type designation has either 0 or more than 1 names associated");
+ }
}
else if(firstElement instanceof DeterminationEvent){
if(((DeterminationEvent) firstElement).getTaxon()!=null){
- taxonToOpenUuid = ((DeterminationEvent) firstElement).getTaxon().getUuid();
+ firstElement = ((DeterminationEvent) firstElement).getTaxon();
}
else if(((DeterminationEvent) firstElement).getTaxonName()!=null){
- //TODO how to open editor for taxon name
- }
- }
- if(taxonToOpenUuid!=null){
- String commandId = "eu.etaxonomy.taxeditor.editor.openTaxonEditor";
-
-
- ArrayList parameters = new ArrayList();
- IParameter iparam = null;
-
- //get the command from plugin.xml
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- ICommandService cmdService = (ICommandService)window.getService(ICommandService.class);
- Command cmd = cmdService.getCommand(commandId);
-
- //get the parameter
- try {
- iparam = cmd.getParameter("eu.etaxonomy.taxeditor.editor.taxonParameter");
- } catch (NotDefinedException e1) {
- MessagingUtils.error(this.getClass(), "Command not defined", e1);
- }
- Parameterization params = new Parameterization(iparam, taxonToOpenUuid.toString());
- parameters.add(params);
-
- //build the parameterized command
- ParameterizedCommand pc = new ParameterizedCommand(cmd, (Parameterization[]) parameters.toArray(new Parameterization[parameters.size()]));
-
- //execute the command
- IHandlerService handlerService = (IHandlerService)window.getService(IHandlerService.class);
- try {
- handlerService.executeCommand(pc, null);
- } catch (ExecutionException e) {
- MessagingUtils.error(TaxonAssociationDetailElement.class, e);
- } catch (NotDefinedException e) {
- MessagingUtils.error(TaxonAssociationDetailElement.class, e);
- } catch (NotEnabledException e) {
- MessagingUtils.error(TaxonAssociationDetailElement.class, e);
- } catch (NotHandledException e) {
- MessagingUtils.error(TaxonAssociationDetailElement.class, e);
+ firstElement = ((DeterminationEvent) firstElement).getTaxonName();
}
}
+ new CdmViewerChooser(event.getViewer().getControl().getShell()).chooseViewer(firstElement);
}
}
}
import java.util.Collections;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.molecular.Sequence;
-import eu.etaxonomy.cdm.model.molecular.SingleRead;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
/**
public void addElement(Media element) {
if(getEntity().getContigFile()==null){
getEntity().setContigFile(element);
+ /*
+ * merge to avoid duplicate key exception
+ * the exception seems to be caused by the two links to the Media object:
+ * - Sequence->contigFile (used to be not in the cache after saving)
+ * - MediaRepresentationPart->media
+ * Invoking merge() solves this problem
+ */
+ CdmStore.getService(IMediaService.class).merge(element);
}
}
import java.util.Collections;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.molecular.SingleRead;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
public void addElement(Media element) {
if(getEntity().getPherogram()==null){
getEntity().setPherogram(element);
+ /*
+ * merge to avoid duplicate key exception
+ * the exception seems to be caused by the two links to the Media object:
+ * - SingleRead->pherogram (used to be not in the cache after saving)
+ * - MediaRepresentationPart->media
+ * Invoking merge() solves this problem
+ */
+ CdmStore.getService(IMediaService.class).merge(element);
}
}
--- /dev/null
+package eu.etaxonomy.taxeditor.ui.section.supplemental.identifier;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.common.Identifier;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+
+public abstract class AbstractIdentifierSection<T> extends AbstractEntityCollectionSection<T, Identifier> {
+
+ public AbstractIdentifierSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+ super(formFactory, conversation, parentElement, "Identifiers", style);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Identifier createNewElement() {
+ return Identifier.NewInstance(null, null);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String getEmptyString() {
+ return "No identifiers yet.";
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getTooltipString() {
+ return "Add an identifier";
+ }
+
+}
--- /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.ui.section.supplemental.identifier;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.common.Identifier;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+
+/**
+ *
+ * @author pplitzner
+ *
+ */
+public class DerivedUnitFacadeIdentifierSection extends AbstractIdentifierSection<DerivedUnitFacade> {
+
+
+ public DerivedUnitFacadeIdentifierSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement,
+ int style) {
+ super(formFactory, conversation, parentElement, style);
+ }
+
+ @Override
+ public Collection<Identifier> getCollection(DerivedUnitFacade entity) {
+ return entity.getIdentifiers();
+ }
+
+
+ @Override
+ public void addElement(Identifier element) {
+ getEntity().addIdentifier(element);
+ }
+
+
+ @Override
+ public void removeElement(Identifier element) {
+ getEntity().removeIdentifier(element);
+ }
+
+}
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-package eu.etaxonomy.taxeditor.ui.section.identifier;
+package eu.etaxonomy.taxeditor.ui.section.supplemental.identifier;
import org.eclipse.swt.events.SelectionListener;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
/**
- * <p>
- * CollectionDetailElement class.
- * </p>
*
- * @author n.hoffmann
- * @created Oct 13, 2010
- * @version 1.0
+ * @author pplitzner
+ *
*/
-public class IdentifierDetailElement extends AbstractEntityCollectionElement<Identifier> {
+public class IdentifierElement extends AbstractEntityCollectionElement<Identifier> {
private TextWithLabelElement textIdentifier;
private TermComboElement<DefinedTerm> comboIdentifierType;
- /**
- * <p>
- * Constructor for CollectingAreasDetailElement.
- * </p>
- *
- * @param formFactory
- * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
- * object.
- * @param section
- * a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
- * object.
- * @param entity
- * a {@link eu.etaxonomy.cdm.model.location.NamedArea} object.
- * @param removeListener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- * @param style
- * a int.
- */
- public IdentifierDetailElement(CdmFormFactory formFactory,
+ public IdentifierElement(CdmFormFactory formFactory,
AbstractFormSection section, Identifier entity,
SelectionListener removeListener, int style) {
super(formFactory, section, entity, removeListener, null, style);
}
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity
- * (java.lang.Object)
- */
/** {@inheritDoc} */
@Override
public void setEntity(Identifier entity) {
comboIdentifierType.setSelection(entity.getType());
}
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
- * (eu.etaxonomy.taxeditor.forms.ICdmFormElement,
- * eu.etaxonomy.cdm.model.common.IAnnotatableEntity, int)
- */
/** {@inheritDoc} */
@Override
public void createControls(ICdmFormElement formElement, int style) {
+ comboIdentifierType = formFactory.createDefinedTermComboElement(TermType.IdentifierType, formElement, "Type", null, style);
textIdentifier = formFactory.createTextWithLabelElement(formElement, "Identifier", null, style);
- comboIdentifierType = formFactory.createDefinedTermComboElement(TermType.IdentifierType, formElement, "Type", null, style);
}
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
- * .lang.Object)
- */
- /** {@inheritDoc} */
@Override
public void handleEvent(Object eventSource) {
if (eventSource == textIdentifier) {
--- /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.ui.section.supplemental.identifier;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.model.common.Identifier;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+
+/**
+ *
+ * @author pplitzner
+ *
+ */
+public class IdentifierSection extends AbstractIdentifierSection<IdentifiableEntity> {
+
+ public IdentifierSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement,
+ int style) {
+ super(formFactory, conversation, parentElement, style);
+ }
+
+ @Override
+ public Collection<Identifier> getCollection(IdentifiableEntity entity) {
+ return entity.getIdentifiers();
+ }
+
+ @Override
+ public void addElement(Identifier element) {
+ getEntity().addIdentifier(element);
+ }
+
+ @Override
+ public void removeElement(Identifier element) {
+ getEntity().removeIdentifier(element);
+ }
+
+}
text_appendedPhrase = formFactory.createTextWithLabelElement(
formElement, "Appended Phrase", entity.getAppendedPhrase(),
SWT.WRAP);
- //formFactory.createTextWithLabelElement(formElement, "Appended Phrase", nonViralName.getAppendedPhrase(), style);
+
}
selection_secundum = formFactory.createSelectionElement(Reference.class,
style);
text_secundum_microreference = formFactory.createTextWithLabelElement(
- formElement, "Micro Reference",
+ formElement, "Detail",
entity.getSecMicroReference(),null,
SWT.WRAP);
// $Id$\r
/**\r
* Copyright (C) 2009 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
* http://www.e-taxonomy.eu\r
-* \r
+*\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
\r
-import eu.etaxonomy.cdm.model.common.Language;\r
-import eu.etaxonomy.cdm.model.common.Representation;\r
+import org.eclipse.swt.widgets.Button;\r
+\r
import eu.etaxonomy.cdm.model.common.TermBase;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.taxeditor.editor.definedterm.TermBasePropertyTester;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
-import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;\r
+import eu.etaxonomy.taxeditor.ui.element.RepresentationElement;\r
import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;\r
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;\r
\r
*/\r
public abstract class AbstractTermBaseDetailElement<T extends TermBase> extends AbstractCdmDetailElement<T> {\r
\r
- protected TextWithLabelElement text_label;\r
- protected TextWithLabelElement text_description;\r
+ //protected TextWithLabelElement text_label;\r
+ //protected TextWithLabelElement text_description;\r
protected UriWithLabelElement uri_uri;\r
- protected TextWithLabelElement text_abbreviatedLabel;\r
- \r
+ //protected TextWithLabelElement text_abbreviatedLabel;\r
+ //protected TermComboElement<Language> combo_language;\r
+ //private TermBase term;\r
+ //protected Representation representation;\r
+ protected RepresentationElement element_Representation;\r
+ private Button button;\r
+\r
+\r
/**\r
* @param formFactory\r
* @param formElement\r
ICdmFormElement formElement) {\r
super(formFactory, formElement);\r
}\r
- \r
+\r
@Override\r
protected void createControls(ICdmFormElement formElement,\r
T entity, int style) {\r
- \r
- Representation representation = getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage());\r
- \r
- text_label = formFactory.createTextWithLabelElement(formElement, "Label", representation.getLabel(), style);\r
- text_abbreviatedLabel = formFactory.createTextWithLabelElement(formElement, "Abbrev. Label", representation.getAbbreviatedLabel(), style);\r
- text_description = formFactory.createMultiLineTextWithLabel(formElement, "Description", 100, style);\r
- text_description.setText(representation.getDescription());\r
+\r
+ element_Representation = formFactory.createTranslatableRepresentationElement(formElement, getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage()),getEntity(), 100, style, true);\r
+\r
uri_uri = formFactory.createUriWithLabelElement(formElement, "URI", getEntity().getUri(), style);\r
- \r
+\r
}\r
\r
- @Override\r
+\r
+\r
+ @Override\r
public void setEntity(T entity) {\r
super.setEntity(entity);\r
setEnabled(TermBasePropertyTester.isModifiable(entity));\r
}\r
- \r
- protected void handleRepresentation(Object eventSource){\r
- T entity = getEntity();\r
- Representation representation = entity.getRepresentation(CdmStore.getDefaultLanguage());\r
- \r
- if (representation == null){\r
- return;\r
- }\r
- \r
- if (eventSource == text_label){\r
- representation.setLabel(text_label.getText());\r
- entity.setLabel(text_label.getText());\r
- }else if (eventSource == text_abbreviatedLabel){\r
- representation.setAbbreviatedLabel(text_abbreviatedLabel.getText());\r
- }else if (eventSource == text_description){\r
- representation.setText(text_description.getText());\r
- }\r
- }\r
+\r
+\r
\r
public abstract TermVocabulary getVocabulary();\r
- \r
+\r
+\r
+\r
}\r
*/\r
@Override\r
public void handleEvent(Object eventSource) {\r
- handleRepresentation(eventSource);\r
+ //handleRepresentation(eventSource);\r
if(eventSource==textIdInVocabulary){\r
if (StringUtils.isBlank(textIdInVocabulary.getText())){\r
getEntity().setIdInVocabulary(null);\r
if (StringUtils.isBlank(textSymbol.getText())){\r
getEntity().setSymbol(null);\r
}else{\r
- getEntity().setSymbol(textIdInVocabulary.getText());\r
+ getEntity().setSymbol(textSymbol.getText());\r
}\r
\r
}\r
*/\r
@Override\r
public String getHeading() {\r
- String result = null;\r
+ /*String result = null;\r
result = getEntity() != null ? getEntity().getLabel() : "";\r
if (result == null){\r
result = getEntity().getTitleCache();\r
- } \r
+ } */\r
\r
- return "Defined Term: "+ result;\r
+ return "Defined Term ";//+ result;\r
}\r
\r
//FIXME clean up create element methods\r
*/\r
package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
\r
-import eu.etaxonomy.cdm.model.common.Language;\r
import eu.etaxonomy.cdm.model.common.TermType;\r
import eu.etaxonomy.cdm.model.location.NamedArea;\r
import eu.etaxonomy.cdm.model.location.NamedAreaLevel;\r
\r
if (eventSource == textIdInVocabulary){\r
getEntity().setIdInVocabulary(textIdInVocabulary.getText());\r
- } else if (eventSource == text_label) {\r
- getEntity().setLabel(text_label.getText());\r
+ } else if (eventSource == element_Representation) {\r
+ getEntity().setLabel(element_Representation.getSelectedRepresentation().getLabel(), element_Representation.getSelectedRepresentation().getLanguage());\r
+ getEntity().getRepresentation(element_Representation.getSelectedRepresentation().getLanguage()).setAbbreviatedLabel(element_Representation.getSelectedRepresentation().getAbbreviatedLabel());\r
+ getEntity().getRepresentation(element_Representation.getSelectedRepresentation().getLanguage()).setText(element_Representation.getSelectedRepresentation().getDescription());\r
getEntity().setTitleCache(null);\r
- } else if (eventSource == text_description) {\r
- getEntity().getRepresentation(Language.getDefaultLanguage()).setText(text_description.getText());\r
} else if (eventSource == uri_uri) {\r
getEntity().setUri(uri_uri.parseText());\r
- } else if (eventSource == text_abbreviatedLabel) {\r
- getEntity().getRepresentation(Language.getDefaultLanguage()).setAbbreviatedLabel(text_abbreviatedLabel.getText());\r
} else if (eventSource == timePeriod_validPeriod) {\r
getEntity().setValidPeriod(timePeriod_validPeriod.getTimePeriod());\r
} else if (eventSource == combo_namedAreaType) {\r
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2016 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.ui.section.vocabulary;
+
+import org.eclipse.jface.wizard.Wizard;
+
+import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.common.TermBase;
+import eu.etaxonomy.taxeditor.ui.translation.TermTranslationWizardPage;
+
+/**
+ * @author k.luther
+ * @date 22.06.2016
+ *
+ */
+public class TermTranslationWizard extends Wizard {
+ private TermTranslationWizardPage page;
+
+ private final TermBase term;
+
+ /**
+ * <p>Constructor for TranslationWizard.</p>
+ *
+ * @param multilanguageText a {@link java.util.Map} object.
+ */
+ public TermTranslationWizard(TermBase term) {
+ setWindowTitle("Translation Editor");
+ this.term = term;
+ setNeedsProgressMonitor(true);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.wizard.Wizard#addPages()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void addPages() {
+ page = new TermTranslationWizardPage(term);
+ addPage(page);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.wizard.Wizard#performFinish()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public boolean performFinish() {
+ Representation representation = page.getTargetRepresentation();
+
+ if (representation.getLanguage() == null){
+ return false;
+ }
+ if (!representation.getText().equals("") || !representation.getLabel().equals("") || !representation.getAbbreviatedLabel().equals("")) {
+ term.addRepresentation(representation);
+ }
+
+ return true;
+ }
+}
@Override\r
public void handleEvent(Object eventSource) {\r
\r
- handleRepresentation(eventSource);\r
+ //handleRepresentation(eventSource);\r
\r
if (eventSource == uri_uri) {\r
getEntity().setUri(uri_uri.parseText());\r
private CdmBase rootElement;
public EditFromSelectionWizard(EntitySelectionElement selectionElement) {
- if (CdmStore.isActive() && CdmStore.getCurrentSessionManager().isRemoting()) {
+ if (CdmStore.isActive()) {
previousCdmEntitySession = CdmStore.getCurrentSessionManager().getActiveSession();
cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
cdmEntitySession.bind();
addPage(new ReferenceWizardPage(formFactory,
selectionElement.getConversationHolder(),
(HibernateProxyHelper.deproxy(rootElement, Reference.class))));
- } else if (rootElement.isInstanceOf(Team.class)) {
+ } else if (rootElement.isInstanceOf(Team.class) && selectionElement instanceof EntitySelectionElementWithAbbreviatedTitle<?>) {
addPage(new TeamWizardPage(formFactory,
- selectionElement.getConversationHolder(), HibernateProxyHelper.deproxy(rootElement, Team.class)));
- } else if (rootElement.isInstanceOf(Person.class)) {
+ selectionElement.getConversationHolder(), HibernateProxyHelper.deproxy(rootElement, Team.class), true));
+ } else if (rootElement.isInstanceOf(Team.class) && !(selectionElement instanceof EntitySelectionElementWithAbbreviatedTitle<?>)) {
+ addPage(new TeamWizardPage(formFactory,
+ selectionElement.getConversationHolder(), HibernateProxyHelper.deproxy(rootElement, Team.class), false));
+ } else if (rootElement.isInstanceOf(Person.class)) {
addPage(new PersonWizardPage(formFactory,
selectionElement.getConversationHolder(), HibernateProxyHelper.deproxy(rootElement, Person.class)));
} else if (rootElement.isInstanceOf(NonViralName.class)) {
import java.util.Observer;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.MessageDialog;
+
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2016 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.ui.translation;
+
+/**
+ * @author k.luther
+ * @date 22.06.2016
+ *
+ */
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.common.TermBase;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
+import eu.etaxonomy.taxeditor.ui.element.MultilanguageTextElement;
+import eu.etaxonomy.taxeditor.ui.element.RepresentationElement;
+import eu.etaxonomy.taxeditor.ui.element.RootElement;
+
+public class TermTranslationWizardPage extends WizardPage implements PropertyChangeListener{
+
+
+ private static int TEXT_HEIGHT = 200;
+
+ private final TermBase term;
+
+ MultilanguageTextElement source;
+
+ private final CdmFormFactory formFactory;
+
+ private RepresentationElement text_source;
+
+ private RepresentationElement text_target;
+
+ /**
+ * <p>Constructor for TranslationWizardPage.</p>
+ *
+ * @param multilanguageText a {@link java.util.Map} object.
+ */
+ public TermTranslationWizardPage(TermBase term) {
+ super("TranslationWizardPage");
+ //Assert.isNotNull(multilanguageText, "Multilanguage text may not be null");
+ setTitle("Add or edit translations.");
+ this.term = term;
+ formFactory = new CdmFormFactory(Display.getCurrent());
+ setPageComplete(false);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void createControl(Composite parent) {
+ Composite control = formFactory.createComposite(parent);
+// control.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GREEN));
+ control.setLayout(LayoutConstants.LAYOUT(2, false));
+
+ Composite leftContainer = formFactory.createComposite(control);
+ leftContainer.setLayoutData(LayoutConstants.FILL(1, 4));
+ leftContainer.setLayout(LayoutConstants.LAYOUT(2, false));
+// leftContainer.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
+ RootElement leftRoot = new RootElement(formFactory, leftContainer);
+
+ Composite rightContainer = formFactory.createComposite(control);
+ rightContainer.setLayoutData(LayoutConstants.FILL(1, 4));
+ rightContainer.setLayout(LayoutConstants.LAYOUT(2, false));
+// rightContainer.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
+ RootElement rightRoot = new RootElement(formFactory, rightContainer);
+
+ createLeftControls(leftRoot);
+ createRightControls(rightRoot);
+
+
+ // initialize with default language
+ setSource(CdmStore.getDefaultLanguage());
+
+
+ setControl(control);
+ setPageComplete(true);
+ }
+
+ /**
+ * @param defaultLanguage
+ */
+ private void setSource(Language language) {
+
+ Representation preferredRepresentation =term.getPreferredRepresentation(language);
+
+ if(preferredRepresentation != null){
+ text_source.setSelectedRepresentation(preferredRepresentation);
+ }
+ }
+
+
+ /**
+ *
+ * @param element
+ */
+ private void createLeftControls(ICdmFormElement element){
+ Representation preferredRepresentation= term.getPreferredRepresentation(PreferencesUtil.getGlobalLanguage());
+
+ text_source = formFactory.createRepresentationElement(element, preferredRepresentation,term, TEXT_HEIGHT, SWT.NULL, true);
+ text_source.setTerm(term, true);
+
+ }
+
+ /**
+ *
+ * @param element
+ */
+ private void createRightControls(ICdmFormElement element){
+ text_target = formFactory.createRepresentationElement(element, null, term, TEXT_HEIGHT, SWT.NULL, false);
+
+ }
+
+
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.DialogPage#dispose()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void dispose() {
+ super.dispose();
+ }
+
+ /**
+ * @return
+ *
+ */
+ public Representation getTargetRepresentation() {
+ return text_target.getSelectedRepresentation();
+ }
+
+ /* (non-Javadoc)
+ * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+ */
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (evt.getSource() == text_target){
+ if (!StringUtils.isBlank(text_target.getSelectedRepresentation().getAbbreviatedLabel()) ||
+ !StringUtils.isBlank(text_target.getSelectedRepresentation().getLabel()) || !StringUtils.isBlank(text_target.getSelectedRepresentation().getText())){
+ setPageComplete(true);
+ }
+ }
+
+ }
+
+
+
+
+}
public boolean performFinish() {
LanguageString languageString = page.getTargetLanguageString();
+ if (languageString.getLanguage() == null){
+ return false;
+ }
if (!languageString.getText().equals("")) {
multilanguageText.put(languageString.getLanguage(), languageString);
}
import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
rightContainer.setLayout(LayoutConstants.LAYOUT(1, false));
// rightContainer.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
RootElement rightRoot = new RootElement(formFactory, rightContainer);
-
+
createLeftControls(leftRoot);
createRightControls(rightRoot);
-
+
// initialize with default language
setSource(CdmStore.getDefaultLanguage());
private void createLeftControls(ICdmFormElement element){
combo_sourceLanguage = formFactory.createDefinedTermComboElement(TermType.Language, element, null, null, SWT.NULL);
-
+
combo_sourceLanguage.setTerms(getLanguages());
combo_sourceLanguage.addSelectionListener(new SelectionAdapter() {
});
LanguageString preferredLanguageString = MultilanguageTextHelper.getPreferredLanguageString(multilanguageText, getLanguages());
-
+ if (preferredLanguageString == null){
+ preferredLanguageString = LanguageString.NewInstance("", PreferencesUtil.getGlobalLanguage());
+ }
text_source = formFactory.createLanguageStringWithLabelElement(element, null, preferredLanguageString, TEXT_HEIGHT, false, SWT.NULL);
// text_source.setEnabled(false);
-
+
text_source.setText(preferredLanguageString.getText());
}
Language language = combo_targetLanguage.getSelection();
if (language == null){
+ setPageComplete(false);
return;
}
* @return
*/
public static boolean isStable() {
- return !getVersion().startsWith("[");
+ return !getVersion().startsWith(BETA_PREFIX);
}
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.view.detail.CdmSectionPart;
/**
- * <p>Abstract AbstractCdmDataViewer class.</p>
- *
* @author n.hoffmann
* @created Feb 9, 2010
* @version 1.0
private final AbstractCdmViewPart viewPart;
- /**
- * <p>Constructor for AbstractCdmDataViewer.</p>
- *
- * @param parent a {@link org.eclipse.swt.widgets.Composite} object.
- * @param viewPart a {@link eu.etaxonomy.taxeditor.view.AbstractCdmViewPart} object.
- */
public AbstractCdmDataViewer(Composite parent, AbstractCdmViewPart viewPart) {
this.viewPart = viewPart;
managedForm = new ManagedForm(parent){
- /* (non-Javadoc)
- * @see org.eclipse.ui.forms.ManagedForm#dirtyStateChanged()
- */
@Override
public void dirtyStateChanged() {
markViewPartDirty();
rootElement = new RootElement(formFactory, body);
}
- /**
- * <p>createFormFactory</p>
- */
protected void createFormFactory() {
if(formFactory != null){
formFactory.dispose();
viewPart.changed(input);
}
-
- /**
- * @return
- */
protected AbstractCdmViewPart getViewPart() {
return viewPart;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.Viewer#getControl()
- */
/** {@inheritDoc} */
@Override
public Control getControl() {
return body;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.Viewer#setInput(java.lang.Object)
- */
/** {@inheritDoc} */
@Override
public void setInput(Object input) {
refresh();
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.Viewer#getInput()
- */
/** {@inheritDoc} */
@Override
public Object getInput() {
return input;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.Viewer#refresh()
- */
/** {@inheritDoc} */
@Override
public void refresh() {
managedForm.reflow(true);
}
-
- /**
- * <p>layout</p>
- */
public void layout(){
body.layout();
}
- /**
- * <p>showParts</p>
- */
protected abstract void showParts();
-
- /**
- * <p>destroySections</p>
- */
protected void destroySections() {
for (IFormPart formPart : managedForm.getParts()){
- removePart((CdmSectionPart) formPart);
+ removePart((CdmSectionPart<?>) formPart);
}
managedForm.setInput(null);
}
}
-
- /**
- * <p>setFocus</p>
- */
public void setFocus(){
// we have to set focus to a control of this viewer
// otherwise, after opening a dialog from the details, the focus will not be
}
}
- /**
- * <p>reflow</p>
- */
public void reflow(){
managedForm.reflow(true);
}
- /**
- * <p>removePart</p>
- *
- * @param sectionPart a {@link eu.etaxonomy.taxeditor.view.detail.CdmSectionPart} object.
- */
- protected void removePart(CdmSectionPart sectionPart){
+ protected void removePart(CdmSectionPart<?> sectionPart){
managedForm.removePart(sectionPart);
formFactory.removePropertyChangeListener(sectionPart);
}
- /**
- * <p>addPart</p>
- *
- * @param section a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} object.
- */
- protected void addPart(AbstractFormSection section){
- CdmSectionPart sectionPart = new CdmSectionPart(section);
+ protected void addPart(AbstractFormSection<?> section){
+ CdmSectionPart<?> sectionPart = new CdmSectionPart<>(section);
managedForm.addPart(sectionPart);
formFactory.addPropertyChangeListener(sectionPart);
}
- /**
- * <p>getConversationHolder</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
- */
@Override
public ConversationHolder getConversationHolder() {
return viewPart.getConversationHolder();
}
- /** {@inheritDoc} */
- @Override
- public void update(CdmDataChangeMap changeEvents) {}
-
}
* <p>showEmptyPage</p>
*/
public void showEmptyPage(){
+ setPartName(createPartTitle(null));
pageBook.showPage(emptySelectionLabel);
}
if (getViewer().getControl()==null || getViewer().getControl().isDisposed()){
return;
}
+
+ setPartName(createPartTitle(element));
getViewer().setInput(element);
showViewer();
}
// TODO Auto-generated method stub
return null;
}
+
+ protected String createPartTitle(Object selectedObject){
+ if(selectedObject!=null){
+ return getViewName()+": "+selectedObject; //$NON-NLS-1$
+ }
+ return getViewName();
+ }
+
+ protected abstract String getViewName();
}
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
+import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.actions.CompoundContributionItem;
import org.eclipse.ui.handlers.IHandlerService;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.api.service.ITaxonService;
+import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.ICdmBase;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.cdm.model.taxon.Synonym;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
import eu.etaxonomy.taxeditor.Messages;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
@Override
public void fill(Menu menu, int index) {
final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- final ISelection selection = window.getActivePage().getSelection();
- if(selection instanceof IStructuredSelection){
- Object firstElement = ((IStructuredSelection) selection).getFirstElement();
- Map<Command, String> enabledCommands = CdmViewerUtil.getAvailableViewers(firstElement);
+ IWorkbenchPage activePage = window.getActivePage();
+ if(activePage!=null){
+ final ISelection selection = activePage.getSelection();
+ if(selection instanceof IStructuredSelection){
+ Object firstElement = ((IStructuredSelection) selection).getFirstElement();
+ Map<Command, String> enabledCommands = CdmViewerUtil.getAvailableViewers(firstElement);
- //check if only one or multiple viewers/commands are available
- if(enabledCommands.size()==1){
- Entry<Command, String> entry = enabledCommands.entrySet().iterator().next();
- final Command command = entry.getKey();
- String viewerName = entry.getValue();
+ //check if only one or multiple viewers/commands are available
+ if(enabledCommands.size()==1){
+ Entry<Command, String> entry = enabledCommands.entrySet().iterator().next();
+ final Command command = entry.getKey();
+ String viewerName = entry.getValue();
- MenuItem addItem = new MenuItem(menu, SWT.CASCADE);
- addItem.setText(String.format(Messages.CdmViewerContextMenu_OPEN, viewerName));
- addItem.addSelectionListener(new CommandInvoker(command, firstElement)) ;
- }
- else if(enabledCommands.size()>1){
- MenuItem addItem = new MenuItem(menu, SWT.CASCADE);
- addItem.setText(Messages.CdmViewerContextMenu_OPEN_IN);
- Menu addMenu = new Menu(menu);
- addItem.setMenu(addMenu);
- for(Entry<Command, String> entry:enabledCommands.entrySet()){
- final Command command = entry.getKey();
- String viewerName = entry.getValue();
+ MenuItem addItem = new MenuItem(menu, SWT.CASCADE);
+ addItem.setText(String.format(Messages.CdmViewerContextMenu_OPEN, viewerName));
+ addItem.addSelectionListener(new CommandInvoker(command, firstElement)) ;
+ }
+ else if(enabledCommands.size()>1){
+ MenuItem addItem = new MenuItem(menu, SWT.CASCADE);
+ addItem.setText(Messages.CdmViewerContextMenu_OPEN_IN);
+ Menu addMenu = new Menu(menu);
+ addItem.setMenu(addMenu);
+ for(Entry<Command, String> entry:enabledCommands.entrySet()){
+ final Command command = entry.getKey();
+ String viewerName = entry.getValue();
- MenuItem menuItem = new MenuItem(addMenu, SWT.NONE);
- menuItem.setText(viewerName);
- menuItem.addSelectionListener(new CommandInvoker(command, firstElement)) ;
- }
- }
+ MenuItem menuItem = new MenuItem(addMenu, SWT.NONE);
+ menuItem.setText(viewerName);
+ menuItem.addSelectionListener(new CommandInvoker(command, firstElement)) ;
+ }
+ }
+ }
}
}
Map<String, UUID> params = new HashMap<String, UUID>();
//for generic UuidAndTitleCache objects try to load the object
if (selectedObject instanceof UuidAndTitleCache){
- UuidAndTitleCache uuidAndTitleCache = (UuidAndTitleCache)selectedObject;
- Class type = uuidAndTitleCache.getType();
- if(type == Taxon.class || type == Synonym.class){
- selectedObject = CdmStore.getService(ITaxonService.class).load(uuidAndTitleCache.getUuid());
- }
- else if(SpecimenOrObservationBase.class.isAssignableFrom(type)){
- selectedObject = CdmStore.getService(IOccurrenceService.class).load(uuidAndTitleCache.getUuid());
- }
+ selectedObject = CdmStore.getCommonService().find(CdmBase.class, ((UuidAndTitleCache)selectedObject).getUuid());
}
if(selectedObject instanceof ICdmBase){
params.put(command.getId()+".uuid", ((ICdmBase) selectedObject).getUuid()); //$NON-NLS-1$
} catch (NotDefinedException nde) {
throw new RuntimeException("Could not find open command: " + command.getId()); //$NON-NLS-1$
} catch (Exception exception) {
- MessagingUtils.error(getClass(), "An exception occured while trying execute "+command.getId(), exception); //$NON-NLS-1$
+ MessagingUtils.error(getClass(), "An exception occured while trying to execute "+command.getId(), exception); //$NON-NLS-1$
}
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getSelection();
}
}
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.commands.ICommandService;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.api.service.ITaxonService;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.cdm.model.taxon.Synonym;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
//for generic UuidAndTitleCache objects try to load the object
if (input instanceof UuidAndTitleCache){
UuidAndTitleCache uuidAndTitleCache = (UuidAndTitleCache)input;
- Class type = uuidAndTitleCache.getType();
- if(type == Taxon.class || type == Synonym.class){
- input = CdmStore.getService(ITaxonService.class).load(uuidAndTitleCache.getUuid());
- }
- else if(SpecimenOrObservationBase.class.isAssignableFrom(type)){
- input = CdmStore.getService(IOccurrenceService.class).load(uuidAndTitleCache.getUuid());
- }
+ input = CdmStore.getCommonService().find(uuidAndTitleCache.getType(), uuidAndTitleCache.getUuid());
}
if(selectionClass.isAssignableFrom(input.getClass())){
ICommandService commandService = (ICommandService)PlatformUI.getWorkbench().getService(ICommandService.class);
Command command = commandService.getCommand(commandId);
- //TODO: maybe pass the command directly instead of just the command id
if(command.isEnabled()){
commandViewerNameMap.put(command, viewerName);
}
//FIXME move ABCD import to cdmlib -> this will also get rid of the transient services
InputStream resultStream;
resultStream = new BioCaseQueryServiceWrapper().query(query, endPoint);
- Abcd206ImportConfigurator configurator = Abcd206ImportConfigurator.NewInstance(resultStream, null, false);
+ Abcd206ImportConfigurator configurator = Abcd206ImportConfigurator.NewInstance(endPoint, null, false);
/* TransientCdmRepository repo =
new TransientCdmRepository(CdmStore.getCurrentApplicationConfiguration());
configurator.setCdmAppController(repo);
package eu.etaxonomy.taxeditor.view.dataimport;
import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.http.client.ClientProtocolException;
import org.apache.log4j.Logger;
public void handleEvent(Event event) {
try{
DataSetResponse response = new GbifQueryServiceWrapper().queryOriginalDataSet(gbifResponse);
- final BioCaseEditorInput input = new BioCaseEditorInput(new OccurenceQuery(response.getUnitId()), response.getEndpoint());
+ Set<String[]> unitIds = new HashSet<String[]>();
+ String[] tripleId = {response.getUnitId()};
+ unitIds.add(tripleId);
+ /* final BioCaseEditorInput input = new BioCaseEditorInput(new OccurenceQuery(unitIds), response.getEndpoint());
// EditorUtil.open(input);
Job queryJob = new Job("Querying for original record...") {
return Status.OK_STATUS;
}
};
- queryJob.schedule();
+ queryJob.schedule();*/
} catch (ClientProtocolException e) {
logger.error("Query for single record failed.", e);
} catch (IOException e) {
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.viewers.CheckboxTableViewer;
import org.eclipse.swt.SWT;
+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.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
+import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.part.ViewPart;
+import org.eclipse.wb.swt.ResourceManager;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.ext.occurrence.OccurenceQuery;
+import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.IContextListener;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.SelectionDialogFactory;
/**
* View which shows a list of "data" that can be imported into the CDM
*/
public abstract class DataImportView<T> extends ViewPart implements IPartContentHasFactualData,
-IConversationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData, IContextListener{
+IConversationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData, IContextListener, Listener{
protected final Logger logger = Logger.getLogger(DataImportView.class);
private static ConversationHolder conversationHolder;
private SaveImportedSpecimenAction saveImportedSpecimenAction;
+
+ private Text textClassification;
+ private Classification classification;
+ /**
+ * @return the classification
+ */
+ public Classification getClassification() {
+ return classification;
+ }
+
+ /**
+ * @param classification the classification to set
+ */
+ public void setClassification(Classification classification) {
+ this.classification = classification;
+ }
+ private Button btnBrowseClassification;
+ private Button btnClear;
private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
*/
@Override
public void createPartControl(Composite parent) {
+ final Composite composite = new Composite(parent, SWT.NULL);
+
+ GridLayout gridLayout = new GridLayout();
+ gridLayout.numColumns = 4;
+ composite.setLayout(gridLayout);
+ Label label = new Label(composite, SWT.NONE);
+ label.setText("Classification");
+ textClassification = new Text(composite, SWT.NONE);
+ textClassification.setEnabled(false);
+ textClassification.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+ btnBrowseClassification = new Button(composite, SWT.NONE);
+ btnBrowseClassification.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/open.gif"));
+ btnBrowseClassification.addListener(SWT.Selection, this);
+ btnClear = new Button(composite, SWT.NONE);
+ btnClear.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/trash.gif"));
+ btnClear.addListener(SWT.Selection, this);
CheckboxTableViewer checkboxTableViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER | SWT.FULL_SELECTION);
table = checkboxTableViewer.getTable();
toolkit.paintBordersFor(table);
+
+
createActions();
initializeToolBar();
initializeMenu();
}
protected void refresh(){
- getTable().removeAll();
+ // getTable().removeAll();
for(T item:results){
TableItem tableItem = new TableItem(getTable(), SWT.NONE);
tableItem.setText(getTextForTableItem(item));
}
return conversationHolder;
}
-
+ @Override
+ public void handleEvent(Event event) {
+ if(event.widget==btnBrowseClassification){
+ classification = SelectionDialogFactory.getSelectionFromDialog(Classification.class, getSite().getShell(), null, null);
+ if(classification!=null){
+ textClassification.setText(classification.getTitleCache());
+ }
+ }
+ else if(event.widget==btnClear){
+ classification = null;
+ textClassification.setText("");
+ }
+ }
}
--- /dev/null
+package eu.etaxonomy.taxeditor.view.dataimport;
+
+import java.util.Comparator;
+
+import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifDataSetProtocol;
+import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifResponse;
+
+public class GbifResponseComparator implements Comparator<GbifResponse> {
+
+ @Override
+ public int compare(GbifResponse response1, GbifResponse response2) {
+ if (response1 == response2){
+ return 0;
+ }
+ if (response1 == null){
+ return -1;
+ }
+ if (response2 == null){
+ return 1;
+ }
+
+ if (!response1.getDataSetProtocol().equals(response2.getDataSetProtocol())){
+ if (response1.getDataSetProtocol().equals(GbifDataSetProtocol.DWC_ARCHIVE) && response2.getDataSetProtocol().equals(GbifDataSetProtocol.BIOCASE)){
+ return -1;
+ }
+ if (response2.getDataSetProtocol().equals(GbifDataSetProtocol.DWC_ARCHIVE) && response1.getDataSetProtocol().equals(GbifDataSetProtocol.BIOCASE)){
+ return 1;
+ }
+ if (response1.getDataSetProtocol() == null){
+ return -1;
+ }
+ if (response2.getDataSetProtocol() == null){
+ return 1;
+ }
+ } else{
+ if (response1.getDataSetUri() == response2.getDataSetUri()){
+ return 0;
+ }
+ if (response1.getDataSetUri() == null){
+ return -1;
+ }
+ if (response2.getDataSetUri() == null){
+ return -2;
+ }
+ if (response1.getDataSetProtocol().equals(GbifDataSetProtocol.BIOCASE)){
+
+ return response1.getDataSetUri().compareTo(response2.getDataSetUri());
+ }
+ if (response1.getDataSetProtocol().equals(GbifDataSetProtocol.DWC_ARCHIVE)){
+ return response1.getDataSetUri().compareTo(response2.getDataSetUri());
+ }
+ }
+
+ return 0;
+ }
+
+}
package eu.etaxonomy.taxeditor.view.dataimport;
import java.io.IOException;
+import java.io.InputStream;
import java.net.URISyntaxException;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.http.client.ClientProtocolException;
+import org.eclipse.core.runtime.jobs.Job;
+import eu.etaxonomy.cdm.ext.occurrence.bioCase.BioCaseQueryServiceWrapper;
+import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifDataSetProtocol;
import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifQueryServiceWrapper;
import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifResponse;
+import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
+import eu.etaxonomy.cdm.io.common.IImportConfigurator.SOURCE_TYPE;
+import eu.etaxonomy.cdm.io.dwca.in.DwcaImportConfigurator;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* @author pplitzner
public void query() {
String errorMessage = "Could not execute query " + query;
try{
- Collection<GbifResponse> results = new GbifQueryServiceWrapper().query(query);
- setResults(results);
- } catch (ClientProtocolException e) {
- logger.error(errorMessage, e);
- } catch (IOException e) {
- logger.error(errorMessage, e);
- } catch (URISyntaxException e) {
- logger.error(errorMessage, e);
+ //Collection<GbifResponse> results = new GbifQueryServiceWrapper().query(query);
+ //setResults(results);
+
+ // String errorMessage = "Could not execute query " + query;
+
+ // Collection<SpecimenOrObservationBase<?>> results = new ArrayList<SpecimenOrObservationBase<?>>();
+ Collection<GbifResponse> results = new GbifQueryServiceWrapper().query(query);
+
+ setResults(results);
+
+
+//
+ // results = repo.getUnits();
+
+ } catch (ClientProtocolException e) {
+ logger.error(errorMessage, e);
+ } catch (IOException e) {
+ logger.error(errorMessage, e);
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
}
- }
+// setResults(results);
+//
+// }
+// } catch (ClientProtocolException e) {
+// logger.error(errorMessage, e);
+// } catch (IOException e) {
+// logger.error(errorMessage, e);
+// } catch (URISyntaxException e) {
+// logger.error(errorMessage, e);
+// }
+
+ // }
+
+
+
+
+
}
package eu.etaxonomy.taxeditor.view.dataimport;
+import java.io.IOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.UUID;
+
+import org.apache.http.client.ClientProtocolException;
import org.apache.log4j.Logger;
+import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.action.Action;
+import org.eclipse.jface.text.source.Annotation;
+import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PlatformUI;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.ITermService;
+import eu.etaxonomy.cdm.ext.occurrence.OccurenceQuery;
+import eu.etaxonomy.cdm.ext.occurrence.gbif.DataSetResponse;
+import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifDataSetProtocol;
+import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifQueryServiceWrapper;
import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifResponse;
+import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;
+import eu.etaxonomy.cdm.io.specimen.gbif.in.*;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.SelectionDialogFactory;
public class SaveImportedSpecimenAction extends Action {
private final Logger logger = Logger.getLogger(SaveImportedSpecimenAction.class);
+
+ private Comparator<GbifResponse> comparator;
/* (non-Javadoc)
* @see org.eclipse.jface.action.Action#run()
if(activePart instanceof DataImportView<?>){
DataImportView<?> dataImportView = (DataImportView<?>)activePart;
Table table = dataImportView.getTable();
+ Collection<GbifResponse> checkedResults = new HashSet<GbifResponse>();
+ Object data;
+ Set<String[]> unitIdsGbif = new HashSet<String[]>();
+ Set<String[]> unitIdsBioCase = new HashSet<String[]>();
+ List<GbifResponse> biocaseResponses = new ArrayList<GbifResponse>();
+
for(TableItem item:table.getItems()){
if(item.getChecked()){
//Save Specimen
- Object data = item.getData();
- if(data instanceof GbifResponse){
- data = ((GbifResponse) item.getData()).getDerivedUnitFacade().innerFieldUnit();
- }
- if(data instanceof SpecimenOrObservationBase){
- ConversationHolder conversation = dataImportView.getConversationHolder();
- SpecimenOrObservationBase<?> specimen = (SpecimenOrObservationBase<?>) data;
- conversation.bind();
- IOccurrenceService occurrenceService = CdmStore.getService(IOccurrenceService.class);
- for(ICdmBase cdmEntity:occurrenceService.getNonCascadedAssociatedElements(specimen)){
- if(cdmEntity instanceof DefinedTermBase){
- persistTerm((DefinedTermBase<?>) cdmEntity, CdmStore.getService(ITermService.class), conversation);
- }
- else if(cdmEntity instanceof TaxonNameBase){
- //user interaction
- }
- }
- occurrenceService.saveOrUpdate(specimen);
- dataImportView.getConversationHolder().commit(true);
- }
+ data = item.getData();
+ if(data instanceof GbifResponse){
+ checkedResults.add((GbifResponse)item.getData());
+ }
}
+ }
+ String[] tripleId ;
+ for (GbifResponse response:checkedResults){
+ if (response != null){
+ tripleId = response.getTripleID();
+
+ if (response.getDataSetProtocol().equals(GbifDataSetProtocol.BIOCASE)){
+ biocaseResponses.add(response);
+
+ }else{
+ unitIdsGbif.add(tripleId);
+ }
+
+
+ }
+ }
+ Collections.sort(biocaseResponses, getComparator());
+ URI dataSetUri = null;
+ Abcd206ImportConfigurator configuratorAbcd;
+
+ List<Abcd206ImportConfigurator> abcdConfigurators = new ArrayList<Abcd206ImportConfigurator>();
+ DataSetResponse dataSetResponse;
+ OccurenceQuery bioCaseOccurrenceQuery = null;
+ for (GbifResponse response: biocaseResponses){
+ try {
+ dataSetResponse = new GbifQueryServiceWrapper().queryOriginalDataSet(response);
+ dataSetUri = dataSetResponse.getEndpoint();
+ } catch (ClientProtocolException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ if (!response.getDataSetUri().equals(dataSetUri)){
+ configuratorAbcd = Abcd206ImportConfigurator.NewInstance(dataSetUri, null, false);
+ configuratorAbcd.addMediaAsMediaSpecimen(true);
+ if (configuratorAbcd != null){
+ abcdConfigurators.add(configuratorAbcd);
+ }
+ unitIdsBioCase = new HashSet<String[]>();
+ bioCaseOccurrenceQuery = new OccurenceQuery(unitIdsBioCase);
+ configuratorAbcd.setOccurenceQuery(bioCaseOccurrenceQuery);
+ if (dataImportView.getClassification() != null){
+ configuratorAbcd.setClassificationUuid(dataImportView.getClassification().getUuid());
+ }
+
+ }
+ tripleId = response.getTripleID();
+ unitIdsBioCase.add(tripleId);
+ }
+
+ OccurenceQuery query = new OccurenceQuery(unitIdsGbif);
+ GbifImportConfigurator configurator = GbifImportConfigurator.newInstance(query);
+ configurator.setSourceReferenceTitle("Import Gbif data");
+
+
+
+ // configurator.setQuery(query);
+
+ Job bioCaseJob = CdmStore.getImportManager().createIOServiceJob(abcdConfigurators);
+ CdmStore.getImportManager().run(bioCaseJob);
+
+ Job gbifJob = CdmStore.getImportManager().createIOServiceJob(configurator);
+ CdmStore.getImportManager().run(gbifJob);
+
+
+
}
}
- }
-
+
+
private void persistTerm(DefinedTermBase<?> term, ITermService termService, ConversationHolder conversation){
if(term!=null){
//if the term does not exist in the DB save it
}
}
}
-
-
+
/* (non-Javadoc)
* @see org.eclipse.jface.action.Action#getText()
*/
public String getText() {
return "Import";
}
-
+
+ private Comparator<GbifResponse> getComparator(){
+ if (comparator == null){
+ comparator = new GbifResponseComparator();
+ }
+ return comparator;
+ }
+
+
}
// new TransientCdmRepository(CdmStore.getCurrentApplicationConfiguration());
//configurator.setCdmAppController(repo);
configurator.setAddMediaAsMediaSpecimen(true);
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- Job job = CdmStore.getImportManager().createIOServiceJob(configurator, resultStream, SOURCE_TYPE.INPUTSTREAM);
- CdmStore.getImportManager().run(job);
- } else {
- configurator.setSource(resultStream);
- CdmDefaultImport<Abcd206ImportConfigurator> importer = new CdmDefaultImport<Abcd206ImportConfigurator>();
- importer.invoke(configurator);
- }
- // results = repo.getUnits();
+ configurator.setAllowReuseOtherClassifications(true);
+
+ Job job = CdmStore.getImportManager().createIOServiceJob(configurator, resultStream, SOURCE_TYPE.INPUTSTREAM);
+ CdmStore.getImportManager().run(job);
+
setResults(results);
} catch (ClientProtocolException e) {
logger.error(errorMessage, e);
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.widgets.Composite;
+import eu.etaxonomy.cdm.ext.common.ServiceWrapperBase;
+import eu.etaxonomy.cdm.ext.occurrence.bioCase.BioCaseQueryServiceWrapper;
import eu.etaxonomy.taxeditor.view.specimenSearch.SpecimenProviderSelectionController;
private SpecimenProviderSelectionController specimenProviderSelectionController;
private URI endPoint;
+ private ServiceWrapperBase serviceWrapper;
public SpecimenProviderSelectionWizardPage(String pageName) {
super(pageName);
public void createControl(Composite parent) {
specimenProviderSelectionController = SpecimenProviderSelectionController.getInstance(parent, getWizard());
setControl(specimenProviderSelectionController.getComposite());
+ //serviceWrapper = new BioCaseQueryServiceWrapper();
+
}
public QueryType getQueryType(){
endPoint = null;
try {
endPoint = new URL(specimenProviderSelectionController.getComposite().getTxtAccessPoint().getText()).toURI();
+ serviceWrapper = new BioCaseQueryServiceWrapper();
+ serviceWrapper.setBaseUrl(specimenProviderSelectionController.getComposite().getTxtAccessPoint().getText());
this.setErrorMessage(null);
return true;
} catch (MalformedURLException e) {
return false;
}
+ /**
+ * @return the bioCaseQueryServiceWrapper
+ */
+ public ServiceWrapperBase getQueryServiceWrapper() {
+ return serviceWrapper;
+ }
+
+ /**
+ * @param bioCaseQueryServiceWrapper the bioCaseQueryServiceWrapper to set
+ */
+ public void setQueryServiceWrapper(ServiceWrapperBase queryServiceWrapper) {
+ this.serviceWrapper = queryServiceWrapper;
+ }
+
/**
* @return
*/
*/
package eu.etaxonomy.taxeditor.view.dataimport;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+
import org.apache.log4j.Logger;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IImportWizard;
import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.w3c.dom.NodeList;
import eu.etaxonomy.cdm.database.DbSchemaValidation;
+import eu.etaxonomy.cdm.ext.common.ServiceWrapperBase;
import eu.etaxonomy.cdm.ext.occurrence.OccurenceQuery;
+import eu.etaxonomy.cdm.ext.occurrence.bioCase.BioCaseQueryServiceWrapper;
import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;
+
+import eu.etaxonomy.cdm.io.specimen.abcd206.in.AbcdParseUtility;
+import eu.etaxonomy.cdm.io.specimen.abcd206.in.SpecimenImportReport;
+import eu.etaxonomy.cdm.io.specimen.abcd206.in.UnitAssociationWrapper;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
public boolean performFinish() {
searchPage.getController().saveLastSate();
providerSelectionPage.getController().saveLastState();
-
+ ServiceWrapperBase serviceWrapper;
DataImportView<?> dataImportView = null;
query = searchPage.getQuery();
Abcd206ImportConfigurator configurator = CdmStore.getImportManager().AbcdConfigurator();
configurator.setOccurenceQuery(query);
configurator.setSourceUri(providerSelectionPage.getEndPoint());
+ configurator.setAddMediaAsMediaSpecimen(true);
configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
- if(CdmStore.getCurrentSessionManager().isRemoting()) {
- //Job job = CdmStore.getImportManager().createIOServiceJob(configurator, new File(source), SOURCE_TYPE.INPUTSTREAM);
- //CdmStore.getImportManager().run(job);
+ configurator.setIgnoreAuthorship(true);
+
+ //Job job = CdmStore.getImportManager().createIOServiceJob(configurator, new File(source), SOURCE_TYPE.INPUTSTREAM);
+ //CdmStore.getImportManager().run(job);
+ try {
+ serviceWrapper = providerSelectionPage.getQueryServiceWrapper();
+ InputStream stream = null;
+
+ final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ IWorkbenchPage activePart = window.getActivePage();
+ if (providerSelectionPage.getQueryType().equals(QueryType.BIOCASE)){
+ stream =((BioCaseQueryServiceWrapper) serviceWrapper).query(query, configurator.getSourceUri());
+ SpecimenImportReport report = new SpecimenImportReport();
+ UnitAssociationWrapper unitNodesList = AbcdParseUtility.parseUnitsNodeList(stream, report);
+ NodeList nodeList = unitNodesList.getAssociatedUnits();
+ String prefix = unitNodesList.getPrefix();
+ String associationType = unitNodesList.getAssociationType();
+ URI uri =AbcdParseUtility.parseFirstUri(nodeList, report);
+ String content = AbcdParseUtility.parseFirstTextContent(nodeList);
+ System.out.println(content);
+
+
+ SpecimenImportView specimenImportView = new SpecimenImportView();
+ try {
+ specimenImportView = (SpecimenImportView) activePart.showView(SpecimenImportView.ID);
+ specimenImportView.setEndpoint(providerSelectionPage.getEndPoint());
+ specimenImportView.setQuery(query);
+ dataImportView = specimenImportView;
+ } catch (PartInitException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+
+ }
+
+ } else{
+ try {
+
+ dataImportView = (GbifResponseImportView) activePart.showView(GbifResponseImportView.ID, "query_"+query.toString().replaceAll(",", ""), IWorkbenchPage.VIEW_ACTIVATE);
+ dataImportView.setQuery(query);
+ // (GbifResponseImportView) activePart.showView(GbifResponseImportView.ID);getWorkbench().getActiveWorkbenchWindow().getActivePage()
+ // .showView(GbifResponseImportView.ID, "query_"+query.toString().replaceAll(",", ""),IWorkbenchPage.VIEW_ACTIVATE);
+
+ } catch (PartInitException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+
- CdmStore.getImportManager().run(configurator);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
+ // CdmStore.getImportManager().run(configurator);
+
// try {
// switch (providerSelectionPage.getQueryType()) {
// case BIOCASE:
import java.util.List;
import org.apache.log4j.Logger;
-import org.eclipse.core.commands.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.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.action.GroupMarker;
import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.commands.ICommandService;
-import org.eclipse.ui.handlers.IHandlerService;
import org.eclipse.ui.part.ViewPart;
import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
import eu.etaxonomy.taxeditor.model.ContextListenerAdapter;
import eu.etaxonomy.taxeditor.model.IContextListener;
-import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
/**
* <p>CdmDataSourceViewPart class.</p>
Menu menu = menuMgr.createContextMenu(control);
control.setMenu(menu);
- // connect on doubleclick
- viewer.addDoubleClickListener(new IDoubleClickListener() {
-
- @Override
- public void doubleClick(DoubleClickEvent event) {
- if (event.getSelection() instanceof StructuredSelection) {
-
- Object element = ((StructuredSelection) event
- .getSelection()).getFirstElement();
- if (element instanceof CdmMetaDataAwareDataSourceContainer) {
- String commandId = "eu.etaxonomy.taxeditor.store.datasource.change"; //$NON-NLS-1$
-
- ICommandService commandService = (ICommandService)getSite().getService(ICommandService.class);
-
- Command command = commandService.getCommand(commandId);
- if(command.isEnabled()) {
-
- IHandlerService handlerService = (IHandlerService) StoreUtil.getService(IHandlerService.class);
-
- try {
- handlerService.executeCommand(commandId, null);
- } catch (ExecutionException e) {
- MessagingUtils.error(this.getClass(), e);
- } catch (NotDefinedException e) {
- MessagingUtils.error(this.getClass(), e);
- } catch (NotEnabledException e) {
- MessagingUtils.error(this.getClass(), e);
- } catch (NotHandledException e) {
- MessagingUtils.error(this.getClass(), e);
- }
- }
- }
- }
- }
- });
-
refresh();
}
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* 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.view.datasource;
-import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import eu.etaxonomy.cdm.config.CdmSourceException;
import eu.etaxonomy.cdm.config.ICdmSource;
-import eu.etaxonomy.cdm.database.ICdmDataSource;
import eu.etaxonomy.cdm.model.metadata.CdmMetaData;
import eu.etaxonomy.cdm.model.metadata.CdmMetaData.MetaDataPropertyName;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
* @version 1.0
*/
public class CdmMetaDataAwareDataSourceContainer {
-
-
-
+
+
+
/** Constant <code>DEFAULT_ENTRY="-"</code> */
public static final String DEFAULT_ENTRY = "-";
-
+
private ICdmSource cdmSource;
-
+
private boolean running;
-
+
private Map<MetaDataPropertyName, String> metaDataMap;
-
+
/**
* <p>Constructor for CdmMetaDataAwareDataSourceContainer.</p>
*
*/
public CdmMetaDataAwareDataSourceContainer(ICdmSource cdmSource){
this.cdmSource = cdmSource;
-
+
metaDataMap = getDefaultMetaDataMap();
-
+
}
// /**
// public ICdmDataSource getDataSource() {
// return dataSource;
// }
-
+
public ICdmSource getCdmSource() {
return cdmSource;
}
-
+
public void getMetaDataFromDataSource(){
try {
running = cdmSource.checkConnection();
} catch (Exception e) {
running = false;
for(MetaDataPropertyName metaDataPropertyName : MetaDataPropertyName.values()){
- metaDataMap.put(metaDataPropertyName, DEFAULT_ENTRY);
+ metaDataMap.put(metaDataPropertyName, DEFAULT_ENTRY);
}
}
if(isRunning()){
// try {
- metaDataMap = cdmSource.getMetaDataMap();
+ metaDataMap = cdmSource.getMetaDataMap();
cdmSource.closeOpenConnections();
// } catch (CdmSourceException e) {
// StoreUtil.warn(this.getClass(), "SQLException when trying to access: " + cdmSource.getName() + ". " + e.getMessage());
- // }
+ // }
}
} catch (Exception e) {
- MessagingUtils.error(this.getClass(), e);
+ if(e instanceof CdmSourceException && e.getMessage().toLowerCase().contains("\"cdmmetadata\"")){
+ MessagingUtils.error(this.getClass(), "Data source "+((CdmSourceException) e).getSourceName()+" does not have a CDMMETADATA table", null);
+ }
+ else{
+ MessagingUtils.error(this.getClass(), e);
+ }
}
}
-
+
private Map<MetaDataPropertyName, String> getDefaultMetaDataMap(){
Map<MetaDataPropertyName, String> resultMap = new HashMap<MetaDataPropertyName, String>(MetaDataPropertyName.values().length);
-
+
for(MetaDataPropertyName metaDataPropertyName : MetaDataPropertyName.values()){
resultMap.put(metaDataPropertyName, null);
}
-
+
return resultMap;
}
public Map<MetaDataPropertyName, String> getMetaDataMap() {
return metaDataMap;
}
-
+
/**
* <p>isDataSourceCompatible</p>
*
String property = metaDataMap.get(metaDataPropertyName);
return property != null ? property : DEFAULT_ENTRY;
}
-
+
/**
* <p>isRunning</p>
*
public boolean isRunning() {
return running;
}
-
+
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Comparator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
+import java.util.TreeSet;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.TreeNode;
public class DerivateContentProvider implements ITreeContentProvider {
- List<TreeNode> rootNodes;
+ private TreeSet<TreeNode> rootNodes;
@Override
public void dispose() {
@Override
public Object[] getElements(Object inputElement) {
- rootNodes = new ArrayList<TreeNode>();
+ rootNodes = new TreeSet<TreeNode>(new TreeNodeComparator());
if(inputElement instanceof Collection){
for (Object o: (Collection)inputElement) {
if(o instanceof SpecimenOrObservationBase){
}
return derivates;
}
+
+ private class TreeNodeComparator implements Comparator<TreeNode>{
+
+ @Override
+ public int compare(TreeNode o1, TreeNode o2) {
+ if(o1!=null && o2==null){
+ return -1;
+ }
+ else if(o1==null && o2!=null){
+ return 1;
+ }
+ else if(o1!=null && o2!=null){
+ SpecimenOrObservationBase<?> specimenOrObservation1 = (SpecimenOrObservationBase<?>) o1.getValue();
+ SpecimenOrObservationBase<?> specimenOrObservation2 = (SpecimenOrObservationBase<?>) o2.getValue();
+ return specimenOrObservation1.getTitleCache().compareTo(specimenOrObservation2.getTitleCache());
+ }
+ return 0;
+ }
+
+ }
}
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.molecular.ISequenceService;
+import eu.etaxonomy.cdm.common.CdmUtils;
import eu.etaxonomy.cdm.format.CdmFormatterFactory;
-import eu.etaxonomy.cdm.format.ICdmFormatter;
import eu.etaxonomy.cdm.format.ICdmFormatter.FormatKey;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.Identifier;
import eu.etaxonomy.cdm.model.molecular.DnaSample;
import eu.etaxonomy.cdm.model.molecular.Sequence;
private static Set<SingleRead> multiLinkSingleReads;
private static Map<DerivedUnit, Collection<SpecimenTypeDesignation>> typeDesignations;
-
+
private ConversationHolder conversation;
private static DefinedTerm photoTerm = null;
FormatKey.MEDIA_TITLE, FormatKey.SPACE,
FormatKey.MEDIA_ARTIST, FormatKey.SPACE
};
- return CdmFormatterFactory.format(element, formatKeys);
+ String text = CdmFormatterFactory.format(element, formatKeys);
+ if(element instanceof IdentifiableEntity){
+ IdentifiableEntity identifiableEntity = (IdentifiableEntity) element;
+ if(identifiableEntity.isProtectedTitleCache()){
+ text = identifiableEntity.getTitleCache();
+ }
+ }
+ if(CdmUtils.isBlank(text)){
+ return "[-]";
+ }
+ return text;
}
/** {@inheritDoc} */
}
return hasCharacterData?ImageResources.getImage(ImageResources.SPECIMEN_DERIVATE_CHARACTER_DATA):ImageResources.getImage(ImageResources.SPECIMEN_DERIVATE);
}
- else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.Media){
+ else if(derivedUnit.getRecordBasis().isKindOf(SpecimenOrObservationType.Media)){
if(derivedUnit.getKindOfUnit()!=null){
if(derivedUnit.getKindOfUnit().equals(getArtworkTerm())){
return hasCharacterData?ImageResources.getImage(ImageResources.ARTWORK_DERIVATE_CHARACTER_DATA):ImageResources.getImage(ImageResources.ARTWORK_DERIVATE);
}
}
}
- return super.getImage(element);
+ return ImageResources.getImage(ImageResources.DEFAULT_DERIVATIVE);
}
public static Identifier<DnaSample> getCurrentSampleDesignation(CdmBase entity) {
package eu.etaxonomy.taxeditor.view.detail;
+import java.awt.Event;
+import java.util.EventObject;
+
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.widgets.Control;
if (event != null) {
Object eventSource = event.getSource();
+ if (eventSource instanceof EventObject){
+ eventSource = ((EventObject)eventSource).getSource();
+ }
Control[] children = formSection.getLayoutComposite().getChildren();
boolean containsElement = false;
for (Control control : children) {
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.taxeditor.Messages;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
public class DetailsViewPart extends AbstractCdmEditorViewPart implements IPartContentHasSupplementalData{
/** Constant <code>ID="eu.etaxonomy.taxeditor.editor.forms.det"{trunked}</code> */
- public static String ID = "eu.etaxonomy.taxeditor.view.detail";
+ public static String ID = "eu.etaxonomy.taxeditor.view.detail"; //$NON-NLS-1$
private DetailsViewer viewer;
if((part instanceof IEditorPart) || (part instanceof IPartContentHasDetails)) {
if(structuredSelection.size() != 1){
- setPartName(createPartTitle(null));
showEmptyPage();
return;
}
// do show the map for distributions
Feature feature = ((FeatureNodeContainer) ((IStructuredSelection) selection).getFirstElement()).getFeature();
if(!feature.equals(Feature.DISTRIBUTION())){
- setPartName(createPartTitle(null));
showEmptyPage();
return;
}
}
-
-
- setPartName(createPartTitle(((IStructuredSelection) selection).getFirstElement()));
showViewer(part, structuredSelection);
}else{
- setPartName(createPartTitle(null));
showEmptyPage();
}
}
- private String getViewName(){
- return "Details";
+ @Override
+ protected String getViewName(){
+ return Messages.DetailsViewPart_VIEWER_NAME;
}
- private String createPartTitle(Object selectedObject){
+ @Override
+ protected String createPartTitle(Object selectedObject){
if(selectedObject!=null){
if(selectedObject instanceof TreeNode){
selectedObject = ((TreeNode) selectedObject).getValue();
}
if(selectedObject instanceof SpecimenOrObservationBase){
- return getViewName()+": "+HibernateProxyHelper.deproxy(selectedObject, SpecimenOrObservationBase.class).getRecordBasis();
+ return getViewName()+": "+HibernateProxyHelper.deproxy(selectedObject, SpecimenOrObservationBase.class).getRecordBasis(); //$NON-NLS-1$
}
if(selectedObject instanceof CdmBase){
- return getViewName()+": "+HibernateProxyHelper.deproxy(selectedObject, CdmBase.class).getClass().getSimpleName();
+ return getViewName()+": "+HibernateProxyHelper.deproxy(selectedObject, CdmBase.class).getClass().getSimpleName(); //$NON-NLS-1$
}
- return getViewName()+": "+selectedObject.getClass().getSimpleName();
+ return getViewName()+": "+selectedObject.getClass().getSimpleName(); //$NON-NLS-1$
}
return getViewName();
}
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
+import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.IDerivedUnitFacadePart;
import eu.etaxonomy.taxeditor.ui.section.grantedAuthority.GrantedAuthorityDetailSection;
import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailSection;
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailSection;
import eu.etaxonomy.taxeditor.ui.section.name.NameRelationshipDetailSection;
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.identifier.DerivedUnitFacadeIdentifierSection;
import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection;
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailSection;
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonRelationshipDetailSection;
public class DetailsViewer extends AbstractCdmDataViewer {
private ISelection selection;
-
+
public DetailsViewer(Composite parent, AbstractCdmViewPart viewPart) {
super(parent, viewPart);
}
ParsingMessagesSection parsingMessagesSection = formFactory.createParsingMessagesSection(getConversationHolder(), parent, this,
ExpandableComposite.EXPANDED | ExpandableComposite.EXPANDED);
-
- TaxonBaseDetailSection taxonBaseDetailSection = formFactory.createTaxonBaseDetailSection(getConversationHolder(), parent, this,
- ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-
+ if (!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION)){
+ TaxonBaseDetailSection taxonBaseDetailSection = formFactory.createTaxonBaseDetailSection(getConversationHolder(), parent, this,
+ ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ addPart(taxonBaseDetailSection);
+ }else{
+ if (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_TAXON)){
+ TaxonBaseDetailSection taxonBaseDetailSection = formFactory.createTaxonBaseDetailSection(getConversationHolder(), parent, this,
+ ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+
+ addPart(taxonBaseDetailSection);
+ }
+ }
NonViralNameDetailSection nonViralNameSection = formFactory
.createNonViralNameDetailSection(getConversationHolder(), parent, this, true,
ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-
- NomenclaturalReferenceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this,
- ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-
- NomenclaturalStatusSection nomenclaturalStatusSection = formFactory.createNomenclaturalStatusSection(getConversationHolder(), parent,
- ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-
- //TODO RL
- if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){
- ProtologueSection protologSection = formFactory.createProtologueSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-
- TypeDesignationSection typeDesignationSection = formFactory.createTypeDesignationSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-
- NameRelationshipDetailSection nameRelationshipSection = formFactory.createNameRelationshipDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-
- addPart(protologSection);
- addPart(typeDesignationSection);
- addPart(nameRelationshipSection);
+ if (!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION) || (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION) && PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE))){
+ NomenclaturalReferenceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this,
+ ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ addPart(referenceDetailSection);
+
+ }
+ if ( !PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION) || (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION) && PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS))){
+ NomenclaturalStatusSection nomenclaturalStatusSection = formFactory.createNomenclaturalStatusSection(getConversationHolder(), parent,
+ ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ addPart(nomenclaturalStatusSection);
+ }
+ if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL) ){
+ if (!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION) || (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION) && PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_PROTOLOGUE))){
+ ProtologueSection protologSection = formFactory.createProtologueSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ addPart(protologSection);
+ }
+
+ if (!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION) || (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION) && PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION))){
+ TypeDesignationSection typeDesignationSection = formFactory.createTypeDesignationSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ addPart(typeDesignationSection);
+ }
+
+ if (!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION) || (PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION) && PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_RELATIONSHIP))){
+ NameRelationshipDetailSection nameRelationshipSection = formFactory.createNameRelationshipDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ addPart(nameRelationshipSection);
+ }
}
addPart(parsingMessagesSection);
- addPart(taxonBaseDetailSection);
+
addPart(nonViralNameSection);
- addPart(nomenclaturalStatusSection);
- addPart(referenceDetailSection);
+
}
private void createNameSections(RootElement parent) {
addPart(taxonAssociationDetailSection);
}
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
- IdentifierDetailSection identifierDetailSection = formFactory.createIdentifierDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
+ DerivedUnitFacadeIdentifierSection identifierDetailSection = formFactory.createDerivedUnitFacadeIdentifierSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
addPart(identifierDetailSection);
}
if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.DETERMINATION_ONLY_FOR_FIELD_UNITS)){
addPart(definedTermDetailSection);
}
+ @Override
+ public void update(CdmDataChangeMap arg0) {
+
+ }
+
}
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifResponse;
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
+import eu.etaxonomy.taxeditor.Messages;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
public class SupplementalDataViewPart extends AbstractCdmEditorViewPart {
/** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.supp"{trunked}</code> */
- public static final String ID = "eu.etaxonomy.taxeditor.view.supplementalData";
+ public static final String ID = "eu.etaxonomy.taxeditor.view.supplementalData"; //$NON-NLS-1$
private SupplementalDataViewer viewer;
// TODO Auto-generated method stub
return false;
}
+
+
+ @Override
+ protected String getViewName() {
+ return Messages.SupplementalDataViewPart_VIEWER_NAME;
+ }
}
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.VersionableEntity;
import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity;
+import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.IElementHasDetails;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.SourceSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.identifier.IdentifierSection;
import eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer;
import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;
import eu.etaxonomy.taxeditor.view.detail.DetailsViewer;
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+ IdentifierSection identifierSection = formFactory.createIdentifierDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
+
addPart(creditSection);
addPart(extensionSection);
addPart(rightsSection);
addPart(sourceSection);
+ addPart(identifierSection);
}
setInput(selection.getFirstElement());
}
}
+
+ @Override
+ public void update(CdmDataChangeMap arg0) {
+ }
}
Bundle-ManifestVersion: 2
Bundle-Name: eu.etaxonomy.taxeditor.test
Bundle-SymbolicName: eu.etaxonomy.taxeditor.test;singleton:=true
-Bundle-Version: 4.0.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Bundle-ActivationPolicy: lazy
Bundle-Vendor: EDIT
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<artifactId>eu.etaxonomy.taxeditor.test</artifactId>
<packaging>eclipse-test-plugin</packaging>
<daemon>true</daemon>
</configuration>
<dependencies>
- <dependency>
- <groupId>com.mchange</groupId>
- <artifactId>c3p0</artifactId>
- <!--
- IMPORTANT!!!
- this must exactly match the version as set in
- cdmlib-parent pom.xml
- -->
- <version>${c3p0.version}</version>
- </dependency>
- <!-- DATABASE DRIVER -->
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>${h2.version}</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>${mysql.version}</version>
- </dependency>
+ <dependency>
+ <groupId>eu.etaxonomy</groupId>
+ <artifactId>cdmlib-db</artifactId>
+ <version>${cdmlib.version}</version>
+ </dependency>
+ <!-- Do we still need this? If yes, should we move it to cdmlib-db? -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
-<!-- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.17</version>
- </dependency> -->
- <!--
- <dependency>
- <groupId>eu.etaxonomy</groupId>
- <artifactId>cdmlib-persistence</artifactId>
- <version>${project.version}</version>
- <exclusions>
- </exclusions>
- </dependency>
- -->
</dependencies>
<executions>
<execution>
Taxon grandChildTaxon = Taxon.NewInstance(null, null);
TaxonNode grandChildTaxonNode = childTaxonNode.addChildTaxon(grandChildTaxon, null, null);
- CdmStore.getService(ITaxonNodeService.class).merge(taxonNode,true);
+ CdmStore.getService(ITaxonNodeService.class).merge(grandChildTaxonNode,true);
Assert.assertEquals(taxonNode.getChildNodes().get(0).getId(), childTaxonNode.getId());
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.pager.Pager;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.KeyStatement;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
import eu.etaxonomy.cdm.model.media.Rights;
import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
import eu.etaxonomy.taxeditor.httpinvoker.RemotingSessionAwareTest;
import eu.etaxonomy.taxeditor.httpinvoker.TestThread;
}
@Test
+ @Ignore
public void addGrandChildPolytomousKeyNode() {
PolytomousKey pKey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class);
PolytomousKeyNode grandChildNode = PolytomousKeyNode.NewInstance();
rootChildNode.addChild(grandChildNode);
- polytomousKeyService.merge(pKey, true);
+ MergeResult<PolytomousKey> result = polytomousKeyService.merge(pKey, true);
+ pKey = result.getMergedEntity();
grandChildNode = pKey.getRoot().getChildAt(0).getChildAt(0);
Assert.assertTrue(0 != grandChildNode.getId());
KeyStatement ks = KeyStatement.NewInstance("test");
rootChildNode.addChild(grandChildNode);
- polytomousKeyNodeService.merge(grandChildNode);
+ polytomousKeyNodeService.merge(grandChildNode, true);
Assert.assertFalse(pKey.getRoot().getChildAt(0).getChildAt(0).getId() == 0);
Taxon taxon = CdmBase.deproxy(taxonService.find(taxon1Uuid),Taxon.class);
pkeynode.getChildAt(1).setTaxon(taxon);
- polytomousKeyService.merge(pkey);
+ polytomousKeyService.merge(pkey, true);
pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class);
Assert.assertEquals(pkeynode.getChildAt(1).getTaxon(), taxon);
- polytomousKeyService.merge(pkey);
+ polytomousKeyService.merge(pkey, true);
pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class);
Assert.assertSame(subkey1, subkey2);
- polytomousKeyService.merge(pkey);
+ polytomousKeyService.merge(pkey, true);
}
@Test
Assert.assertSame(subkey1, subkey2);
- polytomousKeyService.merge(pkey);
+ polytomousKeyService.merge(pkey, true);
}
label2.size();
- polytomousKeyService.merge(pkey);
+ polytomousKeyService.merge(pkey, true);
}
@Test
newTerm.setLabel("CreateTest");
try {
+ List<Feature> features = termService.list(Feature.class, 100, 0, null, null);
+ List<UUID> updateTerms = new ArrayList<UUID>();
+ for (Feature feature:features){
+ if (feature.getLabel().equals("UpdateTest")){
+ updateTerms.add(feature.getUuid());
+ }
+ }
+ termService.delete(updateTerms);
+
+// if(termService.findByRepresentationText("UpdateTest", Feature.class, null, null) != null) {
+// Pager<Feature> terms = termService.findByRepresentationText("UpdateTest", Feature.class, null, null);
+// if (!terms.getRecords().isEmpty()){
+// termService.delete(terms.getRecords().get(0).getUuid());
+// }
+// }
Assert.assertNotNull(newTerm);
TermVocabulary vocNameFeature = vocabularyService.find(vocNameFeatureUuid);
vocNameFeature.addTerm(newTerm);
- vocs = vocabularyService.merge(vocs);
- for(TermVocabulary voc : vocs) {
+ List<MergeResult<TermVocabulary>> mergeResults = vocabularyService.merge(vocs, true);
+
+ for(MergeResult<TermVocabulary> result : mergeResults){
+ TermVocabulary voc = result.getMergedEntity();
if(voc.getUuid().equals(vocNameFeatureUuid)) {
vocNameFeature = voc;
}
Assert.assertNotNull(dtb.getCreatedBy());
Assert.assertNotNull(dtb.getCreated());
} else {
+ System.err.println(dtb.getLabel() + " " + dtb.getCreatedBy() + " " + dtb.getUuid());
Assert.assertNull(dtb.getCreatedBy());
}
}
// Test for #5138
Person person = (Person) CdmApplicationState.getCurrentAppConfig().getAgentService().load(personUuid);
person.setFirstname("Me");
- CdmApplicationState.getCurrentAppConfig().getAgentService().merge(person);
+ CdmApplicationState.getCurrentAppConfig().getAgentService().merge(person, true);
}
person = (Person) CdmApplicationState.getCurrentAppConfig().getAgentService().merge(person);
person = (Person) CdmApplicationState.getCurrentAppConfig().getAgentService().load(person.getUuid());
person.setFirstname("Some");
- CdmApplicationState.getCurrentAppConfig().getAgentService().merge(person);
+ CdmApplicationState.getCurrentAppConfig().getAgentService().merge(person, true);
}
@Test
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- DO NOT EDIT THIS FILE MANUALLY. --><!-- It is created by the Taxonomic Editor for launching a managed CDM Server. --><beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
-">
- <bean id="dataSourceProperties" class="eu.etaxonomy.cdm.remote.config.DataSourceProperties">
- <property name="propsMap">
- <map/>
- </property>
- </bean>
- <bean id="MGD_cdmTest" lazy-init="true" class="com.mchange.v2.c3p0.ComboPooledDataSource">
- <property name="driverClass" value="org.h2.Driver"/>
- <property name="user" value="sa"/>
- <property name="password" value=""/>
- <property name="jdbcUrl" value="jdbc:h2:file:C:\Users\a.mueller\eclipse\git\taxeditor\eu.etaxonomy.taxeditor.test\src\test\resources\.cdmLibrary\writableResources\h2\LocalH2/cdmTest;AUTO_SERVER=TRUE"/>
- </bean>
-</beans>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
+ <classpathentry exported="true" kind="lib" path="lib/jdbc4-2.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/postgresql-9.4-1206-jdbc4.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/mysql-connector-java-5.1.38.jar"/>
<classpathentry exported="true" kind="lib" path="lib/h2-1.4.190.jar"/>
<classpathentry exported="true" kind="lib" path="lib/mchange-commons-java-0.2.11.jar"/>
<classpathentry exported="true" kind="lib" path="lib/c3p0-0.9.5.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/mysql-connector-java-5.1.24.jar"/>
<classpathentry exported="true" kind="lib" path="lib/javax.servlet-api-3.1.0.jar"/>
<classpathentry exported="true" kind="lib" path="lib/jetty-all-9.2.9.v20150224.jar"/>
<classpathentry exported="true" kind="lib" path="lib/log4j-1.2.17.jar"/>
Bundle-ManifestVersion: 2
Bundle-Name: Webapp
Bundle-SymbolicName: eu.etaxonomy.taxeditor.webapp;singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.4.0.qualifier
Require-Bundle: org.eclipse.core.runtime
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-ActivationPolicy: lazy
lib/log4j-1.2.17.jar,
lib/jetty-all-9.2.9.v20150224.jar,
lib/javax.servlet-api-3.1.0.jar,
- lib/mysql-connector-java-5.1.24.jar,
lib/c3p0-0.9.5.2.jar,
lib/h2-1.4.190.jar,
- lib/mchange-commons-java-0.2.11.jar
+ lib/mchange-commons-java-0.2.11.jar,
+ lib/mysql-connector-java-5.1.38.jar,
+ lib/postgresql-9.4-1206-jdbc4.jar,
+ lib/jdbc4-2.0.jar
Bundle-Vendor: EDIT
Import-Package: org.eclipse.jface.resource,
org.eclipse.ui.plugin
.,\
lib/,\
lib/h2-1.4.190.jar,\
- lib/mchange-commons-java-0.2.11.jar
+ lib/mchange-commons-java-0.2.11.jar,\
+ lib/mysql-connector-java-5.1.38.jar,\
+ lib/postgresql-9.4-1206-jdbc4.jar,\
+ lib/jdbc4-2.0.jar
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>eu.etaxonomy.taxeditor.webapp</artifactId>
</goals>
<configuration>
<includeArtifactIds>
- c3p0,mchange-commons-java,h2,mysql-connector-java,log4j,javax.servlet-api,jetty-all
+ log4j,javax.servlet-api,jetty-all
</includeArtifactIds>
<outputDirectory>
${basedir}/lib
<excludeTransitive>true</excludeTransitive>
</configuration>
</execution>
+ <execution>
+ <id>copy-dependency-jars-transitive</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <configuration>
+ <includeArtifactIds>
+ c3p0,mchange-commons-java,h2,postgresql,mysql-connector-java,jdbc4
+ </includeArtifactIds>
+ <outputDirectory>
+ ${basedir}/lib
+ </outputDirectory>
+ <overWriteReleases>true</overWriteReleases>
+ <overWriteSnapshots>true</overWriteSnapshots>
+ <excludeTransitive>false</excludeTransitive>
+ </configuration>
+ </execution>
</executions>
</plugin>
<plugin>
<type>war</type>
</dependency>
<dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>${h2.version}</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.24</version>
+ <groupId>eu.etaxonomy</groupId>
+ <artifactId>cdmlib-db</artifactId>
+ <version>${cdmlib.version}</version>
</dependency>
- <dependency>
- <groupId>com.mchange</groupId>
- <artifactId>c3p0</artifactId>
- <version>${c3p0.version}</version>
- </dependency>
- <dependency>
- <groupId>com.mchange</groupId>
- <artifactId>mchange-commons-java</artifactId>
- <version>${mchange-commons-java.version}</version>
- </dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?><product application="eu.etaxonomy.taxeditor.application.application" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" includeLaunchers="true" name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product" useFeatures="true" version="4.2.0.qualifier">
+<?pde version="3.5"?><product application="eu.etaxonomy.taxeditor.application.application" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" includeLaunchers="true" name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product" useFeatures="true" version="4.4.0.qualifier">
<aboutInfo>
<image path="/eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif"/>
<text>
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
-<product name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product.jre" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" application="eu.etaxonomy.taxeditor.application.application" version="4.2.0.qualifier" useFeatures="true" includeLaunchers="true">
+<product name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product.jre" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" application="eu.etaxonomy.taxeditor.application.application" version="4.4.0.qualifier" useFeatures="true" includeLaunchers="true">
<aboutInfo>
<image path="/eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif"/>
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<unit id="org.eclipse.equinox.sdk.feature.group" version="3.7.1.R37x_v20110907-7M7W8i8eNV4WsRkue-4Vq4J6pCyW"/>
<unit id="org.eclipse.zest.sdk.feature.group" version="1.3.0.v20110425-2050-67C18COMPIAKSVKGQaRTQTiSN8WP"/>
<unit id="org.eclipse.pde.feature.group" version="3.7.2.v20120120-1420-7b7rFUOFEx2Xnqafnpz0E--0"/>
-<repository location="http://download.eclipse.org/releases/indigo"/>
+<repository location="http://download.eclipse.org/releases/indigo/"/>
</location>
<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.nebula.widgets.compositetable.feature.feature.group" version="1.0.0.201409040043"/>
-<repository location="http://download.eclipse.org/technology/nebula/archives/Q32014/release/"/>
+<repository location="http://archive.eclipse.org/nebula/Q32014/release/"/>
</location>
</locations>
</target>
</prerequisites>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
<name>EDIT Taxonomic Editor</name>
<description>The Taxonomic Editor for EDIT's platform for
cybertaxonomy
<properties>
<java.codelevel>1.7</java.codelevel>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <cdmlib.version>4.2.0-SNAPSHOT</cdmlib.version>
+ <cdmlib.version>4.4.0-SNAPSHOT</cdmlib.version>
<!-- TODO can we use project.version ????? -->
<tycho.version>0.22.0</tycho.version>
- <taxeditor.version>4.2.0-SNAPSHOT</taxeditor.version>
+ <taxeditor.version>4.4.0-SNAPSHOT</taxeditor.version>
<update.dir>snapshot</update.dir>
<unitils.version>3.4.2</unitils.version>
<log4j.version>1.2.17</log4j.version>
- <!-- data base driver related properties -->
- <mysql.version>5.1.38</mysql.version>
- <h2.version>1.4.190</h2.version>
- <!--
- IMPORTANT!!!
- c3p0.version must exactly match the version as
- set in cdmlib-parent pom.xml
- -->
- <c3p0.version>0.9.5.2</c3p0.version>
- <!-- mchange-commons-java needs to match the version as defined in the c3p0/pom.xml -->
- <mchange-commons-java.version>0.2.11</mchange-commons-java.version>
</properties>
<modules>
<module>eu.etaxonomy.taxeditor.cdmlib</module>
<repository>
<id>eclipse-nebula</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/technology/nebula/archives/Q32014/release/
- </url>
+ <url>http://archive.eclipse.org/nebula/Q32014/release/</url>
</repository>
<repository>
<id>eclipse-swtbot</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/releases/indigo</url>
+ <url>http://download.eclipse.org/releases/indigo/</url>
</repository>
</repositories>
<build>