View Javadoc

1   /*
2    * $Id: MuleProvider.java 20321 2010-11-24 15:21:24Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  package org.mule.module.atom;
11  
12  import org.mule.DefaultMuleMessage;
13  import org.mule.api.MuleEventContext;
14  import org.mule.api.MuleException;
15  import org.mule.api.MuleMessage;
16  
17  import org.apache.abdera.protocol.Resolver;
18  import org.apache.abdera.protocol.server.RequestContext;
19  import org.apache.abdera.protocol.server.ResponseContext;
20  import org.apache.abdera.protocol.server.Target;
21  import org.apache.abdera.protocol.server.TargetBuilder;
22  import org.apache.abdera.protocol.server.WorkspaceManager;
23  import org.apache.abdera.protocol.server.RequestContext.Scope;
24  import org.apache.abdera.protocol.server.context.EmptyResponseContext;
25  import org.apache.abdera.protocol.server.impl.AbstractProvider;
26  import org.apache.commons.logging.Log;
27  import org.apache.commons.logging.LogFactory;
28  
29  public class MuleProvider extends AbstractProvider
30  {
31      private final static Log log = LogFactory.getLog(MuleProvider.class);
32  
33      public ResponseContext request(RequestContext request)
34      {
35          MuleEventContext ctx = (MuleEventContext)
36                  request.getAttribute(Scope.REQUEST, AbderaServiceComponent.EVENT_CONTEXT);
37  
38          try
39          {
40              MuleMessage requestMessage = new DefaultMuleMessage(request, ctx.getMuleContext());
41              MuleMessage res = ctx.sendEvent(requestMessage);
42  
43              return (ResponseContext) res.getPayload();
44          }
45          catch (MuleException e)
46          {
47              log.error(e);
48              return new EmptyResponseContext(500);
49          }
50      }
51  
52      @Override
53      protected TargetBuilder getTargetBuilder(RequestContext request)
54      {
55          return null;
56      }
57  
58      @Override
59      protected Resolver<Target> getTargetResolver(RequestContext request)
60      {
61          return null;
62      }
63  
64      @Override
65      protected WorkspaceManager getWorkspaceManager(RequestContext request)
66      {
67          return null;
68      }
69  }