Chat transcript, 07:27 AM CDT

<[email protected]>
Newsgroups gmane.comp.java.open-symphony.webwork
Message-ID <21535629.1147264108342.JavaMail.os-j2ee@opensymphony01.managed.contegix.com>
chatbot> New reply by Tor Egil Jacobsen: Heeelp (http://forums.opensymphony.com/thread.jspa?messageID=58325)
chatbot> New reply by Tor Egil Jacobsen: Heeelp (http://forums.opensymphony.com/thread.jspa?messageID=58330)
chatbot> New reply by Philip Luppens: Heeelp (http://forums.opensymphony.com/thread.jspa?messageID=58331)
chatbot> New reply by Philip Luppens: Heeelp (http://forums.opensymphony.com/thread.jspa?messageID=58333)
chatbot> New thread by Simon: How to change the language in my application? (http://forums.opensymphony.com/thread.jspa?threadID=30165)
chatbot> New thread by Simon: Best way to call a database (http://forums.opensymphony.com/thread.jspa?threadID=30166)
chatbot> New reply by Philip Luppens: How to change the language in my application? (http://forums.opensymphony.com/thread.jspa?messageID=58349)
chatbot> New reply by Philip Luppens: Best way to call a database (http://forums.opensymphony.com/thread.jspa?messageID=58350)
chatbot> New reply by Ian Roughley: How to change the language in my application? (http://forums.opensymphony.com/thread.jspa?messageID=58352)
chatbot> New reply by Tor Egil Jacobsen: Heeelp (http://forums.opensymphony.com/thread.jspa?messageID=58353)
chatbot> New reply by Philip Luppens: Heeelp (http://forums.opensymphony.com/thread.jspa?messageID=58356)
Phil> Hey Patrick
chatbot> New thread by Arelowo: HELP!!!!  -conversion.properties error (http://forums.opensymphony.com/thread.jspa?threadID=30171)
chatbot> New reply by Alex Shneyderman: HELP!!!!  -conversion.properties error (http://forums.opensymphony.com/thread.jspa?messageID=58366)
chatbot> New reply by Arelowo: HELP!!!!  -conversion.properties error (http://forums.opensymphony.com/thread.jspa?messageID=58371)
mrdon> /me does a jig
chatbot> New reply by lingcm: puzzle with how to set Request attribute in WW interceptor (http://forums.opensymphony.com/thread.jspa?messageID=58380)
chatbot> New thread by Jeff Warren: Tomcat Deployer leaves webwork.properties (http://forums.opensymphony.com/thread.jspa?threadID=30178)
chatbot> New reply by tm_jee: puzzle with how to set Request attribute in WW interceptor (http://forums.opensymphony.com/thread.jspa?messageID=58386)
chatbot> New reply by Alex Shneyderman: HELP!!!!  -conversion.properties error (http://forums.opensymphony.com/thread.jspa?messageID=58388)
chatbot> New reply by tm_jee: Heeelp (http://forums.opensymphony.com/thread.jspa?messageID=58389)
chatbot> New reply by Arelowo: HELP!!!!  -conversion.properties error (http://forums.opensymphony.com/thread.jspa?messageID=58390)
chatbot> New reply by tm_jee: HELP!!!!  -conversion.properties error (http://forums.opensymphony.com/thread.jspa?messageID=58391)
chatbot> New reply by Arelowo: HELP!!!!  -conversion.properties error (http://forums.opensymphony.com/thread.jspa?messageID=58396)
plightbo> not a lot of action going on here
mrdon> I did a jig earlier...doesn't that count for something?!?
plightbo> i suppose so
mrdon> hey nils
mrdon> thanks for that post
nilsga> Hey
nilsga> np
nilsga> No reactions still though
crazybob> Which post?
mrdon> I've come to find that is a good thing
mrdon> it means you can do what you want and there is no objections :)
nilsga> hehe
crazybob> :)
nilsga> sounds like fun!
crazybob> Which post?
mrdon> but seriously, that is how struts works - those that do the work make the decisions
nilsga> "Regarding portlet support"
crazybob> Did I miss something? ;)
crazybob> Ah.
mrdon> Does PortletActionContext extend ActionContext?
nilsga> no
mrdon> or is it like ServletActionContext where it is another class?
mrdon> relying on threadlocals
nilsga> lemme check (think it's another class)
nilsga> it's using the ActionContext
mrdon> depending on thread locals, right?
nilsga> yes
nilsga> the same way as ActionContext
nilsga> hm....
nilsga> I think it's using the stack in the invocation
nilsga> to store it's values
mrdon> how would that work in your new api bob?
nilsga> are there any thread locals in the ActionContext?
mrdon> that is how ActionContext.getContext() works
mrdon> through threadlocals
nilsga> I thought it was just wrapping the invocation.....
crazybob> I'm not sure how it will work.
nilsga> well, anyway, it's dependant on the ActionContext
plightbo> sweet, i just found out vonage provides free calls to italy, france, UK, spain, and ireland
mrdon> but doesn't save you any money on car insurance :(
chatbot> New reply by tm_jee: Tomcat Deployer leaves webwork.properties (http://forums.opensymphony.com/thread.jspa?messageID=58398)
plightbo> true
plightbo> ok, gotta run
plightbo> doing a struts/webwork presentation @ Nike
chatbot> New reply by tm_jee: HELP!!!!  -conversion.properties error (http://forums.opensymphony.com/thread.jspa?messageID=58400)
crazybob> Do you think Messages should be an interface or is it OK to make it a class?
crazybob> Where's Pat when I need him?
crazybob> I think "request" is still the right name for non-field-scoped messages.
mrdon> I like it as an interface
mrdon> why would you want it a class?
crazybob> Users could easily create their own. And you could store the Level constants in it instead of a separate class.
crazybob> Do you we need to enable users to define their own levels? I'm not sure if JSF does or not--hard to tell.
mrdon> hm
mrdon> I don't think it is a huge requirement
crazybob> If not, I could just use an enum which simplifies things.
crazybob> What's the easiest way to share code?
mrdon> I'd make it a javadoc and put it up somewhere
crazybob> Will do.
mrdon> hey jason
jason> hey

mrdon> do you work on any SOA projects?
jason> LOL 

jason> My project is exposing the internal services as web services for QA

mrdon> cool
mrdon> my app uses several external services
mrdon> but they have this bad habit of going down
jason> but I have no idea what SOA is supposed to be, compared to regular tiered architecture

mrdon> how do you handle that?
jason> hmm... can you cache the results and return those if it doesn't respond?

jason> we aren't depending on any external services yet

mrdon> the problem is the libraries that make the calls aren't always in our control :/
crazybob> mrdon, aspectj?
mrdon> and the messages use WS-Security
jason> good call

mrdon> that's an interesting suggestion..
mrdon> I'll look into that, thanks
jason> are they commercial services? Do you have an SLA with them?
mrdon> DoD
mrdon> so, no. 
crazybob> :)
jason> :-) the SLA is "the service works or we bomb you"

mrdon> that'd be amusing to see the Navy and Army fight.. :)
mrdon> but yeah, I was surprised there wasn't SLA-type agreements too
jason> I'd think AspectJ would give you the opportunity to gather important metrics on external service performance... create a graph of usage and response times... see trends in response times both during a day and over time.

mrdon> that's a good idea
mrdon> in the past, I've used AspectJ, but always found a simpler way to do it
mrdon> this is a case where it might be perfect
jason> well, if you're using Spring to configure them, you could use it to proxy them :-)

jason> ...or even if you're not, but even easier with Spring

mrdon> the code is a self-contained axis handler
mrdon> so my code never touches it
crazybob> Maybe axis already has the hooks you need?
mrdon> the problem is the same handler does the WS-Security stuff
mrdon> so you can't just cache the output
mrdon> WS-Security adds a digital signature and timestamp to the message, among other things
jason> can you use CGLIB to proxy the object you make calls on? 

mrdon> if that can post-process an instance or class file, that'd work too
jason> at some point you have to be dealing with a regular object or regular data, so you cache there...

mrdon> they don't digitally sign their jars so we could post process
jason> CGBLIB can create a proxy of an instance by creating a subclass at runtime

jason> it's what Spring uses... it loads your beans, then post processes them to let your code declare what interceptors should be applied, then it creates a proxy of the instance and hooks in the interceptors

mrdon> right, but I'd have to modify the class files
mrdon> since I never see any of the objects
mrdon> don't load them, don't touch their instances
mrdon> since it is a self-contained axis handler
crazybob> Why does WS-Security pose a problem? Don't we cache a level above that?
jason> Well, you handle SOMETHING right? You make calls against SOME object... proxy that one

jason> yeah, you could cache the final results.. you have to have some data that comes out... you don't just pass the SOAP body around the app, do you?

chatbot> New reply by Arelowo: HELP!!!!  -conversion.properties error (http://forums.opensymphony.com/thread.jspa?messageID=58425)
mrdon> ok, here is the process: user calls service -> axis calls ws-security handler -> handler calls another service -> if ok, handler lets request go through and I handle it
mrdon> so if that handler soap call fails, I never see a thing
mrdon> but I suppose you could put a handler in the request chain for the outgoing call..
mrdon> before the ws-sec handler
mrdon> which is again used
jason> I'm so glad I don't do more with web services... 

mrdon> it gets ugly :/
crazybob> Don, here are some more ideas for messages: http://www.crazybob.org/javadoc/org/apache/struts/action2/Messages.html
crazybob> It removes some duplication and doesn't have the overloading ambiguity.
crazybob> Instead of saying:
crazybob> messages.error("myField", "myMessage");
crazybob> you say:
crazybob> messages.forField("myField").error("myMessage");
jason> it still doesn't feel right to me...

crazybob> Because it's not what you're used to or another reason?
mrdon> that's an interesting approach...
mrdon> so Messages will contain a different Messages instance for each field?
jason> Not enough separation between adding and querying... 

jason> ...probably just build one on the fly...

crazybob> mrdon: yes
jason> I like that part... it's interesting

crazybob> jason: separation and querying, yeah I feel that way to.
mrdon> if we do that, we really should have it implement List
crazybob> (separation of adding and querying I mean)
jason> gah.. no

mrdon> why not? that's all it is
mrdon> just a list
mrdon> of messages
jason> :-) I still like add* even if it's more for Craig to type

jason> no it's not... it's more complicated than that

crazybob> I like add, too.
jason> it's got lists of different levels of messages

mrdon> not for display, not for the simple caces
mrdon> cases
jason> plus a Map of field -> messages

jason> not for display what?

mrdon> I'm just looking at retrieval - each messages instance list a list of messages
mrdon> sure, they may be different types, but they are just messages
mrdon> I'm fine with it not implementing List, just I'd prefer it
mrdon> maybe my subclass will ;)
jason> instead of strings(): getFor() and helper methods getErrors() getInfos() getWarnings()

crazybob> mrdon: it would save one method call; not worth the potential confusion IMO.
mrdon> yeah, I agree with jason's last point
mrdon> remember jstl and it's idiotic dependency on get*
jason> :-) I wasn't thinking of that, just my brain's idiotic mapping of "need data -> getData()"

crazybob> I hate FTP.
mrdon> jason: but that "idiotic mapping" is exactly what we need to leverage
mrdon> this API should be very intuitive
crazybob> Let's not get into a get/no get debate. There's no solution. In this case we care more about adding messages than querying them anyway.
jason> I think they should be parallel... have a get* for every add*

crazybob> I like the getErrors(), etc. helper methods.
jason> the getters make it very easy to query via OGNL or JSTL as just "errors"

crazybob> I put prefixed the methods with "add". I'll make your other changes now.
jason> cool

crazybob> I cannot type today.
crazybob> Think it's OK that hasErrors() etc. is recursive?
crazybob> Seems like the common use case.
mrdon> I would expect it not to be
mrdon> well, maybe not
mrdon> getErrors shouldn't be I think
crazybob> No, definitely not. hasErrors() though...
mrdon> no, I think has* is fine for recursive, just document it well
crazybob> Already done.
crazybob> Better? http://www.crazybob.org/javadoc/org/apache/struts/action2/Messages.html
crazybob> I just renamed severities() -> getSeverities(), too.
mrdon> I like it!
mrdon> adding field messages is longer, but really, that won't be used much
mrdon> and it does clean up the API considerably
crazybob> Well, and you can pass the nested Messages instance around, so it can actually be shorter.
crazybob> For example, if I have a nested component on my action which is returned by getFoo().
crazybob> Foo can be MessageAware.
mrdon> true
crazybob> and I could call getFoo().setMessages(messages.forField("foo")).
crazybob> And now Foo doesn't have to worry about its message prefix.
mrdon> I still like my .info() .warn(), etc, but this is a good compromise
jason> I think there should be a separation and fields should return a Messages interface without the fields support
jason> 	forSeverity(Messages.Severity severity)
          Gets message strings for the given severity.

jason> should say it's messages at the top level, not messages in the fields for that severity

crazybob> Jason, I'm not sure I understood everything you just said. Can you please elaborate?
crazybob> Don, what's you IM handle?
crazybob> For future reference.
jason> we should break the Messages interface up into the getErrors(), etc. and the forFields(), etc. ones that handle field-level
jason> the forField() should return one without the forField*() methods

jason> forSeverity(), getErrors(), etc. should specify that they are just the top-level messages, not including the ones for the field-level

mrdon> Starflyr9 on AIM
mrdon> It'd be interesting for messages to be N-leveled
mrdon> as it is, I guess field messages could have subfield messages
mrdon> I kinda like that actually
mrdon> as it lets you collect all form messages easier global -> form -> field
mrdon> supporting multiple forms on a single page
jason> ugh... sounds complicated and hard to display to the user

mrdon> how else would you do it?
mrdon> you have multiple forms on a page
mrdon> each form has messages, and their fields have messages
crazybob> Jason, what should the split interface names be?
mrdon> this is similar to the preferences api in java 1.4
mrdon> which I also like
mrdon> I dunno, I'm liking the N-levelness
crazybob> Ditto.
crazybob> It enables hierarchies of components. Plus, restricting it means adding more interfaces which kind of defeats the purpose.
mrdon> my only concern is the forFields() method wouldn't be available in jstl
crazybob> You can't call methods in jstl>
crazybob> ?
mrdon> nope
mrdon> a deliberate design decision :/
crazybob> Ugh. We're using OGNL anyway.
crazybob> We actually use JSTL with OGNL here.
mrdon> how?
crazybob> I'm not sure of the details, but I think the team proxies the servlet request.
crazybob> Does JSTL check for request attributes?
mrdon> yes
crazybob> I think they delegate requests for request attributes to the value stack.
mrdon> ww 2 does that be default I believe
crazybob> Cool.
mrdon> but jstl will still try to run el expressions itself
mrdon> including method calls
crazybob> I'm not using JSP at the moment, so I'll leave that all up to you for the time being. I'll try to start using JSP soon though.
mrdon> yeah, it is a problem...supposedly in 2.1, you can swap out the EL somehow
mrdon> but that was _just_ approved
plightbo> hey guys
plightbo> what's new?
mrdon> hey
mrdon> how are you getting to the svjug mtg?
plightbo> probably borrow my dad's car for the day. i have a few meetings before hand
mrdon> ok
mrdon> I was thinking of catching a ride if you leave from san fran
plightbo> oh, no , i'll be staying in san jose during J1 actually
mrdon> if not, never mind then :)
plightbo> no $$$ for a hotel
plightbo> stupid cheap Sun
mrdon> heh
crazybob> Pat, are you driving back and forth?
plightbo> i was planning to take caltrain
crazybob> How late does that go?
crazybob> I should do the same.
plightbo> last train is around 10 i think
crazybob> Does it go to Moscone?
crazybob> Ugh.
plightbo> maybe 11, i can't remember
plightbo> close to moscone, drops you off near the giants ballpark
crazybob> Way too early. :)
plightbo> you can walk there in 10 minutes
plightbo> i lie
plightbo> there is one at 10 and one at midnight
plightbo> so any more discussion on the API?
plightbo> bob, any new updates to present?
plightbo> get access to apache.org again?
chatbot> New reply by Frans Thamura: connect dwr to webwork (http://forums.opensymphony.com/thread.jspa?messageID=58463)
chatbot> New reply by Alexandru Popescu: connect dwr to webwork (http://forums.opensymphony.com/thread.jspa?messageID=58469)
chatbot> New reply by Erik Beeson: HELP!!!!  -conversion.properties error (http://forums.opensymphony.com/thread.jspa?messageID=58472)
mrdon> hey
plightbo> hi
chatbot> New reply by Simon: How to change the language in my application? (http://forums.opensymphony.com/thread.jspa?messageID=58494)
chatbot> New reply by Wesslan: How to change the language in my application? (http://forums.opensymphony.com/thread.jspa?messageID=58532)
chatbot> New reply by Wesslan: How to change the language in my application? (http://forums.opensymphony.com/thread.jspa?messageID=58533)
chatbot> New thread by Gautam Newalkar: Possible bug with OGNL string comparison (http://forums.opensymphony.com/thread.jspa?threadID=30267)
chatbot> New reply by Philip Luppens: Possible bug with OGNL string comparison (http://forums.opensymphony.com/thread.jspa?messageID=58555)
chatbot> New reply by Wesslan: Possible bug with OGNL string comparison (http://forums.opensymphony.com/thread.jspa?messageID=58556)
chatbot> New reply by Philip Luppens: How to change the language in my application? (http://forums.opensymphony.com/thread.jspa?messageID=58557)
chatbot> New reply by Wesslan: Possible bug with OGNL string comparison (http://forums.opensymphony.com/thread.jspa?messageID=58558)
chatbot> New reply by Philip Luppens: connect dwr to webwork (http://forums.opensymphony.com/thread.jspa?messageID=58559)
chatbot> New reply by Philip Luppens: Possible bug with OGNL string comparison (http://forums.opensymphony.com/thread.jspa?messageID=58561)
chatbot> New reply by Wesslan: Possible bug with OGNL string comparison (http://forums.opensymphony.com/thread.jspa?messageID=58562)
Phil> I'm *always* lucky ^^
Phil> in fact, that's what I base my code on
Phil> since I refuse to use locking, I just code very creative if-else for race conditions
wesslan> Luckky you, then :)
wesslan> lucky
Phil> Yeah .. just to be sure, I've added an apache mod to limit the number of concurrent requests to 1
Phil> problem solved !
wesslan> cool
wesslan> didn't know there were a mod like that
Phil> Well, it's not really a mod. Just set maxThreads=1 or something like that - you catch my drift :)
wesslan> yeah, totally
wesslan> I thought it was a super duper magical solves everything (even starvation) mod
Phil> pfft, no, that one never made it out of the cvs
wesslan> :)
Phil> Oh, I just had a really nifty idea, that's so nifty I'm afraid it's going to be totally wrong :)
wesslan> Feel free to open your mind to me
Phil> Well .. I'm thinking about a ww:shell tag. This tag does nothing more than opening a socket, exposing the valuestack to queries (like 'top', 'class.methods[0]', etc ..), it renders a client (be it flash or a small applet) that connects to the socket, displays the valuestack and gives you a query input textfield. Then we could add ww:snapshot tags to take named snapshots of the valuestack at a certain point in time, and use the shell to explore those as well
Phil> making sense ? :)
wesslan> it sure was nifty! ;)
wesslan> I think it is a great idea!
wesslan> Would be really cool with a plugin for IDE's (in my case, IntelliJ) to use that for debugging
Phil> hmm .. well, you could use any socket capable client
Phil> But I'm not sure there's a way to callback an idea plugin
wesslan> me neither
Phil> I'll make a post, see if any of the devs think it's worth a shot
wesslan> shoot
wesslan> I saw your post about a bug fix release for 2.2.x. I think that would be great.
Phil> Yeah, it should give the saf devs a bit more playground .. the ww users were promised an easy upgrade to saf2.0, which they're not gonna get
Phil> yet there are some bugs that need to be fixed
Phil> without requiring the ww users to do a long/difficult upgrade
wesslan> So, the upgrade process to SAF 2.0 is not going to that easy?
wesslan> (I was never expecting it to be easy)
Phil> Afraid not .. they want to change a (big) part of the API
wesslan> ok
Phil> Well, I was .. I was hoping for quick package name change :)
wesslan> :)
wesslan> Sometimes it better to do things right than being backwards compatible
Phil> but then again, I do understand their argument about 'now is the time to fix mistakes, or support them all the way to saf 3'
Phil> indeed
wesslan> I hear they're thinking about making Java5 a requirement
wesslan> Or am I wrong?
Phil> Yup .. and I'm all for it 
wesslan> me too
wesslan> The problem are those who using an appserver that does not support Java5
wesslan> But, shame on them... ;)
Phil> Yeah .. we better force them to upgrade those appservers as well :p
wesslan> I do not know much about the IBM crap but the WLS crap uses Java5 nowdays
wesslan> I am entitled to use the phrase "WLS crap" because I use it every day...
Phil> ^^
chatbot> New thread by Philip Luppens: A shell/explorer for the WW/SAF valueStack (http://forums.opensymphony.com/thread.jspa?threadID=30279)
chatbot> New reply by Tor Egil Jacobsen: Heeelp (http://forums.opensymphony.com/thread.jspa?messageID=58577)
chatbot> New reply by Philip Luppens: Heeelp (http://forums.opensymphony.com/thread.jspa?messageID=58578)
chatbot> New reply by Tor Egil Jacobsen: HOWTO Invoke an action (http://forums.opensymphony.com/thread.jspa?messageID=58580)
chatbot> New reply by Tor Egil Jacobsen: HOWTO Invoke an action (http://forums.opensymphony.com/thread.jspa?messageID=58582)
chatbot> New reply by Philip Luppens: HOWTO Invoke an action (http://forums.opensymphony.com/thread.jspa?messageID=58586)
chatbot> New reply by Tor Egil Jacobsen: HOWTO Invoke an action (http://forums.opensymphony.com/thread.jspa?messageID=58595)
chatbot> New reply by Philip Luppens: HOWTO Invoke an action (http://forums.opensymphony.com/thread.jspa?messageID=58598)

---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=30301&messageID=58607#58607

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.