eu.etaxonomy.taxeditor.cdmlib/lib/mchange-commons-java-*.jar
eu.etaxonomy.taxeditor.local/lib/cdmlib-remote-webapp.war
eu.etaxonomy.taxeditor.local/lib/postgresql-42.*.jar
+eu.etaxonomy.taxeditor.local/lib/cdmlib-remote-webapp-*.war
Bundle-ManifestVersion: 2
Bundle-Name: Application
Bundle-SymbolicName: eu.etaxonomy.taxeditor.application;singleton:=true
-Bundle-Version: 5.18.2
+Bundle-Version: 5.19.0
Bundle-Activator: eu.etaxonomy.taxeditor.TaxonomicEditorPlugin
Bundle-Vendor: EDIT
Bundle-Localization: OSGI-INF/l10n/plugin
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>5.18.2</version>
+ <version>5.19.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
* 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.perspective;
import org.eclipse.ui.IFolderLayout;
/**
* @author a.oppermann
* @created Nov 18, 2014
- * @version 1.0
*/
public class ChecklistPerspective extends Default {
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui
- * .IPageLayout)
- */
@Override
public void createInitialLayout(IPageLayout layout) {
IFolderLayout navigationFolder = layout.createFolder("navigation",
layout.addPlaceholder(MEDIA_VIEW, IPageLayout.RIGHT, 0.5f, FACTUAL_DATA_VIEW);
createAdditionalFolder(layout, layout.getEditorArea());
-
}
-}
+}
\ No newline at end of file
Bundle-ManifestVersion: 2
Bundle-Name: Bulkeditor Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.bulkeditor;singleton:=true
-Bundle-Version: 5.18.2
+Bundle-Version: 5.19.0
Bundle-Activator: eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin
Bundle-Vendor: EDIT
Export-Package: eu.etaxonomy.taxeditor.annotatedlineeditor,
command.label.2 = Entferne Kandidat f\u00fcr Duplikatenentfernung
command.label.3 = Dedupliziere Gruppe
command.label.4 = L\u00f6schen
-command.label.5 = Umwandeln in Person
+command.label.5 = In Person umwandeln
command.label.6 = Umwandeln in Team
command.name = Gruppen zusammenfügen
command.name.0 = Setze als Ziel für Gruppenzusammenfügung
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>5.18.2</version>
+ <version>5.19.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
*
* @author p.ciardelli
* @created 25.06.2009
- * @version 1.0
* @param <T>
*/
public interface IEntityContainer<T> {
/**
* <p>getEntity</p>
- *
- * @param <T> a T object.
- * @return a T object.
*/
T getEntity();
/**
* <p>getEditableText</p>
- *
- * @return a {@link java.lang.String} object.
*/
String getEditableText();
/**
* <p>getAttachedEntities</p>
- *
- * @return a {@link java.util.Set} object.
*/
Set<T> getAttachedEntities();
/**
* <p>markAsMerged</p>
- *
- * @param mergeTarget a T object.
*/
void markAsMerged(T mergeTarget);
/**
* <p>setText</p>
- *
- * @param text a {@link java.lang.String} object.
*/
void setText(String text);
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.annotatedlineeditor;
import java.util.Map;
-
/**
* <p>IEntityCreator interface.</p>
*
* @author p.ciardelli
* @created 03.07.2009
- * @version 1.0
*/
public interface IEntityCreator<T> {
* <p>createEntity</p>
*
* @param text a {@link java.lang.String} object.
- * @param <T> a T object.
* @return a T object.
*/
- T createEntity(String text);
+ public T createEntity(String text);
/**
* <p>createEntity</p>
* @param text a {@link java.lang.String} object.
* @return a T object.
*/
- T createEntity(Object key, String text);
+ public T createEntity(Object key, String text);
/**
* Get a map of keys for all objects that can be created by this entity creator
*
* @return a {@link java.util.Map} object.
*/
- Map<? extends Object, String> getKeyLabelPairs();
+ public Map<? extends Object, String> getKeyLabelPairs();
/**
* Return a flag indicating whether this creator also saves the entities
*
* @return true or false
*/
- boolean savesEntity();
-
-
-}
+ public boolean savesEntity();
+}
\ No newline at end of file
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.annotatedlineeditor;
import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
-
/**
* Performs the retrieving and saving of a list of entities edited by a <code>ListEditor</code>,
* interacting with the persistence layer.
*
* @author p.ciardelli
* @created 07.07.2009
- * @version 1.0
*/
public interface IEntityPersistenceService<T> {
/**
* <p>create</p>
- *
- * @param entity a {@link java.lang.Object} object.
* @return a boolean.
*/
- T create(T entity);
+ public T create(T entity);
/**
* <p>save</p>
* @param entity a {@link java.lang.Object} object.
* @return a boolean.
*/
- T save(T entity);
+ public T save(T entity);
/**
* <p>merge</p>
* @param mergeTarget a {@link java.lang.Object} object.
* @return a boolean.
*/
- boolean merge(T entity, T mergeTarget);
+ public boolean merge(T entity, T mergeTarget);
/**
* <p>delete</p>
* @return a boolean.
* @throws ReferencedObjectUndeletableException
*/
- boolean delete(T entity, DeleteConfiguratorBase config) throws ReferencedObjectUndeletableException;
-}
+ public boolean delete(T entity, DeleteConfiguratorBase config) throws ReferencedObjectUndeletableException;
+}
\ No newline at end of file
* 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;
-
/**
* <p>IBulkEditorConstants interface.</p>
*
* @author p.ciardelli
* @created 03.07.2009
- * @version 1.0
*/
public interface IBulkEditorConstants {
+
/** Constant <code>TYPE_MERGE_TARGET="merge_target_annotation"</code> */
public static final String TYPE_MERGE_TARGET = "merge_target_annotation";
/** Constant <code>TYPE_MERGE_CANDIDATE="merge_candidate_annotation"</code> */
public static final String DYNAMIC_OPEN_OBJECT_ID = "taxeditor-bulkeditor.dynamicnewobjectcommand";
/** Constant <code>DYNAMIC_DELETE_OBJECT_ID="taxeditor-bulkeditor.dynamicdeleteobjec"{trunked}</code> */
public static final String DYNAMIC_DELETE_OBJECT_ID = "taxeditor-bulkeditor.dynamicdeleteobjectcommand";
-}
+}
\ No newline at end of file
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.bulkeditor;
import java.util.Comparator;
/**
* @author n.hoffmann
* @created Dec 14, 2010
- * @version 1.0
*/
public interface IBulkEditorSortProvider<T> {
- /**
- *
- */
public Map<String, Comparator<T>> getComparators();
public Set<String> getComparatorNames();
public Comparator<T> getComparatorByName(String name);
-}
+}
\ No newline at end of file
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.bulkeditor.command;
import org.apache.log4j.Logger;
/**
* @author p.ciardelli
* @created 21.09.2009
- * @version 1.0
*/
public class BulkEditorPropertyTester extends PropertyTester {
@SuppressWarnings("unused")
- private static final Logger logger = Logger
- .getLogger(BulkEditorPropertyTester.class);
+ private static final Logger logger = Logger.getLogger(BulkEditorPropertyTester.class);
private static final String IS_MERGING_ENABLED = "isMergingEnabled";
}
return false;
}
-}
+}
\ No newline at end of file
* 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.e4;
import java.io.FileOutputStream;
SpecimenOrObservationBase changedSpecimen = (SpecimenOrObservationBase)sel.getFirstElement();
getEditorInput().addSaveCandidate(changedSpecimen);
input.replaceInModel(changedSpecimen);
+ } else if (firstElement instanceof Media){
+ getEditorInput().addSaveCandidate((Media)element);
+ input.replaceInModel((Media)element);
}
}else if(element instanceof Group){
Group oldGroup = ((GroupEditorInput)input).getEntityFromModel((Group)element);
* 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.e4;
import java.io.File;
* @author e.-m.lee
* @author n.hoffmann
* @created 17.08.2009
- * @version 1.0
*/
public class BulkEditorSearchE4 {
private Button btnManageState;
-
public Object ORDER_BY = new Object();
public BulkEditorSearchE4(BulkEditorE4Composite editor, Composite parent, int style) {
}
}
-
/**
* Creates the search textfield.
*/
text.setFocus();
}
}
-}
+}
\ No newline at end of file
} catch (IllegalArgumentException e) {
MessagingUtils.errorDialog("Can not convert Person into a Team", null, e.getLocalizedMessage(), TaxeditorBulkeditorPlugin.PLUGIN_ID,e, true);
} catch (MergeException e) {
- MessagingUtils.informationDialog("Convert not possible", "Person can not be transformed into team as it is already part of a team.");
+ MessagingUtils.informationDialog("Convert not possible", "Person can not be transformed into team. Probably it is referenced in a way that allows only persons. Check referencing objects view for details.");
}
if (result != null &&result.isOk()){
team = (Team)result.getCdmEntity();
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
package eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler;
import org.eclipse.e4.ui.workbench.modeling.EPartService;
public class OpenBulkEditorForIdentifiableEntityE4 extends DefaultOpenHandlerBaseE4<Object>{
- /**
- * {@inheritDoc}
- */
// @Override
// protected IdentifiableEntity getEntity(UUID uuid) {
// return CdmStore.getCommonService().find(IdentifiableEntity.class, uuid);
// }
- /**
- * {@inheritDoc}
- */
@Override
protected void open(Object entity, Shell shell, EPartService partService) {
@SuppressWarnings("rawtypes")
BulkEditorUtil.openBulkEditor(input, modelService, partService, application);
}
- /**
- * {@inheritDoc}
- */
@Override
protected boolean canExecute(Object entity) {
if (entity instanceof UuidAndTitleCache){
* @created 25.06.2009
*/
public abstract class AbstractBulkEditorInput<T extends CdmBase>
- extends CdmEntitySessionInput
+ extends CdmEntitySessionInput<T>
implements IEntityPersistenceService<T> {
-
private static final String PROPERTY_PROTECTED_TITLECACHE = "Protect TitleCache";
private static final String TYPE_PROPERTY = Messages.BulkEditorE4_TYPE;
private static final String ID_PROPERTY = "Id"; //$NON-NLS-1$
this.conversation = CdmStore.createConversation();
}
- static public AbstractBulkEditorInput NewInstance(BulkEditorInputType inputType) {
+ static public AbstractBulkEditorInput<?> NewInstance(BulkEditorInputType inputType) {
return BulkEditorInputType.getInput(inputType);
}
- public static AbstractBulkEditorInput NewInstance(IdentifiableEntity entity) {
+ public static AbstractBulkEditorInput<?> NewInstance(IdentifiableEntity entity) {
BulkEditorInputType inputType = BulkEditorInputType.getByType(entity.getClass());
return editorInput;
}
- public static AbstractBulkEditorInput NewInstance(Class clazz, UUID uuid) {
+ public static AbstractBulkEditorInput<?> NewInstance(Class clazz, UUID uuid) {
BulkEditorInputType inputType = BulkEditorInputType.getByType(clazz);
public void performSearch(final BulkEditorQuery bulkEditorQuery, IStructuredSelection selection) {
//cancel previous search job
if(searchJob!=null && searchJob.getState()!=Job.NONE){
- searchJob.cancel();
+ boolean isCanceled = searchJob.cancel();
+ if (!isCanceled){
+ while (!isCanceled){
+ try {
+ Thread.sleep(200);
+ } catch (InterruptedException e) {
+ }
+ isCanceled = searchJob.cancel();
+ }
+ }
searchJob = null;
- /*
- * wait for a little while for the job to finish
- * to avoid asynchronously loaded results of the
- * previous search being shown in the next search
- * (not critical but explicitly waiting for the job to finish
- * could run into an endless loop by mistake)
- */
- try {
- Thread.sleep(500);
- } catch (InterruptedException e) {
- }
+// /*
+// * wait for a little while for the job to finish
+// * to avoid asynchronously loaded results of the
+// * previous search being shown in the next search
+// * (not critical but explicitly waiting for the job to finish
+// * could run into an endless loop by mistake)
+// */
+// try {
+// Thread.sleep(500);
+// } catch (InterruptedException e) {
+// }
}
model.clear();
markedMergeCandidates.clear();
return getModel();
}
-
@Override
public Map<Object, List<String>> getPropertyPathsMap() {
// TODO Auto-generated method stub
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
-
/**
* @author p.ciardelli
* @created 25.06.2009
- * @version 1.0
*/
public class AgentEditorInput extends AbstractBulkEditorInput<TeamOrPersonBase> {
- private static final long serialVersionUID = 3387950621617078479L;
-
public static final String ID = "bulkeditor.input.author";
private static AgentEditorInput instance;
* 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.ArrayList;
/**
* @author n.hoffmann
* @created Mar 9, 2011
- * @version 1.0
*/
public class GroupEditorInput extends AbstractBulkEditorInput<Group> {
MessagingUtils.messageDialog(Messages.GROUP_CREATOR_Name_not_accepted, getClass(), Messages.GROUP_CREATOR_Name_not_accepted_message);
return null;
}
-
}
@Override
public void setSaveUserCandidates(Set<User> saveUserCandidates) {
this.saveUserCandidates = saveUserCandidates;
}
-
-
-}
+}
\ No newline at end of file
* 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.ArrayList;
/**
* @author n.hoffmann
* @created Oct 19, 2010
- * @version 1.0
*/
public class NameRelationshipEditorInput extends AbstractBulkEditorInput<NameRelationship> {
- private static final long serialVersionUID = -7453923697752787687L;
-
public static final String ID = "bulkeditor.input.nameRelationship";
private static NameRelationshipEditorInput instance;
public void merge() {
}
-
-}
+}
\ No newline at end of file
+/**\r
+* Copyright (C) 2007 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.bulkeditor.input;\r
\r
import java.util.ArrayList;\r
* 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.ArrayList;
/**
* @author n.hoffmann
* @created Mar 9, 2011
- * @version 1.0
*/
public class UserEditorInput extends AbstractBulkEditorInput<User> {
return CdmStore.getSearchManager().findUsers(configurator);
}
-
@Override
protected IEntityCreator<User> createEntityCreator() {
return new UserCreator();
public Comparator<User> getTitleComparator(){
return new UserNameComparator();
}
-
-}
+}
\ No newline at end of file
* 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.entitycreator;
import java.util.HashMap;
/**
* @author n.hoffmann
* @created Mar 9, 2011
- * @version 1.0
*/
public class UserCreator implements IEntityCreator<User>{
public static final String USER = "User"; //$NON-NLS-1$
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator#createEntity(java.lang.String)
- */
@Override
public User createEntity(String text) {
return createEntity(null, text);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator#createEntity(java.lang.Object, java.lang.String)
- */
@Override
public User createEntity(Object key, String text) {
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator#getKeyLabelPairs()
- */
@Override
public Map<Object, String> getKeyLabelPairs() {
Map<Object, String> result = new HashMap<Object, String>();
// TODO Auto-generated method stub
return false;
}
-
-}
+}
\ No newline at end of file
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider;
import java.util.Comparator;
/**
* @author n.hoffmann
* @created Dec 14, 2010
- * @version 1.0
*/
public abstract class AbstractDateComparator<T extends ICdmBase> implements Comparator<T>{
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider;
import java.util.Comparator;
/**
* @author n.hoffmann
* @created Dec 14, 2010
- * @version 1.0
*/
public class AbstractSortProvider<T> implements IBulkEditorSortProvider<T> {
- Map<String, Comparator<T>> comparators = new HashMap<String, Comparator<T>>();
+ protected Map<String, Comparator<T>> comparators = new HashMap<>();
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider#getComparators()
- */
@Override
public Map<String, Comparator<T>> getComparators() {
return comparators;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider#getComparatorNames()
- */
@Override
public Set<String> getComparatorNames() {
return comparators.keySet();
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider#getComparatorByName(java.lang.String)
- */
@Override
public Comparator<T> getComparatorByName(String name) {
return comparators.get(name);
}
-
-}
+}
\ No newline at end of file
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider;
import org.joda.time.DateTime;
/**
* @author n.hoffmann
* @created Dec 14, 2010
- * @version 1.0
*/
public class CdmBaseSortProvider<T extends ICdmBase> extends AbstractSortProvider<T> {
- /**
- *
- */
public CdmBaseSortProvider() {
comparators.put("Created When", new CreatedDateComparator());
}
private class CreatedDateComparator extends AbstractDateComparator<T>{
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.AbstractDateComparator#getDate(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
@Override
protected DateTime getDate(T object) {
return object.getCreated();
- }
-
+ }
}
-}
+}
\ No newline at end of file
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider;
import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
/**
* @author n.hoffmann
* @created Dec 14, 2010
- * @version 1.0
*/
public class IdentifiableEntitySortProvider<T extends IIdentifiableEntity> extends AbstractSortProvider<T> {
public IdentifiableEntitySortProvider(){
comparators.put("Title Cache", new TitleCacheComparator<T>());
}
-
-}
+}
\ No newline at end of file
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider;
import java.util.Comparator;
/**
* @author n.hoffmann
* @created Dec 14, 2010
- * @version 1.0
*/
public class ReferenceSortProvider extends AbstractSortProvider<Reference> {
- /**
- *
- */
public ReferenceSortProvider() {
comparators.put("Type", new ReferenceTypeComparator());
comparators.put("Year", new ReferenceYearComparator());
private class ReferenceYearComparator implements Comparator<Reference> {
- /**
- * @param o1
- * @return
- */
private String getYearString(Reference o) {
TimePeriod datePublished = o == null ? null : o.getDatePublished();
return datePublished == null? null : datePublished.toString();
}
- /* (non-Javadoc)
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
@Override
public int compare(Reference o1, Reference o2) {
String yearString1 = getYearString(o1);
}
return returnVal;
-
}
}
private class ReferenceTypeComparator implements Comparator<Reference> {
- /* (non-Javadoc)
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
@Override
public int compare(Reference o1, Reference o2) {
String typeString1 = o1.getClass().toString();
}
}
}
-
-
-}
+}
\ No newline at end of file
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.bulkeditor.operation;
import java.util.Set;
/**
* @author n.hoffmann
* @created Dec 13, 2010
- * @version 1.0
*/
public class SetMarkerFlagOperation extends AbstractPostTaxonOperation {
private MarkerType markerType;
private boolean value;
- /**
- * @param label
- * @param undoContext
- * @param postOperationEnabled
- */
public SetMarkerFlagOperation(String label, IUndoContext undoContext,
Set<IAnnotatableEntity> annotatableEntities, MarkerType markerType, boolean value,
IPostOperationEnabled postOperationEnabled) {
this.value = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
- */
@Override
public IStatus execute(IProgressMonitor monitor, IAdaptable info)
throws ExecutionException {
return postExecute(null);
}
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
- */
@Override
public IStatus redo(IProgressMonitor monitor, IAdaptable info)
throws ExecutionException {
return execute(monitor, info);
}
-
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
- */
+
@Override
public IStatus undo(IProgressMonitor monitor, IAdaptable info)
throws ExecutionException {
return postExecute(null);
}
-
-}
+}
\ No newline at end of file
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.bulkeditor.preference;
import org.eclipse.jface.preference.BooleanFieldEditor;
/**
* @author n.hoffmann
* @created Dec 13, 2010
- * @version 1.0
*/
public class BulkEditorGeneralPreferencePage extends FieldEditorPreferencePageE4 {
Messages.BulkEditorGeneralPreferencePage,
getFieldEditorParent()));
}
-
-}
+}
\ No newline at end of file
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.bulkeditor.preference;
import org.eclipse.jface.preference.BooleanFieldEditor;
/**
* @author p.ciardelli
* @created 17.08.2009
- * @version 1.0
*/
public class BulkEditorMarkerPreferencePage extends FieldEditorPreferencePageE4 {
-
@Override
protected void createFieldEditors() {
if(CdmStore.isActive()){
}
}
-}
+}
\ No newline at end of file
Bundle-ManifestVersion: 2
Bundle-Name: CDM Library Dependencies Plugin
Bundle-SymbolicName: eu.etaxonomy.taxeditor.cdmlib;singleton:=true
-Bundle-Version: 5.18.2
+Bundle-Version: 5.19.0
Eclipse-BundleShape: dir
Export-Package: com.sun.istack.internal.tools,
com.sun.istack.internal.ws,
eu.etaxonomy.cdm.common,
eu.etaxonomy.cdm.common.media,
eu.etaxonomy.cdm.common.monitor,
+ eu.etaxonomy.cdm.compare.common,
+ eu.etaxonomy.cdm.compare.location,
+ eu.etaxonomy.cdm.compare.name,
+ eu.etaxonomy.cdm.compare.taxon,
+ eu.etaxonomy.cdm.compare.term,
eu.etaxonomy.cdm.config,
eu.etaxonomy.cdm.database,
eu.etaxonomy.cdm.database.types,
Bundle-ClassPath: .,
lib/apache-log4j-extras-1.2.17.jar,
lib/aspectjrt-1.9.6.jar,
- lib/cdmlib-commons-5.18.0.jar,
- lib/cdmlib-ext-5.18.0.jar,
- lib/cdmlib-io-5.18.0.jar,
- lib/cdmlib-model-5.18.0.jar,
- lib/cdmlib-persistence-5.18.0.jar,
- lib/cdmlib-cache-5.18.0.jar,
- lib/cdmlib-services-5.18.0.jar,
+ lib/cdmlib-commons-5.19.0.jar,
+ lib/cdmlib-ext-5.19.0.jar,
+ lib/cdmlib-io-5.19.0.jar,
+ lib/cdmlib-model-5.19.0.jar,
+ lib/cdmlib-persistence-5.19.0.jar,
+ lib/cdmlib-cache-5.19.0.jar,
+ lib/cdmlib-services-5.19.0.jar,
lib/commons-beanutils-1.9.4.jar,
lib/commons-codec-1.15.jar,
lib/commons-collections-3.2.2.jar,
lib/apache-log4j-extras-1.2.17.jar,\
lib/aspectjrt-1.9.6.jar,\
lib/aspectjweaver-1.9.6.jar,\
- lib/cdmlib-commons-5.18.0.jar,\
- lib/cdmlib-ext-5.18.0.jar,\
- lib/cdmlib-io-5.18.0.jar,\
- lib/cdmlib-model-5.18.0.jar,\
- lib/cdmlib-persistence-5.18.0.jar,\
- lib/cdmlib-services-5.18.0.jar,\
+ lib/cdmlib-commons-5.19.0.jar,\
+ lib/cdmlib-ext-5.19.0.jar,\
+ lib/cdmlib-io-5.19.0.jar,\
+ lib/cdmlib-model-5.19.0.jar,\
+ lib/cdmlib-persistence-5.19.0.jar,\
+ lib/cdmlib-services-5.19.0.jar,\
lib/commons-beanutils-1.9.4.jar,\
lib/commons-codec-1.15.jar,\
lib/commons-collections-3.2.2.jar,\
lib/lucene-analyzers-common-5.4.1.jar,\
lib/lucene-sandbox-5.4.1.jar,\
lib/lucene-suggest-5.4.1.jar,\
- lib/cdmlib-cache-5.18.0.jar,\
+ lib/cdmlib-cache-5.19.0.jar,\
lib/org.swtchart_0.10.0.v20160212.jar,\
lib/commons-collections4-4.4.jar,\
lib/commons-math3-3.6.1.jar,\
<parent>\r
<groupId>eu.etaxonomy</groupId>\r
<artifactId>taxeditor-parent</artifactId>\r
- <version>5.18.2</version>\r
+ <version>5.19.0</version>\r
</parent>\r
<modelVersion>4.0.0</modelVersion>\r
<artifactId>eu.etaxonomy.taxeditor.cdmlib</artifactId>\r
<repository>\r
<id>repository.springsource.release</id>\r
<name>SpringSource GA Repository</name>\r
- <url>http://repo.springsource.org/release</url>\r
+ <url>https://repo.springsource.org/release</url>\r
</repository>\r
</repositories>\r
<dependencies>\r
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
-import java.net.URI;
+import eu.etaxonomy.cdm.common.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Dictionary;
File file = null;
try {
String urlString = FileLocator.resolve(fileURL).toExternalForm().replace(" ", "%20");
- file = new File(new URI(urlString));
+ file = new File(new URI(urlString).getJavaUri());
JarFile jarFile = new JarFile(file);
Manifest manifest = jarFile.getManifest();
Attributes attributes = manifest.getMainAttributes();
if(requestURI != null){
RemoteExecutionTimestampsUtil.setLastServiceMethod(requestURI.toString());
}
-
}
private void setExecutionResponseHttpHeaderTimestamp(HttpResponse respone){
.setConnectionReuseStrategy(new NoConnectionReuseStrategy()) // see #8812
.build();
}
-}
+}
\ No newline at end of file
+/**
+* Copyright (C) 2015 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.session;
import java.util.Collection;
import java.util.List;
import java.util.Map;
-import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.ICdmBase;
-public interface ICdmEntitySessionEnabled {
+public interface ICdmEntitySessionEnabled<T extends ICdmBase> {
public ICdmEntitySession getCdmEntitySession();
- public <T extends CdmBase> Collection<T> getRootEntities();
+ public Collection<T> getRootEntities();
public Map<Object, List<String>> getPropertyPathsMap();
Bundle-ManifestVersion: 2
Bundle-Name: Editor Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.editor;singleton:=true
-Bundle-Version: 5.18.2
+Bundle-Version: 5.19.0
Bundle-Activator: eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin
Bundle-Vendor: %Bundle-Vendor.0
Bundle-Localization: OSGI-INF/l10n/plugin
<handlers xmi:id="_mjo-gOSjEee9gvnH2Eirpw" elementId="eu.etaxonomy.taxeditor.editor.descriptiveDataSet.handler.CreateDescriptiveDataSetHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.editor/eu.etaxonomy.taxeditor.editor.descriptiveDataSet.handler.CreateDescriptiveDataSetHandler" command="_XO7eUOSjEee9gvnH2Eirpw"/>
<handlers xmi:id="_yQHcoOS3EeeKONG__xkGZg" elementId="eu.etaxonomy.taxeditor.editor.descriptiveDataSet.handler.deleteDescriptiveDataSet" contributionURI="bundleclass://eu.etaxonomy.taxeditor.editor/eu.etaxonomy.taxeditor.editor.descriptiveDataSet.handler.DeleteDescriptiveDataSetHandler" command="_uPmNgOS3EeeKONG__xkGZg"/>
<menus xsi:type="menu:PopupMenu" xmi:id="__S3vQN87Eee9zP45RW4C3A" elementId="eu.etaxonomy.taxeditor.editor.popupmenu.descriptiveDataSetNavigator">
- <children xsi:type="menu:HandledMenuItem" xmi:id="_UUfGcOSjEee9gvnH2Eirpw" elementId="eu.etaxonomy.taxeditor.editor.handledmenuitem.newdescriptivedataset" label="%handledmenuitem.label.13" tooltip="%handledmenuitem.tooltip.1" command="_XO7eUOSjEee9gvnH2Eirpw"/>
+ <children xsi:type="menu:HandledMenuItem" xmi:id="_UUfGcOSjEee9gvnH2Eirpw" elementId="eu.etaxonomy.taxeditor.editor.handledmenuitem.newdescriptivedataset" label="%menu.label" tooltip="%handledmenuitem.tooltip.1" command="_XO7eUOSjEee9gvnH2Eirpw"/>
<children xsi:type="menu:MenuSeparator" xmi:id="_ZD5bgLIfEeqvn5lIFwyIRw" elementId="eu.etaxonomy.taxeditor.editor.menuseparator.31"/>
<children xsi:type="menu:DynamicMenuContribution" xmi:id="_BRxE4N88Eee9zP45RW4C3A" elementId="eu.etaxonomy.taxeditor.editor.descriptiveDataSetNavigator.dynamicmenucontribution.cdmViewer" label="%dynamicmenucontribution.label.2" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.CdmViewerContextMenuE4"/>
<children xsi:type="menu:MenuSeparator" xmi:id="_aFtd0LIfEeqvn5lIFwyIRw" elementId="eu.etaxonomy.taxeditor.editor.menuseparator.32"/>
- <children xsi:type="menu:HandledMenuItem" xmi:id="_JSt1kOS4EeeKONG__xkGZg" elementId="eu.etaxonomy.taxeditor.editor.handledmenuitem.deleteDescriptiveDataSet" label="%handledmenuitem.label.14" tooltip="%handledmenuitem.tooltip.2" command="_uPmNgOS3EeeKONG__xkGZg"/>
+ <children xsi:type="menu:HandledMenuItem" xmi:id="_JSt1kOS4EeeKONG__xkGZg" elementId="eu.etaxonomy.taxeditor.editor.handledmenuitem.deleteDescriptiveDataSet" label="%command.commandname.9" tooltip="%handledmenuitem.tooltip.2" command="_uPmNgOS3EeeKONG__xkGZg"/>
</menus>
<toolbar xmi:id="_gz3CkPycEeeOqKfc2I-67A" elementId="eu.etaxonomy.taxeditor.editor.toolbar.2"/>
</elements>
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>5.18.2</version>
+ <version>5.19.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
* 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;
import java.util.ArrayList;
*
* @author n.hoffmann
* @created 19.03.2009
- * @version 1.0
*/
public class ChooseFromMultipleTaxonNodesDialog extends ListDialog {
public Object[] getElements(Object inputElement) {
Set<TaxonNode> taxonNodes = (Set<TaxonNode>) inputElement;
- List<Classification> classifications = new ArrayList<Classification>();
+ List<Classification> classifications = new ArrayList<>();
for(TaxonNode node : taxonNodes){
classifications.add(node.getClassification());
}
}
-}
+}
\ No newline at end of file
* 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;
import java.util.Collection;
*
* @author n.hoffmann
* @created 20.01.2009
- * @version 1.0
*/
public class EditorUtil extends AbstractUtility {
}
}
-
Collection<MPart> parts = partService.getParts();
//check if part is already opened
for (MPart part : parts) {
showMedia(modelService, partService);
mediaVisible = false;
}
-
-
}
public static void showMedia(EModelService modelService, EPartService partService) {
}
}
-
public static void closeObsoleteDescriptiveDatasetEditor(UUID datasetUuid, EPartService partService){
Collection<MPart> parts = partService.getParts();
}
}
-
public static void closePart(String partID, EPartService partService){
Collection<MPart> parts = partService.getParts();
editor.init(input);
}
}
-
-}
+}
\ No newline at end of file
import eu.etaxonomy.cdm.model.term.TermType;
import eu.etaxonomy.cdm.persistence.dto.TermDto;
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
-import eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeEditorComposite;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeEditorComposite;
import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.ui.combo.term.TermUuidComboViewer;
import eu.etaxonomy.taxeditor.util.TaxonTreeNodeContentProvider;
private Text txtDescriptiveDataSet;
private TermUuidComboViewer comboRankMin;
private TermUuidComboViewer comboRankMax;
- private FeatureTreeEditorComposite<Feature> featureTreeEditorComposite;
+ private TermTreeEditorComposite<Feature> TermTreeEditorComposite;
private TreeViewer taxonNodeTree;
private List<TermDto> areas = new ArrayList<>();
private Text textAreaText;
btnChooseArea = new Button(composite, SWT.NONE);
btnChooseArea.setImage(ImageResources.getImage(ImageResources.BROWSE_ICON));
- featureTreeEditorComposite = new FeatureTreeEditorComposite<>(this, SWT.NONE);
- featureTreeEditorComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
+ TermTreeEditorComposite = new TermTreeEditorComposite<>(this, SWT.NONE);
+ TermTreeEditorComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
}
@Override
comboRankMax.setElement(max);
}
- public FeatureTreeEditorComposite<Feature> getFeatureTreeEditorComposite() {
- return featureTreeEditorComposite;
+ public TermTreeEditorComposite<Feature> getTermTreeEditorComposite() {
+ return TermTreeEditorComposite;
}
public TermTree<Feature> getCharacters(){
- return featureTreeEditorComposite.getFeatureTree();
+ return TermTreeEditorComposite.getFeatureTree();
}
public void setCharacters(TermTree<Feature> characters) {
- featureTreeEditorComposite.setSelectedTree(characters);
+ TermTreeEditorComposite.setSelectedTree(characters);
}
public TreeViewer getTaxonNodeTree() {
* @since Nov 21, 2017
*
*/
-public class DescriptiveDataSetEditor implements IE4SavablePart, IConversationEnabled, ICdmEntitySessionEnabled,
-IPartContentHasDetails, IPartContentHasSupplementalData, IDirtyMarkable, IDescriptiveDataSetEditor {
+public class DescriptiveDataSetEditor implements IE4SavablePart, IConversationEnabled,
+ ICdmEntitySessionEnabled<DescriptiveDataSet>, IPartContentHasDetails,
+ IPartContentHasSupplementalData, IDirtyMarkable, IDescriptiveDataSetEditor {
private DescriptiveDataSetComposite composite;
}
});
- composite.getFeatureTreeEditorComposite().init("Character Tree",
+ composite.getTermTreeEditorComposite().init("Character Tree",
TermType.Character,
null,
null,
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IMemento;
* @date 12.12.2017
*
*/
-public class DescriptiveDataSetNavigator implements IConversationEnabled, ICdmEntitySessionEnabled, IContextListener{
+public class DescriptiveDataSetNavigator
+ implements IConversationEnabled, ICdmEntitySessionEnabled<DescriptiveDataSet>, IContextListener{
private ListViewer viewer;
return super.getText(element);
}
});
+ viewer.setComparator(new ViewerComparator());
viewer.addDoubleClickListener(new IDoubleClickListener() {
refresh();
}
- /**
- * {@inheritDoc}
- */
@Override
public void update(CdmDataChangeMap arg0) {
}
- /**
- * {@inheritDoc}
- */
@Override
public ICdmEntitySession getCdmEntitySession() {
return cdmEntitySession;
}
- /**
- * {@inheritDoc}
- */
@Override
- public <T extends CdmBase> Collection<T> getRootEntities() {
+ public Collection<DescriptiveDataSet> getRootEntities() {
return null;
}
- /**
- * {@inheritDoc}
- */
@Override
public Map<Object, List<String>> getPropertyPathsMap() {
return null;
}
- /**
- * {@inheritDoc}
- */
@Override
public ConversationHolder getConversationHolder() {
return conversation;
}
}
- /**
- * {@inheritDoc}
- */
@Override
public void contextAboutToStop(IMemento memento, IProgressMonitor monitor) {
// TODO Auto-generated method stub
}
- /**
- * {@inheritDoc}
- */
@Override
public void contextStop(IMemento memento, IProgressMonitor monitor) {
}
- /**
- * {@inheritDoc}
- */
@Override
public void contextStart(IMemento memento, IProgressMonitor monitor) {
if(viewer!=null && viewer.getControl()!=null && !viewer.getControl().isDisposed()){
}
}
- /**
- * {@inheritDoc}
- */
@Override
public void contextRefresh(IProgressMonitor monitor) {
}
- /**
- * {@inheritDoc}
- */
@Override
public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
}
-
-}
+}
\ No newline at end of file
import eu.etaxonomy.cdm.model.description.Character;
import eu.etaxonomy.cdm.model.term.TermNode;
import eu.etaxonomy.taxeditor.featuretree.CharacterTransfer;
-import eu.etaxonomy.taxeditor.featuretree.e4.FeatureNodeDragListener;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermNodeDragListener;
/**
* @author pplitzner
* @since Jun 2, 2017
*
*/
-public class CharacterDragListener extends FeatureNodeDragListener {
+public class CharacterDragListener extends TermNodeDragListener {
private TreeViewer structureViewer;
private TreeViewer propertyViewer;
import eu.etaxonomy.cdm.persistence.dto.TermNodeDto;
import eu.etaxonomy.cdm.persistence.dto.TermTreeDto;
import eu.etaxonomy.taxeditor.featuretree.CharacterTransfer;
-import eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeDtoDropAdapter;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeDtoDropAdapter;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.StoreUtil;
* @date Jun 1, 2017
*
*/
-public class CharacterDropAdapter extends FeatureTreeDtoDropAdapter {
+public class CharacterDropAdapter extends TermTreeDtoDropAdapter {
private CharacterEditor characterEditor;
-// $Id$
/**
* Copyright (C) 2017 EDIT
* European Distributed Institute of Taxonomy
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
import eu.etaxonomy.taxeditor.featuretree.CharacterTransfer;
-import eu.etaxonomy.taxeditor.featuretree.FeatureTreeContentProvider;
-import eu.etaxonomy.taxeditor.featuretree.FeatureTreeLabelProvider;
-import eu.etaxonomy.taxeditor.featuretree.e4.AbstractTermTreeEditor;
-import eu.etaxonomy.taxeditor.featuretree.e4.FeatureNodeDtoDragListener;
-import eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeDtoDropAdapter;
+import eu.etaxonomy.taxeditor.featuretree.TermTreeContentProvider;
+import eu.etaxonomy.taxeditor.featuretree.TermTreeLabelProvider;
import eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeDtoEditorComposite;
import eu.etaxonomy.taxeditor.featuretree.e4.ICharacterEditor;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermNodeDtoDragListener;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeDtoDropAdapter;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeEditor;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
* Editor for combining structure and property terms to characters.
* @author pplitzner
* @date 24.05.2017
- *
*/
public class CharacterEditor implements ICharacterEditor, IConversationEnabled, ISelectionChangedListener,
- ModifyListener, IE4ViewerPart, IPartContentHasDetails, IPartContentHasSupplementalData, IDirtyMarkable, IE4SavablePart {
+ ModifyListener, IE4ViewerPart, IPartContentHasDetails, IPartContentHasSupplementalData,
+ IDirtyMarkable, IE4SavablePart {
private FeatureTreeDtoEditorComposite characterTreeEditorComposite;
private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
});
characterTreeEditorComposite = addFeatureTreeEditor(composite_3);
- initFeatureTreeComposite(TermType.Character, characterTreeEditorComposite, new FeatureNodeDtoDragListener(characterTreeEditorComposite.getViewer()),
- new FeatureTreeDtoDropAdapter(this, characterTreeEditorComposite.getViewer(), sync),
+ initFeatureTreeComposite(TermType.Character, characterTreeEditorComposite, new TermNodeDtoDragListener(characterTreeEditorComposite.getViewer()),
+ new TermTreeDtoDropAdapter(this, characterTreeEditorComposite.getViewer(), sync),
null);
characterTreeEditorComposite.getLabel_title().setText(Messages.CharacterEditor_CHARACTERS);
TreeViewer viewer = new TreeViewer(composite);
viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
- viewer.setContentProvider(new FeatureTreeContentProvider());
- viewer.setLabelProvider(new FeatureTreeLabelProvider());
+ viewer.setContentProvider(new TermTreeContentProvider());
+ viewer.setLabelProvider(new TermTreeLabelProvider());
viewer.setComparator(new FeatureTreeViewerComparator());
viewer.addSelectionChangedListener(this);
- viewer.setInput(CdmStore.getService(ITermTreeService.class).list(termType, null, null, null, AbstractTermTreeEditor.TREE_PROPERTY_PATH));
+ viewer.setInput(CdmStore.getService(ITermTreeService.class).list(termType, null, null, null, TermTreeEditor.TREE_PROPERTY_PATH));
btnRefresh.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- viewer.setInput(CdmStore.getService(ITermTreeService.class).list(termType, null, null, null, AbstractTermTreeEditor.TREE_PROPERTY_PATH));
+ viewer.setInput(CdmStore.getService(ITermTreeService.class).list(termType, null, null, null, TermTreeEditor.TREE_PROPERTY_PATH));
refresh(viewer);
}
});
}
private <T extends DefinedTermBase> FeatureTreeDtoEditorComposite<T> addFeatureTreeEditor(Composite composite_3) {
- FeatureTreeDtoEditorComposite<T> featureTreeEditorComposite = new FeatureTreeDtoEditorComposite<>(composite_3, SWT.NONE);
- featureTreeEditorComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
- return featureTreeEditorComposite;
+ FeatureTreeDtoEditorComposite<T> TermTreeEditorComposite = new FeatureTreeDtoEditorComposite<>(composite_3, SWT.NONE);
+ TermTreeEditorComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
+ return TermTreeEditorComposite;
}
private void initFeatureTreeComposite(
TermType termType,
- FeatureTreeDtoEditorComposite featureTreeEditorComposite,
- FeatureNodeDtoDragListener featureNodeDragListener,
- FeatureTreeDtoDropAdapter featureNodeDropAdapter,
+ FeatureTreeDtoEditorComposite TermTreeEditorComposite,
+ TermNodeDtoDragListener featureNodeDragListener,
+ TermTreeDtoDropAdapter featureNodeDropAdapter,
Transfer[] transfers) {
- featureTreeEditorComposite.init(
+ TermTreeEditorComposite.init(
featureNodeDragListener,
featureNodeDropAdapter,
transfers,
this,
- new FeatureTreeChooserListener(featureTreeEditorComposite, termType),
+ new FeatureTreeChooserListener(TermTreeEditorComposite, termType),
this);
}
}
private class FeatureTreeChooserListener extends SelectionAdapter{
- private FeatureTreeDtoEditorComposite<Feature> featureTreeEditorComposite;
+ private FeatureTreeDtoEditorComposite<Feature> TermTreeEditorComposite;
private TermType termType;
- public FeatureTreeChooserListener(FeatureTreeDtoEditorComposite<Feature> featureTreeEditorComposite, TermType termType) {
+ public FeatureTreeChooserListener(FeatureTreeDtoEditorComposite<Feature> TermTreeEditorComposite, TermType termType) {
super();
- this.featureTreeEditorComposite = featureTreeEditorComposite;
+ this.TermTreeEditorComposite = TermTreeEditorComposite;
this.termType = termType;
}
@Override
public void widgetSelected(SelectionEvent e) {
- TermTree tree = FeatureTreeSelectionDialog.select(featureTreeEditorComposite.getDisplay().getActiveShell(), null, termType);
+ TermTree tree = FeatureTreeSelectionDialog.select(TermTreeEditorComposite.getDisplay().getActiveShell(), null, termType);
if(tree!=null){
cdmEntitySession.load(tree, true);
- featureTreeEditorComposite.setSelectedTree(tree);
+ TermTreeEditorComposite.setSelectedTree(tree);
}
}
}
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.taxeditor.editor.descriptiveDataSet.character.CharacterEditor;
-import eu.etaxonomy.taxeditor.featuretree.e4.handler.AddFeatureHandler;
+import eu.etaxonomy.taxeditor.featuretree.e4.handler.AddTermHandler;
/**
* @author pplitzner
* @since Jul 12, 2017
*
*/
-public class AddFeatureToCharacterTreeHandler extends AddFeatureHandler {
+public class AddFeatureToCharacterTreeHandler extends AddTermHandler {
@Execute
@Override
* Character matrix editor for editing specimen/taxon descriptions in a table
* @author pplitzner
* @since Nov 26, 2017
- *
*/
public class CharacterMatrixPart implements IE4SavablePart, IConversationEnabled, IDirtyMarkable,
-ICdmEntitySessionEnabled, IPartContentHasSupplementalData, IPartContentHasDetails{
+ ICdmEntitySessionEnabled<DescriptiveDataSet>, IPartContentHasSupplementalData,
+ IPartContentHasDetails {
private static final List<String> WS_PROPERTY_PATH = Arrays.asList(new String[] {
"descriptions", //$NON-NLS-1$
* 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.e4;
import java.util.ArrayList;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-
/**
* @author pplitzner
* @date Aug 24, 2017
*/
-public class TaxonEditorInputE4 extends CdmEntitySessionInput implements IConversationEnabled {
+public class TaxonEditorInputE4 extends CdmEntitySessionInput<TaxonNode>
+ implements IConversationEnabled {
private static final String INCORRECT_STATE = Messages.TaxonEditorInput_INCORRECT_STATE;
private List<TaxonBase> toSaveNewConcepts = new ArrayList<>();
private List<TaxonName> toSaveNewNames = new ArrayList<>();
-
private Set<AbstractPostOperation> operations = new HashSet<>();
private TaxonEditorInputDataChangeBehaviourE4 dataChangeBehavior;
delete(entry.getKey(), entry.getValue());
}
toDeletes.clear();
- for(AbstractPostOperation<?> entry:operations){
- IStatus status = Status.CANCEL_STATUS;
- final IAdaptable uiInfoAdapter = WorkspaceUndoUtil
- .getUIInfoAdapter(AbstractUtility.getShell());
- String operationlabel = entry.getLabel();
- try {
- entry.addContext(IOperationHistory.GLOBAL_UNDO_CONTEXT);
- status = entry.execute(new NullProgressMonitor(), uiInfoAdapter);
- } catch (ExecutionException e) {
-
- MessagingUtils.operationDialog(AbstractUtility.class, e, TaxeditorStorePlugin.PLUGIN_ID, operationlabel, null);
-
- }
- String statusString = status.equals(Status.OK_STATUS) ? "completed"
- : "cancelled";
-
- IPostOperationEnabled postOperationEnabled = entry
- .getPostOperationEnabled();
- if (postOperationEnabled != null) {
- postOperationEnabled.onComplete();
- }
-
-
- //AbstractUtility.executeOperation(entry,sync);
- }
-
- operations.clear();
for (Synonym syn: toSaveNewSynonyms){
- for (HybridRelationship rel : syn.getName().getHybridChildRelations()){
-// if (!rel.getParentName().isPersited()) {
+ if (syn.getName() != null){
+ for (HybridRelationship rel : syn.getName().getHybridChildRelations()){
toSaveNewNames.add(rel.getParentName());
-// }
-// if (!rel.getHybridName().isPersited()) {
- toSaveNewNames.add(rel.getHybridName());
-// }
-
+ toSaveNewNames.add(rel.getHybridName());
+ }
}
}
for (TaxonBase<?> concept: toSaveNewConcepts){
- for (HybridRelationship rel : concept.getName().getHybridChildRelations()){
-// if (!rel.getParentName().isPersited()) {
+ if (concept.getName() != null){
+ for (HybridRelationship rel : concept.getName().getHybridChildRelations()){
toSaveNewNames.add(rel.getParentName());
-// }
-// if (!rel.getHybridName().isPersited()) {
toSaveNewNames.add(rel.getHybridName());
-// }
+ }
+ }
+ }
+ //handle cascading for hybrid relationshis
+ //accepted taxa
+ if (taxonNode.getTaxon().getName() != null){
+ for (HybridRelationship rel : taxonNode.getTaxon().getName().getHybridChildRelations()){
+ toSaveNewNames.add(rel.getParentName());
+ toSaveNewNames.add(rel.getHybridName());
+ }
+ }
+ //synonyms
+ for (TaxonName synonymName : taxonNode.getTaxon().getSynonymNames()){
+ if (synonymName != null){
+ for (HybridRelationship rel : synonymName.getHybridChildRelations()){
+ toSaveNewNames.add(rel.getParentName());
+ toSaveNewNames.add(rel.getHybridName());
+ }
}
}
+
if (!toSaveNewNames.isEmpty()){
CdmStore.getService(INameService.class).merge(toSaveNewNames, true);
}
toSaveNewNames.clear();
toSaveNewConcepts.clear();
+
CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
+ for(AbstractPostOperation<?> entry:operations){
+ IStatus status = Status.CANCEL_STATUS;
+ final IAdaptable uiInfoAdapter = WorkspaceUndoUtil
+ .getUIInfoAdapter(AbstractUtility.getShell());
+ String operationlabel = entry.getLabel();
+ try {
+ entry.addContext(IOperationHistory.GLOBAL_UNDO_CONTEXT);
+ status = entry.execute(new NullProgressMonitor(), uiInfoAdapter);
+ } catch (ExecutionException e) {
+ MessagingUtils.operationDialog(AbstractUtility.class, e, TaxeditorStorePlugin.PLUGIN_ID, operationlabel, null);
+ }
+
+ IPostOperationEnabled postOperationEnabled = entry
+ .getPostOperationEnabled();
+ if (postOperationEnabled != null) {
+ postOperationEnabled.onComplete();
+ }
+
+ //AbstractUtility.executeOperation(entry,sync);
+ }
+
+ operations.clear();
}
"synonyms.name.relationsToThisName.fromName", //$NON-NLS-1$
"synonyms.name.nomenclaturalReference.inReference.authorship", //$NON-NLS-1$
"synonyms.name.nomenclaturalReference.authorship", //$NON-NLS-1$
- "synonyms.name.homotypicalGroup.typifiedNames.taxonBases.synonyms" //$NON-NLS-1$
+ "synonyms.name.homotypicalGroup.typifiedNames.taxonBases.synonyms", //$NON-NLS-1$
+ "relationsFromThisTaxon",//$NON-NLS-1$
+ "relationsToThisTaxon"//$NON-NLS-1$
});
return taxonBasePropertyPaths;
public void addToSaveNewName(TaxonName newName) {
this.toSaveNewNames.add(newName);
}
-}
+}
\ No newline at end of file
*
* @author cmathew
* @created Mar 28, 2013
- *
*/
-
-public class CdmAuthorityEditorInput extends CdmEntitySessionInput implements IConversationEnabled {
+public class CdmAuthorityEditorInput
+ extends CdmEntitySessionInput<Group>
+ implements IConversationEnabled {
+
private ConversationHolder conversation;
private Group group;
return null;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
- */
+
@Override
public void update(CdmDataChangeMap changeEvents) {
// TODO Auto-generated method stub
-
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder()
- */
+
@Override
public ConversationHolder getConversationHolder() {
return this.conversation;
}
+
public String getName() {
return group.getName();
}
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
public boolean equals(Object object) {
if (object instanceof CdmAuthorityEditorInput
return super.equals(object);
}
- /**
- * Getter method for group member.
- *
- * @return
- */
public Group getGroup() {
return this.group;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
- */
+
@Override
public Collection<Group> getRootEntities() {
return Arrays.asList(group);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
- */
@Override
public void merge() {
group = CdmStore.getService(IGroupService.class).merge(group, true).getMergedEntity();
-
}
-}
+}
\ No newline at end of file
/**
- *
- */
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
package eu.etaxonomy.taxeditor.editor.key;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
/**
* @author n.hoffmann
- *
*/
public abstract class AbstractIdentificationEditorInput<T extends IIdentificationKey>
extends CdmEntitySessionInput implements IConversationEnabled {
public void update(CdmDataChangeMap changeEvents) {
}
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
boolean result = super.equals(obj);
return result;
}
-
-}
+}
\ No newline at end of file
* 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.key.polytomous;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
/**
* @author n.hoffmann
* @created Apr 20, 2011
- * @version 1.0
*/
public interface IPolytomousKeyEditorPage extends IPostOperationEnabled {
-}
+}
\ No newline at end of file
/**
- *
- */
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
package eu.etaxonomy.taxeditor.editor.key.polytomous;
import java.util.ArrayList;
/**
* @author n.hoffmann
- *
*/
public class PolytomousKeyEditorInput extends AbstractIdentificationEditorInput<PolytomousKey> {
// this.name = name;
// }
-
public static PolytomousKeyEditorInput NewInstance(UUID polytomousKeyUuid) throws Exception{
try{
ConversationHolder conversation = CdmStore.createConversation();
}
}
-
@Override
public PolytomousKey getKey() {
return key;
}
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
public boolean equals(Object object) {
if (object instanceof PolytomousKeyEditorInput
return super.equals(object);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
- */
@Override
public List<PolytomousKey> getRootEntities() {
return Arrays.asList(key);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
- */
@Override
public void merge() {
key = CdmStore.getService(IPolytomousKeyService.class).merge(key,true).getMergedEntity();
-
}
@Override
propertyPathsMap.put("children", polytomousKeyNodePropertyPaths); //$NON-NLS-1$
return propertyPathsMap;
}
-
-}
+}
\ No newline at end of file
* 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.key.polytomous;
import java.util.ArrayList;
import eu.etaxonomy.taxeditor.model.PolytomousKeyRelationship;
/**
- *
* @author n.hoffmann
* @created Mar 30, 2011
- * @version 1.0
*/
public class PolytomousKeyGraphContentProvider implements IGraphContentProvider {
public Object getDestination(Object relationship) {
return ((PolytomousKeyRelationship) relationship).getDestination();
}
-
-}
+}
\ No newline at end of file
* 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.key.polytomous;
import java.util.Map;
*
* @author n.hoffmann
* @created Mar 30, 2011
- * @version 1.0
*/
public class PolytomousKeyLabelProvider extends LabelProvider implements
IEntityStyleProvider {
return EMPTY;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.zest.core.viewers.IEntityStyleProvider#fisheyeNode(java.lang
- * .Object)
- */
@Override
public boolean fisheyeNode(Object arg0) {
// TODO Auto-generated method stub
return false;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.zest.core.viewers.IEntityStyleProvider#getBackgroundColour
- * (java.lang.Object)
- */
@Override
public Color getBackgroundColour(Object arg0) {
// TODO Auto-generated method stub
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.zest.core.viewers.IEntityStyleProvider#getBorderColor(java
- * .lang.Object)
- */
@Override
public Color getBorderColor(Object arg0) {
// TODO Auto-generated method stub
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.zest.core.viewers.IEntityStyleProvider#getBorderHighlightColor
- * (java.lang.Object)
- */
@Override
public Color getBorderHighlightColor(Object arg0) {
// TODO Auto-generated method stub
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.zest.core.viewers.IEntityStyleProvider#getBorderWidth(java
- * .lang.Object)
- */
@Override
public int getBorderWidth(Object arg0) {
return 0;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.zest.core.viewers.IEntityStyleProvider#getForegroundColour
- * (java.lang.Object)
- */
@Override
public Color getForegroundColour(Object arg0) {
// TODO Auto-generated method stub
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.zest.core.viewers.IEntityStyleProvider#getNodeHighlightColor
- * (java.lang.Object)
- */
@Override
public Color getNodeHighlightColor(Object arg0) {
// TODO Auto-generated method stub
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.zest.core.viewers.IEntityStyleProvider#getTooltip(java.lang
- * .Object)
- */
@Override
public IFigure getTooltip(Object arg0) {
return null;
}
-}
+}
\ No newline at end of file
* 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.key.polytomous;
import java.util.ArrayList;
/**
* @author n.hoffmann
* @created Apr 4, 2011
- * @version 1.0
*/
public class PolytomousKeyListContentProvider implements
IStructuredContentProvider {
- /*
- * (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.IStructuredContentProvider#getElements(java
- * .lang.Object)
- */
@Override
public Object[] getElements(Object inputElement) {
if (inputElement instanceof PolytomousKeyEditorInput) {
}
}
}
-}
+}
\ No newline at end of file
* 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.key.polytomous;
import java.util.Map;
/**
* @author n.hoffmann
* @created Apr 18, 2011
- * @version 1.0
*/
public class PolytomousKeyListLabelProvider extends StyledCellLabelProvider {
private boolean isParentRoot(PolytomousKeyNode node) {
return getParent(node) == null;
}
-
-}
+}
\ No newline at end of file
/**
* @author n.hoffmann
* @created Dec 6, 2010
- * @version 1.0
*/
public class DeleteNodeHandlerE4 extends RemotingCdmHandlerE4 {
public void onComplete() {
}
- /**
- * {@inheritDoc}
- */
@Override
protected Object getTrigger() {
return this;
menuItem.setVisible(canExecute);
return canExecute;
}
-
}
\ No newline at end of file
public static String KeyEditor_LIST;
public static String KeyEditor_SAVING;
public static String MediaViewPart_MEDIA;
- public static String MisapplicationContainer_SEC_REF_REQUIRED;
public static String MoveDerivateOperation_MOVE_NOT_POSSIBLE;
public static String MoveDerivateOperation_MOVE_TO_NOT_POSSIBLE;
public static String MoveDescriptionElementsHandler_CHOOSE_ACC_TAXON;
EditorAnnotation_ERROR=Error:
EditorAnnotation_WARNING=Warning:
IContainerConstants_CLICK_ADD_NAME=Click to add name
-MisapplicationContainer_SEC_REF_REQUIRED=This misapplication requires a sec. reference.
SynonymContainer_SYNONYM_NULL_NAME=Synonym with a null name detected. This should never happen.
NameEditorDropTargetListener_CHANGE=Change
NameEditorDropTargetListener_CHANGE_ACC_TAXON=Change accepted Taxon
ChangeSynonymToAcceptedTaxonOperation_INCONSISTENT_DATA=Operation may lead to inconsistent data
ChangeSynonymToAcceptedTaxonOperation_NOT_IMPLEMENTED=Not yet implemented
ChangeSynonymToAcceptedTaxonOperation_DifferentSec=Different Secundum Reference
-ChangeSynonymToAcceptedTaxonOperation_DifferentSec_Message=The new taxon and the parent does not have the same secundum reference.
+ChangeSynonymToAcceptedTaxonOperation_DifferentSec_Message=The new taxon and the parent do not have the same secundum reference.
CharacterEditor_CANNOT_PERFORM_MESSAGE=You have to select a structure, a property and a character tree to perform this action.
CharacterEditor_CANNOT_PERFORM_TITLE=Cannot perform action
CharacterEditor_CHARACTERS=Characters:
EditorAnnotation_ERROR=Error:
EditorAnnotation_WARNING=Warnung:
IContainerConstants_CLICK_ADD_NAME=Klicken, um Namen hinzuzufügen
-MisapplicationContainer_SEC_REF_REQUIRED=Diese Fehlanwendung benötigt eine sec. Referenz.
SynonymContainer_SYNONYM_NULL_NAME=Synonym mit einem null-Namen entdeckt. Das sollte nicht passieren.
NameEditorDropTargetListener_CHANGE=Ändern
NameEditorDropTargetListener_CHANGE_ACC_TAXON=Ändere akzeptiertes Taxon
* 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.name.container;
import org.eclipse.swt.graphics.Image;
/**
* @author n.hoffmann
* @created Jan 20, 2011
- * @version 1.0
*/
public interface IContainerConstants {
- /**
- *
- */
+
public static final int SELECTED_FOCUS = 1;
/** Constant <code>SELECTED_NO_FOCUS=2</code> */
public static final int SELECTED_NO_FOCUS = 2;
* 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.name.container;
-import java.util.ArrayList;
-import java.util.Collection;
import java.util.Scanner;
import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.VerifyEvent;
import org.eclipse.swt.events.VerifyListener;
*
* @author p.ciardelli
* @created 19.05.2008
- * @version 1.0
*/
-
public abstract class LineBreakListener implements VerifyListener{
-
private static String LINE_BREAK = System.getProperty("line.separator"); //$NON-NLS-1$
* @param text a {@link java.lang.String} object.
*/
abstract public void handleSplitText(String text);
-}
+}
\ No newline at end of file
* 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.name.container;
import org.apache.log4j.Logger;
*
* @author p.ciardelli
* @created 19.05.2008
- * @version 1.0
*/
public class LineWrapSupport {
private static final Logger logger = Logger
*
* @author p.ciardelli
* @created 21.05.2008
- * @version 1.0
*/
class LineWrapListener implements ModifyListener {
checkLineCount();
}
}
-}
+}
\ No newline at end of file
* 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.name.e4;
import java.util.ArrayList;
import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.DropTarget;
private ManagedForm managedForm;
private ScrolledForm scrolledForm;
private Composite parent;
- private ISelectionProvider simpleSelectionProvider;
@Inject
private EModelService modelService;
@Inject
private EPartService partService;
- private TaxonBase selection;
+ private TaxonBase<?> selection;
private ConversationHolder conversation;
createManagedForm(parent);
TaxeditorPartService.getInstance().addListener(TaxeditorPartService.PART_ACTIVATED, this);
-
}
protected void createManagedForm(Composite composite) {
parent.pack();
managedForm.refresh();
managedForm.reflow(true);
-
}
@Override
// check permissions
boolean doEnable = permissionsSatisfied();
managedForm.getForm().setEnabled(doEnable);
-
-
}
@Override
TaxonNode taxonNode = input.getTaxonNode();
doEnable = CdmStore.currentAuthentiationHasPermission(taxonNode,
RequiredPermissions.TAXON_EDIT);
-
}
return doEnable;
}
// Otherwise declare this step as done.
monitor.worked(1);
-
}
input.setSync(sync);
input.merge();
setEnabled(false, disabledColor);
}
-
-
protected void setEnabled(boolean enabled, Color background) {
for (AbstractGroupedContainerE4<?> groupedContainer : getGroupedContainers()) {
this.redraw(false, true, true, true);
this.setDirty();
if (cdmbase instanceof TaxonBase) {
- this.selection = (TaxonBase) cdmbase;
+ this.selection = (TaxonBase<?>) cdmbase;
}
-
}
}
// check for match in type designations
.anyMatch(unit -> typeDesignationSpecimens.contains(unit))) {
EditorUtil.updateEditor(this.input.getTaxonNode(), this);
-
}
-
}
@Override
public TaxonNode getTaxonNode() {
return input.getTaxonNode();
}
-}
+}
\ No newline at end of file
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.cdm.strategy.cache.TaggedCacheHelper;
import eu.etaxonomy.cdm.strategy.cache.TaggedText;
-import eu.etaxonomy.taxeditor.editor.l10n.Messages;
-import eu.etaxonomy.taxeditor.editor.name.container.EditorAnnotation;
import eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4;
import eu.etaxonomy.taxeditor.editor.name.e4.container.MisappliedGroupE4.ConceptType;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
@Override
public void showAnnotations() {
- if(getData().getSec() == null){
- getNameViewer().addAnnotation(
- new EditorAnnotation(0, Messages.MisapplicationContainer_SEC_REF_REQUIRED));
- }
super.showAnnotations();
}
* 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.checklist;
import org.eclipse.jface.viewers.Viewer;
/**
* @author a.oppermann
* @created 30.04.2014
- * @version 1.0
*/
public class ChecklistEditorComparator extends ViewerComparator {
}
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
- */
@Override
public int compare(Viewer viewer, Object e1, Object e2) {
Taxon d1 = (Taxon) e1;
}
return result;
}
-}
+}
\ No newline at end of file
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
- *
* @author a.oppermann
* @date 25.04.2014
- *
*/
-public class ChecklistEditorInput extends CdmEntitySessionInput implements IPersistable {
+public class ChecklistEditorInput extends CdmEntitySessionInput<TaxonNode> implements IPersistable {
/**
* The selected classification
*/
private TaxonNode taxonNode = null;
- private List<TaxonBase> taxa = new ArrayList();
+ private List<TaxonBase> taxa = new ArrayList<>();
private Classification classification = null;
private final ConversationHolder conversation;
- private List<TaxonBase> taxaToSave = new ArrayList();
+ private List<TaxonBase> taxaToSave = new ArrayList<>();
/**
}
-
- /**
- * @param taxonNode2
- */
private void getChildTaxa(TaxonNode taxonNode2) {
taxonNode2.removeNullValueFromChildren();
if (taxonNode2.hasChildNodes()){
getChildTaxa(node);
}
}
-
-
}
/**
}
-
-
public List<TaxonBase> getTaxa() {
return taxa;
}
}
}
-
- /**
- * @return the taxonNode
- */
public TaxonNode getTaxonNode() {
return taxonNode;
}
- /**
- * @return classification
- */
public Classification getClassification(){
return classification;
}
-// /**
-// * @return the conversationHolder
-// */
// public ConversationHolder getConversationHolder() {
// return conversationHolder;
// }
-
-
-// /* (non-Javadoc)
-// * @see java.lang.Object#hashCode()
-// */
// @Override
// public int hashCode() {
// final int prime = 31;
// return result;
// }
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPersistable#saveState(org.eclipse.ui.IMemento)
- */
@Override
public void saveState(IMemento memento) {
UUID uuid = classification.getUuid();
CdmStore.getService(ITaxonService.class).merge(taxaToSave, 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;
}
return taxonBasePropertyPaths;
}
-
public void setTaxa(List<TaxonBase> taxonList) {
this.taxa = taxonList;
}
-
/**
* @param element
*/
// super.dispose();
// }
-}
+}
\ No newline at end of file
import java.util.Map;
import java.util.Set;
-import javax.inject.Inject;
-
-import org.eclipse.e4.core.services.events.IEventBroker;
import org.eclipse.nebula.widgets.nattable.data.IColumnPropertyAccessor;
import eu.etaxonomy.cdm.api.service.dto.TaxonDistributionDTO;
import eu.etaxonomy.taxeditor.event.EventUtility;
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
-
/**
* @author k.luther
* @since 28.11.2018
- *
*/
public class DistributionColumnAccessor implements IColumnPropertyAccessor<TaxonDistributionDTO> {
- private DistributionEditor editor;
+
public static final String DEFAULT_ENTRY = "";
- @Inject
- private IEventBroker eventBroker;
+
+ private DistributionEditor editor;
public DistributionColumnAccessor(DistributionEditor editor) {
this.editor = editor;
}
-
- /**
- * {@inheritDoc}
- */
@Override
public Object getDataValue(TaxonDistributionDTO rowObject, int columnIndex) {
// editor.setActualNameCache(rowObject.getNameCache());
}
-
- /**
- * {@inheritDoc}
- */
@Override
public int getColumnCount() {
return editor.getPropertyToLabelMap().size();
}
- /**
- * {@inheritDoc}
- */
@Override
public String getColumnProperty(int columnIndex) {
return editor.getPropertyToLabelMap().get(columnIndex);
}
- /**
- * {@inheritDoc}
- */
@Override
public int getColumnIndex(String propertyName){
return editor.getPropertyToLabelMap().indexOf(propertyName);
}
-
- /**
- * {@inheritDoc}
- */
@Override
public void setDataValue(TaxonDistributionDTO taxonWrapper, int columnIndex, Object newValue) {
if (newValue instanceof StatusHelper){
}
EventUtility.postEvent(WorkbenchEventConstants.REFRESH_DETAILS, true);
-
}
-
-}
+}
\ No newline at end of file
import java.util.TreeSet;
import java.util.UUID;
-import javax.inject.Inject;
-
import org.apache.commons.collections4.map.LinkedMap;
import org.apache.log4j.Logger;
-import org.eclipse.e4.ui.services.EMenuService;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.wizard.WizardDialog;
import eu.etaxonomy.cdm.api.service.IVocabularyService;
import eu.etaxonomy.cdm.api.service.dto.TaxonDescriptionDTO;
import eu.etaxonomy.cdm.api.service.dto.TaxonDistributionDTO;
+import eu.etaxonomy.cdm.compare.term.OrderedTermComparator;
+import eu.etaxonomy.cdm.compare.term.TermIdInVocabularyComparator;
+import eu.etaxonomy.cdm.compare.term.TermLanguageComparator;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
import eu.etaxonomy.cdm.model.term.OrderedTermBase;
-import eu.etaxonomy.cdm.model.term.OrderedTermComparator;
import eu.etaxonomy.cdm.model.term.Representation;
-import eu.etaxonomy.cdm.model.term.TermIdInVocabularyComparator;
-import eu.etaxonomy.cdm.model.term.TermLanguageComparator;
import eu.etaxonomy.cdm.model.term.TermType;
import eu.etaxonomy.cdm.model.term.TermVocabulary;
-import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.IDistributionEditor;
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.preference.Resources;
import eu.etaxonomy.taxeditor.preference.wizard.AvailableDistributionWizard;
import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.taxeditor.ui.dialog.selection.ReferenceSelectionDialog;
/**
* @author k.luther
* @since 27.11.2018
- *
*/
public class DistributionEditor extends Composite implements IDistributionEditor{
+ @SuppressWarnings("unused")
+ private static final Logger logger = Logger.getLogger(DistributionEditor.class);
private static final String DISTRIBUTION_EDITOR = "Distribution Editor"; //$NON-NLS-1$
private static final String LOADING_TAXA = Messages.ChecklistEditor_LOAD_TAXA;
static final String RANK_COLUMN = "collector_column";//$NON-NLS-1$
static final String SYNONYM_COLUMN = "synonym_column";//$NON-NLS-1$
- private static final Logger logger = Logger.getLogger(DistributionEditor.class);
- @Inject
- private EMenuService menuService;
+
private NatTable natTable;
private Label statusLabel;
private Label statusLabelSourceReference;
private Reference defaultSource;
- private Map<Integer, NamedArea> areaToColumnIndexMap= new HashMap();
+ private Map<Integer, NamedArea> areaToColumnIndexMap= new HashMap<>();
private int firstDataColumnIndex;
private ListDataProvider<TaxonDistributionDTO> bodyDataProvider;
private LinkedMap<String, String> propertyToLabelMap = new LinkedMap<>();
private boolean isShowRank = false;
- private Integer countNodes;
private Text searchText;
- Button button3;
- Button button2;
-
- EventList<TaxonDistributionDTO> taxonList;
- String actualNameCache = null;
- Map<UUID,Map<NamedArea,Set<DescriptionElementBase>>> taxonDistributionMap = new HashMap<>();
+ private Button button3;
+ private Button button2;
- List<TaxonDistributionDTO> descriptionsToSave = new ArrayList<>();
+ protected EventList<TaxonDistributionDTO> taxonList;
+ private String actualNameCache;
+ protected Map<UUID,Map<NamedArea,Set<DescriptionElementBase>>> taxonDistributionMap = new HashMap<>();
+ protected List<TaxonDistributionDTO> descriptionsToSave = new ArrayList<>();
- SortedSet<DefinedTermBase> areas;
- DistributionEditorPart part;
- BodyLayerStack<TaxonDistributionDTO> bodyLayerStack;
+ protected SortedSet<DefinedTermBase> areas;
+ protected DistributionEditorPart part;
+ private BodyLayerStack<TaxonDistributionDTO> bodyLayerStack;
private FreezeLayer freezeLayer;
private ConfigRegistry configRegistry;
private AbstractLayer topMostLayer;
private SelectionLayer selectionLayer;
-
-
- // private FixedSummaryRowLayer summaryRowLayer;
-
-
- /**
- * @param parent
- * @param style
- */
public DistributionEditor(Composite parent, DistributionEditorPart part) {
super(parent, SWT.NULL);
isShowRank = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowRankInDistributionEditor.getKey());
Composite topComposite = new Composite(parent, SWT.NONE);
createTopComposite(topComposite);
-
-
natTable = new NatTable(parent, false);
parent.pack();
return areaToColumnIndexMap;
}
-
public void setAreaToColumnIndexMap(Map<Integer, NamedArea> areaToColumnIndexMap) {
this.areaToColumnIndexMap = areaToColumnIndexMap;
}
-
public List<TaxonDistributionDTO> getDescriptionsToSave() {
return descriptionsToSave;
}
this.descriptionsToSave = descriptionsToSave;
}
-
-
private void createStatusBar(Composite composite) {
GridData gridData = new GridData();
gridData.horizontalSpan = 2;
statusLabelSourceReference.setLayoutData(gridData);
if (defaultSource != null){
- statusLabelSourceReference.setText(Messages.DistributionEditor_defaultSource + defaultSource.getAbbrevTitle() != null? defaultSource.getAbbrevTitle() : defaultSource.getAbbrevTitleCache());
-
+ statusLabelSourceReference.setText(Messages.DistributionEditor_defaultSource + (defaultSource.getAbbrevTitle() != null? defaultSource.getAbbrevTitle() : defaultSource.getAbbrevTitleCache()));
}
button3 = new Button(composite, SWT.PUSH );
}
statusLabelSourceReference.setText(defaultSourceStr);
- button3.setBackground(EditorUtil.getColor(Resources.COLOR_CONTROL_SELECTED));
+ button3.setBackground(AbstractUtility.getColor(Resources.COLOR_CONTROL_SELECTED));
button3.setEnabled(false);
button2.setText(Messages.ChecklistEditor_DEFAULT_SOURCE);
}
});
-
}
private void applyStyles(){
configuration.cHeaderBgColor = GUIHelper.getColor(211, 211, 211);
configuration.rHeaderBgColor = GUIHelper.getColor(211, 211, 211);
natTable.addConfiguration(configuration);
-
}
private void configureNatTable(ConfigRegistry configRegistry,
*/
natTable.setConfigRegistry(configRegistry);
-
-
//add default configuration because autoconfigure is set to false in constructor
natTable.addConfiguration(new DefaultNatTableStyleConfiguration());
// add custom configuration for data conversion and add column labels to viewport layer
topMostLayer.addConfiguration(new DistributionCellEditorDataConversionConfiguration(this));
-
applyStyles();
natTable.configure();
}
/**
* layers
*/
-
createLayers();
/**
this.layout();
natTable.doCommand(new ClientAreaResizeCommand(natTable));
// boolean ok = natTable.doCommand(new ClientAreaResizeCommand(natTable));
-
}
-
private void createLayers() {
DistributionColumnAccessor columnPropertyAccessor = new DistributionColumnAccessor(this);
-
DistributionEditorConfigLabelAccumulator labelAccumulator = new DistributionEditorConfigLabelAccumulator(this);
- bodyLayerStack = new BodyLayerStack<>(taxonList, columnPropertyAccessor, new TaxonDistributionDtoComparator(), labelAccumulator);
+// bodyLayerStack = new BodyLayerStack<>(taxonList, columnPropertyAccessor, new TaxonDistributionDtoComparator(), labelAccumulator);
+ bodyLayerStack = new BodyLayerStack<>(taxonList, columnPropertyAccessor, null, labelAccumulator);
bodyDataProvider = bodyLayerStack.getBodyDataProvider();
-
-
propertyToLabelMap.put(TAXON_COLUMN, Messages.ChecklistEditor_TAXON);
if (isShowRank){
propertyToLabelMap.put(RANK_COLUMN, Messages.ChecklistEditor_RANK);
initLabels();
this.selectionLayer = bodyLayerStack.getSelectionLayer();
-
-
freezeLayer = new FreezeLayer(selectionLayer);
final CompositeFreezeLayer compositeFreezeLayer = new CompositeFreezeLayer(
freezeLayer, bodyLayerStack.getViewPortLayer(), selectionLayer);
// is working correctly
compositeFreezeLayer.setRegionName(GridRegion.BODY);
-
IDataProvider columnHeaderDataProvider =
new DefaultColumnHeaderDataProvider(propertyToLabelMap.values().toArray(new String[] {}), propertyToLabelMap);
DataLayer columnHeaderDataLayer = new DefaultColumnHeaderDataLayer(columnHeaderDataProvider);
columnHeaderDataLayer.getDataProvider(),
configRegistry);
-
-
// build the row header layer stack
IDataProvider rowHeaderDataProvider = new DefaultRowHeaderDataProvider(bodyDataProvider);
DataLayer rowHeaderDataLayer = new DefaultRowHeaderDataLayer(rowHeaderDataProvider);
compositeFreezeLayer,
selectionLayer);
-
-
IDataProvider cornerDataProvider =
new DefaultCornerDataProvider(
columnHeaderDataProvider,
cornerLayer);
natTable.setLayer(gridLayer);
-
-
topMostLayer = compositeFreezeLayer;
-
-
}
- /**
- * @param parent
- * @return
- */
private Text createSearchBar(Composite parent) {
Button button1 = new Button(parent, SWT.PUSH );
button1.setLayoutData(gridData2);
-
button1.setText(Messages.ChecklistEditor_DIST_STATUS);
button1.setToolTipText(Messages.ChecklistEditor_DIST_STATUS_TOOLTIP);
button1.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
AvailableDistributionWizard availableDistributionWizard = new AvailableDistributionWizard();
- WizardDialog dialog = new WizardDialog(StoreUtil.getShell(),
+ WizardDialog dialog = new WizardDialog(AbstractUtility.getShell(),
availableDistributionWizard);
int open = dialog.open();
}
statusLabelSourceReference.setText(defaultSourceStr);
- button2.setBackground(EditorUtil.getColor(Resources.COLOR_CONTROL_SELECTED));
+ button2.setBackground(AbstractUtility.getColor(Resources.COLOR_CONTROL_SELECTED));
// EventUtility.postEvent(WorkbenchEventConstants.REFRESH_DETAILS, true);
button3.setEnabled(true);
button2.setText(Messages.ChecklistEditor_SWITCH_DEFAULT_SOURCE);
}
-
});
-
-
-
-
parent.pack();
return searchText;
}
* <b>Notice:</b> for data update please use <b>refresh()</b>
*
*/
- @SuppressWarnings({ "unchecked", "rawtypes" })
public void reload(){
this.areaToColumnIndexMap.clear();
this.areas.clear();
natTable.redraw();
}
- /**
- * @param parent
- */
private void createTopComposite(Composite parent) {
GridLayout gridLayout = new GridLayout(3, false);
gridLayout.marginWidth = 0;
this.taxonList = new BasicEventList<>();
}
taxonList.stream().forEach(wrapper->DistributionEditor.this.taxonList.add(wrapper));
- statusLabel.setText(ELEMENT_COUNT + (taxonList != null ? taxonList.size() : UNKNOWN));
+ statusLabel.setText(ELEMENT_COUNT + taxonList.size());
createTaxonDistributionMap();
}
protected void createTaxonDistributionMap() {
Iterator<TaxonDistributionDTO> iterator = this.taxonList.iterator();
- while (iterator.hasNext()){
- TaxonDistributionDTO dto = iterator.next();
- TaxonDescriptionDTO descriptionDto = dto.getDescriptionsWrapper();
- for (TaxonDescription desc: descriptionDto.getDescriptions()){
- if(this.part.getCdmEntitySession()!=null){
- this.part.getCdmEntitySession().load(desc, true);
- }
- for (DescriptionElementBase descElement: desc.getElements()){
- if (descElement instanceof Distribution){
- Map<NamedArea, Set<DescriptionElementBase>> distributionsMap = taxonDistributionMap.get(dto.getTaxonUuid());
-
- if (distributionsMap == null){
- distributionsMap = new HashMap();
- taxonDistributionMap.put(dto.getTaxonUuid(), distributionsMap);
- }
- Set<DescriptionElementBase> distributions = distributionsMap.get(((Distribution) descElement).getArea());
- if (distributions == null){
- distributions = new HashSet();
- distributionsMap.put(((Distribution)descElement).getArea(), distributions);
- }
- distributions.add(descElement);
-
- }
- }
- }
- }
+ while (iterator.hasNext()){
+ TaxonDistributionDTO dto = iterator.next();
+ TaxonDescriptionDTO descriptionDto = dto.getDescriptionsWrapper();
+ for (TaxonDescription desc: descriptionDto.getDescriptions()){
+ if(this.part.getCdmEntitySession()!=null){
+ this.part.getCdmEntitySession().load(desc, true);
+ }
+ for (DescriptionElementBase descElement: desc.getElements()){
+ if (descElement instanceof Distribution){
+ Map<NamedArea, Set<DescriptionElementBase>> distributionsMap = taxonDistributionMap.get(dto.getTaxonUuid());
+
+ if (distributionsMap == null){
+ distributionsMap = new HashMap<>();
+ taxonDistributionMap.put(dto.getTaxonUuid(), distributionsMap);
+ }
+ Set<DescriptionElementBase> distributions = distributionsMap.get(((Distribution) descElement).getArea());
+ if (distributions == null){
+ distributions = new HashSet<>();
+ distributionsMap.put(((Distribution)descElement).getArea(), distributions);
+ }
+ distributions.add(descElement);
+ }
+ }
+ }
+ }
}
-
-
-
-
private void initLabels() {
int index = 2;
if (areas == null){
areas = new TreeSet<>();
}
- for (DefinedTermBase area: areas) {
+ for (DefinedTermBase<?> area: areas) {
this.areaToColumnIndexMap.put(index++, (NamedArea)area);
String areaLabel;
//TODO: adapt to preference
areaLabel = label;
}
-
//String areaLabel = area.getLabel();
String property = area.getUuid().toString();
propertyToLabelMap.put(property, areaLabel);
}
-
}
private SortedSet<DefinedTermBase> loadNamedAreas() {
Set<UUID> uuidList = new HashSet<UUID>();
String[] split;
List<String> listValue;
- List<DefinedTermBase> termlist = new ArrayList<DefinedTermBase>();
+ List<DefinedTermBase> termlist = new ArrayList<>();
if (values != null && values != "") { //$NON-NLS-1$
split = values.split(";"); //$NON-NLS-1$
listValue = Arrays.asList(split);
-
UUID uuid;
for(String s : listValue){
uuid = UUID.fromString(s);
uuidList.add(uuid);
-
}
}
}else{
vocs= service.find(uuidList);
}
- for (TermVocabulary voc: vocs){
+ for (TermVocabulary<?> voc: vocs){
termlist.addAll(service.getTerms(voc, null, null, null, null).getRecords());
}
- List<DefinedTermBase> filteredList = new ArrayList();
+ List<DefinedTermBase> filteredList = new ArrayList<>();
if (valuesAreas != null && valuesAreas != "") {
split = valuesAreas.split(";"); //$NON-NLS-1$
listValue = Arrays.asList(split);
- for (DefinedTermBase area: termlist){
+ for (DefinedTermBase<?> area: termlist){
if (listValue.contains(area.getUuid().toString())) {
filteredList.add(area);
}
-
}
}else{
filteredList.addAll(termlist);
}
-
TermOrder sortOrder = PreferencesUtil.getSortNamedAreasInDistributionEditor();
if (sortOrder.equals(TermOrder.Natural)){
areas = getTermsOrderedByVocabularyOrder(filteredList);
}
public SortedSet<DefinedTermBase> getTermsOrderedByLabels(List<DefinedTermBase> listTerm,Language language){
- TermLanguageComparator<?> comp = new TermLanguageComparator<>();
- comp.setCompareLanguage(language);
- SortedSet<DefinedTermBase> result = new TreeSet(comp);
+ TermLanguageComparator<DefinedTermBase> comp = new TermLanguageComparator<>(Language.DEFAULT(), language);
+ SortedSet<DefinedTermBase> result = new TreeSet<>(comp);
if(listTerm != null){
result.addAll(listTerm);
}
}
public SortedSet<DefinedTermBase> getTermsOrderedByIdInVocabulary(List<DefinedTermBase> namedAreas) {
- TermIdInVocabularyComparator<?> comp = new TermIdInVocabularyComparator<>();
+ TermIdInVocabularyComparator<DefinedTermBase> comp = new TermIdInVocabularyComparator<>();
- SortedSet<DefinedTermBase> result = new TreeSet(comp);
+ SortedSet<DefinedTermBase> result = new TreeSet<>(comp);
if(namedAreas != null){
result.addAll(namedAreas);
}
}
public SortedSet<DefinedTermBase> getTermsOrderedByVocabularyOrder(List<DefinedTermBase> listAreas){
- HashMap<TermVocabulary<DefinedTermBase>, List<DefinedTermBase>> vocs = new HashMap<>();
- OrderedTermComparator<?> comp = new OrderedTermComparator<>();
+ OrderedTermComparator<DefinedTermBase> comp = new OrderedTermComparator<>();
boolean allOrderedTerms = true;
List<TermVocabulary> alreadyOrderIndexNull = new ArrayList<>();
- for (DefinedTermBase term: listAreas){
+ for (DefinedTermBase<?> term: listAreas){
if (!(term instanceof OrderedTermBase)){
allOrderedTerms = false;
break;
- }else if (((OrderedTermBase)term).getOrderIndex() == 0){
+ }else if (((OrderedTermBase<?>)term).getOrderIndex() == 0){
if(alreadyOrderIndexNull.contains(term.getVocabulary())) {
allOrderedTerms = false;
break;
}
}
if (allOrderedTerms){
- SortedSet<DefinedTermBase> result = new TreeSet(comp.reversed());
+ SortedSet<DefinedTermBase> result = new TreeSet<>(comp.reversed());
result.addAll(listAreas);
return result;
}else{
return getTermsOrderedByLabels(listAreas, PreferencesUtil.getGlobalLanguage());
}
-
-
}
private void registerHandlersAndListeners(AbstractLayer topMostLayer) {
//selection listener
- E4SelectionListener selectionListener = new DistributionCellSelectionListener(part.getSelectionService(),
+ E4SelectionListener<?> selectionListener = new DistributionCellSelectionListener(part.getSelectionService(),
selectionLayer, bodyDataProvider, part);
selectionLayer.addLayerListener(selectionListener);
selectionListener.setFullySelectedRowsOnly(false);
// natTable.registerCommandHandler(toolbar.getDisplayPersistenceDialogCommandHandler());
}
- /**
- * @return
- */
public IRowDataProvider<TaxonDistributionDTO> getBodyDataProvider() {
return bodyDataProvider;
}
// loadDistributions(taxonList);
//
// }
-
-
-
-}
+}
\ No newline at end of file
import javax.annotation.PreDestroy;
import javax.inject.Inject;
+import eu.etaxonomy.cdm.compare.taxon.TaxonNodeSortMode;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
import org.eclipse.e4.core.contexts.IEclipseContext;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
+import eu.etaxonomy.taxeditor.preference.NavigatorOrderEnum;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* @author k.luther
* @since 28.11.2018
- *
*/
-public class DistributionEditorPart implements IE4SavablePart, IConversationEnabled, IDirtyMarkable,
-ICdmEntitySessionEnabled, IPartContentHasSupplementalData, IPartContentHasDetails, IDistributionEditorPart{
+public class DistributionEditorPart
+ implements IE4SavablePart, IConversationEnabled, IDirtyMarkable,
+ ICdmEntitySessionEnabled<DescriptionBase>, IPartContentHasSupplementalData,
+ IPartContentHasDetails, IDistributionEditorPart {
private static final List<String> TAXONNODE_PROPERTY_PATH = Arrays.asList(new String[] {
"taxon", //$NON-NLS-1$
}
public void init(UuidAndTitleCache nodeDto) {
- List<UUID> uuidList = new ArrayList();
+ List<UUID> uuidList = new ArrayList<>();
uuidList.add(nodeDto.getUuid());
this.taxonList = CdmStore.getService(ITaxonNodeService.class).getTaxonDistributionDTO(uuidList, TAXONNODE_PROPERTY_PATH, true);
// taxonList.stream().filter(taxonDistribution -> CdmStore.currentAuthentiationHasPermission(taxonDistribution.getTaxonUuid(), RequiredPermissions.TAXONNODE_EDIT));
public void init(List<UuidAndTitleCache> uuidAndTitleCaches) {
List<UUID> nodeUuids = new ArrayList<>();
uuidAndTitleCaches.forEach(element -> nodeUuids.add(element.getUuid()));
- this.taxonList = CdmStore.getService(ITaxonNodeService.class).getTaxonDistributionDTO(nodeUuids, TAXONNODE_PROPERTY_PATH, true);
- // taxonList.stream().filter(taxonDistribution -> CdmStore.currentAuthentiationHasPermission(taxonDistribution.getTaxonUuid(), RequiredPermissions.TAXONNODE_EDIT));
+ TaxonNodeSortMode sortMode = TaxonNodeSortMode.RankAndAlphabeticalOrder;
+ NavigatorOrderEnum orderValue = NavigatorOrderEnum.RankAndNameOrder;
+ try{
+ orderValue = PreferencesUtil.getSortNodes();
+ }catch(IllegalArgumentException e){
+
+ }
+
+ if (orderValue.equals(NavigatorOrderEnum.NaturalOrder)){
+ sortMode = TaxonNodeSortMode.NaturalOrder;
+ } else if (orderValue.equals(NavigatorOrderEnum.AlphabeticalOrder)){
+ sortMode = TaxonNodeSortMode.AlphabeticalOrder;
+ }else {
+ sortMode = TaxonNodeSortMode.RankAndAlphabeticalOrder;
+ }
+ this.taxonList = CdmStore.getService(ITaxonNodeService.class).getTaxonDistributionDTO(nodeUuids, TAXONNODE_PROPERTY_PATH,null, true, sortMode);
+ // taxonList.stream().filter(taxonDistribution -> CdmStore.currentAuthentiationHasPermission(taxonDistribution.getTaxonUuid(), RequiredPermissions.TAXONNODE_EDIT));
if(taxonList!=null){
editor.loadDistributions(taxonList);
cdmEntitySession.bind();
}
EditorUtil.checkAndCloseFactsAndMediaParts(partService);
-
}
@Override
return editor;
}
- /**
- * {@inheritDoc}
- */
@Override
public void update(CdmDataChangeMap changeEvents) {
// TODO Auto-generated method stub
-
}
+
@PreDestroy
public void dispose(){
if (conversation != null) {
cdmEntitySession = null;
}
dirty.setDirty(false);
-
}
-
- /**
- * {@inheritDoc}
- */
@Override
public ICdmEntitySession getCdmEntitySession() {
-
return cdmEntitySession;
}
-
@Override
public List<DescriptionBase> getRootEntities() {
- List<DescriptionBase> rootEntities = new ArrayList();
+ List<DescriptionBase> rootEntities = new ArrayList<>();
editor.taxonList.forEach(dto -> rootEntities.addAll(dto.getDescriptionsWrapper().getDescriptions()));
return rootEntities;
}
- /**
- * {@inheritDoc}
- */
@Override
public Map<Object, List<String>> getPropertyPathsMap() {
// TODO Auto-generated method stub
return null;
}
- /**
- * {@inheritDoc}
- */
@Override
public void changed(Object element) {
if (element != null){
dirty.setDirty(true);
}
-
}
- /**
- * {@inheritDoc}
- */
@Override
public void forceDirty() {
// TODO Auto-generated method stub
-
}
- /**
- * {@inheritDoc}
- */
@Override
public ConversationHolder getConversationHolder() {
-
return conversation;
}
-
@Persist
@Override
public void save(IProgressMonitor monitor) {
}
protected void saveDistributions() {
- Set<TaxonDistributionDTO> coll = new HashSet();
+ Set<TaxonDistributionDTO> coll = new HashSet<>();
editor.getDescriptionsToSave().forEach(dto->coll.add(dto));
- Set<TaxonDistributionDTO> removeList = new HashSet();
+ Set<TaxonDistributionDTO> removeList = new HashSet<>();
for (TaxonDistributionDTO dto: coll){
Taxon taxon = null;
for(TaxonDescription desc: dto.getDescriptionsWrapper().getDescriptions()){
editor.getDescriptionsToSave().clear();
}
- /**
- * {@inheritDoc}
- */
@Override
public boolean isDirty() {
return this.dirty.isDirty();
public void setDirty() {
this.dirty.setDirty(true);
}
-
-
-
-
-}
+}
\ No newline at end of file
import org.apache.commons.lang3.StringUtils;
import org.eclipse.nebula.widgets.nattable.edit.editor.IComboBoxDataProvider;
+import eu.etaxonomy.cdm.compare.term.OrderedTermComparator;
+import eu.etaxonomy.cdm.compare.term.TermIdInVocabularyComparator;
+import eu.etaxonomy.cdm.compare.term.TermLanguageComparator;
+import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
import eu.etaxonomy.cdm.model.metadata.TermOrder;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
-import eu.etaxonomy.cdm.model.term.OrderedTermComparator;
import eu.etaxonomy.cdm.model.term.Representation;
-import eu.etaxonomy.cdm.model.term.TermIdInVocabularyComparator;
-import eu.etaxonomy.cdm.model.term.TermLanguageComparator;
import eu.etaxonomy.taxeditor.preference.CdmPreferenceCache;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
if (!StringUtils.isBlank(statusString)){
String [] statusArray = statusString.split(";");
- List<UUID> uuidList = new ArrayList();
+ List<UUID> uuidList = new ArrayList<>();
for (String status: statusArray){
uuidList.add(UUID.fromString(status));
}
TermOrder order = TermOrder.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.StatusSortedInDistributionEditor.getKey()));
if (order.equals(TermOrder.IdInVoc)){
- comp = new TermIdInVocabularyComparator();
+ comp = new TermIdInVocabularyComparator<DefinedTermBase>();
}else if(order.equals(TermOrder.Label)){
- comp = new TermLanguageComparator();
+ comp = new TermLanguageComparator<DefinedTermBase>(Language.DEFAULT(), Language.DEFAULT());
}
Collections.sort(inputList, comp);
// Collections.sort(inputList, Collections.reverseOrder());
public int getMaxVisibleItems(){
return maxVisibleItems;
}
-
-}
+}
\ No newline at end of file
import java.util.Comparator;
import eu.etaxonomy.cdm.api.service.dto.TaxonDistributionDTO;
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDtoByNameComparator;
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDtoByRankAndNameComparator;
/**
* @author k.luther
* @since 28.11.2018
- *
*/
public class TaxonDistributionDtoComparator implements Comparator<TaxonDistributionDTO> {
- /**
- * {@inheritDoc}
- */
+ Comparator<TaxonNodeDto> comparator1 = new TaxonNodeDtoByRankAndNameComparator();
+ Comparator<TaxonNodeDto> comparator2 = new TaxonNodeDtoByNameComparator();
+
+ public TaxonDistributionDtoComparator(){
+ super();
+ }
+
@Override
- public int compare(TaxonDistributionDTO arg0, TaxonDistributionDTO arg1) {
- if (arg0 == arg1){
- return 0;
+ public int compare(TaxonDistributionDTO taxonDistr0, TaxonDistributionDTO taxonDistr1) {
+ //if node is higher in tree then return 1;
+ if (taxonDistr0.getTaxonNodeDto().getTreeIndex().split("#").length < taxonDistr1.getTaxonNodeDto().getTreeIndex().split("#").length){
+ return -1;
+ }else if (taxonDistr0.getTaxonNodeDto().getTreeIndex().split("#").length > taxonDistr1.getTaxonNodeDto().getTreeIndex().split("#").length){
+ return 1;
}
- if (arg0.getTaxonUuid().equals(arg1.getTaxonUuid())){
- return 0;
+ //if parent is not the same sort by name
+ if ((taxonDistr0.getTaxonNodeDto() != null && taxonDistr1.getTaxonNodeDto() != null) && !taxonDistr0.getTaxonNodeDto().getParentUUID().equals(taxonDistr1.getTaxonNodeDto().getParentUUID()) ){
+ return comparator2.compare(taxonDistr0.getTaxonNodeDto(), taxonDistr1.getTaxonNodeDto());
}
-
- String name1 = arg0.getNameCache();
- String name2 = arg1.getNameCache();
- Integer rankTax1 = arg0.getRankOrderIndex();
- Integer rankTax2 = arg1.getRankOrderIndex();
-// String parentName1 = arg0.get
- if (rankTax1 == null && rankTax2 != null){
- return 1;
- }else if(rankTax2 == null && rankTax1 != null){
+ // if parent is the same sort by rank and name
+ if (taxonDistr0.getTaxonNodeDto() != null && taxonDistr1.getTaxonNodeDto() != null && taxonDistr0.getTaxonNodeDto().getParentUUID().equals( taxonDistr1.getTaxonNodeDto().getParentUUID())){
+ return this.comparator1.compare(taxonDistr0.getTaxonNodeDto(), taxonDistr1.getTaxonNodeDto());
+ }else if (taxonDistr0 == taxonDistr1 || (taxonDistr0.getTaxonNodeDto() == null) && (taxonDistr1.getTaxonNodeDto() == null)){
+ return 0;
+ } else if (taxonDistr0.getTaxonNodeDto() != null && taxonDistr1.getTaxonNodeDto() == null){
return -1;
- }else if (rankTax1 != null && rankTax1 == rankTax2) {
- //same rank, order by name
- return name1.compareTo(name2);
- }else if (rankTax1 == null && rankTax2 == null || rankTax1.equals(rankTax2)){
- return -1;
- }
-
- return 0;
+ } else if (taxonDistr0.getTaxonNodeDto() == null && taxonDistr1.getTaxonNodeDto() != null){
+ return 1;
+ }else{
+ return taxonDistr0.getTaxonUuid().compareTo(taxonDistr1.getTaxonUuid());
+ }
}
}
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
package eu.etaxonomy.taxeditor.editor.view.checklist.edit;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
*
* @author k.luther
* @created 26.09.2017
- * @version 1.0
*/
public class CdmComboBoxViewerCellEditor extends ComboBoxViewerCellEditor implements ISelectionListener, IPartContentHasDetails{
-
public CdmComboBoxViewerCellEditor(Composite parent, int style) {
super(parent, style);
-
}
@Override
System.out.println(selection.toString());
}
-
-}
+}
\ No newline at end of file
* 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.concept;
import java.util.HashMap;
/**
* @author n.hoffmann
* @created Jan 24, 2011
- * @version 1.0
*/
public class ConceptContentProvider implements IStructuredContentProvider {
}
return new Object[0];
}
-
-}
+}
\ No newline at end of file
* 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.concept;
import java.util.Map.Entry;
/**
* @author n.hoffmann
- * @created Jan 24, 2011
- * @version 1.0
*/
public class ConceptLabelProvider extends LabelProvider implements IStyledLabelProvider {
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
package eu.etaxonomy.taxeditor.editor.view.derivate;
import java.util.ArrayList;
/**
* Displays the derivate hierarchy of the specimen specified in the editor input.
- *
*/
public class DerivateView implements IPartContentHasFactualData, IConversationEnabled,
- ICdmEntitySessionEnabled, IDirtyMarkable, IPostOperationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData, IPartContentHasMedia,
+ ICdmEntitySessionEnabled<SpecimenOrObservationBase<?>>, IDirtyMarkable, IPostOperationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData, IPartContentHasMedia,
IContextListener, IE4SavablePart, ICollapsableExpandable {
private static final String SPECIMEN_EDITOR = Messages.DerivateView_SPECIMEN_EDITOR;
public DerivateView() {
}
- /**
- * {@inheritDoc}
- */
public void init(DerivateViewEditorInput editorInput){
this.derivateToRootEntityMap = new HashMap<>();
this.rootElements = new HashSet<>();
}
}
-
public void updateRootEntities(List<SpecimenOrObservationBase> derivates) {
if(derivates!=null){
eventBroker.post(WorkbenchEventConstants.CURRENT_ACTIVE_EDITOR, null);
this.derivateToRootEntityMap = new HashMap<>();
this.rootElements = new HashSet<>();
- for (SpecimenOrObservationBase derivate : derivates) {
+ for (SpecimenOrObservationBase<?> derivate : derivates) {
if(derivate instanceof FieldUnit){
derivateToRootEntityMap.put(derivate, derivate);
labelProvider.updateLabelCache(rootElements);
viewer.setInput(rootElements);
viewer.setComparator(new ViewerComparator() {
- @Override
- @SuppressWarnings("unchecked")
- public int compare(Viewer testViewer, Object e1, Object e2) {
- if (((TreeNode)e1).getValue() instanceof SpecimenOrObservationBase){
- return ((SpecimenOrObservationBase)((TreeNode)e1).getValue()).getTitleCache().compareTo(((SpecimenOrObservationBase)((TreeNode)e2).getValue()).getTitleCache());
- }else{
- return e1.toString().compareTo(e2.toString());
- }
- //return (((SpecimenOrObservationBase) e1).getTitleCache()).compareTo(((SpecimenOrObservationBase) e2).getTitleCache());
+ @Override
+ public int compare(Viewer testViewer, Object e1, Object e2) {
+ if (((TreeNode)e1).getValue() instanceof SpecimenOrObservationBase){
+ return ((SpecimenOrObservationBase)((TreeNode)e1).getValue()).getTitleCache().compareTo(((SpecimenOrObservationBase)((TreeNode)e2).getValue()).getTitleCache());
+ }else{
+ return e1.toString().compareTo(e2.toString());
+ }
+ //return (((SpecimenOrObservationBase) e1).getTitleCache()).compareTo(((SpecimenOrObservationBase) e2).getTitleCache());
}
});
obj = ((TreeNode)obj).getValue();
}
rootElements.remove(obj);
- Object o = this.derivateToRootEntityMap.remove(obj);
+ this.derivateToRootEntityMap.remove(obj);
viewer.setInput(rootElements);
}
else if(selection != null){
Object selectedElement = selection.getFirstElement();
if(selectedElement instanceof TaxonNodeDto){
- TaxonBase taxonBase = CdmStore.getService(ITaxonService.class).load(((TaxonNodeDto)selectedElement).getTaxonUuid());
+ TaxonBase<?> taxonBase = CdmStore.getService(ITaxonService.class).load(((TaxonNodeDto)selectedElement).getTaxonUuid());
if(HibernateProxyHelper.isInstanceOf(taxonBase, Taxon.class)){
selectedTaxon = HibernateProxyHelper.deproxy(taxonBase, Taxon.class);
}
}
}
if(selectedTaxon!=null){
- Collection<SpecimenOrObservationBase> fieldUnits = CdmStore.getService(IOccurrenceService.class).listFieldUnitsByAssociatedTaxon(selectedTaxon, null, null);
+ Collection<FieldUnit> fieldUnits = CdmStore.getService(IOccurrenceService.class).listRootUnitsByAssociatedTaxon(FieldUnit.class, selectedTaxon, null, null);
Collection<UUID> uuids = new HashSet<>();
- for (SpecimenOrObservationBase specimenOrObservationBase : fieldUnits) {
+ for (SpecimenOrObservationBase<?> specimenOrObservationBase : fieldUnits) {
uuids.add(specimenOrObservationBase.getUuid());
}
checkWarnThreshold(uuids);
return viewer;
}
- /**
- * {@inheritDoc}
- */
@Override
public List<SpecimenOrObservationBase<?>> getRootEntities() {
return new ArrayList<>(rootElements);