Example usage for org.apache.commons.collections4 ListUtils emptyIfNull

List of usage examples for org.apache.commons.collections4 ListUtils emptyIfNull

Introduction

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

Prototype

public static <T> List<T> emptyIfNull(final List<T> list) 

Source Link

Document

Returns an immutable empty list if the argument is null, or the argument itself otherwise.

Usage

From source file:com.hp.autonomy.hod.client.api.textindex.query.fields.RetrieveIndexFieldsResponse.java

private RetrieveIndexFieldsResponse(final Builder builder) {
    fieldTypeCounts = builder.fieldTypeCounts;
    totalFields = builder.totalFields;/*from w  w  w  .j  a  v  a2 s  .  c o m*/

    fields.put(FieldTypeParam.AutnRank, ListUtils.emptyIfNull(builder.autnRankTypeFields));
    fields.put(FieldTypeParam.NumericDate, ListUtils.emptyIfNull(builder.dateTypeFields));
    fields.put(FieldTypeParam.Index, ListUtils.emptyIfNull(builder.indexTypeFields));
    fields.put(FieldTypeParam.Numeric, ListUtils.emptyIfNull(builder.numericTypeFields));
    fields.put(FieldTypeParam.Parametric, ListUtils.emptyIfNull(builder.parametricTypeFields));
    fields.put(FieldTypeParam.Reference, ListUtils.emptyIfNull(builder.referenceTypeFields));
    fields.put(FieldTypeParam.All, ListUtils.emptyIfNull(builder.storedTypeFields));
}

From source file:io.cloudslang.lang.tools.build.validation.StaticValidatorImpl.java

private void validateInOutParams(Map<String, String> metadataInOutParams,
        List<? extends InOutParam> inOutParams, String errorMessagePrefix, Queue<RuntimeException> exceptions) {
    for (InOutParam inOutParam : ListUtils.emptyIfNull(inOutParams)) {
        if (MapUtils.isEmpty(metadataInOutParams)) {
            exceptions.add(/*from   ww w .j  av a2  s.  co m*/
                    new MetadataMissingException(errorMessagePrefix + "s are missing description entirely."));
        } else if (metadataInOutParams.get(inOutParam.getName()) == null
                && (!(inOutParam instanceof Input) || !((Input) inOutParam).isPrivateInput())) {
            exceptions.add(new MetadataMissingException(
                    errorMessagePrefix + " '" + inOutParam.getName() + "' is missing description."));
        }
    }
}

From source file:com.hp.autonomy.frontend.find.idol.comparison.ComparisonController.java

@SuppressWarnings("MethodWithTooManyParameters")
@RequestMapping(value = RESULTS_PATH, method = RequestMethod.GET)
public Documents<R> getResults(@RequestParam(STATE_MATCH_PARAM) final List<String> stateMatchIds,
        @RequestParam(value = STATE_DONT_MATCH_PARAM, required = false) final List<String> stateDontMatchIds,
        @RequestParam(value = TEXT_PARAM, required = false, defaultValue = "*") final String text,
        @RequestParam(value = RESULTS_START_PARAM, required = false, defaultValue = "1") final int resultsStart,
        @RequestParam(MAX_RESULTS_PARAM) final int maxResults,
        @RequestParam(SUMMARY_PARAM) final String summary,
        @RequestParam(value = SORT_PARAM, required = false) final String sort,
        @RequestParam(value = HIGHLIGHT_PARAM, required = false, defaultValue = "true") final boolean highlight,
        @RequestParam(value = PROMOTIONS, defaultValue = "false") final boolean promotions) throws E {
    return comparisonService.getResults(stateMatchIds, ListUtils.emptyIfNull(stateDontMatchIds), text,
            resultsStart, maxResults, summary, sort, highlight);
}

From source file:com.hp.autonomy.frontend.find.core.search.RelatedConceptsController.java

@SuppressWarnings("MethodWithTooManyParameters")
@RequestMapping(method = RequestMethod.GET)
@ResponseBody// ww w  . ja v a 2 s  .c om
public List<Q> findRelatedConcepts(@RequestParam(QUERY_TEXT_PARAM) final String queryText,
        @RequestParam(value = FIELD_TEXT_PARAM, defaultValue = "") final String fieldText,
        @RequestParam(DATABASES_PARAM) final List<S> databases,
        @RequestParam(value = MIN_DATE_PARAM, required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) final DateTime minDate,
        @RequestParam(value = MAX_DATE_PARAM, required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) final DateTime maxDate,
        @RequestParam(value = MIN_SCORE_PARAM, defaultValue = "0") final Integer minScore,
        @RequestParam(value = STATE_TOKEN_PARAM, required = false) final List<String> stateTokens,
        @RequestParam(value = MAX_RESULTS, required = false) final Integer maxResults) throws E {
    final QueryRestrictions<S> queryRestrictions = queryRestrictionsBuilderFactory.createBuilder()
            .setQueryText(queryText).setFieldText(fieldText).setDatabases(databases).setMinDate(minDate)
            .setMaxDate(maxDate).setMinScore(minScore).setStateMatchId(ListUtils.emptyIfNull(stateTokens))
            .build();

    final RelatedConceptsRequest<S> relatedConceptsRequest = relatedConceptsRequestBuilderFactory.getObject()
            .setMaxResults(maxResults).setQuerySummaryLength(QUERY_SUMMARY_LENGTH)
            .setQueryRestrictions(queryRestrictions).build();
    return relatedConceptsService.findRelatedConcepts(relatedConceptsRequest);
}

From source file:com.hp.autonomy.frontend.find.core.search.DocumentsController.java

@SuppressWarnings("MethodWithTooManyParameters")
private SearchRequest<S> parseRequestParamsToObject(final String queryText, final int resultsStart,
        final int maxResults, final String summary, final List<S> databases, final String fieldText,
        final String sort, final DateTime minDate, final DateTime maxDate, final boolean highlight,
        final Integer minScore, final boolean autoCorrect) {
    final QueryRestrictions<S> queryRestrictions = queryRestrictionsBuilderFactory.createBuilder()
            .setQueryText(queryText).setFieldText(fieldText).setDatabases(ListUtils.emptyIfNull(databases))
            .setMinDate(minDate).setMaxDate(maxDate).setMinScore(minScore).build();

    return new SearchRequest.Builder<S>().setQueryRestrictions(queryRestrictions).setStart(resultsStart)
            .setMaxResults(maxResults).setSummary(summary).setSummaryCharacters(MAX_SUMMARY_CHARACTERS)
            .setSort(sort).setHighlight(highlight).setAutoCorrect(autoCorrect).build();
}

From source file:com.hp.autonomy.frontend.find.core.search.DocumentsController.java

@SuppressWarnings("MethodWithTooManyParameters")
@RequestMapping(value = SIMILAR_DOCUMENTS_PATH, method = RequestMethod.GET)
@ResponseBody/*w ww.j a v  a2  s.  c o m*/
public Documents<R> findSimilar(@RequestParam(REFERENCE_PARAM) final String reference,
        @RequestParam(value = RESULTS_START_PARAM, defaultValue = "1") final int resultsStart,
        @RequestParam(MAX_RESULTS_PARAM) final int maxResults,
        @RequestParam(SUMMARY_PARAM) final String summary,
        @RequestParam(value = INDEXES_PARAM, required = false) final List<S> databases,
        @RequestParam(value = FIELD_TEXT_PARAM, defaultValue = "") final String fieldText,
        @RequestParam(value = SORT_PARAM, required = false) final String sort,
        @RequestParam(value = MIN_DATE_PARAM, required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) final DateTime minDate,
        @RequestParam(value = MAX_DATE_PARAM, required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) final DateTime maxDate,
        @RequestParam(value = HIGHLIGHT_PARAM, defaultValue = "true") final boolean highlight,
        @RequestParam(value = MIN_SCORE_PARAM, defaultValue = "0") final int minScore) throws E {
    final QueryRestrictions<S> queryRestrictions = queryRestrictionsBuilderFactory.createBuilder()
            .setFieldText(fieldText).setDatabases(ListUtils.emptyIfNull(databases)).setMinDate(minDate)
            .setMaxDate(maxDate).setMinScore(minScore).build();

    final SuggestRequest<S> suggestRequest = new SuggestRequest.Builder<S>().setReference(reference)
            .setQueryRestrictions(queryRestrictions).setStart(resultsStart).setMaxResults(maxResults)
            .setSummary(summary).setSummaryCharacters(MAX_SUMMARY_CHARACTERS).setSort(sort)
            .setHighlight(highlight).build();

    return documentsService.findSimilar(suggestRequest);
}

From source file:com.hp.autonomy.frontend.find.core.parametricfields.ParametricValuesController.java

@SuppressWarnings("MethodWithTooManyParameters")
private R buildRequest(final List<String> fieldNames, final String queryText, final String fieldText,
        final List<S> databases, final DateTime minDate, final DateTime maxDate, final Integer minScore,
        final List<String> stateTokens, final Integer maxValues, final SortParam sort) {
    final QueryRestrictions<S> queryRestrictions = queryRestrictionsBuilderFactory.createBuilder()
            .setQueryText(queryText).setFieldText(fieldText).setDatabases(databases).setMinDate(minDate)
            .setMaxDate(maxDate).setMinScore(minScore).setStateMatchId(ListUtils.emptyIfNull(stateTokens))
            .build();/*from   w w w.j a v  a  2  s.com*/
    return parametricRequestBuilderFactory.getObject().setFieldNames(ListUtils.emptyIfNull(fieldNames))
            .setQueryRestrictions(queryRestrictions).setMaxValues(maxValues).setSort(sort).build();
}

From source file:org.apache.metron.profiler.DefaultProfileBuilder.java

/**
 * Executes the expressions contained within the profile definition.
 *
 * @param expressions A list of expressions to execute.
 * @param transientState Additional transient state provided to the expressions.
 * @param expressionType The type of expression; init, update, result.  Provides additional context if expression execution fails.
 * @return The result of executing each expression.
 *//*from w  ww .ja va2s .  co m*/
private List<Object> execute(List<String> expressions, Map<String, Object> transientState,
        String expressionType) {
    List<Object> results = new ArrayList<>();

    for (String expr : ListUtils.emptyIfNull(expressions)) {
        try {

            // execute an expression
            Object result = executor.execute(expr, transientState, Object.class);
            results.add(result);

        } catch (Throwable e) {

            // in-scope variables = persistent state maintained by the profiler + the transient state
            Set<String> variablesInScope = new HashSet<>();
            variablesInScope.addAll(transientState.keySet());
            variablesInScope.addAll(executor.getState().keySet());

            String msg = format(
                    "Bad '%s' expression: error='%s', expr='%s', profile='%s', entity='%s', variables-available='%s'",
                    expressionType, e.getMessage(), expr, profileName, entity, variablesInScope);
            LOG.error(msg, e);
            throw new ParseException(msg, e);
        }
    }

    return results;
}

From source file:org.apache.metron.profiler.ProfileBuilder.java

/**
 * Executes the expressions contained within the profile definition.
 * @param expressions A list of expressions to execute.
 * @param transientState Additional transient state provided to the expressions.
 * @param expressionType The type of expression; init, update, result.  Provides additional context if expression execution fails.
 * @return The result of executing each expression.
 *//*w w w. j  a  va  2 s .co m*/
private List<Object> execute(List<String> expressions, Map<String, Object> transientState,
        String expressionType) {
    List<Object> results = new ArrayList<>();

    try {
        ListUtils.emptyIfNull(expressions)
                .forEach((expr) -> results.add(executor.execute(expr, transientState, Object.class)));

    } catch (Throwable e) {
        String msg = format("Bad '%s' expression: %s, profile=%s, entity=%s", expressionType, e.getMessage(),
                profileName, entity);
        throw new ParseException(msg, e);
    }

    return results;
}

From source file:org.apache.samza.execution.ExecutionPlanner.java

/**
 * Creates the physical graph from {@link ApplicationDescriptorImpl}
 *//*from   w ww  .j av a2s  .co m*/
/* package private */
JobGraph createJobGraph(ApplicationDescriptorImpl<? extends ApplicationDescriptor> appDesc) {
    JobGraph jobGraph = new JobGraph(config, appDesc);
    // Source streams contain both input and intermediate streams.
    Set<StreamSpec> sourceStreams = getStreamSpecs(appDesc.getInputStreamIds(), streamConfig);
    // Sink streams contain both output and intermediate streams.
    Set<StreamSpec> sinkStreams = getStreamSpecs(appDesc.getOutputStreamIds(), streamConfig);

    Set<StreamSpec> intermediateStreams = Sets.intersection(sourceStreams, sinkStreams);
    Set<StreamSpec> inputStreams = Sets.difference(sourceStreams, intermediateStreams);
    Set<StreamSpec> outputStreams = Sets.difference(sinkStreams, intermediateStreams);

    Set<TableDescriptor> tables = appDesc.getTableDescriptors();

    // Generate job.id and job.name configs from app.id and app.name if defined
    MapConfig generatedJobConfigs = JobPlanner.generateSingleJobConfig(config);
    String jobName = generatedJobConfigs.get(JobConfig.JOB_NAME());
    String jobId = generatedJobConfigs.get(JobConfig.JOB_ID(), "1");

    // For this phase, we have a single job node for the whole DAG
    JobNode node = jobGraph.getOrCreateJobNode(jobName, jobId);

    // Add input streams
    inputStreams.forEach(spec -> jobGraph.addInputStream(spec, node));

    // Add output streams
    outputStreams.forEach(spec -> jobGraph.addOutputStream(spec, node));

    // Add intermediate streams
    intermediateStreams.forEach(spec -> jobGraph.addIntermediateStream(spec, node, node));

    // Add tables
    for (TableDescriptor table : tables) {
        jobGraph.addTable(table, node);
        // Add side-input streams (if any)
        if (table instanceof LocalTableDescriptor) {
            LocalTableDescriptor localTable = (LocalTableDescriptor) table;
            Iterable<String> sideInputs = ListUtils.emptyIfNull(localTable.getSideInputs());
            for (String sideInput : sideInputs) {
                jobGraph.addSideInputStream(getStreamSpec(sideInput, streamConfig));
            }
        }
    }

    if (!LegacyTaskApplication.class.isAssignableFrom(appDesc.getAppClass())) {
        // skip the validation when input streamIds are empty. This is only possible for LegacyTaskApplication
        jobGraph.validate();
    }

    return jobGraph;
}