private boolean openProductSubsetDialog(Product product) { _subsetProduct = null; boolean approve = false; if (product != null) { VisatApp visatApp = VisatApp.getApp(); JFrame mainFrame = visatApp.getMainFrame(); ProductSubsetDialog productSubsetDialog = new ProductSubsetDialog(mainFrame, product); if (productSubsetDialog.show() == ProductSubsetDialog.ID_OK) { ProductNodeList<Product> products = new ProductNodeList<Product>(); products.add(product); NewProductDialog newProductDialog = new NewProductDialog(visatApp.getMainFrame(), products, 0, true); newProductDialog.setSubsetDef(productSubsetDialog.getProductSubsetDef()); if (newProductDialog.show() == NewProductDialog.ID_OK) { _subsetProduct = newProductDialog.getResultProduct(); approve = _subsetProduct != null; if (!approve && newProductDialog.getException() != null) { visatApp.showErrorDialog("The product subset could not be created:\n" + newProductDialog.getException().getMessage()); } } } } return approve; } }
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; }