chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lu, Wentao" <Wentao...@bchydro.com>
Subject Filter to change org.apache.chemistry.opencmis.baseurl does not work on opencmis bridge?
Date Sat, 09 Jan 2016 00:22:52 GMT
Hi,

We are currently using opencmis-bridge 0.10. Based on corporate policy, all request to CMIS
need to go through ESB servers. The high level data flow is:   client->ESB->OpenCMIS-Bridge->CMIS
Server

I am trying to add a filter for atompub to update the "org.apache.chemistry.opencmis.baseurl"
with ESB base url, the code snip as below:

    public void doFilter(ServletRequest request, ServletResponse response, final FilterChain
chain) throws IOException,
            ServletException {

        // check for request header
        if (request instanceof HttpServletRequest) {
              HttpServletRequest httpRequest = (HttpServletRequest)request;
              String esbURL = httpRequest.getHeader("ESBURL");
              if (esbURL != null) {
                     request.setAttribute("org.apache.chemistry.opencmis.baseurl", esbURL);
              }
        }

        // call next
        chain.doFilter(request, response);
}

Web.xml as below
<filter>
              <filter-name>ESB</filter-name>
              <filter-class>mytest.ESBFilter</filter-class>
       </filter>
       <filter-mapping>
              <filter-name>ESB</filter-name>
              <servlet-name>cmisatom</servlet-name>
   </filter-mapping>

However, when I tested it with "ESBURL" header value "http://esbserver:1234/cmis/atom", the
returned url missed the repositoryid part.
i.e.  I send a request  http://localhost:7001/cmis/atom and the result supposed to return
all repositories href as below:

<app:workspace>
                                <atom:title>DevOS1</atom:title>
                                <app:collection href="http://localhost:7001/cmis/atom/DevOS1/children?id=idf_0F1E2D3C-4B5A-6978-8796-A5B4C3D2E1F0">
...........................
...........................
<app:workspace>
                                <atom:title>DevOS2</atom:title>
                                <app:collection href="http://localhost:7001/cmis/atom/DevOS2/children?id=idf_0F1E2D3C-4B5A-6978-8796-A5B4C3D2E1F0">
...................

But in fact, it returns

<app:workspace>
                                <atom:title>DevOS1</atom:title>
                                <app:collection href="http://localhost:7001/cmis/atom/children?id=idf_0F1E2D3C-4B5A-6978-8796-A5B4C3D2E1F0">
...........................
...........................
<app:workspace>
                                <atom:title>DevOS2</atom:title>
                                <app:collection href="http://localhost:7001/cmis/atom/children?id=idf_0F1E2D3C-4B5A-6978-8796-A5B4C3D2E1F0">
...................


Did I missed something?

Thanks
Wentao



________________________________
This email and its attachments are intended solely for the personal use of the individual
or entity named above. Any use of this communication by an unintended recipient is strictly
prohibited. If you have received this email in error, any publication, use, reproduction,
disclosure or dissemination of its contents is strictly prohibited. Please immediately delete
this message and its attachments from your computer and servers. We would also appreciate
if you would contact us by a collect call or return email to notify us of this error. Thank
you for your cooperation.
-BCHydroDisclaimerID5.2.8.1541

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message