Avik Sengupta wrote: >1. PTG stands for "Parse ThinG" !! It actually referes to the 1 byte token type >field in a token. We usually use it when referencing a particular token >instance. > >2. The UnsopportedOperationException i thought is being caught in formula >record, so should not be passed on to clients. You should just get a warning >message on screen, not an exception to catch. Which is what happens if u read a >file using the formula viewer or the biff viewer.. Strange .. does the event >api call Ptg.createPtg directly?? i'll check. > > The unsupported operation exception should be a checked exception. Its just like a file operation failing for some reason. We should lazy parse the PTGs, only when the formula information is asked for, that should be where you must catch the checked exception. The high-level API should always require you to catch it on an operation. What if an invalid PTG got stored somehow, say file corruption? What is a user passed "BITEME(A1:A2)"? This is a predictable error. HSSF not handling a particular PTG is an expectable situation, it WILL happen, you (the client) SHOULD have code to handle it.
The event API uses the low level records directly. >3. As for three values of token ids, see pgs 3.3.2-3.3.4 of the openoffice xl >doc. And you are right, it can be solved by adding that piece of code to >Ptg.java. That is the proper way, since reserialising issues are handled >already (believe me or read the code ;-) > >Thanks for helping us track all these better. > >Regards >- >Avik > > -Andy > > >Quoting "Hoffman, Jason" <[EMAIL PROTECTED]>: > > > >>As always, thank you to all the poi contributors, I appreciate your hard >>work. >> >>Could someone explain what "Ptg" stands for? I have assumed the T is for >>token, but what is the rest? >> >>I have downloaded and compiled the formula changes that were made this >>afternoon by Avik. I now get the Unsupported...Exception ( as expected >>from >>looking at the latest code ) when processing one of my spreadsheets. The >>Id >>of the Ptg Token is "5a". The cell has the formula "='Sheet One'!A9", and >>the cell is located in "Sheet Two". From reading a recent bug report, I >>understand that formula Sheet references is not yet supported, so my >>question is this: >> >>From looking at the openOffice pdf file, the Token Id list in section 3.5.5 >>has 3 values for each Token Name. For example, in this case, it is a >>"tRef3d", which has the values "3A", "5A", and "7A" listed. The current >>code uses the sid "3A", whereas my spreadsheet with the above formula, has >>an id of "5A". Changing the sid and recompiling, correctly aleviates THIS >>exception. >> >>Can someone explain why there are 3 values for the Token Id's, and how/if >>this is going to be addressed with the current 1 sid per class strucutre? >>Obviously, if I change the value to "5A", then the "3A"s will never be >>matched. >> >>I believe we might be able to identify this by placing multiple case >>statements for each Ptg in Ptg.java. For Example: >>case Ref3DPtg.sid: >>case Ref3DPtg.sid+32: >>case Ref3DPtg.sid+64: >>... >>break; >> >>I'm not sure this is the proper way, since the record will still only have >>one sid, which could cause problems when reserializing... >> >> >>Jason Hoffman >> >> >>-- >>To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> >>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> >> >> >> >> > > > >-- >To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> >For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
