View Javadoc
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   * Created by pvsubrah on 8/12/15.
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  }