From: Rinalldo Y. <ry...@cs...> - 2004-10-26 08:11:33
|
On Sun, 24 Oct 2004, Christoph Froehlich wrote: > Hi Rinalldo > > Am Sonntag, den 24.10.2004, 15:36 +1000 schrieb Rinalldo Yasahardja: >> Sorry, a bit lenghty mail here... >> > a short one from me, on technical things only, since I'm a bit in a > hurry. But thanks for your detailed descripton. > > >> On Sat, 23 Oct 2004, Christoph Froehlich wrote: >> >>> Hi Rinalldo >>> >>> Am Sonntag, den 24.10.2004, 00:44 +1000 schrieb Rinalldo Yasahardja: >>>> Hi, I sent msgs previously regarding extending tmnav so it works on >>>> applet. It is now working until i clicked on the close button from the >>>> window (the cross shaped button). The applet closes but also closes the >>>> browser (which is NOT intended). >>>> >>> Congratulations. I would be very interested to hear how you have done >>> it. And, maybe there is a chance to see it running in public? >>> >> >> for what I did, in summary: >> create an Applet class (called TMNavApplet in my case), then override >> the init() function. That class should extends Applet. Inside the init() >> function, you then do what you normally do in your main function, that is, >> in case of TMNav, just move the content of main function inside the init() >> function. As you know, TMNav can be run with several options such as -f >> (which perform factory startup), etc. You then create a html page similar >> like this: >> >> <html> >> <applet code="org/tm4j/tmnav/app/TMNavApplet.class" archive="all.jar" >> height=200 width=200 >> alt="if this run, u see tmnav"> >> <param name=option value="-f"> >> >> <!-- put the path to the server here (URL) >> example: http://www.cse.unsw.edu.au/~ryas138/index.xtm --> >> <param name=filename value="pattern_v1.xtm"> >> Your browser is completely ignoring the <APPLET> tag! >> </applet> >> </html> >> >> you then call the getParameter function inside your TMNavApplet class to >> access the value passed by parameter (in this case, >> getParameter("option") would return "-f") >> >> the filename is for testing so TMNav can grab the file from the server. >> you should also modify the logging.properties file path so that it is >> grabbed from the server (rather than the client, like the current TMNav >> behaviour), that way you remove all security issues that took me 2 weeks >> to solve... =) > Oh. Dont't you get exceptions from the applet? No, because the applet has been signed and apparently, the one that is causing the IE to crash when TMNav is closed is because TMNav called System.exit System.exit is not allowed to be called normally on applet but since the applet is signed, then calling it causes the IE browser to be closed So, do you have any suggestion to close TMNav rather than calling System.exit(int) ? > >> I would love to let you see it works on public but I would have to ask >> permission first. Currently, since this is only for internal use, I doubt >> connection outside the working environment will be allowed. But I can >> always send you the development so you can play around with your own >> server. But I didnt do the integration with the server bit, so I wont have >> a clue about it. Let me fix this issue first though... =) >> >>> As consequence to clicking the window closing button, TMNav calls >>> System.exit(int). Maybe this is an overkill when running as an applet> >> >> I did searches and found that Applet does not normally allow >> System.exit(int) to be called. But I am still confused about this and will >> look into it this week. Do you implement window closing button with your >> custom listener ? If you do, do you know in which file ? >> > > - System.exit(int) is called in TMNav.closeInstance(int). The > customListener for window clsing is implemented in the constructor of > TMNavMainFrame. > >>> >>> >>>> Since my teammates are supposed to access TMNav when connected to the >>>> server, closing the browser would then force them to re-open browser and >>>> log in back to the server manually. >>>> >>>> Also, when starting TMNav, if I got msg saying "Node Removed" then TMNav >>>> doesnt launch, anyone know what is going on ? >>>> >>> Is it exactly what TMNav says? I searched the source code, but can't >>> find that string, neither in tmnav nor in panckoucke. >>> >>> Maybe it's not comming from TMNav but from third-party code, called by >>> tmnav. One thing which comes to my mind is, that TMNav stores session >>> data with the help of java.util.prefs-package (this package uses the >>> notion of a node as well). I don't know how the implementations react, >>> when called from an applets context. >> >> could be but I doubt it though. In my case, there are times when I close >> TMNav applet but it doesnt crash the browser. However, when I tried to >> invoke the applet again, it says Node Removed (may be it caught an >> exception or something). However, I am a little bit suspicious with the >> clearSessionData() in TMNav.java . In my case, I force TMNav to >> always run >> using "-f" parameter, which calls clearSessionData(). However, something >> just prevent of running TMNav more than once. There is also a chance that >> when the window close button is closed, the applet might not free the >> resources used properly, but I dont know about it too... >> >> but my suspicion is in the line that says TMNavRootNode.removeNode() >> in clearSessionData() since >> the msg said Node Removed and TMNav failed to start. >> > If removeNode() did not fail, you should see a message beginning with > "Removed Session data..." > If it fails, you should see a stack trace. But you see neither, correct? > > Another question. Did you try to run TMNavApplet without the -f option? > > And: If you don't need the session to be stored, you can remove > session.storeSession() from TMNav.closeInstance(). Just to see what > happens. > > >> In other words, users can now log in to the server, then run TMNav once, >> and hope that when they close TMNav, it doesnt crash the browser... > This is much more than last week :) > > bye > c > >> >> >>> >>> Do you have more hints? >>> >>> c >>> >>>> thanks heaps in advance >>>> >>>> >>>> ------------------------------------------------------- >>>> This SF.net email is sponsored by: IT Product Guide on ITManagersJournal >>>> Use IT products in your business? Tell us what you think of them. Give us >>>> Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more >>>> http://productguide.itmanagersjournal.com/guidepromo.tmpl >>>> _______________________________________________ >>>> Tm4j-tmnav-dev mailing list >>>> Tm4...@li... >>>> https://lists.sourceforge.net/lists/listinfo/tm4j-tmnav-dev >>> -- >>> Christoph Froehlich <cf...@fo...> >>> > -- > Christoph Froehlich <cf...@fo...> > |