You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mi...@apache.org on 2012/11/14 02:50:14 UTC

svn commit: r1409057 [20/25] - in /openjpa/site: branches/ trunk/ trunk/cgi-bin/ trunk/content/ trunk/content/images/ trunk/lib/ trunk/resources/ trunk/templates/

Added: openjpa/site/trunk/content/opentrader
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentrader?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentrader (added)
+++ openjpa/site/trunk/content/opentrader Wed Nov 14 01:49:37 2012
@@ -0,0 +1,89 @@
+h1. OpenTrader: a transactional, web application with Google Web Toolkit, OpenJPA/Slice on Tomcat
+
+!OpenTrader-login.gif!
+
+
+OpenTrader is a sample web application to demonstrate integration of Google Web Toolkit (GWT) and OpenJPA running in Tomcat Servlet Container. These pages describe various aspects of this end-to-end application. The following sections are fairly independent of each other and can be followed as such based on your interest.
+ 
+* [Architecture|OpenTraderArchitecture] and core design goals 
+* The [computing environment|OpenTraderEnvironment] requirement
+* Developing a [GWT Client|OpenTraderClient]
+* Developing a [JPA based Server|OpenTraderServer]
+* [Communication|OpenTraderCommunication] between the components
+* [Building|OpenTraderBuild] the application
+* [Deploying|OpenTraderDeploy] the application
+
+GWT takes a position that is a significantly unique among the multitude of frameworks available to build a browser based client. GWT framework is based on several key concepts:
+
+* an asynchronous RPC protocol for communication between web client and server. Such asynchronous RPC is popularized by AJAX (Asynchronous JavaScript and XML) since last several years.
+* a cross-compiler that converts Java to JavaScript. This is the most critical component in the framework as it allows the client be written completely in Java. Besides adding a comfort layer for Java developers, the cross-compiler solves one of the most complex issue of browser based clients namely cross-browser compatibility. The cross-compiler generates separate JavaScript targeted to prominent browsers and the framework knows to activate the appropriate JavaScript based on the particular browser a client is using.
+* a library of interactive visual widgets such as dialog boxes, combo-boxes, tables etc. This Java based library realizes the widget as the elements of a Document Object Model (DOM) for a browser to render them in HTML. For example, an instance of {{com.google.gwt.user.client.ui.FlexTable}} urns into a {{<table>}} in the displayed HTML page by the framework. The widget library not only provides rendering support, it also comes with a event dispatching model for the client application to handle the user interaction. 
+
+OpenTrader - the sample example described in these pages - demonstrates how to develop a GWT client for a transactional, server application based on Java Persistence API (JPA). This example is somewhat more involved than a typical AddressBook example in terms of the complexity of the domain model, the transactional functions of the server as well as the interaction between multiple widgets in the client. Also the sample application covers a realistic use case where the core server application is defined independent of both GWT and JPA -- and then demonstrates how these two technologies are used to _implement_ an end-to-end service running inside a Tomcat Servlet Container. 
+
+
+
+Follow the steps to view OpenTrader source code, build the application, deploy it in your favorite application container and run it in your favorite browser.
+
+h3. 1. Get the source code
+
+   OpenTrader source code is available as one of the OpenJPA examples. Checkout the source files in a directory.
+
+   {{$ svn checkout   https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-examples/opentrader}}
+
+  The source tree comes with 
+   * Ant build script: {{build.xml}} and {{build.properties}}
+   * Java source code for OpenTrader application under {{src/main/java}}
+   * GWT module descriptor  : {{OpenTrader.gwt.xml}} under {{src/main/java/org/apache/openjpa/trader}}
+   * Persistence descriptor : {{persistence.xml}} under {{src/main/resources/META-INF}}
+   * web descriptor         : {{web.xml}} under {{src/main/resources/WEB-INF}}
+   * cascading style sheet  : {{OpenTrader.css}} under {{src/main/resources/css}}
+   
+
+h3. 2. Build
+
+   To build OpenTrader you will require following other libraries. 
+   * *Google Web Toolkit*: We have built it with GWT version 2.0.4 which can be downloaded from [here|http://google-web-toolkit.googlecode.com/files/gwt-2.0.4.zip].
+   * *cobogw widget library*: Provides rounded panel not using them seems to be too un-cool. Download version 1.3.1 from [here|http://code.google.com/p/cobogw/downloads/list].
+   * and, of course, *OpenJPA libraries*: OpenJPA now comes with all its dependencies neatly packaged in a single jar including the JPA API. Download from [this site|http://www.apache.org/dyn/closer.cgi/openjpa/2.0.0/apache-openjpa-2.0.0-binary.zip]. 
+
+   h5. 2.1 Configure build environment 
+      
+      Edit  {{build.properties}} to point to the dependent libraries you have downloaded. The file contains the instructions as comments. 
+
+   h5. 2.2 Compile with Ant
+
+      Compile the application. Compilation involves three separate compilation process. First the plain old {{javac}} compilation. Followed by GWT cross-compiler that translates Java code into JavaScript. And finally OpenJPA compilation that adds few bytecodes to the persistent classes to manage their persistent behavior (which is also known as bytecode enhancement).
+     
+      {{$ ant compile}}
+
+      GWT Compiler takes ages. Even though it only compiles for a single browser (FireFox). This is controlled by the following directives in the module descriptor {{OpenTrader.gwt.xml}}
+
+     {code:xml}
+        <set-property name="user.agent" value="gecko1_8"/> 
+     {code}
+
+h3. 3. Run
+    
+    You can run either in _hosted_ mode - an environment provided by GWT to run within a Jetty container - or in a proper servlet container such as Tomcat, Geronimo or GlassFish or even heavy-duty ones such as WebSphere or Weblogic. In either case, you have to configure the {{persistence.xml}} found under {{src/main/resources/META-INF}}. This descriptor specifies the database used by OpenTrader.
+
+     {code:xml}
+        <property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
+        <property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost/exchange"/>
+        <property name="openjpa.ConnectionUserName" value="whoami"/>
+        <property name="openjpa.ConnectionPassword" value="secret"/>
+     {code}
+ 
+    Also edit the {{jdbc.driver}} in {{build.properties}} for the driver/database you have selected.
+
+    Now, for hosted mode, simply fire Ant as
+     {{$ ant devmode}}
+
+    This should again take a very long time and pop open a horrible looking Swing console titled *GWT Development Mode*. Go to *Development Mode* tab and click *Launch Default Browser*. On my FireFox browser, that opens up the page {{http://127.0.0.1:8888/OpenTrader.html?gwt.codesvr=127.0.0.1:9997}}. If all goes well, at this point your browser will prompt you with a welcome dialog box
+
+!OpenTrader-login.gif!
+
+Once you have entered OpenTrader, the browser application looks like 
+ !OpenTrader-screenshot.gif!
+    
+In this page, you can place a trade offer to sell or buy some stocks. To really commit a trade you will need a matching offer. Now as a trader offer can only match to another trader's offer, you need to open another browser page with a different name. In FireFox, the tab will show the Trader name. Now if one Trader makes an offer that match another Trader's offer, then clicking the {{Sell}} or {{Buy}} button will commit the trade and will appear on the Trading History Window. Also notice the Server Log window. That will display SQL issued for every action by the server. You will also notice SQL being logged even if you are not pressing any buttons. Thatis because the Market Data Panel (the one in th etop-left corner) is refreshing the market prices for the Stocks by a periodic call to the server. As the stock prices change, that change is reflected on the gain/loss column of the waiting trade offers. All this dynamic partial update occurs in the same browser page -- that is 
 what GWT offers.
\ No newline at end of file

Added: openjpa/site/trunk/content/opentrader.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentrader.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentrader.cwiki (added)
+++ openjpa/site/trunk/content/opentrader.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1,89 @@
+h1. OpenTrader: a transactional, web application with Google Web Toolkit, OpenJPA/Slice on Tomcat
+
+!OpenTrader-login.gif!
+
+
+OpenTrader is a sample web application to demonstrate integration of Google Web Toolkit (GWT) and OpenJPA running in Tomcat Servlet Container. These pages describe various aspects of this end-to-end application. The following sections are fairly independent of each other and can be followed as such based on your interest.
+ 
+* [Architecture|OpenTraderArchitecture] and core design goals 
+* The [computing environment|OpenTraderEnvironment] requirement
+* Developing a [GWT Client|OpenTraderClient]
+* Developing a [JPA based Server|OpenTraderServer]
+* [Communication|OpenTraderCommunication] between the components
+* [Building|OpenTraderBuild] the application
+* [Deploying|OpenTraderDeploy] the application
+
+GWT takes a position that is a significantly unique among the multitude of frameworks available to build a browser based client. GWT framework is based on several key concepts:
+
+* an asynchronous RPC protocol for communication between web client and server. Such asynchronous RPC is popularized by AJAX (Asynchronous JavaScript and XML) since last several years.
+* a cross-compiler that converts Java to JavaScript. This is the most critical component in the framework as it allows the client be written completely in Java. Besides adding a comfort layer for Java developers, the cross-compiler solves one of the most complex issue of browser based clients namely cross-browser compatibility. The cross-compiler generates separate JavaScript targeted to prominent browsers and the framework knows to activate the appropriate JavaScript based on the particular browser a client is using.
+* a library of interactive visual widgets such as dialog boxes, combo-boxes, tables etc. This Java based library realizes the widget as the elements of a Document Object Model (DOM) for a browser to render them in HTML. For example, an instance of {{com.google.gwt.user.client.ui.FlexTable}} urns into a {{<table>}} in the displayed HTML page by the framework. The widget library not only provides rendering support, it also comes with a event dispatching model for the client application to handle the user interaction. 
+
+OpenTrader - the sample example described in these pages - demonstrates how to develop a GWT client for a transactional, server application based on Java Persistence API (JPA). This example is somewhat more involved than a typical AddressBook example in terms of the complexity of the domain model, the transactional functions of the server as well as the interaction between multiple widgets in the client. Also the sample application covers a realistic use case where the core server application is defined independent of both GWT and JPA -- and then demonstrates how these two technologies are used to _implement_ an end-to-end service running inside a Tomcat Servlet Container. 
+
+
+
+Follow the steps to view OpenTrader source code, build the application, deploy it in your favorite application container and run it in your favorite browser.
+
+h3. 1. Get the source code
+
+   OpenTrader source code is available as one of the OpenJPA examples. Checkout the source files in a directory.
+
+   {{$ svn checkout   https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-examples/opentrader}}
+
+  The source tree comes with 
+   * Ant build script: {{build.xml}} and {{build.properties}}
+   * Java source code for OpenTrader application under {{src/main/java}}
+   * GWT module descriptor  : {{OpenTrader.gwt.xml}} under {{src/main/java/org/apache/openjpa/trader}}
+   * Persistence descriptor : {{persistence.xml}} under {{src/main/resources/META-INF}}
+   * web descriptor         : {{web.xml}} under {{src/main/resources/WEB-INF}}
+   * cascading style sheet  : {{OpenTrader.css}} under {{src/main/resources/css}}
+   
+
+h3. 2. Build
+
+   To build OpenTrader you will require following other libraries. 
+   * *Google Web Toolkit*: We have built it with GWT version 2.0.4 which can be downloaded from [here|http://google-web-toolkit.googlecode.com/files/gwt-2.0.4.zip].
+   * *cobogw widget library*: Provides rounded panel not using them seems to be too un-cool. Download version 1.3.1 from [here|http://code.google.com/p/cobogw/downloads/list].
+   * and, of course, *OpenJPA libraries*: OpenJPA now comes with all its dependencies neatly packaged in a single jar including the JPA API. Download from [this site|http://www.apache.org/dyn/closer.cgi/openjpa/2.0.0/apache-openjpa-2.0.0-binary.zip]. 
+
+   h5. 2.1 Configure build environment 
+      
+      Edit  {{build.properties}} to point to the dependent libraries you have downloaded. The file contains the instructions as comments. 
+
+   h5. 2.2 Compile with Ant
+
+      Compile the application. Compilation involves three separate compilation process. First the plain old {{javac}} compilation. Followed by GWT cross-compiler that translates Java code into JavaScript. And finally OpenJPA compilation that adds few bytecodes to the persistent classes to manage their persistent behavior (which is also known as bytecode enhancement).
+     
+      {{$ ant compile}}
+
+      GWT Compiler takes ages. Even though it only compiles for a single browser (FireFox). This is controlled by the following directives in the module descriptor {{OpenTrader.gwt.xml}}
+
+     {code:xml}
+        <set-property name="user.agent" value="gecko1_8"/> 
+     {code}
+
+h3. 3. Run
+    
+    You can run either in _hosted_ mode - an environment provided by GWT to run within a Jetty container - or in a proper servlet container such as Tomcat, Geronimo or GlassFish or even heavy-duty ones such as WebSphere or Weblogic. In either case, you have to configure the {{persistence.xml}} found under {{src/main/resources/META-INF}}. This descriptor specifies the database used by OpenTrader.
+
+     {code:xml}
+        <property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
+        <property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost/exchange"/>
+        <property name="openjpa.ConnectionUserName" value="whoami"/>
+        <property name="openjpa.ConnectionPassword" value="secret"/>
+     {code}
+ 
+    Also edit the {{jdbc.driver}} in {{build.properties}} for the driver/database you have selected.
+
+    Now, for hosted mode, simply fire Ant as
+     {{$ ant devmode}}
+
+    This should again take a very long time and pop open a horrible looking Swing console titled *GWT Development Mode*. Go to *Development Mode* tab and click *Launch Default Browser*. On my FireFox browser, that opens up the page {{http://127.0.0.1:8888/OpenTrader.html?gwt.codesvr=127.0.0.1:9997}}. If all goes well, at this point your browser will prompt you with a welcome dialog box
+
+!OpenTrader-login.gif!
+
+Once you have entered OpenTrader, the browser application looks like 
+ !OpenTrader-screenshot.gif!
+    
+In this page, you can place a trade offer to sell or buy some stocks. To really commit a trade you will need a matching offer. Now as a trader offer can only match to another trader's offer, you need to open another browser page with a different name. In FireFox, the tab will show the Trader name. Now if one Trader makes an offer that match another Trader's offer, then clicking the {{Sell}} or {{Buy}} button will commit the trade and will appear on the Trading History Window. Also notice the Server Log window. That will display SQL issued for every action by the server. You will also notice SQL being logged even if you are not pressing any buttons. Thatis because the Market Data Panel (the one in th etop-left corner) is refreshing the market prices for the Stocks by a periodic call to the server. As the stock prices change, that change is reflected on the gain/loss column of the waiting trade offers. All this dynamic partial update occurs in the same browser page -- that is 
 what GWT offers.
\ No newline at end of file

Propchange: openjpa/site/trunk/content/opentrader.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/opentrader.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentrader.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentrader.mdtext (added)
+++ openjpa/site/trunk/content/opentrader.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1,180 @@
+Title: OpenTrader
+h1. OpenTrader: a transactional, web application with Google Web Toolkit,
+OpenJPA/Slice on Tomcat
+
+!OpenTrader-login.gif!
+
+
+OpenTrader is a sample web application to demonstrate integration of Google
+Web Toolkit (GWT) and OpenJPA running in Tomcat Servlet Container. These
+pages describe various aspects of this end-to-end application. The
+following sections are fairly independent of each other and can be followed
+as such based on your interest.
+ 
+* [Architecture](opentraderarchitecture.html)
+ and core design goals 
+* The [computing environment](opentraderenvironment.html)
+ requirement
+* Developing a [GWT Client](opentraderclient.html)
+* Developing a [JPA based Server](opentraderserver.html)
+* [Communication](opentradercommunication.html)
+ between the components
+* [Building](opentraderbuild.html)
+ the application
+* [Deploying](opentraderdeploy.html)
+ the application
+
+GWT takes a position that is a significantly unique among the multitude of
+frameworks available to build a browser based client. GWT framework is
+based on several key concepts:
+
+* an asynchronous RPC protocol for communication between web client and
+server. Such asynchronous RPC is popularized by AJAX (Asynchronous
+JavaScript and XML) since last several years.
+* a cross-compiler that converts Java to JavaScript. This is the most
+critical component in the framework as it allows the client be written
+completely in Java. Besides adding a comfort layer for Java developers, the
+cross-compiler solves one of the most complex issue of browser based
+clients namely cross-browser compatibility. The cross-compiler generates
+separate JavaScript targeted to prominent browsers and the framework knows
+to activate the appropriate JavaScript based on the particular browser a
+client is using.
+* a library of interactive visual widgets such as dialog boxes,
+combo-boxes, tables etc. This Java based library realizes the widget as the
+elements of a Document Object Model (DOM) for a browser to render them in
+HTML. For example, an instance of
+*com.google.gwt.user.client.ui.FlexTable* urns into a *<table>* in the
+displayed HTML page by the framework. The widget library not only provides
+rendering support, it also comes with a event dispatching model for the
+client application to handle the user interaction. 
+
+OpenTrader - the sample example described in these pages - demonstrates how
+to develop a GWT client for a transactional, server application based on
+Java Persistence API (JPA). This example is somewhat more involved than a
+typical AddressBook example in terms of the complexity of the domain model,
+the transactional functions of the server as well as the interaction
+between multiple widgets in the client. Also the sample application covers
+a realistic use case where the core server application is defined
+independent of both GWT and JPA -- and then demonstrates how these two
+technologies are used to _implement_ an end-to-end service running inside a
+Tomcat Servlet Container. 
+
+
+
+Follow the steps to view OpenTrader source code, build the application,
+deploy it in your favorite application container and run it in your
+favorite browser.
+
+<a name="OpenTrader-1.Getthesourcecode"></a>
+### 1. Get the source code
+
+   OpenTrader source code is available as one of the OpenJPA examples.
+Checkout the source files in a directory.
+
+   {{$ svn checkout  
+https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-examples/opentrader}}
+
+  The source tree comes with 
+   * Ant build script: *build.xml* and *build.properties*
+   * Java source code for OpenTrader application under *src/main/java*
+   * GWT module descriptor  : *OpenTrader.gwt.xml* under
+*src/main/java/org/apache/openjpa/trader*
+   * Persistence descriptor : *persistence.xml* under
+*src/main/resources/META-INF*
+   * web descriptor	    : *web.xml* under
+*src/main/resources/WEB-INF*
+   * cascading style sheet  : *OpenTrader.css* under
+*src/main/resources/css*
+   
+
+<a name="OpenTrader-2.Build"></a>
+### 2. Build
+
+   To build OpenTrader you will require following other libraries. 
+   * *Google Web Toolkit*: We have built it with GWT version 2.0.4 which
+can be downloaded from [here](http://google-web-toolkit.googlecode.com/files/gwt-2.0.4.zip)
+.
+   * *cobogw widget library*: Provides rounded panel not using them seems
+to be too un-cool. Download version 1.3.1 from [here](http://code.google.com/p/cobogw/downloads/list)
+.
+   * and, of course, *OpenJPA libraries*: OpenJPA now comes with all its
+dependencies neatly packaged in a single jar including the JPA API.
+Download from [this site](http://www.apache.org/dyn/closer.cgi/openjpa/2.0.0/apache-openjpa-2.0.0-binary.zip)
+. 
+
+   h5. 2.1 Configure build environment 
+      
+      Edit  *build.properties* to point to the dependent libraries you
+have downloaded. The file contains the instructions as comments. 
+
+   h5. 2.2 Compile with Ant
+
+      Compile the application. Compilation involves three separate
+compilation process. First the plain old *javac* compilation. Followed by
+GWT cross-compiler that translates Java code into JavaScript. And finally
+OpenJPA compilation that adds few bytecodes to the persistent classes to
+manage their persistent behavior (which is also known as bytecode
+enhancement).
+     
+      *$ ant compile*
+
+      GWT Compiler takes ages. Even though it only compiles for a single
+browser (FireFox). This is controlled by the following directives in the
+module descriptor *OpenTrader.gwt.xml*
+
+     {code:xml}
+	<set-property name="user.agent" value="gecko1_8"/> 
+     {code}
+
+<a name="OpenTrader-3.Run"></a>
+### 3. Run
+    
+    You can run either in _hosted_ mode - an environment provided by GWT to
+run within a Jetty container - or in a proper servlet container such as
+Tomcat, Geronimo or GlassFish or even heavy-duty ones such as WebSphere or
+Weblogic. In either case, you have to configure the *persistence.xml*
+found under *src/main/resources/META-INF*. This descriptor specifies the
+database used by OpenTrader.
+
+     {code:xml}
+	<property name="openjpa.ConnectionDriverName"
+value="com.mysql.jdbc.Driver"/>
+	<property name="openjpa.ConnectionURL"
+value="jdbc:mysql://localhost/exchange"/>
+	<property name="openjpa.ConnectionUserName" value="whoami"/>
+	<property name="openjpa.ConnectionPassword" value="secret"/>
+     {code}
+ 
+    Also edit the *jdbc.driver* in *build.properties* for the
+driver/database you have selected.
+
+    Now, for hosted mode, simply fire Ant as
+     *$ ant devmode*
+
+    This should again take a very long time and pop open a horrible looking
+Swing console titled *GWT Development Mode*. Go to *Development Mode* tab
+and click *Launch Default Browser*. On my FireFox browser, that opens up
+the page
+*http://127.0.0.1:8888/OpenTrader.html?gwt.codesvr=127.0.0.1:9997*. If
+all goes well, at this point your browser will prompt you with a welcome
+dialog box
+
+!OpenTrader-login.gif!
+
+Once you have entered OpenTrader, the browser application looks like 
+ !OpenTrader-screenshot.gif!
+    
+In this page, you can place a trade offer to sell or buy some stocks. To
+really commit a trade you will need a matching offer. Now as a trader offer
+can only match to another trader's offer, you need to open another browser
+page with a different name. In FireFox, the tab will show the Trader name.
+Now if one Trader makes an offer that match another Trader's offer, then
+clicking the *Sell* or *Buy* button will commit the trade and will
+appear on the Trading History Window. Also notice the Server Log window.
+That will display SQL issued for every action by the server. You will also
+notice SQL being logged even if you are not pressing any buttons. Thatis
+because the Market Data Panel (the one in th etop-left corner) is
+refreshing the market prices for the Stocks by a periodic call to the
+server. As the stock prices change, that change is reflected on the
+gain/loss column of the waiting trade offers. All this dynamic partial
+update occurs in the same browser page -- that is what GWT offers.

Added: openjpa/site/trunk/content/opentraderarchitecture
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderarchitecture?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderarchitecture (added)
+++ openjpa/site/trunk/content/opentraderarchitecture Wed Nov 14 01:49:37 2012
@@ -0,0 +1,30 @@
+State the design goals
+Describe the architecture
+
+One of the good practices of software development is to start with a set of basic requirements and then express these requirements more formally through a set the interfaces. So let us begin by listing the requirements for OpenTrader sample.  
+
+* a trader can offer to buy or sell stocks at a certain price 
+* an offer to sell(buy) a stock can be matched with matching offer(s) to buy(sell)
+* a pair of matching buy/sell offer can be committed as a trade
+
+Besides the functional requirements, let us define some non-functional goals
+
+* the trader will access the service from a browser
+* the service will use a relational database to record the committed trades 
+
+and then some purely technical goals
+
+* the browser-based client will be implemented using Google Web Toolkit
+* the service will be implemented using Java Persistence API
+
+
+
+
+
+GWT takes a position that is a significantly unique among the multitude of frameworks available to build a browser based client. GWT framework is based on several key concepts:
+
+    * an asynchronous RPC protocol for communication between web client and server. Such asynchronous RPC is popularized by AJAX (Asynchronous JavaScript and XML) since last several years.
+    * a cross-compiler that converts Java to JavaScript. This is the most critical component in the framework as it allows the client be written completely in Java. Besides adding a comfort layer for Java developers, the cross-compiler solves one of the most complex issue of browser based clients namely cross-browser compatibility. The cross-compiler generates separate JavaScript targeted to prominent browsers and the framework knows to activate the appropriate JavaScript based on the particular browser a client is using.
+    * a library of interactive visual widgets such as dialog boxes, combo-boxes, tables etc. This Java based library realizes the widget as the elements of a Document Object Model (DOM) for a browser to render them in HTML. For example, an instance of com.google.gwt.user.client.ui.FlexTable urns into a <table> in the displayed HTML page by the framework. The widget library not only provides rendering support, it also comes with a event dispatching model for the client application to handle the user interaction.
+
+OpenTrader - the sample example described in these pages - demonstrates how to develop a GWT client for a transactional, server application based on Java Persistence API (JPA). This example is somewhat more involved than a typical AddressBook example in terms of the complexity of the domain model, the transactional functions of the server as well as the interaction between multiple widgets in the client. Also the sample application covers a realistic use case where the core server application is defined independent of both GWT and JPA – and then demonstrates how these two technologies are used to implement an end-to-end service running inside a Tomcat Servlet Container. 

Added: openjpa/site/trunk/content/opentraderarchitecture.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderarchitecture.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderarchitecture.cwiki (added)
+++ openjpa/site/trunk/content/opentraderarchitecture.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1,30 @@
+State the design goals
+Describe the architecture
+
+One of the good practices of software development is to start with a set of basic requirements and then express these requirements more formally through a set the interfaces. So let us begin by listing the requirements for OpenTrader sample.  
+
+* a trader can offer to buy or sell stocks at a certain price 
+* an offer to sell(buy) a stock can be matched with matching offer(s) to buy(sell)
+* a pair of matching buy/sell offer can be committed as a trade
+
+Besides the functional requirements, let us define some non-functional goals
+
+* the trader will access the service from a browser
+* the service will use a relational database to record the committed trades 
+
+and then some purely technical goals
+
+* the browser-based client will be implemented using Google Web Toolkit
+* the service will be implemented using Java Persistence API
+
+
+
+
+
+GWT takes a position that is a significantly unique among the multitude of frameworks available to build a browser based client. GWT framework is based on several key concepts:
+
+    * an asynchronous RPC protocol for communication between web client and server. Such asynchronous RPC is popularized by AJAX (Asynchronous JavaScript and XML) since last several years.
+    * a cross-compiler that converts Java to JavaScript. This is the most critical component in the framework as it allows the client be written completely in Java. Besides adding a comfort layer for Java developers, the cross-compiler solves one of the most complex issue of browser based clients namely cross-browser compatibility. The cross-compiler generates separate JavaScript targeted to prominent browsers and the framework knows to activate the appropriate JavaScript based on the particular browser a client is using.
+    * a library of interactive visual widgets such as dialog boxes, combo-boxes, tables etc. This Java based library realizes the widget as the elements of a Document Object Model (DOM) for a browser to render them in HTML. For example, an instance of com.google.gwt.user.client.ui.FlexTable urns into a <table> in the displayed HTML page by the framework. The widget library not only provides rendering support, it also comes with a event dispatching model for the client application to handle the user interaction.
+
+OpenTrader - the sample example described in these pages - demonstrates how to develop a GWT client for a transactional, server application based on Java Persistence API (JPA). This example is somewhat more involved than a typical AddressBook example in terms of the complexity of the domain model, the transactional functions of the server as well as the interaction between multiple widgets in the client. Also the sample application covers a realistic use case where the core server application is defined independent of both GWT and JPA – and then demonstrates how these two technologies are used to implement an end-to-end service running inside a Tomcat Servlet Container. 

Propchange: openjpa/site/trunk/content/opentraderarchitecture.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/opentraderarchitecture.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderarchitecture.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderarchitecture.mdtext (added)
+++ openjpa/site/trunk/content/opentraderarchitecture.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1,63 @@
+Title: OpenTraderArchitecture
+State the design goals
+Describe the architecture
+
+One of the good practices of software development is to start with a set of
+basic requirements and then express these requirements more formally
+through a set the interfaces. So let us begin by listing the requirements
+for OpenTrader sample.	
+
+* a trader can offer to buy or sell stocks at a certain price 
+* an offer to sell(buy) a stock can be matched with matching offer(s) to
+buy(sell)
+* a pair of matching buy/sell offer can be committed as a trade
+
+Besides the functional requirements, let us define some non-functional
+goals
+
+* the trader will access the service from a browser
+* the service will use a relational database to record the committed trades 
+
+and then some purely technical goals
+
+* the browser-based client will be implemented using Google Web Toolkit
+* the service will be implemented using Java Persistence API
+
+
+
+
+
+GWT takes a position that is a significantly unique among the multitude of
+frameworks available to build a browser based client. GWT framework is
+based on several key concepts:
+
+    * an asynchronous RPC protocol for communication between web client and
+server. Such asynchronous RPC is popularized by AJAX (Asynchronous
+JavaScript and XML) since last several years.
+    * a cross-compiler that converts Java to JavaScript. This is the most
+critical component in the framework as it allows the client be written
+completely in Java. Besides adding a comfort layer for Java developers, the
+cross-compiler solves one of the most complex issue of browser based
+clients namely cross-browser compatibility. The cross-compiler generates
+separate JavaScript targeted to prominent browsers and the framework knows
+to activate the appropriate JavaScript based on the particular browser a
+client is using.
+    * a library of interactive visual widgets such as dialog boxes,
+combo-boxes, tables etc. This Java based library realizes the widget as the
+elements of a Document Object Model (DOM) for a browser to render them in
+HTML. For example, an instance of com.google.gwt.user.client.ui.FlexTable
+urns into a <table> in the displayed HTML page by the framework. The widget
+library not only provides rendering support, it also comes with a event
+dispatching model for the client application to handle the user
+interaction.
+
+OpenTrader - the sample example described in these pages - demonstrates how
+to develop a GWT client for a transactional, server application based on
+Java Persistence API (JPA). This example is somewhat more involved than a
+typical AddressBook example in terms of the complexity of the domain model,
+the transactional functions of the server as well as the interaction
+between multiple widgets in the client. Also the sample application covers
+a realistic use case where the core server application is defined
+independent of both GWT and JPA – and then demonstrates how these two
+technologies are used to implement an end-to-end service running inside a
+Tomcat Servlet Container. 

Added: openjpa/site/trunk/content/opentraderbuild
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderbuild?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderbuild (added)
+++ openjpa/site/trunk/content/opentraderbuild Wed Nov 14 01:49:37 2012
@@ -0,0 +1 @@
+Build instructions
\ No newline at end of file

Added: openjpa/site/trunk/content/opentraderbuild.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderbuild.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderbuild.cwiki (added)
+++ openjpa/site/trunk/content/opentraderbuild.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1 @@
+Build instructions
\ No newline at end of file

Propchange: openjpa/site/trunk/content/opentraderbuild.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/opentraderbuild.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderbuild.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderbuild.mdtext (added)
+++ openjpa/site/trunk/content/opentraderbuild.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1,2 @@
+Title: OpenTraderBuild
+Build instructions

Added: openjpa/site/trunk/content/opentraderclient
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderclient?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderclient (added)
+++ openjpa/site/trunk/content/opentraderclient Wed Nov 14 01:49:37 2012
@@ -0,0 +1 @@
+Describe the client side development
\ No newline at end of file

Added: openjpa/site/trunk/content/opentraderclient.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderclient.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderclient.cwiki (added)
+++ openjpa/site/trunk/content/opentraderclient.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1 @@
+Describe the client side development
\ No newline at end of file

Propchange: openjpa/site/trunk/content/opentraderclient.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/opentraderclient.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderclient.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderclient.mdtext (added)
+++ openjpa/site/trunk/content/opentraderclient.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1,2 @@
+Title: OpenTraderClient
+Describe the client side development

Added: openjpa/site/trunk/content/opentradercommunication
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentradercommunication?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentradercommunication (added)
+++ openjpa/site/trunk/content/opentradercommunication Wed Nov 14 01:49:37 2012
@@ -0,0 +1,2 @@
+Describe the communication between client and server
+between client communications
\ No newline at end of file

Added: openjpa/site/trunk/content/opentradercommunication.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentradercommunication.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentradercommunication.cwiki (added)
+++ openjpa/site/trunk/content/opentradercommunication.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1,2 @@
+Describe the communication between client and server
+between client communications
\ No newline at end of file

Propchange: openjpa/site/trunk/content/opentradercommunication.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/opentradercommunication.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentradercommunication.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentradercommunication.mdtext (added)
+++ openjpa/site/trunk/content/opentradercommunication.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1,3 @@
+Title: OpenTraderCommunication
+Describe the communication between client and server
+between client communications

Added: openjpa/site/trunk/content/opentraderdeploy
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderdeploy?rev=1409057&view=auto
==============================================================================
    (empty)

Added: openjpa/site/trunk/content/opentraderdeploy.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderdeploy.cwiki?rev=1409057&view=auto
==============================================================================
    (empty)

Propchange: openjpa/site/trunk/content/opentraderdeploy.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/opentraderdeploy.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderdeploy.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderdeploy.mdtext (added)
+++ openjpa/site/trunk/content/opentraderdeploy.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1 @@
+Title: OpenTraderDeploy

Added: openjpa/site/trunk/content/opentraderenvironment
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderenvironment?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderenvironment (added)
+++ openjpa/site/trunk/content/opentraderenvironment Wed Nov 14 01:49:37 2012
@@ -0,0 +1 @@
+What do we need to download
\ No newline at end of file

Added: openjpa/site/trunk/content/opentraderenvironment.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderenvironment.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderenvironment.cwiki (added)
+++ openjpa/site/trunk/content/opentraderenvironment.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1 @@
+What do we need to download
\ No newline at end of file

Propchange: openjpa/site/trunk/content/opentraderenvironment.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/opentraderenvironment.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderenvironment.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderenvironment.mdtext (added)
+++ openjpa/site/trunk/content/opentraderenvironment.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1,2 @@
+Title: OpenTraderEnvironment
+What do we need to download

Added: openjpa/site/trunk/content/opentraderserver
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderserver?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderserver (added)
+++ openjpa/site/trunk/content/opentraderserver Wed Nov 14 01:49:37 2012
@@ -0,0 +1 @@
+Describe the server
\ No newline at end of file

Added: openjpa/site/trunk/content/opentraderserver.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderserver.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderserver.cwiki (added)
+++ openjpa/site/trunk/content/opentraderserver.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1 @@
+Describe the server
\ No newline at end of file

Propchange: openjpa/site/trunk/content/opentraderserver.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/opentraderserver.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/opentraderserver.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/opentraderserver.mdtext (added)
+++ openjpa/site/trunk/content/opentraderserver.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1,2 @@
+Title: OpenTraderServer
+Describe the server

Added: openjpa/site/trunk/content/overview
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/overview?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/overview (added)
+++ openjpa/site/trunk/content/overview Wed Nov 14 01:49:37 2012
@@ -0,0 +1,5 @@
+{excerpt:hidden=true}Overview{excerpt}
+
+h1. Overview
+
+{children:all=true|excerpt=true} 
\ No newline at end of file

Added: openjpa/site/trunk/content/overview.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/overview.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/overview.cwiki (added)
+++ openjpa/site/trunk/content/overview.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1,5 @@
+{excerpt:hidden=true}Overview{excerpt}
+
+h1. Overview
+
+{children:all=true|excerpt=true} 
\ No newline at end of file

Propchange: openjpa/site/trunk/content/overview.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/overview.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/overview.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/overview.mdtext (added)
+++ openjpa/site/trunk/content/overview.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1,7 @@
+Title: Overview
+{excerpt:hidden=true}Overview{excerpt}
+
+<a name="Overview-Overview"></a>
+# Overview
+
+{children:all=true|excerpt=true} 

Added: openjpa/site/trunk/content/performance-guide
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/performance-guide?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/performance-guide (added)
+++ openjpa/site/trunk/content/performance-guide Wed Nov 14 01:49:37 2012
@@ -0,0 +1,26 @@
+{excerpt:hidden=true}OpenJPA Performance Guide{excerpt}
+
+h1. OpenJPA Performance Guide
+
+OpenJPA has numerous configuration properties that apply to many different use cases. The complete list of properties can be found in the most current [user manual|http://openjpa.apache.org/builds/latest/docs/manual/manual.html#ref_guide_optimization]. The remainder of this guide is going to walk through the properties that will generally provide the most performance improvement. 
+
+h2. Caching
+
+h5. DataCache
+- Link to tuning ?
+
+h5. QueryCache
+- Link to tuning ?
+
+h5. JPA 2.0 Caching 
+
+h5. Using MBean performance monitor
+ - ?
+
+h2. Database Connection Pooling
+
+h2. Enhancement 
+
+h2. MetaDataRepository
+
+h2. 
\ No newline at end of file

Added: openjpa/site/trunk/content/performance-guide.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/performance-guide.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/performance-guide.cwiki (added)
+++ openjpa/site/trunk/content/performance-guide.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1,26 @@
+{excerpt:hidden=true}OpenJPA Performance Guide{excerpt}
+
+h1. OpenJPA Performance Guide
+
+OpenJPA has numerous configuration properties that apply to many different use cases. The complete list of properties can be found in the most current [user manual|http://openjpa.apache.org/builds/latest/docs/manual/manual.html#ref_guide_optimization]. The remainder of this guide is going to walk through the properties that will generally provide the most performance improvement. 
+
+h2. Caching
+
+h5. DataCache
+- Link to tuning ?
+
+h5. QueryCache
+- Link to tuning ?
+
+h5. JPA 2.0 Caching 
+
+h5. Using MBean performance monitor
+ - ?
+
+h2. Database Connection Pooling
+
+h2. Enhancement 
+
+h2. MetaDataRepository
+
+h2. 
\ No newline at end of file

Propchange: openjpa/site/trunk/content/performance-guide.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/performance-guide.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/performance-guide.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/performance-guide.mdtext (added)
+++ openjpa/site/trunk/content/performance-guide.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1,40 @@
+Title: Performance guide
+{excerpt:hidden=true}OpenJPA Performance Guide{excerpt}
+
+<a name="Performanceguide-OpenJPAPerformanceGuide"></a>
+# OpenJPA Performance Guide
+
+OpenJPA has numerous configuration properties that apply to many different
+use cases. The complete list of properties can be found in the most current [user manual](http://openjpa.apache.org/builds/latest/docs/manual/manual.html#ref_guide_optimization)
+. The remainder of this guide is going to walk through the properties that
+will generally provide the most performance improvement. 
+
+<a name="Performanceguide-Caching"></a>
+## Caching
+
+<a name="Performanceguide-DataCache"></a>
+##### DataCache
+- Link to tuning ?
+
+<a name="Performanceguide-QueryCache"></a>
+##### QueryCache
+- Link to tuning ?
+
+<a name="Performanceguide-JPA2.0Caching"></a>
+##### JPA 2.0 Caching 
+
+<a name="Performanceguide-UsingMBeanperformancemonitor"></a>
+##### Using MBean performance monitor
+ - ?
+
+<a name="Performanceguide-DatabaseConnectionPooling"></a>
+## Database Connection Pooling
+
+<a name="Performanceguide-Enhancement"></a>
+## Enhancement 
+
+<a name="Performanceguide-MetaDataRepository"></a>
+## MetaDataRepository
+
+<a name="Performanceguide-"></a>
+## 

Added: openjpa/site/trunk/content/powered-by
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/powered-by?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/powered-by (added)
+++ openjpa/site/trunk/content/powered-by Wed Nov 14 01:49:37 2012
@@ -0,0 +1,20 @@
+{excerpt:hidden=true}Other products and projects using OpenJPA{excerpt}
+
+This page list products and companies that are currently using OpenJPA.
+
+|!http://www.compass-project.org/images/compassheader3.png!|[Compass|http://www.compass-project.org/] is a first class open source Java Search Engine Framework, enabling the power of Search Engine semantics to your application stack decoratively. Compass has "native" integration with OpenJPA by working in an "embedded" mode within it.|
+|!http://wiki.easybeans.org/xwiki/bin/download/XWiki/MySkin/easybeans.png!|[EasyBeans|http://www.easybeans.net]: EasyBeans is an open source, lightweight and modular EJB3 container hosted by the [OW2 consortium|http://www.ow2.org]. EasyBeans is the EJB container of the [JOnAS application server|http://jonas.objectweb.org]. EasyBeans can be integrated in application servers like [Apache Tomcat|http://tomcat.apache.org] or [Jetty|http://jetty.codehaus.org/jetty/]. There is a version provided as OSGi bundles. Supporting several persistence providers, since the 1.0 RC1 release, OpenJPA is the default persistence provider in some packages.|
+|!http://geronimo.apache.org/images/topleft_logo_437x64.gif!|[Geronimo|http://geronimo.apache.org/]: The Apache Geronimo project is a free Java EE certified application server developed by the Apache Software Foundation and distributed under the Apache license. The goal of the Geronimo project is to produce a server runtime framework that pulls together the best Open Source alternatives to create runtimes that meet the needs of developers and system administrators. OpenJPA 1.0.x is shipped as part of Geronimo 2.0.x through 2.1.3, while OpenJPA 1.2.x is included starting with 2.1.4.|
+|!http://t1d.www-306.cacheibm.com/software/main/img/com/ws_brandmark_title.gif!|[IBM WebSphere Application Server V8.5|http://www.ibm.com/developerworks/downloads/ws/was/] is a Java EE 6 certified application server which includes OpenJPA 2.2.x, allowing users to simply deploy an enterprise archive, web archive, or EJB-JAR that contains a persistence unit. \\
+[IBM WebSphere Application Server V8.0|http://www.ibm.com/developerworks/downloads/ws/was/] is a Java EE 6 certified application server which includes OpenJPA 2.1.x, allowing users to simply deploy an enterprise archive, web archive, or EJB-JAR that contains a persistence unit. \\
+[Feature Pack for OSGi Applications and JPA 2.0 for WebSphere Application Server v7.0|http://www-01.ibm.com/software/webservers/appserv/was/featurepacks/osgi/] This OSGi / JPA 2.0 Feature Pack delivers JPA 2.0 functionality (based on OpenJPA 2.0.x) for existing Java EE 5 users on WebSphere Application Server v7.0.\\
+[IBM WebSphere Application Server V7.0|http://www.ibm.com/developerworks/downloads/ws/was/] is a Java EE 5 certified application server which includes OpenJPA 1.2.x, allowing users to simply deploy an enterprise archive, web archive, or EJB-JAR that contains a persistence unit. \\
+[Feature Pack for EJB 3.0 for IBM WebSphere Application Server V6.1|http://www-01.ibm.com/support/docview.wss?rs=177&uid=swg21287579]: The Feature Pack for EJB 3.0 delivers several new Java EE 5 technologies, including EJB 3.0 and Java™ Persistence API (JPA based on OpenJPA 1.0.x), for existing Java EE 1.4 users on WebSphere Application Server V6.1. \\
+[IBM WebSphere Application Server Community Edition V2.1|http://www.ibm.com/developerworks/websphere/zones/was/wasce.html] is a Java EE 5 certified application server based on [Apache Geronimo|http://geronimo.apache.org/], which includes OpenJPA.|
+|!http://james.apache.org/images/logos/james-project-logo.gif!|[James|http://james.apache.org/]: The Apache James Project delivers a rich set of open source modules and libraries, written in Java, related to Internet mail communication which build into an advanced enterprise mail server. OpenJPA is used in one of the mailbox persistence mechanisms.|
+|!http://ode.apache.org/logo.data/ODE_logo_v6-1.png!|[ODE|http://ode.apache.org/]: ODE (Orchestration Director Engine) is an Apache project to develop an open-source, Apache-licensed, implementation of the WS-BPEL specification. ODE is a choreography engine allowing you to develop processes to call services in a well-defined manner. OpenJPA 0.9.7 is included in versions 1.0 and 1.1, OpenJPA 1.1.0 is included in version 1.2, and OpenJPA 1.2.1 is included in version 1.3.|
+|!http://code.google.com/p/openmeetings/logo?cct=1316071860!|[OpenMeetings|http://code.google.com/p/openmeetings/]: OpenMeetings is a free browser-based software that allows you to set up instantly a conference in the Web.|
+|Oracle WebLogic Server|[Oracle WebLogic Server|http://www.oracle.com/us/products/middleware/application-server/index.html]: WebLogic Server 10 uses Kodo as the default JPA implementation, and for various internal services. Kodo, in turn, includes OpenJPA.|
+|!http://incubator.apache.org/syncope/images/apache-syncope-logo-small.jpg!|[Syncope|http://incubator.apache.org/syncope/]: Apache Syncope is an Open Source system for managing digital identities in enterprise environments, implemented in JEE technology and released under Apache 2.0 license.  OpenJPA is managing the persistence layer and allows Syncope to run on a wide variety of DBMS.|
+|!http://openejb.staging.apache.org/images/feather-logo.png!|[TomEE|http://openejb.apache.org/apache-tomee.html]: OpenEJB/TomEE is an open source, modular, configurable, and extendable EJB Container System and EJB Server. OpenJPA is included with OpenEJB version 3.0 and later.|
+|!http://tuscany.apache.org/images/TuscanyLogo.jpg!|[Tuscany|http://tuscany.apache.org/]: Apache Tuscany simplifies the task of developing SOA solutions by providing a comprehensive infrastructure for SOA development and management that is based on Service Component Architecture (SCA) standard.|

Added: openjpa/site/trunk/content/powered-by.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/powered-by.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/powered-by.cwiki (added)
+++ openjpa/site/trunk/content/powered-by.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1,20 @@
+{excerpt:hidden=true}Other products and projects using OpenJPA{excerpt}
+
+This page list products and companies that are currently using OpenJPA.
+
+|!http://www.compass-project.org/images/compassheader3.png!|[Compass|http://www.compass-project.org/] is a first class open source Java Search Engine Framework, enabling the power of Search Engine semantics to your application stack decoratively. Compass has "native" integration with OpenJPA by working in an "embedded" mode within it.|
+|!http://wiki.easybeans.org/xwiki/bin/download/XWiki/MySkin/easybeans.png!|[EasyBeans|http://www.easybeans.net]: EasyBeans is an open source, lightweight and modular EJB3 container hosted by the [OW2 consortium|http://www.ow2.org]. EasyBeans is the EJB container of the [JOnAS application server|http://jonas.objectweb.org]. EasyBeans can be integrated in application servers like [Apache Tomcat|http://tomcat.apache.org] or [Jetty|http://jetty.codehaus.org/jetty/]. There is a version provided as OSGi bundles. Supporting several persistence providers, since the 1.0 RC1 release, OpenJPA is the default persistence provider in some packages.|
+|!http://geronimo.apache.org/images/topleft_logo_437x64.gif!|[Geronimo|http://geronimo.apache.org/]: The Apache Geronimo project is a free Java EE certified application server developed by the Apache Software Foundation and distributed under the Apache license. The goal of the Geronimo project is to produce a server runtime framework that pulls together the best Open Source alternatives to create runtimes that meet the needs of developers and system administrators. OpenJPA 1.0.x is shipped as part of Geronimo 2.0.x through 2.1.3, while OpenJPA 1.2.x is included starting with 2.1.4.|
+|!http://t1d.www-306.cacheibm.com/software/main/img/com/ws_brandmark_title.gif!|[IBM WebSphere Application Server V8.5|http://www.ibm.com/developerworks/downloads/ws/was/] is a Java EE 6 certified application server which includes OpenJPA 2.2.x, allowing users to simply deploy an enterprise archive, web archive, or EJB-JAR that contains a persistence unit. \\
+[IBM WebSphere Application Server V8.0|http://www.ibm.com/developerworks/downloads/ws/was/] is a Java EE 6 certified application server which includes OpenJPA 2.1.x, allowing users to simply deploy an enterprise archive, web archive, or EJB-JAR that contains a persistence unit. \\
+[Feature Pack for OSGi Applications and JPA 2.0 for WebSphere Application Server v7.0|http://www-01.ibm.com/software/webservers/appserv/was/featurepacks/osgi/] This OSGi / JPA 2.0 Feature Pack delivers JPA 2.0 functionality (based on OpenJPA 2.0.x) for existing Java EE 5 users on WebSphere Application Server v7.0.\\
+[IBM WebSphere Application Server V7.0|http://www.ibm.com/developerworks/downloads/ws/was/] is a Java EE 5 certified application server which includes OpenJPA 1.2.x, allowing users to simply deploy an enterprise archive, web archive, or EJB-JAR that contains a persistence unit. \\
+[Feature Pack for EJB 3.0 for IBM WebSphere Application Server V6.1|http://www-01.ibm.com/support/docview.wss?rs=177&uid=swg21287579]: The Feature Pack for EJB 3.0 delivers several new Java EE 5 technologies, including EJB 3.0 and Java™ Persistence API (JPA based on OpenJPA 1.0.x), for existing Java EE 1.4 users on WebSphere Application Server V6.1. \\
+[IBM WebSphere Application Server Community Edition V2.1|http://www.ibm.com/developerworks/websphere/zones/was/wasce.html] is a Java EE 5 certified application server based on [Apache Geronimo|http://geronimo.apache.org/], which includes OpenJPA.|
+|!http://james.apache.org/images/logos/james-project-logo.gif!|[James|http://james.apache.org/]: The Apache James Project delivers a rich set of open source modules and libraries, written in Java, related to Internet mail communication which build into an advanced enterprise mail server. OpenJPA is used in one of the mailbox persistence mechanisms.|
+|!http://ode.apache.org/logo.data/ODE_logo_v6-1.png!|[ODE|http://ode.apache.org/]: ODE (Orchestration Director Engine) is an Apache project to develop an open-source, Apache-licensed, implementation of the WS-BPEL specification. ODE is a choreography engine allowing you to develop processes to call services in a well-defined manner. OpenJPA 0.9.7 is included in versions 1.0 and 1.1, OpenJPA 1.1.0 is included in version 1.2, and OpenJPA 1.2.1 is included in version 1.3.|
+|!http://code.google.com/p/openmeetings/logo?cct=1316071860!|[OpenMeetings|http://code.google.com/p/openmeetings/]: OpenMeetings is a free browser-based software that allows you to set up instantly a conference in the Web.|
+|Oracle WebLogic Server|[Oracle WebLogic Server|http://www.oracle.com/us/products/middleware/application-server/index.html]: WebLogic Server 10 uses Kodo as the default JPA implementation, and for various internal services. Kodo, in turn, includes OpenJPA.|
+|!http://incubator.apache.org/syncope/images/apache-syncope-logo-small.jpg!|[Syncope|http://incubator.apache.org/syncope/]: Apache Syncope is an Open Source system for managing digital identities in enterprise environments, implemented in JEE technology and released under Apache 2.0 license.  OpenJPA is managing the persistence layer and allows Syncope to run on a wide variety of DBMS.|
+|!http://openejb.staging.apache.org/images/feather-logo.png!|[TomEE|http://openejb.apache.org/apache-tomee.html]: OpenEJB/TomEE is an open source, modular, configurable, and extendable EJB Container System and EJB Server. OpenJPA is included with OpenEJB version 3.0 and later.|
+|!http://tuscany.apache.org/images/TuscanyLogo.jpg!|[Tuscany|http://tuscany.apache.org/]: Apache Tuscany simplifies the task of developing SOA solutions by providing a comprehensive infrastructure for SOA development and management that is based on Service Component Architecture (SCA) standard.|

Propchange: openjpa/site/trunk/content/powered-by.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/powered-by.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/powered-by.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/powered-by.mdtext (added)
+++ openjpa/site/trunk/content/powered-by.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1,72 @@
+Title: Powered By
+{excerpt:hidden=true}Other products and projects using OpenJPA{excerpt}
+
+This page list products and companies that are currently using OpenJPA.
+
+<table>
+<tr><td>!http://www.compass-project.org/images/compassheader3.png!</td><td>[Compass](http://www.compass-project.org/)
+ is a first class open source Java Search Engine Framework, enabling the
+power of Search Engine semantics to your application stack decoratively.
+Compass has "native" integration with OpenJPA by working in an "embedded"
+mode within it.</td></tr>
+<tr><td>!http://wiki.easybeans.org/xwiki/bin/download/XWiki/MySkin/easybeans.png!</td><td>[EasyBeans](http://www.easybeans.net)
+: EasyBeans is an open source, lightweight and modular EJB3 container
+hosted by the [OW2 consortium</td><td>http://www.ow2.org]
+. EasyBeans is the EJB container of the [JOnAS application server</td><td>http://jonas.objectweb.org]
+. EasyBeans can be integrated in application servers like [Apache Tomcat</td><td>http://tomcat.apache.org]
+ or [Jetty</td><td>http://jetty.codehaus.org/jetty/]
+. There is a version provided as OSGi bundles. Supporting several
+persistence providers, since the 1.0 RC1 release, OpenJPA is the default
+persistence provider in some packages.</td></tr>
+<tr><td>!http://geronimo.apache.org/images/topleft_logo_437x64.gif!</td><td>[Geronimo](http://geronimo.apache.org/)
+: The Apache Geronimo project is a free Java EE certified application
+server developed by the Apache Software Foundation and distributed under
+the Apache license. The goal of the Geronimo project is to produce a server
+runtime framework that pulls together the best Open Source alternatives to
+create runtimes that meet the needs of developers and system
+administrators. OpenJPA 1.0.x is shipped as part of Geronimo 2.0.x through
+2.1.3, while OpenJPA 1.2.x is included starting with 2.1.4.</td></tr>
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+[IBM WebSphere Application Server Community Edition V2.1](http://www.ibm.com/developerworks/websphere/zones/was/wasce.html)
+ is a Java EE 5 certified application server based on [Apache Geronimo|http://geronimo.apache.org/]
+, which includes OpenJPA.|
+<tr><td>!http://james.apache.org/images/logos/james-project-logo.gif!</td><td>[James](http://james.apache.org/)
+: The Apache James Project delivers a rich set of open source modules and
+libraries, written in Java, related to Internet mail communication which
+build into an advanced enterprise mail server. OpenJPA is used in one of
+the mailbox persistence mechanisms.</td></tr>
+<tr><td>!http://ode.apache.org/logo.data/ODE_logo_v6-1.png!</td><td>[ODE](http://ode.apache.org/)
+: ODE (Orchestration Director Engine) is an Apache project to develop an
+open-source, Apache-licensed, implementation of the WS-BPEL specification.
+ODE is a choreography engine allowing you to develop processes to call
+services in a well-defined manner. OpenJPA 0.9.7 is included in versions
+1.0 and 1.1, OpenJPA 1.1.0 is included in version 1.2, and OpenJPA 1.2.1 is
+included in version 1.3.</td></tr>
+<tr><td>!http://code.google.com/p/openmeetings/logo?cct=1316071860!</td><td>[OpenMeetings](http://code.google.com/p/openmeetings/)
+: OpenMeetings is a free browser-based software that allows you to set up
+instantly a conference in the Web.</td></tr>
+<tr><td>Oracle WebLogic Server</td><td>[Oracle WebLogic Server](http://www.oracle.com/us/products/middleware/application-server/index.html)
+: WebLogic Server 10 uses Kodo as the default JPA implementation, and for
+various internal services. Kodo, in turn, includes OpenJPA.</td></tr>
+<tr><td>!http://incubator.apache.org/syncope/images/apache-syncope-logo-small.jpg!</td><td>[Syncope](http://incubator.apache.org/syncope/)
+: Apache Syncope is an Open Source system for managing digital identities
+in enterprise environments, implemented in JEE technology and released
+under Apache 2.0 license.  OpenJPA is managing the persistence layer and
+allows Syncope to run on a wide variety of DBMS.</td></tr>
+<tr><td>!http://openejb.staging.apache.org/images/feather-logo.png!</td><td>[TomEE](http://openejb.apache.org/apache-tomee.html)
+: OpenEJB/TomEE is an open source, modular, configurable, and extendable
+EJB Container System and EJB Server. OpenJPA is included with OpenEJB
+version 3.0 and later.</td></tr>
+<tr><td>!http://tuscany.apache.org/images/TuscanyLogo.jpg!</td><td>[Tuscany](http://tuscany.apache.org/)
+: Apache Tuscany simplifies the task of developing SOA solutions by
+providing a comprehensive infrastructure for SOA development and management
+that is based on Service Component Architecture (SCA) standard.</td></tr>

Added: openjpa/site/trunk/content/privacy-policy
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/privacy-policy?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/privacy-policy (added)
+++ openjpa/site/trunk/content/privacy-policy Wed Nov 14 01:49:37 2012
@@ -0,0 +1,22 @@
+All materials provided on the Apache OpenJPA website (openjpa.apache.org) is Copyright © 2005-2009, The Apache Software Foundation and Licensed under [ASL 2.0|http://www.apache.org/licenses/LICENSE-2.0].
+
+Privacy Policy - Last Updated:  April 29, 2009
+
+Information about your use of this website is collected using [server access logs|http://people.apache.org/~vgritsenko/stats/] and a tracking cookie.  The collected information consists of the following:
+* The IP address from which you access the website;
+* The type of browser and operating system you use to access our site;
+* The date and time you access our site;
+* The pages you visit; and
+* The addresses of pages from where you followed a link to our site.
+
+Part of this information is gathered using a tracking cookie set by the [Google Analytics|http://www.google.com/analytics/] service and handled by Google as described in their [privacy policy|http://www.google.com/privacy.html]. See your browser documentation for instructions on how to disable the cookie if you prefer not to share this data with Google.
+
+We use the gathered information to help us make our site more useful to visitors and to better understand how and when our site is used. We do not track or collect personally identifiable information or associate gathered data with any personally identifying information from other sources.
+
+By using this website, you consent to the collection of this data in the manner and for the purpose described above.
+
+Occasionally, at our discretion, we may include links to other third party content or services on our website. These third party sites have separate and independent privacy policies and therefore we have no responsibility or liability for the content and activities of these linked sites.
+
+If we make changes to our privacy policy, we will send a notification to our mailing lists <us...@openjpa.apache.org> and <de...@openjpa.apache.org> along with updating the "Last Updated" date at the top of this page.
+
+If there are any questions regarding this privacy policy, you can contact us on the following mailing list <pr...@openjpa.apache.org>.

Added: openjpa/site/trunk/content/privacy-policy.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/privacy-policy.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/privacy-policy.cwiki (added)
+++ openjpa/site/trunk/content/privacy-policy.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1,22 @@
+All materials provided on the Apache OpenJPA website (openjpa.apache.org) is Copyright © 2005-2009, The Apache Software Foundation and Licensed under [ASL 2.0|http://www.apache.org/licenses/LICENSE-2.0].
+
+Privacy Policy - Last Updated:  April 29, 2009
+
+Information about your use of this website is collected using [server access logs|http://people.apache.org/~vgritsenko/stats/] and a tracking cookie.  The collected information consists of the following:
+* The IP address from which you access the website;
+* The type of browser and operating system you use to access our site;
+* The date and time you access our site;
+* The pages you visit; and
+* The addresses of pages from where you followed a link to our site.
+
+Part of this information is gathered using a tracking cookie set by the [Google Analytics|http://www.google.com/analytics/] service and handled by Google as described in their [privacy policy|http://www.google.com/privacy.html]. See your browser documentation for instructions on how to disable the cookie if you prefer not to share this data with Google.
+
+We use the gathered information to help us make our site more useful to visitors and to better understand how and when our site is used. We do not track or collect personally identifiable information or associate gathered data with any personally identifying information from other sources.
+
+By using this website, you consent to the collection of this data in the manner and for the purpose described above.
+
+Occasionally, at our discretion, we may include links to other third party content or services on our website. These third party sites have separate and independent privacy policies and therefore we have no responsibility or liability for the content and activities of these linked sites.
+
+If we make changes to our privacy policy, we will send a notification to our mailing lists <us...@openjpa.apache.org> and <de...@openjpa.apache.org> along with updating the "Last Updated" date at the top of this page.
+
+If there are any questions regarding this privacy policy, you can contact us on the following mailing list <pr...@openjpa.apache.org>.

Propchange: openjpa/site/trunk/content/privacy-policy.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/site/trunk/content/privacy-policy.mdtext
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/privacy-policy.mdtext?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/privacy-policy.mdtext (added)
+++ openjpa/site/trunk/content/privacy-policy.mdtext Wed Nov 14 01:49:37 2012
@@ -0,0 +1,40 @@
+Title: Privacy Policy
+All materials provided on the Apache OpenJPA website (openjpa.apache.org)
+is Copyright © 2005-2009, The Apache Software Foundation and Licensed under [ASL 2.0](http://www.apache.org/licenses/LICENSE-2.0)
+.
+
+Privacy Policy - Last Updated:	April 29, 2009
+
+Information about your use of this website is collected using [server access logs](http://people.apache.org/~vgritsenko/stats/)
+ and a tracking cookie.  The collected information consists of the
+following:
+* The IP address from which you access the website;
+* The type of browser and operating system you use to access our site;
+* The date and time you access our site;
+* The pages you visit; and
+* The addresses of pages from where you followed a link to our site.
+
+Part of this information is gathered using a tracking cookie set by the [Google Analytics](http://www.google.com/analytics/)
+ service and handled by Google as described in their [privacy policy|http://www.google.com/privacy.html]
+. See your browser documentation for instructions on how to disable the
+cookie if you prefer not to share this data with Google.
+
+We use the gathered information to help us make our site more useful to
+visitors and to better understand how and when our site is used. We do not
+track or collect personally identifiable information or associate gathered
+data with any personally identifying information from other sources.
+
+By using this website, you consent to the collection of this data in the
+manner and for the purpose described above.
+
+Occasionally, at our discretion, we may include links to other third party
+content or services on our website. These third party sites have separate
+and independent privacy policies and therefore we have no responsibility or
+liability for the content and activities of these linked sites.
+
+If we make changes to our privacy policy, we will send a notification to
+our mailing lists <us...@openjpa.apache.org> and <de...@openjpa.apache.org>
+along with updating the "Last Updated" date at the top of this page.
+
+If there are any questions regarding this privacy policy, you can contact
+us on the following mailing list <pr...@openjpa.apache.org>.

Added: openjpa/site/trunk/content/publishing-serp-to-maven-central-repository
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/publishing-serp-to-maven-central-repository?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/publishing-serp-to-maven-central-repository (added)
+++ openjpa/site/trunk/content/publishing-serp-to-maven-central-repository Wed Nov 14 01:49:37 2012
@@ -0,0 +1,80 @@
+h1. Publishing Serp to Maven Central Repository
+h2. Serp Project
+Serp is used by OpenJPA for the bytecode enhancement processing.  It is maintained as a [SourceForge project|http://sourceforge.net/projects/serp].  Serp has been a very solid third-party dependent software project.  OpenJPA has had a dependency on Serp v1.13.1 for a long time.  Recently, a problem was discovered ([JIRA OPENJPA-2240|http://issues.apache.org/jira/browse/OPENJPA-2240]) which required an update to Serp.  Eventually, it was determined that this problem was resolved in the 1.14.1 version of Serp.  Unfortunately, the last version of Serp that was published to Maven Central was version 1.13.1.  This page discusses how to get an updated Serp release into the Maven Central repository.
+
+SourceForge Serp:  https://sourceforge.net/projects/serp/
+Serp homepage:  http://serp.sourceforge.net
+Serp sourcecode:  http://serp.cvs.sourceforge.net/serp
+
+
+h2. Maven Instructions
+The easiest way to get the updated artifacts for Serp 1.14.1 into Maven Central was to follow the instructions on this page:  https://docs.sonatype.org/display/Repository/Uploading+3rd-party+Artifacts+to+The+Central+Repository.  You will need a GPG utility and signature (instructions on that page).  You will also need a login for Sonatype's Nexus server (instructions also on that page).
+
+Since this exercise shouldn't be a common occurrence, I just went the manual route and signed each of the artifacts that were built into my local repository:
+{code}
+> gpg -ab serp-1.14.1-javadoc.jar
+> gpg -ab serp-1.14.1.jar
+> gpg -ab serp-1.14.1-sources.jar
+> gpg -ab serp-1.14.1.pom
+{code}
+
+And, then I created a bundle:
+{code}
+> jar -cvf serp-1.14.1-bundle.jar serp-*
+{code}
+
+The bundle contained:
+{code}
+Archive:  serp-1.14.1-bundle.jar
+  Length     Date   Time    Name
+ --------    ----   ----    ----
+        0  09-04-12 15:23   META-INF/
+       62  09-04-12 15:23   META-INF/MANIFEST.MF
+   962397  09-04-12 15:21   serp-1.14.1-javadoc.jar
+      499  09-04-12 15:22   serp-1.14.1-javadoc.jar.asc
+   140576  09-04-12 15:21   serp-1.14.1-sources.jar
+      499  09-04-12 15:21   serp-1.14.1-sources.jar.asc
+   206638  09-04-12 15:21   serp-1.14.1.jar
+      499  09-04-12 15:22   serp-1.14.1.jar.asc
+     5508  09-04-12 15:21   serp-1.14.1.pom
+      499  09-04-12 15:23   serp-1.14.1.pom.asc
+ --------                   -------
+  1317177                   10 files
+{code}
+
+This bundle is what I uploaded to the Sonatype Staging repository as outlined on that [wiki page|https://docs.sonatype.org/display/Repository/Uploading+3rd-party+Artifacts+to+The+Central+Repository].
+
+{note:title="Not documented.."}
+One process point that was not documented on that [wiki page|https://docs.sonatype.org/display/Repository/Uploading+3rd-party+Artifacts+to+The+Central+Repository] was the need for a JIRA to be created against the OSSRH project (Open Source Project Repository Hosting).  This JIRA should include the Central Repository staging URL that is provided after you upload the bundle.  Here's an [example JIRA|https://issues.sonatype.org/browse/OSSRH-4247] that worked for me.  If all else fails, contact Joel Orlina, jorlina@sonatype.com.
+{note}
+
+h2. Serp Code Updates
+In order to create the -javadoc and -sources jar files, I had to make a couple of minor updates to the existing pom file for serp 1.14.1.  I committed these changes to HEAD (1.14.2 snapshot) for future reference:
+{code}
+      <plugin>
+          <artifactId>maven-source-plugin</artifactId>
+          <executions>
+            <execution>
+                <id>attach-sources</id>
+                <goals>
+                    <goal>jar</goal>
+                </goals>
+            </execution>
+         </executions>
+      </plugin>
+      <plugin>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <executions>
+            <execution>
+                <id>attach-javadoc</id>
+                <goals>
+                    <goal>jar</goal>
+                </goals>
+            </execution>
+         </executions>
+      </plugin>
+{code}
+
+If we continue to require changes to Serp, we may want to do more extensive changes in the maven processing to make it easier to deploy the artifacts.  Several of the deployment locations in the pom.xml no longer exist.  I made a couple of updates, but the permissions don't show up right, so the deployment step is still manual.
+
+Another idea would be to consume Serp into OpenJPA as an Apache sub-project...  That might be the best long-term solution.  But, I will leave that for another day.
\ No newline at end of file

Added: openjpa/site/trunk/content/publishing-serp-to-maven-central-repository.cwiki
URL: http://svn.apache.org/viewvc/openjpa/site/trunk/content/publishing-serp-to-maven-central-repository.cwiki?rev=1409057&view=auto
==============================================================================
--- openjpa/site/trunk/content/publishing-serp-to-maven-central-repository.cwiki (added)
+++ openjpa/site/trunk/content/publishing-serp-to-maven-central-repository.cwiki Wed Nov 14 01:49:37 2012
@@ -0,0 +1,80 @@
+h1. Publishing Serp to Maven Central Repository
+h2. Serp Project
+Serp is used by OpenJPA for the bytecode enhancement processing.  It is maintained as a [SourceForge project|http://sourceforge.net/projects/serp].  Serp has been a very solid third-party dependent software project.  OpenJPA has had a dependency on Serp v1.13.1 for a long time.  Recently, a problem was discovered ([JIRA OPENJPA-2240|http://issues.apache.org/jira/browse/OPENJPA-2240]) which required an update to Serp.  Eventually, it was determined that this problem was resolved in the 1.14.1 version of Serp.  Unfortunately, the last version of Serp that was published to Maven Central was version 1.13.1.  This page discusses how to get an updated Serp release into the Maven Central repository.
+
+SourceForge Serp:  https://sourceforge.net/projects/serp/
+Serp homepage:  http://serp.sourceforge.net
+Serp sourcecode:  http://serp.cvs.sourceforge.net/serp
+
+
+h2. Maven Instructions
+The easiest way to get the updated artifacts for Serp 1.14.1 into Maven Central was to follow the instructions on this page:  https://docs.sonatype.org/display/Repository/Uploading+3rd-party+Artifacts+to+The+Central+Repository.  You will need a GPG utility and signature (instructions on that page).  You will also need a login for Sonatype's Nexus server (instructions also on that page).
+
+Since this exercise shouldn't be a common occurrence, I just went the manual route and signed each of the artifacts that were built into my local repository:
+{code}
+> gpg -ab serp-1.14.1-javadoc.jar
+> gpg -ab serp-1.14.1.jar
+> gpg -ab serp-1.14.1-sources.jar
+> gpg -ab serp-1.14.1.pom
+{code}
+
+And, then I created a bundle:
+{code}
+> jar -cvf serp-1.14.1-bundle.jar serp-*
+{code}
+
+The bundle contained:
+{code}
+Archive:  serp-1.14.1-bundle.jar
+  Length     Date   Time    Name
+ --------    ----   ----    ----
+        0  09-04-12 15:23   META-INF/
+       62  09-04-12 15:23   META-INF/MANIFEST.MF
+   962397  09-04-12 15:21   serp-1.14.1-javadoc.jar
+      499  09-04-12 15:22   serp-1.14.1-javadoc.jar.asc
+   140576  09-04-12 15:21   serp-1.14.1-sources.jar
+      499  09-04-12 15:21   serp-1.14.1-sources.jar.asc
+   206638  09-04-12 15:21   serp-1.14.1.jar
+      499  09-04-12 15:22   serp-1.14.1.jar.asc
+     5508  09-04-12 15:21   serp-1.14.1.pom
+      499  09-04-12 15:23   serp-1.14.1.pom.asc
+ --------                   -------
+  1317177                   10 files
+{code}
+
+This bundle is what I uploaded to the Sonatype Staging repository as outlined on that [wiki page|https://docs.sonatype.org/display/Repository/Uploading+3rd-party+Artifacts+to+The+Central+Repository].
+
+{note:title="Not documented.."}
+One process point that was not documented on that [wiki page|https://docs.sonatype.org/display/Repository/Uploading+3rd-party+Artifacts+to+The+Central+Repository] was the need for a JIRA to be created against the OSSRH project (Open Source Project Repository Hosting).  This JIRA should include the Central Repository staging URL that is provided after you upload the bundle.  Here's an [example JIRA|https://issues.sonatype.org/browse/OSSRH-4247] that worked for me.  If all else fails, contact Joel Orlina, jorlina@sonatype.com.
+{note}
+
+h2. Serp Code Updates
+In order to create the -javadoc and -sources jar files, I had to make a couple of minor updates to the existing pom file for serp 1.14.1.  I committed these changes to HEAD (1.14.2 snapshot) for future reference:
+{code}
+      <plugin>
+          <artifactId>maven-source-plugin</artifactId>
+          <executions>
+            <execution>
+                <id>attach-sources</id>
+                <goals>
+                    <goal>jar</goal>
+                </goals>
+            </execution>
+         </executions>
+      </plugin>
+      <plugin>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <executions>
+            <execution>
+                <id>attach-javadoc</id>
+                <goals>
+                    <goal>jar</goal>
+                </goals>
+            </execution>
+         </executions>
+      </plugin>
+{code}
+
+If we continue to require changes to Serp, we may want to do more extensive changes in the maven processing to make it easier to deploy the artifacts.  Several of the deployment locations in the pom.xml no longer exist.  I made a couple of updates, but the permissions don't show up right, so the deployment step is still manual.
+
+Another idea would be to consume Serp into OpenJPA as an Apache sub-project...  That might be the best long-term solution.  But, I will leave that for another day.
\ No newline at end of file

Propchange: openjpa/site/trunk/content/publishing-serp-to-maven-central-repository.cwiki
------------------------------------------------------------------------------
    svn:eol-style = native