import java.io.File;
import java.util.ArrayList;
import java.util.List;
+import java.util.UUID;
import javax.inject.Named;
import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
import org.eclipse.e4.ui.services.IServiceConstants;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.progress.IProgressConstants;
return;
}
- List<FeatureTree> featureTrees = new ArrayList<>();
- selection.toList().stream().filter(o->o instanceof FeatureTree).forEach(tree->featureTrees.add((FeatureTree)tree));
- DirectoryDialog dialog = new DirectoryDialog(shell);
- String directoryString = dialog.open();
- if(directoryString!=null){
+ List<UUID> featureTreeUuids = new ArrayList<>();
+ selection.toList().stream().filter(o->o instanceof FeatureTree).forEach(tree->featureTreeUuids.add(((FeatureTree)tree).getUuid()));
+
+ FileDialog dialog = new FileDialog(shell);
+ String[] filterNames = {
+ "Web Ontology Language (*.owl)",
+ "Extensible Markup Language (*.xml)",
+ "All files (*.*)"
+ };
+ String[] filterExtensions = { "*.owl", "*.xml", "*.*"};
+
+ dialog.setOverwrite(true);
+ dialog.setFilterNames(filterNames);
+ dialog.setFilterExtensions(filterExtensions);
+ String fileString = dialog.open();
+ if(fileString!=null){
// create job
- Job job = CdmStore.getExportManager().createIOServiceJob(StructureTreeOwlExportConfigurator.NewInstance(), new File(directoryString+"/term_trees.owl"));
+ StructureTreeOwlExportConfigurator configurator = StructureTreeOwlExportConfigurator.NewInstance();
+
+ configurator.setFeatureTreeUuids(featureTreeUuids);
+
+ Job job = CdmStore.getExportManager().createIOServiceJob(configurator, new File(fileString));
// configure the job
job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
job.setUser(true);