protected Set<T> getVariants(PushApplication application) { return application.getVariants().stream() .filter(variant -> type.isAssignableFrom(variant.getClass())) .map(variant -> (T) variant) .collect(Collectors.toSet()); }
@Override public void addVariant(PushApplication pushApp, Variant variant) { pushApp.getVariants().add(variant); pushApplicationDao.update(pushApp); }
private static List<ApplicationVariant> wrapApplicationVariant(List<PushApplication> applications) { final List<ApplicationVariant> applicationVariants = new ArrayList<>(applications.size()); applications.forEach(application -> { application.getVariants().forEach(variant -> { final ApplicationVariant applicationVariant = new ApplicationVariant(application, variant); applicationVariants.add(applicationVariant); }); }); return applicationVariants; }
private static List<ApplicationVariant> wrapApplicationVariant(List<PushApplication> applications) { final List<ApplicationVariant> applicationVariants = new ArrayList<>(applications.size()); applications.forEach(application -> { application.getVariants().forEach(variant -> { final ApplicationVariant applicationVariant = new ApplicationVariant(application, variant); applicationVariants.add(applicationVariant); }); }); return applicationVariants; }
@Override public void delete(PushApplication pushApplication) { PushApplication entity = entityManager.find(PushApplication.class, pushApplication.getId()); final List<Variant> variants = entity.getVariants(); if (!variants.isEmpty()) { entityManager.createQuery("delete from Installation i where i.variant in :variants") .setParameter("variants", variants).executeUpdate(); } super.delete(entity); }
@Override public void delete(PushApplication pushApplication) { PushApplication entity = entityManager.find(PushApplication.class, pushApplication.getId()); final List<Variant> variants = entity.getVariants(); if (!variants.isEmpty()) { entityManager.createQuery("delete from Installation i where i.variant in :variants") .setParameter("variants", variants).executeUpdate(); } super.delete(entity); }
private void putDeviceCountIntoResponseHeaders(PushApplication app, ResponseBuilder response) { long appCount = 0; for (Variant variant : app.getVariants()) { long variantCount = installationDao.getNumberOfDevicesForVariantID(variant.getVariantID()); appCount += variantCount; response.header("deviceCount_variant_" + variant.getVariantID(), variantCount); } response.header("deviceCount_app_" + app.getPushApplicationID(), appCount); }
variants.addAll(pushApplication.getVariants());
variants.addAll(pushApplication.getVariants());