|
From: Eric P. <th...@us...> - 2010-12-15 01:01:24
|
Update of /cvsroot/sandev/sand/platform/tools/build/generate/org/sandev/generator In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv11679 Modified Files: XMLSerializerGenerator.java Log Message: After yet another uninformative crash where readField found something unexpected, I actually added some context through an additional method parameter that gives a clue where we were coming from. So hopefully the next time we are trying to decipher the crash message from a corrupted file it will be ever so slightly easier. Index: XMLSerializerGenerator.java =================================================================== RCS file: /cvsroot/sandev/sand/platform/tools/build/generate/org/sandev/generator/XMLSerializerGenerator.java,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** XMLSerializerGenerator.java 4 Nov 2010 16:52:55 -0000 1.25 --- XMLSerializerGenerator.java 15 Dec 2010 00:53:22 -0000 1.26 *************** *** 298,302 **** out.println(" info(\"XMLSerializer.staticRead original failure: \" + e);"); out.println(" e.printStackTrace();"); ! out.println(" throw new IOException(\"Read failure: \" + e);"); out.println(" }"); out.println(" }"); --- 298,303 ---- out.println(" info(\"XMLSerializer.staticRead original failure: \" + e);"); out.println(" e.printStackTrace();"); ! out.println(" throw new IOException(\"Read failure: \" + e +"); ! out.println(" \" XMLStandardReader failure: \" + e2);"); out.println(" }"); out.println(" }"); *************** *** 765,769 **** out.println(" StreamTokenizer st=getStreamToker(in);"); out.println(" String className=readElementLabel(st);"); ! out.println(" SandAttrVal av=readField(st);"); out.println(" return read(className,st);"); out.println(" }"); --- 766,770 ---- out.println(" StreamTokenizer st=getStreamToker(in);"); out.println(" String className=readElementLabel(st);"); ! out.println(" SandAttrVal av=readField(st,\"top level read\");"); out.println(" return read(className,st);"); out.println(" }"); *************** *** 778,782 **** out.println(" StreamTokenizer st=getStreamToker(in);"); out.println(" String className=readElementLabel(st);"); ! out.println(" SandAttrVal av=readField(st);"); out.println(" return readArray(className,st);"); out.println(" }"); --- 779,783 ---- out.println(" StreamTokenizer st=getStreamToker(in);"); out.println(" String className=readElementLabel(st);"); ! out.println(" SandAttrVal av=readField(st,\"top level readArray\");"); out.println(" return readArray(className,st);"); out.println(" }"); *************** *** 938,942 **** out.println(" ((label!=null)&&(!label.equals(\"</" + className + ">\")));"); out.println(" label=readElementLabel(st)) {"); ! out.println(" SandAttrVal sav=readField(st);"); out.println(" String fieldName=sav.getVal();"); out.println(" if(fieldName==null) {"); --- 939,943 ---- out.println(" ((label!=null)&&(!label.equals(\"</" + className + ">\")));"); out.println(" label=readElementLabel(st)) {"); ! out.println(" SandAttrVal sav=readField(st,\"read" + className + "\");"); out.println(" String fieldName=sav.getVal();"); out.println(" if(fieldName==null) {"); *************** *** 1109,1113 **** out.println(" if(label.equals(endToken)) {"); out.println(" throw new IOException(\"XMLSerializer.read" + className + "Array encountered \" + endToken + \" prematurely\"); }"); ! out.println(" sav=readField(st); //read the field and ignore it"); out.println(" retval[i]=(" + className + ")read(label,st); }"); out.println(" String label=readElementLabel(st);"); --- 1110,1114 ---- out.println(" if(label.equals(endToken)) {"); out.println(" throw new IOException(\"XMLSerializer.read" + className + "Array encountered \" + endToken + \" prematurely\"); }"); ! out.println(" sav=readField(st,\"read" + className + "[]\"); //read the field and ignore it"); out.println(" retval[i]=(" + className + ")read(label,st); }"); out.println(" String label=readElementLabel(st);"); *************** *** 1153,1157 **** out.println(" ((label!=null)&&(!label.equals(\"</" + className + "Update>\")));"); out.println(" label=readElementLabel(st)) {"); ! out.println(" SandAttrVal sav=readField(st);"); out.println(" String fieldName=sav.getVal();"); out.println(" if(fieldName==null) {"); --- 1154,1158 ---- out.println(" ((label!=null)&&(!label.equals(\"</" + className + "Update>\")));"); out.println(" label=readElementLabel(st)) {"); ! out.println(" SandAttrVal sav=readField(st,\"read" + className + "Update\");"); out.println(" String fieldName=sav.getVal();"); out.println(" if(fieldName==null) {"); *************** *** 1208,1212 **** out.println(" ((label!=null)&&(!label.equals(\"</" + className + "Query>\")));"); out.println(" label=readElementLabel(st)) {"); ! out.println(" SandAttrVal sav=readField(st);"); out.println(" String fieldName=sav.getVal();"); out.println(" if(fieldName==null) {"); --- 1209,1213 ---- out.println(" ((label!=null)&&(!label.equals(\"</" + className + "Query>\")));"); out.println(" label=readElementLabel(st)) {"); ! out.println(" SandAttrVal sav=readField(st,\"read" + className + "Query\");"); out.println(" String fieldName=sav.getVal();"); out.println(" if(fieldName==null) {"); *************** *** 1261,1265 **** out.println(" ((label!=null)&&(!label.equals(\"</" + className + "Collection>\")));"); out.println(" label=readElementLabel(st)) {"); ! out.println(" SandAttrVal sav=readField(st);"); out.println(" String fieldName=sav.getVal();"); out.println(" if(fieldName==null) {"); --- 1262,1266 ---- out.println(" ((label!=null)&&(!label.equals(\"</" + className + "Collection>\")));"); out.println(" label=readElementLabel(st)) {"); ! out.println(" SandAttrVal sav=readField(st,\"read" + className + "Collection\");"); out.println(" String fieldName=sav.getVal();"); out.println(" if(fieldName==null) {"); *************** *** 1365,1378 **** out.println(" * other than FIELDNAME"); out.println(" */"); ! out.println(" protected static SandAttrVal readField(StreamTokenizer st)"); out.println(" throws IOException"); out.println(" {"); out.println(" SandAttrVal retval=readAttrVal(st);"); out.println(" if(retval==null) {"); ! out.println(" throw new IOException(\"XMLSerializer.readField got a null SandAttrVal.\"); }"); out.println(" if(retval.getAttr()==null) {"); ! out.println(" throw new IOException(\"XMLSerializer.readField got a null attribute\"); }"); out.println(" if(!(retval.getAttr()).equals(FIELDNAME)) {"); ! out.println(" throw new IOException(\"XMLSerializer.readField got a \" + retval.getAttr() + \" instead.\"); }"); out.println(" return retval;"); out.println(" }"); --- 1366,1379 ---- out.println(" * other than FIELDNAME"); out.println(" */"); ! out.println(" protected static SandAttrVal readField(StreamTokenizer st,String context)"); out.println(" throws IOException"); out.println(" {"); out.println(" SandAttrVal retval=readAttrVal(st);"); out.println(" if(retval==null) {"); ! out.println(" throw new IOException(\"XMLSerializer.readField got a null SandAttrVal. \" + context); }"); out.println(" if(retval.getAttr()==null) {"); ! out.println(" throw new IOException(\"XMLSerializer.readField got a null attribute. \" + context); }"); out.println(" if(!(retval.getAttr()).equals(FIELDNAME)) {"); ! out.println(" throw new IOException(\"XMLSerializer.readField got \\\"\" + retval.getAttr() + \"\\\" instead. \" + context); }"); out.println(" return retval;"); out.println(" }"); |