[KULRICE-11333] samples for M44 Created: 03/Dec/13 Updated: 21/Apr/14 Resolved: 17/Dec/13 |
|
Status: | Closed |
Project: | Kuali Rice Development |
Component/s: | Development |
Affects Version/s: | None |
Fix Version/s: | 2.4 |
Security Level: | Public (Public: Anyone can view) |
Type: | Task | Priority: | Major |
Reporter: | Claus Niesen | Assignee: | Erik Meade |
Resolution: | Fixed | Votes: | 0 |
Labels: | None | ||
Remaining Estimate: | 0 minutes | ||
Time Spent: | 2 days, 6 hours, 35 minutes | ||
Original Estimate: | 1 day |
Attachments: |
![]() ![]() ![]() ![]() ![]() ![]() |
||||||||||||||||||||||||||||
Issue Links: |
|
||||||||||||||||||||||||||||
Epic Link: | Maintenance Equivalence | ||||||||||||||||||||||||||||
Rice Module: |
KRAD
|
||||||||||||||||||||||||||||
KRAD Feature Area: |
Maintenance
|
||||||||||||||||||||||||||||
Application Requirement: |
Rice
|
||||||||||||||||||||||||||||
Sprint: | 2.4.0-m3 KRAD Sprint 4 | ||||||||||||||||||||||||||||
KAI Review Status: | Not Required | ||||||||||||||||||||||||||||
KTI Review Status: | Not Required | ||||||||||||||||||||||||||||
Code Review Status: | Not Required | ||||||||||||||||||||||||||||
Include in Release Notes?: |
Yes
|
Description |
M: Automatically clears out secure fields upon a BO copy operation. The TravelerDetail has a masked secure fields. For the sample we'll need a maintenance document view and lookup to copy the BO. In KNS this was implemented in KualiMaintenanceDocumentAction.clearUnauthorizedNewFields |
Comments |
Comment by Erik Meade [ 09/Dec/13 ] |
Permissions |
Comment by Erik Meade [ 10/Dec/13 ] |
|
Comment by Erik Meade [ 10/Dec/13 ] |
Work around Doc Type Maintenance exception |
Comment by Erik Meade [ 11/Dec/13 ] |
KRAD Demo Lookup Basic copy link is http://localhost:8080/krad-dev/kr-krad/maintenance?viewTypeName=MAINTENANCE&number=a1&maintenanceCopy&dataObjectClassName=org.kuali.rice.krad.demo.travel.dataobject.TravelAccount |
Comment by Erik Meade [ 12/Dec/13 ] |
Comment by Erik Meade [ 12/Dec/13 ] |
Traveler Details Inquiry URL (not phone number differences between backdoorId dev1 and admin) http://env14.rice.kuali.org/kr-krad/inquiry?methodToCall=start&dataObjectClassName=edu.sampleu.travel.dataobject.TravelerDetail&id=1&backdoorId=dev1 |
Comment by Erik Meade [ 13/Dec/13 ] |
Couple of validation errors that need to be tracked down for Submit, the dateOfBirth validation error is odd as the dateOfBirth input is in this format, maybe it's not getting copied so it's blank. The {0} value '{1}' is not formatted correctly, Looks like an issue between 0-1 and boolean values, not to mention the missing message (needs to be added to property file maybe) in the error itself. |
Comment by Erik Meade [ 13/Dec/13 ] |
Hacked up the code base to get around Permission and Validation issues. Upon submitting the maintenanceCopy, the UI reports success, however the document is not in the DB and there is an error and JTA Roolback stack trace in the logs: [EL Warning]: 2013-12-13 14:17:51.285--UnitOfWork(7941180)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '' for key 'PRIMARY' Error Code: 1062 Call: INSERT INTO TRVL_TRAVELER_DTL_T (ACTV_IND, citizenship, city_nm, country_cd, customer_num, doc_nbr, drive_lic_exp_dt, drive_lic_num, email_addr, first_nm, gender, last_nm, MIDDLENAME, non_res_alien, OBJ_ID, phone_nbr, EMP_PRINCIPAL_ID, postal_state_cd, addr_line_1, addr_line_2, traveler_typ_cd, VER_NBR, postal_cd) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [23 parameters bound] Query: InsertObjectQuery(edu.sampleu.travel.dataobject.TravelerDetail@27d82f0a) 2013-12-13 14:17:51,285 [TRAVEL/KSB-pool-1-thread-2] u:dev1/d: INFO org.objectweb.jotm - Rollback during beforeCompletion in SubCoordinator.commit_one_phase 2013-12-13 14:17:51,287 [TRAVEL/KSB-pool-1-thread-2] u:dev1/d: ERROR org.kuali.rice.ksb.messaging.MessageServiceInvoker - Error processing message: [RouteQueue: , routeQueueId=479, ipNumber=192.168.170.1applicationId=TRAVEL, serviceName={http://rice.kuali.org/kew/v2_0}documentProcessingQueue, methodName=processWithOptions, queueStatus=R, queuePriority=5, queueDate=2013-12-13 14:17:51.059] org.springframework.transaction.UnexpectedRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is javax.transaction.RollbackException at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1014) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:755) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:724) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:148) at org.kuali.rice.ksb.messaging.MessageServiceInvoker.run(MessageServiceInvoker.java:67) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: javax.transaction.RollbackException at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:331) at org.objectweb.jotm.Current.commit(Current.java:474) at sun.reflect.GeneratedMethodAccessor147.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.kuali.rice.core.framework.persistence.jta.UserTransactionFactoryBean$LazyInitializationHandler.invoke(UserTransactionFactoryBean.java:73) at $Proxy13.commit(Unknown Source) at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1011) ... 7 more 2013-12-13 14:17:51,287 [TRAVEL/KSB-pool-1-thread-2] u:dev1/d: ERROR org.kuali.rice.ksb.messaging.exceptionhandling.DefaultExceptionServiceImpl - Exception caught processing message 479 {http://rice.kuali.org/kew/v2_0}documentProcessingQueue: org.springframework.transaction.UnexpectedRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is javax.transaction.RollbackException |
Comment by Erik Meade [ 13/Dec/13 ] |
SQL Exception in logs without Incident report. UI message was that document submission was successful. KULRICE-10341 |
Comment by Erik Meade [ 17/Dec/13 ] |
M44 Sample URL (dev1) http://localhost:8080/krad-dev/kr-krad/maintenance?viewTypeName=MAINTENANCE&id=1&methodToCall=maintenanceCopy&dataObjectClassName=edu.sampleu.travel.dataobject.TravelerDetail&backdoorId=dev1 M44 Sample URL (admin) http://localhost:8080/krad-dev/kr-krad/maintenance?viewTypeName=MAINTENANCE&id=1&methodToCall=maintenanceCopy&dataObjectClassName=edu.sampleu.travel.dataobject.TravelerDetail&backdoorId=admin |
Comment by Erik Meade [ 17/Dec/13 ] |
TravelerDetailMainenanceValidationError.png date validation error was due to the Drivers license exp date, adding the field to the form caused it to be formatted properly. Liability Insurance requires 0 1 or blank, vs true/false. |
Comment by Erik Meade [ 17/Dec/13 ] |
ClearSecureBoCopyBlankId.png - Notice the blank id, which then causes a duplicate primary key after the first copy. Doc Number is ?? that isn't right is it? Phone Number is null, which is expected behavior as Phone Number is the secured field. |
Comment by Erik Meade [ 17/Dec/13 ] |
M44KnsExample.png - KFS user ahrens on Main Menu ACHBank search (routing numbers) (Rice KNS example was in travelapp has been removed from sampleapp) org/kuali/kfs/pdp/businessobject/datadictionary/ACHBank.xml: <bean id="ACHBank-bankRoutingNumber-parentBean" abstract="true" parent="AttributeDefinition"> <property name="name" value="bankRoutingNumber"/> <property name="forceUppercase" value="false"/> <property name="label" value="Bank Routing Number"/> <property name="shortLabel" value="Bank Routing Number"/> <property name="maxLength" value="9"/> <property name="validationPattern"> <ref bean="NumericValidation" /> </property> <property name="required" value="true"/> <property name="control"> <bean parent="TextControlDefinition" p:size="9"/> </property> <property name="attributeSecurity"> <bean parent="AttributeSecurity"> <property name="mask" value="true"/> <property name="maskFormatter"> <bean parent="MaskFormatterLiteral" p:literal="*********"/> </property> </bean> </property> </bean> |
Comment by Erik Meade [ 17/Dec/13 ] |
Example completed, but there are implementation issues with the copy functionality (blank id, ?? doc number) |