Pulled latest CVS head, and the library will no longer read Primavera files that have more than 30 user-defined fields. Appears that after all 30 equivalent MS Project fields are used (Text1, Text2, ...), it simply errors out. Not sure what the appropriate solution is, but would be nice to at least be able to disable this behavior so that Primavera files can be still be read by the library if the user-defined fields are not needed.
Attached example file.
Stack trace:
Caused by: java.lang.IllegalArgumentException: No enum const class net.sf.mpxj.TaskField.TEXT31
at java.lang.Enum.valueOf(Unknown Source)
at net.sf.mpxj.TaskField.valueOf(TaskField.java:32)
at net.sf.mpxj.primavera.PrimaveraReader.addUserDefinedField(PrimaveraReader.java:498)
at net.sf.mpxj.primavera.PrimaveraReader.parseTaskUDF(PrimaveraReader.java:514)
at net.sf.mpxj.primavera.PrimaveraReader.processUserDefinedFields(PrimaveraReader.java:135)
at net.sf.mpxj.primavera.PrimaveraXERFileReader.processUserDefinedFields(PrimaveraXERFileReader.java:331)
at net.sf.mpxj.primavera.PrimaveraXERFileReader.read(PrimaveraXERFileReader.java:95)
at net.sf.mpxj.reader.AbstractProjectReader.read(AbstractProjectReader.java:49)
at com.bah.dice.xmlBuilder.view.XmlBuilder.mergeFiles(XmlBuilder.java:870)
... 37 more
Fixed in Git.