Example usage for org.apache.commons.lang3.builder CompareToBuilder toComparison

List of usage examples for org.apache.commons.lang3.builder CompareToBuilder toComparison

Introduction

In this page you can find the example usage for org.apache.commons.lang3.builder CompareToBuilder toComparison.

Prototype

public int toComparison() 

Source Link

Document

Returns a negative integer, a positive integer, or zero as the builder has judged the "left-hand" side as less than, greater than, or equal to the "right-hand" side.

Usage

From source file:org.sparkcommerce.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'");
    }/*from w  w w.jav a 2s  .c  o 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();
    SparkRequestContext blcContext = SparkRequestContext.getSparkRequestContext();

    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.topology.bgp_ls.config.nodes.impl.RoutingConfigurationImpl.java

@Override
public int compareTo(RoutingConfiguration o) {
    CompareToBuilder builder = (new CompareToBuilder()).append(getRoutingConfigurations().size(),
            o.getRoutingConfigurations().size());

    if (builder.toComparison() == 0) {
        Iterator<AddressFamilyRoutingConfiguration> lit = getRoutingConfigurations().iterator();
        Iterator<AddressFamilyRoutingConfiguration> rit = o.getRoutingConfigurations().iterator();

        while (lit.hasNext())
            builder.append(lit.next(), rit.next());
    }//from  w w  w.  j  a v a2 s.c  om

    return builder.toComparison();
}

From source file:org.topology.bgp_ls.config.nodes.impl.RoutingFilterConfigurationImpl.java

@Override
public int compareTo(RoutingFilterConfiguration o) {
    CompareToBuilder builder = (new CompareToBuilder()).append(getName(), o.getName()).append(getType(),
            ((RoutingFilterConfigurationImpl) o).getType());

    if (builder.toComparison() == 0)
        subclassCompareTo(builder, o);//from   w ww  .j a v  a  2 s.  c om

    return builder.toComparison();
}

From source file:org.topology.bgp_ls.config.nodes.impl.RoutingProcessorConfigurationImpl.java

@Override
public int compareTo(RoutingProcessorConfiguration o) {
    CompareToBuilder builder = (new CompareToBuilder()).append(getRoutingInstances().size(),
            o.getRoutingInstances().size());

    if (builder.toComparison() == 0) {
        Iterator<RoutingInstanceConfiguration> lit = getRoutingInstances().iterator();
        Iterator<RoutingInstanceConfiguration> rit = o.getRoutingInstances().iterator();

        while (lit.hasNext())
            builder.append(lit.next(), rit.next());
    }//from  w  w w.j  av  a 2  s  .  com

    return builder.toComparison();
}

From source file:org.topology.bgp_ls.net.attributes.MultiProtocolNLRI.java

@Override
protected int subclassCompareTo(PathAttribute obj) {
    MultiProtocolNLRI o = (MultiProtocolNLRI) obj;

    CompareToBuilder builer = (new CompareToBuilder()).append(getPathAttributeType(), o.getPathAttributeType())
            .append(getAddressFamily(), o.getAddressFamily())
            .append(getSubsequentAddressFamily(), o.getSubsequentAddressFamily())
            .append(getNextHop(), o.getNextHop()).append(getNlris().size(), o.getNlris().size());

    if (builer.toComparison() == 0) {
        Iterator<MultiProtocolNLRIInformation> lit = getNlris().iterator();
        Iterator<MultiProtocolNLRIInformation> rit = o.getNlris().iterator();

        while (lit.hasNext())
            builer.append(lit.next(), rit.next());
    }/*  w w w . j a  v a  2s . c  om*/

    return builer.toComparison();
}

From source file:org.xwiki.extension.ExtensionId.java

@Override
public int compareTo(ExtensionId o) {
    if (o == null) {
        return -1;
    }//from   w  w  w  .  j  a  v a  2  s. c o  m

    CompareToBuilder builder = new CompareToBuilder();

    builder.append(getId(), o.getId());
    builder.append(getVersion(), o.getVersion());

    return builder.toComparison();
}

From source file:org.xwiki.filter.type.FilterStreamType.java

@Override
public int compareTo(FilterStreamType o) {
    CompareToBuilder builder = new CompareToBuilder();

    builder.append(getType().toString(), o.getType().toString());
    builder.append(getDataFormat(), o.getDataFormat());
    builder.append(getVersion(), o.getVersion());

    return builder.toComparison();
}

From source file:org.xwiki.wikistream.type.WikiStreamType.java

@Override
public int compareTo(WikiStreamType o) {
    CompareToBuilder builder = new CompareToBuilder();

    builder.append(getType().toString(), o.getType().toString());
    builder.append(getDataFormat(), o.getDataFormat());
    builder.append(getVersion(), o.getVersion());

    return builder.toComparison();
}

From source file:tdrc.tuple.Tuple.java

public static <T> Integer defaultComparator(Tuple<T> tuple, Tuple<T> tuple2) {
    CompareToBuilder compareToBuilder = new CompareToBuilder();
    final int tLen = tuple.size();
    final int oLen = tuple2.size();
    for (int i = 0; i < tLen && i < oLen; i++) {
        compareToBuilder.append(tuple.get(i), tuple2.get(i));
    }// w w  w .ja va 2s.  c  o m

    return compareToBuilder.toComparison();

    // final int tLen = tuple.size();
    // final int oLen = tuple2.size();
    //
    // for (int i = 0; i < tLen && i < oLen; i++) {
    //
    // final Comparable<T> tElement = (Comparable) tuple.get(i);
    // // final Comparable<T> oElement = (Comparable) tuple2.get(i);
    //
    // final int comparison = tElement.compareTo(tuple2.get(i));
    // if (comparison != 0) {
    // return comparison;
    // }
    // }
    // return tLen - oLen;
}