public static byte[] decodeB64IfNeeded(final byte[] src) { Preconditions.checkNotNull(src, "src bytes cannot be null"); if (src.length <= 0) { return EMPTY_BYTES; } final byte last = src[src.length - 1]; return (0 == last || '}' == last) ? src : StringUtils.decodeBase64(src); }
public static ArrayOfDoublesSketch deserializeFromBase64EncodedString(final String str) { return deserializeFromByteArray(StringUtils.decodeBase64(str.getBytes(StandardCharsets.UTF_8))); }
public static DoublesSketch deserializeFromBase64EncodedString(final String str) { return deserializeFromByteArray(StringUtils.decodeBase64(str.getBytes(StandardCharsets.UTF_8))); }
/** * Deserialize a Base64-encoded histogram, used when deserializing from JSON (such as when transferring query results) * or when ingesting a pre-computed histogram. * * @param encodedHistogram Base64-encoded histogram * @return Deserialized object */ public static FixedBucketsHistogram fromBase64(String encodedHistogram) { byte[] asBytes = StringUtils.decodeBase64(encodedHistogram.getBytes(StandardCharsets.UTF_8)); return fromBytes(asBytes); }
@Override public Object deserialize(Object object) { final ByteBuffer buffer; if (object instanceof byte[]) { buffer = ByteBuffer.wrap((byte[]) object); } else if (object instanceof ByteBuffer) { // Be conservative, don't assume we own this buffer. buffer = ((ByteBuffer) object).duplicate(); } else if (object instanceof String) { buffer = ByteBuffer.wrap(StringUtils.decodeBase64(StringUtils.toUtf8((String) object))); } else { return object; } return HyperLogLogCollector.makeCollector(buffer); }
@Override public Object deserialize(Object object) { final ByteBuffer buffer; if (object instanceof byte[]) { buffer = ByteBuffer.wrap((byte[]) object); } else if (object instanceof ByteBuffer) { // Be conservative, don't assume we own this buffer. buffer = ((ByteBuffer) object).duplicate(); } else if (object instanceof String) { buffer = ByteBuffer.wrap(StringUtils.decodeBase64(StringUtils.toUtf8((String) object))); } else { return object; } return HyperLogLogCollector.makeCollector(buffer); }
@Override public Object deserialize(Object object) { if (object instanceof String) { byte[] bytes = StringUtils.decodeBase64(StringUtils.toUtf8((String) object)); final FixedBucketsHistogram fbh = FixedBucketsHistogram.fromBytes(bytes); return fbh; } else { return object; } }
private static Sketch deserializeFromBase64EncodedString(String str) { return deserializeFromByteArray(StringUtils.decodeBase64(StringUtils.toUtf8(str))); }
static HllSketch deserializeSketch(final Object object) { if (object instanceof String) { return HllSketch.wrap(Memory.wrap(StringUtils.decodeBase64(((String) object).getBytes(StandardCharsets.UTF_8)))); } else if (object instanceof byte[]) { return HllSketch.wrap(Memory.wrap((byte[]) object)); } else if (object instanceof HllSketch) { return (HllSketch) object; } throw new IAE("Object is not of a type that can be deserialized to an HllSketch:" + object.getClass().getName()); }
@Override public Object deserialize(Object object) { if (object instanceof byte[]) { return VarianceAggregatorCollector.from(ByteBuffer.wrap((byte[]) object)); } else if (object instanceof ByteBuffer) { return VarianceAggregatorCollector.from((ByteBuffer) object); } else if (object instanceof String) { return VarianceAggregatorCollector.from( ByteBuffer.wrap(StringUtils.decodeBase64(StringUtils.toUtf8((String) object))) ); } return object; }
@Override public Object deserialize(Object object) { if (object instanceof byte[]) { return Histogram.fromBytes((byte[]) object); } else if (object instanceof ByteBuffer) { return Histogram.fromBytes((ByteBuffer) object); } else if (object instanceof String) { byte[] bytes = StringUtils.decodeBase64(StringUtils.toUtf8((String) object)); return Histogram.fromBytes(bytes); } return object; }
@Override public Object deserialize(Object object) { if (object instanceof byte[]) { final ApproximateHistogram ah = ApproximateHistogram.fromBytes((byte[]) object); ah.setLowerLimit(lowerLimit); ah.setUpperLimit(upperLimit); return ah; } else if (object instanceof ByteBuffer) { final ApproximateHistogram ah = ApproximateHistogram.fromBytes((ByteBuffer) object); ah.setLowerLimit(lowerLimit); ah.setUpperLimit(upperLimit); return ah; } else if (object instanceof String) { byte[] bytes = StringUtils.decodeBase64(StringUtils.toUtf8((String) object)); final ApproximateHistogram ah = ApproximateHistogram.fromBytes(bytes); ah.setLowerLimit(lowerLimit); ah.setUpperLimit(upperLimit); return ah; } else { return object; } }