/** * Encodes a byte array into Base64 notation. * Does not GZip-compress data. * * @param source The data to convert * @return the encode bytes * @since 1.4 */ public static String encodeBytes(byte[] source) { return encodeBytes(source, 0, source.length, NO_OPTIONS); } // end encodeBytes
/** * Serializes an object and returns the Base64-encoded * version of that serialized object. If the object * cannot be serialized or there is another error, * the method will return <tt>null</tt>. * The object is not GZip-compressed before being encoded. * * @param serializableObject The object to encode * @return The Base64-encoded object * @since 1.4 */ public static String encodeObject(java.io.Serializable serializableObject) { return encodeObject(serializableObject, NO_OPTIONS); } // end encodeObject
private void initializeServerPrincipal() { String encodedServerPrincipal = System.getProperty("server.principal"); if (encodedServerPrincipal == null) throw new IllegalStateException("System property server.principal must be set to a serialized, gzip'd, base64 encoded principal."); serverPrincipal = (DatawavePrincipal) Base64.decodeToObject(encodedServerPrincipal); } }
public static Query deserializeQuery(String base64EncodedQuery, Class<? extends Query> queryImplClass) throws JAXBException { String query = new String(Base64.decode(base64EncodedQuery)); JAXBContext ctx = JAXBContext.newInstance(queryImplClass); Unmarshaller u = ctx.createUnmarshaller(); return (Query) u.unmarshal(new StringReader(query)); }
/** * Encodes up to the first three bytes of array <var>threeBytes</var> * and returns a four-byte array in Base64 notation. * The actual number of significant bytes in your array is * given by <var>numSigBytes</var>. * The array <var>threeBytes</var> needs only be as big as * <var>numSigBytes</var>. * Code can reuse a byte array by passing a four-byte array as <var>b4</var>. * * @param b4 A reusable byte array to reduce array instantiation * @param threeBytes the array to convert * @param numSigBytes the number of significant bytes in your array * @return four byte array in Base64 notation. * @since 1.5.1 */ private static byte[] encode3to4(byte[] b4, byte[] threeBytes, int numSigBytes) { encode3to4(threeBytes, 0, numSigBytes, b4, 0); return b4; } // end encode3to4
b4[b4Posn++] = sbiCrop; if (b4Posn > 3) { outBuffPosn += decode4to3(b4, 0, outBuff, outBuffPosn); b4Posn = 0;
bytes = decode(bytes, 0, bytes.length);
int lineLength = 0; for (; d < len2; d += 3, e += 4) { encode3to4(source, d + off, 3, outBuff, e); encode3to4(source, d + off, len - d, outBuff, e); e += 4;
byte[] objBytes = decode(encodedObject);
/** * Encodes a byte array into Base64 notation. * Does not GZip-compress data. * * @param source The data to convert * @param off Offset in array where conversion should begin * @param len Length of data to convert * @return the text node * @since 1.4 */ public static String encodeBytes(byte[] source, int off, int len) { return encodeBytes(source, off, len, NO_OPTIONS); } // end encodeBytes
private String encodeServerPrincipal(DatawavePrincipal serverPrincipal) throws IOException { return Base64.encodeObject(serverPrincipal, Base64.GZIP | Base64.DONT_BREAK_LINES); }
c.setContents(Base64.decode(new String(value.get()))); } catch (IllegalStateException e) {
/** * Encodes a byte array into Base64 notation. * <p> * Valid options:<pre> * GZIP: gzip-compresses object before encoding it. * DONT_BREAK_LINES: don't break lines at 76 characters * <i>Note: Technically, this makes your encoding non-compliant.</i> * </pre> * <p> * Example: <code>encodeBytes( myData, Base64.GZIP )</code> or * <p> * Example: <code>encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )</code> * * * @param source The data to convert * @param options Specified options * @return the encoded bytes * @see Base64#GZIP * @see Base64#DONT_BREAK_LINES * @since 2.0 */ public static String encodeBytes(byte[] source, int options) { return encodeBytes(source, 0, source.length, options); } // end encodeBytes
public static String serializeQuery(Query q) throws JAXBException { StringWriter writer = new StringWriter(); JAXBContext ctx = JAXBContext.newInstance(q.getClass()); Marshaller m = ctx.createMarshaller(); m.marshal(q, writer); // Probably need to base64 encode it so that it will not mess up the Hadoop Configuration object return Base64.encodeBytes(writer.toString().getBytes()); }