cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aadamc...@apache.org
Subject svn commit: r1425995 - in /cayenne/site/cms/trunk/content/docs/3.1: tutorial-rop/ tutorial-rop/css/ upgrade-guide/ upgrade-guide/css/
Date Wed, 26 Dec 2012 19:21:35 GMT
Author: aadamchik
Date: Wed Dec 26 19:21:34 2012
New Revision: 1425995

URL: http://svn.apache.org/viewvc?rev=1425995&view=rev
Log:
updating the docs formatted per CAY-1733

Added:
    cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/css/highlight.css
    cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/css/highlight.css
Modified:
    cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch03.html
    cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch04.html
    cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch05.html
    cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/css/cayenne-doc.css
    cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/ar01.html
    cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/css/cayenne-doc.css

Modified: cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch03.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch03.html?rev=1425995&r1=1425994&r2=1425995&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch03.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch03.html Wed Dec 26 19:21:34 2012
@@ -2,36 +2,36 @@
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Chapter&nbsp;3.&nbsp;Setting up Hessian Web Service</title><link rel="stylesheet" type="text/css" href="css/cayenne-doc.css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"><link rel="home" href="index.html" title="Getting Started with Cayenne ROP (Remote Object Persistence)"><link rel="up" href="getting-started-rop-part2.html" title="Part&nbsp;II.&nbsp;Remote Object Persistence Quick Start"><link rel="prev" href="ch02.html" title="Chapter&nbsp;2.&nbsp;Starting Client Project"><link rel="next" href="ch04.html" title="Chapter&nbsp;4.&nbsp;Porting Existing Code to Connect to a Web Service Instead of a Database"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;3.&nbsp;Setting up Hessian Web Service</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a>&nbsp;</td>
 <th width="60%" align="center">Part&nbsp;II.&nbsp;Remote Object Persistence Quick Start</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;3.&nbsp;Setting up Hessian Web Service"><div class="titlepage"><div><div><h2 class="title"><a name="d0e104"></a>Chapter&nbsp;3.&nbsp;Setting up Hessian Web Service</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch03.html#setting-up-dependencies">Setting up Dependencies</a></span></dt><dt><span class="section"><a href="ch03.html#client-classes-on-server">Client Classes on the Server</a></span></dt><dt><span class="section"><a href="ch03.html#configuring-web-xml">Configuring web.xml</a></span></dt><dt><span class="section"><a href="ch03.html#running-rop-server">Running ROP Server</a></span></dt></dl></div><div class="section" title="Setting up Dependencies"><div class="titlepage"><
 div><div><h2 class="title"><a name="setting-up-dependencies"></a>Setting up Dependencies</h2></div></div></div><p>Now lets get back to the "tutorial" project that contains a web application and set up
             dependencies. The only extra one that we don't have yet is resin-hessian.jar, just like
-            the client, so let's add it (and the caucho repo declaration) to the pom.xml.</p><pre class="programlisting">&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 	
+            the client, so let's add it (and the caucho repo declaration) to the pom.xml.</p><pre class="programlisting">&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
-	...
-	&lt;dependencies&gt;
-		...
-		&lt;dependency&gt;
-			&lt;groupId&gt;com.caucho&lt;/groupId&gt;
-			&lt;artifactId&gt;resin-hessian&lt;/artifactId&gt;
-			&lt;version&gt;3.1.6&lt;/version&gt;
-		&lt;/dependency&gt;
-	&lt;/dependencies&gt;
+    ...
+    &lt;dependencies&gt;
+        ...
+        &lt;dependency&gt;
+            &lt;groupId&gt;com.caucho&lt;/groupId&gt;
+            &lt;artifactId&gt;resin-hessian&lt;/artifactId&gt;
+            &lt;version&gt;3.1.6&lt;/version&gt;
+        &lt;/dependency&gt;
+    &lt;/dependencies&gt;
 
-	&lt;build&gt;
-	...
-	&lt;/build&gt;
-	
-	&lt;repositories&gt;
-		&lt;repository&gt;
-			&lt;id&gt;caucho&lt;/id&gt;
-			&lt;name&gt;Caucho Repository&lt;/name&gt;
-			&lt;url&gt;http://caucho.com/m2&lt;/url&gt;
-			&lt;layout&gt;default&lt;/layout&gt;
-			&lt;snapshots&gt;
-				&lt;enabled&gt;false&lt;/enabled&gt;
-			&lt;/snapshots&gt;
-			&lt;releases&gt;
-				&lt;enabled&gt;true&lt;/enabled&gt;
-			&lt;/releases&gt;
-		&lt;/repository&gt;
-	&lt;/repositories&gt;
+    &lt;build&gt;
+    ...
+    &lt;/build&gt;
+
+    &lt;repositories&gt;
+        &lt;repository&gt;
+            &lt;id&gt;caucho&lt;/id&gt;
+            &lt;name&gt;Caucho Repository&lt;/name&gt;
+            &lt;url&gt;http://caucho.com/m2&lt;/url&gt;
+            &lt;layout&gt;default&lt;/layout&gt;
+            &lt;snapshots&gt;
+                &lt;enabled&gt;false&lt;/enabled&gt;
+            &lt;/snapshots&gt;
+            &lt;releases&gt;
+                &lt;enabled&gt;true&lt;/enabled&gt;
+            &lt;/releases&gt;
+        &lt;/repository&gt;
+    &lt;/repositories&gt;
 &lt;/project&gt;</pre><table class="noteMacro" border="1" id="d0e114"><col width="4%"><col width="96%"><tbody><tr>
                     <td valign="top">
                         <div class="mediaobject"><img src="images/warning.gif"></div>
@@ -51,16 +51,16 @@
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd"&gt;
 &lt;web-app&gt;
-	&lt;display-name&gt;Cayenne Tutorial&lt;/display-name&gt;
-	&lt;servlet&gt;
-		&lt;servlet-name&gt;cayenne-project&lt;/servlet-name&gt;
-		&lt;servlet-class&gt;org.apache.cayenne.configuration.rop.server.ROPHessianServlet&lt;/servlet-class&gt;
+    &lt;display-name&gt;Cayenne Tutorial&lt;/display-name&gt;
+    &lt;servlet&gt;
+        &lt;servlet-name&gt;cayenne-project&lt;/servlet-name&gt;
+        &lt;servlet-class&gt;org.apache.cayenne.configuration.rop.server.ROPHessianServlet&lt;/servlet-class&gt;
         &lt;load-on-startup&gt;0&lt;/load-on-startup&gt;
-	&lt;/servlet&gt;
-	&lt;servlet-mapping&gt;
-		&lt;servlet-name&gt;cayenne-project&lt;/servlet-name&gt;
-		&lt;url-pattern&gt;/cayenne-service&lt;/url-pattern&gt;
-	&lt;/servlet-mapping&gt;
+    &lt;/servlet&gt;
+    &lt;servlet-mapping&gt;
+        &lt;servlet-name&gt;cayenne-project&lt;/servlet-name&gt;
+        &lt;url-pattern&gt;/cayenne-service&lt;/url-pattern&gt;
+    &lt;/servlet-mapping&gt;
 &lt;/web-app&gt;</pre><table class="noteMacro" border="1" id="d0e146"><col width="4%"><col width="96%"><tbody><tr>
                     <td valign="top">
                         <div class="mediaobject"><img src="images/warning.gif"></div>
@@ -88,8 +88,8 @@ INFO::Started SelectChannelConnector@0.0
 INFO: Loading XML configuration resource from file:cayenne-project.xml
 INFO: loading user name and password.
 INFO: Created connection pool: jdbc:derby:memory:testdb;create=true
-	Driver class: org.apache.derby.jdbc.EmbeddedDriver
-	Min. connections in the pool: 1
-	Max. connections in the pool: 1</pre><p>Cayenne ROP service URL is <span class="italic">http://localhost:8080/tutorial/cayenne-service</span>. If you click on it, you
+    Driver class: org.apache.derby.jdbc.EmbeddedDriver
+    Min. connections in the pool: 1
+    Max. connections in the pool: 1</pre><p>Cayenne ROP service URL is <span class="italic">http://localhost:8080/tutorial/cayenne-service</span>. If you click on it, you
             will see "Hessian Requires POST" message, that means that the service is alive, but you
             need a client other than the web browser to access it.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="getting-started-rop-part2.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;2.&nbsp;Starting Client Project&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;4.&nbsp;Porting Existing Code to Connect to a Web Service Instead of a Database</td></tr></table></div></body></html>
\ No newline at end of file

Modified: cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch04.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch04.html?rev=1425995&r1=1425994&r2=1425995&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch04.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch04.html Wed Dec 26 19:21:34 2012
@@ -5,57 +5,57 @@
             So the code below will be similar to the code presented in the first Cayenne
                 Getting Started Guide, although with a few ROP-specific parts required to bootstrap the
             ObjectContext.</p><p>Let's start by creating an empty Main class with the standard main() method in the
-            client project:</p><pre class="programlisting">package org.example.cayenne.persistent.client;
+            client project:</p><pre class="programlisting"><span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">package</span> org.example.cayenne.persistent.client;
 
-public class Main {
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">public</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">class</span> Main {
 
-    public static void main(String[] args) {
+    <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">public</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">static</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">void</span> main(String[] args) {
 
     }
 }</pre><p>Now the part that is actually different from regular Cayenne - establishing the server
-            connection and obtaining the ObjectContext:</p><pre class="programlisting">ClientConnection connection = new HessianConnection("http://localhost:8080/tutorial/cayenne-service");
-DataChannel channel = new ClientChannel(connection, false, new DefaultEventManager(), false);
-ObjectContext context = new CayenneContext(channel);</pre><p>Note that the "channel" can be used to create as many peer ObjectContexts as needed
+            connection and obtaining the ObjectContext:</p><pre class="programlisting">ClientConnection connection = <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> HessianConnection(<span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"http://localhost:8080/tutorial/cayenne-service"</span>);
+DataChannel channel = <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> ClientChannel(connection, false, <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> DefaultEventManager(), false);
+ObjectContext context = <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> CayenneContext(channel);</pre><p>Note that the "channel" can be used to create as many peer ObjectContexts as needed
             over the same connection, while ObjectContext is a kind of isolated "persistence
             session", similar to the server-side context. A few more notes. Since we are using
             HTTP(S) to communicate with ROP server, there's no need to explicitly close the
             connection (or channel, or context).</p><p>So now let's do the same persistent operaions that we did in the first tutorial "Main"
-            class. Let's start by creating and saving some objects:</p><pre class="programlisting">// creating new Artist
-Artist picasso = context.newObject(Artist.class);
-picasso.setName("Pablo Picasso");
+            class. Let's start by creating and saving some objects:</p><pre class="programlisting"><span xmlns="http://www.w3.org/1999/xhtml" class="hl-comment">// creating new Artist</span>
+Artist picasso = context.newObject(Artist.<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">class</span>);
+picasso.setName(<span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"Pablo Picasso"</span>);
 
-// Creating other objects
-Gallery metropolitan = context.newObject(Gallery.class);
-metropolitan.setName("Metropolitan Museum of Art");
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-comment">// Creating other objects</span>
+Gallery metropolitan = context.newObject(Gallery.<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">class</span>);
+metropolitan.setName(<span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"Metropolitan Museum of Art"</span>);
 
-Painting girl = context.newObject(Painting.class);
-girl.setName("Girl Reading at a Table");
+Painting girl = context.newObject(Painting.<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">class</span>);
+girl.setName(<span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"Girl Reading at a Table"</span>);
 
-Painting stein = context.newObject(Painting.class);
-stein.setName("Gertrude Stein");
+Painting stein = context.newObject(Painting.<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">class</span>);
+stein.setName(<span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"Gertrude Stein"</span>);
 
-// connecting objects together via relationships
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-comment">// connecting objects together via relationships</span>
 picasso.addToPaintings(girl);
 picasso.addToPaintings(stein);
 
 girl.setGallery(metropolitan);
 stein.setGallery(metropolitan);
 
-// saving all the changes above
-context.commitChanges();</pre><p>Now let's select them back:</p><pre class="programlisting">// SelectQuery examples
-SelectQuery select1 = new SelectQuery(Painting.class);
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-comment">// saving all the changes above</span>
+context.commitChanges();</pre><p>Now let's select them back:</p><pre class="programlisting"><span xmlns="http://www.w3.org/1999/xhtml" class="hl-comment">// SelectQuery examples</span>
+SelectQuery select1 = <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> SelectQuery(Painting.<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">class</span>);
 List&lt;Painting&gt; paintings1 = context.performQuery(select1);
 
 Expression qualifier2 = ExpressionFactory.likeIgnoreCaseExp(
-        Painting.NAME_PROPERTY, "gi%");
-SelectQuery select2 = new SelectQuery(Painting.class, qualifier2);
+        Painting.NAME_PROPERTY, <span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"gi%"</span>);
+SelectQuery select2 = <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> SelectQuery(Painting.<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">class</span>, qualifier2);
 List&lt;Painting&gt; paintings2 = context.performQuery(select2);</pre><p>Now, delete:</p><pre class="programlisting">Expression qualifier = ExpressionFactory.matchExp(Artist.NAME_PROPERTY,
-                "Pablo Picasso");
-SelectQuery selectToDelete = new SelectQuery(Artist.class, qualifier);
+                <span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"Pablo Picasso"</span>);
+SelectQuery selectToDelete = <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> SelectQuery(Artist.<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">class</span>, qualifier);
 Artist picasso = (Artist) DataObjectUtils.objectForQuery(context,
         selectToDelete);
 
-if (picasso != null) {
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">if</span> (picasso != null) {
     context.deleteObject(picasso);
     context.commitChanges();
 }</pre><p>This code is exactly the same as in the first tutorial. So now let's try running the

Modified: cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch05.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch05.html?rev=1425995&r1=1425994&r2=1425995&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch05.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/ch05.html Wed Dec 26 19:21:34 2012
@@ -20,7 +20,7 @@
     &lt;auth-method&gt;BASIC&lt;/auth-method&gt;
     &lt;realm-name&gt;Cayenne Realm&lt;/realm-name&gt;
 &lt;/login-config&gt;
-	
+
 &lt;security-role&gt;
     &lt;role-name&gt;cayenne-service-user&lt;/role-name&gt;
 &lt;/security-role&gt;</pre></div><div class="section" title="Configuring Jetty for BASIC Authentication"><div class="titlepage"><div><div><h2 class="title"><a name="configuring-jetty"></a>Configuring Jetty for BASIC Authentication</h2></div></div></div><table class="noteMacro" border="1" id="d0e231"><col width="4%"><col width="96%"><tbody><tr>
@@ -32,57 +32,57 @@
                         the same thing.</td>
                 </tr></tbody></table><p>Open pom.xml in the server project and configure a "userRealm" for the Jetty
             plugin:</p><pre class="programlisting">&lt;plugin&gt;
-	&lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;
-		&lt;artifactId&gt;maven-jetty-plugin&lt;/artifactId&gt;
-		&lt;version&gt;6.1.22&lt;/version&gt;
-		&lt;!-- adding configuration below: --&gt;
-		&lt;configuration&gt;
-			&lt;userRealms&gt;
-				&lt;userRealm implementation="org.mortbay.jetty.security.HashUserRealm"&gt;
-					&lt;!-- this name must match the realm-name in web.xml --&gt;
-					&lt;name&gt;Cayenne Realm&lt;/name&gt;
-					&lt;config&gt;realm.properties&lt;/config&gt;
-				&lt;/userRealm&gt;
-			&lt;/userRealms&gt;
-		&lt;/configuration&gt;
-	&lt;/plugin&gt;
+    &lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;
+        &lt;artifactId&gt;maven-jetty-plugin&lt;/artifactId&gt;
+        &lt;version&gt;6.1.22&lt;/version&gt;
+        &lt;!-- adding configuration below: --&gt;
+        &lt;configuration&gt;
+            &lt;userRealms&gt;
+                &lt;userRealm implementation="org.mortbay.jetty.security.HashUserRealm"&gt;
+                    &lt;!-- this name must match the realm-name in web.xml --&gt;
+                    &lt;name&gt;Cayenne Realm&lt;/name&gt;
+                    &lt;config&gt;realm.properties&lt;/config&gt;
+                &lt;/userRealm&gt;
+            &lt;/userRealms&gt;
+        &lt;/configuration&gt;
+    &lt;/plugin&gt;
 &lt;/plugins&gt;</pre><p>Now create a new file called {["realm.properties"}} <span class="italic">at the
                 root of the server project</span> and put user login/password in there:</p><pre class="programlisting">cayenne-user: secret,cayenne-service-user</pre><p>.</p><p>Now let's stop the server and start it again. Everything should start as before, but
             if you go to <span class="italic">http://localhost:8080/tutorial/cayenne-service</span>, your browser should pop
             up authentication dialog. Enter "<span class="italic">cayenne-user/secret</span>"
             for user name / password, and you should see "<span class="italic">Hessian Requires
                 POST</span>" message. So the server is now secured.</p></div><div class="section" title="Running Client with Basic Authentication"><div class="titlepage"><div><div><h2 class="title"><a name="running-client"></a>Running Client with Basic Authentication</h2></div></div></div><p>If you run the client without any changes, you'll get the following error:</p><pre class="programlisting">org.apache.cayenne.remote.hessian.HessianConnection connect
-INFO: Connecting to [http://localhost:8080/tutorial/cayenne-service] - dedicated session.
+INFO: Connecting to [http:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-comment">//localhost:8080/tutorial/cayenne-service] - dedicated session.</span>
 org.apache.cayenne.remote.hessian.HessianConnection connect
-INFO: Error establishing remote session. URL - http://localhost:8080/tutorial/cayenne-service; 
+INFO: Error establishing remote session. URL - http:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-comment">//localhost:8080/tutorial/cayenne-service; </span>
       CAUSE - cannot retry due to server authentication, in streaming mode
 java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode
-	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1257)
-	at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
-	at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:168)
-	at $Proxy0.establishSession(Unknown Source)
-	at org.apache.cayenne.remote.hessian.HessianConnection.connect(HessianConnection.java:210)
-	at org.apache.cayenne.remote.hessian.HessianConnection.getServerEventBridge(HessianConnection.java:114)
-	at org.apache.cayenne.remote.ClientChannel.setupRemoteChannelListener(ClientChannel.java:337)
-	at org.apache.cayenne.remote.ClientChannel.&lt;init&gt;(ClientChannel.java:108)
-	at org.example.cayenne.Main.main(Main.java:25)
-Exception in thread "main" org.apache.cayenne.CayenneRuntimeException: [v.3.1M3 Sep 19 2011 07:12:41] 
-Error establishing remote session. URL - http://localhost:8080/tutorial/cayenne-service; 
+    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">1257</span>)
+    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">379</span>)
+    at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">168</span>)
+    at $Proxy0.establishSession(Unknown Source)
+    at org.apache.cayenne.remote.hessian.HessianConnection.connect(HessianConnection.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">210</span>)
+    at org.apache.cayenne.remote.hessian.HessianConnection.getServerEventBridge(HessianConnection.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">114</span>)
+    at org.apache.cayenne.remote.ClientChannel.setupRemoteChannelListener(ClientChannel.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">337</span>)
+    at org.apache.cayenne.remote.ClientChannel.&lt;init&gt;(ClientChannel.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">108</span>)
+    at org.example.cayenne.Main.main(Main.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">25</span>)
+Exception in thread <span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"main"</span> org.apache.cayenne.CayenneRuntimeException: [v.3.1M3 Sep <span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">19</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">2011</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">07</span>:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">12</span>:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">41</span>] 
+Error establishing remote session. URL - http:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-comment">//localhost:8080/tutorial/cayenne-service; </span>
 CAUSE - cannot retry due to server authentication, in streaming mode
-	at org.apache.cayenne.remote.hessian.HessianConnection.connect(HessianConnection.java:229)
-	at org.apache.cayenne.remote.hessian.HessianConnection.getServerEventBridge(HessianConnection.java:114)
-	at org.apache.cayenne.remote.ClientChannel.setupRemoteChannelListener(ClientChannel.java:337)
-	at org.apache.cayenne.remote.ClientChannel.&lt;init&gt;(ClientChannel.java:108)
-	at org.example.cayenne.Main.main(Main.java:25)
+    at org.apache.cayenne.remote.hessian.HessianConnection.connect(HessianConnection.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">229</span>)
+    at org.apache.cayenne.remote.hessian.HessianConnection.getServerEventBridge(HessianConnection.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">114</span>)
+    at org.apache.cayenne.remote.ClientChannel.setupRemoteChannelListener(ClientChannel.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">337</span>)
+    at org.apache.cayenne.remote.ClientChannel.&lt;init&gt;(ClientChannel.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">108</span>)
+    at org.example.cayenne.Main.main(Main.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">25</span>)
 Caused by: java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode
-	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1257)
-	at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
-	at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:168)
-	at $Proxy0.establishSession(Unknown Source)
-	at org.apache.cayenne.remote.hessian.HessianConnection.connect(HessianConnection.java:210)
-	... 4 more</pre><p>Which is exactly what you'd expect, as the client is not authenticating itself. So
-            change the line in Main.java where we obtained an ROP connection to this:</p><pre class="programlisting">ClientConnection connection = new HessianConnection(
-        "http://localhost:8080/tutorial/cayenne-service",
-        "cayenne-user", "secret", null);</pre><p>Try running again, and everything should work as before. Obviously in production
+    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">1257</span>)
+    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">379</span>)
+    at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">168</span>)
+    at $Proxy0.establishSession(Unknown Source)
+    at org.apache.cayenne.remote.hessian.HessianConnection.connect(HessianConnection.java:<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">210</span>)
+    ... <span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">4</span> more</pre><p>Which is exactly what you'd expect, as the client is not authenticating itself. So
+            change the line in Main.java where we obtained an ROP connection to this:</p><pre class="programlisting">ClientConnection connection = <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> HessianConnection(
+        <span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"http://localhost:8080/tutorial/cayenne-service"</span>,
+        <span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"cayenne-user"</span>, <span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"secret"</span>, null);</pre><p>Try running again, and everything should work as before. Obviously in production
             environment, in addition to authentication you'll need to use HTTPS to access the server
             to prevent third-party evesdropping on your password and data.</p><p>Congratulations, you are done with the ROP tutorial!</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="getting-started-rop-part2.html">Up</a></td><td width="40%" align="right">&nbsp;</td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;4.&nbsp;Porting Existing Code to Connect to a Web Service Instead of a Database&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;</td></tr></table></div></body></html>
\ No newline at end of file

Modified: cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/css/cayenne-doc.css
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/css/cayenne-doc.css?rev=1425995&r1=1425994&r2=1425995&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/css/cayenne-doc.css (original)
+++ cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/css/cayenne-doc.css Wed Dec 26 19:21:34 2012
@@ -0,0 +1,134 @@
+@IMPORT url("highlight.css");
+
+html {
+    padding:       0pt;
+    margin:        0pt;
+}
+
+body, td {
+    margin-left:   10%;
+    margin-right:  10%;
+    font-family:   "Lucida Grande","Trebuchet MS",Verdana,sans-serif;
+    font-size: small;
+}
+
+div {
+    margin:        0pt;
+}
+
+p {
+    text-align:    justify;
+}
+
+hr {
+    border:        1px solid gray;
+    background:    gray;
+}
+
+h1, h2, h3, h4 {
+    font-family: "Trebuchet MS","Lucida Grande",Verdana,sans-serif;
+    font-weight: normal;
+    line-height: normal;
+    margin: 1em 0 0.5em;
+}
+
+h2 {
+    color: #660000;
+    font-size: 170%;
+    padding: 0;
+}
+
+h3 {
+    border-bottom: 1px solid #EAEAEA;
+    color: #CC4400;
+    font-size: 135%;
+    padding-bottom: 3px;
+}
+
+h4 {
+    color: #AAAA99;
+    font-size: 130%;
+}
+
+pre {
+    line-height:   1.0;
+    color:         black;
+
+    -moz-tab-size: 4;
+    -o-tab-size:   4;
+    tab-size:      4;
+}
+
+pre.programlisting {
+    font-size:     10pt;
+    padding:       7pt 3pt;
+    border:        1pt solid black;
+    background:    #F9F9F6;
+    clear:         both;
+}
+
+div.table {
+    margin:        1em;
+    padding:       0.5em;
+    text-align:    center;
+}
+
+table[frame=void] {
+    display:       table;
+    width:         100%;
+    border:        1px black solid;
+    border-collapse: collapse;
+    border-spacing: 0;
+}
+
+table[frame=void] td {
+    padding-left:  7px;
+    padding-right: 7px;
+    border:        1px black solid;
+}
+
+table[frame=void] th {
+    padding-left:  7px;
+    padding-right: 7px;
+    border:        1px black solid;
+}
+
+.sidebar {
+    float: right;
+    margin: 10px 0 10px 30px;
+    padding: 10px 20px 20px 20px;
+    width: 33%;
+    border: 1px solid black;
+    background-color: #F4F4F4;
+    font-size: 14px;
+}
+
+.code {
+    font-family: Courier New,monospace;
+}
+
+.mediaobject {
+    padding-top: 30px;
+    padding-bottom: 30px;
+}
+
+.legalnotice {
+    font-size: 12px;
+    font-style: italic;
+}
+
+p.releaseinfo {
+    font-size: 100%;
+    font-weight: bold;
+    padding-top: 10px;
+}
+
+p.pubdate {
+    font-size: 120%;
+    font-weight: bold;
+}
+
+span.productname {
+    font-size: 200%;
+    font-weight: bold;
+}
\ No newline at end of file

Added: cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/css/highlight.css
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/css/highlight.css?rev=1425995&view=auto
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/css/highlight.css (added)
+++ cayenne/site/cms/trunk/content/docs/3.1/tutorial-rop/css/highlight.css Wed Dec 26 19:21:34 2012
@@ -0,0 +1,35 @@
+/*
+   code highlight CSS resemblign the Eclipse IDE default color schema
+   @author Costin Leau
+*/
+
+.hl-keyword {
+    color: #7F0055;
+    font-weight: bold;
+}
+
+.hl-comment {
+    color: #3F5F5F;
+    font-style: italic;
+}
+
+.hl-multiline-comment {
+    color: #3F5FBF;
+    font-style: italic;
+}
+
+.hl-tag {
+    color: #3F7F7F;
+}
+
+.hl-attribute {
+    color: #7F007F;
+}
+
+.hl-value {
+    color: #2A00FF;
+}
+
+.hl-string {
+    color: #2A00FF !important;
+}
\ No newline at end of file

Modified: cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/ar01.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/ar01.html?rev=1425995&r1=1425994&r2=1425995&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/ar01.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/ar01.html Wed Dec 26 19:21:34 2012
@@ -23,7 +23,7 @@
                 annotations-based DI container to configure its services. The container provides DI
                 services and exposes Cayenne extension points, but does not interfere with other DI
                 containers that may be present in the application. I.e. it is invisible to the users
-                who do not care about advanced Cayenne customization.</p></div><div class="section" title="Bootstrapping Cayenne in Various Environments"><div class="titlepage"><div><div><h3 class="title"><a name="d0e67"></a>Bootstrapping Cayenne in Various Environments</h3></div></div></div><p> Here is a simple example of starting a server-side Cayenne stack:</p><pre class="programlisting">ServerRuntime runtime = new ServerRuntime("cayenne-UntitledDomain.xml");</pre><p>For more detailed examples check the tutorials and other documentation.</p></div><div class="section" title="Configuring Local DataSources, Removal of JNDI Hack"><div class="titlepage"><div><div><h3 class="title"><a name="d0e76"></a>Configuring Local DataSources, Removal of JNDI Hack</h3></div></div></div><p>Cayenne 3.1 provides a property-based mechanism to override Modeler DataSource
+                who do not care about advanced Cayenne customization.</p></div><div class="section" title="Bootstrapping Cayenne in Various Environments"><div class="titlepage"><div><div><h3 class="title"><a name="d0e67"></a>Bootstrapping Cayenne in Various Environments</h3></div></div></div><p> Here is a simple example of starting a server-side Cayenne stack:</p><pre class="programlisting">ServerRuntime runtime = <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> ServerRuntime(<span xmlns="http://www.w3.org/1999/xhtml" class="hl-string">"cayenne-UntitledDomain.xml"</span>);</pre><p>For more detailed examples check the tutorials and other documentation.</p></div><div class="section" title="Configuring Local DataSources, Removal of JNDI Hack"><div class="titlepage"><div><div><h3 class="title"><a name="d0e76"></a>Configuring Local DataSources, Removal of JNDI Hack</h3></div></div></div><p>Cayenne 3.1 provides a property-based mechanism to override Modeler
  DataSource
                 definitions, regardless of whether they are driver configurations, JNDI, DBCP, etc.
                 A quick configuration example is shown below:</p><pre class="programlisting">-Dcayenne.jdbc.driver=com.mysql.jdbc.Driver -Dcayenne.jdbc.url=jdbc:mysql://localhost/mydb \
 -Dcayenne.jdbc.username=user -Dcayenne.jdbc.password=password</pre><p>For more details and configuration options see javadocs of
@@ -37,23 +37,23 @@
                 experience with Cayenne 3.0 shows that mapping listeners in the Modeler doesn't
                 scale well to complex applications, and 3.0 API for mapping the listeners is hard to
                 use. In 3.1 you can annotate listener methods and register multiple callback methods
-                with a single call. </p><pre class="programlisting">// declare a listener with annotated methods
-class MyListener {
-    @PostLoad(Entity1.class)
-    @PostPersist(Entity1.class)
-    void postLoad(Object object) {
+                with a single call. </p><pre class="programlisting"><span xmlns="http://www.w3.org/1999/xhtml" class="hl-comment">// declare a listener with annotated methods</span>
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">class</span> MyListener {
+    <span xmlns="http://www.w3.org/1999/xhtml" class="hl-annotation">@PostLoad(Entity1.class)</span>
+    <span xmlns="http://www.w3.org/1999/xhtml" class="hl-annotation">@PostPersist(Entity1.class)</span>
+    <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">void</span> postLoad(Object object) {
         ....
     }
 }
 
-// register a listener
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-comment">// register a listener</span>
 ServerRuntime runtime = ..
-MyListener listener = new MyListener();
+MyListener listener = <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> MyListener();
 runtime.getChannel().getEntityResolver().getCallbackRegistry().addListener(listener);</pre><p>Moreover, unlike JPA annotations, Cayenne allows to attach a listener to a set of
                 entities not known to the listener upfront, but that are all annotated with some
-                custom annotation:</p><pre class="programlisting">class MyListener {
-    @PostLoad(entityAnnotations = CustomAnnotation.class)
-    void postLoad(Object object) {
+                custom annotation:</p><pre class="programlisting"><span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">class</span> MyListener {
+    <span xmlns="http://www.w3.org/1999/xhtml" class="hl-annotation">@PostLoad(entityAnnotations = CustomAnnotation.class)</span>
+    <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">void</span> postLoad(Object object) {
         ....
     }
 }</pre></div><div class="section" title="DataChannelFilter for Intercepting DataDomain Operations"><div class="titlepage"><div><div><h3 class="title"><a name="d0e106"></a>DataChannelFilter for Intercepting DataDomain Operations</h3></div></div></div><p>Cayenne now features a DataChannelFilter interface that allows to intercept and
@@ -61,18 +61,18 @@ runtime.getChannel().getEntityResolver()
                 DataDomain). It provides a chain of command API very similar to servlet filters.
                 Filters are widely used by "cayenne-lifecyle" extensions and allow to build powerful
                 custom object lifecycle-aware code. To install a filter, the following API is
-                used:</p><pre class="programlisting">class MyFilter implement DataChannelFilter { .. }
+                used:</p><pre class="programlisting"><span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">class</span> MyFilter implement DataChannelFilter { .. }
 
-MyFilter filter = new MyFilter();
+MyFilter filter = <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> MyFilter();
 ServerRuntime runtime = ..
 runtime.getDataDomain().addFilter(filter);</pre><p>Very often filters mark some of their own methods with lifecycle annotations so
                 that certain operations can be triggered by Cayenne inside the scope of filter's
                 onQuery() or onSync() methods. To ensure annotated methods are invoked, filter
-                registration should be combined with listener registration:</p><pre class="programlisting">MyFilter filter = new MyFilter();
+                registration should be combined with listener registration:</p><pre class="programlisting">MyFilter filter = <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">new</span> MyFilter();
 ServerRuntime runtime = ..
 runtime.getDataDomain().addFilter(filter);
 runtime.getDataDomain().getEntityResolver().getCallbackRegistry().addListener(filter);
-// noticed that by default runtime.getDataDomain() is equivalent to runtime.getChannel()</pre></div></div><div class="section" title="CayenneModeler"><div class="titlepage"><div><div><h2 class="title"><a name="cayenne-modeler"></a>CayenneModeler</h2></div></div></div><div class="section" title="Java Preferences API"><div class="titlepage"><div><div><h3 class="title"><a name="d0e120"></a>Java Preferences API</h3></div></div></div><p>We got rid of HSQLDB-based preferences storage, and are using standard Java
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-comment">// noticed that by default runtime.getDataDomain() is equivalent to runtime.getChannel()</span></pre></div></div><div class="section" title="CayenneModeler"><div class="titlepage"><div><div><h2 class="title"><a name="cayenne-modeler"></a>CayenneModeler</h2></div></div></div><div class="section" title="Java Preferences API"><div class="titlepage"><div><div><h3 class="title"><a name="d0e120"></a>Java Preferences API</h3></div></div></div><p>We got rid of HSQLDB-based preferences storage, and are using standard Java
                 Preferences API for the Modeler preferences. This solved a long-standing stability
                 issue with Modeler preferences. So no more lost user preferences.</p></div></div><div class="section" title="Lifecycle Extensions"><div class="titlepage"><div><div><h2 class="title"><a name="lifecycle-extensions"></a>Lifecycle Extensions</h2></div></div></div><p>Cayenne 3.1 includes an optional cayenne-lifecyle module that implements a few useful
             extensions based on DataChannelFilters and lifecycle annotations. Those include a

Modified: cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/css/cayenne-doc.css
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/css/cayenne-doc.css?rev=1425995&r1=1425994&r2=1425995&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/css/cayenne-doc.css (original)
+++ cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/css/cayenne-doc.css Wed Dec 26 19:21:34 2012
@@ -0,0 +1,134 @@
+@IMPORT url("highlight.css");
+
+html {
+    padding:       0pt;
+    margin:        0pt;
+}
+
+body, td {
+    margin-left:   10%;
+    margin-right:  10%;
+    font-family:   "Lucida Grande","Trebuchet MS",Verdana,sans-serif;
+    font-size: small;
+}
+
+div {
+    margin:        0pt;
+}
+
+p {
+    text-align:    justify;
+}
+
+hr {
+    border:        1px solid gray;
+    background:    gray;
+}
+
+h1, h2, h3, h4 {
+    font-family: "Trebuchet MS","Lucida Grande",Verdana,sans-serif;
+    font-weight: normal;
+    line-height: normal;
+    margin: 1em 0 0.5em;
+}
+
+h2 {
+    color: #660000;
+    font-size: 170%;
+    padding: 0;
+}
+
+h3 {
+    border-bottom: 1px solid #EAEAEA;
+    color: #CC4400;
+    font-size: 135%;
+    padding-bottom: 3px;
+}
+
+h4 {
+    color: #AAAA99;
+    font-size: 130%;
+}
+
+pre {
+    line-height:   1.0;
+    color:         black;
+
+    -moz-tab-size: 4;
+    -o-tab-size:   4;
+    tab-size:      4;
+}
+
+pre.programlisting {
+    font-size:     10pt;
+    padding:       7pt 3pt;
+    border:        1pt solid black;
+    background:    #F9F9F6;
+    clear:         both;
+}
+
+div.table {
+    margin:        1em;
+    padding:       0.5em;
+    text-align:    center;
+}
+
+table[frame=void] {
+    display:       table;
+    width:         100%;
+    border:        1px black solid;
+    border-collapse: collapse;
+    border-spacing: 0;
+}
+
+table[frame=void] td {
+    padding-left:  7px;
+    padding-right: 7px;
+    border:        1px black solid;
+}
+
+table[frame=void] th {
+    padding-left:  7px;
+    padding-right: 7px;
+    border:        1px black solid;
+}
+
+.sidebar {
+    float: right;
+    margin: 10px 0 10px 30px;
+    padding: 10px 20px 20px 20px;
+    width: 33%;
+    border: 1px solid black;
+    background-color: #F4F4F4;
+    font-size: 14px;
+}
+
+.code {
+    font-family: Courier New,monospace;
+}
+
+.mediaobject {
+    padding-top: 30px;
+    padding-bottom: 30px;
+}
+
+.legalnotice {
+    font-size: 12px;
+    font-style: italic;
+}
+
+p.releaseinfo {
+    font-size: 100%;
+    font-weight: bold;
+    padding-top: 10px;
+}
+
+p.pubdate {
+    font-size: 120%;
+    font-weight: bold;
+}
+
+span.productname {
+    font-size: 200%;
+    font-weight: bold;
+}
\ No newline at end of file

Added: cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/css/highlight.css
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/css/highlight.css?rev=1425995&view=auto
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/css/highlight.css (added)
+++ cayenne/site/cms/trunk/content/docs/3.1/upgrade-guide/css/highlight.css Wed Dec 26 19:21:34 2012
@@ -0,0 +1,35 @@
+/*
+   code highlight CSS resemblign the Eclipse IDE default color schema
+   @author Costin Leau
+*/
+
+.hl-keyword {
+    color: #7F0055;
+    font-weight: bold;
+}
+
+.hl-comment {
+    color: #3F5F5F;
+    font-style: italic;
+}
+
+.hl-multiline-comment {
+    color: #3F5FBF;
+    font-style: italic;
+}
+
+.hl-tag {
+    color: #3F7F7F;
+}
+
+.hl-attribute {
+    color: #7F007F;
+}
+
+.hl-value {
+    color: #2A00FF;
+}
+
+.hl-string {
+    color: #2A00FF !important;
+}
\ No newline at end of file



Mime
View raw message