List of usage examples for com.google.common.base Predicates notNull
@GwtCompatible(serializable = true) public static <T> Predicate<T> notNull()
From source file:models.web.ModuleModel.java
public ModuleModel(Module module) { super(module); if (module != null) { this.id = UuidUtils.normalize(module.getId()); this.baseName = module.getBaseDisplayName(); this.name = module.getDisplayName(); this.url = module.getRoute(); this.canPartiallyRender = module.canPartiallyRender(); this.allowSelfOutput = module.allowSelfOutput(); this.relevancyScore = 1.0; if (module.getSubModules() != null) { this.subModules = Lists.transform( Lists.newArrayList(Iterables.filter(module.getSubModules(), Predicates.notNull())), new Function<Module, ModuleModel>() { @Override @Nullable//w ww .j a v a 2 s.co m public ModuleModel apply(@Nullable Module input) { return new ModuleModel(input); } }); } } }
From source file:de.metas.ui.web.window.model.lookup.LookupDataSource.java
default LookupValuesList findByIds(final Collection<? extends Object> ids) { if (ids.isEmpty()) { return LookupValuesList.EMPTY; }/*from ww w. ja v a2s. c o m*/ return new HashSet<>(ids).stream().map(this::findById).filter(Predicates.notNull()) .collect(LookupValuesList.collect()); }
From source file:com.analog.lyric.dimple.model.core.EdgeStateList.java
@Override public Iterator<EdgeState> iterator() { // Skip over null entries return Iterators.filter(super.iterator(), Predicates.notNull()); }
From source file:com.isotrol.impe3.api.support.BasicPrincipal.java
public BasicPrincipal(final String username, final String displayName, final Iterable<String> roles, final Map<String, String> properties) { this.username = username; this.displayName = displayName; if (roles == null) { this.roles = ImmutableSet.of(); } else {/* w ww . j av a2 s . co m*/ this.roles = ImmutableSet.copyOf(Iterables.filter(roles, Predicates.notNull())); } if (properties == null) { this.properties = ImmutableMap.of(); } else { this.properties = ImmutableMap.copyOf(filterKeys(filterValues(properties, notNull()), notNull())); } }
From source file:net.shibboleth.idp.session.logic.LogoutPropagationFlowDescriptorSelector.java
/** * Constructor./* w w w . j a va 2 s . co m*/ * * @param flows the logout propagation flows to select from */ public LogoutPropagationFlowDescriptorSelector( @Nonnull @NonnullElements final List<LogoutPropagationFlowDescriptor> flows) { Constraint.isNotNull(flows, "Flows cannot be null"); availableFlows = new ArrayList<>(Collections2.filter(flows, Predicates.notNull())); }
From source file:controllers.ModuleController.java
private static List<ModuleModel> getNextModules(String input) { // get all the supplied view models. List<ViewModel> suppliedViewModels = Lists.newArrayList(); JsonNode inputJson = Json.parse(input); // convert json nodes to view models. if (inputJson != null && inputJson.isArray()) { suppliedViewModels = Lists// ww w . j a va 2 s. co m .newArrayList(Iterators.transform(inputJson.getElements(), new Function<JsonNode, ViewModel>() { @Override @Nullable public ViewModel apply(@Nullable JsonNode input) { if (!input.isTextual()) { return null; } return createViewModelQuietly( fetchResource(UuidUtils.create(input.asText()), PersistentObject.class), null); } })); } else if (inputJson != null && inputJson.isObject()) { suppliedViewModels.add(createViewModelQuietly(inputJson, null)); } suppliedViewModels = Lists.newArrayList(Iterables.filter(suppliedViewModels, Predicates.notNull())); // get all the modules that can use these inputs. Map<Module, Double> nullModulesMap = Maps.newHashMap(); Map<Module, Double> modulesMap = Maps.newHashMap(); Reflections reflections = new Reflections("controllers.modules", Play.application().classloader()); for (Class<? extends Module> moduleClass : reflections.getSubTypesOf(Module.class)) { // we're not interested in abstract classes. if (Modifier.isAbstract(moduleClass.getModifiers())) { continue; } // get the Module.Requires/Requireses annotation for each module class. // the requirements within each Module.Require are ANDed. // the requirements across multiple Module.Require annotations are ORed. List<Module.Requires> requireds = Lists.newArrayList(); if (moduleClass.isAnnotationPresent(Module.Requires.class)) { requireds.add(moduleClass.getAnnotation(Module.Requires.class)); } if (moduleClass.isAnnotationPresent(Module.Requireses.class)) { Collections.addAll(requireds, moduleClass.getAnnotation(Module.Requireses.class).value()); } if (requireds.size() == 0) { requireds.add(null); } for (Module.Requires required : requireds) { final Set<Class<? extends ViewModel>> requiredViewModelClasses = Sets.newHashSet(); if (required != null) { Collections.addAll(requiredViewModelClasses, required.value()); } // get all the supplied view modules that are relevant to this module. List<ViewModel> usefulViewModels = Lists .newArrayList(Iterables.filter(suppliedViewModels, new Predicate<ViewModel>() { @Override public boolean apply(@Nullable ViewModel input) { // if this class is required, then return true. if (requiredViewModelClasses.contains(input.getClass())) { return true; } // if any of its super classes are required, that also works. for (Class<?> superClass : ClassUtils.getAllSuperclasses(input.getClass())) { if (requiredViewModelClasses.contains(superClass)) { return true; } } return false; } })); // if all the requirements were satisfied. if (usefulViewModels.size() >= requiredViewModelClasses.size()) { // try to create an instance of the module. Module module = null; try { module = moduleClass.newInstance(); module.setViewModels(usefulViewModels); } catch (InstantiationException | IllegalAccessException | IllegalArgumentException e) { module = null; } finally { // if no module was created, just ignore. if (module == null) { continue; } } // let's not divide by zero! double relevancyScore = suppliedViewModels.size() != 0 ? usefulViewModels.size() / (double) suppliedViewModels.size() : 1.0; // keep null modules separate. Map<Module, Double> targetModulesMap = null; if (requiredViewModelClasses.size() > 0) { // if a module of this type does not exist, add it. if (Maps.filterKeys(modulesMap, Predicates.instanceOf(moduleClass)).size() == 0) { targetModulesMap = modulesMap; } } else { targetModulesMap = nullModulesMap; } if (targetModulesMap != null) { targetModulesMap.put(module, relevancyScore); } } } } // use null modules only if there are no regular ones. if (modulesMap.size() == 0) { modulesMap = nullModulesMap; } // convert to view models. Set<ModuleModel> moduleViewModels = Sets.newHashSet( Iterables.transform(modulesMap.entrySet(), new Function<Entry<Module, Double>, ModuleModel>() { @Override @Nullable public ModuleModel apply(@Nullable Entry<Module, Double> input) { return new ModuleModel(input.getKey()).setRelevancyScore(input.getValue()); } })); // order first by relevance and then by name. return Ordering.from(new Comparator<ModuleModel>() { @Override public int compare(ModuleModel o1, ModuleModel o2) { int relDiff = (int) Math.round((o2.relevancyScore - o1.relevancyScore) * 1000); if (relDiff == 0) { return o1.name.compareTo(o2.name); } return relDiff; } }).sortedCopy(moduleViewModels); }
From source file:org.apache.brooklyn.util.core.xstream.ImmutableSetConverter.java
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { Collection<?> collection = Lists.newArrayList(); populateCollection(reader, context, collection); return ImmutableSet.copyOf(Iterables.filter(collection, Predicates.notNull())); }
From source file:google.registry.util.SendEmailUtils.java
/** * Sends an email from Nomulus to the specified recipients. Returns true iff sending was * successful.//from ww w . ja v a 2s.c o m */ public static boolean sendEmail(Iterable<String> addresses, final String subject, String body) { try { Message msg = emailService.createMessage(); msg.setFrom(new InternetAddress(CONFIG.getGoogleAppsSendFromEmailAddress(), CONFIG.getGoogleAppsAdminEmailDisplayName())); List<InternetAddress> emails = FluentIterable.from(addresses) .transform(new Function<String, InternetAddress>() { @Override public InternetAddress apply(String emailAddress) { try { return new InternetAddress(emailAddress); } catch (AddressException e) { logger.severefmt(e, "Could not send email to %s with subject '%s'.", emailAddress, subject); // Returning null excludes this address from the list of recipients on the email. return null; } } }).filter(Predicates.notNull()).toList(); if (emails.isEmpty()) { return false; } msg.addRecipients(Message.RecipientType.TO, toArray(emails, InternetAddress.class)); msg.setSubject(subject); msg.setText(body); emailService.sendMessage(msg); } catch (Throwable t) { logger.severefmt(t, "Could not email to addresses %s with subject '%s'.", Joiner.on(", ").join(addresses), subject); return false; } return true; }
From source file:org.apache.brooklyn.util.core.xstream.ImmutableListConverter.java
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { Collection<?> collection = Lists.newArrayList(); populateCollection(reader, context, collection); return ImmutableList.copyOf(Iterables.filter(collection, Predicates.notNull())); }
From source file:org.eclipse.xtext.scoping.impl.LoadOnDemandResourceDescriptions.java
@Override public Iterable<IResourceDescription> getAllResourceDescriptions() { return Iterables.filter(Iterables.transform(validUris, new Function<URI, IResourceDescription>() { @Override//from w ww. j a v a2 s .c o m public IResourceDescription apply(URI from) { return getResourceDescription(from); } }), Predicates.notNull()); }