Jeremy,

Any progress on the runtime info?

Many thanks
Meeraj

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jeremy
Boynes
Sent: 20 September 2006 17:43
To: [email protected]
Subject: Re: Update on dependency work

This adds the concept of a repository to the RuntimeInfo - do we want to
do that?

I would be more comfortable adding something like
   URL getBaseURL()
that would return the URL of the the install dir or WEB-INF/tuscany and
add the "repository" bit as a configuration parameter for the
repo:

// default for repoLocation would be "repository/"
public MavenArtifactRepository(@Autowire RuntimeInfo runtimeInfo
                                             @Parameter String
repoLocation) {
  URL repoBase = new URL(runtimeInfo.getBaseURL(), repoLocation); }

--
Jeremy

On 9/20/06, Meeraj Kunnumpurath <[EMAIL PROTECTED]> wrote:
> Jeremy,
>
> Thanks for your help,
>
> I was wondering you could please extend this a bit,
>
> public abstract class RuntimeInfo {
>
>   public abstract URL getRepositoryURL();
>
> }
>
> public class WarRuntimeInfo {
>
>   public URL getRepositoryURL() {
>     // Get stuff from servlet context
>     return servletContext.getResource("WEB-INF/tuscany/repository");
>   }
>
> }
>
> public class StanadloneRuntimeInfo {
>
>   public URL getRepositoryURL() {
>     return new File(getInstallDir(), "repository").toUrl();
>   }
>
> }
>
> This means, I won't need to subclass MavenArtifactRepository for 
> webapp host and standalone. I could do something like below and use 
> the common abstraction for RuntimeInfo (because I am only inteersted 
> in the repository URL, at least to start with),
>
> public class MavenArtifactRepository {
>     public MavenArtifactRepository(@Autowire RuntimeInfo runtimeInfo)
{
>        this.runtimeInfo = runtimeInfo}
>     }
> }
>
> Ta
> Meeraj
>
> -----Original Message-----
> From: Jeremy Boynes [mailto:[EMAIL PROTECTED]
> Sent: 19 September 2006 22:13
> To: [email protected]
> Subject: Re: Update on dependency work
>
> It would set the component up - you would want to define an autowire 
> to it e.g.
>
> public class WarMavenRepository extends ${some repo baseclass} {
>     public WarMavenRepository(@Autowire WarRuntimeInfo runtimeInfo) {
>        this.runtimeInfo = runtimeInfo}
>     }
> }
>
> Injection would be performed by the system component container when 
> creating your instance (i.e. it is actually done by the fabric not the

> host environment).
>
> --
> Jeremy
>
> On Sep 19, 2006, at 2:06 PM, Meeraj Kunnumpurath wrote:
>
> > Jeremy,
> >
> > That should work nicely for me. Also, I guess the host environment 
> > will inject the right runtime info instnace into the artifcat repo 
> > instance?
> >
> > Thanks for your help
> > Meeraj
> >
> >
> >> From: Jeremy Boynes <[EMAIL PROTECTED]>
> >> Reply-To: [email protected]
> >> To: [email protected]
> >> Subject: Re: Update on dependency work
> >> Date: Tue, 19 Sep 2006 13:12:30 -0700
> >>
> >> On Sep 19, 2006, at 12:42 PM, Meeraj Kunnumpurath wrote:
> >>
> >>> Ok, thinking about this further, I have a couple of ideas ...
> >>>
> >>> Have an abstract class AbstractMavenRepository with two 
> >>> specializations,
> >>>
> >>> 1. WarMavenRepository
> >>> 2. StandaloneMavenRepository
> >>>
> >>> Both will get injected an instance of RuntimeInfo that is specific

> >>> to the runtime environment in which the repository is used. We 
> >>> could have WarRuntimeInfo that will give reference to artifacts 
> >>> like servlet context and StandaloneRuntimeInfo that will provide 
> >>> info on install dir etc. The host enviornment will inject the 
> >>> appropriate runtime info object to the repo.
> >>
> >> I had run into that thinking about how to move the extension loader

> >> from WebappRuntimeInfo into a component. Also we have the various 
> >> problems with how we tried to find the install directory, 
> >> particularly when there wasn't one (e.g. in a war or in a test
case).
> >>
> >> I think it would be fairly easy to fix this and I've been tinkering

> >> with the bootstrap code recently so I'm happy to take this on. At 
> >> first guess I've been thinking we'd get something like:
> >>
> >> StandaloneRuntimeInfo extends RuntimeInfo {
> >>   File getInstallDirectory();
> >> }
> >>
> >> WarRuntimeInfo extends RuntimeInfo {
> >>   ServletContext getServletContext(); }
> >>
> >> I'm not quite sure what the current getApplicationRootDirectory() 
> >> method returns and why we need it - can someone please enlighten me

> >> here?
> >>
> >> Meeraj, if this works for you I should be able to get that in there

> >> today or tomorrow.
> >> --
> >> Jeremy
> >>
> >>
> >> -------------------------------------------------------------------
> >> -- To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >
> > _________________________________________________________________
> > Windows Live(tm) Messenger has arrived. Click here to download it 
> > for free! http://imagine-msn.com/messenger/launch80/?locale=en-gb
> >
> >
> > --------------------------------------------------------------------
> > - 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]
>
>
> This message has been checked for all email viruses by MessageLabs.
>
>
>
>
> *****************************************************
>
>     You can find us at www.voca.com
>
> *****************************************************
> This communication is confidential and intended for the exclusive use 
> of the addressee only. You should not disclose its contents to any 
> other person.
> If you are not the intended recipient please notify the sender named 
> above immediately.
>
> Registered in England, No 1023742,
> Registered Office: Voca Limited
> Drake House, Three Rivers Court,
> Homestead Road, Rickmansworth,
> Hertfordshire, WD3 1FX
>
>
> This message has been checked for all email viruses by MessageLabs.
>
> ---------------------------------------------------------------------
> 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]


This message has been checked for all email viruses by MessageLabs.



This message has been checked for all email viruses by MessageLabs.

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

Reply via email to