List of usage examples for java.util.zip Inflater end
public void end()
From source file:org.wso2.identity.integration.test.requestPathAuthenticator.RequestPathAuthenticatorTestCase.java
/** * Decoding and deflating the encoded AuthReq * * @param encodedStr encoded AuthReq//from ww w . j av a2 s . c o m * @return decoded AuthReq */ private static String decode(String encodedStr) { try { Base64 base64Decoder = new Base64(); byte[] xmlBytes = encodedStr.getBytes(DEFAULT_CHARSET); byte[] base64DecodedByteArray = base64Decoder.decode(xmlBytes); try { Inflater inflater = new Inflater(true); inflater.setInput(base64DecodedByteArray); byte[] xmlMessageBytes = new byte[5000]; int resultLength = inflater.inflate(xmlMessageBytes); if (!inflater.finished()) { throw new RuntimeException("End of the compressed data stream has NOT been reached"); } inflater.end(); String decodedString = new String(xmlMessageBytes, 0, resultLength, (DEFAULT_CHARSET)); return decodedString; } catch (DataFormatException e) { ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(base64DecodedByteArray); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); InflaterInputStream iis = new InflaterInputStream(byteArrayInputStream); byte[] buf = new byte[1024]; int count = iis.read(buf); while (count != -1) { byteArrayOutputStream.write(buf, 0, count); count = iis.read(buf); } iis.close(); String decodedStr = new String(byteArrayOutputStream.toByteArray(), StandardCharsets.UTF_8); return decodedStr; } } catch (IOException e) { Assert.fail("Error while decoding SAML response"); return ""; } }
From source file:Main.java
public static byte[] zipDecompress(byte[] input) throws IOException { Inflater inflator = new Inflater(); inflator.setInput(input);/* ww w .j a va 2s. c o m*/ ByteArrayOutputStream bos = new ByteArrayOutputStream(input.length); byte[] buf = new byte[1024]; try { while (true) { int count = inflator.inflate(buf); if (count > 0) { bos.write(buf, 0, count); } else if (count == 0 && inflator.finished()) { break; } else { throw new RuntimeException("bad zip data, size:" + input.length); } } } catch (DataFormatException t) { throw new RuntimeException(t); } finally { inflator.end(); } return bos.toByteArray(); }
From source file:r.base.Connections.java
public static byte[] decompress1(byte buffer[]) throws IOException, DataFormatException { DataInputStream in = new DataInputStream(new ByteArrayInputStream(buffer)); int outLength = in.readInt(); Inflater inflater = new Inflater(); inflater.setInput(buffer, 4, buffer.length - 4); byte[] result = new byte[outLength]; inflater.inflate(result);// w w w .j a va 2 s. co m inflater.end(); return result; }
From source file:org.wso2.carbon.identity.authenticator.saml2.sso.ui.Util.java
/** * Decoding and deflating the encoded AuthReq * * @param encodedStr encoded AuthReq/*from w ww .j a va 2s.co m*/ * @return decoded AuthReq */ public static String decode(String encodedStr) throws SAML2SSOUIAuthenticatorException { try { org.apache.commons.codec.binary.Base64 base64Decoder = new org.apache.commons.codec.binary.Base64(); byte[] xmlBytes = encodedStr.getBytes("UTF-8"); byte[] base64DecodedByteArray = base64Decoder.decode(xmlBytes); try { Inflater inflater = new Inflater(true); inflater.setInput(base64DecodedByteArray); byte[] xmlMessageBytes = new byte[5000]; int resultLength = inflater.inflate(xmlMessageBytes); if (inflater.getRemaining() > 0) { throw new RuntimeException("didn't allocate enough space to hold " + "decompressed data"); } inflater.end(); return new String(xmlMessageBytes, 0, resultLength, "UTF-8"); } catch (DataFormatException e) { ByteArrayInputStream bais = new ByteArrayInputStream(base64DecodedByteArray); ByteArrayOutputStream baos = new ByteArrayOutputStream(); InflaterInputStream iis = new InflaterInputStream(bais); byte[] buf = new byte[1024]; int count = iis.read(buf); while (count != -1) { baos.write(buf, 0, count); count = iis.read(buf); } iis.close(); String decodedStr = new String(baos.toByteArray()); return decodedStr; } } catch (IOException e) { throw new SAML2SSOUIAuthenticatorException("Error when decoding the SAML Request.", e); } }
From source file:org.ow2.proactive.utils.ObjectByteConverter.java
/** * Convert the given byte array into the corresponding object. * <p>/*from w ww . j a v a2 s.co m*/ * The given byteArray can be uncompressed if it has been compressed before. * * @param input the byteArray to be convert as an object. * @param uncompress true if the given byteArray must be also uncompressed, false if no compression was made on it. * @return the object corresponding to the given byteArray. * @throws IOException if an I/O exception occurs when writing the returned object * @throws ClassNotFoundException if class represented by given byteArray is not found. */ public static Object byteArrayToObject(byte[] input, boolean uncompress) throws IOException, ClassNotFoundException { if (input == null) { return null; } if (uncompress) { // Uncompress the bytes Inflater decompressor = new Inflater(); decompressor.setInput(input); ByteArrayOutputStream bos = null; try { // Create an expandable byte array to hold the compressed data. bos = new ByteArrayOutputStream(); // Compress the data byte[] buf = new byte[512]; while (!decompressor.finished()) { int count = decompressor.inflate(buf); bos.write(buf, 0, count); } decompressor.end(); // set the UNCOMPRESSED data input = bos.toByteArray(); } catch (DataFormatException dfe) { //convert into io exception to fit previous behavior throw new IOException("Compressed data format is invalid : " + dfe.getMessage(), dfe); } finally { if (bos != null) { bos.close(); } } } //here, input byteArray is uncompressed if needed ByteArrayInputStream bais = null; ObjectInputStream ois = null; try { bais = new ByteArrayInputStream(input); ois = new ObjectInputStream(bais); return ois.readObject(); } finally { if (ois != null) { ois.close(); } if (bais != null) { bais.close(); } } }
From source file:org.wso2.identity.integration.test.requestPathAuthenticator.SAMLWithRequestPathAuthenticationTest.java
/** * Decoding and deflating the encoded AuthReq * * @param encodedStr encoded AuthReq// w w w . j a v a2 s . c om * @return decoded AuthReq */ private static String decode(String encodedStr) { try { Base64 base64Decoder = new Base64(); byte[] xmlBytes = encodedStr.getBytes(DEFAULT_CHARSET); byte[] base64DecodedByteArray = base64Decoder.decode(xmlBytes); try { Inflater inflater = new Inflater(true); inflater.setInput(base64DecodedByteArray); byte[] xmlMessageBytes = new byte[5000]; int resultLength = inflater.inflate(xmlMessageBytes); if (!inflater.finished()) { throw new RuntimeException("End of the compressed data stream has NOT been reached"); } inflater.end(); return new String(xmlMessageBytes, 0, resultLength, (DEFAULT_CHARSET)); } catch (DataFormatException e) { ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(base64DecodedByteArray); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); InflaterInputStream iis = new InflaterInputStream(byteArrayInputStream); byte[] buf = new byte[1024]; int count = iis.read(buf); while (count != -1) { byteArrayOutputStream.write(buf, 0, count); count = iis.read(buf); } iis.close(); return new String(byteArrayOutputStream.toByteArray(), StandardCharsets.UTF_8); } } catch (IOException e) { Assert.fail("Error while decoding SAML response", e); return ""; } }
From source file:org.wso2.carbon.identity.auth.saml2.common.SAML2AuthUtils.java
public static String decodeForRedirect(String encodedStr) throws IdentityRuntimeException { try {// www .java2 s. c o m if (logger.isDebugEnabled()) { logger.debug(" >> encoded string in the SSOUtils/decode : " + encodedStr); } org.apache.commons.codec.binary.Base64 base64Decoder = new org.apache.commons.codec.binary.Base64(); byte[] xmlBytes = encodedStr.getBytes("UTF-8"); byte[] base64DecodedByteArray = base64Decoder.decode(xmlBytes); try { //TODO if the request came in POST, inflating is wrong Inflater inflater = new Inflater(true); inflater.setInput(base64DecodedByteArray); byte[] xmlMessageBytes = new byte[5000]; int resultLength = inflater.inflate(xmlMessageBytes); if (!inflater.finished()) { throw new RuntimeException("End of the compressed data stream has NOT been reached"); } inflater.end(); String decodedString = new String(xmlMessageBytes, 0, resultLength, "UTF-8"); if (logger.isDebugEnabled()) { logger.debug("Request message " + decodedString); } return decodedString; } catch (DataFormatException e) { ByteArrayInputStream bais = new ByteArrayInputStream(base64DecodedByteArray); ByteArrayOutputStream baos = new ByteArrayOutputStream(); InflaterInputStream iis = new InflaterInputStream(bais); byte[] buf = new byte[1024]; int count = iis.read(buf); while (count != -1) { baos.write(buf, 0, count); count = iis.read(buf); } iis.close(); String decodedStr = new String(baos.toByteArray(), Charset.forName("UTF-8")); if (logger.isDebugEnabled()) { logger.debug("Request message " + decodedStr); } return decodedStr; } } catch (IOException e) { throw new IdentityRuntimeException("Error when decoding the SAML Request.", e); } }
From source file:org.wso2.carbon.identity.application.authenticator.samlsso.util.SSOUtils.java
/** * Decoding and deflating the encoded AuthReq * * @param encodedStr encoded AuthReq/*from ww w . jav a 2s . c om*/ * @return decoded AuthReq */ public static String decode(String encodedStr) throws SAMLSSOException { try { if (log.isDebugEnabled()) { log.debug(" >> encoded string in the SSOUtils/decode : " + encodedStr); } org.apache.commons.codec.binary.Base64 base64Decoder = new org.apache.commons.codec.binary.Base64(); byte[] xmlBytes = encodedStr.getBytes("UTF-8"); byte[] base64DecodedByteArray = base64Decoder.decode(xmlBytes); try { //TODO if the request came in POST, inflating is wrong Inflater inflater = new Inflater(true); inflater.setInput(base64DecodedByteArray); byte[] xmlMessageBytes = new byte[5000]; int resultLength = inflater.inflate(xmlMessageBytes); if (inflater.getRemaining() > 0) { throw new RuntimeException("didn't allocate enough space to hold " + "decompressed data"); } inflater.end(); String decodedString = new String(xmlMessageBytes, 0, resultLength, "UTF-8"); if (log.isDebugEnabled()) { log.debug("Request message " + decodedString); } return decodedString; } catch (DataFormatException e) { ByteArrayInputStream bais = new ByteArrayInputStream(base64DecodedByteArray); ByteArrayOutputStream baos = new ByteArrayOutputStream(); InflaterInputStream iis = new InflaterInputStream(bais); byte[] buf = new byte[1024]; int count = iis.read(buf); while (count != -1) { baos.write(buf, 0, count); count = iis.read(buf); } iis.close(); String decodedStr = new String(baos.toByteArray(), Charset.forName("UTF-8")); if (log.isDebugEnabled()) { log.debug("Request message " + decodedStr); } return decodedStr; } } catch (IOException e) { throw new SAMLSSOException("Error when decoding the SAML Request.", e); } }
From source file:Main.java
public static byte[] zlibDecompress(byte[] data, int offset, int length) { byte[] output = null; Inflater decompresser = new Inflater(); decompresser.reset();/*from ww w . jav a2 s . co m*/ try { decompresser.setInput(data, offset, length); } catch (Exception e) { return null; } ByteArrayOutputStream o = new ByteArrayOutputStream(data.length); try { byte[] buf = new byte[1024]; while (!decompresser.finished()) { int i = decompresser.inflate(buf); o.write(buf, 0, i); } output = o.toByteArray(); } catch (Exception e) { output = data; e.printStackTrace(); } finally { try { o.close(); } catch (IOException e) { e.printStackTrace(); } } decompresser.end(); return output; }
From source file:org.wso2.carbon.appfactory.apiManager.integration.utils.Utils.java
public static String decode(String encodedStr) throws AppFactoryException { try {//ww w . j av a 2s. c om org.apache.commons.codec.binary.Base64 base64Decoder = new org.apache.commons.codec.binary.Base64(); byte[] xmlBytes = encodedStr.getBytes("UTF-8"); byte[] base64DecodedByteArray = base64Decoder.decode(xmlBytes); try { Inflater inflater = new Inflater(true); inflater.setInput(base64DecodedByteArray); byte[] xmlMessageBytes = new byte[5000]; int resultLength = inflater.inflate(xmlMessageBytes); if (!inflater.finished()) { throw new RuntimeException("didn't allocate enough space to hold " + "decompressed data"); } inflater.end(); return new String(xmlMessageBytes, 0, resultLength, "UTF-8"); } catch (DataFormatException e) { ByteArrayInputStream bais = new ByteArrayInputStream(base64DecodedByteArray); ByteArrayOutputStream baos = new ByteArrayOutputStream(); InflaterInputStream iis = new InflaterInputStream(bais); byte[] buf = new byte[1024]; int count = iis.read(buf); while (count != -1) { baos.write(buf, 0, count); count = iis.read(buf); } iis.close(); return new String(baos.toByteArray()); } } catch (IOException e) { throw new AppFactoryException("Error when decoding the SAML Request.", e); } }