List of usage examples for org.apache.lucene.analysis.payloads PayloadHelper decodeInt
public static final int decodeInt(byte[] bytes, int offset)
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); } }