List of usage examples for org.apache.commons.collections Predicate Predicate
Predicate
From source file:nl.strohalm.cyclos.services.accounts.guarantees.GuaranteeServiceImpl.java
private Collection<? extends MemberGroup> filterSellers() { return filterMemberGroups(new Predicate() { @Override//from ww w. j a v a 2s . co m public boolean evaluate(final Object object) { return isSellerMember((Group) object); } }); }
From source file:nl.strohalm.cyclos.setup.CreateSmsData.java
private void updateMemberGroup() { for (MemberGroup mGrp : enabledMemberGroups) { CreateBasicData.associateGroupToChannel(smsChannel, mGrp); // Default messages sent by SMS Collection<Message.Type> smsMessages = mGrp.getDefaultSmsMessages(); if (smsMessages == null) { smsMessages = new ArrayList<Message.Type>(); mGrp.setDefaultSmsMessages(smsMessages); }/*from w w w . j a v a 2 s . c o m*/ smsMessages.add(Message.Type.PAYMENT); // SMS allowed messages final List<Type> smsMessageTypes = new ArrayList<Type>(Arrays.asList(Message.Type.values())); CollectionUtils.filter(smsMessageTypes, new Predicate() { @Override public boolean evaluate(final Object object) { final Message.Type type = (Message.Type) object; switch (type) { case FROM_MEMBER: case FROM_ADMIN_TO_MEMBER: case FROM_ADMIN_TO_GROUP: return false; default: return true; } } }); mGrp.setSmsMessages(smsMessageTypes); mGrp.setDefaultAllowChargingSms(true); mGrp.setDefaultAcceptFreeMailing(true); mGrp.setDefaultAcceptPaidMailing(true); MemberGroupSettings mSettings = mGrp.getMemberSettings(); mSettings.setSmsChargeTransferType(smsChargeTT); mSettings.setSmsChargeAmount(new BigDecimal(1)); // Add the sms trade transfer to the member-to-member permission collection mGrp.getTransferTypes().add(smsTradeTT); session.save(mGrp); } }
From source file:nl.strohalm.cyclos.taglibs.CustomFieldTag.java
private void renderSelect(final StringBuilder sb) throws JspException { final boolean hasChildren = CollectionUtils.isNotEmpty(field.getChildren()); final boolean hasParent = field.getParent() != null; // We show the empty label in 2 situations: search or required fields String emptyLabel = ""; if (search || field.getValidation().isRequired()) { if (search) { emptyLabel = StringUtils.trimToEmpty(field.getAllSelectedLabel()); if (StringUtils.isEmpty(emptyLabel)) { emptyLabel = messageHelper.message("global.search.all"); }/* w ww . ja v a2 s .co m*/ } else { emptyLabel = messageHelper.message("global.select.empty"); } } final CustomFieldPossibleValue selected = getPossibleValue(); final Collection<CustomFieldPossibleValue> possibleValues = removeDisabledValues(selected, field.getPossibleValues(false)); // We will render a MultiDropDown control if we are on search for enumerated fields, and the field has no relationships if (!hasChildren && !hasParent && search && field.getType() == CustomField.Type.ENUMERATED && field.getPossibleValues(false).size() > 2) { // MultiDropDown final StringWriter temp = new StringWriter(); pageContext.pushBody(temp); final MultiDropDownTag multiSelect = new MultiDropDownTag(); multiSelect.setPageContext(pageContext); multiSelect.setName(valueName); multiSelect.setSingleField(true); multiSelect.doStartTag(); multiSelect.setEmptyLabel(emptyLabel); final OptionTag option = new OptionTag(); final List<String> values = Arrays.asList(StringUtils.trimToEmpty(getStringValue()).split(",")); for (final CustomFieldPossibleValue possibleValue : possibleValues) { final String idAsString = String.valueOf(possibleValue.getId()); option.setParent(multiSelect); option.setPageContext(pageContext); option.setValue(idAsString); option.setText(possibleValue.getValue()); option.setSelected(values.contains(idAsString)); option.doStartTag(); option.doEndTag(); } multiSelect.doEndTag(); pageContext.popBody(); sb.append(temp.toString()); } else { // Normal select or search for booleans final String id = "custom_field_select_" + field.getId(); sb.append("<select id=\"").append(id).append("\""); sb.append(" fieldId=\"").append(field.getId()).append("\""); sb.append(" fieldName=\"").append(field.getInternalName()).append("\" name=\"").append(valueName) .append('"'); if (search) { sb.append(" fieldEmptyLabel=\"").append(StringEscapeUtils.escapeHtml(emptyLabel)).append('"'); } final Validation validation = field.getValidation(); final List<String> classes = new ArrayList<String>(); if (validation != null && validation.isRequired() && !search) { classes.add("required"); } if (!enabled) { classes.add("InputBoxDisabled"); sb.append(" disabled"); } sb.append(" class=\"").append(StringUtils.join(classes.iterator(), ' ')).append("\">\n"); sb.append("<option value=''>"); sb.append(StringEscapeUtils.escapeHtml(emptyLabel)); sb.append("</option>\n"); Long initialOptionId = null; if (field.getType() == CustomField.Type.ENUMERATED) { // Render each possible value as an enumerated value CustomFieldPossibleValue value = selected; // When the value is not a PossibleValue, try to find it as String if (value == null) { final String valueAsString = getStringValue(); if (StringUtils.isNotEmpty(valueAsString)) { // The value as string is the possible value id final Long possibleValueId = IdConverter.instance().valueOf(valueAsString); value = (CustomFieldPossibleValue) CollectionUtils.find(field.getPossibleValues(false), new Predicate() { @Override public boolean evaluate(final Object obj) { final CustomFieldPossibleValue pv = (CustomFieldPossibleValue) obj; return pv.getId().equals(possibleValueId); } }); } } // As child fields have their options loaded via AJAX, the form.reset() method doesn't return it to the initial state. // Store the options if (value != null && field.getParent() != null) { initialOptionId = value.getId(); } // Check whether the default value will be used boolean useDefault = false; if (!isSearch()) { if (this.value == null) { useDefault = true; } else if (this.value instanceof CustomFieldValue) { // Use on new values only final CustomFieldValue fieldValue = (CustomFieldValue) this.value; useDefault = fieldValue.isTransient(); } } // When a field has children, store it's current value on the page scope, so that child fields can filter their possible values if (hasChildren) { pageContext.setAttribute("valueForField_" + field.getId(), value); } // Write the options for (final CustomFieldPossibleValue possibleValue : possibleValues) { final String idAsString = String.valueOf(possibleValue.getId()); sb.append("<option"); if (ObjectUtils.equals(value, possibleValue) || (useDefault && possibleValue.isDefaultValue())) { sb.append(" selected"); } sb.append(" value=\"").append(idAsString).append("\">"); sb.append(ensureHtml(possibleValue.getValue())).append("</option>\n"); } } else { // Render the options for a boolean sb.append("<option value='true'"); if (value != null && "true".equalsIgnoreCase(value.toString())) { sb.append(" selected"); } sb.append(">").append(messageHelper.message("global.yes")).append("</option>\n"); sb.append("<option value='false'"); if (value != null && "false".equalsIgnoreCase(value.toString())) { sb.append(" selected"); } sb.append(">").append(messageHelper.message("global.no")).append("</option>\n"); } sb.append("</select>\n"); if (hasChildren) { sb.append("<script>\n"); sb.append("$('").append(id).append("').onchange = function() {\n"); for (final CustomField child : field.getChildren()) { final String childId = "custom_field_select_" + child.getId(); sb.append("updateCustomFieldChildValues('").append(field.getNature()).append("', '").append(id) .append("', '").append(childId).append("');\n"); } sb.append(""); sb.append("}\n"); sb.append("Event.observe(self, 'loadi', $('").append(id).append("').onchange);\n"); sb.append("</script>\n"); } if (field.getParent() != null) { sb.append("<script>\n"); if (initialOptionId != null) { // Write the initial value id, so the form.reset will work sb.append("$('").append(id).append("').initialOptionId = \"").append(initialOptionId) .append("\";\n"); } // Write the initial options, so they will be correct on form.reset sb.append("$('").append(id).append("').initialOptions = ["); boolean first = true; for (final CustomFieldPossibleValue possibleValue : possibleValues) { if (first) { first = false; } else { sb.append(", "); } sb.append("new Option(\"").append(StringEscapeUtils.escapeJavaScript(possibleValue.getValue())) .append("\",\"").append(possibleValue.getId()).append("\")"); } sb.append("];\n"); sb.append("</script>\n"); } } }
From source file:nl.strohalm.cyclos.taglibs.ProfileTag.java
private String generateProfileField() { if (elementId <= 0) { return ""; }/*from ww w.j av a2 s. c o m*/ final ElementVO element = elementService.getElementVO(elementId); boolean canGoToProfile = false; final Object foundGroup = CollectionUtils.find(permissionService.getAllVisibleGroups(), new Predicate() { @Override public boolean evaluate(final Object group) { return ((Group) group).getId().equals(element.getGroupId()); } }); if (foundGroup != null) { canGoToProfile = true; } if (StringUtils.isEmpty(text)) { // The text will be the name or the user name based on the local settings. final LocalSettings localSettings = settingsService.getLocalSettings(); final MemberResultDisplay memberResultDisplay = localSettings.getMemberResultDisplay(); if (pattern != null) { text = pattern.replaceAll("username", element.getUsername()).replaceAll("name", element.getName()); } else { if (memberResultDisplay == MemberResultDisplay.NAME) { text = element.getName(); } else if (memberResultDisplay == MemberResultDisplay.USERNAME) { text = element.getUsername(); } } } // truncate text = TruncateTag.truncate(text, fieldLength); String profile; if (canGoToProfile && !onlyShowLabel) { profile = "<a class=\"$linkClass\" $attribute=\"$id\">$text</a>"; // $attribute, $class, $id and $text String linkClass = ""; String attribute = ""; switch (element.getNature()) { case ADMIN: linkClass = "adminProfileLink"; attribute = "adminId"; break; case MEMBER: linkClass = "profileLink"; attribute = "memberId"; break; case OPERATOR: linkClass = "operatorProfileLink"; attribute = "operatorId"; break; default: throw new IllegalArgumentException("Unexpected element identifier " + elementId); } if (!StringUtils.isEmpty(styleClass)) { linkClass += " " + styleClass; } profile = profile.replace("$linkClass", linkClass); profile = profile.replace("$attribute", attribute); profile = profile.replace("$id", elementId.toString()); profile = profile.replace("$text", text); } else { profile = text; } return profile; }
From source file:nl.strohalm.cyclos.webservices.payments.PaymentWebServiceImpl.java
private Collection<MemberCustomField> getMemberCustomFields(final Member member, final List<String> fieldInternalNames) { Collection<MemberCustomField> fields = new HashSet<MemberCustomField>(); for (final String internalName : fieldInternalNames) { MemberCustomFieldValue mcfv = (MemberCustomFieldValue) CollectionUtils.find(member.getCustomValues(), new Predicate() { @Override/* w w w . ja va2 s . co m*/ public boolean evaluate(final Object object) { MemberCustomFieldValue mcfv = (MemberCustomFieldValue) object; return mcfv.getField().getInternalName().equals(internalName); } }); if (mcfv == null) { webServiceHelper.trace( String.format("Required field '%1$s' was not found for member %2$s", internalName, member)); return null; } else { fields.add(memberCustomFieldServiceLocal.load(mcfv.getField().getId())); } } return fields; }
From source file:no.dusken.aranea.admin.control.EditPageController.java
private List<Section> getSectionsExceptFrontPage() { List<Section> sections = sectionService.getSections(true); CollectionUtils.filter(sections, new Predicate() { @Override/*from www. j a va 2s . co m*/ public boolean evaluate(Object object) { return !((Section) object).getUrl().equals("frontpage"); } }); return sections; }
From source file:no.kantega.publishing.common.templates.ValidateTemplateConfigurationTest.java
@Test public void testValidate() { XStreamTemplateConfigurationFactory factory = new XStreamTemplateConfigurationFactory(); factory.setTemplateConfig(new ClassPathResource("test-templateconfig.xml")); TemplateConfiguration config = factory.getConfiguration(); TemplateConfigurationValidator validator = new TemplateConfigurationValidator(); List<TemplateConfigurationValidationError> errors = validator.validate(config); assertEquals(4, errors.size());//from w w w .j a va 2s .c o m assertEquals(1, select(errors, new Predicate() { @Override public boolean evaluate(Object object) { TemplateConfigurationValidationError object1 = (TemplateConfigurationValidationError) object; return object1.getMessage().equals("aksess.templateconfig.error.duplicateid") && ((TemplateConfigurationValidationError) object).getData().equals("nyhet2(3)"); } }).size()); assertEquals(2, select(errors, new Predicate() { @Override public boolean evaluate(Object object) { TemplateConfigurationValidationError object1 = (TemplateConfigurationValidationError) object; return object1.getMessage().equals("aksess.templateconfig.error.invalidreferencetocontenttemplate") && ((TemplateConfigurationValidationError) object).getData() .equals("liste med nyheterX(0)"); } }).size()); assertEquals(1, select(errors, new Predicate() { @Override public boolean evaluate(Object object) { TemplateConfigurationValidationError object1 = (TemplateConfigurationValidationError) object; return object1.getMessage().equals("aksess.templateconfig.error.invalidreferencetodocumenttype") && ((TemplateConfigurationValidationError) object).getData().equals("klasseX(0)"); } }).size()); }
From source file:op.care.prescription.DlgDiscontinue.java
/** * Creates new form DlgDiscontinue/*from w w w . j a v a2 s . co m*/ */ private void cmbArztAbKeyPressed(KeyEvent e) { final String searchKey = String.valueOf(e.getKeyChar()); GP doc = (GP) CollectionUtils.find(listAerzte, new Predicate() { @Override public boolean evaluate(Object o) { return o != null && ((GP) o).getName().toLowerCase().charAt(0) == searchKey.toLowerCase().charAt(0); } }); if (doc != null) { cmbArztAb.setSelectedItem(doc); } }
From source file:op.care.prescription.DlgOnDemand.java
private void cmbDocONKeyPressed(KeyEvent e) { final String searchKey = String.valueOf(e.getKeyChar()); GP doc = (GP) CollectionUtils.find(listAerzte, new Predicate() { @Override/*from w ww . j av a 2s . co m*/ public boolean evaluate(Object o) { return o != null && ((GP) o).getName().toLowerCase().charAt(0) == searchKey.toLowerCase().charAt(0); } }); if (doc != null) { cmbDocON.setSelectedItem(doc); } }
From source file:org.amplafi.tapestry4.ProgrammableTapestryGlobals.java
@SuppressWarnings("unchecked") public Iterator<Object> mocksIterator() { return new FilterIterator(requestObjects().iterator(), new Predicate() { @Override//from w w w .ja va 2 s.co m public boolean evaluate(Object object) { return isMockObject(object); } }); }