chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r785814 - /websites/staging/chemistry/trunk/content/opencmis-client-bindings.html
Date Sun, 20 Feb 2011 22:30:42 GMT
Author: buildbot
Date: Sun Feb 20 22:30:42 2011
New Revision: 785814

Log:
Staging update by buildbot

Modified:
    websites/staging/chemistry/trunk/content/opencmis-client-bindings.html

Modified: websites/staging/chemistry/trunk/content/opencmis-client-bindings.html
==============================================================================
--- websites/staging/chemistry/trunk/content/opencmis-client-bindings.html (original)
+++ websites/staging/chemistry/trunk/content/opencmis-client-bindings.html Sun Feb 20 22:30:42
2011
@@ -184,22 +184,21 @@ clunky interface. The <a href="opencmis-
  sits on top of the provider layer and exposes a nicer and simpler to use
 interface. It is the better choice for most applications.</p>
 <p>A connection to a CMIS repository is represented by a <a href="http://incubator.apache.org/chemistry/javadoc/org/apache/chemistry/opencmis/commons/spi/CmisBinding.html"><em>CmisBinding</em></a>
- object. Such an object can be created by the [<em>CmisBindingFactory</em>|http://incubator.apache.org/chemistry/javadoc/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.html]
-. The factory provides three main methods, one for each binding and third
+ object. Such an object can be created by the <a href="http://incubator.apache.org/chemistry/javadoc/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.html"><code>CmisBindingFactory</code></a>.
+The factory provides three main methods, one for each binding and third
 one for a local connection (same JVM), that require binding specific
-connection information. The created <em>CmisBinding</em> object exposes a
+connection information. The created <code>CmisBinding</code> object exposes a
 binding agnostic interface.</p>
-<p><em>CmisBinding</em> is the entry point to the CMIS services and a few
utility
+<p><code>CmisBinding</code> is the entry point to the CMIS services and
a few utility
 operations. It contains a transparent cache for repository infos and type
 definitions. The object is serializable, although dehydrating can be
-expensive. <em>CmisBinding</em> is thread-safe.</p>
-<p>The <em>get</em>Service()<em> methods provide access to the CMIS
services. Some
+expensive. <code>CmisBinding</code> is thread-safe.</p>
+<p>The get*Service() methods provide access to the CMIS services. Some
 service operations take provider layer specific objects. These objects
-should be created with the <a href="http://incubator.apache.org/chemistry/javadoc/org/apache/chemistry/opencmis/commons/spi/BindingsObjectFactory.html"><em>BindingsObjectFactory</em></a>
-. This factory can be obtained through the </em>getObjectFactory()<em> method
of
-the </em>CmisBinding* object.</p>
+should be created with the <a href="http://incubator.apache.org/chemistry/javadoc/org/apache/chemistry/opencmis/commons/spi/BindingsObjectFactory.html"><code>BindingsObjectFactory</code></a>.
+This factory can be obtained through the <code>getObjectFactory()</code> method
of the <code>CmisBinding</code> object.</p>
 <p>Please refer to the OpenCMIS Commons <a href="http://incubator.apache.org/chemistry/javadoc/">JavaDoc</a>
- and OpenCMIS Client Binding [JavaDoc|http://incubator.apache.org/chemistry/javadoc/]
+ and OpenCMIS Client Binding <a href="http://incubator.apache.org/chemistry/javadoc/">JavaDoc</a>
  for more details on the interfaces.</p>
 <p><a name="OpenCMISClientBindings-SampleCode"></a></p>
 <h2 id="sample_code">Sample Code</h2>
@@ -208,49 +207,38 @@ the </em>CmisBinding* object.</p>
 <p>The AtomPub binding requires the URL of the CMIS service document. HTTP
 basic authentication is enabled by default and a username and a password
 have to be provided.</p>
-<p>{code:java}
-Map<String, String> parameters = new HashMap<String, String>();</p>
-<p>parameters.put(SessionParameter.USER, user);
-parameters.put(SessionParameter.PASSWORD, password);</p>
-<p>parameters.put(SessionParameter.ATOMPUB_URL, url); // service document URL</p>
-<p>CmisBindingFactory factory = CmisBindingFactory.newInstance();
-CmisBinding binding = factory.createCmisAtomPubBinding(parameters);</p>
-<div class="codehilite"><pre><span class="n">h3</span><span class="o">.</span>
<span class="n">Creating</span> <span class="n">a</span> <span
class="n">Web</span> <span class="n">Services</span> <span class="n">binding</span>
<span class="n">instance</span>
+<div class="codehilite"><pre><span class="n">Map</span><span class="o">&lt;</span><span
class="n">String</span><span class="p">,</span> <span class="n">String</span><span
class="o">&gt;</span> <span class="n">parameters</span> <span
class="o">=</span> <span class="k">new</span> <span class="n">HashMap</span><span
class="o">&lt;</span><span class="n">String</span><span class="p">,</span>
<span class="n">String</span><span class="o">&gt;</span><span
class="p">();</span>
 
-<span class="n">The</span> <span class="n">Web</span> <span class="n">Services</span>
<span class="n">binding</span> <span class="n">requires</span> <span
class="n">a</span> <span class="n">WSDL</span> <span class="n">URL</span>
<span class="k">for</span> <span class="nb">each</span> <span class="n">CMIS</span>
<span class="n">service</span><span class="o">.</span> <span class="n">This</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">USER</span><span class="p">,</span>
<span class="n">user</span><span class="p">);</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">PASSWORD</span><span class="p">,</span>
<span class="n">password</span><span class="p">);</span>
+
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">ATOMPUB_URL</span><span class="p">,</span>
<span class="n">url</span><span class="p">);</span> <span class="sr">//</span>
<span class="n">service</span> <span class="n">document</span> <span
class="n">URL</span>
+
+<span class="n">CmisBindingFactory</span> <span class="n">factory</span>
<span class="o">=</span> <span class="n">CmisBindingFactory</span><span
class="o">.</span><span class="n">newInstance</span><span class="p">();</span>
+<span class="n">CmisBinding</span> <span class="n">binding</span>
<span class="o">=</span> <span class="n">factory</span><span class="o">.</span><span
class="n">createCmisAtomPubBinding</span><span class="p">(</span><span
class="n">parameters</span><span class="p">);</span>
 </pre></div>
 
 
-<p>might the same the URL for all services. WS-Security (UsernameToken) is
+<h3 id="creating_a_web_services_binding_instance">Creating a Web Services binding instance</h3>
+<p>The Web Services binding requires a WSDL URL for each CMIS service. This
+might the same the URL for all services. WS-Security (UsernameToken) is
 enabled by default and a username and a password have to be provided.</p>
-<div class="codehilite"><pre><span class="p">{</span><span class="n">code:java</span><span
class="p">}</span>
-<span class="n">Map</span><span class="o">&lt;</span><span
class="n">String</span><span class="p">,</span> <span class="n">String</span><span
class="o">&gt;</span> <span class="n">parameters</span> <span
class="o">=</span> <span class="k">new</span> <span class="n">HashMap</span><span
class="o">&lt;</span><span class="n">String</span><span class="p">,</span>
<span class="n">String</span><span class="o">&gt;</span><span
class="p">();</span>
+<div class="codehilite"><pre><span class="n">Map</span><span class="o">&lt;</span><span
class="n">String</span><span class="p">,</span> <span class="n">String</span><span
class="o">&gt;</span> <span class="n">parameters</span> <span
class="o">=</span> <span class="k">new</span> <span class="n">HashMap</span><span
class="o">&lt;</span><span class="n">String</span><span class="p">,</span>
<span class="n">String</span><span class="o">&gt;</span><span
class="p">();</span>
 
 <span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">USER</span><span class="p">,</span>
<span class="n">username</span><span class="p">);</span>
 <span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">PASSWORD</span><span class="p">,</span>
<span class="n">password</span><span class="p">);</span>
 
-<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">WEBSERVICES_REPOSITORY_SERVICE</span><span
class="p">,</span>
-</pre></div>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">WEBSERVICES_REPOSITORY_SERVICE</span><span
class="p">,</span> <span class="n">repositoryServiceWsdlUrl</span><span
class="p">);</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">WEBSERVICES_NAVIGATION_SERVICE</span><span
class="p">,</span> <span class="n">navigationServiceWsdlUrl</span><span
class="p">);</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">WEBSERVICES_OBJECT_SERVICE</span><span
class="p">,</span> <span class="n">objectServiceWsdlUrl</span><span
class="p">);</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">WEBSERVICES_VERSIONING_SERVICE</span><span
class="p">,</span> <span class="n">versioningServiceWsdlUrl</span><span
class="p">);</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">WEBSERVICES_DISCOVERY_SERVICE</span><span
class="p">,</span> <span class="n">discoveryServiceWsdlUrl</span><span
class="p">);</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">WEBSERVICES_RELATIONSHIP_SERVICE</span><span
class="p">,</span> <span class="n">relationshipServiceWsdlUrl</span><span
class="p">);</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">WEBSERVICES_MULTIFILING_SERVICE</span><span
class="p">,</span> <span class="n">multiFilingServiceWsdlUrl</span><span
class="p">);</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">WEBSERVICES_POLICY_SERVICE</span><span
class="p">,</span> <span class="n">policyServiceWsdlUrl</span><span
class="p">);</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">WEBSERVICES_ACL_SERVICE</span><span
class="p">,</span> <span class="n">aclServiceWsdlUrl</span><span class="p">);</span>
 
-
-<p>repositoryServiceWsdlUrl);
-    parameters.put(SessionParameter.WEBSERVICES_NAVIGATION_SERVICE,
-navigationServiceWsdlUrl);
-    parameters.put(SessionParameter.WEBSERVICES_OBJECT_SERVICE,
-objectServiceWsdlUrl);
-    parameters.put(SessionParameter.WEBSERVICES_VERSIONING_SERVICE,
-versioningServiceWsdlUrl);
-    parameters.put(SessionParameter.WEBSERVICES_DISCOVERY_SERVICE,
-discoveryServiceWsdlUrl);
-    parameters.put(SessionParameter.WEBSERVICES_RELATIONSHIP_SERVICE,
-relationshipServiceWsdlUrl);
-    parameters.put(SessionParameter.WEBSERVICES_MULTIFILING_SERVICE,
-multiFilingServiceWsdlUrl);
-    parameters.put(SessionParameter.WEBSERVICES_POLICY_SERVICE,
-policyServiceWsdlUrl);
-    parameters.put(SessionParameter.WEBSERVICES_ACL_SERVICE,
-aclServiceWsdlUrl);</p>
-<div class="codehilite"><pre><span class="n">CmisBindingFactory</span>
<span class="n">factory</span> <span class="o">=</span> <span class="n">CmisBindingFactory</span><span
class="o">.</span><span class="n">newInstance</span><span class="p">();</span>
+<span class="n">CmisBindingFactory</span> <span class="n">factory</span>
<span class="o">=</span> <span class="n">CmisBindingFactory</span><span
class="o">.</span><span class="n">newInstance</span><span class="p">();</span>
 <span class="n">CmisBinding</span> <span class="n">binding</span>
<span class="o">=</span> <span class="n">factory</span><span class="o">.</span><span
class="n">createCmisWebServicesBinding</span><span class="p">(</span><span
class="n">parameters</span><span class="p">);</span>
 </pre></div>
 
@@ -259,37 +247,33 @@ aclServiceWsdlUrl);</p>
 <h3 id="creating_a_local_binding_instance">Creating a Local binding instance</h3>
 <p>The Local binding connects to an OpenCMIS server in the same JVM. The
 server factory class name has to be supplied.</p>
-<p>{code:java}
-Map<String, String> parameters = new HashMap<String, String>();</p>
-<p>parameters.put(SessionParameter.USER, user);
-parameters.put(SessionParameter.PASSWORD, password);</p>
-<p>parameters.put(SessionParameter.LOCAL_FACTORY, factoryClassName);</p>
-<p>CmisBindingFactory factory = CmisBindingFactory.newInstance();
-CmisBinding binding = factory.createCmisLocalBinding(parameters);</p>
-<div class="codehilite"><pre><span class="n">h3</span><span class="o">.</span>
<span class="n">Getting</span> <span class="n">an</span> <span
class="n">Object</span>
+<div class="codehilite"><pre><span class="n">Map</span><span class="o">&lt;</span><span
class="n">String</span><span class="p">,</span> <span class="n">String</span><span
class="o">&gt;</span> <span class="n">parameters</span> <span
class="o">=</span> <span class="k">new</span> <span class="n">HashMap</span><span
class="o">&lt;</span><span class="n">String</span><span class="p">,</span>
<span class="n">String</span><span class="o">&gt;</span><span
class="p">();</span>
+
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">USER</span><span class="p">,</span>
<span class="n">user</span><span class="p">);</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">PASSWORD</span><span class="p">,</span>
<span class="n">password</span><span class="p">);</span>
 
-<span class="n">The</span> <span class="n">following</span> <span
class="n">snippet</span> <span class="n">gets</span> <span class="n">the</span>
<span class="n">name</span> <span class="n">of</span> <span class="n">the</span>
<span class="n">object</span> <span class="s">&quot;myObject&quot;</span>
<span class="n">in</span> <span class="n">repository</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">LOCAL_FACTORY</span><span class="p">,</span>
<span class="n">factoryClassName</span><span class="p">);</span>
+
+<span class="n">CmisBindingFactory</span> <span class="n">factory</span>
<span class="o">=</span> <span class="n">CmisBindingFactory</span><span
class="o">.</span><span class="n">newInstance</span><span class="p">();</span>
+<span class="n">CmisBinding</span> <span class="n">binding</span>
<span class="o">=</span> <span class="n">factory</span><span class="o">.</span><span
class="n">createCmisLocalBinding</span><span class="p">(</span><span
class="n">parameters</span><span class="p">);</span>
 </pre></div>
 
 
-<p>"myRepository". The parameters of getObject() can be found in the CMIS
+<h3 id="getting_an_object">Getting an Object</h3>
+<p>The following snippet gets the name of the object "myObject" in repository
+"myRepository". The parameters of <code>getObject()</code> can be found in the
CMIS
 specification.</p>
-<div class="codehilite"><pre><span class="p">{</span><span class="n">code:java</span><span
class="p">}</span>
-<span class="n">CmisBinding</span> <span class="n">binding</span>
<span class="o">=</span> <span class="o">...</span>
-
-<span class="n">ObjectData</span> <span class="n">myObject</span>
<span class="o">=</span> <span class="n">binding</span><span class="o">.</span><span
class="n">getObjectService</span><span class="p">()</span><span class="o">.</span><span
class="n">getObject</span><span class="p">(</span><span class="s">&quot;myRepository&quot;</span><span
class="p">,</span>
-</pre></div>
+<div class="codehilite"><pre><span class="n">CmisBinding</span> <span
class="n">binding</span> <span class="o">=</span> <span class="o">...</span>
 
+<span class="n">ObjectData</span> <span class="n">myObject</span>
<span class="o">=</span> <span class="n">binding</span><span class="o">.</span><span
class="n">getObjectService</span><span class="p">()</span><span class="o">.</span><span
class="n">getObject</span><span class="p">(</span><span class="s">&quot;myRepository&quot;</span><span
class="p">,</span> <span class="s">&quot;myObject&quot;</span><span
class="p">,</span>
+   <span class="s">&quot;*&quot;</span><span class="p">,</span>
<span class="n">true</span><span class="p">,</span> <span class="n">IncludeRelationships</span><span
class="o">.</span><span class="n">BOTH</span><span class="p">,</span>
<span class="s">&quot;cmis:none&quot;</span><span class="p">,</span>
<span class="n">true</span><span class="p">,</span> <span class="n">true</span><span
class="p">,</span> <span class="n">null</span><span class="p">);</span>
 
-<p>"myObject",
-       "*", true, IncludeRelationships.BOTH, "cmis:none", true, true, null);</p>
-<div class="codehilite"><pre><span class="n">PropertiesData</span>
<span class="n">properties</span> <span class="o">=</span> <span
class="n">myObject</span><span class="o">.</span><span class="n">getProperties</span><span
class="p">();</span>
-<span class="n">PropertyData</span><span class="sr">&lt;String&gt;</span>
<span class="n">nameProperty</span> <span class="o">=</span>
+<span class="n">PropertiesData</span> <span class="n">properties</span>
<span class="o">=</span> <span class="n">myObject</span><span class="o">.</span><span
class="n">getProperties</span><span class="p">();</span>
+<span class="n">PropertyData</span><span class="sr">&lt;String&gt;</span>
<span class="n">nameProperty</span> <span class="o">=</span> <span
class="n">properties</span><span class="o">.</span><span class="n">getProperties</span><span
class="p">()</span><span class="o">.</span><span class="n">get</span><span
class="p">(</span><span class="n">PropertyIds</span><span class="o">.</span><span
class="n">NAME</span><span class="p">);</span>
+<span class="n">String</span> <span class="n">name</span> <span
class="o">=</span> <span class="n">nameProperty</span><span class="o">.</span><span
class="n">getFirstValue</span><span class="p">();</span>
 </pre></div>
 
 
-<p>properties.getProperties().get(PropertyIds.NAME);
-    String name = nameProperty.getFirstValue();</p>
 <p><a name="OpenCMISClientBindings-CustomAuthenticationProvider"></a></p>
 <h2 id="custom_authentication_provider">Custom Authentication Provider</h2>
 <p>OpenCMIS supports HTTP basic authentication for the AtomPub binding and
@@ -297,22 +281,23 @@ WS-Security (UsernameToken) for the Web 
 Other authentication methods can be added by implementing a custom
 authentication provider.</p>
 <p>Such a provider must extend
-<em>org.apache.chemistry.opencmis.client.provider.spi.AbstractAuthenticationProvider</em>
-and overwrite the methods <em>getHTTPHeaders</em> and <em>getSOAPHeaders</em>.
See
+<code>org.apache.chemistry.opencmis.client.provider.spi.AbstractAuthenticationProvider</code>
+and overwrite the methods <code>getHTTPHeaders</code> and <code>getSOAPHeaders</code>.
See
 JavaDoc for details.</p>
-<p>The session parameter <em>SessionParameter.AUTHENTICATION_PROVIDER_CLASS</em>
+<p>The session parameter <code>SessionParameter.AUTHENTICATION_PROVIDER_CLASS</code>
 must be set to the fully qualified class name in order to active the
 authentication provider before the session is created.</p>
-<p>{code:java}
-Map<String, String> parameters = new HashMap<String, String>();</p>
-<p>parameters.put(SessionParameter.AUTHENTICATION_PROVIDER_CLASS,
-"org.example.opencmis.MyAuthenticationProvider");
-parameters.put("org.example.opencmis.user", "cmisuser"); //
-MyAuthenticationProvider can get and evaluate this
-parameters.put("org.example.opencmis.secret", "b3BlbmNtaXMgdXNlcg==");</p>
-<p>parameters.put(SessionParameter.ATOMPUB_URL, url); // service document URL</p>
-<p>CmisBindingFactory factory = CmisBindingFactory.newInstance();
-CmisBinding provider = factory.createCmisAtomPubBinding(parameters);</p></div>
+<div class="codehilite"><pre><span class="n">Map</span><span class="o">&lt;</span><span
class="n">String</span><span class="p">,</span> <span class="n">String</span><span
class="o">&gt;</span> <span class="n">parameters</span> <span
class="o">=</span> <span class="k">new</span> <span class="n">HashMap</span><span
class="o">&lt;</span><span class="n">String</span><span class="p">,</span>
<span class="n">String</span><span class="o">&gt;</span><span
class="p">();</span>
+
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">AUTHENTICATION_PROVIDER_CLASS</span><span
class="p">,</span> <span class="s">&quot;org.example.opencmis.MyAuthenticationProvider&quot;</span><span
class="p">);</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="s">&quot;org.example.opencmis.user&quot;</span><span
class="p">,</span> <span class="s">&quot;cmisuser&quot;</span><span
class="p">);</span> <span class="sr">//</span> <span class="n">MyAuthenticationProvider</span>
<span class="n">can</span> <span class="n">get</span> <span class="ow">and</span>
<span class="n">evaluate</span> <span class="n">this</span>
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="s">&quot;org.example.opencmis.secret&quot;</span><span
class="p">,</span> <span class="s">&quot;b3BlbmNtaXMgdXNlcg==&quot;</span><span
class="p">);</span>
+
+<span class="n">parameters</span><span class="o">.</span><span
class="n">put</span><span class="p">(</span><span class="n">SessionParameter</span><span
class="o">.</span><span class="n">ATOMPUB_URL</span><span class="p">,</span>
<span class="n">url</span><span class="p">);</span> <span class="sr">//</span>
<span class="n">service</span> <span class="n">document</span> <span
class="n">URL</span>
+
+<span class="n">CmisBindingFactory</span> <span class="n">factory</span>
<span class="o">=</span> <span class="n">CmisBindingFactory</span><span
class="o">.</span><span class="n">newInstance</span><span class="p">();</span>
+<span class="n">CmisBinding</span> <span class="n">provider</span>
<span class="o">=</span> <span class="n">factory</span><span class="o">.</span><span
class="n">createCmisAtomPubBinding</span><span class="p">(</span><span
class="n">parameters</span><span class="p">);</span>
+</pre></div></div>
              <!-- Content -->
            </td>
           </tr>



Mime
View raw message