| Newsgroups |
gmane.comp.java.open-symphony.webwork |
| Message-ID |
<31225299.1147264108352.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=30302&messageID=58608#58608
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]