[
https://issues.apache.org/jira/browse/CMIS-764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
jay brown updated CMIS-764:
---------------------------
Attachment: CmisCustomServiceWrapper.java
CmisCustomLoggingServiceWrapper.java
CmisCustomServiceWrapper is a working example of what the base class could look
like. It is a no-op pass through for all of the functions in CmisService.
This class (or something like it) would be a part of the framework.
CmisCustomLogginServiceWrapper - this is an example of a subclass of
CmisCustomServiceWrapper which is what a user would create to add arbitrary
extensions to a server. This is the only class an extension creator would
have to author. This example performs timed logging for all calls that come
in for getChildren
> Allow runtime extensibility of CmisService (via pluggable modules)
> -------------------------------------------------------------------
>
> Key: CMIS-764
> URL: https://issues.apache.org/jira/browse/CMIS-764
> Project: Chemistry
> Issue Type: Improvement
> Components: opencmis-commons, opencmis-server
> Affects Versions: OpenCMIS 0.11.0
> Reporter: jay brown
> Assignee: Florian Müller
> Priority: Minor
> Labels: feature
> Fix For: OpenCMIS 0.11.0
>
> Attachments: CmisCustomLoggingServiceWrapper.java,
> CmisCustomServiceWrapper.java
>
>
> Add functionality to the server framework such that users can plug in a chain
> of additional CmisService wrappers on top of the CmisService that has been
> defined by the server.
> (by specifying a list of wrapper classes in the repo.properties and then
> adding the classes to the classpath)
> Wrappers should be classes that implement CmisService plus a new
> getter/setter for the CallContext object. (this is needed for server to
> share objects with wrappers)
> Implementation of this will allow any OpenCMIS based server (even older ones)
> to be extended at runtime for things like custom extensions to the responses,
> logging, and general manipulation of the servers responses as required by
> customers.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)