Hi Ian,

Your very welcome!  It was fun working on it, learned quite a bit about WW
in the process... I opened a JIRA ticket that includes everything:

http://issues.apache.org/struts/browse/WW-1330

It has a link to a complete webapp demonstrating it (too big to attach to
the ticket I thought), but the new code to commit *is* included on the
ticket.  The comments on the ticket is just a copy of the javadoc overview
by the way (I always try and document my work as best I can) and it pretty
well describes it all.

FYI, I wrote it against WW 2.2.2, and the package structure is based on
that as well.  I added a new package, c.o.w.result.  I wasn't 100% sure
what the SAF2 package structure was, that's why I went with the existing
WW structure.  Feel free to not add that result package if you think there
is an existing package for the results, I just thought it might be a good
idea going forward should there be other new result types to add.

Frank

-- 
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM: fzammetti
Yahoo: fzammetti
MSN: [EMAIL PROTECTED]
Java Web Parts -
http://javawebparts.sourceforge.net
Supplying the wheel, so you don't have to reinvent it!

On Mon, June 5, 2006 10:01 am, Ian Roughley wrote:
> Frank -
>
> Thanks again for all the work you've done on this front!  Email the code
> to me at [EMAIL PROTECTED]  I'll take a look over it and commit it to the
> saf project.  If there are some interesting classes, you might want to
> add them to the JIRA issuse for discussion
>
> /Ian
>
>
> Frank W. Zammetti wrote:
>> FYI, for anyone that's interested and been following this discussion,
>> I finally got this all working, just need a few hours tomorrow night
>> to do some final polishing and documentation (not that it'll be
>> perfect out of the gate anyway, but I'd like to get as close as
>> possible).
>>
>> In short, there is a total of seven new classes, 2 Interceptors
>> (AjaxXMLInterceptor and AjaxJSONInterceptor, implementing Interceptor,
>> not AroundInterceptor as I was originally doing), 2 Results
>> (AjaxXMLResult and AjaxJSONResult), 2 marker interfaces (AjaxXMLAware
>> and AjaxJSONAware) and a helper class that the Interceptors both use
>> (AjaxInterceptorHelper).  There is also a new dependency introduced,
>> JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) which is used for
>> serializing an Action to JSON (v1.0, which I used, is licensed under
>> ASF 2.0, so shouldn't be a problem there).  Technically there is a
>> dependency on the Java classes from json.org as well, but they are
>> included in the JSON-RPC-Java JAR.  The classes are currently in the
>> com.opensymphony.webwork.interceptor and
>> com.opensymphony.webwork.result (new) package, I figured they could be
>> moved to the correct SAF2 packages easy enough.
>>
>> I also have a complete WW 2.2.2 sample app built to test this all.
>> It's a simple demonstration of constructing JSON or XML on the client
>> from form entries, sending it to the server, the Action getting
>> populated from that message, and then a response coming back in JSON
>> or XML constructed from the Action's fields.  No mapping files
>> required, no extra code in the Action (other than implementing one, or
>> both, of the new marker interfaces), just a modified Interceptor stack
>> and using the new Results.
>>
>> I presume posting this to JIRA is the appropriate route?  But, if I
>> upload everything to it, the sample app and all, it's almost 8 megs...
>> better to just post the new code and link to the sample app on my
>> server I assume?
>>
>> Frank
>>
>> Frank W. Zammetti wrote:
>>> Argh... just so no one thinks I forgot about this... I've had to work
>>> from home all this week for various unforeseen reasons, and of course
>>> as a pessimist like myself would expect, the mostly working code got
>>> lost since this weekend.  Thought there was a copy on my thumb drive,
>>> but of course not, copy on PC was since squashed, etc.  Typical
>>> Murphy's Law.
>>>
>>> I believe there is an older version sitting on my work PC, so as soon
>>> as I get back there (which doesn't look to be tomorrow either), I can
>>> get it and figure out what I had fixed subsequent to that.  Argh I
>>> say, ARGH!  That just reminds me to set up SVN on my new home server
>>> this weekend!
>>>
>>> And Jason, I get what you wrote here about the Result, I was planning
>>> on refactoring to that before this little setback :)  I don't think
>>> it would have been a problem per se to render the response in an
>>> Interceptor, that seemed like it was going to work, but it did
>>> present the problem of mixing and matching XML/JSON as we were
>>> discussing, so for that reason alone it would seem to make sense.
>>> Thanks for the info on that!
>>>
>>> Frank
>>>
>>> Jason Carreira wrote:
>>>>> Ted and Jason, I did see your messages about
>>>>> AroundInterceptor and Result correspondingly... right now, in the
>>>>> interest
>>>>> of simply getting it working, I'm just doing a simple
>>>>> AroundInterceptor
>>>>> using before() and after(), one interceptor for XML and one for JSON
>>>>> (although as I just wrote that it dawned on me that that probably
>>>>> won't
>>>>> work because mixing XML and JSON probably won't work... might have to
>>>>> combine them and allow configuration... I'll see...)
>>>>>
>>>>> I read up on Restults a bit yesterday, and I can
>>>>> certainly see why you'd say that Jason... this still feels to me like
>>>>> something that should really be just an interceptor though... but,
>>>>> the code
>>>>> is at this point generic enough that moving it or putting it in a
>>>>> different form shouldn't be a big deal, so that can be decided
>>>>> later... lemme just get it all working first :)
>>>>>
>>>>> Frank
>>>>>
>>>>
>>>>
>>>> The problem you're having composing the JSON and XML is because the
>>>> output should be a result. Interceptors don't produce content,
>>>> that's orthogonal to their usage. Results are all about generating
>>>> output. What would happen if I configured an Action with the JSON
>>>> interceptor to read the incoming request and produce output, but
>>>> also configured the action to have a JSP page as the Result? They
>>>> can't BOTH write to the output stream.
>>>> ---------------------------------------------------------------------
>>>> Posted via Jive Forums
>>>> http://forums.opensymphony.com/thread.jspa?threadID=32216&messageID=63313#63313
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> 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]

Reply via email to