Hi again

a related question. if I load up the data I need from within a plug in
and store it in the application scope, is this an acceptable
sepatation of "view" and "Model" as long as I am doing so from a
service?

Remember, this app architecture I'm using has a "service factory"
(which was set up from within a plug in), and the way all the data
access is done is from these "services".

Does that make sense? Essentially, I'll add a section to the init()
after this service factory is set up that uses the service factory to
instantiate a service whose purpose it is to pass back Application
Level data (I use the example of state codes, common to all users)
which I will then store in the application scope.

Am I making sense?

My goal is to keep this as simple as possible by introducing as little
complexity as possible

Dave J

P.S. I mean no disrespect to people who have suggested other ways of
doing this, I'm simply proposing what seems like a simple solution,
and wondering is it seems drastically wrong, or if it's reasonable.
thanks to everyone for the input!!!!!

On Mon, 14 Feb 2005 14:34:23 -0500 (EST), Frank W. Zammetti
<[EMAIL PROTECTED]> wrote:
> On Mon, February 14, 2005 2:26 pm, David Johnson said:
> > Frank
> >
> > I see what you mean. I was assuming I'd just store the data in a
> > hashtable or something in the Application Context
> 
> That's what I think Wendy suggested, and it's probably a better idea than
> what I do frankly :)
> 
> > I have stupid question...where is your AppConfig actually getting
> > stored? I'd think you'd need to do the above at some point and do a
> 
> No question is stupid :)
> 
> > getServletContext().setAttribute( AppConfig, "myAppInfo");
> >
> > oh boy what am I missing.. or was that implied.. OR did I miss your
> > hwhole point? I really hope it's not the last one ;)
> 
> Your forgetting some basic Java is all (and everyone does it from time to
> time, regardless of what anyone might claim :)
> 
> A member of a class that is static is always present in the CLASS,
> independent of any instance of that class.  For instance:
> 
> public class myClass {
>  public static int PI = 3.14159;
> }
> 
> Now, if you have another class that wants to use PI, you just do:
> 
> public class test {
>  public void showPI() {
>    System.out.println(myClass.PI);
>  }
> }
> 
> No instance of myClass is created, yet you can access the PI member of it
> through the instance of the CLASS... That's sometimes confusing to
> people... The way I learned to think of it is that the JVM (the class
> loader specifically) in a sense does automatically creates an instance of
> the myClass class, but an instance that ONLY contains the static members.
> That's not actually what happens AFAIK, but IN EFFECT it is.
> 
> As long as the two classes are loader by the same class loader, your good
> to go.
> 
> > For this app it's safe to assume we'll always be using struts (btw)
> 
> Then a plugin is safe.  But, as others have said, it's just about as easy
> to do it other ways, so you may as well have one less Struts tie-in.  And
> as Vic I think said, DAOs are the best-practice (one I haven't had cause
> to use yet myself, but I in *no way* disagree with his point).
> 
> --
> Frank W. Zammetti
> Founder and Chief Software Architect
> Omnytex Technologies
> http://www.omnytex.com
> 
> >
> > On Mon, 14 Feb 2005 14:15:28 -0500 (EST), Frank W. Zammetti
> > <[EMAIL PROTECTED]> wrote:
> >> Using a plugin only tells you WHERE your going to read the information
> >> in,
> >> not where your going to STORE it.  I think that's the question you
> >> really
> >> want to ask.  Plugins are pretty standard practice when dealing with
> >> Struts, but if you have a concern that you might not be using Struts at
> >> some point, you might want to do something else.
> >>
> >> In any case, where you put the data is the question.  I'd still put my
> >> vote down for a static "storage" class.  I do that, read the data in a
> >> plugin, stick it in the storage class, and I'm done.  The storage class
> >> is
> >> pretty much nothing more than this:
> >>
> >> import java.util.HashMap;
> >> public class AppConfig {
> >>  private static HasMap config = new HashMap();
> >>  public static void setConfig(HashMap config) {
> >>    this.config = config;
> >>  }
> >>  public static HashMap getConfig() {
> >>    return config;
> >>  }
> >> }
> >>
> >> I start my plugin by doing:
> >>
> >> HashMap config = AppConfig.getConfig();
> >>
> >> ...then read in whatever data I need, shove it in config, and final do:
> >>
> >> AppConfig.setConfig(config);
> >>
> >> Again, so long as this data isn't going to change, and it's not a huge
> >> amount of data, that's all there is to it.  I don't know if this would
> >> be
> >> considered "best practice', but it's certainly "common practive" AFAIK
> >> :)
> >>
> >> --
> >> Frank W. Zammetti
> >> Founder and Chief Software Architect
> >> Omnytex Technologies
> >> http://www.omnytex.com
> >>
> >> On Mon, February 14, 2005 2:08 pm, David Johnson said:
> >> > Ah!
> >> >
> >> > After reading up on the Struts Plugins, I have the following question
> >> >
> >> > Are struts plugins a perfectly acceptable way to handle Application
> >> > level caching? How about best practices-wise?
> >> >
> >> > Thoughts?
> >> >
> >> > D
> >> >
> >> >
> >> > On Mon, 14 Feb 2005 11:03:24 -0800 (PST), Martin Wegner
> >> > <[EMAIL PROTECTED]> wrote:
> >> >>
> >> >> A PlugIn works nicely as well.  I am not sure which is the
> >> recommended
> >> >> Struts practice.
> >> >>
> >> >>
> >> >> --- Wendy Smoak <[EMAIL PROTECTED]> wrote:
> >> >>
> >> >> > From: "David Johnson" <[EMAIL PROTECTED]>
> >> >> > > I have a need in an app I'm working on to cache data that is
> >> valid
> >> >> and
> >> >> > > shared across users, like standard country codes, region codes,
> >> >> > > industry codes... stuff like that.
> >> >> > >
> >> >> > > What's the best way to do that with my struts 1.2 application? Is
> >> >> > > there something built in that I'm not aware of that I can
> >> leverage
> >> >> or
> >> >> > > any best practices you guys can point me toward?
> >> >> >
> >> >> > I use a ServletContextListener that puts a bunch of Maps and other
> >> >> > resources
> >> >> > in application scope.  (Then I use a HttpSessionListener to set up
> >> >> > user-specific things.)
> >> >> >
> >> >> > --
> >> >> > Wendy Smoak
> >> >> >
> >> >> >
> >> >> > ---------------------------------------------------------------------
> >> >> > 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]
> >> >>
> >> >>
> >> >
> >> >
> >> > --
> >> > -Dave
> >> > [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]
> >>
> >>
> >
> >
> > --
> > -Dave
> > [EMAIL PROTECTED]
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> 


-- 
-Dave
[EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to