On 7/9/03 9:14 AM, "Praveen Mathew" <[EMAIL PROTECTED]> wrote:
> Ryan, > > Actually its a kind of pressure situation here. I need to > do the Stream writing & modifying by this Friday. So I have decided to do > night outs to catch up with your working time. I am seeking your Valuable > help for this. > > I have a request. I do understand the importance of the test cases for the > code we write, but can we for a time being, focus a bit more on the > actual writing of streams as whole to make the Doc file & try some > modification of streams. Then we can complete all the test cases. > This is exactly the opposite of how you should work. You should write the unit tests first and then the code. I realize you're in a hurry, but we have learned from long experience in this project that unit tests are neither optional, nor does saving them for later save time. You'll change something...something that worked 5 minutes before will stop working and you'll spend all night figuring it out....Compare this to WITH unit tests where the unit test fails and you know immediately WHAT broke. > This can actually make my life better here. I badly need to write a Doc , > modifying its Streams atleast in the the simplest way that can be done. > > Please give a serious thought on this > > Thanks & Regards > Praveen > > > > > > > "Ryan Ackley" <[EMAIL PROTECTED]> > 09/07/2003 17:34 > Please respond to "POI Developers List" > > > To: "POI Developers List" <[EMAIL PROTECTED]> > cc: > Subject: Re: New FFN & Fontable classes > > > > Yes, if everything goes according to plan. But you never know... > > Ryan > > ----- Original Message ----- > From: "Praveen Mathew" <[EMAIL PROTECTED]> > To: "POI Developers List" <[EMAIL PROTECTED]> > Sent: Wednesday, July 09, 2003 6:19 AM > Subject: Re: New FFN & Fontable classes > > >> Ryan, >> >> Will we be able to make the code for writing out the Mainstream & >> tableStream after modifying them in a week? I had actually commited that >> in my last deadline to my boss. >> >> By modifying, I mean to add an extra word into the text stream and give > a >> different font to it. >> >> Thanks & Regards >> Praveen >> >> >> >> >> >> >> "Ryan Ackley" <[EMAIL PROTECTED]> >> 09/07/2003 00:16 >> Please respond to "POI Developers List" >> >> >> To: "POI Developers List" <[EMAIL PROTECTED]> >> cc: >> Subject: Re: New FFN & Fontable classes >> >> >> >> thnx for the tip >> >> ----- Original Message ----- >> From: "Avik Sengupta" <[EMAIL PROTECTED]> >> To: "POI Developers List" <[EMAIL PROTECTED]> >> Sent: Tuesday, July 08, 2003 1:45 PM >> Subject: Re: New FFN & Fontable classes >> >> >>> To compare any array in general, >>> >>> java.util.Arrays.equals(array1, array2) >>> http://java.sun.com/j2se/1.4.1/docs/api/java/util/Arrays.html >>> >>> On Tue, 2003-07-08 at 21:54, Ryan Ackley wrote: >>>> try this: >>>> >>>> boolean test = new String(name1).equals(new String(name2)); >>>> >>>> ----- Original Message ----- >>>> From: "Praveen Mathew" <[EMAIL PROTECTED]> >>>> To: "POI Developers List" <[EMAIL PROTECTED]> >>>> Sent: Tuesday, July 08, 2003 11:55 AM >>>> Subject: Re: New FFN & Fontable classes >>>> >>>> >>>>> How to compare 2 char arrays in java?? Is there a counterpart for >> strcmp() >>>>> function?? >>>>> char [] name1; >>>>> char [] name2; >>>>> >>>>> >>>>> Thanks & Regards >>>>> Praveen >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> "Ryan Ackley" <[EMAIL PROTECTED]> >>>>> 08/07/2003 18:41 >>>>> Please respond to "POI Developers List" >>>>> >>>>> >>>>> To: "POI Developers List" <[EMAIL PROTECTED]> >>>>> cc: >>>>> Subject: Re: New FFN & Fontable classes >>>>> >>>>> >>>>> >>>>> Do you understand how assertEquals works? It looks for an equals >> method in >>>>> each object. The equals method is implemented in java.lang.Object. >> For >> it >>>>> to >>>>> be any use, you have to override it in your own classes. Override >> the >>>>> equals >>>>> method in the FontTable and Ffn classes. In the FontTable equals >> method, >>>>> compare the all members and loop through the Ffn array. In the Ffn >> equals >>>>> method, you should only have to compare all the members. >>>>> >>>>> Don't worry about TestFfn because the TestFontTable class will be >> testing >>>>> all the reading and writing code in Ffn. We may need a TestFfn > later >> when >>>>> we >>>>> add more functionality. >>>>> >>>>> ----- Original Message ----- >>>>> From: "Praveen Mathew" <[EMAIL PROTECTED]> >>>>> To: "POI Developers List" <[EMAIL PROTECTED]> >>>>> Sent: Tuesday, July 08, 2003 8:32 AM >>>>> Subject: Re: New FFN & Fontable classes >>>>> >>>>> >>>>>> Ryan, >>>>>> How should I compare the two fontTable classes. Can > I >> use >>>>>> assertEquals(Object, Object) >>>>>> function, or shall I do a memberwise comparison ?. Then should > I >> loop >>>>>> through each Ffn objects & dp a memberwise comparison for them >> also? >>>>>> >>>>>> How should the seperate TestFfn class be implemented? should I >> make >> the >>>>>> array of Ffn objects & compare them? >>>>>> >>>>>> Thanks & Regards >>>>>> Praveen >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> "Ryan Ackley" <[EMAIL PROTECTED]> >>>>>> 07/07/2003 19:22 >>>>>> Please respond to "POI Developers List" >>>>>> >>>>>> >>>>>> To: "POI Developers List" > <[EMAIL PROTECTED]> >>>>>> cc: >>>>>> Subject: Re: New FFN & Fontable classes >>>>>> >>>>>> >>>>>> >>>>>> I think your English is very good and articulate. The only thing > I >>>>> noticed >>>>>> about your English was the use of the word "doubt". When you > first >>>>> started >>>>>> emailing the list I misunderstood your meaning on one occassion. >> In >> the >>>>>> USA, >>>>>> the word "doubt" is usually associated with personal negative >> feelings >>>>>> towards the subject of the sentence. For example, "I have > serious >> doubts >>>>>> about JavaServerFaces being a good technology". and "I doubt > that >> it is >>>>>> possible" >>>>>> >>>>>> Ryan >>>>>> >>>>>> ----- Original Message ----- >>>>>> From: "Praveen Mathew" <[EMAIL PROTECTED]> >>>>>> To: "POI Developers List" <[EMAIL PROTECTED]> >>>>>> Sent: Monday, July 07, 2003 9:34 AM >>>>>> Subject: Re: New FFN & Fontable classes >>>>>> >>>>>> >>>>>>> Sorry again for my poor English, but I am happy that you could >>>>>> understand >>>>>>> what I meant. >>>>>>> >>>>>>> Thanks for the answer, Ryan. >>>>>>> >>>>>>> Thanks & Regards >>>>>>> Praveen >>>>>>> >>>>>>> Praveen Mathew >>>>>>> IBM Software Labs,Airport Road, >>>>>>> Bangalore - 560 017,India. >>>>>>> Ph : +91- 80 - 504 4609 (Direct) >>>>>>> +91 - 80 - 5262355 Extn: 3609 >>>>>>> Email: [EMAIL PROTECTED] >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> "Ryan Ackley" <[EMAIL PROTECTED]> >>>>>>> 07/07/2003 18:36 >>>>>>> Please respond to "POI Developers List" >>>>>>> >>>>>>> >>>>>>> To: "POI Developers List" >> <[EMAIL PROTECTED]> >>>>>>> cc: >>>>>>> Subject: Re: New FFN & Fontable classes >>>>>>> >>>>>>> >>>>>>> >>>>>>> Praveen, you use the english word "doubt" when you should be >> using >> the >>>>>>> word >>>>>>> "question". There is a subtle difference in their meaning and >> contexts >>>>>> of >>>>>>> use. I am only telling you as a friend because it can lead to >>>>>>> misunderstandings. It doesn't matter to me which word you use >> because >>>>> I >>>>>>> understand what you mean. >>>>>>> >>>>>>> To answer your question, the HWPFOutputStream keeps track of > the >>>>> current >>>>>>> offset. All we have to do is get the offset before we write > the >>>>>> FontTable >>>>>>> and after we write the FontTable and find the difference and > we >> will >>>>>> have >>>>>>> the size. >>>>>>> >>>>>>> Ryan >>>>>>> >>>>>>> ----- Original Message ----- >>>>>>> From: "Praveen Mathew" <[EMAIL PROTECTED]> >>>>>>> To: "POI Developers List" <[EMAIL PROTECTED]> >>>>>>> Sent: Monday, July 07, 2003 7:58 AM >>>>>>> Subject: Re: New FFN & Fontable classes >>>>>>> >>>>>>> >>>>>>>> Thanks for the explanation..... >>>>>>>> but I have a doubt >>>>>>>> When you are going to modify a read stream(some time down > the >> line), >>>>>> you >>>>>>>> will be making the Fontable object with the name of Fonts. > So >> it >>>>> will >>>>>> be >>>>>>>> the Fontable object that knows about the total count of > bytes >> of >>>>>>> sttbfffn. >>>>>>>> So how can this info be filled into FIB from somewhere > else?? >>>>>>>> >>>>>>>> Thanks & Regards >>>>>>>> Praveen >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> "Ryan Ackley" <[EMAIL PROTECTED]> >>>>>>>> 07/07/2003 17:05 >>>>>>>> Please respond to "POI Developers List" >>>>>>>> >>>>>>>> >>>>>>>> To: "POI Developers List" >> <[EMAIL PROTECTED]> >>>>>>>> cc: >>>>>>>> Subject: Re: New FFN & Fontable classes >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> You don't need to create a new doc file. You only have to >> write >> the >>>>>>>> FontTable to an HWPFFileSystem, then use that same file > system >> to >>>>>> create >>>>>>>> the >>>>>>>> new FontTable. Look at the following code (assume that you >> already >>>>>> have >>>>>>> a >>>>>>>> FontTable object): >>>>>>>> >>>>>>>> HWPFFileSystem sys = new HWPFFileSystem(); >>>>>>>> >>>>>>>> fontTable.writeTo(sys); >>>>>>>> >>>>>>>> HWPFOutputStream tableStream = sys.getStream("1Table"); >>>>>>>> >>>>>>>> FontTable newFontTable = new >> FontTable(tableStream.toByteArray(), 0, >>>>>>>> tableStream.getOffset()); >>>>>>>> >>>>>>>> //end of example >>>>>>>> >>>>>>>> Also, you handle writing to the FIB in your FontTable class. >> Don't >>>>> do >>>>>>> this >>>>>>>> because this will be handled somewhere else. You pass in an >> fcMin to >>>>>> the >>>>>>>> writeTo function. This argument is unnecessary. >>>>>>>> >>>>>>>> Ryan >>>>>>>> >>>>>>>> ----- Original Message ----- >>>>>>>> From: "Praveen Mathew" <[EMAIL PROTECTED]> >>>>>>>> To: "POI Developers List" <[EMAIL PROTECTED]> >>>>>>>> Sent: Monday, July 07, 2003 7:22 AM >>>>>>>> Subject: Re: New FFN & Fontable classes >>>>>>>> >>>>>>>> >>>>>>>>> Ryan, >>>>>>>>> Let me tell you what I understood, Plz tell me >> if >> that >>>>>> is >>>>>>>> what >>>>>>>>> you have meant. >>>>>>>>> >>>>>>>>> 1. Read an existing Doc's main & table streams and create >> the >>>>>> Fontable >>>>>>>>> object. >>>>>>>>> 2. Now write this stream to create a new Doc file. >>>>>>>>> 3. Then read from the newly created Doc file & create the >> Fontable >>>>>>>> object. >>>>>>>>> 4. Check if the 2 fontable Objects are same by using your >> clone >>>>>>> method. >>>>>>>>> >>>>>>>>> doubts: >>>>>>>>> while creation & writing of Fontable, should I create & >> write >> out >>>>>> all >>>>>>>> the >>>>>>>>> datastructures currently present or not. Since only if we >> write >>>>> out >>>>>>> all >>>>>>>> of >>>>>>>>> them we can create a new Doc file right?? >>>>>>>>> >>>>>>>>> Thanks & Regards >>>>>>>>> Praveen >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> "Ryan Ackley" <[EMAIL PROTECTED]> >>>>>>>>> 07/07/2003 16:30 >>>>>>>>> Please respond to "POI Developers List" >>>>>>>>> >>>>>>>>> >>>>>>>>> To: "POI Developers List" >> <[EMAIL PROTECTED]> >>>>>>>>> cc: >>>>>>>>> Subject: Re: New FFN & Fontable classes >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Praveen the next thing you should be working on is writing > a >> test >>>>>> case >>>>>>>> for >>>>>>>>> FontTable. You need to test the writing by creating a >> FontTable >>>>> from >>>>>> a >>>>>>>>> WordDocument then writing it out then creating another >> FontTable >>>>>> from >>>>>>>> the >>>>>>>>> what you wrote out. Then compare the two and see if > they're >> equal. >>>>>>>>> >>>>>>>>> Ryan >>>>>>>>> >>>>>>>>> ----- Original Message ----- >>>>>>>>> From: "Praveen Mathew" <[EMAIL PROTECTED]> >>>>>>>>> To: "POI Developers List" <[EMAIL PROTECTED]> >>>>>>>>> Sent: Monday, July 07, 2003 1:59 AM >>>>>>>>> Subject: Re: New FFN & Fontable classes >>>>>>>>> >>>>>>>>> >>>>>>>>>> I coud do it like this >>>>>>>>>> >>>>>>>>>> long mask = 0; >>>>>>>>>> mask = (long) Math.pow((long)2,(long)62); >>>>>>>>>> mask = mask<<1; >>>>>>>>>> >>>>>>>>>> Thanks & Regards >>>>>>>>>> Praveen >>>>>>>>>> >>>>>>>>>> Praveen Mathew >>>>>>>>>> IBM Software Labs,Airport Road, >>>>>>>>>> Bangalore - 560 017,India. >>>>>>>>>> Ph : +91- 80 - 504 4609 (Direct) >>>>>>>>>> +91 - 80 - 5262355 Extn: 3609 >>>>>>>>>> Email: [EMAIL PROTECTED] >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> "A. Rothman" <[EMAIL PROTECTED]> >>>>>>>>>> 05/07/2003 15:33 >>>>>>>>>> Please respond to "POI Developers List" >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> To: POI Developers List >> <[EMAIL PROTECTED]> >>>>>>>>>> cc: >>>>>>>>>> Subject: Re: New FFN & Fontable classes >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> as defined in java.lang.Long: >>>>>>>>>> >>>>>>>>>> /** >>>>>>>>>> * A constant holding the maximum value a >> <code>long</code> >>>>>> can >>>>>>>>>> * have, 2<sup>63</sup>-1. >>>>>>>>>> */ >>>>>>>>>> public static final long MAX_VALUE = >> 0x7fffffffffffffffL; >>>>>>>>>> >>>>>>>>>> you're trying to use a number larger than a long can >> contain! >>>>>> (don't >>>>>>>>>> forget >>>>>>>>>> the msb is the sign bit) >>>>>>>>>> what u want is probably something like: >>>>>>>>>> >>>>>>>>>> x = x | 0x8000000000000000L; // this is a bit-wise >> operator >> so >>>>>> sign >>>>>>>>>> doesn't >>>>>>>>>> matter >>>>>>>>>> >>>>>>>>>> if this is what you're trying to get: >>>>>>>>>> >>>>>>>>>> System.out.println(Long.toString(x >>> 63,2)); // prints >> '1' >>>>>>>>>> >>>>>>>>>> Hope this helps! >>>>>>>>>> >>>>>>>>>> Amichai >>>>>>>>>> >>>>>>>>>> ----- Original Message ----- >>>>>>>>>> From: "Ryan Ackley" <[EMAIL PROTECTED]> >>>>>>>>>> To: "POI Developers List" <[EMAIL PROTECTED]> >>>>>>>>>> Sent: Friday, July 04, 2003 9:18 PM >>>>>>>>>> Subject: Re: New FFN & Fontable classes >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> I need more details >>>>>>>>>>> >>>>>>>>>>> ----- Original Message ----- >>>>>>>>>>> From: "Praveen Mathew" <[EMAIL PROTECTED]> >>>>>>>>>>> To: "POI Developers List" <[EMAIL PROTECTED]> >>>>>>>>>>> Sent: Friday, July 04, 2003 7:19 AM >>>>>>>>>>> Subject: Re: New FFN & Fontable classes >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Hi , >>>>>>>>>>>> >>>>>>>>>>>> I am unable to make the MSbit of a long in java > like >>>>>>>>>>>> long x = 0; >>>>>>>>>>>> x = x | (long)Math.pow((long)2,(long)63); >>>>>>>>>>>> >>>>>>>>>>>> Isd there a way I can do this??? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Thanks & Regards >>>>>>>>>>>> Praveen >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> "Ryan Ackley" <[EMAIL PROTECTED]> >>>>>>>>>>>> 04/07/2003 15:26 >>>>>>>>>>>> Please respond to "POI Developers List" >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> To: "POI Developers List" >>>>>>> <[EMAIL PROTECTED]> >>>>>>>>>>>> cc: >>>>>>>>>>>> Subject: Re: New FFN & Fontable > classes >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> Thanks Ryan for creating a Bugzilla acount for me. >> Does >>>>>>> creating >>>>>>>>> an >>>>>>>>>>>>> attachement & submiting is all I have to do for >> sending >>>>> new >>>>>>>>> patches? >>>>>>>>>>>>> >>>>>>>>>>>>> still now I dont have a clear picture of whats >> happening >>>>>> with >>>>>>>>>>>>> Bugzilla...what is this Bugzilla? & why does the >> patches >>>>>> sent >>>>>>>> are >>>>>>>>>>>>> considered as BUGS!! >>>>>>>>>>>> >>>>>>>>>>>> They are not considered bugs. It simply gives a >> convenient >>>>> way >>>>>>> for >>>>>>>>> you >>>>>>>>>> to >>>>>>>>>>>> upload attachments. You can't send attachments to > the >> list >>>>> and >>>>>>>> when >>>>>>>>>> you >>>>>>>>>>>> send >>>>>>>>>>>> java code to the list, the line breaks get all > messed >> up. >>>>> When >>>>>> I >>>>>>>> try >>>>>>>>>> to >>>>>>>>>>>> copy >>>>>>>>>>>> and paste from your last email, I get errors because >> my >> mail >>>>>>>> reader >>>>>>>>>> has >>>>>>>>>>>> wrapped some of the lines in the FontTable and Ffn >> classes. >>>>>>>>>>>> >>>>>>>>>>>> Ryan >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>> >>>>> >>> --------------------------------------------------------------------- >>>>>>>>>>>> To unsubscribe, e-mail: >>>>> [EMAIL PROTECTED] >>>>>>>>>>>> For additional commands, e-mail: >>>>>> [EMAIL PROTECTED] >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>> >>>>> >> --------------------------------------------------------------------- >>>>>>>>>>> To unsubscribe, e-mail: >> [EMAIL PROTECTED] >>>>>>>>>>> For additional commands, e-mail: >>>>> [EMAIL PROTECTED] >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>> >>> --------------------------------------------------------------------- >>>>>>>>>> To unsubscribe, e-mail: >> [EMAIL PROTECTED] >>>>>>>>>> For additional commands, e-mail: >> [EMAIL PROTECTED] >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>> >>> --------------------------------------------------------------------- >>>>>>>>> To unsubscribe, e-mail: >> [EMAIL PROTECTED] >>>>>>>>> For additional commands, e-mail: >> [EMAIL PROTECTED] >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>> >> --------------------------------------------------------------------- >>>>>>>> To unsubscribe, e-mail: > [EMAIL PROTECTED] >>>>>>>> For additional commands, e-mail: >> [EMAIL PROTECTED] >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>>> For additional commands, e-mail: > [EMAIL PROTECTED] >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> > --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>> -- >>> Avik Sengupta <[EMAIL PROTECTED]> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > -- Andrew C. Oliver http://www.superlinksoftware.com/poi.jsp Custom enhancements and Commercial Implementation for Jakarta POI http://jakarta.apache.org/poi For Java and Excel, Got POI? --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
