info.magnolia.module.exchangesimple
Class ReceiveFilter

java.lang.Object
  extended by info.magnolia.cms.filters.AbstractMgnlFilter
      extended by info.magnolia.module.exchangesimple.ReceiveFilter
All Implemented Interfaces:
MgnlFilter, javax.servlet.Filter

public class ReceiveFilter
extends AbstractMgnlFilter

This filter receives activation requests from another instance and applies them.

Author:
Sameer Charles $Id: ReceiveFilter.java 47684 2011-07-25 12:28:31Z had $

Constructor Summary
ReceiveFilter()
           
 
Method Summary
protected  void applyLock(javax.servlet.http.HttpServletRequest request)
          apply lock.
protected  void cleanUp(javax.servlet.http.HttpServletRequest request)
          cleans temporary store and removes any locks set.
protected  void copyProperties(Content source, Content destination)
          Copy all properties from source to destination (by cleaning the old properties).
 void doFilter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain)
           
protected  HierarchyManager getHierarchyManager(javax.servlet.http.HttpServletRequest request)
          get hierarchy manager.
protected  org.jdom.Element getImportedContentRoot(MultipartForm data, String resourceFileName)
           
protected  Content getNode(javax.servlet.http.HttpServletRequest request)
           
protected  String getParentPath(javax.servlet.http.HttpServletRequest request)
           
 long getRetryWait()
           
 int getUnlockRetries()
           
protected  String getUser(javax.servlet.http.HttpServletRequest request)
           
protected  String getUUID(javax.servlet.http.HttpServletRequest request)
           
protected  String getWebappName()
           
protected  void handleChildren(javax.servlet.http.HttpServletRequest request, Content content)
           
protected  String handleMovedContent(String newParentPath, HierarchyManager hm, org.jdom.Element topContentElement, Content content)
           
protected  void importFresh(org.jdom.Element topContentElement, MultipartForm data, HierarchyManager hierarchyManager, String parentPath)
          import on non existing tree.
protected  void importOnExisting(org.jdom.Element topContentElement, MultipartForm data, HierarchyManager hierarchyManager, Content existingContent)
          import on existing content, making sure that content which is not sent stays as is.
protected  void importResource(MultipartForm data, org.jdom.Element resourceElement, HierarchyManager hm, String parentPath)
          import documents.
protected  void order(Content parent, String name, String orderBefore)
           
protected  String orderImportedNode(String newParentPath, HierarchyManager hm, org.jdom.Element rootElement, org.jdom.Element topContentElement)
           
protected  String receive(javax.servlet.http.HttpServletRequest request)
          handle activate or deactivate request.
protected  String remove(javax.servlet.http.HttpServletRequest request)
          Deletes (de-activate) the content specified by the request.
protected  void removeChildren(Content content, Content.ContentFilter filter)
          remove children.
protected  void setResponseHeaders(javax.servlet.http.HttpServletResponse response, String statusMessage, String status, String result)
           
 void setRetryWait(int retryWait)
           
 void setUnlockRetries(int unlockRetries)
           
protected  String update(javax.servlet.http.HttpServletRequest request)
          handle update (activate) request.
 
Methods inherited from class info.magnolia.cms.filters.AbstractMgnlFilter
acceptsEncoding, acceptsGzipEncoding, addAndVerifyHeader, addBypass, addMapping, bypasses, destroy, doFilter, getBypasses, getDispatching, getMapping, getMappings, getName, headerContains, init, isEnabled, mapsTo, matches, matchesDispatching, setDispatching, setEnabled, setName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReceiveFilter

public ReceiveFilter()
Method Detail

getUnlockRetries

public int getUnlockRetries()

setUnlockRetries

public void setUnlockRetries(int unlockRetries)

getRetryWait

public long getRetryWait()

setRetryWait

public void setRetryWait(int retryWait)

doFilter

public void doFilter(javax.servlet.http.HttpServletRequest request,
                     javax.servlet.http.HttpServletResponse response,
                     javax.servlet.FilterChain chain)
              throws IOException,
                     javax.servlet.ServletException
Specified by:
doFilter in class AbstractMgnlFilter
Throws:
IOException
javax.servlet.ServletException

setResponseHeaders

protected void setResponseHeaders(javax.servlet.http.HttpServletResponse response,
                                  String statusMessage,
                                  String status,
                                  String result)

receive

protected String receive(javax.servlet.http.HttpServletRequest request)
                  throws Exception
handle activate or deactivate request.

Parameters:
request -
Throws:
Exception - if fails to update

getWebappName

protected String getWebappName()

getUser

protected String getUser(javax.servlet.http.HttpServletRequest request)

update

protected String update(javax.servlet.http.HttpServletRequest request)
                 throws Exception
handle update (activate) request.

Parameters:
request -
Throws:
Exception - if fails to update

getImportedContentRoot

protected org.jdom.Element getImportedContentRoot(MultipartForm data,
                                                  String resourceFileName)
                                           throws org.jdom.JDOMException,
                                                  IOException
Throws:
org.jdom.JDOMException
IOException

handleChildren

protected void handleChildren(javax.servlet.http.HttpServletRequest request,
                              Content content)

handleMovedContent

protected String handleMovedContent(String newParentPath,
                                    HierarchyManager hm,
                                    org.jdom.Element topContentElement,
                                    Content content)
                             throws javax.jcr.RepositoryException
Throws:
javax.jcr.RepositoryException

orderImportedNode

protected String orderImportedNode(String newParentPath,
                                   HierarchyManager hm,
                                   org.jdom.Element rootElement,
                                   org.jdom.Element topContentElement)
                            throws javax.jcr.RepositoryException
Throws:
javax.jcr.RepositoryException

order

protected void order(Content parent,
                     String name,
                     String orderBefore)
              throws javax.jcr.RepositoryException
Throws:
javax.jcr.RepositoryException

copyProperties

protected void copyProperties(Content source,
                              Content destination)
                       throws javax.jcr.RepositoryException
Copy all properties from source to destination (by cleaning the old properties).

Parameters:
source - the content node to be copied
destination - the destination node
Throws:
javax.jcr.RepositoryException

removeChildren

protected void removeChildren(Content content,
                              Content.ContentFilter filter)
remove children.

Parameters:
content - whose children to be deleted
filter - content filter

importFresh

protected void importFresh(org.jdom.Element topContentElement,
                           MultipartForm data,
                           HierarchyManager hierarchyManager,
                           String parentPath)
                    throws ExchangeException,
                           javax.jcr.RepositoryException
import on non existing tree.

Parameters:
topContentElement -
data -
hierarchyManager -
parentPath -
Throws:
ExchangeException
javax.jcr.RepositoryException

importOnExisting

protected void importOnExisting(org.jdom.Element topContentElement,
                                MultipartForm data,
                                HierarchyManager hierarchyManager,
                                Content existingContent)
                         throws ExchangeException,
                                javax.jcr.RepositoryException
import on existing content, making sure that content which is not sent stays as is.

Parameters:
topContentElement -
data -
hierarchyManager -
existingContent -
Throws:
ExchangeException
javax.jcr.RepositoryException

importResource

protected void importResource(MultipartForm data,
                              org.jdom.Element resourceElement,
                              HierarchyManager hm,
                              String parentPath)
                       throws Exception
import documents.

Parameters:
data - as sent
resourceElement - parent file element
hm -
parentPath - Path to the node parent
Throws:
Exception

remove

protected String remove(javax.servlet.http.HttpServletRequest request)
                 throws Exception
Deletes (de-activate) the content specified by the request.

Parameters:
request -
Throws:
Exception - if fails to update

getHierarchyManager

protected HierarchyManager getHierarchyManager(javax.servlet.http.HttpServletRequest request)
                                        throws ExchangeException
get hierarchy manager.

Parameters:
request -
Throws:
ExchangeException

cleanUp

protected void cleanUp(javax.servlet.http.HttpServletRequest request)
cleans temporary store and removes any locks set.

Parameters:
request -

applyLock

protected void applyLock(javax.servlet.http.HttpServletRequest request)
                  throws ExchangeException
apply lock.

Parameters:
request -
Throws:
ExchangeException

getNode

protected Content getNode(javax.servlet.http.HttpServletRequest request)
                   throws ExchangeException,
                          javax.jcr.RepositoryException
Throws:
ExchangeException
javax.jcr.RepositoryException

getParentPath

protected String getParentPath(javax.servlet.http.HttpServletRequest request)

getUUID

protected String getUUID(javax.servlet.http.HttpServletRequest request)


Copyright © 2003-2012 Magnolia International Ltd.. All Rights Reserved.