/** * @param refNo The reference number. * @return The product with the given reference number. */ public Product getProductByRefNo(final int refNo) { for (final Product product : getProducts()) { if (refNo == product.getRefNo()) { return product; } } return null; }
/** * Removes all product from this list. */ public void removeAllProducts() { final Product[] products = getProducts(); for (Product product : products) { removeProduct(product); } }
private Product[] filterProducts() { List<Product> currentlyOpenedProducts = Arrays.asList(listModel.getSourceProducts()); List<Product> productManagerProducts = Arrays.asList(appContext.getProductManager().getProducts()); ArrayList<Product> result = new ArrayList<>(); for (Product product : productManagerProducts) { if (!currentlyOpenedProducts.contains(product)) { result.add(product); } } return result.toArray(new Product[result.size()]); }
/** * Closes the all open products. */ public synchronized void closeAllProducts() { final Product[] products = getProductManager().getProducts(); for (int i = products.length - 1; i >= 0; i--) { final Product product = products[i]; closeProduct(product); } }
private Product[] getCompatibleProducts(RasterDataNode rasterDataNode) { List<Product> compatibleProducts = new ArrayList<Product>(12); Product vbProduct = rasterDataNode.getProduct(); compatibleProducts.add(vbProduct); Product[] products = vbProduct.getProductManager().getProducts(); final float geolocationEps = getGeolocationEps(); for (Product product : products) { if (vbProduct != product) { if (vbProduct.isCompatibleProduct(product, geolocationEps)) { compatibleProducts.add(product); } } } return compatibleProducts.toArray(new Product[compatibleProducts.size()]); }
private Session createSession(VisatApp app) { ArrayList<ProductNodeView> nodeViews = new ArrayList<ProductNodeView>(); final JInternalFrame[] internalFrames = app.getAllInternalFrames(); for (JInternalFrame internalFrame : internalFrames) { final Container contentPane = internalFrame.getContentPane(); if (contentPane instanceof ProductNodeView) { nodeViews.add((ProductNodeView) contentPane); } } return new Session(app.getSessionFile().getParentFile().toURI(), app.getProductManager().getProducts(), nodeViews.toArray(new ProductNodeView[nodeViews.size()])); } }
private Product getProduct(int refNo) { for (Product product : pm.getProducts()) { if (refNo == product.getRefNo()) { return product; } } return null; } };
@Override public synchronized void shutDown() { final ArrayList<Product> modifiedOrNew = new ArrayList<>(5); final Product[] products = getProductManager().getProducts(); for (final Product product : products) { final ProductReader reader = product.getProductReader();
@Override public JComponent createControl() { final JPanel mainPane = new JPanel(new BorderLayout(4, 4)); mainPane.setPreferredSize(new Dimension(320, 160)); worldMapDataModel = new WorldMapPaneDataModel(); final WorldMapPane worldMapPane = new WorldMapPane(worldMapDataModel); worldMapPane.setNavControlVisible(true); mainPane.add(worldMapPane, BorderLayout.CENTER); visatApp.addProductTreeListener(new WorldMapPTL()); // Add an internal frame listener to VISAT so that we can update our // world map window with the information of the currently activated // product scene view. // visatApp.addInternalFrameListener(new WorldMapIFL()); setProducts(visatApp.getProductManager().getProducts()); setSelectedProduct(visatApp.getSelectedProduct()); return mainPane; }
public RestoredSession restore(AppContext appContext, URI rootURI, ProgressMonitor pm, ProblemSolver problemSolver) throws CanceledException { try { pm.beginTask("Restoring session", 100); ArrayList<Exception> problems = new ArrayList<Exception>(); ProductManager productManager = restoreProducts(rootURI, SubProgressMonitor.create(pm, 80), problemSolver, problems); // Note: ProductManager is used for the SessionDomConverter ProductNodeView[] views = restoreViews(productManager, appContext.getPreferences(), SubProgressMonitor.create(pm, 20), problems ); return new RestoredSession(productManager.getProducts(), views, problems.toArray(new Exception[problems.size()])); } finally { pm.done(); } }
private ProductTreeModel createTreeModel(AppContext ctx) { Product selectedProduct = ctx.getSelectedProductSceneView().getProduct(); ArrayList<CompatibleNodeList> compatibleNodeLists = new ArrayList<CompatibleNodeList>(3); List<RasterDataNode> compatibleNodes = new ArrayList<RasterDataNode>(); compatibleNodes.addAll(Arrays.asList(selectedProduct.getBands())); compatibleNodes.addAll(Arrays.asList(selectedProduct.getTiePointGrids())); if (!compatibleNodes.isEmpty()) { compatibleNodeLists.add(new CompatibleNodeList(selectedProduct.getDisplayName(), compatibleNodes)); } RasterDataNode raster = ctx.getSelectedProductSceneView().getRaster(); GeoCoding geoCoding = raster.getGeoCoding(); CoordinateReferenceSystem modelCRS = ImageManager.getModelCrs(geoCoding); final ProductManager productManager = ctx.getProductManager(); final Product[] products = productManager.getProducts(); for (Product product : products) { if (product == selectedProduct) { continue; } compatibleNodes = new ArrayList<RasterDataNode>(); collectCompatibleRasterDataNodes(modelCRS, product.getBands(), compatibleNodes); collectCompatibleRasterDataNodes(modelCRS, product.getTiePointGrids(), compatibleNodes); if (!compatibleNodes.isEmpty()) { compatibleNodeLists.add(new CompatibleNodeList(product.getDisplayName(), compatibleNodes)); } } return new ProductTreeModel(compatibleNodeLists); }
if (productManager != null) { nodes = BandArithmetic.getRefRasters(expression, productManager.getProducts(), productManager.getProductIndex(product)); } else {
private void updateExpressionToRenamedNode(ProductNode renamedNode, String oldName) { final Product[] products = getProducts(); final String oldExternName = BandArithmetic.createExternalName(oldName); final String newExternName = BandArithmetic.createExternalName(renamedNode.getName()); for (Product product : products) { if (product != renamedNode.getProduct()) { product.acceptVisitor(new ExpressionUpdaterVisitor(oldExternName, newExternName)); } } }
private void openBandArithmeticDialog(final VisatApp visatApp, final String helpId) { final Product[] prods = visatApp.getProductManager().getProducts(); final ProductNodeList<Product> products = new ProductNodeList<Product>(); for (Product prod : prods) { products.add(prod); } BandMathsDialog bandMathsDialog = new BandMathsDialog(visatApp, visatApp.getSelectedProduct(), products, helpId); bandMathsDialog.show(); } }
private boolean saveProductsOrLetItBe(VisatApp app, File sessionFile) { final Product[] products = app.getProductManager().getProducts();
public synchronized void initProducts() { productListModel.removeAllElements(); for (Product product : appContext.getProductManager().getProducts()) { addProduct(product); } final Product selectedProduct = appContext.getSelectedProduct(); if (selectedProduct != null && productFilter.accept(selectedProduct)) { productListModel.setSelectedItem(selectedProduct); } appContext.getProductManager().addListener(productManagerListener); }
void transferPlacemarks() { Product[] allProducts = VisatApp.getApp().getProductManager().getProducts(); if (allProducts.length < 2 || thisProduct == null) { return;
private static VirtualBandOpImage create(String expression, int dataType, Number fillValue, boolean mask, Product product, ResolutionLevel level) { Assert.notNull(product, "product"); Assert.notNull(level, "level"); final Product[] products; final int defaultProductIndex; if (product.getProductManager() != null) { products = product.getProductManager().getProducts(); defaultProductIndex = product.getProductManager().getProductIndex(product); } else { products = new Product[]{product}; defaultProductIndex = 0; } Assert.state(defaultProductIndex >= 0 && defaultProductIndex < products.length); Assert.state(products[defaultProductIndex] == product); return create(expression, dataType, fillValue, mask, products, defaultProductIndex, level); }
@Override public void actionPerformed(ActionEvent e) { Window window = getWindow(e); final Product sourcProduct = getMaskForm().getProduct(); Mask[] selectedMasks = getMaskForm().getSelectedMasks(); Product[] allProducts = VisatApp.getApp().getProductManager().getProducts(); final TransferMaskDialog dialog = new TransferMaskDialog(window, sourcProduct, allProducts, selectedMasks); if (dialog.show() == AbstractDialog.ID_OK) { Product[] maskPixelTargetProducts = dialog.getMaskPixelTargets(); copyMaskPixel(selectedMasks, sourcProduct, maskPixelTargetProducts); Product[] maskDefinitionTargetProducts = dialog.getMaskDefinitionTargets(); copyMaskDefinition(selectedMasks, maskDefinitionTargetProducts); } }
private Product newProductImpl() { if (getProductManager().getProductCount() == 0) { return null; } final ProductNodeList<Product> products = new ProductNodeList<>(); products.copyInto(getProductManager().getProducts()); final Product selectedProduct = getSelectedProduct(); if (selectedProduct == null) { return null; } final int selectedSourceIndex = products.indexOf(selectedProduct); final NewProductDialog dialog = new NewProductDialog(getMainFrame(), products, selectedSourceIndex, false); if (dialog.show() != NewProductDialog.ID_OK) { return null; } final Product product = dialog.getResultProduct(); if (product != null) { addProduct(product); updateState(); } else if (dialog.getException() != null) { showErrorDialog("The product subset could not be created:\n" + dialog.getException().getMessage()); } return product; }