1 package org.kuali.ole.deliver.service;
2
3 import org.apache.commons.lang3.StringUtils;
4 import org.junit.Test;
5 import org.kuali.ole.OLEConstants;
6
7 import java.sql.Timestamp;
8 import java.text.SimpleDateFormat;
9 import java.util.Date;
10 import java.util.regex.Matcher;
11 import java.util.regex.Pattern;
12
13
14
15
16 public class DateFormatHelperTest {
17
18 @Test
19 public void generateDateStringsForMySQL() {
20 String generateDateStringsForMySQL = DateFormatHelper.getInstance().generateDateStringsForMySQL("3/3/2015");
21 System.out.println(generateDateStringsForMySQL);
22 }
23
24 @Test
25 public void generateDateStringsForMySQLFromTimeStamp() throws Exception {
26 Timestamp timeStamp = getTimeStamp(new SimpleDateFormat("MM/dd/yyyy").parse("08/20/2015"), "02:36:00");
27
28 String generateDateStringsForMySQL = DateFormatHelper.getInstance().generateDateStringsForMySQL(timeStamp);
29 System.out.println(generateDateStringsForMySQL);
30 }
31 @Test
32 public void generateDateStringsForMyOracleFromTimeStamp() throws Exception {
33 Timestamp timeStamp = getTimeStamp(new SimpleDateFormat("MM/dd/yyyy").parse("08/20/2015"), "02:36:00");
34
35 String generateDateStringsForMySQL = DateFormatHelper.getInstance().generateDateStringsForOracle(timeStamp);
36 System.out.println(generateDateStringsForMySQL);
37 }
38
39 @Test
40 public void generateDateStringsForOracle() {
41 String generateDateStringsForOracle = DateFormatHelper.getInstance().generateDateStringsForOracle("3/3/2015");
42 System.out.println(generateDateStringsForOracle);
43 }
44
45 @Test
46 public void generateTimeStampBasedOnDateString() throws Exception {
47 Timestamp timeStamp = getTimeStamp(new SimpleDateFormat("MM/dd/yyyy").parse("08/20/2015"), "23:36:00");
48 System.out.println(timeStamp);
49 }
50
51
52 private Timestamp getTimeStamp(Date loanDueDateToAlter, String loanDueDateTimeToAlter) throws Exception {
53 boolean timeFlag = false;
54 Timestamp timestamp;
55 Pattern pattern;
56 Matcher matcher;
57 SimpleDateFormat fmt = new SimpleDateFormat(OLEConstants.OlePatron.PATRON_MAINTENANCE_DATE_FORMAT);
58
59 if (StringUtils.isNotBlank(loanDueDateTimeToAlter)) {
60 String[] str = loanDueDateTimeToAlter.split(":");
61 pattern = Pattern.compile(OLEConstants.TIME_24_HR_PATTERN);
62 matcher = pattern.matcher(loanDueDateTimeToAlter);
63 timeFlag = matcher.matches();
64 if (timeFlag) {
65 if (str != null && str.length <= 2) {
66 loanDueDateTimeToAlter = loanDueDateTimeToAlter + OLEConstants.CHECK_IN_TIME_MS;
67 }
68 timestamp = Timestamp.valueOf(new SimpleDateFormat(OLEConstants.CHECK_IN_DATE_TIME_FORMAT).format(loanDueDateToAlter).concat(" ").concat(loanDueDateTimeToAlter));
69 } else {
70 throw new Exception();
71 }
72 } else if (fmt.format(loanDueDateToAlter).compareTo(fmt.format(new Date())) == 0) {
73 timestamp = new Timestamp(new Date().getTime());
74 } else {
75 timestamp = Timestamp.valueOf(new SimpleDateFormat(OLEConstants.CHECK_IN_DATE_TIME_FORMAT).format(loanDueDateToAlter).concat(" ").concat(new SimpleDateFormat("HH:mm:ss").format(new Date())));
76 }
77 return timestamp;
78 }
79
80 }