Example usage for com.mongodb.client.model TextSearchOptions getLanguage

List of usage examples for com.mongodb.client.model TextSearchOptions getLanguage

Introduction

In this page you can find the example usage for com.mongodb.client.model TextSearchOptions getLanguage.

Prototype

@Nullable
public String getLanguage() 

Source Link

Document

Returns the language to be used with the text search

Usage

From source file:com.navercorp.pinpoint.plugin.mongo.WriteContext.java

License:Apache License

private void parseFilterObject(Object arg) {

    String argName = arg.getClass().getName();
    logger.debug("filter arg : " + arg.getClass().getName());

    //OperatorFilter
    if (argName.equals(MongoConstants.MONGO_FILTER_GEOMETRYOPERATOR)) {
        logger.debug("writing GeometryOperatorFilter");

        bsonWriter.writeStartDocument();
        bsonWriter.writeName(((FieldNameGetter) arg)._$PINPOINT$_getFieldName());
        bsonWriter.writeStartDocument();
        bsonWriter.writeName(((OperatorNameGetter) arg)._$PINPOINT$_getOperatorName());
        bsonWriter.writeStartDocument();
        bsonWriter.writeName("$geometry");

        writeValue(((GeometryGetter) arg)._$PINPOINT$_getGeometry());

        if (((MaxDistanceGetter) arg)._$PINPOINT$_getMaxDistance() != null) {
            bsonWriter.writeDouble("$maxDistance", ((MaxDistanceGetter) arg)._$PINPOINT$_getMaxDistance());
        }/* w w w.  j a va2s. c om*/

        if (((MinDistanceGetter) arg)._$PINPOINT$_getMinDistance() != null) {
            bsonWriter.writeDouble("$minDistance", ((MinDistanceGetter) arg)._$PINPOINT$_getMinDistance());
        }

        bsonWriter.writeEndDocument();
        bsonWriter.writeEndDocument();
        bsonWriter.writeEndDocument();
    }
    //OperatorFilter
    if (argName.equals(MongoConstants.MONGO_FILTER_OPERATOR)) {
        logger.debug("writing OperatorFilter");

        bsonWriter.writeStartDocument();
        bsonWriter.writeName(((FieldNameGetter) arg)._$PINPOINT$_getFieldName());
        bsonWriter.writeStartDocument();
        bsonWriter.writeName(((OperatorNameGetter) arg)._$PINPOINT$_getOperatorName());
        writeValue(((ValueGetter) arg)._$PINPOINT$_getValue());
        bsonWriter.writeEndDocument();
        bsonWriter.writeEndDocument();
    }
    //IterableOperatorFilter
    else if (argName.equals(MongoConstants.MONGO_FILTER_ITERABLEOPERATOR)) {
        logger.debug("writing IterableOperatorFilter");

        if (arg instanceof FieldNameGetter) {
            bsonWriter.writeStartDocument();
            bsonWriter.writeName(((FieldNameGetter) arg)._$PINPOINT$_getFieldName());
        }

        bsonWriter.writeStartDocument();
        bsonWriter.writeName(((OperatorNameGetter) arg)._$PINPOINT$_getOperatorName());

        writeValue(((IterableValuesGetter) arg)._$PINPOINT$_getValues());

        bsonWriter.writeEndDocument();

        if (arg instanceof FieldNameGetter) {
            bsonWriter.writeEndDocument();
        }
    }
    //SimpleEncodingFilter
    else if (argName.equals(MongoConstants.MONGO_FILTER_SIMPLEENCODING)) {
        //else if (arg instanceof FieldNameGetter && arg instanceof ValueGetter) {

        logger.debug("writing SimpleEncodingFilter");

        bsonWriter.writeStartDocument();
        bsonWriter.writeName(((FieldNameGetter) arg)._$PINPOINT$_getFieldName());
        writeValue(((ValueGetter) arg)._$PINPOINT$_getValue());
        bsonWriter.writeEndDocument();
    }

    //SimpleFilter
    else if (argName.equals(MongoConstants.MONGO_FILTER_SIMPLE)) {

        logger.debug("writing SimpleFilter");

        bsonWriter.writeStartDocument();
        bsonWriter.writeName(((FieldNameGetter) arg)._$PINPOINT$_getFieldName());
        writeValue(((BsonValueGetter) arg)._$PINPOINT$_getValue());
        bsonWriter.writeEndDocument();
    }

    //AndFilter
    else if (argName.equals(MongoConstants.MONGO_FILTER_AND)) {
        logger.debug("writing AndFilter");

        bsonWriter.writeStartDocument();

        bsonWriter.writeName("$and");
        bsonWriter.writeStartArray();
        for (Bson bsonFilter : ((FiltersGetter) arg)._$PINPOINT$_getFilters()) {
            logger.debug("writing filters");
            writeValue(bsonFilter);
        }
        bsonWriter.writeEndArray();
        bsonWriter.writeEndDocument();
    }

    //NotFilter
    else if (argName.equals(MongoConstants.MONGO_FILTER_NOT)) {
        logger.debug("writing NotFilter");

        bsonWriter.writeStartDocument();

        bsonWriter.writeName("$not");
        writeValue(((FilterGetter) arg)._$PINPOINT$_getFilter());
        bsonWriter.writeEndDocument();
    }

    //TextFilter
    else if (argName.equals(MongoConstants.MONGO_FILTER_TEXT)) {
        logger.debug("writing TextFilter");

        bsonWriter.writeStartDocument();
        bsonWriter.writeName("$text");
        bsonWriter.writeStartDocument();
        bsonWriter.writeName("$search");
        writeValue(((SearchGetter) arg)._$PINPOINT$_getSearch());

        TextSearchOptions textSearchOptions = ((TextSearchOptionsGetter) arg)
                ._$PINPOINT$_getTextSearchOptions();
        if (textSearchOptions.getLanguage() != null) {
            bsonWriter.writeName("$language");
            writeValue(textSearchOptions.getLanguage());
        }
        if (textSearchOptions.getCaseSensitive() != null) {
            bsonWriter.writeName("$caseSensitive");
            writeValue(textSearchOptions.getCaseSensitive());
        }
        if (textSearchOptions.getDiacriticSensitive() != null) {
            bsonWriter.writeName("$diacriticSensitive");
            writeValue(textSearchOptions.getDiacriticSensitive());
        }

        bsonWriter.writeEndDocument();
        bsonWriter.writeEndDocument();
    }

    //OrNorFilter
    else if (argName.equals(MongoConstants.MONGO_FILTER_ORNOR)) {
        logger.debug("writing OrNorFilter");
        String input = setInput(arg);

        bsonWriter.writeStartDocument();
        bsonWriter.writeName(input);
        bsonWriter.writeStartArray();
        for (Bson bsonFilter : ((FiltersGetter) arg)._$PINPOINT$_getFilters()) {
            writeValue(bsonFilter);
        }
        bsonWriter.writeEndArray();
        bsonWriter.writeEndDocument();
    }
}