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.<init>(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(Filter.java:105) > > at org.restlet.Filter.handle(Filter.java:134) > > at > > > > > com.noelios.restlet.component.ComponentHelper.handle(ComponentHelper. > > java:115) > > at org.restlet.Component.handle(Component.java:228) > > at org.restlet.Server.handle (Server.java:281) > > at > > com.noelios.restlet.ServerHelper.handle(ServerHelper.java:99) > > at > > > > > com.noelios.restlet.http.HttpServerHelper.handle(HttpServerHelper.jav > > a:94) > > at > > > > com.noelios.restlet.ext.simple.SimpleProtocolHandler.handle > (SimplePro > > tocolHandler.java:66) > > at simple.http.Dispatcher.run(Unknown Source) > > at simple.util.process.Daemon.execute(Unknown Source) > > at simple.util.process.Daemon.run(Unknown Source) > > Apr 20, 2007 4:20:00 PM com.noelios.restlet.LogFilter > afterHandle > > INFO: 2007-04-20 16:20:00 127.0.0.1 > > - - > > 8003 > > GET /files/ - 500 366 - 80 > > http://localhost:8003 > > Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: > > 1.8.1.3 <http://1.8.1.3> ) > > Gecko/20070309 Firef > > ox/2.0.0.3 - > > > > > > ------------------------------------ > > Chuck Hinson > > Gestalt LLC > > phone: 610.994.2833 > > IM: chucking24 (Yahoo) > > > > > > > > > >