Revert "ref #7095 Fix potential NPE"
authorPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 15 Jan 2018 14:17:01 +0000 (15:17 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 15 Jan 2018 14:17:01 +0000 (15:17 +0100)
This reverts commit 5dec2f7a8b193e51364d03207ba47dc939b358eb.

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/matrix/CharacterMatrix.java

index a46e48d3fe22e73f1ca9c3635aa697f7422df343..58dc28662fa1d89a0e87e514360f93ce7c8a5479 100644 (file)
@@ -30,7 +30,6 @@ import javax.inject.Inject;
 
 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;
@@ -53,6 +52,7 @@ import org.eclipse.nebula.widgets.nattable.data.IDataProvider;
 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;
@@ -106,27 +106,17 @@ import ca.odell.glazedlists.GlazedLists;
 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;
@@ -220,10 +210,6 @@ public class CharacterMatrix implements IE4SavablePart, IPartContentHasDetails,
 
         //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);
 
@@ -558,20 +544,10 @@ public class CharacterMatrix implements IE4SavablePart, IPartContentHasDetails,
         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()));
             }
         });
 
@@ -621,12 +597,7 @@ public class CharacterMatrix implements IE4SavablePart, IPartContentHasDetails,
             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;
@@ -636,15 +607,6 @@ public class CharacterMatrix implements IE4SavablePart, IPartContentHasDetails,
         //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;