1 | package org.greenstone.server;
|
---|
2 |
|
---|
3 | import java.io.BufferedReader;
|
---|
4 | import java.io.BufferedWriter;
|
---|
5 | import java.io.File;
|
---|
6 | import java.io.FileReader;
|
---|
7 | import java.io.FileWriter;
|
---|
8 | import java.io.PrintWriter;
|
---|
9 | import java.util.ArrayList;
|
---|
10 | import java.util.StringTokenizer;
|
---|
11 |
|
---|
12 | public class ScriptReadWrite {
|
---|
13 |
|
---|
14 | public ScriptReadWrite() {
|
---|
15 | }
|
---|
16 |
|
---|
17 | public ArrayList readInFile(File file) {
|
---|
18 | try {
|
---|
19 | ArrayList fileLines = new ArrayList();
|
---|
20 | String oneLine = null;
|
---|
21 | BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
|
---|
22 | while ((oneLine = bufferedReader.readLine()) != null) {
|
---|
23 | fileLines.add(oneLine);
|
---|
24 | }
|
---|
25 | bufferedReader.close();
|
---|
26 | return fileLines;
|
---|
27 | } catch (Exception e) {
|
---|
28 | System.err.println("exception:" + e);
|
---|
29 | return null;
|
---|
30 | }
|
---|
31 | }
|
---|
32 |
|
---|
33 | public void writeOutFile(File file, ArrayList fileLines_in) {
|
---|
34 | try {
|
---|
35 | PrintWriter printWriter = new PrintWriter(new BufferedWriter(new FileWriter(file)));
|
---|
36 | for (int i = 0; i < fileLines_in.size(); i++) {
|
---|
37 | printWriter.println(fileLines_in.get(i));
|
---|
38 | }
|
---|
39 | printWriter.flush();
|
---|
40 | printWriter.close();
|
---|
41 | } catch (Exception e) {
|
---|
42 | System.err.println("exception:" + e);
|
---|
43 | }
|
---|
44 | }
|
---|
45 |
|
---|
46 | public ArrayList queryReplace(ArrayList fileLines_ex, String param,
|
---|
47 | String newValue) {
|
---|
48 | // only replace existing, don't append if param does not exist
|
---|
49 | return replaceOrAddLine(fileLines_ex, param, newValue, false);
|
---|
50 | }
|
---|
51 |
|
---|
52 | // if the parameter exists, then a replace is performed, else the parameter-value
|
---|
53 | // is appended
|
---|
54 | public ArrayList replaceOrAddLine(ArrayList fileLines_ex, String param, String newValue,
|
---|
55 | boolean replaceElseAdd)
|
---|
56 | {
|
---|
57 | String oneLine = null;
|
---|
58 | String newLine = null;
|
---|
59 | String name = null;
|
---|
60 | // int oneLine_length = 0;
|
---|
61 | param = param.trim();
|
---|
62 | // int param_length = param.length();
|
---|
63 |
|
---|
64 | for (int i = 0; i < fileLines_ex.size(); i++) {
|
---|
65 | oneLine = ((String) fileLines_ex.get(i)).trim();
|
---|
66 | // oneLine_length = oneLine.length();
|
---|
67 | StringTokenizer st = new StringTokenizer(oneLine, "=");
|
---|
68 | if (st.hasMoreTokens()) {
|
---|
69 | name = st.nextToken();
|
---|
70 | if (param.equals(name)) {
|
---|
71 | newLine = param + "=" + newValue;
|
---|
72 | fileLines_ex.set(i, newLine);
|
---|
73 | replaceElseAdd = false; // replaced, no longer need to add in any case
|
---|
74 | break;
|
---|
75 | }
|
---|
76 | }
|
---|
77 | }
|
---|
78 | // If we've made no replacement and need to append the new item
|
---|
79 | if(replaceElseAdd) {
|
---|
80 | fileLines_ex.add(param+"="+newValue);
|
---|
81 | }
|
---|
82 | return fileLines_ex;
|
---|
83 | }
|
---|
84 |
|
---|
85 | public String existValue(ArrayList fileLines, String querytext) {
|
---|
86 | String retValue = null;
|
---|
87 | String oneline = null;
|
---|
88 | String name = null;
|
---|
89 | // String value=null;
|
---|
90 | // int oneline_length = 0;
|
---|
91 | querytext = querytext.trim();
|
---|
92 | // int querytext_length = querytext.length();
|
---|
93 | for (int i = 0; i < fileLines.size(); i++) {
|
---|
94 | oneline = ((String) fileLines.get(i)).trim();
|
---|
95 | // oneline_length = oneline.length();
|
---|
96 | StringTokenizer st = new StringTokenizer(oneline, "=");
|
---|
97 | if (st.hasMoreTokens()) {
|
---|
98 | name = st.nextToken();
|
---|
99 | if (querytext.equals(name)) {
|
---|
100 | if (st.hasMoreTokens()) {
|
---|
101 | retValue = st.nextToken();
|
---|
102 | retValue = retValue.trim();
|
---|
103 | if (retValue.equals("")) {
|
---|
104 | retValue = null;
|
---|
105 | }
|
---|
106 | } else {
|
---|
107 | retValue = null;
|
---|
108 | }
|
---|
109 | break;
|
---|
110 | }
|
---|
111 | }
|
---|
112 | }
|
---|
113 | return retValue;
|
---|
114 | }
|
---|
115 | }
|
---|