RE: RE: Directory restlet

2007-04-24 Thread Jerome Louvel

Hi Chuck,

Agreed, the Javadocs have been updated in SVN. The general rule is to use
the constructor with the Context parameter instead of the default/"lazy"
one.

Best regards,
Jerome  

> -Message d'origine-
> De : Chuck Hinson [mailto:[EMAIL PROTECTED] 
> Envoyé : lundi 23 avril 2007 15:31
> À : discuss@restlet.tigris.org
> Objet : RE: RE: Directory restlet
> 
> I've always wondered about this...
> 
> I've noticed that a lot of the Restlet subclasses have two 
> constructors - a no-arg constructor and one that takes a 
> Context object.  Trouble is, none of the API documentation 
> indicates why I would use one over the other.  It would be 
> nice if there were something in the API docs that says which 
> should be used when.
> 
> --Chuck 
> 
> -Original Message-
> From: Jerome Louvel [mailto:[EMAIL PROTECTED] 
> Sent: Monday, April 23, 2007 8:07 AM
> To: discuss@restlet.tigris.org
> Subject: RE: Directory restlet
> 
> 
> Hi all,
> 
> This is the same issue indeed. I've added a test to prevent 
> the NPE and log a warning message in the log instead. 
> Committed to SVN.
> 
> Best regards,
> Jerome  
> 
> > -Message d'origine-
> > De : Jeff Walter [mailto:[EMAIL PROTECTED] Envoyé : lundi 23 
> > avril 2007 13:55 À : discuss@restlet.tigris.org Objet : Re: 
> Directory 
> > restlet
> > 
> > Hey Chuck,
> > 
> > I had this same issue earlier this month -- it seems now 
> when creating 
> > your application object, you need to pass it the component Context.
> > 
> > Application application = new ProxyEngine(component.getContext ());
> > 
> > Hope this helps,
> > Jeff
> > 
> > 
> > On 4/20/07, Chuck Hinson <[EMAIL PROTECTED]> wrote:
> > 
> > 
> > I thought I had done this before and had it working.  
> > Can somebody tell
> > me what I' m doing wrong?
> > I'm using the 1.0.0 release.
> > 
> > --Chuck
> > 
> > public Restlet createRoot() {
> > 
> > Context context = getContext(); 
> > Router router = new Router(getContext());
> > 
> >  // router.attach("/provider/", ProviderResource.class);
> > Directory directory = new Directory(getContext(),
> > " file:///D:/tmp/");
> > router.attach("/files/",directory);
> > 
> > return router;
> > 
> > }
> > 
> > public static void main(String[] args)
> > throws Exception
> > {
> > 
> > Component component = new Component();
> > component.getServers().add(Protocol.HTTP, 8003);
> > component.getClients().add(Protocol.FILE);
> > 
> > Application application = new ProxyEngine();
> > 
> > VirtualHost host = component.getDefaultHost();
> > if (host == null) throw new RuntimeException("test");
> > host.attach("", application);
> > 
> > component.start();
> > 
> > }
> > 
> > 
> > When I put http://localhost:8003/files/ in my browser, 
> an exception 
> > is
> > thrown: 
> > 
> > 
> > Apr 20, 2007 4:20:00 PM
> > com.noelios.restlet.StatusFilter getStatus 
> > SEVERE: Unhandled exception or error intercepted
> > java.lang.NullPointerException
> > at
> > 
> > 
> com.noelios.restlet.application.ApplicationDispatcher.handle(Applicat
> > ionDispatcher.java:81)
> > at
> > com.noelios.restlet.TemplateDispatcher.handle
> > (TemplateDispatcher.java
> > :89)
> > at org.restlet.Uniform.handle(Uniform.java:97)
> > at org.restlet.Uniform.get(Uniform.java:74)
> > at
> > 
> > 
> com.noelios.restlet.local.DirectoryResource.(DirectoryResource. 
> > java:142)
> > at
> > 
> > com.noelios.restlet.Engine.createDirectoryResource(Engine.java:253)
> > at org.restlet.Directory.findTarget(Directory.java:145)
> > at org.restlet.Finder.handle(Finder.java:268) 
> > at org.restlet.Filter.doHandle(Filter.java:105)
> > at org.restlet.Filter.handle(Filter.java:134)
> > at org.restlet.Router.handle(Router.java:441)
> > at org.restlet.Filt

RE: RE: Directory restlet

2007-04-23 Thread Chuck Hinson
I've always wondered about this...

I've noticed that a lot of the Restlet subclasses have two constructors - a 
no-arg constructor and one that takes a Context object.  Trouble is, none of 
the API documentation indicates why I would use one over the other.  It would 
be nice if there were something in the API docs that says which should be used 
when.

--Chuck 

-Original Message-
From: Jerome Louvel [mailto:[EMAIL PROTECTED] 
Sent: Monday, April 23, 2007 8:07 AM
To: discuss@restlet.tigris.org
Subject: RE: Directory restlet


Hi all,

This is the same issue indeed. I've added a test to prevent the NPE and log a 
warning message in the log instead. Committed to SVN.

Best regards,
Jerome  

> -Message d'origine-
> De : Jeff Walter [mailto:[EMAIL PROTECTED] Envoyé : lundi 23 
> avril 2007 13:55 À : discuss@restlet.tigris.org Objet : Re: Directory 
> restlet
> 
> Hey Chuck,
> 
> I had this same issue earlier this month -- it seems now when creating 
> your application object, you need to pass it the component Context.
> 
> Application application = new ProxyEngine(component.getContext ());
> 
> Hope this helps,
> Jeff
> 
> 
> On 4/20/07, Chuck Hinson <[EMAIL PROTECTED]> wrote:
> 
> 
>   I thought I had done this before and had it working.  
> Can somebody tell
>   me what I' m doing wrong?
>   I'm using the 1.0.0 release.
>   
>   --Chuck
>   
>   public Restlet createRoot() {
>   
>   Context context = getContext(); 
>   Router router = new Router(getContext());
>   
>// router.attach("/provider/", ProviderResource.class);
>   Directory directory = new Directory(getContext(),
>   " file:///D:/tmp/");
>   router.attach("/files/",directory);
>   
>   return router;
>   
>   }
>   
>   public static void main(String[] args)
>   throws Exception
>   {
>   
>   Component component = new Component();
>   component.getServers().add(Protocol.HTTP, 8003);
>   component.getClients().add(Protocol.FILE);
>   
>   Application application = new ProxyEngine();
>   
>   VirtualHost host = component.getDefaultHost();
>   if (host == null) throw new RuntimeException("test");
>   host.attach("", application);
>   
>   component.start();
>   
>   }
>   
>   
>   When I put http://localhost:8003/files/ in my browser, an exception 
> is
>   thrown: 
>   
>   
>   Apr 20, 2007 4:20:00 PM
> com.noelios.restlet.StatusFilter getStatus 
>   SEVERE: Unhandled exception or error intercepted
>   java.lang.NullPointerException
>   at
>   
> com.noelios.restlet.application.ApplicationDispatcher.handle(Applicat
>   ionDispatcher.java:81)
>   at
>   com.noelios.restlet.TemplateDispatcher.handle
> (TemplateDispatcher.java
>   :89)
>   at org.restlet.Uniform.handle(Uniform.java:97)
>   at org.restlet.Uniform.get(Uniform.java:74)
>   at
>   
> com.noelios.restlet.local.DirectoryResource.(DirectoryResource. 
>   java:142)
>   at
>   
> com.noelios.restlet.Engine.createDirectoryResource(Engine.java:253)
>   at org.restlet.Directory.findTarget(Directory.java:145)
>   at org.restlet.Finder.handle(Finder.java:268) 
>   at org.restlet.Filter.doHandle(Filter.java:105)
>   at org.restlet.Filter.handle(Filter.java:134)
>   at org.restlet.Router.handle(Router.java:441)
>   at org.restlet.Filter.doHandle(Filter.java :105)
>   at org.restlet.Filter.handle(Filter.java:134)
>   at org.restlet.Filter.doHandle(Filter.java:105)
>   at
>   com.noelios.restlet.StatusFilter.doHandle(StatusFilter.java:87)
>   at org.restlet.Filter.handle (Filter.java:134)
>   at org.restlet.Filter.doHandle(Filter.java:105)
>   at org.restlet.Filter.handle(Filter.java:134)
>   at
>   
> com.noelios.restlet.application.ApplicationHelper.handle(ApplicationH 
>   elper.java:92)
>   at org.restlet.Application.handle(Application.java:290)
>   at org.restlet.Filter.doHandle(Filter.java:105)
>   at org.restlet.Filter.handle(Filter.java:134)
>   at org.restlet.Router.handle (Router.java:441)
>   at org.restlet.Filter.doHandle(Filter.java:105)
>   at org.restlet.Filter.handle(Filter.java:134)
>   at org.restlet.Router.handle(Router.java:441)
>   at org.restlet.Filter.doHandle (Filter.java:105)
>   at
>   com.noelios.restlet.StatusFilter.doHandle(StatusFilter.java:87)
>   at org.restlet.Filter.handle(Filter.java:134)
>   at org.restlet.Filter.doHandle(Filte