dev@javaserverfaces.java.net

Re: Issue 612

From: Ed Burns <Ed.Burns_at_Sun.COM>
Date: Thu, 03 Sep 2009 18:33:10 -0700

Can someone from the dev team please update the "building" section of
the FAQ with appropriate information from this email?

>>>>> On Sun, 30 Aug 2009 13:29:31 -0400, "Lincoln Baxter, III" <lincolnbaxter_at_gmail.com> said:

LB> https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=612
LB> Were you asking me to take ownership, or stating that you were?

LB> If the former, let me know how to get started and I'll do my best.

No, I wasn't asking you, but you're welcome to do so. It looks like
you've already started.

I've granted you svn acces, if you don't have it already.

Here's the easiest way to do it.

1. install glassfishv3.

http://java.sun.com/javaee/downloads/preview/index.jsp?userOsIndex=6&userOsId=windows&userOsName=Windows

admin userid: admin
admin password: adminadmin

2. check out mojarra

svn checkout https://mojarra.dev.java.net/svn/mojarra/trunk mojarra-HEAD

3. edit mojarra-HEAD/build.properties

container.name=glassfishV3
container.home= place where you installed glassfishv3

4. cd mojarra-HEAD

ant main container.deploy

This'll download a bunch of crap, build mojarra, and install it into
your glassfishV3.

5. Verify it's there.

cd <glassfish-home>/bin

./asadmin start-domain domain1

tail -f ../domains/domain1/logs/server.log

6. Deploy a war

./asadmin deploy --user admin path-to-war.war

look in the log for an entry

INFO: Initialize Mojarra 2.0.0 (SNAPSHOT TODAYS_DATE) for context 'your
app'

If the date is today's date, then you know you have successfully
deployed mojarra to your glassfish.

---
Now as far as fixing this bug, here are some tips.
* Edit
jsf-ri/src/com/sun/faces/facelets/tag/jsf/core/ActionListenerHandler.java
- Add a "method" ivar, type TagAttribute, similar to the binding ivar.
- In the ctor, initialize the method ivar the same way the binding ivar is
  initialized.
- Edit applyAttachedObject().
  You might want to add functionality to the LazyActionListener inner
  class.  Make it so it just calls the MethodExpression.
  In any case, you need to add an ActionListener to the component,
  that's the point of the applyAttachedObject() method.  
* Do the same thing for ValueChangeListenerHandler.java in the same
  directory.  
There you go!
-- 
| ed.burns_at_sun.com  | office: 408 884 9519 OR x31640
| homepage:         | http://ridingthecrest.com/