private Map<File, ProductConfiguration> getProductConfigurations(ProjectMetadata project) { ProductConfigurations products = project.getMetadata(ProductConfigurations.class); if (products == null) { products = new ProductConfigurations(); File[] productFiles = project .getBasedir() .listFiles( new FileFilter() { @Override public boolean accept(File file) { return file.isFile() && file.getName().endsWith(".product"); } }); if (productFiles != null) { for (File productFile : productFiles) { try { products.addProductConfiguration(productFile, ProductConfiguration.read(productFile)); } catch (IOException e) { throw new IllegalArgumentException( "Could not read product configuration file " + productFile, e); } } } project.putMetadata(products); } return products.getProductConfigurations(); }
@Override public void writeMetadata(ProjectMetadata project) throws IOException { ProductConfigurations products = project.getMetadata(ProductConfigurations.class); if (products != null) { for (Map.Entry<File, ProductConfiguration> entry : products.getProductConfigurations().entrySet()) { ProductConfiguration.write(entry.getValue(), entry.getKey()); } } }