abdera-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Diephouse <dan.diepho...@mulesource.com>
Subject Re: need help with the custom provider example
Date Tue, 15 Apr 2008 21:44:54 GMT
I agree with your conclusions - I think the current version is a little 
simplistic. I haven't looked into it much, but I know its on one of my 
two top priority issues for 1.0. Properties files are rarely the way 
people want to configure stuff.

David Primmer wrote:
> 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
>>
>>     


-- 
Dan Diephouse
MuleSource
http://mulesource.com | http://netzooid.com 


Mime
View raw message