db-jdo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From an...@apache.org
Subject svn commit: r581219 [3/3] - in /db/jdo/site/docs: ./ images/ images/logos/ style/ stylesheets/ tutorials/
Date Tue, 02 Oct 2007 13:01:30 GMT
Added: db/jdo/site/docs/site.jsl
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/site.jsl?rev=581219&view=auto
==============================================================================
--- db/jdo/site/docs/site.jsl (added)
+++ db/jdo/site/docs/site.jsl Tue Oct  2 06:01:19 2007
@@ -0,0 +1,466 @@
+<?xml version="1.0"?>
+
+<!--
+ * ========================================================================
+ * 
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ * ========================================================================
+-->
+<!-- stylesheet to be used -->
+<jsl:stylesheet select="$doc"
+  xmlns:define="jelly:define"
+  xmlns:j="jelly:core"
+  xmlns:jsl="jelly:jsl"
+  xmlns:log="jelly:log"
+  xmlns:util="jelly:util"
+  xmlns:x="jelly:xml"
+  xmlns:doc="doc"
+  xmlns:maven="jelly:maven"
+  xmlns="dummy"
+  trim="true">
+  <jsl:template match="document" trim="true">
+    <j:useBean var="navbean" class="org.apache.maven.NavBean"/>
+	<j:set var="location" value="${outFile.substring(destdir.length())}"/>
+	<util:replace var="location" oldChar="\" newChar="/" value="${location}"/>
+    <!-- Stores location for publish date / version -->
+    <j:set var="date">${maven.xdoc.date}</j:set>
+	<j:setProperties object="${navbean}" document="${doc}" location="${location}"/>
+	
+    <x:doctype name="html" publicId="-//W3C//DTD XHTML 1.0 Transitional//EN" systemId="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
+    <html>
+      <head>
+        <j:set var="docTitle"><x:expr select="./properties/title"/></j:set>
+        <x:if select="$nav/title">
+          <title><x:expr select="$nav/title"/> - ${docTitle}</title>
+        </x:if>
+        <x:if select="not($nav/title)">
+          <title>${pom.name} - ${docTitle}</title>
+        </x:if>
+        
+        <j:set var="themeUrl" value="${maven.xdoc.theme.url}"/>
+        <util:file var="projectCssFile" name="${maven.docs.src}/style/project.css"/>
+        
+        <style type="text/css" media="all"><![CDATA[
+          @import url("${relativePath}/style/maven-base.css");
+          ]]>
+			    <j:if test="${!empty(themeUrl)}"><![CDATA[
+				    @import url("${maven.xdoc.theme.url}");
+			    ]]></j:if>
+			    <j:if test="${empty(themeUrl)}"><![CDATA[
+				    @import url("${relativePath}/style/maven-${maven.xdoc.theme}.css");
+			    ]]></j:if>
+			    <j:if test="${projectCssFile.exists()}"><![CDATA[
+				    @import url("${relativePath}/style/project.css");
+			    ]]></j:if>
+        </style>
+        
+        <link rel="stylesheet" type="text/css" href="${relativePath}/style/print.css" media="print"/>
+        <meta http-equiv="Content-Type" content="text/html; charset=${outputencoding}"/>
+        <x:forEach var="author" select="./properties/author">
+          <meta name="author" content="${author.text}"/>
+          <meta name="email" content="${author.attribute('email').value}"/>
+        </x:forEach>
+        
+        <jsl:applyTemplates select="$doc/document/head/*"/>
+        
+      </head>
+
+      <x:element name="body"><j:whitespace trim="true">
+        <x:attribute name="class">composite</x:attribute>
+        <x:forEach var="attr" select="$doc/document/body/@*">
+          <x:attribute name="${attr.name}">${attr.value}</x:attribute>
+        </x:forEach>
+        </j:whitespace>
+
+        <div id="banner">
+              <!-- organization logo -->
+                <j:set var="logo" value="${pom.organization.logo}"/>
+                <j:if test="${!empty(logo)}">
+                  <!-- set url to org or project url -->
+                  <j:set var="url" value="${pom.organization.url}"/>
+                  <j:if test="${!empty(url)}">
+                    <j:set var="home" value="${pom.organization.url}"/>
+                  </j:if>
+                  <j:if test="${empty(url)}">
+                    <j:set var="home" value="${pom.url}"/>
+                  </j:if>
+                  <!-- set image to relative or complete -->
+                  <j:set var="image" value="${pom.organization.logo}"/>
+                  <j:if test="${!image.startsWith('http://') and !image.startsWith('https://')}">
+                    <j:set var="image" value="${relativePath}${image}"/>
+                  </j:if>
+                  <a href="${home}" id="organizationLogo">
+                    <img src="${image}" alt="${pom.organization.name}" />
+                  </a>
+                </j:if>
+
+              <!-- project logo and link -->
+                <j:set var="logo" value="${pom.logo}"/>
+                <j:if test="${logo != null and logo != ''}">
+                  <!-- set image to relative or complete -->
+                  <j:set var="image" value="${pom.logo}"/>
+                  <j:if test="${!image.startsWith('http://') and !image.startsWith('https://')}">
+                    <j:set var="image" value="${relativePath}${image}"/>
+                  </j:if>
+
+                  <a href="${pom.url}" id="projectLogo">
+                    <img src="${image}" alt="${pom.name}"/>
+                  </a>
+                </j:if>
+                <j:if test="${logo == null or logo == ''}">
+                  <a href="${pom.url}" id="projectLogo">
+                    <span>${pom.name}</span>
+                  </a>
+                </j:if>
+
+            <div class="clear"><hr/></div>
+        </div>
+
+        <div id="breadcrumbs">
+              <j:if test="${date == 'left'}">
+                <maven:property var="version" name="maven.xdoc.version" defaultValue="${pom.currentVersion}"/>
+                <div class="xleft">
+                	Last published: ${build.date}
+                  <j:if test="${!empty(version)}">| Doc for ${version}</j:if>
+                </div>
+              </j:if>
+                <div class="xright">
+                  <j:if test="${date == 'right'}">
+                    Last published: ${build.date}
+                    <x:if select="$nav/body/links">|</x:if>
+                  </j:if>
+                  <!-- render links -->
+                  <x:if select="$nav/body/links">
+                    <jsl:applyTemplates select="$nav/body/links"/>
+                  </x:if>
+                </div>
+                <div class="clear"><hr /></div>
+        </div>
+
+        <!-- left column start -->
+        <div id="leftColumn">
+          <div id="navcolumn">
+            <x:if select="$nav">
+              <jsl:applyTemplates select="$nav/body/menu[not(@type) | @type='header'] | $nav/body/search"/>
+            </x:if>
+            <jsl:applyTemplates select="$projectNav/body/menu"/>
+            <!-- allows user to put menu items after standard reports -->
+            <x:if select="$nav">
+              <jsl:applyTemplates select="$nav/body/menu[@type='footer']"/>
+            </x:if>
+          </div>
+       </div>
+       <!-- left column end -->
+              
+       <!-- body start -->
+       <div id="bodyColumn">
+         <div class="contentBox">
+           <!-- FIXME really shouldn't use $doc, but jelly loses it's context again -->
+           <jsl:applyTemplates select="$doc/document/body/section"/>
+           <jsl:applyTemplates select="$doc/document/body/release" />
+           <jsl:applyTemplates select="$doc/document/body/goals" />
+         </div>
+       </div>
+       <div class="clear"><hr/></div>
+       <!-- body end -->
+
+       <!-- footer start -->
+       <table border="0" cellspacing="0" cellpadding="0" width="100%">
+           <tr>
+               <td width="100%"><img src="${relativePath}/images/header_line.gif" border="0" width="100%" height="1"/></td>
+           </tr>
+       </table>
+
+       <div id="footer">  
+          <jsl:applyTemplates select="$nav/body/footer"/>
+          <div class="xleft">
+            <j:if test="${date == 'bottom'}">
+                Documentation published: ${build.date}<br/>
+            </j:if>
+            <j:if test="${!empty(pom.organization.name)}">
+              <j:if test="${!empty(pom.inceptionYear)}">
+                <j:if test="${pom.inceptionYear == mavenCurrentYear}">
+                  &#169; ${mavenCurrentYear}, ${pom.organization.name}
+                </j:if>
+                <j:if test="${pom.inceptionYear != mavenCurrentYear}">
+                  &#169; ${pom.inceptionYear}-${mavenCurrentYear} <a href="${pom.organization.url}">${pom.organization.name}</a>
+                </j:if>
+              </j:if>
+              <j:if test="${empty(pom.inceptionYear)}">
+                &#169; ${mavenCurrentYear}, ${pom.organization.name}
+              </j:if>
+            </j:if>
+          </div>
+        </div>
+        <!-- footer end --> 
+      </x:element>
+    </html>
+  </jsl:template>
+
+  <!-- process the properties of the doc -->
+  <jsl:template match="properties" trim="true">
+    <!-- stick head block here later -->
+  </jsl:template>
+
+  <!-- Process a menu for the navigation bar -->
+  <jsl:template match="menu" trim="true">
+    <j:set var="_menuName"><x:expr select="@name"/></j:set>
+    <j:set var="_menuName"><doc:escapeNameToken value="${_menuName}"/></j:set>
+    <j:choose>
+      <j:when test="${!empty(_menuName)}">
+        <div id="menu${_menuName}">
+          <h5><x:expr select="@name"/></h5>
+          <ul><jsl:applyTemplates select="item"/></ul>
+        </div>
+      </j:when>
+      <j:otherwise>
+        <div>
+          <ul><jsl:applyTemplates select="item"/></ul>
+        </div>
+      </j:otherwise>
+    </j:choose>
+    <br/>
+  </jsl:template>
+
+  <jsl:template match="item" trim="true">
+    <x:set var="item" select="."/>
+    <x:set var="_name" select="string(@name)"/>
+    <x:set var="_link" select="string(@href)"/>
+    <x:set var="_img" select="string(@img)"/>
+    <x:set var="_target" select="string(@target)"/>
+    <x:set var="_childCount" select="count(./item)"/>
+    <j:set var="_isCollapsed" value="${navbean.isCollapsed(item.get(0))}"/>
+    <j:set var="_state" value="none"/>
+    <j:if test="${_childCount.intValue() gt 0}">
+      <j:if test="${!_isCollapsed}"><j:set var="_state" value="expanded"/></j:if>
+      <j:if test="${_isCollapsed}"><j:set var="_state" value="collapsed"/></j:if>
+    </j:if>
+    <li class="${_state}">
+      <j:if test="${navbean.isSelected(item.get(0))}">
+        <strong><doc:itemLink name="${_name}" link="${_link}" img="${_img}" state="${_state}" target="${_target}"/></strong>
+      </j:if>
+      <j:if test="${!navbean.isSelected(item.get(0))}">
+        <doc:itemLink name="${_name}" link="${_link}" img="${_img}" state="${_state}" target="${_target}"/>
+      </j:if>
+      <j:if test="${_state == 'expanded'}">
+        <ul>
+          <jsl:applyTemplates select="item"/>
+        </ul>
+      </j:if>
+    </li>
+  </jsl:template>
+
+  <!-- Process the breadcrumb navbar -->
+  <jsl:template match="links" trim="true">
+    <j:set var="linkCount" value="1"/>
+    <x:forEach var="link" select="item">
+      <j:set var="_img"><x:expr select="@img"/></j:set>
+      <j:set var="_name"><x:expr select="@name"/></j:set>
+      <j:set var="_link"><x:expr select="@href"/></j:set>
+      <j:set var="_target"><x:expr select="@target"/></j:set>
+      <j:whitespace trim="false">
+        <j:if test="${linkCount != 1}">
+          <j:if test="${!(maven.xdoc.crumb.separator == '')}">
+            <span class="separator">${maven.xdoc.crumb.separator}</span>
+          </j:if>
+        </j:if>
+        <doc:itemLink name="${_name}" link="${_link}" img="${_img}" target="${_target}"/>
+      </j:whitespace>
+      <j:set var="linkCount" value="${1+linkCount}"/>
+    </x:forEach>
+  </jsl:template>
+
+  <!-- process a documentation section -->
+  <jsl:template match="section" trim="true">
+    <div class="section">
+      <j:set var="_sectionName"><x:expr select="@name"/></j:set>
+      <!-- named anchors can't contain whitespaces -->
+      <j:set var="_anchorName"><doc:escapeNameToken value="${_sectionName}"/></j:set>
+      <j:if test="${!empty(_sectionName)}">
+          <a name="${_anchorName}"/><h2>${_sectionName}</h2>
+      </j:if>
+      <jsl:applyTemplates select="*"/>
+    </div>
+  </jsl:template>
+
+  <jsl:template match="subsection" trim="true">
+    <div class="subsection">
+      <j:set var="_sectionName"><x:expr select="@name"/></j:set>
+      <!-- named anchors can't contain whitespaces -->
+      <j:set var="_anchorName"><doc:escapeNameToken value="${_sectionName}"/></j:set>
+      <j:if test="${!empty(_sectionName)}">
+          <a name="${_anchorName}"/><h3>${_sectionName}</h3>
+      </j:if>
+      <jsl:applyTemplates select="*"/>
+    </div>
+  </jsl:template>
+
+  <jsl:template match="source" trim="false">
+    <div class="source"><pre><jsl:applyTemplates /></pre></div>
+  </jsl:template>
+  
+  <!-- preserve whitespace in the following elements -->
+  <jsl:template match="pre | script | style" trim="true">
+    <x:set var="nodename" select="name()"/>
+    <x:element name="${nodename}">
+      <x:forEach var="attr" select="@*">
+        <x:attribute name="${attr.name}">${attr.value}</x:attribute>
+      </x:forEach>
+      <j:whitespace trim="false"><jsl:applyTemplates /></j:whitespace>
+    </x:element>
+  </jsl:template>
+  
+  <!-- xhtml fixup: add missing alt attribute for images -->
+  <jsl:template match="img" trim="true">
+    <x:element name="img">
+      <x:forEach var="attr" select="@*">
+        <x:attribute name="${attr.name}">${attr.value}</x:attribute>
+      </x:forEach>
+      <x:set var="noalt" select="count(./@alt) = 0" />
+      <j:if test="${noalt}" >
+        <x:attribute name="alt"></x:attribute>
+      </j:if>
+    </x:element>
+  </jsl:template>
+
+  <jsl:template match="footer" trim="true">
+    <div class="xleft">
+      <jsl:applyTemplates select="*"/>
+    </div>
+  </jsl:template>
+
+  <jsl:template match="table" trim="true">
+    <j:set var="rowcount" value="0"/>
+    <table class="bodyTable">
+      <jsl:applyTemplates select="*"/>
+    </table>
+  </jsl:template>
+
+  <jsl:template match="tr" trim="true">
+    <j:choose>
+      <j:when test="${rowMode == 'a'}">
+        <j:set var="rowMode" value="b"/>
+      </j:when>
+      <j:otherwise>
+        <j:set var="rowMode" value="a"/>
+      </j:otherwise>
+    </j:choose>
+    <x:element name="tr"><j:whitespace trim="true">
+      <x:attribute name="class">${rowMode}</x:attribute>
+      <x:forEach var="attr" select="@*">
+        <x:attribute name="${attr.name}">${attr.value}</x:attribute>
+      </x:forEach>
+      <jsl:applyTemplates select="*"/>
+</j:whitespace></x:element>
+  </jsl:template>
+
+      <!--************************-->
+      <!-- goals documentation    -->
+      <!--************************-->
+      <jsl:template match="goals" trim="true">
+        <!-- reset row alternation -->
+        <j:set var="rowMode" value="" />
+        <div class="h3">
+          <a name="Goals"/><h3>Goals</h3>
+          <table class="bodyTable">
+            <thead>
+              <tr><th>Goal</th><th>Description</th></tr>
+            </thead>
+            <tbody>
+              <jsl:applyTemplates select="goal"/>
+            </tbody>
+          </table>
+        </div>
+      </jsl:template>
+      
+      <!-- a goal -->
+      <jsl:template match="goal" trim="true">
+        <j:choose>
+          <j:when test="${rowMode == 'a'}">
+            <j:set var="rowMode" value="b"/>
+          </j:when>
+          <j:otherwise>
+            <j:set var="rowMode" value="a"/>
+          </j:otherwise>
+        </j:choose>
+        
+        <x:element name="tr"><j:whitespace trim="true">
+          <x:attribute name="class">${rowMode}</x:attribute>
+          <j:set var="_goalName"><x:expr select="./name" /></j:set>
+          <td style="width:20%"><a name="${_goalName}"/>${_goalName}</td>
+          <td ><jsl:applyTemplates select="description" /></td>
+</j:whitespace></x:element>
+      </jsl:template>   
+      
+      <jsl:template match="description">
+        <jsl:applyTemplates trim="false"/>
+      </jsl:template>
+
+  <!-- remove the space at the end of parsed "a" anchors and fix local hrefs -->
+  <jsl:template match="a" trim="true">
+    <x:element name="a" trim="true">
+      <x:forEach var="attr" select="@*">
+        <j:choose>
+          <j:when test="${attr.name == 'href'}">
+            <j:set var="href" value="${attr.value}" />
+            <j:choose>                 
+              <j:when test="${href.startsWith('#')}">
+              	<x:attribute name="href">
+              	  <doc:escapeNameToken value="${href}"/>
+              	</x:attribute>
+              </j:when>
+              <j:when test="${href.startsWith('http://')}">
+                <x:attribute name="href">${href}</x:attribute>
+              	<x:attribute name="class">externalLink</x:attribute>
+              	<x:attribute name="title">External Link</x:attribute>
+              </j:when>                  
+              <j:otherwise>
+                <x:attribute name="href">${href}</x:attribute>
+              </j:otherwise>
+            </j:choose>
+          </j:when>
+          <j:when test="${attr.name == 'target'}">
+            <j:set var="target">${attr.value}</j:set>
+            <j:if test="${!empty(target) and target.equals('_blank')}">
+              <x:attribute name="class">newWindow</x:attribute>
+              <x:attribute name="title">New Window</x:attribute>
+            </j:if>              
+            <x:attribute name="target">${target}</x:attribute>
+          </j:when>
+          <j:when test="${attr.name == 'name'}">
+            <x:attribute name="name">
+              <doc:escapeNameToken value="${attr.value}"/>
+            </x:attribute>
+          </j:when>
+          <j:otherwise>
+            <x:attribute name="${attr.name}">${attr.value}</x:attribute>
+          </j:otherwise>
+        </j:choose>
+      </x:forEach>
+      <jsl:applyTemplates/>
+    </x:element>
+  </jsl:template>
+   
+  <!-- copy any other elements through -->
+  <jsl:template match="*" trim="false"><jsl:copy trim="false"><jsl:applyTemplates trim="false"/></jsl:copy></jsl:template>
+   
+  <!-- element values don't pass through as text -->
+  <jsl:template match="@*"/>
+
+  <!-- CDATA and text nodes pass-thru -->
+  <jsl:template match="text()"><x:expr select="."/></jsl:template>
+
+</jsl:stylesheet>

Added: db/jdo/site/docs/specifications.html
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/specifications.html?rev=581219&view=auto
==============================================================================
--- db/jdo/site/docs/specifications.html (added)
+++ db/jdo/site/docs/specifications.html Tue Oct  2 06:01:19 2007
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Java Data Objects (JDO) - Specifications</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+			    @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="JDO Documentation Team"></meta><meta name="email" content="jdo-dev@db.apache.org"></meta></head><body class="composite"><div id="banner"><a href="http://db.apache.org/jdo" id="projectLogo"><img alt="Java Data Objects (JDO)" src="./images/JDOx120.gif"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuGeneral"><h5>General</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="downloads.html">Downloads</a></li><li class="none"><a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="External Link">License</a></li></ul></div><br></br><div id="m
 enuDocumentation"><h5>Documentation</h5><ul><li class="none"><strong><a href="specifications.html">Specifications</a></strong></li><li class="none"><a href="why_jdo.html">Why JDO?</a></li><li class="none"><a href="jdo_v_jpa.html">JDO v JPA</a></li><li class="none"><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li><li class="none"><a href="enhancement.html">Bytecode Enhancement</a></li><li class="none"><a href="glossary.html">Glossary</a></li><li class="none"><a href="jdohelper.html">JDOHelper</a></li><li class="none"><a href="exceptions.html">Exceptions</a></li><li class="none"><a href="javadoc.html">API Javadoc</a></li><li class="none"><a href="tck.html">TCK</a></li><li class="none"><a href="jdo_dtd.html">jdo DTD/XSD</a></li><li class="none"><a href="orm_dtd.html">orm DTD/XSD</a></li><li class="none"><a href="jdoquery_dtd.html">jdoquery DTD/XSD</a></li></ul></div><br></br><div id="menuTutorials"><h5>Tutorials</h5><ul><li class="none"><a href="tutorials/replication.html">
 Datastore Replication</a></li></ul></div><br></br><div id="menuCommunity"><h5>Community</h5><ul><li class="none"><a href="get-involved.html">Get Involved</a></li><li class="none"><a href="team-list.html">Project Team</a></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="documentation.html">Documentation</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="http://wiki.apache.org/jdo" class="externalLink" title="External Link">Wiki</a></li><li class="none"><a href="impls.html">Implementations</a></li></ul></div><br></br><div id="menuDevelopment"><h5>Development</h5><ul><li class="none"><a href="roadmap.html">RoadMap / TODO</a></li><li class="none"><a href="svn.html">Source Code</a></li><li class="none"><a href="http://cwiki.apache.org/GMOxDEV/coding-standards.html" class="externalLink" title="External Link">Coding Standards</a></li><li class="none"><a href="issuetracking.html">Issue Tracking</a></li><li 
 class="none"><a href="dependencies.html">Dependencies</a></li></ul></div><br></br></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="JDO_Specifications"></a><h2>JDO Specifications</h2><p>
+            The following specifications for JDO are available
+        </p><ul>
+            <li>The <a href="http://www.jcp.org/en/jsr/detail?id=12" class="externalLink" title="External Link">JDO 1.0 Specification (Final)</a></li>
+            <li>The <a href="http://www.jcp.org/en/jsr/detail?id=243" class="externalLink" title="External Link">JDO 2.0 Specification (Final)</a></li>
+            <li>The <a href="releases/jdo_2.1_2007-08-02.pdf"><i>JDO 2.1 Specification (Draft)</i></a>
+                is a snapshot of the current specification under development.
+                It has not been released. Additions and changes are underway.
+                Send comments to
+                <a href="mailto:jdo-experts-ext@sun.com">jdo-experts-ext@sun.com</a>.
+            </li>
+        </ul></div></div></div><div class="clear"><hr></hr></div><table border="0" width="100%" cellpadding="0" cellspacing="0"><tr><td width="100%"><img height="1" border="0" width="100%" src="./images/header_line.gif"></img></td></tr></table><div id="footer"><div class="xleft">
+                Documentation published: 02 October 2007<br></br>
+                  © 2005-2007 <a href="http://www.apache.org/">Apache Software Foundation</a></div></div></body></html>
\ No newline at end of file

Added: db/jdo/site/docs/style/maven-base.css
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/style/maven-base.css?rev=581219&view=auto
==============================================================================
--- db/jdo/site/docs/style/maven-base.css (added)
+++ db/jdo/site/docs/style/maven-base.css Tue Oct  2 06:01:19 2007
@@ -0,0 +1,142 @@
+body {
+  margin: 0px;
+  padding: 0px 0px 10px 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#projectLogo {
+  font-size: large; 
+  font-weight: bold;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#projectLogo span{
+    border: 1px solid;
+    padding: 4px 10px 4px 10px;
+    background-color: #eee;
+    cursor: pointer;
+}
+.xleft, #organizationLogo img{
+  float:left;
+} 
+.xright, #projectLogo img, #projectLogo span{
+  float:right;
+  text-shadow: #7CFC00;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+#banner img {
+  border: none;
+}
+#footer, #breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 220px;
+ float:left;
+}
+#bodyColumn {
+  margin-left: 230px;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5, #navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: ouside;
+  line-height: 1.2em;
+  font-size: small;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+  border: 1px solid black;
+  width: 90px;
+  height: 30px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}

Added: db/jdo/site/docs/style/maven-classic.css
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/style/maven-classic.css?rev=581219&view=auto
==============================================================================
--- db/jdo/site/docs/style/maven-classic.css (added)
+++ db/jdo/site/docs/style/maven-classic.css Tue Oct  2 06:01:19 2007
@@ -0,0 +1,866 @@
+body {
+ background: white;
+ color: black;
+ }
+
+.contentBox h2 {
+ color: #fff;
+ background-color: #036;
+ }
+
+.contentBox h3 {
+ color: #fff;
+ background-color: #888;
+ }
+
+.a td { 
+ background: #ddd;
+ color: #000;
+ }
+
+.b td { 
+ background: #efefef;
+ color: #000;
+ }
+
+.contentBox th {
+ background-color: #bbb;
+ color: #fff;
+ }
+
+div#banner {
+ border-top: 1px solid #369;
+ border-bottom: 1px solid #003;
+ }
+
+#banner, #banner td { 
+ background: #0000BB;
+ color: #fff;
+ }
+
+#leftColumn {
+ background: #eee;
+ color: #000;
+ border-right: 1px solid #aaa;
+ border-bottom: 1px solid #aaa;
+ border-top: 1px solid #fff;
+}
+
+#navcolumn {
+/* bad for IE
+ background: #eee;
+*/
+ color: #000;
+ border-right: none;
+ border-bottom: none;
+ border-top: none;
+ }
+
+#breadcrumbs {
+ background-color: #ddd;
+ color: #000;
+ border-top: 1px solid #fff;
+ border-bottom: 1px solid #aaa;
+ }
+
+.source {
+ background-color: #fff;
+ color: #000;
+ border-right: 1px solid #888; 
+ border-left: 1px solid #888; 
+ border-top: 1px solid #888; 
+ border-bottom: 1px solid #888; 
+ margin-right: 7px;
+ margin-left: 7px;
+ margin-top: 1em;
+ }
+
+.source pre {
+ margin-right: 7px;
+ margin-left: 7px;
+ }
+
+a[name]:hover, #leftColumn a[name]:hover {
+ color: inherit !important;
+ }
+
+a:link, #breadcrumbs a:visited, #navcolumn a:visited, .contentBox a:visited, .tasknav a:visited {
+ color: blue;
+ }
+
+a:active, a:hover, #leftColumn a:active, #leftColumn a:hover {
+ color: #f30 !important;
+ }
+
+a:link.selfref, a:visited.selfref {
+ color: #555 !important;
+ }
+
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external-classic.png) right center no-repeat;
+  padding-right: 15px;
+}
+
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow-classic.png) right center no-repeat;
+  padding-right: 18px;
+}
+
+h2, h3 {
+ margin-top: 1em;
+ margin-bottom: 0;
+ }
+
+img.handle {
+ border: 0;
+ padding-right: 2px;
+}
+
+#navcolumn div div  {
+ background-image: none;
+ background-repeat: no-repeat;
+}
+
+#navcolumn div div {
+  padding-left: 10px;
+}
+/* $Id: maven-classic.css,v 1.3 2004/05/18 09:23:28 aheritier Exp $
+	
+	This file defines basic default formatting for HTML conforming to Tigris application style. To extend or override these rules for your instance, edit inst.css instead of this file. */
+
+/* colors, backgrounds, borders, link indication */
+.contentBox h2, .contentBox h3, .tabs td, .tabs th, .functnbar {
+	background-image: url(../images/nw_maj_rond.gif);
+	background-repeat: no-repeat;
+}
+
+.functnbar, .functnbar2 {
+	background-color: #aaa;
+}
+
+.functnbar2, .functnbar3 {
+	background-color: #aaa;
+	background-image: url(../images/sw_maj_rond.gif);
+	background-repeat: no-repeat;
+	background-position: bottom left;
+}
+
+.functnbar3 {
+	background-color: #ddd;
+	background-image: url(../images/sw_med_rond.gif);
+}
+
+.functnbar, .functnbar2, .functnbar3 {
+	color: #000;
+}
+
+.functnbar a, .functnbar2 a, .functnbar3 a {
+	color: #000;
+	text-decoration: underline;
+}
+
+#navcolumn .body div, body.docs #toc li li {
+	background-image: url(../images/strich.gif);
+	background-repeat: no-repeat;
+	background-position: .5em .5em;
+}
+
+#searchbox .body div, #navcolumn .body .heading {
+	background-image: none;
+}
+
+a:link.selfref, a:visited.selfref {
+	text-decoration: none;
+}
+
+#leftColumn a, #breadcrumbs a {
+	text-decoration: none;
+}
+
+/* Unsure of this. TODO */
+.contentBox h2 a:link, .contentBox h2 a:visited, .contentBox h3 a:link, .contentBox h3 a:visited {
+	color: #fff !important;
+	text-decoration: underline;
+}
+
+table, th, td {
+	border: none;
+}
+
+div.colbar {
+	background: #eee;
+	border-color: #999 #EEE #EEE #999;
+	border-width: 1px;
+	border-style: solid;
+}
+
+.toolgroup {
+	background: #efefef;
+}
+
+.toolgroup .label {
+	border-bottom: 1px solid #666;
+	border-right: 1px solid #666;
+	background: #ddd;
+	color: #555;
+}
+
+.toolgroup .body {
+	border-right: 1px solid #aaa;
+	border-bottom: 1px solid #aaa;
+}
+
+#main {
+	border-top: 1px solid #999;
+}
+
+#rightcol div.www, #rightcol div.help {
+	border: 1px solid #ddd;
+}
+
+body.docs div.docs {
+	background-color: #fff;
+	border-left: 1px solid #ddd;
+	border-top: 1px solid #ddd;
+}
+
+#helptext .label {
+	background-image: url(../images/icon_help_sml.gif);
+	background-repeat: no-repeat;
+	background-position: 97%;
+}
+
+body.docs {
+	background: #eee url(../images/help_logo.gif) top right no-repeat !important;
+}
+
+.docs h2, .docs h3 {
+	border-top: solid 1px #000;
+}
+
+#apphead h2 em {
+	color: #777;
+}
+
+.tabs th {
+	border-right: 1px solid #333;
+	background-color: #ddd;
+	color: #fff;
+	border-left: 1px solid #fff;
+}
+
+.tabs td {
+	background-color: #999;
+	border-bottom: 1px solid #fff;
+	border-right: 1px solid #fff;
+	border-left: 1px solid #fff;
+}
+
+.tabs {
+	border-bottom: 6px #ddd solid;
+}
+
+.tabs th, .tabs th a:link, .tabs th a:visited {
+	color: #555;
+}
+
+.tabs td, .tabs td a:link, .tabs td a:visited {
+	color: #fff;
+}
+
+.tabs a {
+	text-decoration: none;
+}
+
+.axial th {
+	background-color: #ddd;
+	color: black;
+}
+
+.alert {
+	background-color: #ff9;
+}
+
+.expandedwaste {
+	background: url(../images/icon_arrowwaste2_sml.gif) no-repeat;
+}
+
+.collapsedwaste {
+	background: url(../images/icon_arrowwaste1_sml.gif) no-repeat;
+}
+
+.filebrowse .expanded, .filebrowse-alt .expanded {
+	background-image: url(../images/icon_arrowfolderopen2_sml.gif);
+	background-repeat: no-repeat;
+}
+
+.filebrowse .collapsed, .filebrowse-alt .collapsed {
+	background-image: url(../images/icon_arrowfolderclosed1_sml.gif);
+	background-repeat: no-repeat;
+}
+
+.filebrowse .leafnode, .filebrowse-alt .leafnode {
+	background-image: url(../images/icon_folder_sml.gif);
+	background-repeat: no-repeat;
+}
+
+.filebrowse .leaf, .filebrowse-alt .leaf {
+	background-image: url(../images/icon_doc_sml.gif);
+	background-repeat: no-repeat;
+}
+
+.sortup {
+	background: url(../images/icon_sortup.gif) no-repeat;
+}
+
+.sortdown {
+	background: url(../images/icon_sortdown.gif) no-repeat;
+}
+
+.collapsedwaste {
+	background: url(../images/icon_arrowwaste1_sml.gif) no-repeat;
+}
+
+body .grid td {
+	border-top: 1px solid #ccc;
+	border-left: 1px solid #ccc;
+	background-color: transparent;
+}
+
+.confirm {
+	color: #090;
+}
+
+.info {
+	color: #069;
+}
+
+.errormessage, .warningmessage, .donemessage, .infomessage {
+	border-top: 5px solid #900;
+	border-left: 1px solid #900;
+	background-image: url(../images/icon_error_lrg.gif);
+	background-repeat: no-repeat;
+	background-position: 5px 1.33em;
+}
+
+.warningmessage {
+	background-image: url(../images/icon_warning_lrg.gif);
+	border-color: #c60;
+}
+
+.donemessage {
+	background-image: url(../images/icon_success_lrg.gif);
+	border-color: #090;
+}
+
+.infomessage {
+	background-image: url(../images/icon_info_lrg.gif);
+	border-color: #069;
+}
+
+.docinfo {
+	background: url(../images/icon_doc_lrg.gif) no-repeat;
+}
+
+.dirinfo {
+	background: url(../images/icon_folder_lrg.gif) no-repeat;
+}
+
+.memberinfo {
+	background: url(../images/icon_members_lrg.gif) no-repeat;
+}
+
+.usergroupinfo {
+	background: url(../images/icon_usergroups_lrg.gif) no-repeat;
+}
+
+.errormark, .warningmark, .donemark, .infomark {
+	background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+	background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+	background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+	background-image: url(../images/icon_info_sml.gif);
+}
+
+.cvsdiff, .cvsblame {
+	background-color: #ccc;
+}
+
+.cvsdiffadd {
+	background-color: #afa;
+}
+
+.cvsdiffremove {
+	background-color: #faa;
+}
+
+.cvsdiffchanges1 {
+	background-color: #ff7;
+}
+
+.cvsdiffchanges2 {
+	background-color: #ff7;
+}
+
+li.selection ul a {
+	background: #fff;
+}
+
+.band1 {
+	color: #fff;
+	background-color: #663;
+}
+
+.band2 {
+	color: #fff;
+	background-color: #66C;
+}
+
+.band3 {
+	background-color: #C99;
+}
+
+.band4 {
+	background-color: #CFF;
+}
+
+.band5 {
+	color: #fff;
+	background-color: #336;
+}
+
+.band6 {
+	color: #fff;
+	background-color: #966;
+}
+
+.band7 {
+	background-color: #9CC;
+}
+
+.band8 {
+	background-color: #FFC;
+}
+
+.band9 {
+	color: #fff;
+	background-color: #633;
+}
+
+.band10 {
+	color: #fff;
+	background-color: #699;
+}
+
+.band11 {
+	background-color: #CC9;
+}
+
+.band12 {
+	background-color: #CCF;
+}
+
+.band13 {
+	color: #fff;
+	background-color: #366;
+}
+
+.band14 {
+	color: #fff;
+	background-color: #996;
+}
+
+.band15 {
+	background-color: #99C;
+}
+
+.band16 {
+	background-color: #FCC;
+}
+
+.contentBox .helplink, #helptext .helplink {
+	cursor: help;
+}
+
+.legend th, .bars th {
+	background-color: #fff;
+}
+
+/* font and text properties, exclusive of link indication, alignment, text-indent */
+body, th, td, input, select {
+	font-family: Verdana, Helvetica, Arial, sans-serif;
+}
+
+code, pre {
+	font-family: 'Andale Mono', Courier, monospace;
+}
+
+body, .contentBox h2, .contentBox h3, #rightcol h2, pre, code, #apphead h2 small, h3, th, td {
+	font-size: x-small;
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	font-size: small;
+}
+
+small, div#footer, div#login, div.tabs th, div.tabs td, input, select, .paginate, .functnbar, .functnbar2, .functnbar3, #breadcrumbs, .courtesylinks, #rightcol div.help, .colbar, .tasknav, body.docs div#toc, #leftColumn, .legend, .bars {
+	font-size: xx-small;
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	font-size: x-small;
+}
+
+.tabs td, .tabs th, dt, .tasknav .selfref, #login .username, .selection {
+	font-weight: bold;
+}
+
+li.selection ul {
+	font-weight: normal;
+}
+
+#apphead h2 em {
+	font-style: normal;
+}
+
+#banner h1 {
+	font-size: 1.25em;
+}
+
+/* box properties (exclusive of borders), positioning, alignments, list types, text-indent */
+#bodyColumn h2 {
+	margin-top: .3em;
+	margin-bottom: .5em;
+}
+
+p, ul, ol, dl, .bars table {
+	margin-top: .67em;
+	margin-bottom: .67em;
+}
+
+form {
+	margin: 0;
+}
+
+#bodyColumn {
+	padding-left: 12px;
+	padding-right: 12px;
+	width: 100%;
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	width: auto;
+}
+
+html>body #bodyColumn {
+	width: auto;
+}
+
+.docs {
+	line-height: 1.4;
+}
+
+ol ol {
+	list-style-type: lower-alpha;
+}
+
+ol ol ol {
+	list-style-type: lower-roman;
+}
+
+.contentBox h2, .contentBox h3 {
+	padding: 5px;
+	margin-right: 2px;
+}
+
+.contentBox td, .contentBox th {
+	padding: 2px 3px;
+}
+
+.h2 p, .h3 p, .h2 dt, .h3 dt {
+	margin-right: 7px;
+	margin-left: 7px;
+}
+
+.tasknav {
+	margin-bottom: 1.33em;
+}
+
+div.colbar {
+	padding: 3px;
+	margin: 2px 2px 0;
+}
+
+.tabs {
+	margin-top: .67em;
+	margin-right: 2px;
+	margin-left: 2px;
+	padding-left: 8px;
+}
+
+.tabs td, .tabs th {
+	padding: 3px 9px;
+}
+
+#rightcol div.www, #rightcol div.help {
+	padding: 0 .5em;
+}
+
+body.docs #toc {
+	position: absolute;
+	top: 15px;
+	left: 0px;
+	width: 120px;
+	padding: 0 20px 0 0;
+}
+
+body.docs #toc ul, #toc ol {
+	margin-left: 0;
+	padding-left: 0;
+}
+
+body.docs #toc li {
+	margin-top: 7px;
+	padding-left: 10px;
+	list-style-type: none;
+}
+
+body.docs div.docs {
+	margin: 61px 0 0 150px;
+	padding: 1em 2em 1em 1em !important;
+}
+
+.docs p+p {
+	text-indent: 5%;
+	margin-top: -.67em;
+}
+
+.docs h2, .docs h3 {
+	margin-bottom: .1em;
+	padding-top: .3em;
+}
+
+.functnbar, .functnbar2, .functnbar3 {
+	padding: 5px;
+	margin: .67em 2px;
+}
+
+.functnbar3 {
+	margin-top: 0;
+}
+
+body {
+	padding: 1em;
+}
+
+body.composite, body.docs {
+	margin: 0;
+	padding: 0;
+}
+
+th, td {
+	text-align: left;
+	vertical-align: top;
+}
+
+.right {
+	text-align: right !important;
+}
+
+.center {
+	text-align: center !important;
+}
+
+.axial th, .axial th .strut {
+	text-align: right;
+}
+
+.contentBox .axial td th {
+	text-align: left;
+}
+
+body .stb {
+	margin-top: 1em;
+	text-indent: 0;
+}
+
+body .mtb {
+	margin-top: 2em;
+	text-indent: 0;
+}
+
+.courtesylinks {
+	margin-top: 1em;
+	padding-top: 1em;
+}
+
+dd {
+	margin-bottom: .67em;
+}
+
+.toolgroup {
+	margin-bottom: 6px;
+}
+
+.toolgroup .body {
+	padding: 4px 4px 4px 0;
+}
+
+.toolgroup .label {
+	padding: 4px;
+}
+
+.toolgroup .body div {
+	padding-bottom: .3em;
+	padding-left: 1em;
+}
+
+.toolgroup .body div div {
+	margin-top: .3em;
+	padding-bottom: 0;
+}
+
+.tier1 {
+	margin-left: 0;
+}
+
+.tier2 {
+	margin-left: 1.5em;
+}
+
+.tier3 {
+	margin-left: 3em;
+}
+
+.tier4 {
+	margin-left: 4.5em;
+}
+
+.tier5 {
+	margin-left: 6em;
+}
+
+.tier6 {
+	margin-left: 7.5em;
+}
+
+.tier7 {
+	margin-left: 9em;
+}
+
+.tier8 {
+	margin-left: 10.5em;
+}
+
+.tier9 {
+	margin-left: 12em;
+}
+
+.tier10 {
+	margin-left: 13.5em;
+}
+
+.filebrowse .expanded, .filebrowse .collapsed {
+	padding-left: 34px;
+}
+
+.filebrowse .leafnode, .filebrowse .leaf {
+	padding-left: 20px;
+}
+
+.messagechild {
+	padding-left: 34px;
+}
+
+.filebrowse-alt .expanded, .filebrowse-alt .collapsed, .filebrowse-alt .leaf, .filebrowse-alt .leafnode, .expandedwaste, .collapsedwaste, .sortup, .sortdown {
+	/* hide from macie5\*/
+	float: left;
+	/* resume */
+	display: inline-block;
+	height: 15px;
+	width: 34px;
+	padding-left: 0 !important;
+}
+
+.filebrowse-alt .leaf, .filebrowse-alt .leafnode, .sortup, .sortdown {
+	width: 20px;
+}
+
+.filebrowse ul, .filebrowse-alt ul {
+	list-style-type: none;
+	padding-left: 0;
+	margin-left: 0;
+}
+
+.filebrowse ul ul, .filebrowse-alt ul ul {
+	margin-left: 1.5em;
+	margin-top: 0;
+	padding-top: .67em;
+}
+
+.filebrowse li, .filebrowse-alt li {
+	margin-bottom: .67em;
+}
+
+td.filebrowse h2 {
+	margin-top: 0;
+}
+
+.errormessage, .warningmessage, .donemessage, .infomessage, .docinfo, .dirinfo, .memberinfo, .usergroupinfo {
+	margin: .67em 0;
+	padding: .33em 0 .67em 42px;
+	min-height: 32px;
+}
+
+.errormark, .warningmark, .donemark, .infomark {
+	padding-left: 20px;
+	min-height: 15px;
+}
+
+.alt {
+	display: none;
+}
+
+#banner h1 {
+	margin: 0;
+}
+
+.axial th, .axial th .strut, #leftColumn .strut {
+	width: 12em;
+}
+
+#breadcrumbs {
+	padding: 2px 8px;
+}
+
+/* Bad for IE
+.contentBox h2, .contentBox h3, .bars {
+	clear: both;
+}
+*/
+
+.legend {
+	float: right;
+}
+
+.legend th, .bars th {
+	text-align: right;
+	padding-left: 1em;
+}
+
+.bars table {
+	table-layout: fixed;
+}
+
+.bars th {
+	width: 12em;
+}
+
+#projectdocumentlist td.filebrowse-alt {
+	padding-right: .75em;
+}

Added: db/jdo/site/docs/style/maven-theme.css
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/style/maven-theme.css?rev=581219&view=auto
==============================================================================
--- db/jdo/site/docs/style/maven-theme.css (added)
+++ db/jdo/site/docs/style/maven-theme.css Tue Oct  2 06:01:19 2007
@@ -0,0 +1,82 @@
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 15px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: medium;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}

Added: db/jdo/site/docs/style/print.css
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/style/print.css?rev=581219&view=auto
==============================================================================
--- db/jdo/site/docs/style/print.css (added)
+++ db/jdo/site/docs/style/print.css Tue Oct  2 06:01:19 2007
@@ -0,0 +1,7 @@
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}

Added: db/jdo/site/docs/tutorials/replication.html
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/tutorials/replication.html?rev=581219&view=auto
==============================================================================
--- db/jdo/site/docs/tutorials/replication.html (added)
+++ db/jdo/site/docs/tutorials/replication.html Tue Oct  2 06:01:19 2007
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Java Data Objects (JDO) - Tutorial : Datastore Replication</title><style type="text/css" media="all">
+          @import url("../style/maven-base.css");
+          
+			    @import url("../style/maven-theme.css");</style><link rel="stylesheet" href="../style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://db.apache.org/jdo" id="projectLogo"><img alt="Java Data Objects (JDO)" src="../images/JDOx120.gif"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuGeneral"><h5>General</h5><ul><li class="none"><a href="../index.html">Home</a></li><li class="none"><a href="../downloads.html">Downloads</a></li><li class="none"><a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="External Link">License</a></li></ul></div><br></br><div id="menuDocumentation"><h5>Documentation</h5><ul><li class="none"><a href="../specifications.html">Specifications<
 /a></li><li class="none"><a href="../why_jdo.html">Why JDO?</a></li><li class="none"><a href="../jdo_v_jpa.html">JDO v JPA</a></li><li class="none"><a href="../jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li><li class="none"><a href="../enhancement.html">Bytecode Enhancement</a></li><li class="none"><a href="../glossary.html">Glossary</a></li><li class="none"><a href="../jdohelper.html">JDOHelper</a></li><li class="none"><a href="../exceptions.html">Exceptions</a></li><li class="none"><a href="../javadoc.html">API Javadoc</a></li><li class="none"><a href="../tck.html">TCK</a></li><li class="none"><a href="../jdo_dtd.html">jdo DTD/XSD</a></li><li class="none"><a href="../orm_dtd.html">orm DTD/XSD</a></li><li class="none"><a href="../jdoquery_dtd.html">jdoquery DTD/XSD</a></li></ul></div><br></br><div id="menuTutorials"><h5>Tutorials</h5><ul><li class="none"><strong><a href="../tutorials/replication.html">Datastore Replication</a></strong></li></ul></div><br></br><div id="menuComm
 unity"><h5>Community</h5><ul><li class="none"><a href="../get-involved.html">Get Involved</a></li><li class="none"><a href="../team-list.html">Project Team</a></li><li class="none"><a href="../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../documentation.html">Documentation</a></li><li class="none"><a href="../faq.html">FAQ</a></li><li class="none"><a href="http://wiki.apache.org/jdo" class="externalLink" title="External Link">Wiki</a></li><li class="none"><a href="../impls.html">Implementations</a></li></ul></div><br></br><div id="menuDevelopment"><h5>Development</h5><ul><li class="none"><a href="../roadmap.html">RoadMap / TODO</a></li><li class="none"><a href="../svn.html">Source Code</a></li><li class="none"><a href="http://cwiki.apache.org/GMOxDEV/coding-standards.html" class="externalLink" title="External Link">Coding Standards</a></li><li class="none"><a href="../issuetracking.html">Issue Tracking</a></li><li class="none"><a href="../dependencies.ht
 ml">Dependencies</a></li></ul></div><br></br></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="Data_Replication"></a><h2>Data Replication</h2><p>
+                There are times when you need to replicate data between datastores. In many cases datastores themselves provide a means of doing this, however if you want to avoid using datastore-specific functionality you can utilise JDO to perform this task.
+                JDO2 allows replication by use of detach/attach functionality.
+                We demonstrate this with an example
+            </p>
+    <div class="source"><pre>
+public class ElementHolder
+{
+    long id;
+    private Set elements = new HashSet();
+
+    ...
+}
+
+public class Element
+{
+    String name;
+
+    ...
+}
+
+public class SubElement extends Element
+{
+    double value;
+
+    ...
+}</pre></div>
+  <p>
+                so we have a 1-N unidirectional (Set) relation, and we define the metadata like this
+            </p>
+    <div class="source"><pre>
+&lt;jdo&gt;
+    &lt;package name="org.apache.jdo.test"&gt;
+        &lt;class name="ElementHolder" identity-type="application" detachable="true"&gt;
+            &lt;inheritance strategy="new-table"/&gt;
+            &lt;field name="id" primary-key="true"/&gt;
+            &lt;field name="elements" persistence-modifier="persistent"&gt;
+                &lt;collection element-type="Element"/&gt;
+                &lt;join/&gt;
+            &lt;/field&gt;
+        &lt;/class&gt;
+
+        &lt;class name="Element" identity-type="application" detachable="true"&gt;
+            &lt;inheritance strategy="new-table"/&gt;
+            &lt;field name="name" primary-key="true"/&gt;
+        &lt;/class&gt;
+
+        &lt;class name="SubElement"&gt;
+            &lt;inheritance strategy="new-table"/&gt;
+            &lt;field name="value"/&gt; 
+        &lt;/class&gt;
+    &lt;/package&gt;
+&lt;/jdo&gt;</pre></div>
+  <p>
+                and so in our application we create some objects in <i>datastore1</i>, like this
+            </p>
+    <div class="source"><pre>
+PersistenceManagerFactory pmf1 = JDOHelper.getPersistenceManagerFactory("jdo.1.properties");
+PersistenceManager pm1 = pmf1.getPersistenceManager();
+Transaction tx1 = pm1.currentTransaction();
+Object holderId = null;
+try
+{
+    tx1.begin();
+
+    ElementHolder holder = new ElementHolder(101);
+    holder.addElement(new Element("First Element"));
+    holder.addElement(new Element("Second Element"));
+    holder.addElement(new SubElement("First Inherited Element"));
+    holder.addElement(new SubElement("Second Inherited Element"));
+    pm1.makePersistent(holder);
+
+    tx1.commit();
+    holderId = JDOHelper.getObjectId(holder);
+}
+finally
+{
+    if (tx1.isActive())
+    {
+        tx1.rollback();
+    }
+    pm1.close();
+}</pre></div>
+  <p>
+                and now we want to replicate these objects into <i>datastore2</i>, so we detach them from <i>datastore1</i>
+                and attach them to <i>datastore2</i>, like this
+            </p>
+    <div class="source"><pre>
+// Detach the objects from "datastore1"
+ElementHolder detachedHolder = null;
+pm1 = pmf1.getPersistenceManager();
+tx1 = pm1.currentTransaction();
+try
+{
+    pm1.getFetchPlan().setGroups(new String[] {FetchPlan.DEFAULT, FetchPlan.ALL});
+    pm1.getFetchPlan().setMaxFetchDepth(-1);
+
+    tx1.begin();
+
+    ElementHolder holder = (ElementHolder) pm1.getObjectById(holderID);
+    detachedHolder = (ElementHolder) pm1.detachCopy(holder);
+
+    tx1.commit();
+}
+finally
+{
+    if (tx1.isActive())
+    {
+        tx1.rollback();
+    }
+    pm1.close();
+}
+
+// Attach the objects to datastore2
+PersistenceManagerFactory pmf2 = JDOHelper.getPersistenceManagerFactory("jdo.2.properties");
+PersistenceManager pm2 = pmf2.getPersistenceManager();
+Transaction tx2 = pm2.currentTransaction();
+try
+{
+    tx2.begin();
+
+    pm2.makePersistent(detachedHolder);
+
+    tx2.commit();
+}
+finally
+{
+    if (tx2.isActive())
+    {
+        tx2.rollback();
+    }
+    pm2.close();
+}</pre></div>
+  <p>
+                These objects are now replicated into <i>datastore2</i>.
+                Clearly you can extend this basic idea and replicate large amounts of data.
+            </p></div></div></div><div class="clear"><hr></hr></div><table border="0" width="100%" cellpadding="0" cellspacing="0"><tr><td width="100%"><img height="1" border="0" width="100%" src="../images/header_line.gif"></img></td></tr></table><div id="footer"><div class="xleft">
+                Documentation published: 02 October 2007<br></br>
+                  © 2005-2007 <a href="http://www.apache.org/">Apache Software Foundation</a></div></div></body></html>
\ No newline at end of file

Added: db/jdo/site/docs/why_jdo.html
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/why_jdo.html?rev=581219&view=auto
==============================================================================
--- db/jdo/site/docs/why_jdo.html (added)
+++ db/jdo/site/docs/why_jdo.html Tue Oct  2 06:01:19 2007
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Java Data Objects (JDO) - Why JDO ?</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+			    @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://db.apache.org/jdo" id="projectLogo"><img alt="Java Data Objects (JDO)" src="./images/JDOx120.gif"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuGeneral"><h5>General</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="downloads.html">Downloads</a></li><li class="none"><a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="External Link">License</a></li></ul></div><br></br><div id="menuDocumentation"><h5>Documentation</h5><ul><li class="none"><a href="specifications.html">Specifications</a></li><li 
 class="none"><strong><a href="why_jdo.html">Why JDO?</a></strong></li><li class="none"><a href="jdo_v_jpa.html">JDO v JPA</a></li><li class="none"><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li><li class="none"><a href="enhancement.html">Bytecode Enhancement</a></li><li class="none"><a href="glossary.html">Glossary</a></li><li class="none"><a href="jdohelper.html">JDOHelper</a></li><li class="none"><a href="exceptions.html">Exceptions</a></li><li class="none"><a href="javadoc.html">API Javadoc</a></li><li class="none"><a href="tck.html">TCK</a></li><li class="none"><a href="jdo_dtd.html">jdo DTD/XSD</a></li><li class="none"><a href="orm_dtd.html">orm DTD/XSD</a></li><li class="none"><a href="jdoquery_dtd.html">jdoquery DTD/XSD</a></li></ul></div><br></br><div id="menuTutorials"><h5>Tutorials</h5><ul><li class="none"><a href="tutorials/replication.html">Datastore Replication</a></li></ul></div><br></br><div id="menuCommunity"><h5>Community</h5><ul><li class="none"><a hr
 ef="get-involved.html">Get Involved</a></li><li class="none"><a href="team-list.html">Project Team</a></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="documentation.html">Documentation</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="http://wiki.apache.org/jdo" class="externalLink" title="External Link">Wiki</a></li><li class="none"><a href="impls.html">Implementations</a></li></ul></div><br></br><div id="menuDevelopment"><h5>Development</h5><ul><li class="none"><a href="roadmap.html">RoadMap / TODO</a></li><li class="none"><a href="svn.html">Source Code</a></li><li class="none"><a href="http://cwiki.apache.org/GMOxDEV/coding-standards.html" class="externalLink" title="External Link">Coding Standards</a></li><li class="none"><a href="issuetracking.html">Issue Tracking</a></li><li class="none"><a href="dependencies.html">Dependencies</a></li></ul></div><br></br></div></div><div id="bodyColumn"><di
 v class="contentBox"><div class="section"><a name="Why_JDO__"></a><h2>Why JDO ?</h2><p>
+                The majority of applications need to persist (or store) data during their lifecycle. There are many ways of doing 
+                this with an application written in Java. 
+            </p><p>
+                You can handle the persistence (and retrieval) of data yourself using <B>JDBC</B>. With <B>JDBC</B>, you have the burden
+                of having to write the persistence layer yourself. This gives much control, but also creates significant work, both in 
+                writing the code but also in testing and maintenance.
+            </p><p>
+                You could also use <B>J2EE</B>, and persist data using Entity Beans. With <B>J2EE</B> you hand off the persistence of 
+                your objects to the EJB part of the J2EE server. This simplifies things, but places a major restriction on your code 
+                in that you have to write your objects as Entity Beans. In addition J2EE adds layers that are not necessarily required 
+                for your application.
+            </p><p>
+                You can use a proprietary or non-standards compliant persistence framework like <B>TopLink</B>, or <B>Hibernate</B> and 
+                persist your plain old Java objects. You will, however, be tied in to their API and be unable to easily move your system 
+                to an alternative implementation.
+            </p><p>
+                Alternatively you can use <B>JDO</B>, a standardised persistence interface. With <B>JDO</B> you can take your plain 
+                old Java objects and just persist them as they are. It is totally transparent and very little work is required by 
+                the developer.
+            </p><p>
+                To give a <I>guide</I>, here are a few important consideration points when choosing a persistence layer for your application.
+            </p><table class="bodyTable"><tr class="b"><th>Feature</th><th>JDBC</th><th>Custom O/R (1)</th><th>EJB (2)</th><th>JDO</th><th>JPA</th></tr><tr class="a"><td>Standards-Driven and Portable</td><td>Yes</td><td>No</td><td>Yes</td><td>Yes</td><td>Yes</td></tr><tr class="b"><td>Choice of datastores</td><td>No</td><td>Yes</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr class="a"><td>Simple Java objects</td><td>Yes</td><td>Yes</td><td>No</td><td>Yes</td><td>Yes</td></tr><tr class="b"><td>Out of box implementation (3)</td><td>No</td><td>Yes</td><td>No</td><td>Yes</td><td>Yes</td></tr><tr class="a"><td>Usable in stand-alone application</td><td>Yes</td><td>Yes</td><td>No</td><td>Yes</td><td>Yes</td></tr><tr class="b"><td>Usable in J2EE environment</td><td>Yes</td><td>Yes</td><td>Yes</td><td>Yes</td><td>Yes</td></tr><tr class="a"><td>Simple to unit test</td><td>Yes</td><td>Yes</td><td>No</td><td>Yes</td><td>Yes</td></tr><tr class="b"><td>Dynamic queries</td><td>Yes (4)</td>
 <td>Yes</td><td>No</td><td>Yes</td><td>Yes</td></tr><tr class="a"><td>Primary Key generation</td><td>Yes (4)</td><td>Yes</td><td>No (5)</td><td>Yes</td><td>Yes</td></tr><tr class="b"><td>Supports inherited objects</td><td>Yes (4)</td><td>Yes</td><td>No (5)</td><td>Yes</td><td>Yes</td></tr><tr class="a"><td>Automatic Creation of schema (top-down)</td><td>No</td><td>Yes</td><td>No (5)</td><td>Yes</td><td>Yes</td></tr><tr class="b"><td>Supports existing schema (bottom-up)</td><td>Yes</td><td>Yes</td><td>Yes</td><td>Yes</td><td>Yes</td></tr></table><ol>
+                <li>refers to products such as Hibernate, TopLink which follow no standard.</li>
+                <li>refers to entity beans for EJB 2.*</li>
+                <li>refers to whether it is necessary to write the persistence yourself (e.g as with JDBC) or whether you can just 
+                    persist by simple calls.</li>
+                <li>requires the developer to write this layer.</li>
+                <li>some advanced EJB containers like Bea Weblogic and IBM Websphere provide support for primary key generation, 
+                    inherited objects and database schema creation as well.</li>
+            </ol></div></div></div><div class="clear"><hr></hr></div><table border="0" width="100%" cellpadding="0" cellspacing="0"><tr><td width="100%"><img height="1" border="0" width="100%" src="./images/header_line.gif"></img></td></tr></table><div id="footer"><div class="xleft">
+                Documentation published: 02 October 2007<br></br>
+                  © 2005-2007 <a href="http://www.apache.org/">Apache Software Foundation</a></div></div></body></html>
\ No newline at end of file



Mime
View raw message