1 /**
2 * Copyright 2010 The Kuali Foundation Licensed under the
3 * Educational Community License, Version 2.0 (the "License"); you may
4 * not use this file except in compliance with the License. You may
5 * obtain a copy of the License at
6 *
7 * http://www.osedu.org/licenses/ECL-2.0
8 *
9 * Unless required by applicable law or agreed to in writing,
10 * software distributed under the License is distributed on an "AS IS"
11 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12 * or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15
16 package org.kuali.student.r1.common.validator.old;
17
18 import java.text.SimpleDateFormat;
19 import java.util.Date;
20
21 @Deprecated
22 public class ServerDateParser implements DateParser {
23 private static ThreadLocal<SimpleDateFormat[]> formats = new ThreadLocal<SimpleDateFormat[]>() {
24
25 protected SimpleDateFormat[] initialValue() {
26 return new SimpleDateFormat[] {
27 new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"),
28 new SimpleDateFormat("yyyy-MM-dd")
29 };
30 }
31
32 };
33
34 public Date parseDate(String input) {
35 Date result = null;
36
37 for (SimpleDateFormat format : formats.get()) {
38 try {
39 result = format.parse(input);
40 } catch (Exception e) {
41 // just eat it
42 }
43 if (result != null) {
44 break;
45 }
46
47 }
48
49 if (result == null) {
50 throw new DateParseException("Invalid date value: " + input);
51 }
52
53 return result;
54 }
55
56 /**
57 * @see org.kuali.student.r1.common.validator.old.DateParser#toString(java.util.Date)
58 */
59 @Override
60 public String toString(Date date) {
61 String result = null;
62 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-ddTHH:mm:ss,SSS");
63 result = format.format(date);
64
65 return result;
66 }
67 }