EMMA Coverage Report (generated Sat Nov 03 21:53:04 GMT 2007)
[all classes][sf.qof.adapter]

COVERAGE SUMMARY FOR SOURCE FILE [BlobReader.java]

nameclass, %method, %block, %line, %
BlobReader.java100% (1/1)50%  (1/2)78%  (32/41)73%  (8/11)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class BlobReader100% (1/1)50%  (1/2)78%  (32/41)73%  (8/11)
BlobReader (): void 0%   (0/1)0%   (0/3)0%   (0/1)
readBlob (Blob): byte [] 100% (1/1)84%  (32/38)80%  (8/10)

1/*
2 * Copyright 2007 brunella ltd
3 *
4 * Licensed under the LGPL Version 3 (the "License");
5 * you may not use this file except in compliance with the License.
6 *
7 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
8 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
9 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
10 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
11 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
12 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
13 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
14 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
15 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
16 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
17 * THE POSSIBILITY OF SUCH DAMAGE.
18 */
19package sf.qof.adapter;
20 
21import java.io.BufferedInputStream;
22import java.io.ByteArrayOutputStream;
23import java.io.IOException;
24import java.io.InputStream;
25import java.sql.Blob;
26import java.sql.SQLException;
27 
28/**
29 * BlobReader is a helper class to read data from <code>Blob</code>s to a byte-array.
30 * 
31 * @see java.sql.Blob
32 */
33public class BlobReader {
34 
35  /**
36   * Reads data from a blob.
37   * 
38   * @param blob           the blob
39   * @return               the blob data as string 
40   * @throws SQLException  an error occurred
41   * @see java.sql.Blob
42   */
43  public static byte[] readBlob(Blob blob) throws SQLException {
44    InputStream bis = new BufferedInputStream(blob.getBinaryStream());
45    ByteArrayOutputStream os = new ByteArrayOutputStream();
46    try {
47      for (int n = bis.read(); n != -1; n = bis.read()) {
48        os.write(n);
49      }
50      bis.close();
51      byte[] bytes = os.toByteArray();
52      os.close();
53      return bytes;
54    } catch (IOException e) {
55      throw new RuntimeException(e);
56    }
57  }
58 
59}

[all classes][sf.qof.adapter]
EMMA 2.0.5312 (C) Vladimir Roubtsov