You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(28) |
Dec
(47) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(103) |
Feb
(44) |
Mar
(65) |
Apr
(140) |
May
(72) |
Jun
(233) |
Jul
(466) |
Aug
(51) |
Sep
(2) |
Oct
(17) |
Nov
(1) |
Dec
(7) |
2004 |
Jan
(8) |
Feb
(5) |
Mar
(28) |
Apr
(9) |
May
(7) |
Jun
|
Jul
(7) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2005 |
Jan
(1) |
Feb
|
Mar
|
Apr
(3) |
May
(24) |
Jun
(7) |
Jul
(2) |
Aug
|
Sep
|
Oct
(4) |
Nov
(3) |
Dec
(12) |
2006 |
Jan
|
Feb
(3) |
Mar
(8) |
Apr
(59) |
May
|
Jun
|
Jul
|
Aug
(24) |
Sep
|
Oct
|
Nov
|
Dec
(3) |
2007 |
Jan
|
Feb
|
Mar
|
Apr
(8) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(7) |
Dec
(3) |
2008 |
Jan
|
Feb
(1) |
Mar
(16) |
Apr
(2) |
May
(2) |
Jun
|
Jul
(11) |
Aug
(3) |
Sep
(9) |
Oct
(9) |
Nov
(44) |
Dec
(34) |
2009 |
Jan
(12) |
Feb
(14) |
Mar
(11) |
Apr
(16) |
May
(41) |
Jun
(19) |
Jul
(33) |
Aug
(8) |
Sep
(3) |
Oct
|
Nov
|
Dec
(7) |
2010 |
Jan
(8) |
Feb
(50) |
Mar
(3) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(16) |
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Marc P. <ma...@an...> - 2003-01-06 13:48:31
|
Hi all, Seeing as Eric has done all the hard work for us lazy people in producin= g=20 a WM 1.1 release, we should do our most to promote it! Nobody seems to be "in charge" of issuing WM press releases. It is vital= =20 that we issue press releases to let people know WM is around, maturing, = and used by some very BIG people (i.e. AltaVista). The more exposure, th= e=20 more users we will have. I am willing to write and send out this press release. I did it recently= =20 for one of our own products and had some reasonable success (announcemen= t=20 covered by people like JavaWorld, ITToolbox, Javable, JavaLobby, jGuru=20= etc.) which generated several thousand hits for us. Also, I want to ask a related question =96 because I don't have time to = check =96 if WM comes with a default web application yet, that will serv= er=20 up templates and provide context tool classes, the class names of which = are loaded from some .properties file? If not, I will write this. I have been planning it myself as I need it, = and this could completely change the market for WM. Instead of WM just being for web-app/Java developers, it would suddenly = become a tool that any webmaster can download and install, to get=20 world-class templating of site pages with configurable "plugins" that=20= they can write in Java or download. As such, a repository of general-purpose Java classes that work well in = templates would also be very useful to such people. With this I think we can turn WM's user-base from 100s into 1000s. So, if someone can fill me in on the above / supply comments, I would be= =20 grateful. I'm thinking of a single servlet in .WAR with WM in WEB-INF/li= b=20 and a way to pass a list of context tool classnames to it, probably via = WebMacro.properties. These would be instantiated at servlet startup, and= =20 put into every page. It would just be a case of using URIs like: www.mysite.com/WebMacro?template=3Dmytemplate.wm ...which is obviously something any webdesigner can understand, and mean= s=20 they can get the basic advantages of running WM with absolutely NO=20 programming at all. I will run a 1.1 press release by you guys in the next couple of days=20= (unless somebody else feels they are more qualified for this). I'm no=20= expert on this stuff, but I've done it before which is something. I want to give something back to WM... for me WM has been the gift that = keeps on giving! Best wishes, Marc |
From: Eric B. R. <eb...@tc...> - 2003-01-04 21:47:17
|
The New Year brings a new version of WebMacro. Version 1.1. This release includes new features such as #macro and $functions(), along with an ever-growing macro library, and numerous bug fixes and compatibility fixes with your favorite servlet runners. Like always, you can download WebMacro here: http://www.webmacro.org/DownloadWebMacro Thanks to everyone involved in the beta cycle. Please continue to report problems and bugs to the -user or -devel lists. Thanks! eric |
From: <web...@st...> - 2003-01-02 11:59:44
|
On Sat, 28 Dec 2002, Sebastian Kanthak wrote: | Hi, | | On Tuesday 24 December 2002 19:12, Eric B. Ridge wrote: | > Is there anything left to do for the 1.1 beta cycle? | | I've just remembered an old bug I had fixed in v1_0 regarding an issue when | loading templates from jar-files in WEB-INF/lib. This did not work, as | tomcat4's servlet classloader seems to be picky about a starting slash. This | had been fixed in version 1.5.2.2 of Servlet22Broker.java but I've never | commitet this to HEAD. I just checked, that the bug is still present and | comittet the fix. Oh, good gracious, THANKS, DUDE!!! -- Mvh, Endre Stølsvik M[+47 93054050] F[+47 51625182] Developer @ CoreTrek AS - http://www.coretrek.com/ CoreTrek corporate portal / EIP - http://www.corelets.com/ |
From: Brian G. <br...@qu...> - 2002-12-28 01:44:24
|
> I still think, that the whole template-loading part in Broker is a > bit of a mess (although I admit that it works on many different > configurations). I once started to tidy this up with > DelegatingTemplateProvider, which however, is probably used my > almost nobody. In a future release of webmacro, we should change > Broker's to just return a list of TemplateLoaders, which are > responsible of these nasty details like starting slashes. But let's > get 1.1final out, first! :) This sounds about right to me. |
From: Sebastian K. <seb...@mu...> - 2002-12-27 23:43:25
|
Hi, On Tuesday 24 December 2002 19:12, Eric B. Ridge wrote: > Is there anything left to do for the 1.1 beta cycle? I've just remembered an old bug I had fixed in v1_0 regarding an issue wh= en=20 loading templates from jar-files in WEB-INF/lib. This did not work, as=20 tomcat4's servlet classloader seems to be picky about a starting slash. T= his=20 had been fixed in version 1.5.2.2 of Servlet22Broker.java but I've never=20 commitet this to HEAD. I just checked, that the bug is still present and=20 comittet the fix. I still think, that the whole template-loading part in Broker is a bit of= a=20 mess (although I admit that it works on many different configurations). I= =20 once started to tidy this up with DelegatingTemplateProvider, which howev= er,=20 is probably used my almost nobody. In a future release of webmacro, we sh= ould=20 change Broker's to just return a list of TemplateLoaders, which are=20 responsible of these nasty details like starting slashes. But let's get=20 1.1final out, first! :) Sebastian |
From: Lane S. <la...@op...> - 2002-12-27 16:53:13
|
Hi, I think a 1.1 release sooner than later is a good idea. re macros: http://opendoors.com/controls.html http://opendoors.com/ecomm.html Shows what can be done in b3 with standard macros for html controls. These files will be removed in a few days, so check them out. Folks should take a look at the macros/ resources in b3 and comment as to structure, argument model, design. Is it heading in the right direction? Just a read of the source would be helpful. The above url shows the output capability of macros for basic html controls. I am following a control pattern I have used in the past. If I start to use the macros/ in my production environment (which I plan to do in January), I do not want the wm user base at that time saying the macros are implemented improperly. So, with 1.1b3, I think this is your last chance to fundamentally alter the architecture of the macros/ project. I am open at this time to any architectural and design discussion, alterations. -lane Eric B. Ridge wrote: > Is there anything left to do for the 1.1 beta cycle? > > If we don't get any bug reports in soon from b3, I'd like to go ahead > and roll out 1.1final. > > eric > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Webmacro-devel mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webmacro-devel > |
From: Eric B. R. <eb...@tc...> - 2002-12-24 18:13:03
|
Is there anything left to do for the 1.1 beta cycle? If we don't get any bug reports in soon from b3, I'd like to go ahead and roll out 1.1final. eric |
From: Eric B. R. <eb...@tc...> - 2002-12-21 18:08:57
|
Howdy folks! WebMacro 1.1b3 has been released. You can download it from the usual place: http://www.webmacro.org/DownloadWebMacro 1.1b3 includes a few bug fixes, error message cleanup, new configuration options, and more #macro's. As always, please report problems to the -user list or bugzilla. Thanks! eric |
From: Lane S. <la...@sa...> - 2002-12-21 01:21:41
|
ok. it is ready to go. Have written and tested a macro to format an href to open an infamous pop-up window and have written a second macro to format the content of a window into 2 frames allowing the bottom frame to have some lanaguage plus a close button. Macros rule! -lane Eric B.Ridge wrote: > On Friday, December 20, 2002, at 12:35 PM, Lane Sharman wrote: > >> Hi, >> >> I am real close to 2 releases: one for the persistence stuff and one >> for the macros. Since you are 3 hrs ahead of me, I'll get my butt in >> gear. > > > I won't be doing it until about 1:00am (maybe later). Gotta go to the > pool hall tonight. > > eric > >> >> -lane >> >> Eric B. Ridge wrote: >> >>> On Thursday, December 19, 2002, at 01:51 PM, Lane Sharman wrote: >>> >>>> eric, >>>> >>>> Could you do this on Friday night please. I have some more macros >>>> to commit. >>> >>> >>> >>> Just a reminder: Today is Friday. :) >>> >>> eric >>> >>> >> >> >> > > |
From: Eric B. R. <eb...@tc...> - 2002-12-20 17:43:12
|
On Friday, December 20, 2002, at 12:35 PM, Lane Sharman wrote: > Hi, > > I am real close to 2 releases: one for the persistence stuff and one > for the macros. Since you are 3 hrs ahead of me, I'll get my butt in > gear. I won't be doing it until about 1:00am (maybe later). Gotta go to the pool hall tonight. eric > > -lane > > Eric B. Ridge wrote: > >> On Thursday, December 19, 2002, at 01:51 PM, Lane Sharman wrote: >> >>> eric, >>> >>> Could you do this on Friday night please. I have some more macros to >>> commit. >> >> >> Just a reminder: Today is Friday. :) >> >> eric >> >> > > > |
From: Lane S. <la...@sa...> - 2002-12-20 17:26:47
|
Hi, I am real close to 2 releases: one for the persistence stuff and one for the macros. Since you are 3 hrs ahead of me, I'll get my butt in gear. -lane Eric B. Ridge wrote: > On Thursday, December 19, 2002, at 01:51 PM, Lane Sharman wrote: > >> eric, >> >> Could you do this on Friday night please. I have some more macros to >> commit. > > > Just a reminder: Today is Friday. :) > > eric > > |
From: Eric B. R. <eb...@tc...> - 2002-12-20 17:10:52
|
On Thursday, December 19, 2002, at 01:51 PM, Lane Sharman wrote: > eric, > > Could you do this on Friday night please. I have some more macros to > commit. Just a reminder: Today is Friday. :) eric |
From: Eric B. R. <eb...@tc...> - 2002-12-19 20:31:46
|
On Thursday, December 19, 2002, at 01:51 PM, Lane Sharman wrote: > eric, > > Could you do this on Friday night please. I have some more macros to > commit. Sure, that's just fine. eric > > -lane > > Eric B. Ridge wrote: > >> Obviously y'all are busy, but when should we release beta 3? I can >> do it this week (tonight, friday night). >> >> eric >> >> >> >> ------------------------------------------------------- >> This SF.NET email is sponsored by: Geek Gift Procrastinating? >> Get the perfect geek gift now! Before the Holidays pass you by. >> T H I N K G E E K . C O M http://www.thinkgeek.com/sf/ >> _______________________________________________ >> Webmacro-devel mailing list >> Web...@li... >> https://lists.sourceforge.net/lists/listinfo/webmacro-devel >> > > > |
From: Lane S. <la...@sa...> - 2002-12-19 18:42:42
|
eric, Could you do this on Friday night please. I have some more macros to commit. -lane Eric B. Ridge wrote: > Obviously y'all are busy, but when should we release beta 3? I can do > it this week (tonight, friday night). > > eric > > > > ------------------------------------------------------- > This SF.NET email is sponsored by: Geek Gift Procrastinating? > Get the perfect geek gift now! Before the Holidays pass you by. > T H I N K G E E K . C O M http://www.thinkgeek.com/sf/ > _______________________________________________ > Webmacro-devel mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webmacro-devel > |
From: Eric B. R. <eb...@tc...> - 2002-12-19 18:04:46
|
Obviously y'all are busy, but when should we release beta 3? I can do it this week (tonight, friday night). eric |
From: Brian G. <br...@qu...> - 2002-12-17 20:29:51
|
> place the instance on the stack and as soon as the use of the returned > value goes out of scope the array will be gc'd. The above was given to > me in a seminar many years ago which showed that this was one of the > most significant ways to gain performance in dealing with streams which > were of a predictable size. The buffer won't go on the stack, since its an object and can be referenced. But a smart GC will collect it immediately. |
From: Lane S. <la...@sa...> - 2002-12-17 18:30:28
|
From a performance standpoint, the following code should be used inside a fastwriter and completely eliminate the member instance of a buffer: public byte[] readInputStream(InputStream in) throws IOException { byte[] value = new byte[in.available()]; in.read(value); in.close(); return value; } place the instance on the stack and as soon as the use of the returned value goes out of scope the array will be gc'd. The above was given to me in a seminar many years ago which showed that this was one of the most significant ways to gain performance in dealing with streams which were of a predictable size. -lane Eric B. Ridge wrote: > On Sunday, December 15, 2002, at 03:15 PM, Glenn Shute wrote: > >> I don't think much will be gained by making it too smart. A simple >> config >> entry might be best for most situations. We do have small and large >> sizes > > > I've committed the changes to FastWriter to allow one to control the > buffer and pool size via 2 WebMacro.properties configuration keys: > > FastWriter.MaxPoolSize = 10 > FastWriter.DefaultBufferSize = 4096 > > I suppose there's a small penalty for this (2 Integer.parseInt() > calls), but that will disappear soon as you reach the MaxPoolSize. > > The values here are the default values. I have no idea what the > defaults should be, so I'm just sticking with what we've always had. > If you have some nifty ways of stress testing FastWriter, please post > 'em to the list. > > I also committed a (very) simple test case for FastWriter just to make > sure we don't break it in the future. > > As for your other request of having a .getInstance() method or ctor > that takes a buffer size, I'd like to hear from other core developers > before I change anything. It's a pretty brainless thing to do, but > I'm still not sure what to do with the FW once it has been closed. > Should it go back to the pool or should it, as you suggest, just be gc'd? > > eric > > >> but we are not too worried about this. The most important thing is to >> not >> have to resize it larger or shrink it when done. What we do with a >> different >> recycled objects pool is to allow a certain size and if it gets resized >> larger this is fine but we don't recycle it instead we release it >> back to >> the GC so that it can be collected. Then if the limit is set >> correctly for >> the environment it works for the most common case and allows the >> occasional >> larger objects to not skew the pool. >> >> The max_pool_size limit of 10 is interesting to hear about. We see an >> unexplained drop in linear performance when the RPS goes over 10. I >> will try >> and configure this to see if we get better scalability. >> >> thanks. >> >> >> -----Original Message----- >> From: Eric B. Ridge >> To: Glenn Shute >> Cc: 'web...@li...' >> Sent: 12/15/2002 2:47 AM >> Subject: FastWriter buffer size (was: Re: [Webmacro-devel] FastWriter >> Buffer >> Size) >> >> On Tuesday, December 3, 2002, at 06:23 PM, Glenn Shute wrote: >> >>> The default size for the FastWriter buffer is hard coded at 4K. The >>> main >> >> <snip> >> >>> We would like a way to set this default value in a config file and >>> also a >>> new getInstance method that includes a size argument since sometime we >> >> >>> want >>> a 25K buffer and sometimes we want a 64K buffer. >> >> >> ugh. I hate FastWriter. >> >> The "set this default value in a config file" idea could work. >> >> The "sometimes we want 25k, sometimes we don't" idea requires some >> discussion. What happens to the buffer when the FW is .close()'d? >> Does it stay the same size? Do we shrink (or expand) to the default >> size? >> >> Since FW's are pooled, do we simply grab one out of the pool and grow >> it if the current size is smaller? >> >> Do we take a "smarter" approach and have each template remember how >> many bytes it last output, so the next time you attempt to render the >> template it can automagically resize the FW buffer in one call. This >> one was Brian's idea from a year (or more) ago. I actually tried it, >> and couldn't find a noticeable increase in performance. >> >> Do you also want to be able to control the max_pool_size via >> WM.properties (current hard-coded default is 10)? >> >> eric >> >> > > > > ------------------------------------------------------- > This sf.net email is sponsored by: > With Great Power, Comes Great Responsibility Learn to use your power > at OSDN's High Performance Computing Channel > http://hpc.devchannel.org/ > _______________________________________________ > Webmacro-devel mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webmacro-devel > |
From: Eric B. R. <eb...@tc...> - 2002-12-17 06:56:51
|
On Sunday, December 15, 2002, at 03:15 PM, Glenn Shute wrote: > I don't think much will be gained by making it too smart. A simple > config > entry might be best for most situations. We do have small and large > sizes I've committed the changes to FastWriter to allow one to control the buffer and pool size via 2 WebMacro.properties configuration keys: FastWriter.MaxPoolSize = 10 FastWriter.DefaultBufferSize = 4096 I suppose there's a small penalty for this (2 Integer.parseInt() calls), but that will disappear soon as you reach the MaxPoolSize. The values here are the default values. I have no idea what the defaults should be, so I'm just sticking with what we've always had. If you have some nifty ways of stress testing FastWriter, please post 'em to the list. I also committed a (very) simple test case for FastWriter just to make sure we don't break it in the future. As for your other request of having a .getInstance() method or ctor that takes a buffer size, I'd like to hear from other core developers before I change anything. It's a pretty brainless thing to do, but I'm still not sure what to do with the FW once it has been closed. Should it go back to the pool or should it, as you suggest, just be gc'd? eric > but we are not too worried about this. The most important thing is to > not > have to resize it larger or shrink it when done. What we do with a > different > recycled objects pool is to allow a certain size and if it gets resized > larger this is fine but we don't recycle it instead we release it back > to > the GC so that it can be collected. Then if the limit is set correctly > for > the environment it works for the most common case and allows the > occasional > larger objects to not skew the pool. > > The max_pool_size limit of 10 is interesting to hear about. We see an > unexplained drop in linear performance when the RPS goes over 10. I > will try > and configure this to see if we get better scalability. > > thanks. > > > -----Original Message----- > From: Eric B. Ridge > To: Glenn Shute > Cc: 'web...@li...' > Sent: 12/15/2002 2:47 AM > Subject: FastWriter buffer size (was: Re: [Webmacro-devel] FastWriter > Buffer > Size) > > On Tuesday, December 3, 2002, at 06:23 PM, Glenn Shute wrote: >> The default size for the FastWriter buffer is hard coded at 4K. The >> main > <snip> >> We would like a way to set this default value in a config file and >> also a >> new getInstance method that includes a size argument since sometime we > >> want >> a 25K buffer and sometimes we want a 64K buffer. > > ugh. I hate FastWriter. > > The "set this default value in a config file" idea could work. > > The "sometimes we want 25k, sometimes we don't" idea requires some > discussion. What happens to the buffer when the FW is .close()'d? > Does it stay the same size? Do we shrink (or expand) to the default > size? > > Since FW's are pooled, do we simply grab one out of the pool and grow > it if the current size is smaller? > > Do we take a "smarter" approach and have each template remember how > many bytes it last output, so the next time you attempt to render the > template it can automagically resize the FW buffer in one call. This > one was Brian's idea from a year (or more) ago. I actually tried it, > and couldn't find a noticeable increase in performance. > > Do you also want to be able to control the max_pool_size via > WM.properties (current hard-coded default is 10)? > > eric > > |
From: Glenn S. <gle...@av...> - 2002-12-15 20:15:51
|
I don't think much will be gained by making it too smart. A simple config entry might be best for most situations. We do have small and large sizes but we are not too worried about this. The most important thing is to not have to resize it larger or shrink it when done. What we do with a different recycled objects pool is to allow a certain size and if it gets resized larger this is fine but we don't recycle it instead we release it back to the GC so that it can be collected. Then if the limit is set correctly for the environment it works for the most common case and allows the occasional larger objects to not skew the pool. The max_pool_size limit of 10 is interesting to hear about. We see an unexplained drop in linear performance when the RPS goes over 10. I will try and configure this to see if we get better scalability. thanks. -----Original Message----- From: Eric B. Ridge To: Glenn Shute Cc: 'web...@li...' Sent: 12/15/2002 2:47 AM Subject: FastWriter buffer size (was: Re: [Webmacro-devel] FastWriter Buffer Size) On Tuesday, December 3, 2002, at 06:23 PM, Glenn Shute wrote: > The default size for the FastWriter buffer is hard coded at 4K. The > main <snip> > We would like a way to set this default value in a config file and > also a > new getInstance method that includes a size argument since sometime we > want > a 25K buffer and sometimes we want a 64K buffer. ugh. I hate FastWriter. The "set this default value in a config file" idea could work. The "sometimes we want 25k, sometimes we don't" idea requires some discussion. What happens to the buffer when the FW is .close()'d? Does it stay the same size? Do we shrink (or expand) to the default size? Since FW's are pooled, do we simply grab one out of the pool and grow it if the current size is smaller? Do we take a "smarter" approach and have each template remember how many bytes it last output, so the next time you attempt to render the template it can automagically resize the FW buffer in one call. This one was Brian's idea from a year (or more) ago. I actually tried it, and couldn't find a noticeable increase in performance. Do you also want to be able to control the max_pool_size via WM.properties (current hard-coded default is 10)? eric |
From: Eric B. R. <eb...@tc...> - 2002-12-15 10:48:01
|
On Tuesday, December 3, 2002, at 06:23 PM, Glenn Shute wrote: > The default size for the FastWriter buffer is hard coded at 4K. The > main <snip> > We would like a way to set this default value in a config file and > also a > new getInstance method that includes a size argument since sometime we > want > a 25K buffer and sometimes we want a 64K buffer. ugh. I hate FastWriter. The "set this default value in a config file" idea could work. The "sometimes we want 25k, sometimes we don't" idea requires some discussion. What happens to the buffer when the FW is .close()'d? Does it stay the same size? Do we shrink (or expand) to the default size? Since FW's are pooled, do we simply grab one out of the pool and grow it if the current size is smaller? Do we take a "smarter" approach and have each template remember how many bytes it last output, so the next time you attempt to render the template it can automagically resize the FW buffer in one call. This one was Brian's idea from a year (or more) ago. I actually tried it, and couldn't find a noticeable increase in performance. Do you also want to be able to control the max_pool_size via WM.properties (current hard-coded default is 10)? eric |
From: Eric B. R. <eb...@tc...> - 2002-12-15 10:28:26
|
On Monday, December 2, 2002, at 10:11 PM, Eric B. Ridge wrote: > My list is pretty small: > - clean up #macro error messages. done. attempt to access an undefined macro (or directive) yields: #foo: no such macro or directive I also made some changes to how the current location (template name, line no, column no) is tracked and appended to exceptions. The long and short of it is, I added .get/setCurrentLocation methods to WebMacroException (and removed 'em from PropertyException). WMTemplate (the guy that catches practically all non-handled exceptions) calls .setCurrentLocation() when it a) has a Context and b) catches a PropertyException or BuildException. I also changed Context.TemplateEvaluationContext to track the current template name (String), line number (int) and column number (int). Brian is probably asking "WHY?!?!?!". Previously, it only tracked Blocks and index positions. B/c of this, it was impossible to include line/col information in BuildExceptions. Now, whenever an exception is thrown we can include this information. I think this change is a huge plus, despite more spaghetti code in Block.java. All test cases still pass, and I've done some sanity checking against one of my work projects. It all seems good. > - clean up $Variable.returnNull().doSomething() error message done. It now says: $Variable.returnNull() is null. Cannot access .doSomething() Which is much better than the old: WTF is going on? Something is possibly null. > - clean up stack trace output. I really hate the double stack > traces output by RethrowableException. Anyone else? As a user of WM, > I could care less where in WM's code the exception occurred, I want to > see where in *my* code it happened. I'm thinking some kind of > configuration setting: VerboseStackTrace=true | false As a developer of WebMacro, I'm finding it almost impossible to do this. Does anyone have any ideas? Is this even a good idea? > - get website wiki documents converted from serialized objects to > XML, and integrate iText with Wiki so we can distribute the website as > a PDF document. still in progress > - make a decision about this #include recursion warning. Just log > a DEBUG message? Some kind of recursion depth limit (yuck)? Nothing > at all? decision made. *Log* a WARN only when the log-level is DEBUG. It sounds strange, but at least the message will stick out amongst all the debug messages. > - make a decision about the -bin- and -src- distribution files decision made. leave it alone. -bin- and -src- in both .zip and .tgz formats. Sorry Endre. :) eric |
From: <kea...@na...> - 2002-12-11 20:20:08
|
I already made this change a few days ago. It's in the CVS archive: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/webmacro/webmacro/src/org= /web macro/Context.java You can download it now or wait for the next release. Keats > -----Original Message----- > From: Glenn Shute [mailto:gle...@av...] > Sent: Wednesday, December 11, 2002 2:16 PM > To: 'Endre St=F8lsvik'; kea...@na... > Cc: Glenn Shute; br...@qu...;=20 > web...@li... > Subject: RE: [Webmacro-devel] unused Tools >=20 >=20 >=20 > Thanks to Endre for the detail on what is expensive for=20 > exception handling. > I think this stack trace shows that this code is much more=20 > expensive than it > needs to be. >=20 > How do I get this on the TODO list of things to fix in webmacro? >=20 >=20 >=20 > "23" daemon prio=3D1 tid=3D0x0x847a990 nid=3D0xa6c waiting for = monitor entry > [b6fff000..b6fffae4] > at java.lang.Throwable.fillInStackTrace(Native Method) > at java.lang.Throwable.<init>(Throwable.java:195) > at java.lang.Exception.<init>(Exception.java:41) > at > java.lang.NoSuchMethodException.<init>(NoSuchMethodException.java:32) > at java.lang.Class.getConstructor0(Class.java:1769) > at java.lang.Class.getConstructor(Class.java:1002) > at org.webmacro.Context.addTool(Context.java:581) > at org.webmacro.Context.access$000(Context.java:52) > at > org.webmacro.Context$SettingHandler.processSetting(Context.java:100) > at=20 > org.webmacro.util.Settings.processListSetting(Settings.java:294) > at org.webmacro.Context.loadTools(Context.java:113) > at org.webmacro.Context.<init>(Context.java:85) > at org.webmacro.engine.BuildContext.<init>(BuildContext.java:48) > at org.webmacro.engine.WMTemplate.parse(WMTemplate.java:150) > at org.webmacro.engine.WMTemplate.write(WMTemplate.java:208) > at > org.webmacro.directive.IncludeDirective.write(IncludeDirective > .java:373) > at org.webmacro.engine.Block.write(Block.java:132) > at org.webmacro.engine.WMTemplate.write(WMTemplate.java:218) > at > org.webmacro.directive.IncludeDirective.write(IncludeDirective > .java:373) > at org.webmacro.engine.Block.write(Block.java:128) > at org.webmacro.engine.WMTemplate.write(WMTemplate.java:218) > at com.av.core.AVRequest.render(AVRequest.java:430) > at com.av.addurl.AddURL.handle(AddURL.java:55) > at sun.reflect.GeneratedMethodAccessor274.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth > odAccessorImpl > .java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at com.av.core.AVServlet.dispatch(AVServlet.java:1687) > at com.av.core.AVServlet.handleRequest(AVServlet.java:1388) > at com.av.core.AVServlet.handleRequest(AVServlet.java:1107) > at com.av.core.AVServlet.doGet(AVServlet.java:1482) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:102) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:83) > at=20 > com.caucho.server.http.Invocation.service(Invocation.java:325) > at > com.caucho.server.http.CacheInvocation.service(CacheInvocation > .java:121) > at > = com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:239) > at > com.caucho.server.http.HttpRequest.handleConnection(HttpReques > t.java:157) > at com.caucho.server.TcpConnection.run(TcpConnection.java:140) > at java.lang.Thread.run(Thread.java:536) >=20 >=20 > -----Original Message----- > From: Endre St=F8lsvik [mailto:web...@st...] > Sent: Monday, December 09, 2002 6:02 AM > To: kea...@na... > Cc: gle...@av...; br...@qu...; > web...@li... > Subject: Re: [Webmacro-devel] unused Tools >=20 >=20 > On Tue, 3 Dec 2002 kea...@na... wrote: >=20 > | I've puzzled over this piece of code before. Apparently=20 > there is the > | ability to pass parameters from the configuration to the tools > constructor, > | but AFAIK noone has ever used this. So it is kind of=20 > annoying that this > | code always gets executed. > | > | I don't think there's a big hit with throwing and=20 > immediately catching the > | exceptions, but all the diagnostic logging is annoying. I=20 > suppose it > would > | be cleaner to just check for the constructors directly and=20 > avoid trying to > | invoke them if they don't exist. I could make this change=20 > if folks agree. >=20 > Throwing an Exception is _expensive_. Filling in the stack-trace = takes > ages. One should _never_ use Exception-throwing in the normal=20 > code-path. > Exceptions are for .. yes .. exceptions. It should only be used in = the > "rare-case", not the "common-case". >=20 > The VM must also handle the Exception blocks, by going in and=20 > out of the > try-blocks (there is a "machine-code" for doing this). >=20 >=20 > --=20 > Mvh, > Endre St=F8lsvik M[+47 93054050] F[+47 51625182] > Developer @ CoreTrek AS - http://www.coretrek.com/ > CoreTrek corporate portal / EIP - http://www.corelets.com/ >=20 >=20 |
From: Glenn S. <gle...@av...> - 2002-12-11 19:16:50
|
Thanks to Endre for the detail on what is expensive for exception handling. I think this stack trace shows that this code is much more expensive than i= t needs to be. How do I get this on the TODO list of things to fix in webmacro? "23" daemon prio=3D1 tid=3D0x0x847a990 nid=3D0xa6c waiting for monitor entr= y [b6fff000..b6fffae4] at java.lang.Throwable.fillInStackTrace(Native Method) at java.lang.Throwable.<init>(Throwable.java:195) at java.lang.Exception.<init>(Exception.java:41) at java.lang.NoSuchMethodException.<init>(NoSuchMethodException.java:32) at java.lang.Class.getConstructor0(Class.java:1769) at java.lang.Class.getConstructor(Class.java:1002) at org.webmacro.Context.addTool(Context.java:581) at org.webmacro.Context.access$000(Context.java:52) at org.webmacro.Context$SettingHandler.processSetting(Context.java:100) at org.webmacro.util.Settings.processListSetting(Settings.java:294) at org.webmacro.Context.loadTools(Context.java:113) at org.webmacro.Context.<init>(Context.java:85) at org.webmacro.engine.BuildContext.<init>(BuildContext.java:48) at org.webmacro.engine.WMTemplate.parse(WMTemplate.java:150) at org.webmacro.engine.WMTemplate.write(WMTemplate.java:208) at org.webmacro.directive.IncludeDirective.write(IncludeDirective.java:373) at org.webmacro.engine.Block.write(Block.java:132) at org.webmacro.engine.WMTemplate.write(WMTemplate.java:218) at org.webmacro.directive.IncludeDirective.write(IncludeDirective.java:373) at org.webmacro.engine.Block.write(Block.java:128) at org.webmacro.engine.WMTemplate.write(WMTemplate.java:218) at com.av.core.AVRequest.render(AVRequest.java:430) at com.av.addurl.AddURL.handle(AddURL.java:55) at sun.reflect.GeneratedMethodAccessor274.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp= l =2Ejava:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.av.core.AVServlet.dispatch(AVServlet.java:1687) at com.av.core.AVServlet.handleRequest(AVServlet.java:1388) at com.av.core.AVServlet.handleRequest(AVServlet.java:1107) at com.av.core.AVServlet.doGet(AVServlet.java:1482) at javax.servlet.http.HttpServlet.service(HttpServlet.java:102) at javax.servlet.http.HttpServlet.service(HttpServlet.java:83) at com.caucho.server.http.Invocation.service(Invocation.java:325) at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:121) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:239) at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:157) at com.caucho.server.TcpConnection.run(TcpConnection.java:140) at java.lang.Thread.run(Thread.java:536) -----Original Message----- From: Endre St=F8lsvik [mailto:web...@st...] Sent: Monday, December 09, 2002 6:02 AM To: kea...@na... Cc: gle...@av...; br...@qu...; web...@li... Subject: Re: [Webmacro-devel] unused Tools On Tue, 3 Dec 2002 kea...@na... wrote: | I've puzzled over this piece of code before. Apparently there is the | ability to pass parameters from the configuration to the tools constructor, | but AFAIK noone has ever used this. So it is kind of annoying that this | code always gets executed. | | I don't think there's a big hit with throwing and immediately catching th= e | exceptions, but all the diagnostic logging is annoying. I suppose it would | be cleaner to just check for the constructors directly and avoid trying t= o | invoke them if they don't exist. I could make this change if folks agree= =2E Throwing an Exception is _expensive_. Filling in the stack-trace takes ages. One should _never_ use Exception-throwing in the normal code-path. Exceptions are for .. yes .. exceptions. It should only be used in the "rare-case", not the "common-case". The VM must also handle the Exception blocks, by going in and out of the try-blocks (there is a "machine-code" for doing this). --=20 Mvh, Endre St=F8lsvik M[+47 93054050] F[+47 51625182] Developer @ CoreTrek AS - http://www.coretrek.com/ CoreTrek corporate portal / EIP - http://www.corelets.com/ |
From: Marc P. <ma...@an...> - 2002-12-10 03:00:08
|
Hi guys, Some of you might be interested in some free code we've just put out. 1. AntWMCompile is now released proper, with WebMacro and ANT bundles, i= n=20 a "ready to go" distro for building static websites or docs. We use it=20= for so much now... http://www.wangjammers.org/antwmcompile 2. We've released an abstracted broker framework thing called GOBS =96=20= http://www.wangjammers.org/gobs =96 it's very neat and reusable and simp= le=20 and great :-) We wish WM would use it instead of its own clunly Broker = ;-) The site includes all the javadocs and a crash course guide I wrote=20 (using DocBook XML and FOP =96 ARGH!) If any of you are interested in this stuff or have questions, please mai= l=20 me directly =96 not to the list. Best wishes, Marc ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ W<A> ~~~~~ (o) Wangjammer5 (Marc Palmer)=20 ( ) Wangjammer7=20 www.wangjammers.org =3D Java Consultants (Web|Smartcards|Crypto) |
From: Eric B. R. <eb...@tc...> - 2002-12-09 21:27:08
|
On Monday, December 9, 2002, at 04:00 PM, Lane Sharman wrote: > i think it would simplify the producer's life. In nc, he has a lot of > other things to keep him busy just now :). > I did the separate -bin and -src distributions b/c the website said we'd eventually do it. But after seeing that the both get basically the same amount of downloads, might as well go back to 1 file, but make it a little more intelligent. eric |