I tried using sling.servlet.resourceTypes instead of the slingservlet.paths as 
suggested but I still have my component's ( CustomExceptionHandlerServlet ) 
status = "unsatisfied". I think this makes my component unavailable as a 
replacement to the default error handler.

The CustomExceptionHandlerServlet servlet is a part of my OSGI bundle. And the 
DefaultErrorHandlerServlet provided by Sling is a part of 
org.apache.sling.servlets.resolver bundle. Do I need to add 
org.apache.sling.servlets.resolver.* to the import-package definition of my 
bundle ?

My Maven bundle plugin configurations for my OSGI bundle (CUUtilities) looks 
like this ..

            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        
<Bundle-SymbolicName>org.consumersunion.cq.CUUtilities</Bundle-SymbolicName>
                        
<Bundle-Activator>org.consumersunion.cq.Activator</Bundle-Activator>
                        <Export-Package>
                            
com.day.cu.creator.*,org.consumersunion.*,org.consumerreports.*;version="${project.version}",com.emeta.*,org.cu.*,org.jdom.*,com.opensymphony.oscache.*;version="2.1",com.google.*;version="1.0",org.codehaus.jackson.*,net.sf.ehcache.*
                        </Export-Package>
                        <Import-Package>*;resolution:=optional</Import-Package>
                        <Bundle-License>n/a</Bundle-License>
                        <Bundle-Copyright>Copyright (c) Consumers Reports 2011. 
All Rights Reserved.</Bundle-Copyright>
                        
<excludeDependencies>*;scope=provided|runtime</excludeDependencies>
                    </instructions>
                </configuration>
            </plugin>

Thanks for any help.
- Praveen


On 7/28/11 8:35 PM, "sam "" <[email protected]> wrote:

can you try @scr.property sling.servlet.resourceTypes =
"sling/servlet/errorhandler/default"
 ?



On Thu, Jul 28, 2011 at 4:08 PM, Bethoju, Praveen <[email protected]>wrote:

> Hi -
>
> I'd like to create a custom error handler that will handle exceptions
> thrown
> from scripts (at a specific path... ex: /content/api/*) and I want
> errors/exceptions from all other servlets/scripts to be handled in the
> default way (when no custom error handlers are set) using
> DefaultErrorHandlerServlet.
>
> For this purpose, I created a Servlet and mapped it to
> "/apps/sling/servlet/errorhandler/default"
>
> /**
>  *
>  * @scr.component metatype="no" immediate="true"
>  * @scr.service interface="javax.servlet.Servlet"
>  *
>  * This is the custom error handler servlet
>  *
>  * @scr.property name="sling.servlet.paths"
> value="/apps/sling/servlet/errorhandler/default"
>  * @scr.property name="sling.servlet.prefix" value="0"
>  *
>  *
>  */
> public class CustomExceptionHandlerServlet extends GenericServlet {
>
>    /**
>     * @scr.reference policy="static"
>     */
>    protected DefaultErrorHandlerServlet theDefaultErrorHandlerServlet;
>
>
>     @Override
>    public void service(ServletRequest request, ServletResponse response)
> throws IOException {
>
>        SlingHttpServletRequest slingRequest = (SlingHttpServletRequest)
> request;
>        SlingHttpServletResponse slingResponse = (SlingHttpServletResponse)
> response;
>
>        String resourcePath =
> request.getRequestPathInfo().getResourcePath();
>        if(resourcePath.contains("/content/api"))
>        {
>            // perform custom processing.
>        }
>        else
>        {
>            // Somehow forward to the default error handler servlet
>            // or call the default error handler servlet, may be this way ?
>            theDefaultErrorHandlerServlet.service(request, response);
>
>        }
>
>     }
>
> }
>
>
> I have two questions:
>
> 1. In Felix, I see that there's an active component called - "
>
> org.apache.sling.servlets.resolver.internal.defaults.DefaultErrorHandlerServ
> let" available. So, I've added a reference to it from my
> CustomExceptionHandlerServlet class. But for some reason, this dependency
> is
> "unsatisfied". Not sure if I am not doing this wiring correctly. Please
> advise.
>
> 2. If I can't wire the DefaultErrorHandlerServlet as in #1 or if its not
> the
> approach to take, is there a way to forward processing of the error to the
> default error handler servlet?
>
> Thanks
> Praveen
>
>
>
>
>
> **
> This e-mail message is intended only for the designated recipient(s) named
> above. The information contained in this e-mail and any attachments may be
> confidential or legally privileged. If you are not the intended recipient,
> you may not review, retain, copy, redistribute or use this e-mail or any
> attachment for any purpose, or disclose all or any part of its contents.  If
> you have received this e-mail in error, please immediately notify the sender
> by reply e-mail and permanently delete this e-mail and any attachments from
> your computer system.
>


***
Scanned



**
This e-mail message is intended only for the designated recipient(s) named 
above. The information contained in this e-mail and any attachments may be 
confidential or legally privileged. If you are not the intended recipient, you 
may not review, retain, copy, redistribute or use this e-mail or any attachment 
for any purpose, or disclose all or any part of its contents.  If you have 
received this e-mail in error, please immediately notify the sender by reply 
e-mail and permanently delete this e-mail and any attachments from your 
computer system.

Reply via email to