public boolean canReadOutputFormat() { return ProductIOPlugInManager.getInstance().getReaderPlugIns(formatName).hasNext(); }
private static String[] createFormats() { final String[] productWriterFormatStrings = ProductIOPlugInManager.getInstance().getAllProductWriterFormatStrings(); final String[] formatNames = Arrays.copyOf(productWriterFormatStrings, productWriterFormatStrings.length + 1); formatNames[formatNames.length - 1] = ENVISAT_FORMAT_NAME; return formatNames; } }
public TargetProductSelectorModel() { this(ProductIOPlugInManager.getInstance().getAllProductWriterFormatStrings()); }
private FileFilter getFileFilter(String formatName) { Iterator<ProductWriterPlugIn> writerPlugIns = ProductIOPlugInManager.getInstance().getWriterPlugIns(formatName); if (writerPlugIns.hasNext()) { return writerPlugIns.next().getProductFileFilter(); } return null; }
private static List<PluginEntry> getPluginsForFile(File file, DecodeQualification desiredQualification) { final Iterator<ProductReaderPlugIn> allReaderPlugIns = ProductIOPlugInManager.getInstance().getAllReaderPlugIns(); final List<PluginEntry> possiblePlugIns = new ArrayList<>(); allReaderPlugIns.forEachRemaining(plugIn -> { final DecodeQualification qualification = plugIn.getDecodeQualification(file); if (qualification == desiredQualification) { possiblePlugIns.add(new PluginEntry(plugIn, qualification)); } }); return possiblePlugIns; }
private static List<String> getFormatsForFile(final File file) { final Iterator<ProductReaderPlugIn> allReaderPlugIns = ProductIOPlugInManager.getInstance().getAllReaderPlugIns(); final List<String> formatNameList = new ArrayList<>(); while (allReaderPlugIns.hasNext()) { ProductReaderPlugIn reader = allReaderPlugIns.next(); String[] formatNames = reader.getFormatNames(); for (String formatName : formatNames) { if(file == null || reader.getDecodeQualification(file) != DecodeQualification.UNABLE && !formatNameList.contains(formatName)) { formatNameList.add(formatName); } } } formatNameList.sort(String::compareTo); formatNameList.add(0, ANY_FORMAT); return formatNameList; }
private String getFileExtension(String formatName) { Iterator<ProductWriterPlugIn> writerPlugIns = ProductIOPlugInManager.getInstance().getWriterPlugIns(formatName); String fileExtension = null; if (writerPlugIns.hasNext()) { SnapFileFilter fileFilter = writerPlugIns.next().getProductFileFilter(); if (fileFilter != null) { fileExtension = fileFilter.getDefaultExtension(); } } return fileExtension; }
String getProductFileName() { String productFileName = productName; Iterator<ProductWriterPlugIn> iterator = ProductIOPlugInManager.getInstance().getWriterPlugIns(formatName); if (iterator.hasNext()) { final ProductWriterPlugIn writerPlugIn = iterator.next(); boolean ok = false; for (String extension : writerPlugIn.getDefaultFileExtensions()) { if (productFileName.endsWith(extension)) { ok = true; break; } } if (!ok) { productFileName = productFileName.concat(writerPlugIn.getDefaultFileExtensions()[0]); } } return productFileName; }
private static JFileChooser createFileChooserDialog(final String preferencesKey) { final JFileChooser chooser = new SnapFileChooser(); chooser.setAcceptAllFileFilterUsed(true); chooser.setMultiSelectionEnabled(true); final String lastDir = SnapApp.getDefault().getPreferences().get(preferencesKey, SystemUtils.getUserHomeDir().getPath()); chooser.setCurrentDirectory(new File(lastDir)); final Iterator<ProductReaderPlugIn> iterator = ProductIOPlugInManager.getInstance().getAllReaderPlugIns(); java.util.List<SnapFileFilter> sortedFileFilters = SnapFileFilter.getSortedFileFilters(iterator); sortedFileFilters.forEach(chooser::addChoosableFileFilter); chooser.setFileFilter(chooser.getAcceptAllFileFilter()); return chooser; }
protected JFileChooser createFileChooserDialog() { final JFileChooser chooser = new SnapFileChooser(); chooser.setAcceptAllFileFilterUsed(true); chooser.setMultiSelectionEnabled(true); final Iterator<ProductReaderPlugIn> iterator = ProductIOPlugInManager.getInstance().getAllReaderPlugIns(); List<SnapFileFilter> sortedFileFilters = SnapFileFilter.getSortedFileFilters(iterator); sortedFileFilters.forEach(chooser::addChoosableFileFilter); chooser.setFileFilter(chooser.getAcceptAllFileFilter()); return chooser; }
private ProductFileChooserAction() { super("..."); chooser = new SnapFileChooser(); chooser.setDialogTitle("Select Source Product"); final Iterator<ProductReaderPlugIn> iterator = ProductIOPlugInManager.getInstance().getAllReaderPlugIns(); List<SnapFileFilter> sortedFileFilters = SnapFileFilter.getSortedFileFilters(iterator); for (SnapFileFilter fileFilter : sortedFileFilters) { chooser.addChoosableFileFilter(fileFilter); } chooser.setAcceptAllFileFilterUsed(true); chooser.setFileFilter(chooser.getAcceptAllFileFilter()); }
protected JFileChooser createFileChooserDialog() { final JFileChooser chooser = new SnapFileChooser(); chooser.setAcceptAllFileFilterUsed(true); chooser.setMultiSelectionEnabled(true); final Iterator<ProductReaderPlugIn> iterator = ProductIOPlugInManager.getInstance().getAllReaderPlugIns(); List<SnapFileFilter> sortedFileFilters = SnapFileFilter.getSortedFileFilters(iterator); sortedFileFilters.forEach(chooser::addChoosableFileFilter); chooser.setFileFilter(chooser.getAcceptAllFileFilter()); return chooser; }
@Override public boolean accept(Product product) { ProductReader productReader = product.getProductReader(); if (productReader != null) { final String formatName = productReader.getReaderPlugIn().getFormatNames()[0]; final ProductIOPlugInManager ioPlugInManager = ProductIOPlugInManager.getInstance(); final Iterator<ProductWriterPlugIn> writerIterator = ioPlugInManager.getWriterPlugIns(formatName); if (writerIterator.hasNext()) { try { MosaicOp.getOperatorParameters(product); } catch (OperatorException e) { return false; } return true; } } return false; }
@Override public boolean accept(Product product) { ProductReader productReader = product.getProductReader(); if (productReader != null) { final String formatName = productReader.getReaderPlugIn().getFormatNames()[0]; final ProductIOPlugInManager ioPlugInManager = ProductIOPlugInManager.getInstance(); final Iterator<ProductWriterPlugIn> writerIterator = ioPlugInManager.getWriterPlugIns(formatName); if (writerIterator.hasNext()) { try { S2tbxMosaicOp.getOperatorParameters(product); } catch (OperatorException e) { return false; } return true; } } return false; } }
final String productReaderPlugin = productRef.productReaderPlugin; if (StringUtils.isNotNullAndNotEmpty(productReaderPlugin)) { final Iterator<ProductReaderPlugIn> allReaderPlugIns = ProductIOPlugInManager.getInstance().getAllReaderPlugIns(); while (allReaderPlugIns.hasNext()) { final ProductReaderPlugIn plugIn = allReaderPlugIns.next();
ProductIOPlugInManager registry = ProductIOPlugInManager.getInstance(); String[] writers = registry.getAllProductWriterFormatStrings(); Arrays.sort(writers);
@Override public void propertyChange(PropertyChangeEvent evt) { final Product product = (Product) evt.getNewValue(); final TargetProductSelectorModel selectorModel = targetProductSelector.getModel(); if (product != null) { final String formatName = product.getProductReader().getReaderPlugIn().getFormatNames()[0]; final ProductIOPlugInManager ioPlugInManager = ProductIOPlugInManager.getInstance(); final Iterator<ProductWriterPlugIn> writerIterator = ioPlugInManager.getWriterPlugIns(formatName); if (writerIterator.hasNext()) { selectorModel.setFormatName(formatName); } else { final String errMsg = "Cannot write to update product."; final String iseMsg = String.format("No product writer found for format '%s'", formatName); appContext.handleError(errMsg, new IllegalStateException(iseMsg)); } final File fileLocation = product.getFileLocation(); final String fileName = FileUtils.getFilenameWithoutExtension(fileLocation); final File fileDir = fileLocation.getParentFile(); selectorModel.setProductName(fileName); selectorModel.setProductDir(fileDir); } else { selectorModel.setFormatName(ProductIO.DEFAULT_FORMAT_NAME); selectorModel.setProductName("mosaic"); String homeDirPath = SystemUtils.getUserHomeDir().getPath(); final PropertyMap prefs = appContext.getPreferences(); String saveDir = prefs.getPropertyString(SaveProductAsAction.PREFERENCES_KEY_LAST_PRODUCT_DIR, homeDirPath); selectorModel.setProductDir(new File(saveDir)); } } }
@Override public void propertyChange(PropertyChangeEvent evt) { final Product product = (Product) evt.getNewValue(); final TargetProductSelectorModel selectorModel = targetProductSelector.getModel(); if (product != null) { final String formatName = product.getProductReader().getReaderPlugIn().getFormatNames()[0]; final ProductIOPlugInManager ioPlugInManager = ProductIOPlugInManager.getInstance(); final Iterator<ProductWriterPlugIn> writerIterator = ioPlugInManager.getWriterPlugIns(formatName); if (writerIterator.hasNext()) { selectorModel.setFormatName(formatName); } else { final String errMsg = "Cannot write to update product."; final String iseMsg = String.format("No product writer found for format '%s'", formatName); appContext.handleError(errMsg, new IllegalStateException(iseMsg)); } final File fileLocation = product.getFileLocation(); final String fileName = FileUtils.getFilenameWithoutExtension(fileLocation); final File fileDir = fileLocation.getParentFile(); selectorModel.setProductName(fileName); selectorModel.setProductDir(fileDir); } else { selectorModel.setFormatName(ProductIO.DEFAULT_FORMAT_NAME); selectorModel.setProductName("Multi-size Mosaic"); String homeDirPath = SystemUtils.getUserHomeDir().getPath(); final PropertyMap prefs = appContext.getPreferences(); String saveDir = prefs.getPropertyString(SaveProductAsAction.PREFERENCES_KEY_LAST_PRODUCT_DIR, homeDirPath); selectorModel.setProductDir(new File(saveDir)); } } }
@Before public void setUp() throws Exception { writerPlugIn = new DummyTestProductWriterPlugIn(); ProductIOPlugInManager.getInstance().addWriterPlugIn(writerPlugIn); model = new TargetProductSelectorModel(); }
public BinningFormModel() { parameterMap = new HashMap<>(); propertySet = ParameterDescriptorFactory.createMapBackedOperatorPropertyContainer("Binning", parameterMap); hideProperties(); // dynamically init the value set String[] readerFormats = ProductIOPlugInManager.getInstance().getAllProductReaderFormatStrings(); Arrays.sort(readerFormats); PropertyDescriptor descriptor = propertySet.getDescriptor(PROPERTY_KEY_SOURCE_PRODUCT_FORMAT); descriptor.setValueSet(new ValueSet(readerFormats)); // Just for GUI propertySet.addProperty(createTransientProperty(PROPERTY_KEY_GLOBAL, Boolean.class)); // temp propertySet.addProperty(createTransientProperty(PROPERTY_KEY_COMPUTE_REGION, Boolean.class)); // temp propertySet.addProperty(createTransientProperty(PROPERTY_KEY_MANUAL_WKT, Boolean.class)); // temp propertySet.addProperty(createTransientProperty(PROPERTY_KEY_WKT, String.class)); // temp propertySet.addProperty(createTransientProperty(PROPERTY_KEY_BOUNDS, Boolean.class)); // temp propertySet.addProperty(createTransientProperty(PROPERTY_KEY_EAST_BOUND, Double.class)); // temp propertySet.addProperty(createTransientProperty(PROPERTY_KEY_NORTH_BOUND, Double.class)); // temp propertySet.addProperty(createTransientProperty(PROPERTY_KEY_WEST_BOUND, Double.class)); // temp propertySet.addProperty(createTransientProperty(PROPERTY_KEY_SOUTH_BOUND, Double.class)); // temp propertySet.addProperty(createTransientProperty(PROPERTY_KEY_SOURCE_PRODUCTS, Product[].class)); // temp propertySet.addProperty(createTransientProperty(PROPERTY_KEY_CONTEXT_SOURCE_PRODUCT, Product.class)); // temp propertySet.setDefaultValues(); propertySet.getProperty(PROPERTY_KEY_REGION).addPropertyChangeListener(evt -> { Geometry newGeometry = (Geometry) evt.getNewValue(); propertySet.setValue(PROPERTY_KEY_MANUAL_WKT, true); propertySet.setValue(PROPERTY_KEY_WKT, newGeometry.toText()); }); }