import org.apache.commons.collections4.map.LinkedMap;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.e4.ui.di.Focus;
import org.eclipse.e4.ui.di.Persist;
import org.eclipse.e4.ui.model.application.ui.MDirtyable;
import org.eclipse.nebula.widgets.nattable.data.ListDataProvider;
import org.eclipse.nebula.widgets.nattable.edit.EditConfigAttributes;
import org.eclipse.nebula.widgets.nattable.edit.editor.IComboBoxDataProvider;
+import org.eclipse.nebula.widgets.nattable.export.command.ExportCommand;
import org.eclipse.nebula.widgets.nattable.export.command.ExportCommandHandler;
import org.eclipse.nebula.widgets.nattable.extension.glazedlists.GlazedListsEventLayer;
import org.eclipse.nebula.widgets.nattable.extension.glazedlists.GlazedListsSortModel;
import ca.odell.glazedlists.SortedList;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.IWorkingSetService;
-import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
-import eu.etaxonomy.cdm.model.description.CategoricalData;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.FeatureTree;
-import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
-import eu.etaxonomy.cdm.model.description.QuantitativeData;
import eu.etaxonomy.cdm.model.description.SpecimenDescription;
import eu.etaxonomy.cdm.model.description.State;
-import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.description.WorkingSet;
-import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
-import eu.etaxonomy.cdm.model.name.Rank;
-import eu.etaxonomy.cdm.model.name.TaxonName;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.workingSet.matrix.categorical.CategoricalDataCellEditor;
import eu.etaxonomy.taxeditor.editor.workingSet.matrix.categorical.CategoricalDataDisplayConverter;
//get features/columns stored in working set
FeatureTree tree = workingSet.getDescriptiveSystem();
- if(tree==null){
- MessagingUtils.informationDialog("Initialization failed", "Working set has no feature tree set.");
- return;
- }
List<Feature> features = new ArrayList<>(tree.getDistinctFeatures());
Collections.sort(features);
btnExcelExport.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- Taxon taxon = Taxon.NewInstance(TaxonName.NewInstance(NomenclaturalCode.ICNAFP, Rank.GENUS(), "Generatus", null, null, null, null, null, null, null), null);
- TaxonDescription description = TaxonDescription.NewInstance(taxon);
- new SpecimenGenerator().generate().forEach(specimen ->
- {
- IndividualsAssociation association = IndividualsAssociation.NewInstance(specimen);
- association.setFeature(Feature.SPECIMEN());
- description.addElement(association);
- });
- CdmStore.getService(ITaxonService.class).save(taxon);
- save(new NullProgressMonitor());
-// natTable.doCommand(
-// new ExportCommand(
-// natTable.getConfigRegistry(),
-// natTable.getShell()));
+ natTable.doCommand(
+ new ExportCommand(
+ natTable.getConfigRegistry(),
+ natTable.getShell()));
}
});
for (SpecimenDescription specimenDescription : descriptions) {
Set<Feature> specimenDescriptionFeatures = new HashSet<>();
for (DescriptionElementBase descriptionElementBase : specimenDescription.getElements()) {
- specimenDescriptionFeatures.add(HibernateProxyHelper.deproxy(descriptionElementBase.getFeature(), Feature.class));
- }
- for(Feature feature:features){
- eu.etaxonomy.cdm.model.description.Character character = HibernateProxyHelper.deproxy(feature, eu.etaxonomy.cdm.model.description.Character.class);
- System.out.println();
-
+ specimenDescriptionFeatures.add(descriptionElementBase.getFeature());
}
if(specimenDescriptionFeatures.containsAll(features)){
return specimenDescription;
//Create new specimen description if no match was found
setDirty();
SpecimenDescription newDesription = SpecimenDescription.NewInstance(specimen);
- this.indexToFeatureMap.values().forEach(feature ->
- {
- if(feature.isSupportsCategoricalData()){
- newDesription.addElement(CategoricalData.NewInstance(feature));
- }
- else if(feature.isSupportsQuantitativeData()){
- newDesription.addElement(QuantitativeData.NewInstance(feature));
- }
- });
newDesription.setTitleCache("WorkingSet "+workingSet.getLabel()+" "+newDesription.generateTitle(), true);
return newDesription;