Example usage for org.apache.commons.collections4 Predicate Predicate

List of usage examples for org.apache.commons.collections4 Predicate Predicate

Introduction

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

Prototype

Predicate

Source Link

Usage

From source file:org.apache.syncope.client.console.panels.ResourceMappingPanel.java

private List<String> getSchemaNames(final Long connectorId, final Set<ConnConfProperty> conf) {
    final ConnInstanceTO connInstanceTO = new ConnInstanceTO();
    connInstanceTO.setKey(connectorId);// ww  w.j  a  v  a  2s  .  com
    connInstanceTO.getConf().addAll(conf);

    // SYNCOPE-156: use provided info to give schema names (and type!) by ObjectClass
    ConnIdObjectClassTO clazz = IterableUtils.find(connRestClient.buildObjectClassInfo(connInstanceTO, true),
            new Predicate<ConnIdObjectClassTO>() {

                @Override
                public boolean evaluate(final ConnIdObjectClassTO object) {
                    return object.getType()
                            .equalsIgnoreCase(ResourceMappingPanel.this.provisionTO.getObjectClass());
                }
            });

    return clazz == null ? new ArrayList<String>()
            : IterableUtils
                    .toList(IterableUtils.filteredIterable(clazz.getAttributes(), new Predicate<String>() {

                        @Override
                        public boolean evaluate(final String object) {
                            return !("__NAME__".equals(object) || "__ENABLE__".equals(object)
                                    || "__PASSWORD__".equals(object));
                        }
                    }));
}

From source file:org.apache.syncope.client.console.panels.ResourceModal.java

@SuppressWarnings({ "unchecked", "rawtypes" })
public ResourceModal(final ModalWindow window, final PageReference pageRef, final ResourceTO resourceTO,
        final boolean createFlag) {

    super(window, pageRef);

    final Form<ResourceTO> form = new Form<>(FORM);
    form.setModel(new CompoundPropertyModel<>(resourceTO));

    //--------------------------------
    // Resource details panel
    //--------------------------------
    form.add(new ResourceDetailsPanel("details", resourceTO, resourceRestClient.getPropagationActionsClasses(),
            createFlag));//from  w ww. j a  va 2s  .co  m

    form.add(new AnnotatedBeanPanel("systeminformation", resourceTO));
    //--------------------------------

    //--------------------------------
    // Resource mapping panels
    //--------------------------------
    form.add(new ResourceMappingPanel("umapping", resourceTO, AnyTypeKind.USER));
    form.add(new ResourceMappingPanel("gmapping", resourceTO, AnyTypeKind.GROUP));
    //--------------------------------

    //--------------------------------
    // Resource connector configuration panel
    //--------------------------------
    ResourceConnConfPanel resourceConnConfPanel = new ResourceConnConfPanel("connconf", resourceTO, createFlag);
    MetaDataRoleAuthorizationStrategy.authorize(resourceConnConfPanel, ENABLE, Entitlement.CONNECTOR_READ);
    form.add(resourceConnConfPanel);
    //--------------------------------

    //--------------------------------
    // Resource security panel
    //--------------------------------
    form.add(new ResourceSecurityPanel("security", resourceTO));
    //--------------------------------

    AjaxButton submit = new IndicatingAjaxButton(APPLY, new ResourceModel(SUBMIT, SUBMIT)) {

        private static final long serialVersionUID = -958724007591692537L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            final ResourceTO resourceTO = (ResourceTO) form.getDefaultModelObject();

            boolean connObjectKeyError = false;

            final Collection<ProvisionTO> provisions = new ArrayList<>(resourceTO.getProvisions());

            for (ProvisionTO provision : provisions) {
                if (provision != null) {
                    if (provision.getMapping() == null || provision.getMapping().getItems().isEmpty()) {
                        resourceTO.getProvisions().remove(provision);
                    } else {
                        int uConnObjectKeyCount = CollectionUtils.countMatches(
                                provision.getMapping().getItems(), new Predicate<MappingItemTO>() {

                                    @Override
                                    public boolean evaluate(final MappingItemTO item) {
                                        return item.isConnObjectKey();
                                    }
                                });

                        connObjectKeyError = uConnObjectKeyCount != 1;
                    }
                }
            }

            if (connObjectKeyError) {
                error(getString("connObjectKeyValidation"));
                feedbackPanel.refresh(target);
            } else {
                try {
                    if (createFlag) {
                        resourceRestClient.create(resourceTO);
                        send(pageRef.getPage(), Broadcast.BREADTH, new ResourceCreateEvent(target, resourceTO));
                    } else {
                        resourceRestClient.update(resourceTO);
                    }

                    if (pageRef.getPage() instanceof AbstractBasePage) {
                        ((AbstractBasePage) pageRef.getPage()).setModalResult(true);
                    }
                    window.close(target);
                } catch (Exception e) {
                    LOG.error("Failure managing resource {}", resourceTO, e);
                    error(getString(Constants.ERROR) + ": " + e.getMessage());
                    feedbackPanel.refresh(target);
                }
            }
        }

        @Override

        protected void onError(final AjaxRequestTarget target, final Form<?> form) {
            feedbackPanel.refresh(target);
        }
    };

    form.add(submit);
    form.setDefaultButton(submit);

    final AjaxButton cancel = new IndicatingAjaxButton(CANCEL, new ResourceModel(CANCEL)) {

        private static final long serialVersionUID = -958724007591692537L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            window.close(target);
        }

        @Override
        protected void onError(final AjaxRequestTarget target, final Form<?> form) {
        }
    };

    cancel.setDefaultFormProcessing(false);
    form.add(cancel);

    add(form);

    MetaDataRoleAuthorizationStrategy.authorize(submit, ENABLE,
            createFlag ? Entitlement.RESOURCE_CREATE : Entitlement.RESOURCE_UPDATE);
}

From source file:org.apache.syncope.client.console.panels.VirSchemaDetails.java

private List<String> getExtAttrNames() {
    ConnInstanceTO connInstanceTO = new ConnInstanceTO();
    connInstanceTO.setKey(selectedResource.getConnector());
    connInstanceTO.getConf().addAll(selectedResource.getConfOverride());

    ConnIdObjectClassTO connIdObjectClass = IterableUtils.find(
            connRestClient.buildObjectClassInfo(connInstanceTO, false), new Predicate<ConnIdObjectClassTO>() {

                @Override/*w  ww.  j  a  v  a 2 s  .  co  m*/
                public boolean evaluate(final ConnIdObjectClassTO object) {
                    return object.getType().equals(anyTypes.get(anyType.getModelObject()));
                }
            });

    return connIdObjectClass == null ? Collections.<String>emptyList() : connIdObjectClass.getAttributes();
}

From source file:org.apache.syncope.client.console.policies.PolicyRuleWizardBuilder.java

@Override
protected Serializable onApplyInternal(final PolicyRuleDirectoryPanel.PolicyRuleWrapper modelObject) {
    BeanWrapper wrapper = PropertyAccessorFactory.forBeanPropertyAccess(modelObject.getConf());
    wrapper.setPropertyValue("name", modelObject.getName());

    AbstractPolicyTO policyTO = restClient.getPolicy(policy);

    final ComposablePolicy<RuleConf> composable;
    if (policyTO instanceof ComposablePolicy) {
        composable = (ComposablePolicy<RuleConf>) policyTO;
    } else {//  w ww  .jav  a 2  s.c om
        throw new IllegalStateException("Non composable policy");
    }

    if (modelObject.isNew()) {
        composable.getRuleConfs().add(modelObject.getConf());
    } else {
        CollectionUtils.filter(composable.getRuleConfs(), new Predicate<RuleConf>() {

            @Override
            public boolean evaluate(final RuleConf object) {
                return !object.getName().equals(modelObject.getOldName());
            }
        });
        composable.getRuleConfs().add(modelObject.getConf());
    }

    restClient.updatePolicy(policyTO);
    return modelObject;
}

From source file:org.apache.syncope.client.console.reports.ReportletWizardBuilder.java

@Override
protected Serializable onApplyInternal(final ReportletDirectoryPanel.ReportletWrapper modelObject) {
    modelObject.getConf().setName(modelObject.getName());

    final ReportTO reportTO = restClient.read(report);

    if (modelObject.isNew()) {
        reportTO.getReportletConfs().add(modelObject.getConf());
    } else {//from   w  ww. ja va 2 s.  c o m
        CollectionUtils.filter(reportTO.getReportletConfs(), new Predicate<AbstractReportletConf>() {

            @Override
            public boolean evaluate(final AbstractReportletConf object) {
                return !object.getName().equals(modelObject.getOldName());
            }
        });
        reportTO.getReportletConfs().add(modelObject.getConf());
    }

    BeanWrapper wrapper = PropertyAccessorFactory.forBeanPropertyAccess(modelObject.getConf());
    for (Map.Entry<String, Pair<AbstractFiqlSearchConditionBuilder, List<SearchClause>>> entry : modelObject
            .getSCondWrapper().entrySet()) {
        wrapper.setPropertyValue(entry.getKey(),
                SearchUtils.buildFIQL(entry.getValue().getRight(), entry.getValue().getLeft()));
    }

    restClient.update(reportTO);
    return modelObject;
}

From source file:org.apache.syncope.client.console.wicket.markup.html.form.SelectChoiceRenderer.java

@Override
public T getObject(final String id, final IModel<? extends List<? extends T>> choices) {
    return IterableUtils.find(choices.getObject(), new Predicate<T>() {

        @Override/*from   w ww  .  java 2s  .  co  m*/
        public boolean evaluate(final T object) {
            return id != null && id.equals(getIdValue(object, 0));
        }
    });
}

From source file:org.apache.syncope.client.console.widgets.reconciliation.ReconciliationReportParser.java

public static ReconciliationReport parse(final Date run, final InputStream in) throws XMLStreamException {
    XMLStreamReader streamReader = INPUT_FACTORY.createXMLStreamReader(in);
    streamReader.nextTag(); // root
    streamReader.nextTag(); // report
    streamReader.nextTag(); // reportlet

    ReconciliationReport report = new ReconciliationReport(run);

    List<Missing> missing = new ArrayList<>();
    List<Misaligned> misaligned = new ArrayList<>();
    Set<String> onSyncope = null;
    Set<String> onResource = null;

    Any user = null;/*from   w w w  .  j a  v  a2  s.c o m*/
    Any group = null;
    Any anyObject = null;
    String lastAnyType = null;
    while (streamReader.hasNext()) {
        if (streamReader.isStartElement()) {
            switch (streamReader.getLocalName()) {
            case "users":
                Anys users = new Anys();
                users.setTotal(Integer.valueOf(streamReader.getAttributeValue("", "total")));
                report.setUsers(users);
                break;

            case "user":
                user = new Any();
                user.setType(AnyTypeKind.USER.name());
                user.setKey(streamReader.getAttributeValue("", "key"));
                user.setName(streamReader.getAttributeValue("", "username"));
                report.getUsers().getAnys().add(user);
                break;

            case "groups":
                Anys groups = new Anys();
                groups.setTotal(Integer.valueOf(streamReader.getAttributeValue("", "total")));
                report.setGroups(groups);
                break;

            case "group":
                group = new Any();
                group.setType(AnyTypeKind.GROUP.name());
                group.setKey(streamReader.getAttributeValue("", "key"));
                group.setName(streamReader.getAttributeValue("", "groupName"));
                report.getGroups().getAnys().add(group);
                break;

            case "anyObjects":
                lastAnyType = streamReader.getAttributeValue("", "type");
                Anys anyObjects = new Anys();
                anyObjects.setAnyType(lastAnyType);
                anyObjects.setTotal(Integer.valueOf(streamReader.getAttributeValue("", "total")));
                report.getAnyObjects().add(anyObjects);
                break;

            case "anyObject":
                anyObject = new Any();
                anyObject.setType(lastAnyType);
                anyObject.setKey(streamReader.getAttributeValue("", "key"));
                final String anyType = lastAnyType;
                IterableUtils.find(report.getAnyObjects(), new Predicate<Anys>() {

                    @Override
                    public boolean evaluate(final Anys anys) {
                        return anyType.equals(anys.getAnyType());
                    }
                }).getAnys().add(anyObject);
                break;

            case "missing":
                missing.add(new Missing(streamReader.getAttributeValue("", "resource"),
                        streamReader.getAttributeValue("", "connObjectKeyValue")));
                break;

            case "misaligned":
                misaligned.add(new Misaligned(streamReader.getAttributeValue("", "resource"),
                        streamReader.getAttributeValue("", "connObjectKeyValue"),
                        streamReader.getAttributeValue("", "name")));
                break;

            case "onSyncope":
                onSyncope = new HashSet<>();
                break;

            case "onResource":
                onResource = new HashSet<>();
                break;

            case "value":
                Set<String> set = onSyncope == null ? onResource : onSyncope;
                set.add(streamReader.getElementText());
                break;

            default:
            }
        } else if (streamReader.isEndElement()) {
            switch (streamReader.getLocalName()) {
            case "user":
                user.getMissing().addAll(missing);
                user.getMisaligned().addAll(misaligned);
                missing.clear();
                misaligned.clear();
                break;

            case "group":
                group.getMissing().addAll(missing);
                group.getMisaligned().addAll(misaligned);
                missing.clear();
                misaligned.clear();
                break;

            case "anyObject":
                anyObject.getMissing().addAll(missing);
                anyObject.getMisaligned().addAll(misaligned);
                missing.clear();
                misaligned.clear();
                break;

            case "onSyncope":
                misaligned.get(misaligned.size() - 1).getOnSyncope().addAll(onSyncope);
                onSyncope = null;
                break;

            case "onResource":
                misaligned.get(misaligned.size() - 1).getOnResource().addAll(onResource);
                onResource = null;
                break;

            default:
            }

        }

        streamReader.next();
    }

    return report;
}

From source file:org.apache.syncope.client.console.wizards.any.AbstractAttrs.java

private void setSchemas(final List<String> anyTypeClasses, final Map<String, S> scs) {
    final List<S> allSchemas;
    if (anyTypeClasses.isEmpty()) {
        allSchemas = Collections.emptyList();
    } else {//ww w . j  a  v  a 2 s.c o  m
        allSchemas = schemaRestClient.getSchemas(getSchemaType(), anyTypeClasses.toArray(new String[] {}));
    }

    scs.clear();

    if (reoderSchemas()) {
        // 1. remove attributes not selected for display
        CollectionUtils.filter(allSchemas, new Predicate<S>() {

            @Override
            public boolean evaluate(final S schemaTO) {
                return whichAttrs.contains(schemaTO.getKey());
            }
        });

        // 2. sort remainig attributes according to configuration, e.g. attrLayout
        final Map<String, Integer> attrLayoutMap = new HashMap<>(whichAttrs.size());
        for (int i = 0; i < whichAttrs.size(); i++) {
            attrLayoutMap.put(whichAttrs.get(i), i);
        }
        Collections.sort(allSchemas, new Comparator<S>() {

            @Override
            public int compare(final S schema1, final S schema2) {
                int value = 0;

                if (attrLayoutMap.get(schema1.getKey()) > attrLayoutMap.get(schema2.getKey())) {
                    value = 1;
                } else if (attrLayoutMap.get(schema1.getKey()) < attrLayoutMap.get(schema2.getKey())) {
                    value = -1;
                }

                return value;
            }
        });
    }
    for (S schemaTO : allSchemas) {
        scs.put(schemaTO.getKey(), schemaTO);
    }
}

From source file:org.apache.syncope.common.lib.patch.GroupPatch.java

@JsonIgnore
public TypeExtensionTO getTypeExtension(final String anyType) {
    return IterableUtils.find(typeExtensions, new Predicate<TypeExtensionTO>() {

        @Override//  w  w w. j  av a 2 s. co  m
        public boolean evaluate(final TypeExtensionTO typeExtension) {
            return anyType != null && anyType.equals(typeExtension.getAnyType());
        }
    });
}

From source file:org.apache.syncope.common.lib.search.SpecialAttr.java

public static SpecialAttr fromString(final String value) {
    return IterableUtils.find(Arrays.asList(values()), new Predicate<SpecialAttr>() {

        @Override/*from w ww .  j  a  va 2  s.  c o  m*/
        public boolean evaluate(final SpecialAttr specialAttr) {
            return specialAttr.literal.equals(value);
        }
    });
}