chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jay brown (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CMIS-764) Allow runtime extensibility of CmisService (via pluggable modules)
Date Wed, 26 Feb 2014 21:56:20 GMT

     [ 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)

Mime
View raw message