// $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.
*/
* @version 1.0
*/
public class BulkEditorQuery {
-
- private String searchString;
- private Comparator<?> comparator;
- private IIdentifiableEntityServiceConfigurator searchConfigurator;
+
+ private final String searchString;
+ private final Comparator<?> comparator;
+ private final IIdentifiableEntityServiceConfigurator searchConfigurator;
public BulkEditorQuery (String searchString, Comparator comparator) {
this.searchString = searchString;
searchConfigurator.setTitleSearchString(searchString);
searchConfigurator.setMatchMode(null);
searchConfigurator.setPropertyPaths(propertyPath);
-
+
if(searchString != null && searchString.trim().equals("*")){
searchConfigurator.setPageSize(1000);
}
-
+
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getComparator()
- */
public Comparator getComparator() {
return comparator;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getSearchString()
- */
public String getSearchString() {
return searchString;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getSearchConfigurator()
- */
public IIdentifiableEntityServiceConfigurator getSearchConfigurator() {
return searchConfigurator;
}
// $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.bulkeditor.input;
-import java.util.Arrays;
import java.util.List;
-import java.util.UUID;
-
-import org.eclipse.core.commands.ExecutionException;
import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.strategy.merge.MergeMode;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
-import eu.etaxonomy.taxeditor.bulkeditor.handler.MergeGroupHandler;
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.AgentCreator;
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;
/**
- * <p>AgentEditorInput class.</p>
- *
* @author p.ciardelli
* @created 25.06.2009
* @version 1.0
*/
public class AgentEditorInput extends AbstractBulkEditorInput<TeamOrPersonBase> {
- /**
- *
- */
private static final long serialVersionUID = 3387950621617078479L;
- /** Constant <code>ID="bulkeditor.input.author"</code> */
public static final String ID = "bulkeditor.input.author";
-
+
private static AgentEditorInput instance;
- /**
- * <p>getID</p>
- *
- * @return the iD
- */
public static String getID() {
return ID;
}
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getName()
- */
- /**
- * <p>getName</p>
- *
- * @return a {@link java.lang.String} object.
- */
- public String getName() {
+
+ @Override
+ public String getName() {
return BulkEditorInputType.AGENT.label;
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getToolTipText()
- */
- /**
- * <p>getToolTipText</p>
- *
- * @return a {@link java.lang.String} object.
- */
- public String getToolTipText() {
+ @Override
+ public String getToolTipText() {
return getName();
}
- /**
- * <p>Getter for the field <code>instance</code>.</p>
- *
- * @return a {@link eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput} object.
- */
public static AbstractBulkEditorInput getInstance() {
if (instance == null) {
instance = new AgentEditorInput();
return instance;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput#isMergingEnabled()
- */
/** {@inheritDoc} */
@Override
public boolean isMergingEnabled() {
return true;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput#isMergingEnabled()
- */
+
/** {@inheritDoc} */
@Override
public boolean isConvertingEnabled() {
return true;
}
-
+
/** {@inheritDoc} */
@Override
public boolean merge(TeamOrPersonBase entity, TeamOrPersonBase mergeTarget) {
try {
IMergeStrategy strategy = DefaultMergeStrategy.NewInstance(Person.class);
strategy.setMergeMode("institutionalMemberships", MergeMode.FIRST);
- CdmStore.getCommonService().merge((IMergable)mergeTarget, (IMergable)entity, strategy);
+ CdmStore.getCommonService().merge((IMergable)mergeTarget, (IMergable)entity, strategy);
} catch (MergeException e) {
MessagingUtils.errorDialog("Bulk Editor Merge Error",
this,
public List<TeamOrPersonBase> listEntities(IIdentifiableEntityServiceConfigurator configurator) {
return CdmStore.getSearchManager().findTeamOrPersons(configurator);
}
-
- /** {@inheritDoc}
+
+ /** {@inheritDoc}
@Override
public AgentBase loadEntity(UUID uuid) {
- List<String> propertyPaths = Arrays.asList(new String[]{});
+ List<String> propertyPaths = Arrays.asList(new String[]{});
return CdmStore.getService(IAgentService.class).load(uuid, propertyPaths);
}*/
-
+
public boolean delete(AgentBase entity) throws ReferencedObjectUndeletableException {
-
- return CdmStore.getService(IAgentService.class).delete(entity) != null;
-
+
+ return CdmStore.getService(IAgentService.class).delete(entity) != null;
+
}
/** {@inheritDoc} */
public boolean save(AgentBase entity) {
-
+
return CdmStore.getService(IAgentService.class).saveOrUpdate(entity) != null;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getSortProviders()
- */
@Override
public List<IBulkEditorSortProvider<TeamOrPersonBase>> getSortProviders() {
List<IBulkEditorSortProvider<TeamOrPersonBase>> sortProviders = super.getSortProviders();
-
+
sortProviders.add(0, new IdentifiableEntitySortProvider<TeamOrPersonBase>());
-
+
return sortProviders;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
- */
+
@Override
protected IEntityCreator<TeamOrPersonBase> createEntityCreator() {
return new AgentCreator();
// TODO make this configurable via preferences
private static final int MAX_RESULTS_BEFORE_WARNING = 500;
- /**
- * <p>findNames</p>
- *
- * @param configurator a {@link eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator} object.
- * @return a {@link java.util.List} object.
- */
public List<TaxonNameBase> findNames(IIdentifiableEntityServiceConfigurator configurator){
if(checkLargeResult(CdmStore.getService(INameService.class).countByTitle(configurator))){
return CdmStore.getService(INameService.class).findByTitle(configurator).getRecords();
relationships.add((NameRelationship) relationship);
}
}
-
-
return relationships;
-
}
- /**
- * <p>findTaxaAndNames</p>
- *
- * @param configurator a {@link eu.etaxonomy.cdm.api.service.config.ITaxonServiceConfigurator} object.
- * @return a {@link java.util.List} object.
- */
public List<UuidAndTitleCache<IdentifiableEntity>> findTaxaAndNames(IFindTaxaAndNamesConfigurator<TaxonBase> configurator){
return CdmStore.getService(ITaxonService.class).findTaxaAndNamesForEditor(configurator);
}
-
-
-
- /**
- * <p>findReferences</p>
- *
- * @param configurator a {@link eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator} object.
- * @return a {@link java.util.List} object.
- */
public List<Reference> findReferences(IIdentifiableEntityServiceConfigurator configurator){
if(checkLargeResult(CdmStore.getService(IReferenceService.class).countByTitle(configurator))){
return CdmStore.getService(IReferenceService.class).findByTitle(configurator).getRecords();
return NO_RESULTS;
}
-
- /**
- * <p>findAgents</p>
- *
- * @param configurator a {@link eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator} object.
- * @return a {@link java.util.List} object.
- */
public List<AgentBase> findAgents(IIdentifiableEntityServiceConfigurator configurator){
if(checkLargeResult(CdmStore.getService(IAgentService.class).countByTitle(configurator))){
return CdmStore.getService(IAgentService.class).findByTitle(configurator).getRecords();
return NO_RESULTS;
}
- /**
- * <p>findTeamOrPersons</p>
- *
- * @param configurator a {@link eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator} object.
- * @return a {@link java.util.List} object.
- */
@SuppressWarnings("unchecked")
public List<TeamOrPersonBase> findTeamOrPersons(IIdentifiableEntityServiceConfigurator configurator){
configurator.setClazz(TeamOrPersonBase.class);
}
- /**
- * @param count
- * @return
- */
private boolean checkLargeResult(int count) {
if(count > MAX_RESULTS_BEFORE_WARNING){
return MessageDialog.openConfirm(Display.getDefault().getActiveShell(), "Large result expected",
}
}
- /**
- *
- * @param configurator
- * @return
- */
private String sqlizeTitleSearchString(IIdentifiableEntityServiceConfigurator configurator){
return configurator.getTitleSearchString().replace(WILDCARD, "%");
}