Project

General

Profile

Actions

feature request #6933

closed

Add possibility to export only families or other part of the tree in CDM light and DwC-A export

Added by Katja Luther over 6 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Priority14
Assignee:
Category:
cdmadapter
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Severity:
normal

Related issues

Related to EDIT - feature request #6800: Allow all filters for DwCA export in TaxEditorClosedKatja Luther

Actions
Related to EDIT - bug #6968: Unexpected error in CDM light when exporting Individuals Association with no unit attachedClosedKatja Luther

Actions
Actions #1

Updated by Katja Luther over 6 years ago

and implement the configuration wizard for it

Actions #2

Updated by Andreas Müller over 6 years ago

on CDM lib side we should use existing taxonomic filtering techniques from DwC-A export.

Also DwC-A export assistent should be adapted accordingly.

Actions #3

Updated by Andreas Müller over 6 years ago

  • Tags set to euro+med, export
Actions #4

Updated by Andreas Müller over 6 years ago

  • Target version changed from Unassigned CDM tickets to Euro+Med Migration
Actions #5

Updated by Katja Luther over 6 years ago

  • Tags deleted (euro+med, export)
  • Target version changed from Euro+Med Migration to Unassigned CDM tickets

first implementation is available

Actions #6

Updated by Katja Luther over 6 years ago

  • Target version changed from Unassigned CDM tickets to Euro+Med Migration
Actions #7

Updated by Katja Luther over 6 years ago

  • Tags set to euro+med, export
Actions #8

Updated by Andreas Müller over 6 years ago

  • Subject changed from add possibility to export only families or other part of the tree in cdm light export to Add possibility to export only families or other part of the tree in cdm light export
  • Status changed from New to Resolved
  • Assignee changed from Katja Luther to Andreas Müller
  • Target version changed from Euro+Med Migration to Release 4.10

I put this on review for me even if not yet 100% ready.

Actions #9

Updated by Andreas Müller over 6 years ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Katja Luther

I would expect the chosen taxon node being part of the export, currently it looks like it is not.

Actions #10

Updated by Andreas Müller over 6 years ago

The UI component for switching between taxon node and complete classification should more clearly show thet these are alternatives. E.g. use radio buttons. They indicate that one of the shown alternatives is to be selected.

Currently it looks like "Classification" is a subfeature of "Taxon node".

Also we should include the name of the selected taxon in the label so it becomes more clear which taxon is meant (and also it is a double check for correctness).

The label for taxon node should be "Export selected subtree ("Taxon name")"

The label for the classification should be "Export complete classification" (followed by the selection dropbox)

Actions #11

Updated by Andreas Müller over 6 years ago

After running the export the UI is refreshed. This is not necessary as an export should not change the data. Only for imports a refresh is necessary. Feel free to create new ticket if necessary.

Actions #12

Updated by Andreas Müller over 6 years ago

Actions #13

Updated by Andreas Müller over 6 years ago

As suggested in some emails we should try to synchronize CDM light and DwC-A (and potential other exports) as much as possible.

DwC-A uses TaxonNodeOutStreamPartitioner in DwcaTaxExport.doInvoke() which allows export large databases while the current CDM light implementation still loads all taxa in the same session and therefore does not scale.

We should try to use TaxonNodeOutStreamPartitioner. The implementation should be more or less similar to DwC-A.

Actions #14

Updated by Katja Luther over 6 years ago

  • Status changed from Feedback to Resolved
  • Assignee changed from Katja Luther to Andreas Müller

adapted the text in fileExportWizard and create a new ticket for adapt the cdmlight export to use TaxonNodeOutStreamPartitioner (#6953)

Actions #15

Updated by Andreas Müller over 6 years ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Katja Luther

The UI component for switching between taxon node and complete classification should more clearly show that these are alternatives. E.g. use radio buttons. They indicate that one of the shown alternatives is to be selected.

This is not yet implemented

Actions #16

Updated by Andreas Müller over 6 years ago

I tried to export "Nepenthaceae Dumort." from caryo_nepenthes on test-server. The result returned only 1 record in the taxon table. It looks like the taxa below the root were not exported.
If you changed to the same mechanism that is used in DwC-A export, please be aware, that DwC-A export allows exporting single taxa which are parents of a subtree. This can be configured. Distinguish between subtreeUuid and taxonUuid(?).

Actions #17

Updated by Katja Luther over 6 years ago

  • Status changed from Feedback to Resolved

radio buttons are added and the filter is set to subtree filter, this was implemented already but not pushed.

Actions #18

Updated by Andreas Müller over 6 years ago

  • Assignee changed from Katja Luther to Andreas Müller
Actions #19

Updated by Andreas Müller over 6 years ago

  • Related to bug #6968: Unexpected error in CDM light when exporting Individuals Association with no unit attached added
Actions #20

Updated by Andreas Müller over 6 years ago

The radio button works well but the label is now kind of duplicated. Can you please keep "Export complete classification" as label and remove "Export selected classification".

Also in case of the radio button being shown it would be nice to have the classification dropdown more to the right so it starts below the label and not below the radio button. Maybe you can have 2 versions for the classification selection, one that is used only if no subtree was defined before which also has its own label, and another one that is only shown if used together with the radio button and which uses the label of the radio button.

Another minor issue: the right alignment of "Select Folder ...." and the radio buttos / classification export is not correct. "Select Folder" is more to the right.

Another minor: please use small letters for "Folder" -> "Select folder for exproted files"

Actions #21

Updated by Andreas Müller over 6 years ago

Another minor issue:

The label text for the title and subtitle:

Output Model Export -> CDM light Export

contents -> content

output model -> CDM light

Actions #22

Updated by Andreas Müller over 6 years ago

If starting the export by right click on a classification I would expect this classification to be preselected in the classification dropdown. Currently this is not the case.

Actions #23

Updated by Andreas Müller over 6 years ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Katja Luther

Also if I start export by right click on a taxon node I would expect "Export selected subtree" to be preselected. Currently there is not preselection so it is unclear what happens when clicking "Finish" before selection.

Actions #24

Updated by Andreas Müller over 6 years ago

Now the "Export selected subtree" is selected by default if started from a taxon node. But this should disable(make invisible) the classification selection as it is after explicitly selecting this option.

Actions #25

Updated by Andreas Müller over 6 years ago

  • Subject changed from Add possibility to export only families or other part of the tree in cdm light export to Add possibility to export only families or other part of the tree in CDM light and DwC-A export
Actions #26

Updated by Katja Luther over 6 years ago

  • Status changed from Feedback to Resolved
  • Assignee changed from Katja Luther to Andreas Müller
Actions #27

Updated by Andreas Müller over 6 years ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Katja Luther

Now when trying to open the export from a classification node I get an NPE

login : admin
editor version : 4.10.0.201709251134
server : test.e-taxonomy.eu (edit-test) / rem_conf_am
schema version : 4.7.0.0.201710040000
os : Windows Server 2012 R2 6.3 amd64
java : 1.8.0_121
java.lang.NullPointerException
    at eu.etaxonomy.taxeditor.io.wizard.ExportToFileDestinationWizardPage.createControl(ExportToFileDestinationWizardPage.java:364)
    at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:175)
    at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:696)
    at org.eclipse.jface.wizard.WizardDialog.setWizard(WizardDialog.java:1144)
    at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1197)
    at org.eclipse.jface.wizard.WizardDialog.lambda$2(WizardDialog.java:1185)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1185)
    at org.eclipse.ui.internal.dialogs.ImportExportPage.treeDoubleClicked(ImportExportPage.java:232)
    at org.eclipse.ui.internal.dialogs.ExportPage$2.doubleClick(ExportPage.java:76)
    at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:833)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
    at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:830)
    at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1470)
    at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1264)
    at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:252)
    at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:249)
    at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:311)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4418)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4236)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3824)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
    at org.eclipse.jface.window.Window.open(Window.java:794)
    at org.eclipse.ui.internal.handlers.WizardHandler$Export.executeHandler(WizardHandler.java:106)
    at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:290)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:282)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:264)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:488)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:433)
    at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:454)
    at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem$3.handleEvent(AbstractContributionItem.java:482)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4418)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4236)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3824)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at eu.etaxonomy.taxeditor.Application.start(Application.java:24)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
Actions #28

Updated by Andreas Müller over 6 years ago

Also when I open the export for a certain node but then choose "Export complete classification" the first classification shown is not necessarily the one belonging to the selected node. But this is what I would expect.

Actions #29

Updated by Andreas Müller over 6 years ago

This is fixed now.

Remaining layout issues:

  • indentation
  • duplicated label for "Export complete classification"

New ticket or fix on the fly?

Actions #30

Updated by Katja Luther over 6 years ago

  • Status changed from Feedback to Resolved
  • Assignee changed from Katja Luther to Andreas Müller

the two remaining issues are fixed with the last commit.

Actions #31

Updated by Andreas Müller over 6 years ago

  • Status changed from Resolved to Closed
  • Assignee changed from Andreas Müller to Katja Luther
Actions #32

Updated by Andreas Müller about 6 years ago

  • Tags changed from euro+med, export to euro+med, export, dwca
Actions

Also available in: Atom PDF