abdera-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Primmer" <david.prim...@gmail.com>
Subject Re: need help with the custom provider example
Date Tue, 15 Apr 2008 16:33:08 GMT
Thanks Dan. It turns out we were being brain-dead and we should've
just used AbderaServlet directly and send in a couple init params like
you have in your web.xml.

The main question i have now is how to use all the new Managed
classes. This is one area where info on how to wire them up will help
newbies like me. Some example properties files especially. I couldn't
find any in the src. Also, custom routing is the main issue with the
ManagedProvider. I'm using a custom provider just for the routing (and
since I don't have time to figure out how to write the properties
files for the ManagedProvider). Since routing is usually the first
place you'd move away from the boilerplate, I'd say it would help to
have clear points to factor out the routing info into a class that can
be loaded as a property for the managed provider. ManagedRouteManager
may also work.

davep

On Tue, Apr 15, 2008 at 4:46 AM, Dan Diephouse
<dan.diephouse@mulesource.com> wrote:
> We need to make sure this is documented and fix the tutorial. One shouldn't
> have to extend the servlet to get Abdera working. I guess its a question of
> what is best practice... Is it best practice to extend DefaultProvider, add
> your adapters and then supply the init-param for your provider? The problem
> I have with this approach is that it seems a little overly simplistic as you
> still need to get access to your backend somehow (the pre-built adapters are
> another story).
>
>  Dan
>
>
>
>  David Primmer wrote:
>
> > vasu and i figured it out.
> >
> > I put the init params into the web.xml:
> >
> >    <init-param>
> >      <param-name>org.apache.abdera.protocol.server.Provider</param-name>
> >      <param-value>org.apache.abdera.example.CustomProvider</param-value>
> >    </init-param>
> >
> > then i get them from the config and have the manager create the providor:
> >
> >  @Override
> >  protected Provider createProvider() {
> >    return manager.newProvider(getProperties(getServletConfig()));
> >  }
> >
> > if you leave the init params out, you create a DefaultProvider instead
> > of your CustomProvider
> >
> > davep
> >
> > On Fri, Apr 11, 2008 at 2:04 PM, David Primmer <david.primmer@gmail.com>
> wrote:
> >
> >
> > > I'm doing server setup that I thought should be better documented.
> > >  Basically, I'd like to make the CustomProvider example work with a
> > >  web.xml based setup. I see some info on it on the wiki but the example
> > >  itself uses java code to compose the app and to start jetty.
> > >
> > >  So I made a CustomSampleServlet that extends AbderaServlet and re-uses
> > >  the other two files from the custom example.
> > >
> > >  This is what it does:
> > >
> > >  public class CustomSampleServlet extends AbderaServlet {
> > >
> > >  private final static Log log = LogFactory.getLog(AbderaServlet.class);
> > >
> > >  @Override
> > >  protected Provider createProvider() {
> > >    return new CustomProvider();
> > >  }
> > >
> > >  @Override
> > >  public void init() {
> > >    log.debug("Initialing Abdera Servlet");
> > >    manager = createServiceManager();
> > >    provider = createProvider();
> > >    log.debug("Using provider - " + provider);
> > >  }
> > >
> > >  }
> > >
> > >
> > >  Then in my web.xml I have what is at the bottom of this page:
> > >
> http://cwiki.apache.org/confluence/display/ABDERA/Your+first+AtomPub+Server
> > >
> > >
> > >  line 179 of ServletRequestContext does:
> > >  Abdera abdera = provider.getAbdera();
> > >
> > >  but returns null. This doesn't seem right. Next thing i know, i have a
> > >  null pointer exception on ServletRequestContext.getHost. Can someone
> > >  help with the provider bootstrap code?
> > >
> > >  Does this have something to do with leaving out this sort of thing?:
> > >  servletHolder.setInitParameter(ServiceManager.PROVIDER,
> > >  CustomProvider.class.getName());
> > >
> > >  thanks.
> > >
> > >  davep
> > >
> > >
> > >
> >
>
>
>  --
>  Dan Diephouse
>  MuleSource
>  http://mulesource.com | http://netzooid.com
>

Mime
View raw message