Example usage for org.apache.commons.collections CollectionUtils find

List of usage examples for org.apache.commons.collections CollectionUtils find

Introduction

In this page you can find the example usage for org.apache.commons.collections CollectionUtils find.

Prototype

public static Object find(Collection collection, Predicate predicate) 

Source Link

Document

Finds the first element in the given collection which matches the given predicate.

Usage

From source file:org.apache.ambari.server.controller.internal.AbstractProviderModule.java

@Override
public boolean isGangliaCollectorComponentLive(String clusterName) throws SystemException {

    ServiceComponentHostResponse gangliaCollectorHostComponent = null;

    try {/*from  ww  w.j  a va  2s  .  co  m*/
        final String gangliaCollectorHostName = getGangliaCollectorHostName(clusterName);
        ServiceComponentHostRequest componentRequest = new ServiceComponentHostRequest(clusterName, "GANGLIA",
                Role.GANGLIA_SERVER.name(), gangliaCollectorHostName, Collections.<String, String>emptyMap(),
                null);

        Set<ServiceComponentHostResponse> hostComponents = managementController
                .getHostComponents(Collections.singleton(componentRequest));
        gangliaCollectorHostComponent = (ServiceComponentHostResponse) CollectionUtils.find(hostComponents,
                new org.apache.commons.collections.Predicate() {
                    @Override
                    public boolean evaluate(Object arg0) {
                        return ((ServiceComponentHostResponse) arg0).getHostname()
                                .equals(gangliaCollectorHostName);
                    }
                });
    } catch (AmbariException e) {
        LOG.debug("Error checking of Ganglia server host component state: ", e);
        return false;
    }

    //Cluster without Ganglia
    if (gangliaCollectorHostComponent == null)
        return false;

    return gangliaCollectorHostComponent.getLiveState().equals(State.STARTED.name());
}

From source file:org.apache.ambari.server.orm.dao.HostConfigMappingDAO.java

@RequiresSession
public HostConfigMapping findSelectedByType(final long clusterId, String hostName, final String type) {

    populateCache();// w  ww . java 2s  . com

    if (!hostConfigMappingByHost.containsKey(hostName))
        return null;

    Set<HostConfigMapping> set = new HashSet<HostConfigMapping>(hostConfigMappingByHost.get(hostName));

    HostConfigMapping result = (HostConfigMapping) CollectionUtils.find(set, new Predicate() {

        @Override
        public boolean evaluate(Object arg0) {

            return ((HostConfigMapping) arg0).getClusterId().equals(clusterId)
                    && ((HostConfigMapping) arg0).getType().equals(type)
                    && ((HostConfigMapping) arg0).getSelected() > 0;
        }
    });

    return result;

}

From source file:org.apache.archiva.admin.repository.proxyconnector.DefaultProxyConnectorAdmin.java

private ProxyConnectorConfiguration findProxyConnector(String sourceId, String targetId,
        Configuration configuration) {
    if (StringUtils.isBlank(sourceId)) {
        return null;
    }/*from  w  ww . j  av a  2  s.co  m*/

    if (StringUtils.isBlank(targetId)) {
        return null;
    }

    ProxyConnectorSelectionPredicate selectedProxy = new ProxyConnectorSelectionPredicate(sourceId, targetId);
    return (ProxyConnectorConfiguration) CollectionUtils.find(configuration.getProxyConnectors(),
            selectedProxy);
}

From source file:org.apache.archiva.configuration.FileTypes.java

/**
 * Get the list of patterns for a specified filetype.
 * You will always get a list.  In this order.
 * <ul>//ww  w  . ja  va2 s.c  o m
 * <li>The Configured List</li>
 * <li>The Default List</li>
 * <li>A single item list of <code>&quot;**&#47;*&quot;</code></li>
 * </ul>
 *
 * @param id the id to lookup.
 * @return the list of patterns.
 */
public List<String> getFileTypePatterns(String id) {
    Configuration config = archivaConfiguration.getConfiguration();
    Predicate selectedFiletype = new FiletypeSelectionPredicate(id);
    RepositoryScanningConfiguration repositoryScanningConfiguration = config.getRepositoryScanning();
    if (repositoryScanningConfiguration != null) {
        FileType filetype = (FileType) CollectionUtils.find(config.getRepositoryScanning().getFileTypes(),
                selectedFiletype);

        if ((filetype != null) && CollectionUtils.isNotEmpty(filetype.getPatterns())) {
            return filetype.getPatterns();
        }
    }
    List<String> defaultPatterns = defaultTypeMap.get(id);

    if (CollectionUtils.isEmpty(defaultPatterns)) {
        return Collections.singletonList("**/*");
    }

    return defaultPatterns;
}

From source file:org.apereo.portal.layout.dlm.remoting.UpdatePreferencesServlet.java

/**
 * This method removes the channelId specified from favorites. Note that even if you pass in the layout channel id, it will always remove from the favorites.
 * @param channelId The long channel ID that is used to determine which fname to remove from favorites
 * @param request/*w  w  w .  j  a  v  a  2s .c  o m*/
 * @param response
 * @return returns a mav object with a response attribute for noty
 * @throws IOException if it has problem reading the layout file.
 */
@RequestMapping(method = RequestMethod.POST, params = "action=removeFavorite")
public ModelAndView removeFavorite(@RequestParam String channelId, HttpServletRequest request,
        HttpServletResponse response) throws IOException {
    UserPreferencesManager upm = (UserPreferencesManager) userInstanceManager.getUserInstance(request)
            .getPreferencesManager();
    IUserLayoutManager ulm = upm.getUserLayoutManager();
    final Locale locale = RequestContextUtils.getLocale(request);
    IPortletDefinition portletDefinition = portletDefinitionRegistry.getPortletDefinition(channelId);

    if (portletDefinition != null && StringUtils.isNotBlank(portletDefinition.getFName())) {
        String functionalName = portletDefinition.getFName();
        List<IUserLayoutNodeDescription> favoritePortlets = FavoritesUtils
                .getFavoritePortlets(ulm.getUserLayout());

        //search for the favorite to delete
        EqualPredicate nameEqlPredicate = new EqualPredicate(functionalName);
        Object result = CollectionUtils.find(favoritePortlets,
                new BeanPredicate("functionalName", nameEqlPredicate));

        if (result != null && result instanceof UserLayoutChannelDescription) {
            UserLayoutChannelDescription channelDescription = (UserLayoutChannelDescription) result;
            try {
                if (!ulm.deleteNode(channelDescription.getChannelSubscribeId())) {
                    logger.warn("Error deleting the node" + channelId + "from favorites for user "
                            + (upm.getPerson() == null ? "unknown" : upm.getPerson().getID()));
                    response.setStatus(HttpServletResponse.SC_FORBIDDEN);
                    return new ModelAndView("jsonView", Collections.singletonMap("response",
                            getMessage("error.remove.favorite", "Can''t remove favorite", locale)));
                }
                // save the user's layout
                ulm.saveUserLayout();
            } catch (PortalException e) {
                return handlePersistError(request, response, e);
            }

            //document success for notifications
            Map<String, String> model = new HashMap<String, String>();
            model.put("response",
                    getMessage("success.remove.portlet", "Removed from Favorites successfully", locale));
            return new ModelAndView("jsonView", model);
        }
    }
    // save the user's layout
    ulm.saveUserLayout();
    return new ModelAndView("jsonView", Collections.singletonMap("response",
            getMessage("error.finding.favorite", "Can''t find favorite", locale)));
}

From source file:org.broadleafcommerce.core.web.controller.order.AbstractCartController.java

@RequestMapping(value = "/viewCart.htm", params = "updateItemQuantity", method = RequestMethod.POST)
public String updateItemQuantity(@ModelAttribute(value = "cartSummary") CartSummary cartSummary, Errors errors,
        ModelMap model, HttpServletRequest request) throws PricingException {
    if (errors.hasErrors()) {
        model.addAttribute("cartSummary", cartSummary);
        return cartView;
    }//from   w ww. j a  v  a2  s  .  c o  m
    Order currentCartOrder = retrieveCartOrder(request, model);
    List<OrderItem> orderItems = currentCartOrder.getOrderItems();
    List<CartOrderItem> items = new ArrayList<CartOrderItem>(cartSummary.getRows());
    for (CartOrderItem cartOrderItem : items) {
        OrderItem orderItem = (OrderItem) CollectionUtils.find(orderItems,
                new BeanPropertyValueEqualsPredicate("id", cartOrderItem.getOrderItem().getId()));
        //in case the item was removed from the cart from another browser tab
        if (orderItem != null) {
            if (cartOrderItem.getQuantity() > 0) {
                orderItem.setQuantity(cartOrderItem.getQuantity());
                try {
                    cartService.updateItemQuantity(currentCartOrder, orderItem);
                } catch (ItemNotFoundException e) {
                    LOG.error("Item not found in order: (" + orderItem.getId() + ")", e);
                } catch (PricingException e) {
                    LOG.error("Unable to price the order: (" + currentCartOrder.getId() + ")", e);
                }
            } else {
                try {
                    cartService.removeItemFromOrder(currentCartOrder, orderItem);
                    cartSummary.getRows().remove(cartOrderItem);
                } catch (Exception e) {
                    // TODO: handle exception gracefully
                    LOG.error("Unable to remove item from the order: (" + currentCartOrder.getId() + ")");
                }
            }
        }
    }

    //re-add cart items in case there were item splits resulting from promotions
    if (currentCartOrder.getOrderItems() != null) {
        cartSummary.getRows().clear();
        for (OrderItem orderItem : currentCartOrder.getOrderItems()) {
            CartOrderItem cartOrderItem = new CartOrderItem();
            cartOrderItem.setOrderItem(orderItem);
            cartOrderItem.setQuantity(orderItem.getQuantity());
            cartSummary.getRows().add(cartOrderItem);
        }
    }

    cartSummary.setOrderDiscounts(currentCartOrder.getTotalAdjustmentsValue().getAmount());
    model.addAttribute("cartSummary", cartSummary);

    return cartViewRedirect ? "redirect:" + cartView : cartView;
}

From source file:org.broadleafcommerce.openadmin.server.service.persistence.module.extension.DefaultBasicPersistenceModuleExtensionHandler.java

@Override
public ExtensionResultStatusType rebalanceForUpdate(final BasicPersistenceModule basicPersistenceModule,
        PersistencePackage persistencePackage, Serializable instance,
        Map<String, FieldMetadata> mergedProperties, Object primaryKey,
        ExtensionResultHolder<Serializable> resultHolder) {
    try {/*  w  w  w.  jav  a 2  s. c  o m*/
        Entity entity = persistencePackage.getEntity();
        PersistencePerspective persistencePerspective = persistencePackage.getPersistencePerspective();
        ForeignKey foreignKey = (ForeignKey) persistencePerspective.getPersistencePerspectiveItems()
                .get(PersistencePerspectiveItemType.FOREIGNKEY);
        Integer requestedSequence = Integer.valueOf(entity.findProperty(foreignKey.getSortField()).getValue());
        Integer previousSequence = new BigDecimal(String.valueOf(
                basicPersistenceModule.getFieldManager().getFieldValue(instance, foreignKey.getSortField())))
                        .intValue();
        final String idPropertyName = basicPersistenceModule.getIdPropertyName(mergedProperties);
        final Object pKey = primaryKey;

        instance = basicPersistenceModule.createPopulatedInstance(instance, entity, mergedProperties, false,
                persistencePackage.isValidateUnsubmittedProperties());

        if (!previousSequence.equals(requestedSequence)) {
            // Sequence has changed. Rebalance the list
            Serializable manyToField = (Serializable) basicPersistenceModule.getFieldManager()
                    .getFieldValue(instance, foreignKey.getManyToField());
            List<Serializable> records = (List<Serializable>) basicPersistenceModule.getFieldManager()
                    .getFieldValue(manyToField, foreignKey.getOriginatingField());

            Serializable myRecord = (Serializable) CollectionUtils.find(records,
                    new TypedPredicate<Serializable>() {

                        @Override
                        public boolean eval(Serializable record) {
                            try {
                                return (pKey.equals(basicPersistenceModule.getFieldManager()
                                        .getFieldValue(record, idPropertyName)));
                            } catch (IllegalAccessException e) {
                                return false;
                            } catch (FieldNotAvailableException e) {
                                return false;
                            }

                        }

                    });

            records.remove(myRecord);
            if (CollectionUtils.isEmpty(records)) {
                records.add(myRecord);
            } else {
                records.add(requestedSequence - 1, myRecord);
            }

            int index = 1;
            Class<?> type = basicPersistenceModule.getFieldManager()
                    .getField(myRecord.getClass(), foreignKey.getSortField()).getType();
            boolean isBigDecimal = BigDecimal.class.isAssignableFrom(type);
            for (Serializable record : records) {
                basicPersistenceModule.getFieldManager().setFieldValue(record, foreignKey.getSortField(),
                        isBigDecimal ? new BigDecimal(index) : Long.valueOf(index));
                index++;
            }
        }

        resultHolder.setResult(instance);

    } catch (IllegalAccessException e) {
        throw ExceptionHelper.refineException(e);
    } catch (FieldNotAvailableException e) {
        throw ExceptionHelper.refineException(e);
    } catch (ValidationException e) {
        throw ExceptionHelper.refineException(e);
    } catch (InstantiationException e) {
        throw ExceptionHelper.refineException(e);
    }

    return ExtensionResultStatusType.HANDLED;
}

From source file:org.broadleafcommerce.order.web.DemoCartController.java

@RequestMapping(value = "/viewCart.htm", params = "updateItemQuantity", method = RequestMethod.POST)
public String updateItemQuantity(@ModelAttribute(value = "cartSummary") CartSummary cartSummary, Errors errors,
        ModelMap model, HttpServletRequest request) throws PricingException {
    if (errors.hasErrors()) {
        model.addAttribute("cartSummary", cartSummary);
        return cartView;
    }//  ww w.j a  va  2s .  c  o m
    Order currentCartOrder = retrieveCartOrder(request, model);
    List<OrderItem> orderItems = currentCartOrder.getOrderItems();
    List<CartOrderItem> items = new ArrayList<CartOrderItem>(cartSummary.getRows());
    for (CartOrderItem cartOrderItem : items) {
        OrderItem orderItem = (OrderItem) CollectionUtils.find(orderItems,
                new BeanPropertyValueEqualsPredicate("id", cartOrderItem.getOrderItem().getId()));
        //in case the item was removed from the cart from another browser tab
        if (orderItem != null) {
            if (cartOrderItem.getQuantity() > 0) {
                orderItem.setQuantity(cartOrderItem.getQuantity());
                try {
                    cartService.updateItemQuantity(currentCartOrder, orderItem);
                } catch (ItemNotFoundException e) {
                    LOG.error("Item not found in order: (" + orderItem.getId() + ")", e);
                } catch (PricingException e) {
                    LOG.error("Unable to price the order: (" + currentCartOrder.getId() + ")", e);
                }
            } else {
                try {
                    cartService.removeItemFromOrder(currentCartOrder, orderItem);
                    cartSummary.getRows().remove(cartOrderItem);
                } catch (Exception e) {
                    // TODO: handle exception gracefully
                    LOG.error("Unable to remove item from the order: (" + currentCartOrder.getId() + ")");
                }
            }
        }
    }
    cartSummary.setOrderDiscounts(currentCartOrder.getTotalAdjustmentsValue().getAmount());
    return cartView;
}

From source file:org.dasein.cloud.azure.platform.AzureSqlDatabaseSupport.java

@Override
public Database getDatabase(final String providerDatabaseId) throws CloudException, InternalException {
    if (providerDatabaseId == null)
        throw new InternalException("Provider database id cannot be null");

    final List<String> providerDatabaseIdParts = Arrays.asList(providerDatabaseId.split(":"));
    if (providerDatabaseIdParts.size() != 2)
        throw new InternalException("Invalid name for the provider database id");

    HttpUriRequest listServersRequest = new AzureSQLDatabaseSupportRequests(this.provider).listServersNonGen()
            .build();/*from w  w w . jav  a 2 s  .co  m*/

    ServersModel serversModel = new AzureRequester(provider, listServersRequest)
            .withXmlProcessor(ServersModel.class).execute();

    if (serversModel == null || serversModel.getServers() == null)
        return null;

    Object serverFound = CollectionUtils.find(serversModel.getServers(), new Predicate() {
        @Override
        public boolean evaluate(Object object) {
            return providerDatabaseIdParts.get(0).equalsIgnoreCase(((ServerModel) object).getName());
        }
    });

    if (serverFound == null)
        return null;

    HttpUriRequest httpUriRequest = new AzureSQLDatabaseSupportRequests(provider)
            .getDatabase(providerDatabaseIdParts.get(0), providerDatabaseIdParts.get(1)).build();

    Database database = new AzureRequester(provider, httpUriRequest)
            .withXmlProcessor(new DriverToCoreMapper<DatabaseServiceResourceModel, Database>() {
                @Override
                public Database mapFrom(DatabaseServiceResourceModel entity) {
                    return databaseFrom(entity, providerDatabaseIdParts.get(0));
                }
            }, DatabaseServiceResourceModel.class).execute();

    //getDatabase is a global search so set server location for database
    database.setProviderRegionId(((ServerModel) serverFound).getLocation());
    return database;
}

From source file:org.dasein.cloud.azure.platform.AzureSqlDatabaseSupport.java

private ServerServiceResourceModel.Version getSubscriptionVersionProducts() throws CloudException {
    HttpUriRequest subscriptionMetaRequest = new AzureSQLDatabaseSupportRequests(provider)
            .subscriptionMetaRequest().build();
    ServerServiceResourceModel serverServiceResourceModel = new AzureRequester(this.provider,
            subscriptionMetaRequest).withXmlProcessor(ServerServiceResourceModel.class).execute();

    return (ServerServiceResourceModel.Version) CollectionUtils.find(serverServiceResourceModel.getVersions(),
            new Predicate() {
                @Override// ww w  .  j  a  v  a  2 s . com
                public boolean evaluate(Object object) {
                    return ((ServerServiceResourceModel.Version) object).getName().equalsIgnoreCase("2.0");
                }
            });
}