Example usage for org.apache.lucene.analysis.payloads PayloadHelper decodeInt

List of usage examples for org.apache.lucene.analysis.payloads PayloadHelper decodeInt

Introduction

In this page you can find the example usage for org.apache.lucene.analysis.payloads PayloadHelper decodeInt.

Prototype

public static final int decodeInt(byte[] bytes, int offset) 

Source Link

Usage

From source file:at.ac.univie.mminf.luceneSKOS.index.SKOSTypePayload.java

License:Apache License

public static SKOSTypeAttribute getSKOSTypeAttribute(byte[] bytes) {
    int payload = PayloadHelper.decodeInt(bytes, 0);
    SKOSType skosType = SKOSType.fromInteger(payload);

    if (skosType == null) {
        return null;
    }/* w  w w.j  a  v a 2 s.co m*/

    return new SKOSTypeAttributeImpl(skosType);
}

From source file:edu.cmu.lti.oaqa.annographix.solr.AnnotEncoderVer3.java

License:Apache License

/**
 *  Decodes payload data.//from   w  ww .j  a v a2  s.  com
 *  
 *  @param buffer   A buffer that stores encoded payload data.
 *  @param res      A reusable result variable, which is used 
 *                  to prevent unnecessary memory allocations.
 */
public static void decode(BytesRef buffer, ElemInfoData res /* reuse this variable */) {
    byte[] bytes = buffer.bytes;
    int offset = buffer.offset;
    res.mStartOffset = PayloadHelper.decodeInt(bytes, offset);
    offset += 4;
    res.mEndOffset = PayloadHelper.decodeInt(bytes, offset);
    offset += 4;
    res.mId = PayloadHelper.decodeInt(bytes, offset);
    offset += 4;
    res.mParentId = PayloadHelper.decodeInt(bytes, offset);
}

From source file:org.apache.solr.util.PayloadUtils.java

License:Apache License

public static PayloadDecoder getPayloadDecoder(FieldType fieldType) {
    PayloadDecoder decoder = null;/*from   w w  w.  j  ava2  s .co  m*/

    String encoder = getPayloadEncoder(fieldType);

    if ("integer".equals(encoder)) {
        decoder = (int doc, int start, int end, BytesRef payload) -> PayloadHelper.decodeInt(payload.bytes,
                payload.offset);
    }
    if ("float".equals(encoder)) {
        decoder = (int doc, int start, int end, BytesRef payload) -> PayloadHelper.decodeFloat(payload.bytes,
                payload.offset);
    }
    // encoder could be "identity" at this point, in the case of DelimitedTokenFilterFactory encoder="identity"

    // TODO: support pluggable payload decoders?

    return decoder;
}

From source file:org.elasticsearch.action.termvector.GetTermVectorTests.java

License:Apache License

private String createString(String[] tokens, Map<String, List<BytesRef>> payloads, int encoding,
        char delimiter) {
    String resultString = "";
    ObjectIntOpenHashMap<String> payloadCounter = new ObjectIntOpenHashMap<String>();
    for (String token : tokens) {
        if (!payloadCounter.containsKey(token)) {
            payloadCounter.putIfAbsent(token, 0);
        } else {//from ww w .  ja  va2 s . co  m
            payloadCounter.put(token, payloadCounter.get(token) + 1);
        }
        resultString = resultString + token;
        BytesRef payload = payloads.get(token).get(payloadCounter.get(token));
        if (payload.length > 0) {
            resultString = resultString + delimiter;
            switch (encoding) {
            case 0: {
                resultString = resultString
                        + Float.toString(PayloadHelper.decodeFloat(payload.bytes, payload.offset));
                break;
            }
            case 1: {
                resultString = resultString
                        + Integer.toString(PayloadHelper.decodeInt(payload.bytes, payload.offset));
                break;
            }
            case 2: {
                resultString = resultString + payload.utf8ToString();
                break;
            }
            default: {
                throw new ElasticsearchException("unsupported encoding type");
            }
            }
        }
        resultString = resultString + " ";
    }
    return resultString;
}

From source file:org.elasticsearch.action.termvectors.GetTermVectorsIT.java

License:Apache License

private String createString(String[] tokens, Map<String, List<BytesRef>> payloads, int encoding,
        char delimiter) {
    String resultString = "";
    ObjectIntHashMap<String> payloadCounter = new ObjectIntHashMap<>();
    for (String token : tokens) {
        if (!payloadCounter.containsKey(token)) {
            payloadCounter.putIfAbsent(token, 0);
        } else {/*from w w w  .j av  a 2  s  . com*/
            payloadCounter.put(token, payloadCounter.get(token) + 1);
        }
        resultString = resultString + token;
        BytesRef payload = payloads.get(token).get(payloadCounter.get(token));
        if (payload.length > 0) {
            resultString = resultString + delimiter;
            switch (encoding) {
            case 0: {
                resultString = resultString
                        + Float.toString(PayloadHelper.decodeFloat(payload.bytes, payload.offset));
                break;
            }
            case 1: {
                resultString = resultString
                        + Integer.toString(PayloadHelper.decodeInt(payload.bytes, payload.offset));
                break;
            }
            case 2: {
                resultString = resultString + payload.utf8ToString();
                break;
            }
            default: {
                throw new ElasticsearchException("unsupported encoding type");
            }
            }
        }
        resultString = resultString + " ";
    }
    return resultString;
}

From source file:org.elasticsearch.action.termvectors.GetTermVectorsTests.java

License:Apache License

private String createString(String[] tokens, Map<String, List<BytesRef>> payloads, int encoding,
        char delimiter) {
    String resultString = "";
    ObjectIntOpenHashMap<String> payloadCounter = new ObjectIntOpenHashMap<>();
    for (String token : tokens) {
        if (!payloadCounter.containsKey(token)) {
            payloadCounter.putIfAbsent(token, 0);
        } else {//  ww  w .  ja va  2s .c o m
            payloadCounter.put(token, payloadCounter.get(token) + 1);
        }
        resultString = resultString + token;
        BytesRef payload = payloads.get(token).get(payloadCounter.get(token));
        if (payload.length > 0) {
            resultString = resultString + delimiter;
            switch (encoding) {
            case 0: {
                resultString = resultString
                        + Float.toString(PayloadHelper.decodeFloat(payload.bytes, payload.offset));
                break;
            }
            case 1: {
                resultString = resultString
                        + Integer.toString(PayloadHelper.decodeInt(payload.bytes, payload.offset));
                break;
            }
            case 2: {
                resultString = resultString + payload.utf8ToString();
                break;
            }
            default: {
                throw new ElasticsearchException("unsupported encoding type");
            }
            }
        }
        resultString = resultString + " ";
    }
    return resultString;
}

From source file:org.elasticsearch.search.lookup.TermPosition.java

License:Apache License

public int payloadAsInt(int defaultMissing) {
    if (payload != null && payload.length != 0) {
        return PayloadHelper.decodeInt(payload.bytes, payload.offset);
    } else {/*from  ww  w  .j  a va  2  s .  c  o m*/
        return defaultMissing;
    }
}

From source file:org.eu.bitzone.Leia.java

License:Apache License

public void _showData(final Object dialog) {
    final Object fDataText = find(dialog, "fDataText");
    final Field f = (Field) getProperty(dialog, "f");
    String value = null;/*from  ww  w . j  av a2s  .c o m*/
    String enc = "cbUtf";
    final Object choice = getSelectedItem(find(dialog, "cbData"));
    final String selEnc = getString(choice, "name");
    boolean warn = false;
    if (selEnc != null) {
        enc = selEnc;
    }
    int len = 0;
    byte[] data = null;
    if (f.binaryValue() != null) {
        final BytesRef bytes = f.binaryValue();
        data = new byte[bytes.length];
        System.arraycopy(bytes.bytes, bytes.offset, data, 0, bytes.length);
    } else if (f.stringValue() != null) {
        try {
            data = f.stringValue().getBytes("UTF-8");
        } catch (final UnsupportedEncodingException uee) {
            warn = true;
            uee.printStackTrace();
            data = f.stringValue().getBytes();
        }
    }
    if (data == null) {
        data = new byte[0];
    }
    if (enc.equals("cbHex")) {
        setString(find(dialog, "unit"), "text", " bytes");
        value = Util.bytesToHex(data, 0, data.length, true);
        len = data.length;
    } else if (enc.equals("cbUtf")) {
        setString(find(dialog, "unit"), "text", " UTF-8 characters");
        value = f.stringValue();
        if (value != null) {
            len = value.length();
        }
    } else if (enc.equals("cbDef")) {
        setString(find(dialog, "unit"), "text", " characters");
        value = new String(data);
        len = value.length();
    } else if (enc.equals("cbDate")) {
        try {
            final Date d = DateTools.stringToDate(f.stringValue());
            value = d.toString();
            len = 1;
        } catch (final Exception e) {
            warn = true;
            value = Util.bytesToHex(data, 0, data.length, true);
        }
    } else if (enc.equals("cbLong")) {
        try {
            final long num = NumericUtils.prefixCodedToLong(new BytesRef(f.stringValue()));
            value = String.valueOf(num);
            len = 1;
        } catch (final Exception e) {
            warn = true;
            value = Util.bytesToHex(data, 0, data.length, true);
        }
    } else if (enc.equals("cbNum")) {
        if (f.numericValue() != null) {
            value = f.numericValue().toString() + " (" + f.numericValue().getClass().getSimpleName() + ")";
        } else {
            warn = true;
            value = Util.bytesToHex(data, 0, data.length, true);
        }
    } else if (enc.equals("cbInt")) {
        if (data.length % 4 == 0) {
            setString(find(dialog, "unit"), "text", " int values");
            len = data.length / 4;
            final StringBuilder sb = new StringBuilder();
            for (int k = 0; k < data.length; k += 4) {
                if (k > 0) {
                    sb.append(',');
                }
                sb.append(String.valueOf(PayloadHelper.decodeInt(data, k)));
            }
            value = sb.toString();
        } else {
            warn = true;
            value = Util.bytesToHex(data, 0, data.length, true);
        }
    } else if (enc.equals("cbFloat")) {
        if (data.length % 4 == 0) {
            setString(find(dialog, "unit"), "text", " float values");
            len = data.length / 4;
            final StringBuilder sb = new StringBuilder();
            for (int k = 0; k < data.length; k += 4) {
                if (k > 0) {
                    sb.append(',');
                }
                sb.append(String.valueOf(PayloadHelper.decodeFloat(data, k)));
            }
            value = sb.toString();
        } else {
            warn = true;
            value = Util.bytesToHex(data, 0, data.length, true);
        }
    }
    setString(fDataText, "text", value);
    setString(find(dialog, "len"), "text", String.valueOf(len));
    if (warn) {
        setBoolean(fDataText, "enabled", false);
        errorMsg(MSG_CONV_ERROR);
    } else {
        setBoolean(fDataText, "enabled", true);
    }
}

From source file:org.eu.bitzone.Leia.java

License:Apache License

public void _showPayloads(final Object dialog) {
    final Object cbPay = find(dialog, "cbPay");
    final Object choice = getSelectedItem(cbPay);
    String enc = "cbUtf";
    if (choice != null) {
        enc = getString(choice, "name");
    }//from w  w  w  .  j  a v  a2 s . c  o  m
    final Object pTable = find(dialog, "pTable");
    final Object[] rows = getItems(pTable);
    boolean warn = false;
    for (int i = 0; i < rows.length; i++) {
        final BytesRef payload = (BytesRef) getProperty(rows[i], "payload");
        if (payload == null) {
            continue;
        }
        final Object cell = getItem(rows[i], 2);
        String curEnc = enc;
        if (enc.equals("cbInt") || enc.equals("cbFloat")) {
            if (payload.length % 4 != 0) {
                curEnc = "cbHex";
            }
        }
        String val = "?";
        if (curEnc.equals("cbUtf")) {
            try {
                val = new String(payload.bytes, payload.offset, payload.length, "UTF-8");
            } catch (final Exception e) {
                e.printStackTrace();
                val = new String(payload.bytes, payload.offset, payload.length);
                curEnc = "cbDef";
            }
        } else if (curEnc.equals("cbHex")) {
            val = Util.bytesToHex(payload.bytes, payload.offset, payload.length, false);
        } else if (curEnc.equals("cbDef")) {
            val = new String(payload.bytes, payload.offset, payload.length);
        } else if (curEnc.equals("cbInt")) {
            final StringBuilder sb = new StringBuilder();
            for (int k = payload.offset; k < payload.offset + payload.length; k += 4) {
                if (k > 0) {
                    sb.append(',');
                }
                sb.append(String.valueOf(PayloadHelper.decodeInt(payload.bytes, k)));
            }
            val = sb.toString();
        } else if (curEnc.equals("cbFloat")) {
            final StringBuilder sb = new StringBuilder();
            for (int k = payload.offset; k < payload.offset + payload.length; k += 4) {
                if (k > 0) {
                    sb.append(',');
                }
                sb.append(String.valueOf(PayloadHelper.decodeFloat(payload.bytes, k)));
            }
            val = sb.toString();
        }
        setString(cell, "text", val);
        if (!curEnc.equals(enc)) {
            setBoolean(cell, "enabled", false);
            warn = true;
        } else {
            setBoolean(cell, "enabled", true);
        }
    }
    if (warn) {
        errorMsg(MSG_CONV_ERROR);
    }
}

From source file:org.getopt.luke.Luke.java

License:Apache License

public void _showData(Object dialog) {
    Object fDataText = find(dialog, "fDataText");
    Field f = (Field) getProperty(dialog, "f");
    String value = null;/*from  w w  w.  j  av  a 2  s .  c o  m*/
    String enc = "cbUtf";
    Object choice = getSelectedItem(find(dialog, "cbData"));
    String selEnc = getString(choice, "name");
    boolean warn = false;
    if (selEnc != null)
        enc = selEnc;
    int len = 0;
    byte[] data = null;
    if (f.binaryValue() != null) {
        BytesRef bytes = f.binaryValue();
        data = new byte[bytes.length];
        System.arraycopy(bytes.bytes, bytes.offset, data, 0, bytes.length);
    } else if (f.stringValue() != null) {
        try {
            data = f.stringValue().getBytes("UTF-8");
        } catch (UnsupportedEncodingException uee) {
            warn = true;
            uee.printStackTrace();
            data = f.stringValue().getBytes();
        }
    }
    if (data == null)
        data = new byte[0];
    if (enc.equals("cbHex")) {
        setString(find(dialog, "unit"), "text", " bytes");
        value = Util.bytesToHex(data, 0, data.length, true);
        len = data.length;
    } else if (enc.equals("cbUtf")) {
        setString(find(dialog, "unit"), "text", " UTF-8 characters");
        value = f.stringValue();
        if (value != null)
            len = value.length();
    } else if (enc.equals("cbDef")) {
        setString(find(dialog, "unit"), "text", " characters");
        value = new String(data);
        len = value.length();
    } else if (enc.equals("cbDate")) {
        try {
            Date d = DateTools.stringToDate(f.stringValue());
            value = d.toString();
            len = 1;
        } catch (Exception e) {
            warn = true;
            value = Util.bytesToHex(data, 0, data.length, true);
        }
    } else if (enc.equals("cbLong")) {
        try {
            long num = NumericUtils.prefixCodedToLong(new BytesRef(f.stringValue()));
            value = String.valueOf(num);
            len = 1;
        } catch (Exception e) {
            warn = true;
            value = Util.bytesToHex(data, 0, data.length, true);
        }
    } else if (enc.equals("cbNum")) {
        if (f.numericValue() != null) {
            value = f.numericValue().toString() + " (" + f.numericValue().getClass().getSimpleName() + ")";
        } else {
            warn = true;
            value = Util.bytesToHex(data, 0, data.length, true);
        }
    } else if (enc.equals("cbInt")) {
        if (data.length % 4 == 0) {
            setString(find(dialog, "unit"), "text", " int values");
            len = data.length / 4;
            StringBuilder sb = new StringBuilder();
            for (int k = 0; k < data.length; k += 4) {
                if (k > 0)
                    sb.append(',');
                sb.append(String.valueOf(PayloadHelper.decodeInt(data, k)));
            }
            value = sb.toString();
        } else {
            warn = true;
            value = Util.bytesToHex(data, 0, data.length, true);
        }
    } else if (enc.equals("cbFloat")) {
        if (data.length % 4 == 0) {
            setString(find(dialog, "unit"), "text", " float values");
            len = data.length / 4;
            StringBuilder sb = new StringBuilder();
            for (int k = 0; k < data.length; k += 4) {
                if (k > 0)
                    sb.append(',');
                sb.append(String.valueOf(PayloadHelper.decodeFloat(data, k)));
            }
            value = sb.toString();
        } else {
            warn = true;
            value = Util.bytesToHex(data, 0, data.length, true);
        }
    }
    setString(fDataText, "text", value);
    setString(find(dialog, "len"), "text", String.valueOf(len));
    if (warn) {
        setBoolean(fDataText, "enabled", false);
        errorMsg(MSG_CONV_ERROR);
    } else {
        setBoolean(fDataText, "enabled", true);
    }
}