Issue 130: Implement Classic Custom Tag Support
Status:  WontFix
Owner: ----
Closed:  Oct 2008
Reported by bgo...@e1b.org, Jul 29, 2008
I can take this one on... its useful to me and it shouldn't be hard. I'm
thinking that I'll simply create a generic wrapper for a simple tag that
manages its lifecycle according the classic tag support methods, and
handles EL resolution before injecting values into the simple tag. 
Obviously, dynamic tag attributes are not possible using this method.

Does that sound acceptable?
Jul 29, 2008
#1 extremec...@gmail.com
By simple tag do you mean a wrapper for the SimpleTagSupport class? If so that
wouldn't work because the tag needs to work in a pre JSP 2.0 environment that doesn't
know about that class.

I follow what you are thinking though. Both implementations are going to use roughly
the same code base so copy and pasting the current tags would not be very smart. How
about if we created Abstract classes for each tag class and put all the code that can
be reused in there. Then have the code that does the iteration, interaction with
parent tags, etc be handled explicitly by the classic and simple tag extensions. 

I suppose we could just keep the classes in the same tag package and prefix Retro or
Classic to them. That would be smart from the standpoint of being able to hide
implementation details at the package level if needed. I kind of like the word Retro
because that is consistent with the new retro jar file.

Status: Accepted
Labels: -Type-Defect Type-Enhancement
Jul 29, 2008
#2 extremec...@gmail.com
What am I thinking...that will not work because you have to extend the classic tag or
simple tag classes. I'm not sure if we can really do much more than pull
functionality out into helper classes to reuse certain code. Tags just don't leave
you much in the way of implementing good design patterns.
Jul 30, 2008
#3 bgo...@e1b.org
You're right... I'm not sure if its really worth the effort anyhow to put too much
effort into something that will fade into the sunset before too long.  I'm just going
to keep it simple either copy-paste or maybe use helper classes like you said.
Jul 30, 2008
#4 extremec...@gmail.com
One advantage to just copying and pasting the code to begin with is that it will make
it very easy to see how to extract out the common code. Once you just get it working
I can also help create the common helper classes.

The new SimpleTag is so nice in that it doesn't try and weird caching strategies and
has been very solid. If it wasn't for that I would have just gone the classic tag
route to begin with. As it is I would rather go to the effort of having two
implementations (extracting out what we can) so those that can be on the latest have
that option.

If you need any examples you could try looking at the old eXtremeTable tags if it
helps at all.

Aug 6, 2008
#5 extremec...@gmail.com
I am starting to plan the next incremental release and wanted to check on when you
think you might have this working? No pressure though if you cannot get to it...just
checking in. 

It is great that we have a retro version of the JMesa project now and it will be
really great to have the tags as well. It will be fun to start seeing the
eXtremeTable users move to JMesa :).
Aug 7, 2008
#6 bgo...@e1b.org
I expect that I could do this in < one week.  Could you do me a favor and add
standard.jar to the repository and to jmesa's ivy.xml?  That way I can just update
and grab the dependency that way.
Aug 7, 2008
#7 extremec...@gmail.com
That would be something to get the classic tags supported so quickly! It will be
interesting to see how many eXtremeTable users come over at this point....

Like I said before too, if you just want to cut and paste the tags and get them to
work I can jump in and help extract out the common code. Feel free to that as well,
but I do not want you to feel like you have to.

Once you have those done I will get the tags working in the jmesaRetroWeb project.
Also feel free to use that project if you want. I didn't think the classic tags would
be done right away so I took them out...so now it needs to be copied back in. The
retro web project is completely a cut and paste copy and then modified to take out
the Java 5 code.

I have the standard-1.0.2 jar file in the repository and just updated the ivy.xml
file as well.


Oct 19, 2008
Project Member #8 jeff.johnston.mn@gmail.com
There is no work being done on this now...if anyone is interested in picking this up
let me know and I will re-open this task.
Status: WontFix