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()]); }
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); }
public synchronized void releaseProducts() { appContext.getProductManager().removeListener(productManagerListener); if (extraProduct != null && getSelectedProduct() != extraProduct) { extraProduct.dispose(); } extraProduct = null; productListModel.removeAllElements(); }
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); }
@Override protected void done() { final TargetProductSelectorModel model = getTargetProductSelector().getModel(); try { final Product targetProduct = get(); if (model.isOpenInAppSelected()) { appContext.getProductManager().addProduct(targetProduct); showSaveAndOpenInAppInfo(saveTime); } else { showSaveInfo(saveTime); } } catch (InterruptedException e) { // ignore } catch (ExecutionException e) { handleProcessingError(e.getCause()); } catch (Throwable t) { handleProcessingError(t); } } }
final Product existingProduct = appContext.getProductManager().getProduct(productName); if (existingProduct != null) { String message = MessageFormat.format(
@Override protected void onApply() { if (!canApply()) { return; } String productDir = targetProductSelector.getModel().getProductDir().getAbsolutePath(); appContext.getPreferences().setPropertyString(BasicApp.PROPERTY_KEY_APP_LAST_SAVE_DIR, productDir); Product targetProduct = null; try { targetProduct = createTargetProduct(); if (targetProduct == null) { throw new NullPointerException("Target product is null."); } } catch (Throwable t) { handleInitialisationError(t); } if (targetProduct == null) { return; } targetProduct.setName(targetProductSelector.getModel().getProductName()); if (targetProductSelector.getModel().isSaveToFileSelected()) { targetProduct.setFileLocation(targetProductSelector.getModel().getProductFile()); final ProgressMonitorSwingWorker worker = new ProductWriterSwingWorker(targetProduct); worker.executeWithBlocking(); } else if (targetProductSelector.getModel().isOpenInAppSelected()) { appContext.getProductManager().addProduct(targetProduct); showOpenInAppInfo(); } }