ProductCurator extends AbstractHibernateCurator<Product> { public Map<String, Product> getHydratedProductsByUuid(Set<String> uuids) { Map<String, Product> productsByUuid = new HashMap<>(); if (uuids != null && !uuids.isEmpty()) { for (Product product : this.listAllByUuids(uuids)) { product.getAttributes().size(); product.getDependentProductIds().size(); for (ProductContent pc : product.getProductContent()) { pc.getContent().getModifiedProductIds().size(); } productsByUuid.put(product.getUuid(), product); } } return productsByUuid; } @Inject  ProductCurator(Configuration config,
        AttributeValidator attributeValidator); Product getByName(Owner owner, String name); CandlepinQuery<Product> listAllByUuids(Collection<? extends Serializable> uuids); Set<Product> getPoolDerivedProvidedProductsCached(Pool pool); Set<Product> getPoolDerivedProvidedProductsCached(String poolId); Set<Product> getPoolProvidedProductsCached(Pool pool); Set<Product> getPoolProvidedProductsCached(String poolId); Set<String> getPoolProvidedProductUuids(String poolId); Set<String> getDerivedPoolProvidedProductUuids(String poolId); Set<Product> getProductsByUuidCached(Set<String> productUuids); Map<String, Product> getHydratedProductsByUuid(Set<String> uuids); int hydratePoolProvidedProducts(Iterable<Pool> pools); @Transactional Product create(Product entity); @Transactional Product merge(Product entity); @Override @Transactional void delete(Product entity); boolean productHasSubscriptions(Owner owner, Product product); CandlepinQuery<Product> getProductsByContent(Owner owner, Collection<String> contentIds); @SuppressWarnings("unchecked") CandlepinQuery<Product> getProductsByContent(Owner owner, Collection<String> contentIds,
        Collection<String> productsToOmit); @SuppressWarnings("unchecked") CandlepinQuery<Product> getProductsByContentUuids(Collection<String> contentUuids); @SuppressWarnings("unchecked") CandlepinQuery<Product> getProductsByContentUuids(Owner owner, Collection<String> contentUuids);  }
@Test public void testGetHydratedProductsByUuid() { Product prod = TestUtil.createProduct("test-label-hydrated", "test-product-name-hydrated"); productCurator.create(prod); prod.setAttribute("testattr", "testVal"); Set<String> uuids = new HashSet<>(); uuids.add(prod.getUuid()); uuids.add(product.getUuid()); Map<String, Product> products = productCurator.getHydratedProductsByUuid(uuids); assertEquals(2, products.size()); }