@Override public void actionPerformed(ActionEvent e) { execute(); }
/** * Executes the action command. * * @return {@code Boolean.TRUE} on success, {@code Boolean.FALSE} on failure, or {@code null} on cancellation. */ public Boolean execute() { ProductNode productNode = productNodeRef.get(); if (productNode != null && productNode.getProduct() != null) { Product product = productNode.getProduct(); if (product != null) { if (product.getFileLocation() != null && (product.getProductReader() == null || product.getProductReader() instanceof DimapProductReader)) { return saveProduct(product); } else { // if file location not set, delegate to save-as return new SaveProductAsAction(product).execute(); } } else { // reference was garbage collected, that's fine, no need to save. return true; } } return true; }