/** * Returns those source products that have been chosen from the product tree. * * @return An array of source products. */ public Product[] getSourceProducts() { return listModel.getSourceProducts(); }
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) && productFilter.accept(product)) { result.add(product); } } return result.toArray(new Product[result.size()]); }
void setPaths(String[] elements) throws ValidationException { if (!list.isEmpty()) { final int endIndex = list.size() - 1; list.clear(); fireIntervalRemoved(this, 0, endIndex); } final File[] files = new File[elements.length]; for (int i = 0; i < files.length; i++) { files[i] = new File(elements[i]); } addElements((Object[]) getSourceProducts()); addElements((Object[]) files); }
@Override public void propertyChange(PropertyChangeEvent evt) { if (!internalPropertyChange) { Object newValue = evt.getNewValue(); try { if (newValue == null) { final Object[] sourceProducts = getSourceProducts(); clear(); addElements(sourceProducts); } else { setPaths((String[]) newValue); } } catch (ValidationException e) { SystemUtils.LOG.log(Level.SEVERE, "Problems at setPaths.", e); } } } });
@Test public void testAddAndRemove() throws ValidationException { listModel.addElements(new File(".")); listModel.addElements(new File(".")); assertEquals(1, listModel.getSize()); listModel.removeElementsAt(new int[]{0}); assertEquals(0, listModel.getSize()); List<File> files = new ArrayList<>(); files.add(new File("abc")); files.add(new File("def")); files.add(new File("ghi")); listModel.addElements(files.toArray()); assertEquals(3, listModel.getSize()); assertEquals(3, ((String[]) property.getValue()).length); List<Product> products = new ArrayList<>(); products.add(new Product("abc", "meris", 10, 120)); products.add(new Product("def", "meris", 10, 120)); products.add(new Product("ghi", "meris", 10, 120)); listModel.addElements(products.toArray()); assertEquals(6, listModel.getSize()); assertEquals(3, listModel.getSourceProducts().length); listModel.removeElementsAt(new int[]{0, 5}); assertEquals(4, listModel.getSize()); assertEquals(2, ((String[]) property.getValue()).length); assertEquals(2, listModel.getSourceProducts().length); }
@Test public void testClear() throws Exception { listModel.addElements(new File("abc")); listModel.addElements(new File("def")); listModel.addElements(new Product("def", "producttype", 10, 10)); listModel.addElements(new Product("dummy", "producttype", 10, 10)); assertEquals(4, listModel.getSize()); listModel.clear(); assertEquals(0, listModel.getSize()); assertEquals(0, listModel.getSourceProducts().length); assertEquals(0, ((String[]) property.getValue()).length); }