|  1 |     | 
     | 
  |  2 |     | 
     | 
  |  3 |     | 
     | 
  |  4 |     | 
     | 
  |  5 |     | 
     | 
  |  6 |     | 
     | 
  |  7 |     | 
     | 
  |  8 |     | 
     | 
  |  9 |     | 
     | 
  |  10 |     | 
     | 
  |  11 |     | 
     | 
  |  12 |     | 
     | 
  |  13 |     | 
     | 
  |  14 |     | 
     | 
  |  15 |     | 
     | 
  |  16 |     | 
   package org.kuali.rice.edl.impl.extract;  | 
  |  17 |     | 
     | 
  |  18 |     | 
   import org.hibernate.annotations.Fetch;  | 
  |  19 |     | 
   import org.hibernate.annotations.FetchMode;  | 
  |  20 |     | 
   import org.kuali.rice.core.api.util.RiceConstants;  | 
  |  21 |     | 
   import org.kuali.rice.core.framework.persistence.jpa.OrmUtils;  | 
  |  22 |     | 
   import org.kuali.rice.edl.framework.extract.DumpDTO;  | 
  |  23 |     | 
   import org.kuali.rice.edl.framework.extract.FieldDTO;  | 
  |  24 |     | 
   import org.kuali.rice.kew.api.KewApiConstants;  | 
  |  25 |     | 
   import org.kuali.rice.krad.service.KRADServiceLocator;  | 
  |  26 |     | 
     | 
  |  27 |     | 
   import javax.persistence.CascadeType;  | 
  |  28 |     | 
   import javax.persistence.Column;  | 
  |  29 |     | 
   import javax.persistence.Entity;  | 
  |  30 |     | 
   import javax.persistence.FetchType;  | 
  |  31 |     | 
   import javax.persistence.Id;  | 
  |  32 |     | 
   import javax.persistence.OneToMany;  | 
  |  33 |     | 
   import javax.persistence.Table;  | 
  |  34 |     | 
   import javax.persistence.Version;  | 
  |  35 |     | 
   import java.sql.Timestamp;  | 
  |  36 |     | 
   import java.text.DateFormat;  | 
  |  37 |     | 
   import java.text.SimpleDateFormat;  | 
  |  38 |     | 
   import java.util.ArrayList;  | 
  |  39 |     | 
   import java.util.Calendar;  | 
  |  40 |     | 
   import java.util.Date;  | 
  |  41 |     | 
   import java.util.List;  | 
  |  42 |     | 
     | 
  |  43 |     | 
     | 
  |  44 |     | 
     | 
  |  45 |     | 
     | 
  |  46 |     | 
     | 
  |  47 |     | 
     | 
  |  48 |     | 
     | 
  |  49 |     | 
     | 
  |  50 |     | 
   @Entity  | 
  |  51 |     | 
   @Table(name="KREW_EDL_DMP_T")  | 
  |  52 |     | 
     | 
  |  53 |    0 |    public class Dump { | 
  |  54 |     | 
     | 
  |  55 |     | 
           private static final long serialVersionUID = -6136544551121011531L;  | 
  |  56 |     | 
     | 
  |  57 |     | 
       @Id  | 
  |  58 |     | 
           @Column(name="DOC_HDR_ID")  | 
  |  59 |     | 
           private String docId;  | 
  |  60 |     | 
           @Column(name="DOC_TYP_NM")  | 
  |  61 |     | 
           private String docTypeName;  | 
  |  62 |     | 
           @Column(name="DOC_HDR_STAT_CD")  | 
  |  63 |     | 
           private String docRouteStatusCode;  | 
  |  64 |     | 
           @Column(name="DOC_HDR_MDFN_DT")  | 
  |  65 |     | 
           private Timestamp docModificationDate;  | 
  |  66 |     | 
           @Column(name="DOC_HDR_CRTE_DT")  | 
  |  67 |     | 
           private Timestamp docCreationDate;  | 
  |  68 |     | 
           @Column(name="DOC_HDR_TTL")  | 
  |  69 |     | 
           private String docDescription;  | 
  |  70 |     | 
       @Column(name="DOC_HDR_INITR_PRNCPL_ID")  | 
  |  71 |     | 
           private String docInitiatorId;  | 
  |  72 |     | 
       @Column(name="CRNT_NODE_NM")  | 
  |  73 |     | 
           private String docCurrentNodeName;  | 
  |  74 |     | 
       @Version  | 
  |  75 |     | 
           @Column(name="VER_NBR")  | 
  |  76 |     | 
           private Integer lockVerNbr;  | 
  |  77 |     | 
     | 
  |  78 |    0 |        @OneToMany(fetch=FetchType.EAGER,cascade={CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE},mappedBy="dump") | 
  |  79 |     | 
       @Fetch(value = FetchMode.SELECT)  | 
  |  80 |     | 
       private List<Fields> fields = new ArrayList<Fields>();  | 
  |  81 |     | 
     | 
  |  82 |     | 
         | 
  |  83 |     | 
       public void beforeInsert(){ | 
  |  84 |    0 |            OrmUtils.populateAutoIncValue(this, KRADServiceLocator.getEntityManagerFactory().createEntityManager());  | 
  |  85 |    0 |        }  | 
  |  86 |     | 
     | 
  |  87 |     | 
     | 
  |  88 |     | 
           public Timestamp getDocCreationDate() { | 
  |  89 |    0 |                    return docCreationDate;  | 
  |  90 |     | 
           }  | 
  |  91 |     | 
           public void setDocCreationDate(final Timestamp docCreationDate) { | 
  |  92 |    0 |                    this.docCreationDate = docCreationDate;  | 
  |  93 |    0 |            }  | 
  |  94 |     | 
           public String getDocCurrentNodeName() { | 
  |  95 |    0 |                    return docCurrentNodeName;  | 
  |  96 |     | 
           }  | 
  |  97 |     | 
           public void setDocCurrentNodeName(final String docCurrentNodeName) { | 
  |  98 |    0 |                    this.docCurrentNodeName = docCurrentNodeName;  | 
  |  99 |    0 |            }  | 
  |  100 |     | 
           public String getDocDescription() { | 
  |  101 |    0 |                    return docDescription;  | 
  |  102 |     | 
           }  | 
  |  103 |     | 
           public void setDocDescription(final String docDescription) { | 
  |  104 |    0 |                    this.docDescription = docDescription;  | 
  |  105 |    0 |            }  | 
  |  106 |     | 
           public String getDocId() { | 
  |  107 |    0 |                    return docId;  | 
  |  108 |     | 
           }  | 
  |  109 |     | 
           public String getDocInitiatorId() { | 
  |  110 |    0 |                    return docInitiatorId;  | 
  |  111 |     | 
           }  | 
  |  112 |     | 
           public void setDocInitiatorId(final String docInitiatorId) { | 
  |  113 |    0 |                    this.docInitiatorId = docInitiatorId;  | 
  |  114 |    0 |            }  | 
  |  115 |     | 
           public Timestamp getDocModificationDate() { | 
  |  116 |    0 |                    return docModificationDate;  | 
  |  117 |     | 
           }  | 
  |  118 |     | 
           public void setDocModificationDate(final Timestamp docModificationDate) { | 
  |  119 |    0 |                    this.docModificationDate = docModificationDate;  | 
  |  120 |    0 |            }  | 
  |  121 |     | 
           public String getDocRouteStatusCode() { | 
  |  122 |    0 |                    return docRouteStatusCode;  | 
  |  123 |     | 
           }  | 
  |  124 |     | 
           public void setDocRouteStatusCode(final String docRouteStatusCode) { | 
  |  125 |    0 |                    this.docRouteStatusCode = docRouteStatusCode;  | 
  |  126 |    0 |            }  | 
  |  127 |     | 
           public String getDocTypeName() { | 
  |  128 |    0 |                    return docTypeName;  | 
  |  129 |     | 
           }  | 
  |  130 |     | 
           public void setDocTypeName(final String docTypeName) { | 
  |  131 |    0 |                    this.docTypeName = docTypeName;  | 
  |  132 |    0 |            }  | 
  |  133 |     | 
           public Integer getLockVerNbr() { | 
  |  134 |    0 |                    return lockVerNbr;  | 
  |  135 |     | 
           }  | 
  |  136 |     | 
           public void setLockVerNbr(final Integer lockVerNbr) { | 
  |  137 |    0 |                    this.lockVerNbr = lockVerNbr;  | 
  |  138 |    0 |            }  | 
  |  139 |     | 
       public String getFormattedCreateDateTime() { | 
  |  140 |    0 |            long time = getDocCreationDate().getTime();  | 
  |  141 |    0 |            Calendar calendar = Calendar.getInstance();  | 
  |  142 |    0 |            calendar.setTimeInMillis(time);  | 
  |  143 |    0 |            Date date = calendar.getTime();  | 
  |  144 |    0 |            DateFormat dateFormat = new SimpleDateFormat(KewApiConstants.TIMESTAMP_DATE_FORMAT_PATTERN2);  | 
  |  145 |    0 |            return dateFormat.format(date);  | 
  |  146 |     | 
       }  | 
  |  147 |     | 
     | 
  |  148 |     | 
       public String getFormattedCreateDate() { | 
  |  149 |    0 |            long time = getDocCreationDate().getTime();  | 
  |  150 |    0 |            Calendar calendar = Calendar.getInstance();  | 
  |  151 |    0 |            calendar.setTimeInMillis(time);  | 
  |  152 |    0 |            Date date = calendar.getTime();  | 
  |  153 |    0 |            DateFormat dateFormat = RiceConstants.getDefaultDateFormat();  | 
  |  154 |    0 |            return dateFormat.format(date);  | 
  |  155 |     | 
       }  | 
  |  156 |     | 
           public void setDocId(final String docId) { | 
  |  157 |    0 |                    this.docId = docId;  | 
  |  158 |    0 |            }  | 
  |  159 |     | 
     | 
  |  160 |     | 
     | 
  |  161 |     | 
           public List<Fields> getFields() { | 
  |  162 |    0 |                    return fields;  | 
  |  163 |     | 
           }  | 
  |  164 |     | 
     | 
  |  165 |     | 
           public void setFields(final List<Fields> fields) { | 
  |  166 |    0 |                    this.fields = fields;  | 
  |  167 |    0 |            }  | 
  |  168 |     | 
             | 
  |  169 |     | 
           public static DumpDTO to(Dump dump) { | 
  |  170 |    0 |                    if (dump == null) { | 
  |  171 |    0 |                            return null;  | 
  |  172 |     | 
                   }  | 
  |  173 |    0 |                    DumpDTO dumpDTO = new DumpDTO();  | 
  |  174 |    0 |                    dumpDTO.setDocCreationDate(dump.getDocCreationDate());  | 
  |  175 |    0 |                    dumpDTO.setDocCurrentNodeName(dump.getDocCurrentNodeName());  | 
  |  176 |    0 |                    dumpDTO.setDocDescription(dump.getDocDescription());  | 
  |  177 |    0 |                    dumpDTO.setDocId(dump.getDocId());  | 
  |  178 |    0 |                    dumpDTO.setDocInitiatorId(dump.getDocInitiatorId());  | 
  |  179 |    0 |                    dumpDTO.setDocModificationDate(dump.getDocModificationDate());  | 
  |  180 |    0 |                    dumpDTO.setDocRouteStatusCode(dump.getDocRouteStatusCode());  | 
  |  181 |    0 |                    dumpDTO.setDocTypeName(dump.getDocTypeName());  | 
  |  182 |    0 |                    dumpDTO.setLockVerNbr(dump.getLockVerNbr());  | 
  |  183 |    0 |                    List<FieldDTO> fields = new ArrayList<FieldDTO>();  | 
  |  184 |    0 |                    for (Fields field : dump.getFields()) { | 
  |  185 |    0 |                            fields.add(Fields.to(field));  | 
  |  186 |     | 
                   }  | 
  |  187 |    0 |                    dumpDTO.setFields(fields);  | 
  |  188 |    0 |                    return dumpDTO;  | 
  |  189 |     | 
           }  | 
  |  190 |     | 
             | 
  |  191 |     | 
           public static Dump from(DumpDTO dumpDTO) { | 
  |  192 |    0 |                    if (dumpDTO == null) { | 
  |  193 |    0 |                            return null;  | 
  |  194 |     | 
                   }  | 
  |  195 |    0 |                    Dump dump = new Dump();  | 
  |  196 |    0 |                    dump.setDocCreationDate(dumpDTO.getDocCreationDate());  | 
  |  197 |    0 |                    dump.setDocCurrentNodeName(dumpDTO.getDocCurrentNodeName());  | 
  |  198 |    0 |                    dump.setDocDescription(dumpDTO.getDocDescription());  | 
  |  199 |    0 |                    dump.setDocId(dumpDTO.getDocId());  | 
  |  200 |    0 |                    dump.setDocInitiatorId(dumpDTO.getDocInitiatorId());  | 
  |  201 |    0 |                    dump.setDocModificationDate(dumpDTO.getDocModificationDate());  | 
  |  202 |    0 |                    dump.setDocRouteStatusCode(dumpDTO.getDocRouteStatusCode());  | 
  |  203 |    0 |                    dump.setDocTypeName(dumpDTO.getDocTypeName());  | 
  |  204 |    0 |                    dump.setLockVerNbr(dumpDTO.getLockVerNbr());  | 
  |  205 |    0 |                    List<Fields> fields = new ArrayList<Fields>();  | 
  |  206 |    0 |                    for (FieldDTO fieldDTO : dumpDTO.getFields()) { | 
  |  207 |    0 |                            fields.add(Fields.from(fieldDTO, dump));  | 
  |  208 |     | 
                   }  | 
  |  209 |    0 |                    dump.setFields(fields);  | 
  |  210 |    0 |                    return dump;  | 
  |  211 |     | 
           }  | 
  |  212 |     | 
     | 
  |  213 |     | 
   }  | 
  |  214 |     | 
     |