01: /*
02: * Copyright (c) JForum Team
03: * All rights reserved.
04: *
05: * Redistribution and use in source and binary forms,
06: * with or without modification, are permitted provided
07: * that the following conditions are met:
08: *
09: * 1) Redistributions of source code must retain the above
10: * copyright notice, this list of conditions and the
11: * following disclaimer.
12: * 2) Redistributions in binary form must reproduce the
13: * above copyright notice, this list of conditions and
14: * the following disclaimer in the documentation and/or
15: * other materials provided with the distribution.
16: * 3) Neither the name of "Rafael Steil" nor
17: * the names of its contributors may be used to endorse
18: * or promote products derived from this software without
19: * specific prior written permission.
20: *
21: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
22: * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
23: * EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
24: * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27: * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
28: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30: * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
32: * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33: * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
34: * IN CONTRACT, STRICT LIABILITY, OR TORT
35: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36: * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
37: * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
38: *
39: * Created on 16/11/2005 18:50:18
40: * The JForum Project
41: * http://www.jforum.net
42: */
43: package net.jforum.view.install;
44:
45: import java.io.BufferedReader;
46: import java.io.FileReader;
47: import java.io.IOException;
48: import java.util.ArrayList;
49: import java.util.List;
50:
51: /**
52: * @author Rafael Steil
53: * @version $Id: ParseDBDumpFile.java,v 1.6 2007/10/08 17:34:40 rafaelsteil Exp $
54: */
55: public class ParseDBDumpFile {
56: public static List parse(String filename) throws IOException {
57: List statements = new ArrayList();
58:
59: BufferedReader reader = null;
60:
61: try {
62: reader = new BufferedReader(new FileReader(filename));
63: String line = null;
64:
65: while ((line = reader.readLine()) != null) {
66: line = line.trim();
67:
68: if (line.length() == 0) {
69: continue;
70: }
71:
72: char firstChar = line.charAt(0);
73:
74: if (firstChar == '-' || firstChar == '#') {
75: continue;
76: }
77:
78: if (line.charAt(line.length() - 1) == ';') {
79: line = line.substring(0, line.length() - 1);
80: }
81:
82: statements.add(line);
83: }
84: } finally {
85: if (reader != null) {
86: try {
87: reader.close();
88: } catch (Exception e) {
89: }
90: }
91: }
92:
93: return statements;
94: }
95: }
|