List of usage examples for org.apache.commons.lang3.builder CompareToBuilder CompareToBuilder
public CompareToBuilder()
Constructor for CompareToBuilder.
Starts off assuming that the objects are equal.
From source file:org.broadleafcommerce.cms.web.processor.ContentProcessor.java
@Override protected void modifyModelAttributes(final Arguments arguments, Element element) { String contentType = element.getAttributeValue("contentType"); String contentName = element.getAttributeValue("contentName"); String maxResultsStr = element.getAttributeValue("maxResults"); if (StringUtils.isEmpty(contentType) && StringUtils.isEmpty(contentName)) { throw new IllegalArgumentException( "The content processor must have a non-empty attribute value for 'contentType' or 'contentName'"); }/* w w w . j a v a2s .co m*/ Integer maxResults = null; if (maxResultsStr != null) { maxResults = Ints.tryParse(maxResultsStr); } if (maxResults == null) { maxResults = Integer.MAX_VALUE; } String contentListVar = getAttributeValue(element, "contentListVar", "contentList"); String contentItemVar = getAttributeValue(element, "contentItemVar", "contentItem"); String numResultsVar = getAttributeValue(element, "numResultsVar", "numResults"); String fieldFilters = element.getAttributeValue("fieldFilters"); final String sorts = element.getAttributeValue("sorts"); IWebContext context = (IWebContext) arguments.getContext(); HttpServletRequest request = context.getHttpServletRequest(); BroadleafRequestContext blcContext = BroadleafRequestContext.getBroadleafRequestContext(); Map<String, Object> mvelParameters = buildMvelParameters(request, arguments, element); SandBox currentSandbox = blcContext.getSandBox(); List<StructuredContentDTO> contentItems; StructuredContentType structuredContentType = null; if (contentType != null) { structuredContentType = structuredContentService.findStructuredContentTypeByName(contentType); } Locale locale = blcContext.getLocale(); contentItems = getContentItems(contentName, maxResults, request, mvelParameters, currentSandbox, structuredContentType, locale, arguments, element); if (contentItems.size() > 0) { // sort the resulting list by the configured property sorts on the tag if (StringUtils.isNotEmpty(sorts)) { Collections.sort(contentItems, new Comparator<StructuredContentDTO>() { @Override public int compare(StructuredContentDTO o1, StructuredContentDTO o2) { AssignationSequence sortAssignments = AssignationUtils .parseAssignationSequence(arguments.getConfiguration(), arguments, sorts, false); CompareToBuilder compareBuilder = new CompareToBuilder(); for (Assignation sortAssignment : sortAssignments) { String property = sortAssignment.getLeft().getStringRepresentation(); Object val1 = o1.getPropertyValue(property); Object val2 = o2.getPropertyValue(property); if (sortAssignment.getRight().execute(arguments.getConfiguration(), arguments) .equals("ASCENDING")) { compareBuilder.append(val1, val2); } else { compareBuilder.append(val2, val1); } } return compareBuilder.toComparison(); } }); } List<Map<String, Object>> contentItemFields = new ArrayList<Map<String, Object>>(); for (StructuredContentDTO item : contentItems) { if (StringUtils.isNotEmpty(fieldFilters)) { AssignationSequence assignments = AssignationUtils .parseAssignationSequence(arguments.getConfiguration(), arguments, fieldFilters, false); boolean valid = true; for (Assignation assignment : assignments) { if (ObjectUtils.notEqual( assignment.getRight().execute(arguments.getConfiguration(), arguments), item.getValues().get(assignment.getLeft().getStringRepresentation()))) { LOG.info("Excluding content " + item.getId() + " based on the property value of " + assignment.getLeft().getStringRepresentation()); valid = false; break; } } if (valid) { contentItemFields.add(item.getValues()); } } else { contentItemFields.add(item.getValues()); } } Map<String, Object> contentItem = null; if (contentItemFields.size() > 0) { contentItem = contentItemFields.get(0); } addToModel(arguments, contentItemVar, contentItem); addToModel(arguments, contentListVar, contentItemFields); addToModel(arguments, numResultsVar, contentItems.size()); } else { if (LOG.isInfoEnabled()) { LOG.info("**************************The contentItems is null*************************"); } addToModel(arguments, contentItemVar, null); addToModel(arguments, contentListVar, null); addToModel(arguments, numResultsVar, 0); } String deepLinksVar = element.getAttributeValue("deepLinks"); if (StringUtils.isNotBlank(deepLinksVar) && contentItems.size() > 0) { List<DeepLink> links = contentDeepLinkService.getLinks(contentItems.get(0)); extensionManager.getProxy().addExtensionFieldDeepLink(links, arguments, element); extensionManager.getProxy().postProcessDeepLinks(links); addToModel(arguments, deepLinksVar, links); } }
From source file:org.broadleafcommerce.openadmin.server.service.persistence.PersistenceManagerImpl.java
@Override public ClassMetadata getMergedClassMetadata(final Class<?>[] entities, Map<MergedPropertyType, Map<String, FieldMetadata>> mergedProperties) { ClassMetadata classMetadata = new ClassMetadata(); classMetadata.setPolymorphicEntities(dynamicEntityDao.getClassTree(entities)); List<Property> propertiesList = new ArrayList<Property>(); for (PersistenceModule module : modules) { module.extractProperties(entities, mergedProperties, propertiesList); }//from ww w. j a v a 2 s .c o m Property[] properties = new Property[propertiesList.size()]; properties = propertiesList.toArray(properties); Arrays.sort(properties, new Comparator<Property>() { @Override public int compare(Property o1, Property o2) { Integer tabOrder1 = o1.getMetadata().getTabOrder() == null ? 99999 : o1.getMetadata().getTabOrder(); Integer tabOrder2 = o2.getMetadata().getTabOrder() == null ? 99999 : o2.getMetadata().getTabOrder(); Integer groupOrder1 = null; Integer groupOrder2 = null; if (o1.getMetadata() instanceof BasicFieldMetadata) { BasicFieldMetadata b1 = (BasicFieldMetadata) o1.getMetadata(); groupOrder1 = b1.getGroupOrder(); } groupOrder1 = groupOrder1 == null ? 99999 : groupOrder1; if (o2.getMetadata() instanceof BasicFieldMetadata) { BasicFieldMetadata b2 = (BasicFieldMetadata) o2.getMetadata(); groupOrder2 = b2.getGroupOrder(); } groupOrder2 = groupOrder2 == null ? 99999 : groupOrder2; Integer fieldOrder1 = o1.getMetadata().getOrder() == null ? 99999 : o1.getMetadata().getOrder(); Integer fieldOrder2 = o2.getMetadata().getOrder() == null ? 99999 : o2.getMetadata().getOrder(); String friendlyName1 = o1.getMetadata().getFriendlyName() == null ? "zzzz" : o1.getMetadata().getFriendlyName(); String friendlyName2 = o2.getMetadata().getFriendlyName() == null ? "zzzz" : o2.getMetadata().getFriendlyName(); String name1 = o1.getName() == null ? "zzzzz" : o1.getName(); String name2 = o2.getName() == null ? "zzzzz" : o2.getName(); return new CompareToBuilder().append(tabOrder1, tabOrder2).append(groupOrder1, groupOrder2) .append(fieldOrder1, fieldOrder2).append(friendlyName1, friendlyName2).append(name1, name2) .toComparison(); } }); classMetadata.setProperties(properties); classMetadata.setCurrencyCode(Money.defaultCurrency().getCurrencyCode()); return classMetadata; }
From source file:org.egov.commons.Installment.java
@Override public int compareTo(final Installment inst) { return new CompareToBuilder().append(fromDate, inst.getFromDate()).append(id, inst.getId()) .append(installmentYear, inst.getInstallmentYear()) .append(installmentNumber, inst.getInstallmentNumber()) .append(installmentType, inst.getInstallmentType()) .append(module.getName(), inst.getModule().getName()).append(toDate, inst.getToDate()).build(); }
From source file:org.flowable.dmn.engine.impl.hitpolicy.HitPolicyOutputOrder.java
@Override public void composeDecisionResults(final ELExecutionContext executionContext) { List<Map<String, Object>> ruleResults = new ArrayList<>(executionContext.getRuleResults().values()); boolean outputValuesPresent = false; for (Map.Entry<String, List<Object>> entry : executionContext.getOutputValues().entrySet()) { List<Object> outputValues = entry.getValue(); if (outputValues != null && !outputValues.isEmpty()) { outputValuesPresent = true;//from w w w .j a v a 2 s.co m break; } } if (!outputValuesPresent) { if (CommandContextUtil.getDmnEngineConfiguration().isStrictMode()) { throw new FlowableException( String.format("HitPolicy: %s; no output values present", getHitPolicyName())); } } // sort on predefined list(s) of output values Collections.sort(ruleResults, new Comparator<Map<String, Object>>() { @Override public int compare(Map<String, Object> o1, Map<String, Object> o2) { CompareToBuilder compareToBuilder = new CompareToBuilder(); for (Map.Entry<String, List<Object>> entry : executionContext.getOutputValues().entrySet()) { List<Object> outputValues = entry.getValue(); if (outputValues != null && !outputValues.isEmpty()) { compareToBuilder.append(o1.get(entry.getKey()), o2.get(entry.getKey()), new OutputOrderComparator<>( outputValues.toArray(new Comparable[outputValues.size()]))); compareToBuilder.toComparison(); } } return compareToBuilder.toComparison(); } }); executionContext.getAuditContainer().setDecisionResult(ruleResults); }
From source file:org.flowable.dmn.engine.impl.hitpolicy.HitPolicyPriority.java
@Override public void composeDecisionResults(final ELExecutionContext executionContext) { List<Map<String, Object>> ruleResults = new ArrayList<>(executionContext.getRuleResults().values()); // sort on predefined list(s) of output values Collections.sort(ruleResults, new Comparator<Object>() { boolean noOutputValuesPresent = true; @SuppressWarnings("unchecked") @Override//from ww w . j a va 2s . com public int compare(Object o1, Object o2) { CompareToBuilder compareToBuilder = new CompareToBuilder(); for (Map.Entry<String, List<Object>> entry : executionContext.getOutputValues().entrySet()) { List<Object> outputValues = entry.getValue(); if (outputValues != null || !outputValues.isEmpty()) { noOutputValuesPresent = false; compareToBuilder.append(((Map<String, Object>) o1).get(entry.getKey()), ((Map<String, Object>) o2).get(entry.getKey()), new OutputOrderComparator<>( outputValues.toArray(new Comparable[outputValues.size()]))); } } if (!noOutputValuesPresent) { return compareToBuilder.toComparison(); } else { if (CommandContextUtil.getDmnEngineConfiguration().isStrictMode()) { throw new FlowableException( String.format("HitPolicy: %s; no output values present", getHitPolicyName())); } return 0; } } }); executionContext.getAuditContainer().addDecisionResultObject(ruleResults.get(0)); }
From source file:org.gbif.dwca.model.Vocabulary.java
/** * @see java.lang.Comparable#compareTo(Object) *//*from w w w.ja v a 2 s. c om*/ public int compareTo(Object object) { Vocabulary myClass = (Vocabulary) object; return new CompareToBuilder().append(this.uri, myClass.uri).toComparison(); }
From source file:org.gbif.dwca.model.VocabularyConcept.java
/** * @see java.lang.Comparable#compareTo(Object) *///from w w w . j a v a 2 s.c o m public int compareTo(Object object) { VocabularyConcept myClass = (VocabularyConcept) object; return new CompareToBuilder().append(this.vocabulary, myClass.vocabulary).append(this.order, myClass.order) .append(this.uri, myClass.uri).toComparison(); }
From source file:org.gbif.ipt.model.Vocabulary.java
public int compareTo(Object object) { Vocabulary myClass = (Vocabulary) object; return new CompareToBuilder().append(this.uriString, myClass.uriString).toComparison(); }
From source file:org.gbif.ipt.model.VocabularyConcept.java
public int compareTo(Object object) { VocabularyConcept myClass = (VocabularyConcept) object; return new CompareToBuilder().append(this.vocabulary, myClass.vocabulary).append(this.order, myClass.order) .append(this.uri, myClass.uri).toComparison(); }
From source file:org.jasig.cas.services.AbstractRegisteredService.java
/** * {@inheritDoc}//from w ww .java2 s . com * Compares this instance with the <code>other</code> registered service based on * evaluation order, name. The name comparison is case insensitive. * * @see #getEvaluationOrder() */ @Override public int compareTo(final RegisteredService other) { return new CompareToBuilder().append(this.getEvaluationOrder(), other.getEvaluationOrder()) .append(this.getName().toLowerCase(), other.getName().toLowerCase()) .append(this.getServiceId(), other.getServiceId()).toComparison(); }