From: David T. <dav...@us...> - 2004-01-17 00:05:59
|
Update of /cvsroot/wonder/Wonder/Common/Frameworks/ERDirectToWeb/Sources/er/directtoweb In directory sc8-pr-cvs1:/tmp/cvs-serv13331/Sources/er/directtoweb Modified Files: ERD2WPage.java Log Message: if we are using the ERXValidation dictionary in the EOModel to define validation rules AND if we are using keyPaths like person.firstname instead of firstname because we have something like: user <<-> person and are editing an user instance then without this fix here the ERD2WPropertyKey would not recognize that 'his' value failed which means: property name not red Index: ERD2WPage.java =================================================================== RCS file: /cvsroot/wonder/Wonder/Common/Frameworks/ERDirectToWeb/Sources/er/directtoweb/ERD2WPage.java,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** ERD2WPage.java 27 Nov 2003 17:07:01 -0000 1.35 --- ERD2WPage.java 17 Jan 2004 00:05:55 -0000 1.36 *************** *** 175,183 **** /** Handles validation errors. */ public void validationFailedWithException(Throwable e, Object value, String keyPath) { ! if (validationLog.isDebugEnabled()) ! validationLog.debug("Validation failed with exception: " + e + " value: " + value + " keyPath: " + keyPath); if (shouldCollectValidationExceptions()) { if (e instanceof ERXValidationException) { ERXValidationException erv = (ERXValidationException)e; erv.setContext(d2wContext()); errorKeyOrder.addObject(d2wContext().displayNameForProperty()); --- 175,192 ---- /** Handles validation errors. */ public void validationFailedWithException(Throwable e, Object value, String keyPath) { ! if (validationLog.isDebugEnabled()) { ! validationLog.debug("Validation failed with exception: " + e + " value: " + value + " keyPath: " + keyPath); ! } if (shouldCollectValidationExceptions()) { if (e instanceof ERXValidationException) { ERXValidationException erv = (ERXValidationException)e; + + //DT: if we are using the ERXValidation dictionary in the EOModel to define validation rules AND + //if we are using keyPaths like person.firstname instead of firstname because we have something like: + //user <<-> person and are editing an user instance then without this fix here the ERD2WPropertyKey + //would not recognize that 'his' value failed. + if (keyPath.equals("value")) { + keyPath = ""+d2wContext().valueForKey("propertyKey"); + } erv.setContext(d2wContext()); errorKeyOrder.addObject(d2wContext().displayNameForProperty()); *************** *** 278,282 **** NDC.push("Page: " + getClass().getName()+ (d2wContext()!= null ? (" - Configuration: "+d2wContext().valueForKey(Keys.pageConfiguration)) : "")); try { ! super.takeValuesFromRequest(r, c); } finally { NDC.pop(); --- 287,294 ---- NDC.push("Page: " + getClass().getName()+ (d2wContext()!= null ? (" - Configuration: "+d2wContext().valueForKey(Keys.pageConfiguration)) : "")); try { ! super.takeValuesFromRequest(r, c); ! }catch(RuntimeException e) { ! log.error(e, e); ! throw e; } finally { NDC.pop(); |