You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by bu...@apache.org on 2011/02/20 23:39:29 UTC

svn commit: r785816 - /websites/staging/chemistry/trunk/content/opencmis-server-framework.html

Author: buildbot
Date: Sun Feb 20 22:39:29 2011
New Revision: 785816

Log:
Staging update by buildbot

Modified:
    websites/staging/chemistry/trunk/content/opencmis-server-framework.html

Modified: websites/staging/chemistry/trunk/content/opencmis-server-framework.html
==============================================================================
--- websites/staging/chemistry/trunk/content/opencmis-server-framework.html (original)
+++ websites/staging/chemistry/trunk/content/opencmis-server-framework.html Sun Feb 20 22:39:29 2011
@@ -186,34 +186,34 @@ connector has to extend and implement. F
 OpenCMIS Server Framework SPI JavaDoc.</p>
 <p><a name="OpenCMISServerFramework-FrameworkEntryPoint"></a></p>
 <h3 id="framework_entry_point">Framework Entry Point</h3>
-<p>A repository connector has to extend the <em>AbstractServiceFactory</em> class.
+<p>A repository connector has to extend the <code>AbstractServiceFactory</code> class.
 This class manages the objects that implement the CMIS service interface.
 There is only one active instance of this factory class per servlet
 context. The class name has to be set in the configuration file
-<em>/WEB-INF/classes/repository.properties</em>.</p>
+<code>/WEB-INF/classes/repository.properties</code>.</p>
 <div class="codehilite"><pre><span class="c1"># set fully qualified class name</span>
 <span class="n">class</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">repository</span><span class="o">.</span><span class="n">ServicesFactory</span>
 </pre></div>
 
 
 <p>The configuration file may contain more key-value pairs. They are passed to
-the <em>init</em> method of the <em>AbstractServiceFactory</em> object when the
+the <code>init</code> method of the <code>AbstractServiceFactory</code> object when the
 servlet context starts up.</p>
-<p>For each request the <em>getService</em> method will be called and a
-<em>CallContext</em> object will be passed. This <em>CallContext</em> object contains
+<p>For each request the <code>getService</code> method will be called and a
+<code>CallContext</code> object will be passed. This <code>CallContext</code> object contains
 data about the request, such as the used binding, the repository id,
-username and password. The <em>getService</em> method must return an object that
-implements the <em>CmisService</em> interface. This object will only be used in
-this thread. When the object is not needed anymore, the <em>close</em> method on
+username and password. The <code>getService</code> method must return an object that
+implements the <code>CmisService</code> interface. This object will only be used in
+this thread. When the object is not needed anymore, the <code>close</code> method on
 the object will be called.</p>
 <p>It is up to the repository connector how these service objects are created
 and maintained. It is possible to create such an object for each request or
-keep an instance per thread in a ThreadLocal or manage service objects in a
+keep an instance per thread in a <code>ThreadLocal</code> or manage service objects in a
 pool. If you reuse a service object make sure that it doesn't hold any
 state from previous requests.</p>
 <p><a name="OpenCMISServerFramework-ServiceInterface"></a></p>
 <h3 id="service_interface">Service Interface</h3>
-<p>The <em>CmisService</em> interface contains all operations of the CMIS
+<p>The <code>CmisService</code> interface contains all operations of the CMIS
 specification and a few more. Most methods are named after the operations
 described in the CMIS specification. There are a few exceptions to that
 rule because the AtomPub binding doesn't always allow a one-to-one mapping.
@@ -221,27 +221,27 @@ Those divergences are explained in the J
 <p>The methods take the same parameters as described in the CMIS
 specification. There are also a few exceptions that are explained in the
 JavaDoc.</p>
-<p>It is recommended to extend the <em>AbstractCmisService</em> class instead of
-implementing the <em>CmisService</em> interface directly.
-<em>AbstractCmisService</em> contains several convenience methods and covers all
+<p>It is recommended to extend the <code>AbstractCmisService</code> class instead of
+implementing the <code>CmisService</code> interface directly.
+<code>AbstractCmisService</code> contains several convenience methods and covers all
 AtomPub specifics in a generic way.</p>
 <p><a name="OpenCMISServerFramework-AtomPubSpecifics"></a></p>
 <h3 id="atompub_specifics">AtomPub Specifics</h3>
 <p>The AtomPub binding needs more object data than many of the operations
-return. Therefore a repository connector has to provide <em>ObjectInfo</em>
-objects through the <em>getObjectInfo</em> method. <em>AbstractCmisService</em>
-provides a generic implementation of <em>getObjectInfo</em>. If you don't notice
+return. Therefore a repository connector has to provide <code>ObjectInfo</code>
+objects through the <code>getObjectInfo</code> method. <code>AbstractCmisService</code>
+provides a generic implementation of <code>getObjectInfo</code>. If you don't notice
 any performance issue with the AtomPub binding, you don't have to bother
-with <em>ObjectInfo</em> objects.</p>
-<p>If the generic assembly of <em>ObjectInfo</em> objects raises a problem, a
-repository connector can build them itself. <em>AbstractCmisService</em>
-provides a <em>addObjectInfo</em> method that takes and manages <em>ObjectInfo</em>
+with <code>ObjectInfo</code> objects.</p>
+<p>If the generic assembly of <code>ObjectInfo</code> objects raises a problem, a
+repository connector can build them itself. <code>AbstractCmisService</code>
+provides a <code>addObjectInfo</code> method that takes and manages <code>ObjectInfo</code>
 objects. Which objects are required for which operation is documented in
 the JavaDoc.</p>
 <p><a name="OpenCMISServerFramework-AuthenticationFramework"></a></p>
 <h3 id="authentication_framework">Authentication Framework</h3>
 <p>Authentication information is transported to the service implementation via
-the <em>CallContext</em> object. The <em>CallContext</em> is basically a Map and can
+the <code>CallContext</code> object. The <code>CallContext</code> is basically a Map and can
 contain any kind of data. The OpenCMIS server fills it by default with a
 username and a password from either HTTP basic authentication for the
 AtomPub binding or WS-Security (UsernameToken) for the Web Services
@@ -251,12 +251,12 @@ works for the two CMIS bindings.</p>
 <p><a name="OpenCMISServerFramework-AtomPubauthentication"></a></p>
 <h4 id="atompub_authentication">AtomPub authentication</h4>
 <p>For the AtomPub binding a new class implementing the interface
-<em>org.apache.chemistry.opencmis.server.impl.atompub.CallContextHandler</em>
-has to be created. It gets the <em>HttpServletRequest</em> object of the current
-request and returns key-value pairs that are added to the <em>CallContext</em>.
+<code>org.apache.chemistry.opencmis.server.impl.atompub.CallContextHandler</code>
+has to be created. It gets the <code>HttpServletRequest</code> object of the current
+request and returns key-value pairs that are added to the <code>CallContext</code>.
 See the JavaDoc for details.</p>
-<p>The new <em>CallContext</em> handler can be activated by changing the servlet init parameter <em>callContextHandler</em> in {{/WEB-INF/web.xml]
-}}.</p>
+<p>The new <code>CallContext</code> handler can be activated by changing the servlet init parameter <code>callContextHandler</code>
+in <code>/WEB-INF/web.xml</code>.</p>
 <div class="codehilite"><pre><span class="nt">&lt;init-param&gt;</span>
   <span class="nt">&lt;param-name&gt;</span>callContextHandler<span class="nt">&lt;/param-name&gt;</span>
   <span class="nt">&lt;param-value&gt;</span>org.example.opencmis.MyCallContextHandler<span class="nt">&lt;/param-value&gt;</span>
@@ -266,9 +266,9 @@ See the JavaDoc for details.</p>
 
 <p><a name="OpenCMISServerFramework-WebServicesauthentication"></a></p>
 <h4 id="web_services_authentication">Web Services authentication</h4>
-<p>For the Web Services binding a new <em>SOAPHandler</em> class has to be created
-and registered in <em>/WEB-INF/sun-jaxws.xml</em>.</p>
-<p>The <em>handleMessage</em> method should look like this:</p>
+<p>For the Web Services binding a new <code>SOAPHandler</code> class has to be created
+and registered in <code>/WEB-INF/sun-jaxws.xml</code>.</p>
+<p>The <code>handleMessage</code> method should look like this:</p>
 <div class="codehilite"><pre><span class="n">public</span> <span class="n">boolean</span> <span class="n">handleMessage</span><span class="p">(</span><span class="n">SOAPMessageContext</span> <span class="n">context</span><span class="p">)</span> <span class="p">{</span>
   <span class="n">Boolean</span> <span class="n">outboundProperty</span> <span class="o">=</span> <span class="p">(</span><span class="n">Boolean</span><span class="p">)</span>
         <span class="n">context</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">MessageContext</span><span class="o">.</span><span class="n">MESSAGE_OUTBOUND_PROPERTY</span><span class="p">);</span>
@@ -298,13 +298,13 @@ and registered in <em>/WEB-INF/sun-jaxws
 <p><a name="OpenCMISServerFramework-RepositoryConnectorDeployment"></a></p>
 <h2 id="repository_connector_deployment">Repository Connector Deployment</h2>
 <p>The OpenCMIS build process creates a WAR file in
-<em>/chemistry-opencmis-server/chemistry-opencmis-server/target</em>. This WAR
+<code>/chemistry-opencmis-server/chemistry-opencmis-server/target</code>. This WAR
 file should be used as a template. It can be deployed as it is but doesn't
 do anything.</p>
 <p>In order to use your connector, copy your compiled connector code into this
-WAR file and overwrite <em>/WEB-INF/classes/repository.properties</em>.</p>
+WAR file and overwrite <code>/WEB-INF/classes/repository.properties</code>.</p>
 <p>Have a look at the <a href="opencmis-fileshare-repository.html">OpenCMIS FileShare Repository</a>
- test repository code and <em>pom.xml</em>. It's a simple example of a
+ test repository code and <code>pom.xml</code>. It's a simple example of a
 repository connector.</p></div>
              <!-- Content -->
            </td>