root / src / gZFS / zreplicas.java @ 53
Historique | Voir | Annoter | Télécharger (13,04 ko)
1 | 53 | kreverch | /*******************************************************************
|
---|---|---|---|
2 | 53 | kreverch | *
|
3 | 53 | kreverch | * Copyright (C) 2013 Kevin Reverchon
|
4 | 53 | kreverch | * This file/program is part of gZFS free software
|
5 | 53 | kreverch | * See COPYING file for details
|
6 | 53 | kreverch | *
|
7 | 53 | kreverch | *******************************************************************/
|
8 | 14 | kreverch | package gZFS; |
9 | 14 | kreverch | |
10 | 14 | kreverch | import java.text.DateFormat; |
11 | 14 | kreverch | import java.text.ParseException; |
12 | 14 | kreverch | import java.text.SimpleDateFormat; |
13 | 14 | kreverch | import java.util.Calendar; |
14 | 14 | kreverch | import java.util.Date; |
15 | 14 | kreverch | import java.util.GregorianCalendar; |
16 | 14 | kreverch | import java.util.Hashtable; |
17 | 14 | kreverch | |
18 | 14 | kreverch | public class zreplicas { |
19 | 14 | kreverch | public Hashtable<String,zProperties> zProperties = new Hashtable<String, zProperties>(); |
20 | 14 | kreverch | public Hashtable<String,zProperties> zSchedulerProperties = new Hashtable<String, zProperties>(); |
21 | 14 | kreverch | |
22 | 14 | kreverch | private Hashtable<Object, Object> cronMinute = new Hashtable<Object, Object>(); |
23 | 14 | kreverch | private Hashtable<Object, Object> cronHour= new Hashtable<Object, Object>(); |
24 | 14 | kreverch | private Hashtable<Object, Object> cronMonth= new Hashtable<Object, Object>(); |
25 | 14 | kreverch | private Hashtable<Object, Object> cronDayOfMonth = new Hashtable<Object, Object>(); |
26 | 14 | kreverch | private Hashtable<Object, Object> cronDayOfWeek = new Hashtable<Object, Object>(); |
27 | 14 | kreverch | |
28 | 14 | kreverch | zreplicas(){ |
29 | 14 | kreverch | String valueForHash = null; |
30 | 14 | kreverch | for (int i=1;i<61;i++){ |
31 | 14 | kreverch | |
32 | 14 | kreverch | if ( i<10){ |
33 | 14 | kreverch | valueForHash="0"+String.valueOf(i); |
34 | 14 | kreverch | }else{
|
35 | 14 | kreverch | valueForHash=String.valueOf(i);
|
36 | 14 | kreverch | } |
37 | 14 | kreverch | cronMinute.put(String.valueOf(i), valueForHash);
|
38 | 14 | kreverch | if ( i ==1){ |
39 | 14 | kreverch | cronMinute.put("*", "All"); |
40 | 14 | kreverch | }else{
|
41 | 14 | kreverch | cronMinute.put("*/"+i, "Every "+valueForHash+" Minutes"); |
42 | 14 | kreverch | } |
43 | 14 | kreverch | } |
44 | 14 | kreverch | |
45 | 14 | kreverch | for (int i=0;i<24;i++){ |
46 | 14 | kreverch | if ( i<10){ |
47 | 14 | kreverch | valueForHash="0"+String.valueOf(i); |
48 | 14 | kreverch | }else{
|
49 | 14 | kreverch | valueForHash=String.valueOf(i);
|
50 | 14 | kreverch | } |
51 | 14 | kreverch | cronHour.put(String.valueOf(i), valueForHash);
|
52 | 14 | kreverch | if ( i ==1){ |
53 | 14 | kreverch | cronHour.put("*", "All"); |
54 | 14 | kreverch | }else{
|
55 | 14 | kreverch | cronHour.put("*/"+i, "Every "+valueForHash+" Hours"); |
56 | 14 | kreverch | } |
57 | 14 | kreverch | } |
58 | 14 | kreverch | |
59 | 14 | kreverch | cronMonth.put("01", "January"); |
60 | 14 | kreverch | cronMonth.put("02", "February"); |
61 | 14 | kreverch | cronMonth.put("03", "March"); |
62 | 14 | kreverch | cronMonth.put("04", "April"); |
63 | 14 | kreverch | cronMonth.put("05", "May"); |
64 | 14 | kreverch | cronMonth.put("06", "June"); |
65 | 14 | kreverch | cronMonth.put("07", "July"); |
66 | 14 | kreverch | cronMonth.put("08", "August"); |
67 | 14 | kreverch | cronMonth.put("09", "September"); |
68 | 14 | kreverch | cronMonth.put("10", "October"); |
69 | 14 | kreverch | cronMonth.put("11", "November"); |
70 | 14 | kreverch | cronMonth.put("12", "December"); |
71 | 14 | kreverch | cronMonth.put("*", "All"); |
72 | 14 | kreverch | |
73 | 14 | kreverch | cronDayOfWeek.put("0", "Sunday"); |
74 | 14 | kreverch | cronDayOfWeek.put("1", "Monday"); |
75 | 14 | kreverch | cronDayOfWeek.put("2", "Tuesday"); |
76 | 14 | kreverch | cronDayOfWeek.put("3", "Wednesday"); |
77 | 14 | kreverch | cronDayOfWeek.put("4", "Thursday"); |
78 | 14 | kreverch | cronDayOfWeek.put("5", "Friday"); |
79 | 14 | kreverch | cronDayOfWeek.put("6", "Saturday"); |
80 | 14 | kreverch | cronDayOfWeek.put("*", "All"); |
81 | 14 | kreverch | |
82 | 14 | kreverch | |
83 | 14 | kreverch | for (int i=1;i<31;i++){ |
84 | 14 | kreverch | if ( i<10){ |
85 | 14 | kreverch | valueForHash="0"+String.valueOf(i); |
86 | 14 | kreverch | }else{
|
87 | 14 | kreverch | valueForHash=String.valueOf(i);
|
88 | 14 | kreverch | } |
89 | 14 | kreverch | cronDayOfMonth.put(String.valueOf(i), valueForHash);
|
90 | 14 | kreverch | if ( i ==1){ |
91 | 14 | kreverch | cronDayOfMonth.put("*", "All"); |
92 | 14 | kreverch | }else{
|
93 | 14 | kreverch | cronDayOfMonth.put("*/"+i, "Every "+valueForHash+" Days"); |
94 | 14 | kreverch | } |
95 | 14 | kreverch | } |
96 | 14 | kreverch | |
97 | 14 | kreverch | Hashtable<Object, Object> permitValueNameVolFS = new Hashtable<Object, Object>(); |
98 | 14 | kreverch | zProperties zPropertyNameVolFS = new zProperties();
|
99 | 14 | kreverch | permitValueNameVolFS.clear(); |
100 | 14 | kreverch | zPropertyNameVolFS.setNameProperty("name");
|
101 | 14 | kreverch | zPropertyNameVolFS.setLabelProperty("Name Volume/FileSystem replicated");
|
102 | 14 | kreverch | zPropertyNameVolFS.setType("noupdateable");
|
103 | 14 | kreverch | zPropertyNameVolFS.setValue("");
|
104 | 14 | kreverch | zPropertyNameVolFS.setPermitValue(null);
|
105 | 14 | kreverch | zPropertyNameVolFS.setMultivalues(null);
|
106 | 14 | kreverch | zSchedulerProperties.put("name", zPropertyNameVolFS);
|
107 | 14 | kreverch | |
108 | 14 | kreverch | Hashtable<Object, Object> permitValueFileConf = new Hashtable<Object, Object>(); |
109 | 14 | kreverch | zProperties zPropertyFileConf = new zProperties();
|
110 | 14 | kreverch | permitValueFileConf.clear(); |
111 | 14 | kreverch | zPropertyFileConf.setNameProperty("fileconf");
|
112 | 14 | kreverch | zPropertyFileConf.setLabelProperty("Configuration File");
|
113 | 14 | kreverch | zPropertyFileConf.setType("noupdateable");
|
114 | 14 | kreverch | zPropertyFileConf.setValue("");
|
115 | 14 | kreverch | zPropertyFileConf.setPermitValue(null);
|
116 | 14 | kreverch | zPropertyFileConf.setMultivalues(null);
|
117 | 14 | kreverch | zSchedulerProperties.put("fileconf", zPropertyFileConf);
|
118 | 14 | kreverch | |
119 | 14 | kreverch | Hashtable<Object, Object> permitValueNameReplica = new Hashtable<Object, Object>(); |
120 | 14 | kreverch | zProperties zPropertyNameReplica = new zProperties();
|
121 | 14 | kreverch | permitValueNameReplica.clear(); |
122 | 14 | kreverch | zPropertyNameReplica.setNameProperty("namereplica");
|
123 | 14 | kreverch | zPropertyNameReplica.setLabelProperty("Replica Name");
|
124 | 14 | kreverch | zPropertyNameReplica.setType("noupdateable");
|
125 | 14 | kreverch | zPropertyNameReplica.setValue("");
|
126 | 14 | kreverch | zPropertyNameReplica.setPermitValue(null);
|
127 | 14 | kreverch | zPropertyNameReplica.setMultivalues(null);
|
128 | 14 | kreverch | zSchedulerProperties.put("namereplica", zPropertyNameReplica);
|
129 | 14 | kreverch | |
130 | 14 | kreverch | Hashtable<Object, Object> permitValueNbReplicas = new Hashtable<Object, Object>(); |
131 | 14 | kreverch | zProperties zPropertyNbReplicas = new zProperties();
|
132 | 14 | kreverch | permitValueNbReplicas.clear(); |
133 | 14 | kreverch | zPropertyNbReplicas.setNameProperty("nbreplica");
|
134 | 14 | kreverch | zPropertyNbReplicas.setLabelProperty("Number replicas to keep");
|
135 | 14 | kreverch | zPropertyNbReplicas.setType("freeentry");
|
136 | 14 | kreverch | zPropertyNbReplicas.setValue("");
|
137 | 14 | kreverch | zPropertyNbReplicas.setPermitValue(null);
|
138 | 14 | kreverch | zPropertyNbReplicas.setMultivalues(null);
|
139 | 14 | kreverch | zSchedulerProperties.put("nbreplica", zPropertyNbReplicas);
|
140 | 14 | kreverch | |
141 | 14 | kreverch | Hashtable<Object, Object> permitValueLastSnapshotReplicated = new Hashtable<Object, Object>(); |
142 | 14 | kreverch | zProperties zPropertyLastSnapshotReplicated = new zProperties();
|
143 | 14 | kreverch | permitValueLastSnapshotReplicated.clear(); |
144 | 14 | kreverch | zPropertyLastSnapshotReplicated.setNameProperty("lastsnapshotreplicated");
|
145 | 14 | kreverch | zPropertyLastSnapshotReplicated.setLabelProperty("Last Snapshot Replicated");
|
146 | 14 | kreverch | zPropertyLastSnapshotReplicated.setType("noupdateable");
|
147 | 14 | kreverch | zPropertyLastSnapshotReplicated.setValue("");
|
148 | 14 | kreverch | zPropertyLastSnapshotReplicated.setPermitValue(null);
|
149 | 14 | kreverch | zPropertyLastSnapshotReplicated.setMultivalues(null);
|
150 | 14 | kreverch | zSchedulerProperties.put("lastsnapshotreplicated", zPropertyLastSnapshotReplicated);
|
151 | 14 | kreverch | |
152 | 14 | kreverch | Hashtable<Object, Object> permitValueMinutesOfSReplicas = new Hashtable<Object, Object>(); |
153 | 14 | kreverch | zProperties zPropertyMinutesOfSReplicas = new zProperties();
|
154 | 14 | kreverch | permitValueMinutesOfSReplicas.clear(); |
155 | 14 | kreverch | zPropertyMinutesOfSReplicas.setNameProperty("minutesofreplicas");
|
156 | 14 | kreverch | zPropertyMinutesOfSReplicas.setLabelProperty("Minutes of replication [0-60]");
|
157 | 14 | kreverch | zPropertyMinutesOfSReplicas.setType("nofreeentry");
|
158 | 14 | kreverch | zPropertyMinutesOfSReplicas.setValue("");
|
159 | 14 | kreverch | zPropertyMinutesOfSReplicas.setPermitValue(cronMinute); |
160 | 14 | kreverch | zPropertyMinutesOfSReplicas.setMultivalues(null);
|
161 | 14 | kreverch | zSchedulerProperties.put("minutesofreplicas", zPropertyMinutesOfSReplicas);
|
162 | 14 | kreverch | |
163 | 14 | kreverch | Hashtable<Object, Object> permitValueReplicaServer = new Hashtable<Object, Object>(); |
164 | 14 | kreverch | zProperties zPropertyReplicaServer = new zProperties();
|
165 | 14 | kreverch | permitValueReplicaServer.clear(); |
166 | 14 | kreverch | zPropertyReplicaServer.setNameProperty("server");
|
167 | 14 | kreverch | zPropertyReplicaServer.setLabelProperty("Server For Replication");
|
168 | 14 | kreverch | zPropertyReplicaServer.setType("nofreeentry");
|
169 | 14 | kreverch | zPropertyReplicaServer.setValue("");
|
170 | 14 | kreverch | zPropertyReplicaServer.setPermitValue(null);
|
171 | 14 | kreverch | zPropertyReplicaServer.setMultivalues(null);
|
172 | 14 | kreverch | zSchedulerProperties.put("server", zPropertyReplicaServer);
|
173 | 14 | kreverch | |
174 | 14 | kreverch | Hashtable<Object, Object> permitValueReplicaPool = new Hashtable<Object, Object>(); |
175 | 14 | kreverch | zProperties zPropertyReplicaPool = new zProperties();
|
176 | 14 | kreverch | permitValueReplicaPool.clear(); |
177 | 14 | kreverch | zPropertyReplicaPool.setNameProperty("replicapool");
|
178 | 14 | kreverch | zPropertyReplicaPool.setLabelProperty("Pool For Replication");
|
179 | 14 | kreverch | zPropertyReplicaPool.setType("nofreeentry");
|
180 | 14 | kreverch | zPropertyReplicaPool.setValue("");
|
181 | 14 | kreverch | zPropertyReplicaPool.setPermitValue(null);
|
182 | 14 | kreverch | zPropertyReplicaPool.setMultivalues(null);
|
183 | 14 | kreverch | zSchedulerProperties.put("replicapool", zPropertyReplicaPool);
|
184 | 14 | kreverch | |
185 | 14 | kreverch | |
186 | 14 | kreverch | Hashtable<Object, Object> permitValueReplicasHours = new Hashtable<Object, Object>(); |
187 | 14 | kreverch | zProperties zPropertyReplicasHours = new zProperties();
|
188 | 14 | kreverch | permitValueReplicasHours.clear(); |
189 | 14 | kreverch | zPropertyReplicasHours.setNameProperty("hoursofreplicas");
|
190 | 14 | kreverch | zPropertyReplicasHours.setLabelProperty("Hour of replication [0-23]");
|
191 | 14 | kreverch | zPropertyReplicasHours.setType("nofreeentry");
|
192 | 14 | kreverch | zPropertyReplicasHours.setValue("");
|
193 | 14 | kreverch | zPropertyReplicasHours.setPermitValue(cronHour); |
194 | 14 | kreverch | zPropertyReplicasHours.setMultivalues(null);
|
195 | 14 | kreverch | zSchedulerProperties.put("hoursofreplicas", zPropertyReplicasHours);
|
196 | 14 | kreverch | |
197 | 14 | kreverch | Hashtable<Object, Object> permitValueDayOfWeekReplicas = new Hashtable<Object, Object>(); |
198 | 14 | kreverch | zProperties zPropertyDayOfWeekReplicas = new zProperties();
|
199 | 14 | kreverch | permitValueDayOfWeekReplicas.clear(); |
200 | 14 | kreverch | zPropertyDayOfWeekReplicas.setNameProperty("dayofweekreplicas");
|
201 | 14 | kreverch | zPropertyDayOfWeekReplicas.setLabelProperty("Day of week of Replication [0-6] 0 for Sunday");
|
202 | 14 | kreverch | zPropertyDayOfWeekReplicas.setType("nofreeentry");
|
203 | 14 | kreverch | zPropertyDayOfWeekReplicas.setValue("");
|
204 | 14 | kreverch | zPropertyDayOfWeekReplicas.setPermitValue(cronDayOfWeek); |
205 | 14 | kreverch | zPropertyDayOfWeekReplicas.setMultivalues(null);
|
206 | 14 | kreverch | zSchedulerProperties.put("dayofweekreplicas", zPropertyDayOfWeekReplicas);
|
207 | 14 | kreverch | |
208 | 14 | kreverch | Hashtable<Object, Object> permitValueDayOfMonthReplicas = new Hashtable<Object, Object>(); |
209 | 14 | kreverch | zProperties zPropertyDayOfMonthReplicas = new zProperties();
|
210 | 14 | kreverch | permitValueDayOfMonthReplicas.clear(); |
211 | 14 | kreverch | zPropertyDayOfMonthReplicas.setNameProperty("dayofmonthreplicas");
|
212 | 14 | kreverch | zPropertyDayOfMonthReplicas.setLabelProperty("Day of Month of Snapshots [1-30]");
|
213 | 14 | kreverch | zPropertyDayOfMonthReplicas.setType("nofreeentry");
|
214 | 14 | kreverch | zPropertyDayOfMonthReplicas.setValue("");
|
215 | 14 | kreverch | zPropertyDayOfMonthReplicas.setPermitValue(cronDayOfMonth); |
216 | 14 | kreverch | zPropertyDayOfMonthReplicas.setMultivalues(null);
|
217 | 14 | kreverch | zSchedulerProperties.put("dayofmonthreplicas", zPropertyDayOfMonthReplicas);
|
218 | 14 | kreverch | |
219 | 14 | kreverch | Hashtable<Object, Object> permitValueMonthReplicas = new Hashtable<Object, Object>(); |
220 | 14 | kreverch | zProperties zPropertyMonthReplicas = new zProperties();
|
221 | 14 | kreverch | permitValueMonthReplicas.clear(); |
222 | 14 | kreverch | zPropertyMonthReplicas.setNameProperty("monthreplicas");
|
223 | 14 | kreverch | zPropertyMonthReplicas.setLabelProperty("Month");
|
224 | 14 | kreverch | zPropertyMonthReplicas.setType("nofreeentry");
|
225 | 14 | kreverch | zPropertyMonthReplicas.setValue("");
|
226 | 14 | kreverch | zPropertyMonthReplicas.setPermitValue(cronMonth); |
227 | 14 | kreverch | zPropertyMonthReplicas.setMultivalues(null);
|
228 | 14 | kreverch | zSchedulerProperties.put("monthreplicas", zPropertyMonthReplicas);
|
229 | 14 | kreverch | |
230 | 14 | kreverch | /*Hashtable<Object, Object> permitValueFreqSnapshots = new Hashtable<Object, Object>();
|
231 | 14 | kreverch | zProperties zPropertyFreqSnapshots = new zProperties();
|
232 | 14 | kreverch | permitValueFreqSnapshots.clear();
|
233 | 14 | kreverch | zPropertyFreqSnapshots.setNameProperty("frequency");
|
234 | 14 | kreverch | zPropertyFreqSnapshots.setLabelProperty("Frequency");
|
235 | 14 | kreverch | zPropertyFreqSnapshots.setType("internaluse");
|
236 | 14 | kreverch | zPropertyFreqSnapshots.setValue("");
|
237 | 14 | kreverch | zPropertyFreqSnapshots.setPermitValue(null);
|
238 | 14 | kreverch | zSchedulerProperties.put("frequency", zPropertyFreqSnapshots);*/
|
239 | 14 | kreverch | |
240 | 14 | kreverch | |
241 | 14 | kreverch | } |
242 | 14 | kreverch | |
243 | 14 | kreverch | public void formatCronValue(String frequency, String DaySnapshot){ |
244 | 14 | kreverch | String cronValue =""; |
245 | 14 | kreverch | |
246 | 14 | kreverch | if (frequency.contains("Hours")){ |
247 | 14 | kreverch | this.zSchedulerProperties.get("minutesofsnaphots").setValue("*"); |
248 | 14 | kreverch | this.zSchedulerProperties.get("hoursofsnaphots").setValue("*/"+frequency.replaceAll("Every", "").replaceAll("Hours", "")); |
249 | 14 | kreverch | this.zSchedulerProperties.get("dayofmonthsnapshots").setValue("*"); |
250 | 14 | kreverch | this.zSchedulerProperties.get("monthsnapshots").setValue("*"); |
251 | 14 | kreverch | this.zSchedulerProperties.get("dayofweeksnapshots").setValue("*"); |
252 | 14 | kreverch | |
253 | 14 | kreverch | }else{
|
254 | 14 | kreverch | this.zSchedulerProperties.get("hour").setValue(this.zSchedulerProperties.get("time").getValue().split(":")[0]); |
255 | 14 | kreverch | this.zSchedulerProperties.get("minutes").setValue(this.zSchedulerProperties.get("time").getValue().split(":")[1]); |
256 | 14 | kreverch | if (frequency.contains("Days")){ |
257 | 14 | kreverch | this.zSchedulerProperties.get("dayofmonthsnapshots").setValue("*/"+frequency.replaceAll("Every", "").replaceAll("Days", "")); |
258 | 14 | kreverch | this.zSchedulerProperties.get("monthsnapshots").setValue("*"); |
259 | 14 | kreverch | this.zSchedulerProperties.get("dayofweeksnapshots").setValue("*"); |
260 | 14 | kreverch | |
261 | 14 | kreverch | }else{
|
262 | 14 | kreverch | if (frequency.contains("Months")){ |
263 | 14 | kreverch | this.zSchedulerProperties.get("dayofmonthsnapshots").setValue(this.zSchedulerProperties.get("dayofmonthsnapshots").getValue()); |
264 | 14 | kreverch | this.zSchedulerProperties.get("monthsnapshots").setValue("*/"+frequency.replaceAll("Every", "").replaceAll("Months", "")); |
265 | 14 | kreverch | this.zSchedulerProperties.get("dayofweeksnapshots").setValue("*"); |
266 | 14 | kreverch | |
267 | 14 | kreverch | }else{
|
268 | 14 | kreverch | if (frequency.contains("Hour")){ |
269 | 14 | kreverch | this.zSchedulerProperties.get("minutes").setValue("*"); |
270 | 14 | kreverch | this.zSchedulerProperties.get("hours").setValue("*/"+frequency.replaceAll("Every", "").replaceAll("Hour", "")); |
271 | 14 | kreverch | this.zSchedulerProperties.get("dayofmonthsnapshots").setValue("*"); |
272 | 14 | kreverch | this.zSchedulerProperties.get("monthsnapshots").setValue("*"); |
273 | 14 | kreverch | this.zSchedulerProperties.get("dayofweeksnapshots").setValue("*"); |
274 | 14 | kreverch | }else{
|
275 | 14 | kreverch | if (frequency.contains("Day")){ |
276 | 14 | kreverch | this.zSchedulerProperties.get("dayofmonthsnapshots").setValue("*/"+frequency.replaceAll("Every", "").replaceAll("Day", "")); |
277 | 14 | kreverch | this.zSchedulerProperties.get("monthsnapshots").setValue("*"); |
278 | 14 | kreverch | this.zSchedulerProperties.get("dayofweeksnapshots").setValue("*"); |
279 | 14 | kreverch | }else{
|
280 | 14 | kreverch | if (frequency.contains("Month")){ |
281 | 14 | kreverch | this.zSchedulerProperties.get("dayofmonthsnapshots").setValue(this.zSchedulerProperties.get("dayofmonthsnapshots").getValue()); |
282 | 14 | kreverch | this.zSchedulerProperties.get("monthsnapshots").setValue("*/"+frequency.replaceAll("Every", "").replaceAll("Month", "")); |
283 | 14 | kreverch | this.zSchedulerProperties.get("dayofweeksnapshots").setValue("*"); |
284 | 14 | kreverch | } |
285 | 14 | kreverch | } |
286 | 14 | kreverch | } |
287 | 14 | kreverch | } |
288 | 14 | kreverch | } |
289 | 14 | kreverch | } |
290 | 14 | kreverch | } |
291 | 14 | kreverch | |
292 | 14 | kreverch | public static int getIntDayOfWeek(String dayOfWeek) |
293 | 14 | kreverch | { |
294 | 14 | kreverch | try
|
295 | 14 | kreverch | { |
296 | 14 | kreverch | DateFormat formatter ;
|
297 | 14 | kreverch | Date date ;
|
298 | 14 | kreverch | formatter = new SimpleDateFormat("EEE"); |
299 | 14 | kreverch | date = (Date)formatter.parse(dayOfWeek);
|
300 | 14 | kreverch | GregorianCalendar g = new GregorianCalendar(); |
301 | 14 | kreverch | g.setTime(date); |
302 | 14 | kreverch | return g.get(Calendar.DAY_OF_WEEK); |
303 | 14 | kreverch | } |
304 | 14 | kreverch | catch (ParseException e) |
305 | 14 | kreverch | { |
306 | 14 | kreverch | System.out.println("Exception :"+e); |
307 | 14 | kreverch | } |
308 | 14 | kreverch | return 0; |
309 | 14 | kreverch | } |
310 | 14 | kreverch | |
311 | 14 | kreverch | |
312 | 14 | kreverch | |
313 | 14 | kreverch | |
314 | 14 | kreverch | |
315 | 14 | kreverch | } |