Added: 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/source-repository.html
==============================================================================
--- 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/source-repository.html
 (added)
+++ 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/source-repository.html
 Mon Apr  6 17:18:49 2015
@@ -0,0 +1,171 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2015-04-06 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>OpenCMIS Browser &#x2013; Source Repository</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" 
media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20150406" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                                      <a href="../.." id="bannerLeft">
+                                                <img 
src="../../images/chemistry-logo.png" alt="Apache Chemistry OpenCMIS" />
+                </a>
+                              <a href="http://www.apache.org/"; 
id="bannerRight">
+                                                <img 
src="../../images/apache-logo.gif" alt="The Apache Software Foundation" />
+                </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+                    
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2015-04-06</span>
+                      </div>
+            <div class="xright">        
+                    
+                 <span id="projectVersion">Version: 0.13.0</span>
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                    
+                                <h5>Parent Project</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Apache Chemistry 
OpenCMIS">Apache Chemistry OpenCMIS</a>
+            </li>
+          </ul>
+                       <h5>Project Documentation</h5>
+                  <ul>
+                                                                               
                                                                                
                                                                                
                                                       <li class="expanded">
+                          <a href="project-info.html" title="Project 
Information">Project Information</a>
+                    <ul>
+                      <li class="none">
+                          <a href="index.html" title="About">About</a>
+            </li>
+                      <li class="none">
+                          <a href="plugin-management.html" title="Plugin 
Management">Plugin Management</a>
+            </li>
+                      <li class="none">
+                          <a href="distribution-management.html" 
title="Distribution Management">Distribution Management</a>
+            </li>
+                      <li class="none">
+                          <a href="dependency-info.html" title="Dependency 
Information">Dependency Information</a>
+            </li>
+                      <li class="none">
+            <strong>Source Repository</strong>
+          </li>
+                      <li class="none">
+                          <a href="mail-lists.html" title="Mailing 
Lists">Mailing Lists</a>
+            </li>
+                      <li class="none">
+                          <a href="issue-tracking.html" title="Issue 
Tracking">Issue Tracking</a>
+            </li>
+                      <li class="none">
+                          <a href="integration.html" title="Continuous 
Integration">Continuous Integration</a>
+            </li>
+                      <li class="none">
+                          <a href="plugins.html" title="Project 
Plugins">Project Plugins</a>
+            </li>
+                      <li class="none">
+                          <a href="license.html" title="Project 
License">Project License</a>
+            </li>
+                      <li class="none">
+                          <a href="team-list.html" title="Project 
Team">Project Team</a>
+            </li>
+                      <li class="none">
+                          <a href="project-summary.html" title="Project 
Summary">Project Summary</a>
+            </li>
+                      <li class="none">
+                          <a href="dependencies.html" 
title="Dependencies">Dependencies</a>
+            </li>
+              </ul>
+        </li>
+                                                                    <li 
class="collapsed">
+                          <a href="project-reports.html" title="Project 
Reports">Project Reports</a>
+                  </li>
+          </ul>
+                       <h5>Chemistry</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../.." title="Main Website">Main 
Website</a>
+            </li>
+          </ul>
+                                                                               
                                                <a 
href="http://maven.apache.org/"; title="Maven" class="poweredBy">
+        <img class="poweredBy"  alt="Maven" 
src="http://maven.apache.org/images/logos/maven-feather.png";     />
+      </a>
+                       
+                    
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section">
+<h2><a name="Overview"></a>Overview</h2><a name="Overview"></a>
+<p>This project uses <a class="externalLink" 
href="http://subversion.apache.org/";>Subversion</a> to manage its source code. 
Instructions on Subversion use can be found at <a class="externalLink" 
href="http://svnbook.red-bean.com/";>http://svnbook.red-bean.com/</a>.</p></div>
+<div class="section">
+<h2><a name="Web_Access"></a>Web Access</h2><a name="Web_Access"></a>
+<p>The following is a link to the online source repository.</p>
+<div class="source">
+<pre><a class="externalLink" 
href="http://svn.apache.org/viewvc/chemistry/opencmis/tags/chemistry-opencmis-0.13.0-RC1/chemistry-opencmis-test/chemistry-opencmis-test-browser";>http://svn.apache.org/viewvc/chemistry/opencmis/tags/chemistry-opencmis-0.13.0-RC1/chemistry-opencmis-test/chemistry-opencmis-test-browser</a></pre></div></div>
+<div class="section">
+<h2><a name="Anonymous_access"></a>Anonymous access</h2><a 
name="Anonymous_access"></a>
+<p>The source can be checked out anonymously from SVN with this command:</p>
+<div class="source">
+<pre>$ svn checkout 
http://svn.apache.org/repos/asf/chemistry/opencmis/tags/chemistry-opencmis-0.13.0-RC1/chemistry-opencmis-test/chemistry-opencmis-test-browser
 chemistry-opencmis-test-browser</pre></div></div>
+<div class="section">
+<h2><a name="Developer_access"></a>Developer access</h2><a 
name="Developer_access"></a>
+<p>Everyone can access the Subversion repository via HTTP, but Committers must 
checkout the Subversion repository via HTTPS.</p>
+<div class="source">
+<pre>$ svn checkout 
https://svn.apache.org/repos/asf/chemistry/opencmis/tags/chemistry-opencmis-0.13.0-RC1/chemistry-opencmis-test/chemistry-opencmis-test-browser
 chemistry-opencmis-test-browser</pre></div>
+<p>To commit changes to the repository, execute the following command to 
commit your changes (svn will prompt you for your password)</p>
+<div class="source">
+<pre>$ svn commit --username your-username -m &quot;A 
message&quot;</pre></div></div>
+<div class="section">
+<h2><a name="Access_from_behind_a_firewall"></a>Access from behind a 
firewall</h2><a name="Access_from_behind_a_firewall"></a>
+<p>For those users who are stuck behind a corporate firewall which is blocking 
HTTP access to the Subversion repository, you can try to access it via the 
developer connection:</p>
+<div class="source">
+<pre>$ svn checkout 
https://svn.apache.org/repos/asf/chemistry/opencmis/tags/chemistry-opencmis-0.13.0-RC1/chemistry-opencmis-test/chemistry-opencmis-test-browser
 chemistry-opencmis-test-browser</pre></div></div>
+<div class="section">
+<h2><a name="Access_through_a_proxy"></a>Access through a proxy</h2><a 
name="Access_through_a_proxy"></a>
+<p>The Subversion client can go through a proxy, if you configure it to do so. 
First, edit your &quot;servers&quot; configuration file to indicate which proxy 
to use. The file's location depends on your operating system. On Linux or Unix 
it is located in the directory &quot;~/.subversion&quot;. On Windows it is in 
&quot;%APPDATA%\Subversion&quot;. (Try &quot;echo %APPDATA%&quot;, note this is 
a hidden directory.)</p>
+<p>There are comments in the file explaining what to do. If you don't have 
that file, get the latest Subversion client and run any command; this will 
cause the configuration directory and template files to be created.</p>
+<p>Example: Edit the 'servers' file and add something like:</p>
+<div class="source">
+<pre>[global]
+http-proxy-host = your.proxy.name
+http-proxy-port = 3128
+</pre></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2009&#x2013;2015
+                        <a href="http://www.apache.org/";>The Apache Software 
Foundation</a>.
+            All rights reserved.      
+                    
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/team-list.html
==============================================================================
--- 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/team-list.html
 (added)
+++ 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/team-list.html
 Mon Apr  6 17:18:49 2015
@@ -0,0 +1,227 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2015-04-06 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>OpenCMIS Browser &#x2013; Team list</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" 
media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20150406" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                                      <a href="../.." id="bannerLeft">
+                                                <img 
src="../../images/chemistry-logo.png" alt="Apache Chemistry OpenCMIS" />
+                </a>
+                              <a href="http://www.apache.org/"; 
id="bannerRight">
+                                                <img 
src="../../images/apache-logo.gif" alt="The Apache Software Foundation" />
+                </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+                    
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2015-04-06</span>
+                      </div>
+            <div class="xright">        
+                    
+                 <span id="projectVersion">Version: 0.13.0</span>
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                    
+                                <h5>Parent Project</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Apache Chemistry 
OpenCMIS">Apache Chemistry OpenCMIS</a>
+            </li>
+          </ul>
+                       <h5>Project Documentation</h5>
+                  <ul>
+                                                                               
                                                                                
                                                                                
                                                       <li class="expanded">
+                          <a href="project-info.html" title="Project 
Information">Project Information</a>
+                    <ul>
+                      <li class="none">
+                          <a href="index.html" title="About">About</a>
+            </li>
+                      <li class="none">
+                          <a href="plugin-management.html" title="Plugin 
Management">Plugin Management</a>
+            </li>
+                      <li class="none">
+                          <a href="distribution-management.html" 
title="Distribution Management">Distribution Management</a>
+            </li>
+                      <li class="none">
+                          <a href="dependency-info.html" title="Dependency 
Information">Dependency Information</a>
+            </li>
+                      <li class="none">
+                          <a href="source-repository.html" title="Source 
Repository">Source Repository</a>
+            </li>
+                      <li class="none">
+                          <a href="mail-lists.html" title="Mailing 
Lists">Mailing Lists</a>
+            </li>
+                      <li class="none">
+                          <a href="issue-tracking.html" title="Issue 
Tracking">Issue Tracking</a>
+            </li>
+                      <li class="none">
+                          <a href="integration.html" title="Continuous 
Integration">Continuous Integration</a>
+            </li>
+                      <li class="none">
+                          <a href="plugins.html" title="Project 
Plugins">Project Plugins</a>
+            </li>
+                      <li class="none">
+                          <a href="license.html" title="Project 
License">Project License</a>
+            </li>
+                      <li class="none">
+            <strong>Project Team</strong>
+          </li>
+                      <li class="none">
+                          <a href="project-summary.html" title="Project 
Summary">Project Summary</a>
+            </li>
+                      <li class="none">
+                          <a href="dependencies.html" 
title="Dependencies">Dependencies</a>
+            </li>
+              </ul>
+        </li>
+                                                                    <li 
class="collapsed">
+                          <a href="project-reports.html" title="Project 
Reports">Project Reports</a>
+                  </li>
+          </ul>
+                       <h5>Chemistry</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../.." title="Main Website">Main 
Website</a>
+            </li>
+          </ul>
+                                                                               
                                                <a 
href="http://maven.apache.org/"; title="Maven" class="poweredBy">
+        <img class="poweredBy"  alt="Maven" 
src="http://maven.apache.org/images/logos/maven-feather.png";     />
+      </a>
+                       
+                    
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section">
+<h2><a name="The_Team"></a>The Team</h2><a name="The_Team"></a>
+<p>A successful project requires many people to play many roles. Some members 
write code or documentation, while others are valuable as testers, submitting 
patches and suggestions.</p>
+<p>The team is comprised of Members and Contributors. Members have direct 
access to the source of a project and actively evolve the code-base. 
Contributors improve the project through submission of patches and suggestions 
to the Members. The number of Contributors to the project is unbounded. Get 
involved today. All contributions to the project are greatly appreciated.</p>
+<div class="section">
+<h3><a name="Members"></a>Members</h3><a name="Members"></a>
+<p>The following is a list of developers with commit privileges that have 
directly contributed to the project in one way or another.</p>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Image</th>
+<th>Id</th>
+<th>Name</th>
+<th>Email</th>
+<th>Roles</th></tr>
+<tr class="b">
+<td><img 
src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60";
 alt="" /></td>
+<td><a name="fmui"></a>fmui</td>
+<td>Florian M&#xfc;ller</td>
+<td>-</td>
+<td>committer</td></tr>
+<tr class="a">
+<td><img 
src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60";
 alt="" /></td>
+<td><a name="jenshuebel"></a>jenshuebel</td>
+<td>Jens H&#xfc;bel</td>
+<td>-</td>
+<td>committer</td></tr>
+<tr class="b">
+<td><img 
src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60";
 alt="" /></td>
+<td><a name="dward"></a>dward</td>
+<td>David Ward</td>
+<td>-</td>
+<td>committer</td></tr>
+<tr class="a">
+<td><img 
src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60";
 alt="" /></td>
+<td><a name="hermesm"></a>hermesm</td>
+<td>Martin Hermes</td>
+<td>-</td>
+<td>committer</td></tr>
+<tr class="b">
+<td><img 
src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60";
 alt="" /></td>
+<td><a name="paulgoetz"></a>paulgoetz</td>
+<td>Paul Goetz</td>
+<td>-</td>
+<td>committer</td></tr>
+<tr class="a">
+<td><img 
src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60";
 alt="" /></td>
+<td><a name="dcaruana"></a>dcaruana</td>
+<td>David Caruana</td>
+<td>-</td>
+<td>committer</td></tr>
+<tr class="b">
+<td><img 
src="http://www.gravatar.com/avatar/9fdd1f2ea859ecdb396a5c92e4045b2c?d=mm&amp;s=60";
 alt="" /></td>
+<td><a name="gabriele"></a>gabriele</td>
+<td>Gabriele Columbro</td>
+<td><a class="externalLink" 
href="mailto:[email protected]";>[email protected]</a></td>
+<td>release manager</td></tr>
+<tr class="a">
+<td><img 
src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60";
 alt="" /></td>
+<td><a name="fguillaume"></a>fguillaume</td>
+<td>Florent Guillaume</td>
+<td>-</td>
+<td>committer</td></tr>
+<tr class="b">
+<td><img 
src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60";
 alt="" /></td>
+<td><a name="sfermigier"></a>sfermigier</td>
+<td>Stefane Fermigier</td>
+<td>-</td>
+<td>committer</td></tr>
+<tr class="a">
+<td><img 
src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60";
 alt="" /></td>
+<td><a name="jmpascal"></a>jmpascal</td>
+<td>Jean Marie Pascal</td>
+<td>-</td>
+<td>committer</td></tr></table></div>
+<div class="section">
+<h3><a name="Contributors"></a>Contributors</h3><a name="Contributors"></a>
+<p>There are no contributors listed for this project. Please check back again 
later.</p><script type="text/javascript">
+function offsetDate(id, offset) {
+    var now = new Date();
+    var nowTime = now.getTime();
+    var localOffset = now.getTimezoneOffset();
+    var developerTime = nowTime + ( offset * 60 * 60 * 1000 )+ ( localOffset * 
60 * 1000 );
+    var developerDate = new Date(developerTime);
+
+    document.getElementById(id).innerHTML = developerDate;
+}
+
+function init(){
+}
+
+window.onLoad = init();
+</script></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2009&#x2013;2015
+                        <a href="http://www.apache.org/";>The Apache Software 
Foundation</a>.
+            All rights reserved.      
+                    
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/allclasses-frame.html
==============================================================================
--- 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/allclasses-frame.html
 (added)
+++ 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/allclasses-frame.html
 Mon Apr  6 17:18:49 2015
@@ -0,0 +1,20 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+       <head>
+               <meta http-equiv="content-type" content="text/html; 
charset=UTF-8" />
+               <title>All Classes</title>
+               <link rel="stylesheet" type="text/css" href="stylesheet.css" 
title="style" />
+    </head>
+    <body>
+
+               <h3>All Classes</h3>
+
+               <ul>
+                                               <li>
+                               <a 
href="org/apache/chemistry/opencmis/browser/BrowseServlet.html" 
target="classFrame">BrowseServlet</a>
+                       </li>
+                             </ul>
+
+    </body>
+  </html>

Added: 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/index.html
==============================================================================
--- 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/index.html
 (added)
+++ 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/index.html
 Mon Apr  6 17:18:49 2015
@@ -0,0 +1,24 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"DTD/xhtml1-frameset.dtd">
+<html xml:lang="en" lang="en">
+       <head>
+               <meta http-equiv="content-type" content="text/html; 
charset=UTF-8" />
+               <title>OpenCMIS Browser 0.13.0 Reference</title>
+       </head>
+    <frameset cols="20%,80%">
+               <frameset rows="30%,70%">
+                       <frame src="overview-frame.html" 
name="packageListFrame" />
+                       <frame src="allclasses-frame.html" name="packageFrame" 
/>
+               </frameset>
+               <frame src="overview-summary.html" name="classFrame" />
+        <noframes>
+            <body>
+                <h1>Frame Alert</h1>
+                <p>
+                    You don't have frames. Go <a 
href="overview-summary.html">here</a>
+                </p>
+            </body>
+        </noframes>
+    </frameset>
+</html>
+

Added: 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/org/apache/chemistry/opencmis/browser/BrowseServlet.html
==============================================================================
--- 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/org/apache/chemistry/opencmis/browser/BrowseServlet.html
 (added)
+++ 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/org/apache/chemistry/opencmis/browser/BrowseServlet.html
 Mon Apr  6 17:18:49 2015
@@ -0,0 +1,443 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+<title>BrowseServlet xref</title>
+<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a 
href="../../../../../../apidocs/org/apache/chemistry/opencmis/browser/BrowseServlet.html">View
 Javadoc</a></div><pre>
+
+<a class="jxr_linenumber" name="1" href="#1">1</a>   <em 
class="jxr_comment">/*</em>
+<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_comment"> 
* Licensed to the Apache Software Foundation (ASF) under one</em>
+<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment"> 
* or more contributor license agreements.  See the NOTICE file</em>
+<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> 
* distributed with this work for additional information</em>
+<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_comment"> 
* regarding copyright ownership.  The ASF licenses this file</em>
+<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> 
* to you under the Apache License, Version 2.0 (the</em>
+<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> 
* "License"); you may not use this file except in compliance</em>
+<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> 
* with the License.  You may obtain a copy of the License at</em>
+<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_comment"> 
*</em>
+<a class="jxr_linenumber" name="10" href="#10">10</a>  <em 
class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0"; 
target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
+<a class="jxr_linenumber" name="11" href="#11">11</a>  <em 
class="jxr_comment"> *</em>
+<a class="jxr_linenumber" name="12" href="#12">12</a>  <em 
class="jxr_comment"> * Unless required by applicable law or agreed to in 
writing,</em>
+<a class="jxr_linenumber" name="13" href="#13">13</a>  <em 
class="jxr_comment"> * software distributed under the License is distributed on 
an</em>
+<a class="jxr_linenumber" name="14" href="#14">14</a>  <em 
class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 
ANY</em>
+<a class="jxr_linenumber" name="15" href="#15">15</a>  <em 
class="jxr_comment"> * KIND, either express or implied.  See the License for 
the</em>
+<a class="jxr_linenumber" name="16" href="#16">16</a>  <em 
class="jxr_comment"> * specific language governing permissions and 
limitations</em>
+<a class="jxr_linenumber" name="17" href="#17">17</a>  <em 
class="jxr_comment"> * under the License.</em>
+<a class="jxr_linenumber" name="18" href="#18">18</a>  <em 
class="jxr_comment"> */</em>
+<a class="jxr_linenumber" name="19" href="#19">19</a>  <strong 
class="jxr_keyword">package</strong> org.apache.chemistry.opencmis.browser;
+<a class="jxr_linenumber" name="20" href="#20">20</a>  
+<a class="jxr_linenumber" name="21" href="#21">21</a>  <strong 
class="jxr_keyword">import</strong> java.io.BufferedInputStream;
+<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong 
class="jxr_keyword">import</strong> java.io.BufferedOutputStream;
+<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong 
class="jxr_keyword">import</strong> java.io.IOException;
+<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong 
class="jxr_keyword">import</strong> java.io.InputStream;
+<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong 
class="jxr_keyword">import</strong> java.io.OutputStream;
+<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong 
class="jxr_keyword">import</strong> java.io.PrintWriter;
+<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong 
class="jxr_keyword">import</strong> java.net.HttpURLConnection;
+<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong 
class="jxr_keyword">import</strong> java.net.URL;
+<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong 
class="jxr_keyword">import</strong> java.net.URLDecoder;
+<a class="jxr_linenumber" name="30" href="#30">30</a>  <strong 
class="jxr_keyword">import</strong> java.util.Enumeration;
+<a class="jxr_linenumber" name="31" href="#31">31</a>  <strong 
class="jxr_keyword">import</strong> java.util.HashMap;
+<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong 
class="jxr_keyword">import</strong> java.util.Map;
+<a class="jxr_linenumber" name="33" href="#33">33</a>  
+<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong 
class="jxr_keyword">import</strong> javax.servlet.ServletConfig;
+<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong 
class="jxr_keyword">import</strong> javax.servlet.ServletException;
+<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong 
class="jxr_keyword">import</strong> javax.servlet.http.HttpServlet;
+<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong 
class="jxr_keyword">import</strong> javax.servlet.http.HttpServletRequest;
+<a class="jxr_linenumber" name="38" href="#38">38</a>  <strong 
class="jxr_keyword">import</strong> javax.servlet.http.HttpServletResponse;
+<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong 
class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilder;
+<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong 
class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilderFactory;
+<a class="jxr_linenumber" name="41" href="#41">41</a>  <strong 
class="jxr_keyword">import</strong> javax.xml.transform.Result;
+<a class="jxr_linenumber" name="42" href="#42">42</a>  <strong 
class="jxr_keyword">import</strong> javax.xml.transform.Source;
+<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong 
class="jxr_keyword">import</strong> javax.xml.transform.Transformer;
+<a class="jxr_linenumber" name="44" href="#44">44</a>  <strong 
class="jxr_keyword">import</strong> javax.xml.transform.TransformerFactory;
+<a class="jxr_linenumber" name="45" href="#45">45</a>  <strong 
class="jxr_keyword">import</strong> javax.xml.transform.dom.DOMSource;
+<a class="jxr_linenumber" name="46" href="#46">46</a>  <strong 
class="jxr_keyword">import</strong> javax.xml.transform.stream.StreamResult;
+<a class="jxr_linenumber" name="47" href="#47">47</a>  <strong 
class="jxr_keyword">import</strong> javax.xml.transform.stream.StreamSource;
+<a class="jxr_linenumber" name="48" href="#48">48</a>  
+<a class="jxr_linenumber" name="49" href="#49">49</a>  <strong 
class="jxr_keyword">import</strong> org.slf4j.Logger;
+<a class="jxr_linenumber" name="50" href="#50">50</a>  <strong 
class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
+<a class="jxr_linenumber" name="51" href="#51">51</a>  <strong 
class="jxr_keyword">import</strong> org.w3c.dom.Document;
+<a class="jxr_linenumber" name="52" href="#52">52</a>  
+<a class="jxr_linenumber" name="53" href="#53">53</a>  <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="54" href="#54">54</a>  <em 
class="jxr_javadoccomment"> * CMIS Browser Servlet.</em>
+<a class="jxr_linenumber" name="55" href="#55">55</a>  <em 
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="56" href="#56">56</a>  <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> 
<a 
href="../../../../../org/apache/chemistry/opencmis/browser/BrowseServlet.html">BrowseServlet</a>
 <strong class="jxr_keyword">extends</strong> HttpServlet {
+<a class="jxr_linenumber" name="57" href="#57">57</a>  
+<a class="jxr_linenumber" name="58" href="#58">58</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
<strong class="jxr_keyword">long</strong> serialVersionUID = 1L;
+<a class="jxr_linenumber" name="59" href="#59">59</a>  
+<a class="jxr_linenumber" name="60" href="#60">60</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
Logger LOG = LoggerFactory.getLogger(BrowseServlet.<strong 
class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="61" href="#61">61</a>  
+<a class="jxr_linenumber" name="62" href="#62">62</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
String CONTEXT_PREFIX = <span class="jxr_string">"{ctx}"</span>;
+<a class="jxr_linenumber" name="63" href="#63">63</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
String PARAM_URL = <span class="jxr_string">"url"</span>;
+<a class="jxr_linenumber" name="64" href="#64">64</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
String PARAM_OVERRIDE_STYLESHEET = <span 
class="jxr_string">"overrideStylesheet"</span>;
+<a class="jxr_linenumber" name="65" href="#65">65</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
<strong class="jxr_keyword">int</strong> PARAM_URL_MIN_LEN = PARAM_URL.length() 
+ <span class="jxr_string">"="</span>.length() + <span 
class="jxr_string">"http"</span>.length() + <span 
class="jxr_string">"://"</span>.length()
+<a class="jxr_linenumber" name="66" href="#66">66</a>              + 1;
+<a class="jxr_linenumber" name="67" href="#67">67</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
String INIT_PARAM_AUXROOT = <span class="jxr_string">"auxroot"</span>;
+<a class="jxr_linenumber" name="68" href="#68">68</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
String INIT_PARAM_ALLOW = <span class="jxr_string">"allow"</span>;
+<a class="jxr_linenumber" name="69" href="#69">69</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
String INIT_PARAM_STYLESHEET = <span class="jxr_string">"stylesheet:"</span>;
+<a class="jxr_linenumber" name="70" href="#70">70</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
String INIT_PARAM_OVERRIDE_STYLESHEET = <span 
class="jxr_string">"override-stylesheet:"</span>;
+<a class="jxr_linenumber" name="71" href="#71">71</a>  
+<a class="jxr_linenumber" name="72" href="#72">72</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
<strong class="jxr_keyword">int</strong> BUFFER_SIZE = 64 * 1024;
+<a class="jxr_linenumber" name="73" href="#73">73</a>  
+<a class="jxr_linenumber" name="74" href="#74">74</a>      <strong 
class="jxr_keyword">private</strong> String fAuxRoot = <span 
class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="75" href="#75">75</a>      <strong 
class="jxr_keyword">private</strong> String fAllow = <span 
class="jxr_string">".*"</span>;
+<a class="jxr_linenumber" name="76" href="#76">76</a>      <strong 
class="jxr_keyword">private</strong> Map&lt;String, Source&gt; fStyleSheets;
+<a class="jxr_linenumber" name="77" href="#77">77</a>      <strong 
class="jxr_keyword">private</strong> Map&lt;String, Source&gt; 
fOverrideStyleSheets;
+<a class="jxr_linenumber" name="78" href="#78">78</a>  
+<a class="jxr_linenumber" name="79" href="#79">79</a>      <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="80" href="#80">80</a>  <em 
class="jxr_javadoccomment">     * Initializes the browser servlet.</em>
+<a class="jxr_linenumber" name="81" href="#81">81</a>  <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="82" href="#82">82</a>      
@SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
+<a class="jxr_linenumber" name="83" href="#83">83</a>      @Override
+<a class="jxr_linenumber" name="84" href="#84">84</a>      <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> 
init(ServletConfig config) <strong class="jxr_keyword">throws</strong> 
ServletException {
+<a class="jxr_linenumber" name="85" href="#85">85</a>          fStyleSheets = 
<strong class="jxr_keyword">new</strong> HashMap&lt;String, Source&gt;();
+<a class="jxr_linenumber" name="86" href="#86">86</a>          
fOverrideStyleSheets = <strong class="jxr_keyword">new</strong> 
HashMap&lt;String, Source&gt;();
+<a class="jxr_linenumber" name="87" href="#87">87</a>  
+<a class="jxr_linenumber" name="88" href="#88">88</a>          DocumentBuilder 
builder = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="89" href="#89">89</a>          <strong 
class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="90" href="#90">90</a>              
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
+<a class="jxr_linenumber" name="91" href="#91">91</a>              
builderFactory.setNamespaceAware(<strong class="jxr_keyword">true</strong>);
+<a class="jxr_linenumber" name="92" href="#92">92</a>              builder = 
builderFactory.newDocumentBuilder();
+<a class="jxr_linenumber" name="93" href="#93">93</a>          } <strong 
class="jxr_keyword">catch</strong> (Exception e) {
+<a class="jxr_linenumber" name="94" href="#94">94</a>              
LOG.error(e.getMessage(), e);
+<a class="jxr_linenumber" name="95" href="#95">95</a>              <strong 
class="jxr_keyword">return</strong>;
+<a class="jxr_linenumber" name="96" href="#96">96</a>          }
+<a class="jxr_linenumber" name="97" href="#97">97</a>  
+<a class="jxr_linenumber" name="98" href="#98">98</a>          
Enumeration&lt;String&gt; initParams = config.getInitParameterNames();
+<a class="jxr_linenumber" name="99" href="#99">99</a>          <strong 
class="jxr_keyword">while</strong> (initParams.hasMoreElements()) {
+<a class="jxr_linenumber" name="100" href="#100">100</a>             String 
param = initParams.nextElement();
+<a class="jxr_linenumber" name="101" href="#101">101</a>             String 
stylesheetKey = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="102" href="#102">102</a>             <strong 
class="jxr_keyword">boolean</strong> isOverride = false;
+<a class="jxr_linenumber" name="103" href="#103">103</a> 
+<a class="jxr_linenumber" name="104" href="#104">104</a>             <strong 
class="jxr_keyword">if</strong> (param.startsWith(INIT_PARAM_STYLESHEET)) {
+<a class="jxr_linenumber" name="105" href="#105">105</a>                 
stylesheetKey = param.substring(INIT_PARAM_STYLESHEET.length());
+<a class="jxr_linenumber" name="106" href="#106">106</a>             } <strong 
class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> 
(param.startsWith(INIT_PARAM_OVERRIDE_STYLESHEET)) {
+<a class="jxr_linenumber" name="107" href="#107">107</a>                 
stylesheetKey = param.substring(INIT_PARAM_OVERRIDE_STYLESHEET.length());
+<a class="jxr_linenumber" name="108" href="#108">108</a>                 
isOverride = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="109" href="#109">109</a>             }
+<a class="jxr_linenumber" name="110" href="#110">110</a> 
+<a class="jxr_linenumber" name="111" href="#111">111</a>             <strong 
class="jxr_keyword">if</strong> (stylesheetKey != <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="112" href="#112">112</a>                 
String stylesheetFileName = config.getInitParameter(param);
+<a class="jxr_linenumber" name="113" href="#113">113</a>                 
InputStream stream = 
config.getServletContext().getResourceAsStream(stylesheetFileName);
+<a class="jxr_linenumber" name="114" href="#114">114</a>                 
<strong class="jxr_keyword">if</strong> (stream != <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="115" href="#115">115</a>                     
<strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="116" href="#116">116</a>                       
  Document xslDoc = builder.parse(stream);
+<a class="jxr_linenumber" name="117" href="#117">117</a>                       
  addStylesheet(stylesheetKey, <strong class="jxr_keyword">new</strong> 
DOMSource(xslDoc), isOverride);
+<a class="jxr_linenumber" name="118" href="#118">118</a> 
+<a class="jxr_linenumber" name="119" href="#119">119</a>                       
  LOG.info(<span class="jxr_string">"Stylesheet: '"</span> + stylesheetKey + 
<span class="jxr_string">"' -&gt; '"</span> + stylesheetFileName + <span 
class="jxr_string">"'"</span>);
+<a class="jxr_linenumber" name="120" href="#120">120</a>                     } 
<strong class="jxr_keyword">catch</strong> (Exception e) {
+<a class="jxr_linenumber" name="121" href="#121">121</a>                       
  LOG.error(e.getMessage(), e);
+<a class="jxr_linenumber" name="122" href="#122">122</a>                     }
+<a class="jxr_linenumber" name="123" href="#123">123</a>                 }
+<a class="jxr_linenumber" name="124" href="#124">124</a>             }
+<a class="jxr_linenumber" name="125" href="#125">125</a>         }
+<a class="jxr_linenumber" name="126" href="#126">126</a> 
+<a class="jxr_linenumber" name="127" href="#127">127</a>         String 
initAuxRoot = config.getInitParameter(INIT_PARAM_AUXROOT);
+<a class="jxr_linenumber" name="128" href="#128">128</a>         <strong 
class="jxr_keyword">if</strong> (initAuxRoot != <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="129" href="#129">129</a>             fAuxRoot 
= initAuxRoot;
+<a class="jxr_linenumber" name="130" href="#130">130</a>             
LOG.info(<span class="jxr_string">"Auxiliary root: "</span> + fAuxRoot);
+<a class="jxr_linenumber" name="131" href="#131">131</a>         }
+<a class="jxr_linenumber" name="132" href="#132">132</a> 
+<a class="jxr_linenumber" name="133" href="#133">133</a>         String 
initAllow = config.getInitParameter(INIT_PARAM_ALLOW);
+<a class="jxr_linenumber" name="134" href="#134">134</a>         <strong 
class="jxr_keyword">if</strong> (initAllow != <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="135" href="#135">135</a>             fAllow = 
initAllow;
+<a class="jxr_linenumber" name="136" href="#136">136</a>             
LOG.info(<span class="jxr_string">"Allow pattern: "</span> + fAllow);
+<a class="jxr_linenumber" name="137" href="#137">137</a>         }
+<a class="jxr_linenumber" name="138" href="#138">138</a>     }
+<a class="jxr_linenumber" name="139" href="#139">139</a> 
+<a class="jxr_linenumber" name="140" href="#140">140</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="141" href="#141">141</a> <em 
class="jxr_javadoccomment">     * Handles GET requests.</em>
+<a class="jxr_linenumber" name="142" href="#142">142</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="143" href="#143">143</a>     @Override
+<a class="jxr_linenumber" name="144" href="#144">144</a>     <strong 
class="jxr_keyword">protected</strong> <strong 
class="jxr_keyword">void</strong> doGet(HttpServletRequest req, 
HttpServletResponse resp) <strong class="jxr_keyword">throws</strong> 
ServletException, IOException {
+<a class="jxr_linenumber" name="145" href="#145">145</a>         String 
browseUrl = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="146" href="#146">146</a>         String 
overrideStylesheet = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="147" href="#147">147</a> 
+<a class="jxr_linenumber" name="148" href="#148">148</a>         <em 
class="jxr_comment">// The url parameter must come first!</em>
+<a class="jxr_linenumber" name="149" href="#149">149</a>         String 
queryString = req.getQueryString();
+<a class="jxr_linenumber" name="150" href="#150">150</a> 
+<a class="jxr_linenumber" name="151" href="#151">151</a>         <strong 
class="jxr_keyword">if</strong> ((queryString != <strong 
class="jxr_keyword">null</strong>) &amp;&amp; 
(queryString.startsWith(PARAM_URL))) {
+<a class="jxr_linenumber" name="152" href="#152">152</a>             <strong 
class="jxr_keyword">int</strong> urlEnd = 
queryString.indexOf(PARAM_OVERRIDE_STYLESHEET + <span 
class="jxr_string">"="</span>);
+<a class="jxr_linenumber" name="153" href="#153">153</a>             <strong 
class="jxr_keyword">if</strong> (urlEnd == -1) {
+<a class="jxr_linenumber" name="154" href="#154">154</a>                 
urlEnd = queryString.length();
+<a class="jxr_linenumber" name="155" href="#155">155</a>             } <strong 
class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="156" href="#156">156</a>                 
overrideStylesheet = queryString.substring(urlEnd + 
PARAM_OVERRIDE_STYLESHEET.length() + 1);
+<a class="jxr_linenumber" name="157" href="#157">157</a>                 
--urlEnd;
+<a class="jxr_linenumber" name="158" href="#158">158</a>             }
+<a class="jxr_linenumber" name="159" href="#159">159</a> 
+<a class="jxr_linenumber" name="160" href="#160">160</a>             browseUrl 
= queryString.substring(PARAM_URL.length() + 1, urlEnd);
+<a class="jxr_linenumber" name="161" href="#161">161</a> 
+<a class="jxr_linenumber" name="162" href="#162">162</a>             <strong 
class="jxr_keyword">if</strong> (browseUrl.length() &lt; PARAM_URL_MIN_LEN) {
+<a class="jxr_linenumber" name="163" href="#163">163</a>                 
browseUrl = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="164" href="#164">164</a>             }
+<a class="jxr_linenumber" name="165" href="#165">165</a>         }
+<a class="jxr_linenumber" name="166" href="#166">166</a> 
+<a class="jxr_linenumber" name="167" href="#167">167</a>         <strong 
class="jxr_keyword">if</strong> (browseUrl == <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="168" href="#168">168</a>             
printInput(req, resp);
+<a class="jxr_linenumber" name="169" href="#169">169</a>             <strong 
class="jxr_keyword">return</strong>;
+<a class="jxr_linenumber" name="170" href="#170">170</a>         }
+<a class="jxr_linenumber" name="171" href="#171">171</a> 
+<a class="jxr_linenumber" name="172" href="#172">172</a>         doBrowse(req, 
resp, browseUrl, overrideStylesheet);
+<a class="jxr_linenumber" name="173" href="#173">173</a>     }
+<a class="jxr_linenumber" name="174" href="#174">174</a> 
+<a class="jxr_linenumber" name="175" href="#175">175</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="176" href="#176">176</a> <em 
class="jxr_javadoccomment">     * Main method of the browser.</em>
+<a class="jxr_linenumber" name="177" href="#177">177</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="178" href="#178">178</a>     <strong 
class="jxr_keyword">protected</strong> <strong 
class="jxr_keyword">void</strong> doBrowse(HttpServletRequest req, 
HttpServletResponse resp, String browseUrl,
+<a class="jxr_linenumber" name="179" href="#179">179</a>             String 
overrideStylesheet) <strong class="jxr_keyword">throws</strong> 
ServletException, IOException {
+<a class="jxr_linenumber" name="180" href="#180">180</a>         <em 
class="jxr_comment">// check if decoding is necessary</em>
+<a class="jxr_linenumber" name="181" href="#181">181</a>         <em 
class="jxr_comment">// (if the char after 'http' or 'https' is not a colon, 
then it must be</em>
+<a class="jxr_linenumber" name="182" href="#182">182</a>         <em 
class="jxr_comment">// decoded)</em>
+<a class="jxr_linenumber" name="183" href="#183">183</a>         <strong 
class="jxr_keyword">if</strong> (browseUrl.charAt(4) != ':' &amp;&amp; 
browseUrl.charAt(5) != ':') {
+<a class="jxr_linenumber" name="184" href="#184">184</a>             browseUrl 
= URLDecoder.decode(browseUrl, <span class="jxr_string">"UTF-8"</span>);
+<a class="jxr_linenumber" name="185" href="#185">185</a>         }
+<a class="jxr_linenumber" name="186" href="#186">186</a> 
+<a class="jxr_linenumber" name="187" href="#187">187</a>         <em 
class="jxr_comment">// check URL</em>
+<a class="jxr_linenumber" name="188" href="#188">188</a>         <strong 
class="jxr_keyword">if</strong> (!browseUrl.matches(fAllow)) {
+<a class="jxr_linenumber" name="189" href="#189">189</a>             
printError(req, resp, <span class="jxr_string">"Prohibited URL!"</span>, 
<strong class="jxr_keyword">null</strong>);
+<a class="jxr_linenumber" name="190" href="#190">190</a>             <strong 
class="jxr_keyword">return</strong>;
+<a class="jxr_linenumber" name="191" href="#191">191</a>         }
+<a class="jxr_linenumber" name="192" href="#192">192</a> 
+<a class="jxr_linenumber" name="193" href="#193">193</a>         <strong 
class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="194" href="#194">194</a>             <em 
class="jxr_comment">// get content</em>
+<a class="jxr_linenumber" name="195" href="#195">195</a>             URL url = 
<strong class="jxr_keyword">new</strong> URL(browseUrl);
+<a class="jxr_linenumber" name="196" href="#196">196</a>             
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+<a class="jxr_linenumber" name="197" href="#197">197</a>             
conn.setDoInput(<strong class="jxr_keyword">true</strong>);
+<a class="jxr_linenumber" name="198" href="#198">198</a>             
conn.setDoOutput(false);
+<a class="jxr_linenumber" name="199" href="#199">199</a>             
conn.setRequestMethod(<span class="jxr_string">"GET"</span>);
+<a class="jxr_linenumber" name="200" href="#200">200</a>             String 
authHeader = req.getHeader(<span class="jxr_string">"Authorization"</span>);
+<a class="jxr_linenumber" name="201" href="#201">201</a>             <strong 
class="jxr_keyword">if</strong> (authHeader != <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="202" href="#202">202</a>                 
conn.setRequestProperty(<span class="jxr_string">"Authorization"</span>, 
authHeader);
+<a class="jxr_linenumber" name="203" href="#203">203</a>             }
+<a class="jxr_linenumber" name="204" href="#204">204</a>             
conn.connect();
+<a class="jxr_linenumber" name="205" href="#205">205</a> 
+<a class="jxr_linenumber" name="206" href="#206">206</a>             <em 
class="jxr_comment">// ask for login</em>
+<a class="jxr_linenumber" name="207" href="#207">207</a>             <strong 
class="jxr_keyword">if</strong> (conn.getResponseCode() == 
HttpURLConnection.HTTP_UNAUTHORIZED) {
+<a class="jxr_linenumber" name="208" href="#208">208</a>                 
resp.setHeader(<span class="jxr_string">"WWW-Authenticate"</span>, 
conn.getHeaderField(<span class="jxr_string">"WWW-Authenticate"</span>));
+<a class="jxr_linenumber" name="209" href="#209">209</a>                 
resp.sendError(HttpServletResponse.SC_UNAUTHORIZED, <span 
class="jxr_string">"Authorization Required"</span>);
+<a class="jxr_linenumber" name="210" href="#210">210</a>                 
<strong class="jxr_keyword">return</strong>;
+<a class="jxr_linenumber" name="211" href="#211">211</a>             }
+<a class="jxr_linenumber" name="212" href="#212">212</a> 
+<a class="jxr_linenumber" name="213" href="#213">213</a>             <em 
class="jxr_comment">// debug messages</em>
+<a class="jxr_linenumber" name="214" href="#214">214</a>             <strong 
class="jxr_keyword">if</strong> (LOG.isDebugEnabled()) {
+<a class="jxr_linenumber" name="215" href="#215">215</a>                 
LOG.debug(<span class="jxr_string">"'"</span> + browseUrl + <span 
class="jxr_string">"' -&gt; '"</span> + conn.getContentType() + <span 
class="jxr_string">"'"</span>);
+<a class="jxr_linenumber" name="216" href="#216">216</a>             }
+<a class="jxr_linenumber" name="217" href="#217">217</a> 
+<a class="jxr_linenumber" name="218" href="#218">218</a>             <em 
class="jxr_comment">// find stylesheet</em>
+<a class="jxr_linenumber" name="219" href="#219">219</a>             Source 
stylesheet = getStylesheet(conn.getContentType(), overrideStylesheet);
+<a class="jxr_linenumber" name="220" href="#220">220</a> 
+<a class="jxr_linenumber" name="221" href="#221">221</a>             
OutputStream out = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="222" href="#222">222</a>             
InputStream in = <strong class="jxr_keyword">new</strong> 
BufferedInputStream(conn.getInputStream(), BUFFER_SIZE);
+<a class="jxr_linenumber" name="223" href="#223">223</a> 
+<a class="jxr_linenumber" name="224" href="#224">224</a>             <strong 
class="jxr_keyword">if</strong> (stylesheet == <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="225" href="#225">225</a>                 <em 
class="jxr_comment">// no stylesheet found -&gt; conduct content</em>
+<a class="jxr_linenumber" name="226" href="#226">226</a>                 
resp.setContentType(conn.getContentType());
+<a class="jxr_linenumber" name="227" href="#227">227</a>                 out = 
<strong class="jxr_keyword">new</strong> 
BufferedOutputStream(resp.getOutputStream(), BUFFER_SIZE);
+<a class="jxr_linenumber" name="228" href="#228">228</a> 
+<a class="jxr_linenumber" name="229" href="#229">229</a>                 
byte[] buffer = <strong class="jxr_keyword">new</strong> byte[BUFFER_SIZE];
+<a class="jxr_linenumber" name="230" href="#230">230</a>                 
<strong class="jxr_keyword">int</strong> b;
+<a class="jxr_linenumber" name="231" href="#231">231</a>                 
<strong class="jxr_keyword">while</strong> ((b = in.read(buffer)) &gt; -1) {
+<a class="jxr_linenumber" name="232" href="#232">232</a>                     
out.write(buffer, 0, b);
+<a class="jxr_linenumber" name="233" href="#233">233</a>                 }
+<a class="jxr_linenumber" name="234" href="#234">234</a>             } <strong 
class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="235" href="#235">235</a>                 <em 
class="jxr_comment">// apply stylesheet</em>
+<a class="jxr_linenumber" name="236" href="#236">236</a>                 
TransformerFactory f = TransformerFactory.newInstance();
+<a class="jxr_linenumber" name="237" href="#237">237</a>                 
Transformer t = f.newTransformer(stylesheet);
+<a class="jxr_linenumber" name="238" href="#238">238</a>                 
t.setParameter(<span class="jxr_string">"browseUrl"</span>, getServletUrl(req) 
+ <span class="jxr_string">"?"</span> + PARAM_URL + <span 
class="jxr_string">"="</span>);
+<a class="jxr_linenumber" name="239" href="#239">239</a>                 
t.setParameter(<span class="jxr_string">"auxRoot"</span>, getAuxRoot(req, 
fAuxRoot));
+<a class="jxr_linenumber" name="240" href="#240">240</a>                 
t.setParameter(<span class="jxr_string">"browseOverrideStylesheet"</span>, 
<span class="jxr_string">"&amp;"</span> + PARAM_OVERRIDE_STYLESHEET + <span 
class="jxr_string">"="</span>);
+<a class="jxr_linenumber" name="241" href="#241">241</a> 
+<a class="jxr_linenumber" name="242" href="#242">242</a>                 
resp.setContentType(<span class="jxr_string">"text/html"</span>);
+<a class="jxr_linenumber" name="243" href="#243">243</a>                 out = 
<strong class="jxr_keyword">new</strong> 
BufferedOutputStream(resp.getOutputStream(), BUFFER_SIZE);
+<a class="jxr_linenumber" name="244" href="#244">244</a> 
+<a class="jxr_linenumber" name="245" href="#245">245</a>                 
Source s = <strong class="jxr_keyword">new</strong> StreamSource(in);
+<a class="jxr_linenumber" name="246" href="#246">246</a>                 
Result r = <strong class="jxr_keyword">new</strong> StreamResult(out);
+<a class="jxr_linenumber" name="247" href="#247">247</a>                 
t.transform(s, r);
+<a class="jxr_linenumber" name="248" href="#248">248</a>             }
+<a class="jxr_linenumber" name="249" href="#249">249</a> 
+<a class="jxr_linenumber" name="250" href="#250">250</a>             <strong 
class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="251" href="#251">251</a>                 
out.flush();
+<a class="jxr_linenumber" name="252" href="#252">252</a>                 
out.close();
+<a class="jxr_linenumber" name="253" href="#253">253</a>             } <strong 
class="jxr_keyword">catch</strong> (Exception e) {
+<a class="jxr_linenumber" name="254" href="#254">254</a>                 <em 
class="jxr_comment">// ignore, there isn't anything we can do</em>
+<a class="jxr_linenumber" name="255" href="#255">255</a>             }
+<a class="jxr_linenumber" name="256" href="#256">256</a> 
+<a class="jxr_linenumber" name="257" href="#257">257</a>             <strong 
class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="258" href="#258">258</a>                 
in.close();
+<a class="jxr_linenumber" name="259" href="#259">259</a>             } <strong 
class="jxr_keyword">catch</strong> (Exception e) {
+<a class="jxr_linenumber" name="260" href="#260">260</a>                 <em 
class="jxr_comment">// ignore, there isn't anything we can do</em>
+<a class="jxr_linenumber" name="261" href="#261">261</a>             }
+<a class="jxr_linenumber" name="262" href="#262">262</a>         } <strong 
class="jxr_keyword">catch</strong> (Exception e) {
+<a class="jxr_linenumber" name="263" href="#263">263</a>             
printError(req, resp, e.getMessage(), e);
+<a class="jxr_linenumber" name="264" href="#264">264</a>             <strong 
class="jxr_keyword">return</strong>;
+<a class="jxr_linenumber" name="265" href="#265">265</a>         }
+<a class="jxr_linenumber" name="266" href="#266">266</a>     }
+<a class="jxr_linenumber" name="267" href="#267">267</a> 
+<a class="jxr_linenumber" name="268" href="#268">268</a>     <em 
class="jxr_comment">// ---- utilities ----</em>
+<a class="jxr_linenumber" name="269" href="#269">269</a> 
+<a class="jxr_linenumber" name="270" href="#270">270</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="271" href="#271">271</a> <em 
class="jxr_javadoccomment">     * Assigns a stylesheet to a content type.</em>
+<a class="jxr_linenumber" name="272" href="#272">272</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="273" href="#273">273</a>     <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> 
addStylesheet(String contentType, Source source, <strong 
class="jxr_keyword">boolean</strong> override) {
+<a class="jxr_linenumber" name="274" href="#274">274</a>         <strong 
class="jxr_keyword">if</strong> ((contentType == <strong 
class="jxr_keyword">null</strong>) || (source == <strong 
class="jxr_keyword">null</strong>)) {
+<a class="jxr_linenumber" name="275" href="#275">275</a>             <strong 
class="jxr_keyword">return</strong>;
+<a class="jxr_linenumber" name="276" href="#276">276</a>         }
+<a class="jxr_linenumber" name="277" href="#277">277</a> 
+<a class="jxr_linenumber" name="278" href="#278">278</a>         <strong 
class="jxr_keyword">if</strong> (override) {
+<a class="jxr_linenumber" name="279" href="#279">279</a>             
fOverrideStyleSheets.put(contentType.trim().toLowerCase(), source);
+<a class="jxr_linenumber" name="280" href="#280">280</a>         } <strong 
class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="281" href="#281">281</a>             
fStyleSheets.put(contentType.trim().toLowerCase(), source);
+<a class="jxr_linenumber" name="282" href="#282">282</a>         }
+<a class="jxr_linenumber" name="283" href="#283">283</a>     }
+<a class="jxr_linenumber" name="284" href="#284">284</a> 
+<a class="jxr_linenumber" name="285" href="#285">285</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="286" href="#286">286</a> <em 
class="jxr_javadoccomment">     * Returns the stylesheet for the given override 
stylesheet, if there is is</em>
+<a class="jxr_linenumber" name="287" href="#287">287</a> <em 
class="jxr_javadoccomment">     * not override stylesheet given then the 
stylesheet for the given content</em>
+<a class="jxr_linenumber" name="288" href="#288">288</a> <em 
class="jxr_javadoccomment">     * type or &lt;code&gt;null&lt;/code&gt; if no 
stylesheet is assigned to content type.</em>
+<a class="jxr_linenumber" name="289" href="#289">289</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="290" href="#290">290</a>     <strong 
class="jxr_keyword">private</strong> Source getStylesheet(String contentType, 
String overrideStylesheet) {
+<a class="jxr_linenumber" name="291" href="#291">291</a>         <strong 
class="jxr_keyword">if</strong> (contentType == <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="292" href="#292">292</a>             <strong 
class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="293" href="#293">293</a>         }
+<a class="jxr_linenumber" name="294" href="#294">294</a> 
+<a class="jxr_linenumber" name="295" href="#295">295</a>         Source source 
= <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="296" href="#296">296</a> 
+<a class="jxr_linenumber" name="297" href="#297">297</a>         <em 
class="jxr_comment">// First check if there is an override given and it has a 
match.</em>
+<a class="jxr_linenumber" name="298" href="#298">298</a>         <strong 
class="jxr_keyword">if</strong> (overrideStylesheet != <strong 
class="jxr_keyword">null</strong> &amp;&amp; overrideStylesheet.length() &gt; 
0) {
+<a class="jxr_linenumber" name="299" href="#299">299</a>             source = 
fOverrideStyleSheets.get(overrideStylesheet);
+<a class="jxr_linenumber" name="300" href="#300">300</a>         }
+<a class="jxr_linenumber" name="301" href="#301">301</a> 
+<a class="jxr_linenumber" name="302" href="#302">302</a>         <em 
class="jxr_comment">// If there is not match then check the content type 
map.</em>
+<a class="jxr_linenumber" name="303" href="#303">303</a>         <strong 
class="jxr_keyword">if</strong> (source == <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="304" href="#304">304</a>             String[] 
ctp = contentType.trim().toLowerCase().split(<span 
class="jxr_string">";"</span>);
+<a class="jxr_linenumber" name="305" href="#305">305</a> 
+<a class="jxr_linenumber" name="306" href="#306">306</a>             
StringBuilder match = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a class="jxr_linenumber" name="307" href="#307">307</a>             <strong 
class="jxr_keyword">int</strong> i = 0;
+<a class="jxr_linenumber" name="308" href="#308">308</a>             <strong 
class="jxr_keyword">while</strong> (source == <strong 
class="jxr_keyword">null</strong> &amp;&amp; i &lt; ctp.length) {
+<a class="jxr_linenumber" name="309" href="#309">309</a>                 
<strong class="jxr_keyword">if</strong> (i &gt; 0) {
+<a class="jxr_linenumber" name="310" href="#310">310</a>                     
match.append(<span class="jxr_string">";"</span>);
+<a class="jxr_linenumber" name="311" href="#311">311</a>                 }
+<a class="jxr_linenumber" name="312" href="#312">312</a>                 
match.append(ctp[i]);
+<a class="jxr_linenumber" name="313" href="#313">313</a>                 
source = fStyleSheets.get(match.toString());
+<a class="jxr_linenumber" name="314" href="#314">314</a>                 i++;
+<a class="jxr_linenumber" name="315" href="#315">315</a>             }
+<a class="jxr_linenumber" name="316" href="#316">316</a>         }
+<a class="jxr_linenumber" name="317" href="#317">317</a> 
+<a class="jxr_linenumber" name="318" href="#318">318</a>         <strong 
class="jxr_keyword">return</strong> source;
+<a class="jxr_linenumber" name="319" href="#319">319</a>     }
+<a class="jxr_linenumber" name="320" href="#320">320</a> 
+<a class="jxr_linenumber" name="321" href="#321">321</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="322" href="#322">322</a> <em 
class="jxr_javadoccomment">     * Returns the context URL of this servlet.</em>
+<a class="jxr_linenumber" name="323" href="#323">323</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="324" href="#324">324</a>     <strong 
class="jxr_keyword">private</strong> String getContextUrl(HttpServletRequest 
request) {
+<a class="jxr_linenumber" name="325" href="#325">325</a>         String scheme 
= request.getScheme();
+<a class="jxr_linenumber" name="326" href="#326">326</a>         <strong 
class="jxr_keyword">int</strong> port = request.getServerPort();
+<a class="jxr_linenumber" name="327" href="#327">327</a> 
+<a class="jxr_linenumber" name="328" href="#328">328</a>         <strong 
class="jxr_keyword">if</strong> (<span 
class="jxr_string">"http"</span>.equals(scheme) &amp;&amp; (port == 80)) {
+<a class="jxr_linenumber" name="329" href="#329">329</a>             port = -1;
+<a class="jxr_linenumber" name="330" href="#330">330</a>         }
+<a class="jxr_linenumber" name="331" href="#331">331</a>         <strong 
class="jxr_keyword">if</strong> (<span 
class="jxr_string">"https"</span>.equals(scheme) &amp;&amp; (port == 443)) {
+<a class="jxr_linenumber" name="332" href="#332">332</a>             port = -1;
+<a class="jxr_linenumber" name="333" href="#333">333</a>         }
+<a class="jxr_linenumber" name="334" href="#334">334</a> 
+<a class="jxr_linenumber" name="335" href="#335">335</a>         <strong 
class="jxr_keyword">return</strong> scheme + <span 
class="jxr_string">"://"</span> + request.getServerName() + (port &gt; 0 ? 
<span class="jxr_string">":"</span> + port : <span 
class="jxr_string">""</span>) + request.getContextPath();
+<a class="jxr_linenumber" name="336" href="#336">336</a>     }
+<a class="jxr_linenumber" name="337" href="#337">337</a> 
+<a class="jxr_linenumber" name="338" href="#338">338</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="339" href="#339">339</a> <em 
class="jxr_javadoccomment">     * Returns the URL of this servlet.</em>
+<a class="jxr_linenumber" name="340" href="#340">340</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="341" href="#341">341</a>     <strong 
class="jxr_keyword">private</strong> String getServletUrl(HttpServletRequest 
request) {
+<a class="jxr_linenumber" name="342" href="#342">342</a>         <strong 
class="jxr_keyword">return</strong> getContextUrl(request) + 
request.getServletPath();
+<a class="jxr_linenumber" name="343" href="#343">343</a>     }
+<a class="jxr_linenumber" name="344" href="#344">344</a> 
+<a class="jxr_linenumber" name="345" href="#345">345</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="346" href="#346">346</a> <em 
class="jxr_javadoccomment">     * Returns the root URL of auxiliary files.</em>
+<a class="jxr_linenumber" name="347" href="#347">347</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="348" href="#348">348</a>     <strong 
class="jxr_keyword">private</strong> String getAuxRoot(HttpServletRequest 
request, String auxRoot) {
+<a class="jxr_linenumber" name="349" href="#349">349</a>         <strong 
class="jxr_keyword">if</strong> (auxRoot == <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="350" href="#350">350</a>             <strong 
class="jxr_keyword">return</strong> getContextUrl(request);
+<a class="jxr_linenumber" name="351" href="#351">351</a>         } <strong 
class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> 
(auxRoot.startsWith(CONTEXT_PREFIX)) {
+<a class="jxr_linenumber" name="352" href="#352">352</a>             <strong 
class="jxr_keyword">return</strong> getContextUrl(request) + 
auxRoot.substring(CONTEXT_PREFIX.length());
+<a class="jxr_linenumber" name="353" href="#353">353</a>         } <strong 
class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="354" href="#354">354</a>             <strong 
class="jxr_keyword">return</strong> auxRoot;
+<a class="jxr_linenumber" name="355" href="#355">355</a>         }
+<a class="jxr_linenumber" name="356" href="#356">356</a>     }
+<a class="jxr_linenumber" name="357" href="#357">357</a> 
+<a class="jxr_linenumber" name="358" href="#358">358</a>     <em 
class="jxr_comment">// --- HTML methods ----</em>
+<a class="jxr_linenumber" name="359" href="#359">359</a> 
+<a class="jxr_linenumber" name="360" href="#360">360</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="361" href="#361">361</a> <em 
class="jxr_javadoccomment">     * Prints a HTML header with styles.</em>
+<a class="jxr_linenumber" name="362" href="#362">362</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="363" href="#363">363</a>     <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> 
printHeader(PrintWriter pw, String title) {
+<a class="jxr_linenumber" name="364" href="#364">364</a>         
pw.print(<span class="jxr_string">"&lt;!DOCTYPE html PUBLIC \&quot;-//W3C//DTD 
XHTML 1.0 Transitional//EN\&quot;"</span>);
+<a class="jxr_linenumber" name="365" href="#365">365</a>         
pw.println(<span 
class="jxr_string">"\&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\&quot;&gt;";</span>);
+<a class="jxr_linenumber" name="366" href="#366">366</a>         
pw.println(<span class="jxr_string">"&lt;html 
xmlns=\&quot;http://www.w3.org/1999/xhtml\&quot;&gt;";</span>);
+<a class="jxr_linenumber" name="367" href="#367">367</a>         
pw.println(<span class="jxr_string">"&lt;head&gt;"</span>);
+<a class="jxr_linenumber" name="368" href="#368">368</a>         
pw.println(<span class="jxr_string">"&lt;title&gt;"</span> + title + <span 
class="jxr_string">"&lt;/title&gt;"</span>);
+<a class="jxr_linenumber" name="369" href="#369">369</a>         
pw.println(<span class="jxr_string">"&lt;meta 
http-equiv=\&quot;content-type\&quot; content=\&quot;text/html; 
charset=UTF-8\&quot; /&gt;"</span>);
+<a class="jxr_linenumber" name="370" href="#370">370</a>         
pw.println(<span class="jxr_string">"&lt;style 
type=\&quot;text/css\&quot;&gt;"</span>);
+<a class="jxr_linenumber" name="371" href="#371">371</a>         
pw.println(<span class="jxr_string">"body { font-family: arial,sans-serif; 
font-size: 10pt; }"</span>);
+<a class="jxr_linenumber" name="372" href="#372">372</a>         
pw.println(<span class="jxr_string">"div.box { background-color: #f6f1de; 
margin-top: 10px;"</span>
+<a class="jxr_linenumber" name="373" href="#373">373</a>                 + 
<span class="jxr_string">" margin-bottom: 10px; margin-left: 0px; margin-right: 
0px;"</span>
+<a class="jxr_linenumber" name="374" href="#374">374</a>                 + 
<span class="jxr_string">" padding: 5px; border-style: solid; border-width: 
1px; border-color: #888a85; }"</span>);
+<a class="jxr_linenumber" name="375" href="#375">375</a>         
pw.println(<span class="jxr_string">"&lt;/style&gt;"</span>);
+<a class="jxr_linenumber" name="376" href="#376">376</a>         
pw.println(<span class="jxr_string">"&lt;/head&gt;"</span>);
+<a class="jxr_linenumber" name="377" href="#377">377</a>         
pw.println(<span class="jxr_string">"&lt;body&gt;"</span>);
+<a class="jxr_linenumber" name="378" href="#378">378</a>     }
+<a class="jxr_linenumber" name="379" href="#379">379</a> 
+<a class="jxr_linenumber" name="380" href="#380">380</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="381" href="#381">381</a> <em 
class="jxr_javadoccomment">     * Prints a HTML footer.</em>
+<a class="jxr_linenumber" name="382" href="#382">382</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="383" href="#383">383</a>     <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> 
printFooter(PrintWriter pw) {
+<a class="jxr_linenumber" name="384" href="#384">384</a>         
pw.println(<span class="jxr_string">"&lt;/body&gt;"</span>);
+<a class="jxr_linenumber" name="385" href="#385">385</a>         
pw.println(<span class="jxr_string">"&lt;/html&gt;"</span>);
+<a class="jxr_linenumber" name="386" href="#386">386</a>     }
+<a class="jxr_linenumber" name="387" href="#387">387</a> 
+<a class="jxr_linenumber" name="388" href="#388">388</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="389" href="#389">389</a> <em 
class="jxr_javadoccomment">     * Prints a HTML error message.</em>
+<a class="jxr_linenumber" name="390" href="#390">390</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="391" href="#391">391</a>     <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> 
printError(HttpServletRequest req, HttpServletResponse resp, String message, 
Exception e)
+<a class="jxr_linenumber" name="392" href="#392">392</a>             <strong 
class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="393" href="#393">393</a>         
resp.setContentType(<span class="jxr_string">"text/html;charset=utf-8"</span>);
+<a class="jxr_linenumber" name="394" href="#394">394</a>         PrintWriter 
pw = resp.getWriter();
+<a class="jxr_linenumber" name="395" href="#395">395</a> 
+<a class="jxr_linenumber" name="396" href="#396">396</a>         
printHeader(pw, <span class="jxr_string">"Error"</span>);
+<a class="jxr_linenumber" name="397" href="#397">397</a>         
pw.println(<span class="jxr_string">"&lt;div 
class=\&quot;box\&quot;&gt;"</span>);
+<a class="jxr_linenumber" name="398" href="#398">398</a>         
pw.println(<span class="jxr_string">"&lt;h3&gt;"</span> + message + <span 
class="jxr_string">"&lt;/h3&gt;"</span>);
+<a class="jxr_linenumber" name="399" href="#399">399</a> 
+<a class="jxr_linenumber" name="400" href="#400">400</a>         <strong 
class="jxr_keyword">if</strong> (e != <strong 
class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="401" href="#401">401</a>             
pw.print(<span class="jxr_string">"&lt;pre&gt;"</span>);
+<a class="jxr_linenumber" name="402" href="#402">402</a>             
e.printStackTrace(pw);
+<a class="jxr_linenumber" name="403" href="#403">403</a>             
pw.println(<span class="jxr_string">"&lt;/pre&gt;"</span>);
+<a class="jxr_linenumber" name="404" href="#404">404</a>         }
+<a class="jxr_linenumber" name="405" href="#405">405</a> 
+<a class="jxr_linenumber" name="406" href="#406">406</a>         
pw.println(<span class="jxr_string">"&lt;/div&gt;"</span>);
+<a class="jxr_linenumber" name="407" href="#407">407</a>         
printFooter(pw);
+<a class="jxr_linenumber" name="408" href="#408">408</a>     }
+<a class="jxr_linenumber" name="409" href="#409">409</a> 
+<a class="jxr_linenumber" name="410" href="#410">410</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="411" href="#411">411</a> <em 
class="jxr_javadoccomment">     * Prints an HTML input box.</em>
+<a class="jxr_linenumber" name="412" href="#412">412</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="413" href="#413">413</a>     <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> 
printInput(HttpServletRequest req, HttpServletResponse resp) <strong 
class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="414" href="#414">414</a>         
resp.setContentType(<span class="jxr_string">"text/html;charset=utf-8"</span>);
+<a class="jxr_linenumber" name="415" href="#415">415</a>         PrintWriter 
pw = resp.getWriter();
+<a class="jxr_linenumber" name="416" href="#416">416</a> 
+<a class="jxr_linenumber" name="417" href="#417">417</a>         
printHeader(pw, <span class="jxr_string">"OpenCMIS Browser"</span>);
+<a class="jxr_linenumber" name="418" href="#418">418</a>         
pw.println(<span class="jxr_string">"&lt;img src=\&quot;"</span> + 
getAuxRoot(req, fAuxRoot) + <span class="jxr_string">"cmis.png\&quot; "</span> 
+ <span class="jxr_string">"style=\&quot;float: right;\&quot; /&gt;"</span>);
+<a class="jxr_linenumber" name="419" href="#419">419</a>         
pw.println(<span class="jxr_string">"&lt;h1 style=\&quot;font-family: 
Georgia;\&quot;&gt;OpenCMIS Browser&lt;/h1&gt;"</span>);
+<a class="jxr_linenumber" name="420" href="#420">420</a>         
pw.println(<span class="jxr_string">"&lt;div 
class=\&quot;box\&quot;&gt;"</span>);
+<a class="jxr_linenumber" name="421" href="#421">421</a>         
pw.println(<span class="jxr_string">"&lt;form action=\&quot;\&quot; 
method=\&quot;GET\&quot;&gt;"</span>);
+<a class="jxr_linenumber" name="422" href="#422">422</a>         
pw.println(<span class="jxr_string">"CMIS AtomPub URL: "</span>);
+<a class="jxr_linenumber" name="423" href="#423">423</a>         
pw.println(<span class="jxr_string">"&lt;input name=\&quot;url\&quot; 
type=\&quot;text\&quot; size=\&quot;100\&quot; 
value=\&quot;\&quot;/&gt;"</span>);
+<a class="jxr_linenumber" name="424" href="#424">424</a>         
pw.println(<span class="jxr_string">"&lt;input type=\&quot;submit\&quot; 
value=\&quot; GO \&quot;/&gt;"</span>);
+<a class="jxr_linenumber" name="425" href="#425">425</a>         
pw.println(<span class="jxr_string">"&lt;/form&gt;"</span>);
+<a class="jxr_linenumber" name="426" href="#426">426</a>         
pw.println(<span class="jxr_string">"&lt;/div&gt;"</span>);
+<a class="jxr_linenumber" name="427" href="#427">427</a>         
printFooter(pw);
+<a class="jxr_linenumber" name="428" href="#428">428</a>     }
+<a class="jxr_linenumber" name="429" href="#429">429</a> }
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a 
href="http://maven.apache.org/";>Maven</a></div></body>
+</html>
+

Added: 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/org/apache/chemistry/opencmis/browser/package-frame.html
==============================================================================
--- 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/org/apache/chemistry/opencmis/browser/package-frame.html
 (added)
+++ 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/org/apache/chemistry/opencmis/browser/package-frame.html
 Mon Apr  6 17:18:49 2015
@@ -0,0 +1,24 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+       <head>
+               <meta http-equiv="content-type" content="text/html; 
charset=UTF-8" />
+               <title>OpenCMIS Browser 0.13.0 Reference Package 
org.apache.chemistry.opencmis.browser</title>
+               <link rel="stylesheet" type="text/css" 
href="../../../../../stylesheet.css" title="style" />
+       </head>
+       <body>
+
+               <h3>
+               <a href="package-summary.html" 
target="classFrame">org.apache.chemistry.opencmis.browser</a>
+       </h3>
+
+       <h3>Classes</h3>
+
+       <ul>
+                               <li>
+               <a href="BrowseServlet.html" 
target="classFrame">BrowseServlet</a>
+               </li>
+                       </ul>
+
+       </body>
+</html>
\ No newline at end of file

Added: 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/org/apache/chemistry/opencmis/browser/package-summary.html
==============================================================================
--- 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/org/apache/chemistry/opencmis/browser/package-summary.html
 (added)
+++ 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/org/apache/chemistry/opencmis/browser/package-summary.html
 Mon Apr  6 17:18:49 2015
@@ -0,0 +1,67 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+       <head>
+               <meta http-equiv="content-type" content="text/html; 
charset=UTF-8" />
+               <title>OpenCMIS Browser 0.13.0 Reference Package 
org.apache.chemistry.opencmis.browser</title>
+               <link rel="stylesheet" type="text/css" 
href="../../../../../stylesheet.css" title="style" />
+       </head>
+       <body>
+                       <div class="overview">
+               <ul>
+                       <li>
+                       <a 
href="../../../../../overview-summary.html">Overview</a>
+                       </li>
+                       <li class="selected">Package</li>
+               </ul>
+       </div>
+       <div class="framenoframe">
+               <ul>
+                       <li>
+                       <a href="../../../../../index.html" 
target="_top">FRAMES</a>
+                       </li>
+                       <li>
+                       <a href="package-summary.html" target="_top">NO 
FRAMES</a>
+                       </li>
+               </ul>
+       </div>
+               
+                       <h2>Package org.apache.chemistry.opencmis.browser</h2>
+
+               <table class="summary">
+               <thead>
+                       <tr>
+                       <th>Class Summary</th>
+                       </tr>
+               </thead>
+               <tbody>
+                                       <tr>
+                       <td>
+                               <a href="BrowseServlet.html" 
target="classFrame">BrowseServlet</a>
+                       </td>
+               </tr>
+                                               </tbody>
+       </table>
+               
+                       <div class="overview">
+               <ul>
+                       <li>
+                       <a 
href="../../../../../overview-summary.html">Overview</a>
+                       </li>
+                       <li class="selected">Package</li>
+               </ul>
+       </div>
+       <div class="framenoframe">
+               <ul>
+                       <li>
+                       <a href="../../../../../index.html" 
target="_top">FRAMES</a>
+                       </li>
+                       <li>
+                       <a href="package-summary.html" target="_top">NO 
FRAMES</a>
+                       </li>
+               </ul>
+       </div>
+                               <hr />
+               Copyright &#169; 2009-2015 The Apache Software Foundation. All 
Rights Reserved.
+       </body>
+</html>
\ No newline at end of file

Added: 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/overview-frame.html
==============================================================================
--- 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/overview-frame.html
 (added)
+++ 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/overview-frame.html
 Mon Apr  6 17:18:49 2015
@@ -0,0 +1,25 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+       <head>
+               <meta http-equiv="content-type" content="text/html; 
charset=UTF-8" />
+               <title>OpenCMIS Browser 0.13.0 Reference</title>
+               <link rel="stylesheet" type="text/css" href="stylesheet.css" 
title="style" />
+       </head>
+       <body>
+
+               <h3>
+                       <a href="allclasses-frame.html" 
target="packageFrame">All Classes</a>
+               </h3>
+
+               <h3>Packages</h3>
+
+               <ul>
+                                               <li>
+                               <a 
href="org/apache/chemistry/opencmis/browser/package-frame.html" 
target="packageFrame">org.apache.chemistry.opencmis.browser</a>
+                       </li>
+                                       </ul>
+
+       </body>
+</html>
+

Added: 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/overview-summary.html
==============================================================================
--- 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/overview-summary.html
 (added)
+++ 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/overview-summary.html
 Mon Apr  6 17:18:49 2015
@@ -0,0 +1,64 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+       <head>
+               <meta http-equiv="content-type" content="text/html; 
charset=UTF-8" />
+               <title>OpenCMIS Browser 0.13.0 Reference</title>
+               <link rel="stylesheet" type="text/css" href="stylesheet.css" 
title="style" />
+       </head>
+       <body>
+                               <div class="overview">
+                       <ul>
+                               <li class="selected">Overview</li>
+                               <li>Package</li>
+                       </ul>
+               </div>
+               <div class="framenoframe">
+                       <ul>
+                               <li>
+                                       <a href="index.html" 
target="_top">FRAMES</a>
+                               </li>
+                               <li>
+                       <a href="overview-summary.html" target="_top">NO 
FRAMES</a>
+                       </li>
+               </ul>
+       </div>
+               
+                       <h2>OpenCMIS Browser 0.13.0 Reference</h2>
+
+               <table class="summary">
+               <thead>
+                       <tr>
+                       <th>Packages</th>
+                       </tr>
+               </thead>
+               <tbody>
+                               <tr>
+                       <td>
+                               <a 
href="org/apache/chemistry/opencmis/browser/package-summary.html">org.apache.chemistry.opencmis.browser</a>
+                       </td>
+               </tr>
+                                       </tbody>
+       </table>
+               
+                               <div class="overview">
+                       <ul>
+                               <li class="selected">Overview</li>
+                               <li>Package</li>
+                       </ul>
+               </div>
+               <div class="framenoframe">
+                       <ul>
+                               <li>
+                                       <a href="index.html" 
target="_top">FRAMES</a>
+                               </li>
+                               <li>
+                       <a href="overview-summary.html" target="_top">NO 
FRAMES</a>
+                       </li>
+               </ul>
+       </div>
+               
+               <hr />
+               Copyright &#169; 2009-2015 The Apache Software Foundation. All 
Rights Reserved.
+       </body>
+</html>
\ No newline at end of file

Added: 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/stylesheet.css
==============================================================================
--- 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/stylesheet.css
 (added)
+++ 
websites/staging/chemistry/trunk/content/java/0.13.0/maven/chemistry-opencmis-test/chemistry-opencmis-test-browser/xref/stylesheet.css
 Mon Apr  6 17:18:49 2015
@@ -0,0 +1,116 @@
+/* Javadoc style sheet */
+/* Define colors, fonts and other style attributes here to override the 
defaults  */
+body {
+    background-color: #fff;
+    font-family: Arial, Helvetica, sans-serif;
+}
+
+a:link {
+    color: #00f;
+}
+a:visited {
+    color: #00a;
+}
+
+a:active, a:hover {
+    color: #f30 !important;
+}
+
+ul, li {
+    list-style-type:none;
+    margin:0;
+    padding:0;
+}
+
+table td {
+    padding: 3px;
+    border: 1px solid #000;
+}
+table {
+    width:100%;
+    border: 1px solid #000;
+    border-collapse: collapse;
+}
+
+div.overview {
+    background-color:#ddd;
+    padding: 4px 4px 4px 0;
+}
+div.overview li, div.framenoframe li {
+    display: inline;
+}
+div.framenoframe {
+    text-align: center;
+    font-size: x-small;
+}
+div.framenoframe li {
+    margin: 0 3px 0 3px;
+}
+div.overview li {
+    margin:3px 3px 0 3px;
+    padding: 4px;
+}
+li.selected {
+    background-color:#888;
+    color: #fff;
+    font-weight: bold;
+}
+
+table.summary {
+    margin-bottom: 20px;
+}
+table.summary td, table.summary th {
+    font-weight: bold;
+    text-align: left;
+    padding: 3px;
+}
+table.summary th {
+    background-color:#036;
+    color: #fff;
+}
+table.summary td {
+    background-color:#eee;
+    border: 1px solid black;
+}
+
+em {
+    color: #A00;
+}
+em.comment {
+    color: #390;
+}
+.string {
+    color: #009;
+}
+div#footer {
+    text-align:center;
+}
+#overview {
+    padding:2px;
+}
+
+hr {
+    height: 1px;
+    color: #000;
+}
+
+/* JXR style sheet */
+.jxr_comment
+{
+    color: #390;
+}
+
+.jxr_javadoccomment
+{
+    color: #A00;
+}
+
+.jxr_string
+{
+    color: #009;
+}
+
+.jxr_keyword
+{
+    color: #000;
+}


Reply via email to