Example usage for org.apache.commons.collections4 CollectionUtils isEmpty

List of usage examples for org.apache.commons.collections4 CollectionUtils isEmpty

Introduction

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

Prototype

public static boolean isEmpty(final Collection<?> coll) 

Source Link

Document

Null-safe check if the specified collection is empty.

Usage

From source file:reconf.server.services.property.ReadAllRestrictedPropertiesService.java

@RequestMapping(value = "/product/{prod}/component/{comp}/property/{prop}/rule", method = RequestMethod.GET)
@Transactional(readOnly = true)/* w  w  w .  j a va2  s . com*/
public ResponseEntity<AllRestrictedPropertiesResult> restricted(@PathVariable("prod") String product,
        @PathVariable("comp") String component, @PathVariable("prop") String property,
        HttpServletRequest request, Authentication auth) {

    PropertyKey key = new PropertyKey(product, component, property);

    if (!products.exists(key.getProduct())) {
        return new ResponseEntity<AllRestrictedPropertiesResult>(
                new AllRestrictedPropertiesResult(key, Product.NOT_FOUND), HttpStatus.NOT_FOUND);
    }
    if (!components.exists(new ComponentKey(key.getProduct(), key.getComponent()))) {
        return new ResponseEntity<AllRestrictedPropertiesResult>(
                new AllRestrictedPropertiesResult(key, Component.NOT_FOUND), HttpStatus.NOT_FOUND);
    }
    List<Property> dbProperties = properties
            .findByKeyProductAndKeyComponentAndKeyNameOrderByRulePriorityDescKeyRuleNameAsc(key.getProduct(),
                    key.getComponent(), key.getName());
    if (CollectionUtils.isEmpty(dbProperties)) {
        return new ResponseEntity<AllRestrictedPropertiesResult>(
                new AllRestrictedPropertiesResult(key, Property.NOT_FOUND), HttpStatus.NOT_FOUND);
    }
    List<Rule> rules = new ArrayList<>();
    for (int i = 0; i < dbProperties.size() - 1; i++) {
        rules.add(new Rule(dbProperties.get(i)));
    }

    return new ResponseEntity<AllRestrictedPropertiesResult>(
            new AllRestrictedPropertiesResult(key, rules, CrudServiceUtils.getBaseUrl(request)), HttpStatus.OK);
}

From source file:software.coolstuff.springframework.owncloud.service.impl.local.OwncloudLocalUserDataServiceImpl.java

protected void checkGroupReferences(OwncloudLocalUserData resourceData) {
    for (OwncloudLocalUserData.User user : resourceData.getUsers()) {
        if (CollectionUtils.isEmpty(user.getGroups())) {
            continue;
        }/*w w  w . j a  v  a2s  .  c  o m*/

        log.debug("Check, if the Groups of User {} are registered within the general Group Definitions",
                user.getUsername());
        if (!CollectionUtils.isSubCollection(user.getGroups(), resourceData.getGroups())) {
            Collection<String> unknownGroups = CollectionUtils.subtract(user.getGroups(),
                    resourceData.getGroups());
            final String exceptionMessage = String.format(
                    "User %s has unknown Groups defined: %s. Please define these Groups within <groups> or remove it from the User",
                    user.getUsername(), unknownGroups);
            log.error(exceptionMessage);
            throw new IllegalStateException(exceptionMessage);
        }
    }
}

From source file:software.coolstuff.springframework.owncloud.service.impl.rest.AbstractOwncloudRestServiceImpl.java

protected String getAuthorizationUserFromHeaders(HttpHeaders headers) {
    Validate.notNull(headers);//from  ww  w.j  a  v a 2 s  .c o  m

    List<String> authorizations = headers.get(HttpHeaders.AUTHORIZATION);
    if (CollectionUtils.isEmpty(authorizations)) {
        return null;
    }

    String encodedCredentials = authorizations.get(0);
    if (StringUtils.startsWith(encodedCredentials, AUTHORIZATION_METHOD_PREFIX)) {
        encodedCredentials = StringUtils.substring(encodedCredentials, AUTHORIZATION_METHOD_PREFIX.length());
    }
    final byte[] rawDecodedCredentials = Base64.getDecoder().decode(encodedCredentials.getBytes());
    final String decodedCredentials = new String(rawDecodedCredentials);
    if (!StringUtils.contains(decodedCredentials, ':')) {
        return null;
    }
    return StringUtils.split(decodedCredentials, ':')[0];
}

From source file:software.coolstuff.springframework.owncloud.service.impl.rest.OwncloudRestUserServiceTest.java

private void prepareModificationRestTest(UserModification userModification) throws IOException {
    if (userModification.getExistingUser() != null) {
        respondUser(/*  w  ww .j  a va 2  s .com*/
                RestRequest.builder().method(GET)
                        .url("/cloud/users/" + userModification.getExistingUser().getUsername()).build(),
                UserResponse.builder().enabled(userModification.getExistingUser().isEnabled())
                        .email(userModification.getExistingUser().getEmail())
                        .displayname(userModification.getExistingUser().getDisplayname())
                        .quota(userModification.getExistingUser().getQuota()).build());
    } else {
        respondFailure(
                RestRequest.builder().method(GET)
                        .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(),
                998, "The requested user could not be found");

        if (userModification.isErrorCreateUser()) {
            respondFailure(RestRequest.builder().method(POST).url("/cloud/users").build(),
                    userModification.getErrorCodeCreateUser());
        } else {
            MultiValueMap<String, String> postData = new LinkedMultiValueMap<>();
            postData.put("userid", Lists.newArrayList(userModification.getNewUser().getUsername()));
            postData.put("password", Lists.newArrayList(userModification.getNewUser().getPassword()));
            respondSuccess(RestRequest.builder().method(POST).url("/cloud/users").build(), postData);
        }

        respondUser(
                RestRequest.builder().method(GET)
                        .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(),
                UserResponse.builder().enabled(true).displayname(userModification.getNewUser().getUsername())
                        .build());
    }

    // change the Displayname
    if (userModification.getExistingUser() == null
            || !StringUtils.equals(userModification.getExistingUser().getDisplayname(),
                    userModification.getNewUser().getDisplayname())) {
        if (userModification.isErrorUpdateDisplayName()) {
            respondFailure(
                    RestRequest.builder().method(PUT)
                            .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(),
                    userModification.getErrorCodeUpdateDisplayName());
        } else {
            MultiValueMap<String, String> putData = new LinkedMultiValueMap<>();
            putData.put("key", Lists.newArrayList("display"));
            putData.put("value", Lists.newArrayList(userModification.getNewUser().getDisplayname()));
            respondSuccess(
                    RestRequest.builder().method(PUT)
                            .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(),
                    putData);
        }
    }

    // change the eMail
    if (userModification.getExistingUser() == null || !StringUtils
            .equals(userModification.getExistingUser().getEmail(), userModification.getNewUser().getEmail())) {
        if (userModification.isErrorUpdateEmail()) {
            respondFailure(
                    RestRequest.builder().method(PUT)
                            .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(),
                    userModification.getErrorCodeUpdateEmail());
        } else {
            MultiValueMap<String, String> putData = new LinkedMultiValueMap<>();
            putData.put("key", Lists.newArrayList("email"));
            putData.put("value", Lists.newArrayList(userModification.getNewUser().getEmail()));
            respondSuccess(
                    RestRequest.builder().method(PUT)
                            .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(),
                    putData);
        }
    }

    // change the Quota
    if (userModification.getExistingUser() == null
            || ObjectUtils.compare(userModification.getExistingUser().getQuota(),
                    userModification.getNewUser().getQuota()) != 0) {
        if (userModification.isErrorUpdateQuota()) {
            respondFailure(
                    RestRequest.builder().method(PUT)
                            .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(),
                    userModification.getErrorCodeUpdateQuota());
        } else {
            Format quotaFormat = getQuotaFormat();
            MultiValueMap<String, String> putData = new LinkedMultiValueMap<>();
            putData.put("key", Lists.newArrayList("quota"));
            if (userModification.getNewUser().getQuota() != null) {
                putData.put("value",
                        Lists.newArrayList(quotaFormat.format(userModification.getNewUser().getQuota())));
            } else {
                putData.put("value", Lists.newArrayList(""));
            }
            respondSuccess(
                    RestRequest.builder().method(PUT)
                            .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(),
                    putData);
        }
    }

    // change the availatility (enable/disable)
    if (userModification.getExistingUser() != null
            && userModification.getExistingUser().isEnabled() != userModification.getNewUser().isEnabled()) {
        if (userModification.isErrorEnableDisable()) {
            respondFailure(RestRequest.builder().method(PUT)
                    .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/"
                            + (userModification.getNewUser().isEnabled() ? "enable" : "disable"))
                    .build(), userModification.getErrorCodeEnableDisable());
        } else {
            respondSuccess(RestRequest
                    .builder().method(PUT).url("/cloud/users/" + userModification.getNewUser().getUsername()
                            + "/" + (userModification.getNewUser().isEnabled() ? "enable" : "disable"))
                    .build());
        }
    }

    List<String> addedGroups = new ArrayList<>();
    List<String> removedGroups = new ArrayList<>();
    if (userModification.getExistingUser() != null
            && CollectionUtils.isNotEmpty(userModification.getExistingUser().getGroups())) {
        respondGroups(
                RestRequest.builder().method(GET)
                        .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(),
                userModification.getExistingUser().getGroups().toArray(new String[] {}));
        addedGroups.addAll(CollectionUtils.subtract(userModification.getNewUser().getGroups(),
                userModification.getExistingUser().getGroups()));
        removedGroups.addAll(CollectionUtils.subtract(userModification.getExistingUser().getGroups(),
                userModification.getNewUser().getGroups()));
    } else {
        respondGroups(RestRequest.builder().method(GET)
                .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build());
        addedGroups.addAll(userModification.getNewUser().getGroups());
    }

    if (userModification.isErrorAddGroup()) {
        respondFailure(
                RestRequest.builder().method(POST)
                        .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(),
                userModification.getErrorCodeAddGroup());
    } else {
        for (String group : addedGroups) {
            MultiValueMap<String, String> postData = new LinkedMultiValueMap<>();
            postData = new LinkedMultiValueMap<>();
            postData.put("groupid", Lists.newArrayList(group));
            respondSuccess(RestRequest.builder().method(POST)
                    .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(),
                    postData);
        }
    }

    if (userModification.isErrorRemoveGroup()) {
        respondFailure(
                RestRequest.builder().method(DELETE)
                        .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(),
                userModification.getErrorCodeRemoveGroup());
    } else {
        for (String group : removedGroups) {
            MultiValueMap<String, String> postData = new LinkedMultiValueMap<>();
            postData = new LinkedMultiValueMap<>();
            postData.put("groupid", Lists.newArrayList(group));
            respondSuccess(RestRequest.builder().method(DELETE)
                    .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(),
                    postData);
        }
    }

    respondUser(
            RestRequest.builder().method(GET).url("/cloud/users/" + userModification.getNewUser().getUsername())
                    .build(),
            UserResponse.builder().enabled(userModification.getNewUser().isEnabled())
                    .email(userModification.getNewUser().getEmail())
                    .displayname(userModification.getNewUser().getDisplayname())
                    .quota(userModification.getNewUser().getQuota()).build());
    respondGroups(
            RestRequest.builder().method(GET)
                    .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(),
            CollectionUtils.isEmpty(userModification.getNewUser().getGroups()) ? new String[] {}
                    : userModification.getNewUser().getGroups().toArray(new String[] {}));
}

From source file:spypunk.tetris.ui.controller.event.TetrisControllerTetrisEventHandlerImpl.java

@Override
public List<TetrisControllerCommand> handleEvents(final List<TetrisEvent> tetrisEvents) {
    if (CollectionUtils.isEmpty(tetrisEvents)) {
        return Collections.emptyList();
    }/*from w  ww .  j a  v a  2 s  .  c o m*/

    return tetrisEvents.stream().map(tetrisControllerCommands::get).map(Supplier::get)
            .collect(Collectors.toList());
}

From source file:spypunk.tetris.ui.controller.TetrisControllerImpl.java

private void executeTetrisControllerCommands(
        final Collection<TetrisControllerCommand> tetrisControllerCommands) {
    if (CollectionUtils.isEmpty(tetrisControllerCommands)) {
        return;//from w ww .jav  a  2s  .co m
    }

    tetrisControllerCommands.forEach(tetrisControllerCommand -> tetrisControllerCommand.execute(tetris));
}

From source file:therian.util.BeanProperties.java

public static Set<String> getPropertyNames(ReturnProperties returnProperties, TherianContext context,
        Position.Readable<?> position) {

    List<? extends FeatureDescriptor> descriptors;
    // first try ELResolver:

    try {/*from   w ww .  j  a v a2s . c om*/
        descriptors = IteratorUtils
                .toList(context.getELResolver().getFeatureDescriptors(context, position.getValue()));
    } catch (Exception e) {
        descriptors = null;
    }

    if (CollectionUtils.isEmpty(descriptors)) {
        // java.beans introspection; on RT type if available, else raw position type:
        final Class<?> beanType;
        if (position.getValue() == null) {
            beanType = TypeUtils.getRawType(position.getType(), null);
        } else {
            beanType = position.getValue().getClass();
        }
        try {
            descriptors = Arrays.asList(Introspector.getBeanInfo(beanType).getPropertyDescriptors());
        } catch (IntrospectionException e1) {
            return Collections.emptySet();
        }
    }

    final Set<String> result = new HashSet<>();
    for (final FeatureDescriptor fd : descriptors) {
        final String name = fd.getName();
        if (returnProperties == ReturnProperties.WRITABLE) {
            try {
                if (context.getELResolver().isReadOnly(context, position.getValue(), name)) {
                    continue;
                }
            } catch (Exception e) {
                // if we can't even _check_ for readOnly, assume not writable:
                continue;
            }
        }
        result.add(name);
    }
    return result;
}

From source file:tv.arte.resteventapi.core.querying.SortOp.java

/**
 * @param aliases//from  w  ww  . j  a v  a 2 s .  c o  m
 */
private SortOp(List<String> aliases) {
    this.aliases = aliases;
    if (CollectionUtils.isEmpty(aliases)) {
        throw new RestEventApiRuntimeException("Every SortOp should have at least one alias");
    }
}

From source file:tv.arte.resteventapi.web.controllers.EventsController.java

/**
 * Retrieves events form the API//  w  w w . j  a v  a 2  s . c o  m
 * 
 * @param baseEventRequestParam A set of params
 * @return
 */
@RequestMapping(produces = { RestEventApiMediaType.APPLICATION_VND_API_JSON_VALUE }, method = {
        RequestMethod.GET })
@HrefedLocationHeader
public EventResourceResponse retrieveEvents(@Valid RestEventSearchRequestParam restEventSearchRequestParams) {

    List<RestEvent> restEvents = eventService.retrieveRestEventForSearchParams(restEventSearchRequestParams);

    if (CollectionUtils.isEmpty(restEvents)) {
        throw new NoResultInApiException(Arrays.asList(restEventSearchRequestParams));
    }

    return new EventResourceResponse(restEvents);
}