01: /*
02: * Copyright (c) 2004-2005, Hewlett-Packard Company and Massachusetts
03: * Institute of Technology. All rights reserved.
04: *
05: * Redistribution and use in source and binary forms, with or without
06: * modification, are permitted provided that the following conditions are
07: * met:
08: *
09: * - Redistributions of source code must retain the above copyright
10: * notice, this list of conditions and the following disclaimer.
11: *
12: * - Redistributions in binary form must reproduce the above copyright
13: * notice, this list of conditions and the following disclaimer in the
14: * documentation and/or other materials provided with the distribution.
15: *
16: * - Neither the name of the Hewlett-Packard Company nor the name of the
17: * Massachusetts Institute of Technology nor the names of their
18: * contributors may be used to endorse or promote products derived from
19: * this software without specific prior written permission.
20: *
21: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22: * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25: * HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27: * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
28: * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
29: * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
30: * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
31: * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
32: * DAMAGE.
33: */
34: package org.dspace.checker;
35:
36: import java.io.IOException;
37: import java.io.InputStream;
38: import java.sql.SQLException;
39:
40: import org.dspace.core.Context;
41: import org.dspace.storage.bitstore.BitstreamStorageManager;
42:
43: /**
44: * <p>
45: * Data Access Object for Bitstreams.
46: * </p>
47: *
48: * @author Jim Downing
49: * @author Grace Carpenter
50: * @author Nathan Sarr
51: *
52: */
53: public class BitstreamDAO {
54: /**
55: * Default Constructor
56: */
57: public BitstreamDAO() {
58: ;
59: }
60:
61: /**
62: * Retrieves the bitstream from the bitstore.
63: *
64: * @param id
65: * the bitstream id.
66: *
67: * @return Bitstream as an InputStream
68: *
69: * @throws IOException
70: * Rethrown from BitstreamStorageManager
71: * @throws SQLException
72: * Rethrown from BitstreamStorageManager
73: *
74: * @see org.dspace.storage.bitstore.BitstreamStorageManager#retrieve(Context,
75: * int)
76: */
77: public InputStream getBitstream(int id) throws IOException,
78: SQLException {
79:
80: Context context = null;
81: InputStream is = null;
82: try {
83: context = new Context();
84: is = BitstreamStorageManager.retrieve(context, id);
85: } finally {
86: context.abort();
87: }
88:
89: return is;
90: }
91: }
|