List of usage examples for com.google.common.io ByteSource wrap
public static ByteSource wrap(byte[] b)
From source file:org.spka.cursus.publish.website.results.ResultsLinksGenerator.java
public ResultsLinksGenerator(FileCache files) throws IOException, ImportException { Map<String, String> resultsReverse = new TreeMap<String, String>(new ResultsPageComparator(true)); Map<String, String> resultsForward = new TreeMap<String, String>(new ResultsPageComparator(false)); for (Map.Entry<String, ByteSource> file : files.entrySet()) { if (file.getKey().startsWith(PREFIX) && file.getKey().endsWith(".xml")) { String fileName = Files.getNameWithoutExtension(file.getKey().substring(PREFIX.length())); ScoresXMLFile scores = new ScoresXMLFile(file.getValue()); String seriesName = createSeriesName(scores.getData().getSeries(), scores.getData().getSeriesResults().getScorer()); if (seriesName != null) { resultsReverse.put(seriesName, fileName); resultsForward.put(seriesName, fileName); }/*w w w. ja v a 2s .c o m*/ } } ByteArrayOutputStream out = new ByteArrayOutputStream(); PrintWriter pw = new PrintWriter(new OutputStreamWriter(out, Charsets.ISO_8859_1)); for (Map.Entry<String, String> result : resultsReverse.entrySet()) { String seriesName = result.getKey(); String fileName = result.getValue(); pw.append("<li>"); pw.append("<a href=\"/results/").append(HTML.escape(URL_PATH.escape(fileName + "s1.xml"))) .append("\">"); pw.append(ENTITY.escape(HTML.escape(seriesName))).append("</a>"); pw.append(" (<a href=\"/results/").append(HTML.escape(URL_PATH.escape(fileName + "a.xml"))) .append("\">print</a>"); pw.append(" | <a href=\"/results/").append(HTML.escape(URL_PATH.escape(fileName + "t.xml"))) .append("#s1\">tabs</a>)"); pw.println("</li>"); } pw.flush(); out.close(); pages.put(Constants.RESULTS_FILE, ByteSource.wrap(out.toByteArray())); out = new ByteArrayOutputStream(); pw = new PrintWriter(new OutputStreamWriter(out, Charsets.UTF_8)); pw.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); pw.println("<div id=\"footer\">"); pw.println("\t<hr/>"); pw.println( "\t<p><a href=\"/\" title=\"Scottish Power Kite Association\"><img src=\"/_images/spkalogo.gif\" alt=\"SPKA\"/><img src=\"/_images/activities.gif\" alt=\"\"/></a></p>"); pw.println("\t<ul class=\"menu\">"); for (Map.Entry<String, String> result : resultsForward.entrySet()) { String seriesName = result.getKey(); String fileName = result.getValue(); pw.append("\t\t<li> <a href=\"").append(XML_ATTRIBUTE.escape(URL_PATH.escape(fileName + "s1.xml"))) .append("\">"); pw.append(ENTITY.escape(XML_CONTENT.escape(seriesName))).append("</a> </li>"); } pw.println("\t</ul>"); pw.println("</div>"); pw.flush(); out.close(); pages.put(Constants.RESULTS_DIR + "/footer.xml", ByteSource.wrap(out.toByteArray())); }
From source file:org.jclouds.azurecompute.suppliers.KeyStoreSupplier.java
@Override public KeyStore get() { Credentials currentCreds = checkNotNull(creds.get(), "credential supplier returned null"); String cert = checkNotNull(currentCreds.identity, "credential supplier returned null identity (should be cert)"); String keyStorePassword = checkNotNull(currentCreds.credential, "credential supplier returned null credential (should be keyStorePassword)"); try {//from w w w. j av a 2 s . c o m KeyStore keyStore = KeyStore.getInstance("PKCS12"); File certFile = new File(checkNotNull(cert)); if (certFile.isFile()) { // cert is path to pkcs12 file FileInputStream stream = new FileInputStream(certFile); try { keyStore.load(stream, keyStorePassword.toCharArray()); } finally { stream.close(); } } else { // cert is PEM encoded, containing private key and certs // split in private key and certs int privateKeyBeginIdx = cert.indexOf("-----BEGIN PRIVATE KEY"); int privateKeyEndIdx = cert.indexOf("-----END PRIVATE KEY"); String pemPrivateKey = cert.substring(privateKeyBeginIdx, privateKeyEndIdx + 26); StringBuilder pemCerts = new StringBuilder(); int certsBeginIdx = 0; do { certsBeginIdx = cert.indexOf("-----BEGIN CERTIFICATE", certsBeginIdx); if (certsBeginIdx >= 0) { int certsEndIdx = cert.indexOf("-----END CERTIFICATE", certsBeginIdx) + 26; pemCerts.append(cert.substring(certsBeginIdx, certsEndIdx)); certsBeginIdx = certsEndIdx; } } while (certsBeginIdx != -1); // parse private key KeySpec keySpec = Pems.privateKeySpec(ByteSource.wrap(pemPrivateKey.getBytes(Charsets.UTF_8))); PrivateKey privateKey = crypto.rsaKeyFactory().generatePrivate(keySpec); // populate keystore with private key and certs CertificateFactory cf = CertificateFactory.getInstance("X.509"); @SuppressWarnings("unchecked") Collection<Certificate> certs = (Collection<Certificate>) cf.generateCertificates( new ByteArrayInputStream(pemCerts.toString().getBytes(Charsets.UTF_8))); keyStore.load(null); keyStore.setKeyEntry("dummy", privateKey, keyStorePassword.toCharArray(), certs.toArray(new java.security.cert.Certificate[0])); } return keyStore; } catch (NoSuchAlgorithmException e) { throw propagate(e); } catch (KeyStoreException e) { throw propagate(e); } catch (CertificateException e) { throw propagate(e); } catch (FileNotFoundException e) { throw propagate(e); } catch (IOException e) { throw propagate(e); } catch (InvalidKeySpecException e) { throw propagate(e); } }
From source file:org.gaul.s3proxy.NullBlobStore.java
@Override public String putBlob(String containerName, Blob blob, PutOptions options) { long length;//w w w . j av a 2s. com try (InputStream is = blob.getPayload().openStream()) { length = ByteStreams.copy(is, ByteStreams.nullOutputStream()); } catch (IOException ioe) { throw new RuntimeException(ioe); } byte[] array = Longs.toByteArray(length); ByteSourcePayload payload = new ByteSourcePayload(ByteSource.wrap(array)); payload.setContentMetadata(blob.getPayload().getContentMetadata()); payload.getContentMetadata().setContentLength((long) array.length); payload.getContentMetadata().setContentMD5((HashCode) null); blob.setPayload(payload); return super.putBlob(containerName, blob, options); }
From source file:org.jclouds.examples.rackspace.cloudfiles.GenerateTempURL.java
private void generatePutTempURL() throws IOException { System.out.format("Generate PUT Temp URL%n"); // Create the Payload String data = "This object will be public for 10 minutes."; ByteSource source = ByteSource.wrap(data.getBytes()); Payload payload = Payloads.newByteSourcePayload(source); // Create the Blob Blob blob = blobStore.blobBuilder(FILENAME).payload(payload).contentType("text/plain").build(); HttpRequest request = blobStoreContext.getSigner(REGION).signPutBlob(CONTAINER, blob, TEN_MINUTES); System.out.format(" %s %s%n", request.getMethod(), request.getEndpoint()); // PUT the file using jclouds HttpResponse response = blobStoreContext.utils().http().invoke(request); int statusCode = response.getStatusCode(); if (statusCode >= 200 && statusCode < 299) { System.out.format(" PUT Success (%s)%n", statusCode); } else {/*w w w . j av a2 s. c o m*/ throw new HttpResponseException(null, response); } }
From source file:org.jclouds.examples.rackspace.cloudfiles.UploadObjectsWithServiceNet.java
/** * Upload an object from a String with metadata using the BlobStore API. *///from ww w . j av a2 s.c om private void uploadObjectFromStringWithMetadata() { System.out.format("Upload Object From String With Metadata%n"); String filename = "uploadObjectFromStringWithMetadata.txt"; Map<String, String> userMetadata = new HashMap<String, String>(); userMetadata.put("key1", "value1"); ByteSource source = ByteSource.wrap("uploadObjectFromString".getBytes()); Blob blob = blobStore.blobBuilder(filename).payload(Payloads.newByteSourcePayload(source)) .userMetadata(userMetadata).build(); blobStore.putBlob(CONTAINER, blob); System.out.format(" %s%n", filename); }
From source file:org.gaul.s3proxy.NullBlobStore.java
@Override public String completeMultipartUpload(final MultipartUpload mpu, final List<MultipartPart> parts) { long length = 0; for (MultipartPart part : parts) { length += part.partSize();//from w ww. ja v a2 s . co m } byte[] array = Longs.toByteArray(length); ByteSourcePayload payload = new ByteSourcePayload(ByteSource.wrap(array)); super.abortMultipartUpload(mpu); MultipartPart part = delegate().uploadMultipartPart(mpu, 1, payload); return delegate().completeMultipartUpload(mpu, ImmutableList.of(part)); }
From source file:org.dcache.chimera.namespace.ExtendedInode.java
public ImmutableList<String> getTag(String tag) { try {//from w w w . ja v a2 s . c om byte[] data = getTags().get(tag); if (data == null || data.length == 0) { return ImmutableList.of(); } return ByteSource.wrap(data).asCharSource(Charsets.UTF_8).readLines(); } catch (IOException e) { throw Throwables.propagate(e); } }
From source file:google.registry.tmch.NordnVerifyAction.java
/** * Fetch LORDN log file from MarksDB to confirm successful upload. * * <p>Idempotency: The confirmation URL will always return the same result once it becomes * available.//from ww w .j a va 2 s. co m * * @throws ConflictException if MarksDB has not yet finished processing the LORDN upload * @see <a href="http://tools.ietf.org/html/draft-lozano-tmch-func-spec-08#section-6.3.1"> * TMCH functional specifications LORDN Log File</a> */ @VisibleForTesting LordnLog verify() throws IOException { if (csvData.isEmpty()) { throw new BadRequestException(String.format("LORDN verify task %s: Missing CSV payload.", actionLogId)); } logger.infofmt("LORDN verify task %s: Sending request to URL %s.", actionLogId, url); HTTPRequest req = new HTTPRequest(url, GET, validateCertificate().setDeadline(60d)); lordnRequestInitializer.initialize(req, tld); HTTPResponse rsp = fetchService.fetch(req); logger.infofmt("LORDN verify task %s response: HTTP response code %d, response data: %s", actionLogId, rsp.getResponseCode(), rsp.getContent()); if (rsp.getResponseCode() == SC_NO_CONTENT) { // Send a 400+ status code so App Engine will retry the task. throw new ConflictException("Not ready"); } if (rsp.getResponseCode() != SC_OK) { throw new UrlFetchException( String.format("LORDN verify task %s: Failed to verify LORDN upload to MarksDB.", actionLogId), req, rsp); } LordnLog log = LordnLog.parse(ByteSource.wrap(rsp.getContent()).asCharSource(UTF_8).readLines()); if (log.getStatus() == LordnLog.Status.ACCEPTED) { logger.infofmt("LORDN verify task %s: Upload accepted", actionLogId); } else { logger.severefmt("LORDN verify task %s: Upload rejected with reason: %s", actionLogId, log); } for (Entry<String, LordnLog.Result> result : log) { switch (result.getValue().getOutcome()) { case OK: break; case WARNING: // fall through case ERROR: logger.warning(result.toString()); break; default: logger.warningfmt("LORDN verify task %s: Unexpected outcome: %s", actionLogId, result.toString()); break; } } return log; }
From source file:org.codice.alliance.video.stream.mpegts.netty.RawUdpDataToMTSPacketDecoder.java
@Override protected void decode(ChannelHandlerContext ctx, DatagramPacket msg, List<Object> outputList) throws Exception { notNull(ctx, "ctx must be non-null"); notNull(msg, "msg must be non-null"); notNull(outputList, "outputList must be non-null"); checkSecuritySubject(msg);// w ww. j a v a 2s.c o m byteBuf.writeBytes(msg.content()); skipToSyncByte(); while (byteBuf.readableBytes() >= TS_PACKET_SIZE) { byte[] payload = new byte[TS_PACKET_SIZE]; byteBuf.readBytes(payload); ResettableMTSSource src = mtsParser.parse(ByteSource.wrap(payload)); MTSPacket packet = null; try { packet = src.nextPacket(); } catch (IOException e) { LOGGER.warn("unable to parse mpegst packet", e); } if (packet != null) { packetBuffer.write(payload); outputList.add(packet); } skipToSyncByte(); } byteBuf.discardReadBytes(); }
From source file:google.registry.tmch.Marksdb.java
List<String> fetchSignedCsv(Optional<String> login, String csvPath, String sigPath) throws IOException, SignatureException, PGPException { byte[] csv = fetch(new URL(tmchMarksdbUrl + csvPath), login); byte[] sig = fetch(new URL(tmchMarksdbUrl + sigPath), login); pgpVerifySignature(csv, sig, marksdbPublicKey); return ByteSource.wrap(csv).asCharSource(US_ASCII).readLines(); }