private static String getProductFormatName(final ProductReaderPlugIn readerPlugIn) { final String[] formatNames = readerPlugIn.getFormatNames(); if (formatNames != null && formatNames.length > 0) { return formatNames[0]; } return null; }
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; }
public ReaderTest(final ProductReaderPlugIn readerPlugIn) { this.readerPlugIn = readerPlugIn; this.reader = readerPlugIn.createReaderInstance(); }
@Override protected boolean isValidItem(String item) { if (super.isValidItem(item)) { final File file = new File(item); return _productReaderPlugIn.getDecodeQualification(file) != DecodeQualification.UNABLE; } return false; } }
while (readerPlugIns.hasNext()) { ProductReaderPlugIn next = readerPlugIns.next(); SnapFileFilter productFileFilter = next.getProductFileFilter(); fileChooser.addChoosableFileFilter(productFileFilter); String formatName = productFileFilter.getFormatName();
@Override public int compareTo(PluginEntry other) { final int qualificationComparison = this.qualification.compareTo(other.qualification); if (qualificationComparison == 0) { final String description1 = this.plugin.getDescription(Locale.getDefault()); final String description2 = other.plugin.getDescription(Locale.getDefault()); return description1.compareTo(description2); } else { return qualificationComparison; } } }
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; }
while (readerPlugIns.hasNext()) { ProductReaderPlugIn readerPlugIn = readerPlugIns.next(); SnapFileFilter snapFileFilter = readerPlugIn.getProductFileFilter(); if (snapFileFilter != null) { filters.add(snapFileFilter);
@Override public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); setText(((ProductReaderPlugIn) value).getDescription(Locale.getDefault())); return this; } };
} else if (intendedPlugIns.size() == 1) { PluginEntry entry = intendedPlugIns.get(0); fileFormatName = entry.plugin.getFormatNames()[0]; } else if (intendedPlugIns.size() == 0 && suitablePlugIns.size() == 1) { PluginEntry entry = suitablePlugIns.get(0); fileFormatName = entry.plugin.getFormatNames()[0]; } else { Collections.sort(intendedPlugIns);
protected Product testReader(final File inputFile) throws Exception { if(!inputFile.exists()){ TestUtils.skipTest(this, inputFile +" not found"); return null; } final DecodeQualification canRead = readerPlugIn.getDecodeQualification(inputFile); if(canRead != DecodeQualification.INTENDED) { throw new Exception("Reader not intended"); } final Product product = reader.readProductNodes(inputFile, null); if(product == null) { throw new Exception("Unable to read product"); } TestUtils.verifyProduct(product, true, true); validateMetadata(product); return product; }
final ProductReaderPlugIn plugIn = allReaderPlugIns.next(); if (plugIn.getClass().toString().equals(productReaderPlugin)) { product = plugIn.createReaderInstance().readProductNodes(productFile, null); break;
private static String getProductReaderDescription(final Product product) { final ProductReader productReader = product.getProductReader(); if (productReader != null) { final ProductReaderPlugIn readerPlugIn = productReader.getReaderPlugIn(); if (readerPlugIn != null) { String description = readerPlugIn.getDescription(null); if (description != null) { return description; } } } return NO_PRODUCT_READER_MESSAGE; }
@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 protected Product readProductNodesImpl() throws IOException { productDirectory = getInput(super.getInput()); if (getReaderPlugIn().getDecodeQualification(super.getInput()) == DecodeQualification.UNABLE) { throw new IOException("The selected product cannot be read with the current reader.");
if (NotifyDescriptor.OK_OPTION.equals(answer)) { boolean storeResult = decisionCheckBox.isSelected(); String selectedFormatName = ((ProductReaderPlugIn) pluginsCombobox.getSelectedItem()).getFormatNames()[0]; if (storeResult) { SnapApp.getDefault().getPreferences().put(prefKeyFormat, selectedFormatName);
@Override protected Product readProductNodesImpl() throws IOException { if (getReaderPlugIn().getDecodeQualification(super.getInput()) == DecodeQualification.UNABLE) { throw new IOException("The selected product cannot be read with the current reader.");
@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; } }
public void useAsContextProduct(Product contextProduct) { if (contextProduct != null && contextProduct.getProductReader() != null) { String format = contextProduct.getProductReader().getReaderPlugIn().getFormatNames()[0]; propertySet.setValue(BinningFormModel.PROPERTY_KEY_SOURCE_PRODUCT_FORMAT, format); } Product currentContextProduct = createContextProduct(contextProduct); propertySet.setValue(BinningFormModel.PROPERTY_KEY_CONTEXT_SOURCE_PRODUCT, currentContextProduct); }
@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)); } } }