~codescore-dev/codescore/version-1.0

« back to all changes in this revision

Viewing changes to doc/java_doc/src-html/net/launchpad/codescore/installer/wins/DBVelocityWriter.html

  • Committer: Adam Cornett
  • Date: 2008-03-11 02:24:59 UTC
  • Revision ID: adam.cornett@gmail.com-20080311022459-ojmzuilevqej6mis
Updated the javadoc to be consistant with REV 51's code

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<HTML>
 
2
<BODY BGCOLOR="white">
 
3
<PRE>
 
4
<FONT color="green">001</FONT>    /*<a name="line.1"></a>
 
5
<FONT color="green">002</FONT>     * Copyright (C) 2008 Adam Cornett This program is free software; you can<a name="line.2"></a>
 
6
<FONT color="green">003</FONT>     * redistribute it and/or modify it under the terms of the GNU General Public<a name="line.3"></a>
 
7
<FONT color="green">004</FONT>     * License as published by the Free Software Foundation; either version 3 of the<a name="line.4"></a>
 
8
<FONT color="green">005</FONT>     * License, or (at your option) any later version. This program is distributed<a name="line.5"></a>
 
9
<FONT color="green">006</FONT>     * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even<a name="line.6"></a>
 
10
<FONT color="green">007</FONT>     * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.<a name="line.7"></a>
 
11
<FONT color="green">008</FONT>     * See the GNU General Public License for more details. You should have received<a name="line.8"></a>
 
12
<FONT color="green">009</FONT>     * a copy of the GNU General Public License along with this program; if not, see<a name="line.9"></a>
 
13
<FONT color="green">010</FONT>     * &lt;http://www.gnu.org/licenses&gt;.<a name="line.10"></a>
 
14
<FONT color="green">011</FONT>     */<a name="line.11"></a>
 
15
<FONT color="green">012</FONT>    <a name="line.12"></a>
 
16
<FONT color="green">013</FONT>    package net.launchpad.codescore.installer.wins;<a name="line.13"></a>
 
17
<FONT color="green">014</FONT>    <a name="line.14"></a>
 
18
<FONT color="green">015</FONT>    import java.io.File;<a name="line.15"></a>
 
19
<FONT color="green">016</FONT>    import java.io.FileNotFoundException;<a name="line.16"></a>
 
20
<FONT color="green">017</FONT>    import java.io.IOException;<a name="line.17"></a>
 
21
<FONT color="green">018</FONT>    import java.io.PrintStream;<a name="line.18"></a>
 
22
<FONT color="green">019</FONT>    import java.io.StringWriter;<a name="line.19"></a>
 
23
<FONT color="green">020</FONT>    import java.util.Properties;<a name="line.20"></a>
 
24
<FONT color="green">021</FONT>    <a name="line.21"></a>
 
25
<FONT color="green">022</FONT>    import org.apache.velocity.Template;<a name="line.22"></a>
 
26
<FONT color="green">023</FONT>    import org.apache.velocity.VelocityContext;<a name="line.23"></a>
 
27
<FONT color="green">024</FONT>    import org.apache.velocity.app.Velocity;<a name="line.24"></a>
 
28
<FONT color="green">025</FONT>    import org.apache.velocity.app.VelocityEngine;<a name="line.25"></a>
 
29
<FONT color="green">026</FONT>    import org.apache.velocity.exception.MethodInvocationException;<a name="line.26"></a>
 
30
<FONT color="green">027</FONT>    import org.apache.velocity.exception.ParseErrorException;<a name="line.27"></a>
 
31
<FONT color="green">028</FONT>    import org.apache.velocity.exception.ResourceNotFoundException;<a name="line.28"></a>
 
32
<FONT color="green">029</FONT>    <a name="line.29"></a>
 
33
<FONT color="green">030</FONT>    public class DBVelocityWriter {<a name="line.30"></a>
 
34
<FONT color="green">031</FONT>            public static final String Encoding = "UTF-8";<a name="line.31"></a>
 
35
<FONT color="green">032</FONT>    <a name="line.32"></a>
 
36
<FONT color="green">033</FONT>            protected VelocityContext context;<a name="line.33"></a>
 
37
<FONT color="green">034</FONT>    <a name="line.34"></a>
 
38
<FONT color="green">035</FONT>            protected Template template;<a name="line.35"></a>
 
39
<FONT color="green">036</FONT>    <a name="line.36"></a>
 
40
<FONT color="green">037</FONT>            protected VelocityEngine ve;<a name="line.37"></a>
 
41
<FONT color="green">038</FONT>    <a name="line.38"></a>
 
42
<FONT color="green">039</FONT>            Properties dbprops;<a name="line.39"></a>
 
43
<FONT color="green">040</FONT>    <a name="line.40"></a>
 
44
<FONT color="green">041</FONT>            public DBVelocityWriter(final Properties p) {<a name="line.41"></a>
 
45
<FONT color="green">042</FONT>                    dbprops = p;<a name="line.42"></a>
 
46
<FONT color="green">043</FONT>            }<a name="line.43"></a>
 
47
<FONT color="green">044</FONT>    <a name="line.44"></a>
 
48
<FONT color="green">045</FONT>            public void writeProps() {<a name="line.45"></a>
 
49
<FONT color="green">046</FONT>                    final String content = generateDBProps();<a name="line.46"></a>
 
50
<FONT color="green">047</FONT>                    final File of = new File("./src/CodeScoreNode.driver.xml");<a name="line.47"></a>
 
51
<FONT color="green">048</FONT>                    try {<a name="line.48"></a>
 
52
<FONT color="green">049</FONT>                            final PrintStream ps = new PrintStream(of);<a name="line.49"></a>
 
53
<FONT color="green">050</FONT>                            ps.write(content.getBytes());<a name="line.50"></a>
 
54
<FONT color="green">051</FONT>                    } catch (final FileNotFoundException e) {<a name="line.51"></a>
 
55
<FONT color="green">052</FONT>                            // TODO Auto-generated catch block<a name="line.52"></a>
 
56
<FONT color="green">053</FONT>                            e.printStackTrace();<a name="line.53"></a>
 
57
<FONT color="green">054</FONT>                    } catch (final IOException e) {<a name="line.54"></a>
 
58
<FONT color="green">055</FONT>                            // TODO Auto-generated catch block<a name="line.55"></a>
 
59
<FONT color="green">056</FONT>                            e.printStackTrace();<a name="line.56"></a>
 
60
<FONT color="green">057</FONT>                    }<a name="line.57"></a>
 
61
<FONT color="green">058</FONT>            }<a name="line.58"></a>
 
62
<FONT color="green">059</FONT>    <a name="line.59"></a>
 
63
<FONT color="green">060</FONT>            private String generateDBProps() {<a name="line.60"></a>
 
64
<FONT color="green">061</FONT>                    setupVelocity();<a name="line.61"></a>
 
65
<FONT color="green">062</FONT>                    setupTemplate();<a name="line.62"></a>
 
66
<FONT color="green">063</FONT>                    setupContext();<a name="line.63"></a>
 
67
<FONT color="green">064</FONT>                    final StringWriter sw = new StringWriter();<a name="line.64"></a>
 
68
<FONT color="green">065</FONT>                    try {<a name="line.65"></a>
 
69
<FONT color="green">066</FONT>                            getTemplate().merge(getContext(), sw);<a name="line.66"></a>
 
70
<FONT color="green">067</FONT>                    } catch (final ResourceNotFoundException e) {<a name="line.67"></a>
 
71
<FONT color="green">068</FONT>                            e.printStackTrace();<a name="line.68"></a>
 
72
<FONT color="green">069</FONT>                            return null;<a name="line.69"></a>
 
73
<FONT color="green">070</FONT>                    } catch (final ParseErrorException e) {<a name="line.70"></a>
 
74
<FONT color="green">071</FONT>                            e.printStackTrace();<a name="line.71"></a>
 
75
<FONT color="green">072</FONT>                            return null;<a name="line.72"></a>
 
76
<FONT color="green">073</FONT>                    } catch (final MethodInvocationException e) {<a name="line.73"></a>
 
77
<FONT color="green">074</FONT>                            e.printStackTrace();<a name="line.74"></a>
 
78
<FONT color="green">075</FONT>                            return null;<a name="line.75"></a>
 
79
<FONT color="green">076</FONT>                    } catch (final Exception e) {<a name="line.76"></a>
 
80
<FONT color="green">077</FONT>                            e.printStackTrace();<a name="line.77"></a>
 
81
<FONT color="green">078</FONT>                            return null;<a name="line.78"></a>
 
82
<FONT color="green">079</FONT>                    }<a name="line.79"></a>
 
83
<FONT color="green">080</FONT>                    sw.flush();<a name="line.80"></a>
 
84
<FONT color="green">081</FONT>                    return sw.toString();<a name="line.81"></a>
 
85
<FONT color="green">082</FONT>            }<a name="line.82"></a>
 
86
<FONT color="green">083</FONT>    <a name="line.83"></a>
 
87
<FONT color="green">084</FONT>            private final VelocityContext getContext() {<a name="line.84"></a>
 
88
<FONT color="green">085</FONT>                    return context;<a name="line.85"></a>
 
89
<FONT color="green">086</FONT>            }<a name="line.86"></a>
 
90
<FONT color="green">087</FONT>    <a name="line.87"></a>
 
91
<FONT color="green">088</FONT>            private final Template getTemplate() {<a name="line.88"></a>
 
92
<FONT color="green">089</FONT>                    return template;<a name="line.89"></a>
 
93
<FONT color="green">090</FONT>            }<a name="line.90"></a>
 
94
<FONT color="green">091</FONT>    <a name="line.91"></a>
 
95
<FONT color="green">092</FONT>            private String getTemplateName() {<a name="line.92"></a>
 
96
<FONT color="green">093</FONT>                    return "db.xml";<a name="line.93"></a>
 
97
<FONT color="green">094</FONT>            }<a name="line.94"></a>
 
98
<FONT color="green">095</FONT>    <a name="line.95"></a>
 
99
<FONT color="green">096</FONT>            private final VelocityEngine getVelocityEngine() {<a name="line.96"></a>
 
100
<FONT color="green">097</FONT>                    return ve;<a name="line.97"></a>
 
101
<FONT color="green">098</FONT>            }<a name="line.98"></a>
 
102
<FONT color="green">099</FONT>    <a name="line.99"></a>
 
103
<FONT color="green">100</FONT>            private void setupContext() {<a name="line.100"></a>
 
104
<FONT color="green">101</FONT>                    context = new VelocityContext();<a name="line.101"></a>
 
105
<FONT color="green">102</FONT>                    getContext().put("USER", dbprops.get("user"));<a name="line.102"></a>
 
106
<FONT color="green">103</FONT>                    getContext().put("PASS", dbprops.get("password"));<a name="line.103"></a>
 
107
<FONT color="green">104</FONT>                    getContext().put("SCHEMA", dbprops.get("Database"));<a name="line.104"></a>
 
108
<FONT color="green">105</FONT>                    getContext().put("DBURL", dbprops.get("URL"));<a name="line.105"></a>
 
109
<FONT color="green">106</FONT>    <a name="line.106"></a>
 
110
<FONT color="green">107</FONT>            }<a name="line.107"></a>
 
111
<FONT color="green">108</FONT>    <a name="line.108"></a>
 
112
<FONT color="green">109</FONT>            private void setupTemplate() {<a name="line.109"></a>
 
113
<FONT color="green">110</FONT>                    try {<a name="line.110"></a>
 
114
<FONT color="green">111</FONT>                            template = getVelocityEngine().getTemplate(getTemplateName());<a name="line.111"></a>
 
115
<FONT color="green">112</FONT>                    } catch (final ResourceNotFoundException e) {<a name="line.112"></a>
 
116
<FONT color="green">113</FONT>                            e.printStackTrace();<a name="line.113"></a>
 
117
<FONT color="green">114</FONT>                            return;<a name="line.114"></a>
 
118
<FONT color="green">115</FONT>                    } catch (final ParseErrorException e) {<a name="line.115"></a>
 
119
<FONT color="green">116</FONT>                            e.printStackTrace();<a name="line.116"></a>
 
120
<FONT color="green">117</FONT>                            return;<a name="line.117"></a>
 
121
<FONT color="green">118</FONT>                    } catch (final Exception e) {<a name="line.118"></a>
 
122
<FONT color="green">119</FONT>                            e.printStackTrace();<a name="line.119"></a>
 
123
<FONT color="green">120</FONT>                            return;<a name="line.120"></a>
 
124
<FONT color="green">121</FONT>                    }<a name="line.121"></a>
 
125
<FONT color="green">122</FONT>                    getTemplate().setEncoding(DBVelocityWriter.Encoding);<a name="line.122"></a>
 
126
<FONT color="green">123</FONT>            }<a name="line.123"></a>
 
127
<FONT color="green">124</FONT>    <a name="line.124"></a>
 
128
<FONT color="green">125</FONT>            private void setupVelocity() {<a name="line.125"></a>
 
129
<FONT color="green">126</FONT>                    ve = new VelocityEngine();<a name="line.126"></a>
 
130
<FONT color="green">127</FONT>                    ve.setProperty("file.resource.loader.path",<a name="line.127"></a>
 
131
<FONT color="green">128</FONT>                                    "./src/net/launchpad/codescore/installer/wins/");<a name="line.128"></a>
 
132
<FONT color="green">129</FONT>                    try {<a name="line.129"></a>
 
133
<FONT color="green">130</FONT>                            Velocity.init();<a name="line.130"></a>
 
134
<FONT color="green">131</FONT>                    } catch (final Exception e) {<a name="line.131"></a>
 
135
<FONT color="green">132</FONT>                            e.printStackTrace();<a name="line.132"></a>
 
136
<FONT color="green">133</FONT>                            return;<a name="line.133"></a>
 
137
<FONT color="green">134</FONT>                    }<a name="line.134"></a>
 
138
<FONT color="green">135</FONT>            }<a name="line.135"></a>
 
139
<FONT color="green">136</FONT>    }<a name="line.136"></a>
 
140
 
 
141
 
 
142
 
 
143
 
 
144
 
 
145
 
 
146
 
 
147
 
 
148
 
 
149
 
 
150
 
 
151
 
 
152
 
 
153
 
 
154
 
 
155
 
 
156
 
 
157
 
 
158
 
 
159
 
 
160
 
 
161
 
 
162
 
 
163
 
 
164
 
 
165
 
 
166
 
 
167
 
 
168
 
 
169
 
 
170
 
 
171
 
 
172
 
 
173
 
 
174
 
 
175
 
 
176
 
 
177
 
 
178
 
 
179
 
 
180
 
 
181
 
 
182
 
 
183
 
 
184
 
 
185
 
 
186
 
 
187
 
 
188
 
 
189
 
 
190
 
 
191
 
 
192
 
 
193
 
 
194
 
 
195
 
 
196
 
 
197
 
 
198
 
 
199
 
 
200
</PRE>
 
201
</BODY>
 
202
</HTML>