@Override public void actionPerformed(ActionEvent e) { final ProductOpener opener = new ProductOpener(); opener.setFileFormat(getFormatName()); opener.setUseAllFileFilter(getUseAllFileFilter()); opener.setMultiSelectionEnabled(false); opener.setSubsetImportEnabled(true); opener.openProduct(); }
public void run() { try { //Product product = CommonReaders.readProduct(productFile); //SnapApp.getDefault().getProductManager().addProduct(product); final org.esa.snap.rcp.actions.file.ProductOpener opener = new org.esa.snap.rcp.actions.file.ProductOpener(); opener.setFiles(productFile); opener.setMultiSelectionEnabled(true); opener.openProduct(); } catch (Exception e) { SnapApp.getDefault().handleError("Not able to open product:\n" + productFile.getPath(), e); } } }
public Boolean openProduct() { File[] configuredFiles = getFiles(); if (configuredFiles != null) { return openProductFilesCheckOpened(getFileFormat(), configuredFiles); if (getFileFormat() != null) { readerPlugIns = ProductIOPlugInManager.getInstance().getReaderPlugIns(getFileFormat()); if (!readerPlugIns.hasNext()) { Dialogs.showError( Bundle.LBL_NoReaderFoundText() + String.format("%nCan't find reader for the given format '%s'.", getFileFormat())); return false; ProductFileChooser fc = new ProductFileChooser(new File(preferences.get(PREFERENCES_KEY_LAST_PRODUCT_DIR, userHomePath))); fc.setSubsetEnabled(isSubsetImportEnabled()); fc.setDialogTitle(SnapApp.getDefault().getInstanceName() + " - " + Bundle.CTL_OpenProductActionName()); fc.setAcceptAllFileFilterUsed(isUseAllFileFilter()); filters.forEach((filter) -> { fc.addChoosableFileFilter(filter); if (getFileFormat() != null && getFileFormat().equals(filter.getFormatName())) { fc.setFileFilter(filter); fc.setMultiSelectionEnabled(isMultiSelectionEnabled()); fc.setFileSelectionMode(JFileChooser.FILES_ONLY); File[] files = getSelectedFiles(fc); return openProductFilesCheckOpened(formatName, files);
String fileFormatName; if (formatName == null) { final List<PluginEntry> intendedPlugIns = getPluginsForFile(file, DecodeQualification.INTENDED); List<PluginEntry> suitablePlugIns = new ArrayList<>(); if (intendedPlugIns.size() == 0) { // check for suitable readers only if no intended reader was found suitablePlugIns.addAll(getPluginsForFile(file, DecodeQualification.SUITABLE)); Collections.sort(intendedPlugIns); Collections.sort(suitablePlugIns); fileFormatName = getUserSelection(intendedPlugIns, suitablePlugIns); if (fileFormatName == null) { // User clicked cancel return null;
private File[] getSelectedFiles(ProductFileChooser fc) { File[] files = new File[0]; if (isMultiSelectionEnabled()) { files = fc.getSelectedFiles(); } else { File file = fc.getSelectedFile(); if (file != null) { files = new File[]{file}; } } return files; }
/** * Executes the action command. * * @return {@code Boolean.TRUE} on success, {@code Boolean.FALSE} on failure, or {@code null} on cancellation. */ public Boolean execute() { final ProductOpener opener = new ProductOpener(); opener.setFiles(getFiles()); opener.setFileFormat(getFileFormat()); opener.setUseAllFileFilter(getUseAllFileFilter()); opener.setMultiSelectionEnabled(true); opener.setSubsetImportEnabled(false); return opener.openProduct(); }