You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by an...@apache.org on 2007/10/02 15:01:30 UTC
svn commit: r581219 [3/3] - in /db/jdo/site/docs: ./ images/ images/logos/
style/ stylesheets/ tutorials/
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}">
+ © ${mavenCurrentYear}, ${pom.organization.name}
+ </j:if>
+ <j:if test="${pom.inceptionYear != mavenCurrentYear}">
+ © ${pom.inceptionYear}-${mavenCurrentYear} <a href="${pom.organization.url}">${pom.organization.name}</a>
+ </j:if>
+ </j:if>
+ <j:if test="${empty(pom.inceptionYear)}">
+ © ${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>
+<jdo>
+ <package name="org.apache.jdo.test">
+ <class name="ElementHolder" identity-type="application" detachable="true">
+ <inheritance strategy="new-table"/>
+ <field name="id" primary-key="true"/>
+ <field name="elements" persistence-modifier="persistent">
+ <collection element-type="Element"/>
+ <join/>
+ </field>
+ </class>
+
+ <class name="Element" identity-type="application" detachable="true">
+ <inheritance strategy="new-table"/>
+ <field name="name" primary-key="true"/>
+ </class>
+
+ <class name="SubElement">
+ <inheritance strategy="new-table"/>
+ <field name="value"/>
+ </class>
+ </package>
+</jdo></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