From commits-return-10180-apmail-openjpa-commits-archive=openjpa.apache.org@openjpa.apache.org Sun Dec 9 13:14:37 2012 Return-Path: X-Original-To: apmail-openjpa-commits-archive@www.apache.org Delivered-To: apmail-openjpa-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1D152E0B8 for ; Sun, 9 Dec 2012 13:14:37 +0000 (UTC) Received: (qmail 83303 invoked by uid 500); 9 Dec 2012 13:14:36 -0000 Delivered-To: apmail-openjpa-commits-archive@openjpa.apache.org Received: (qmail 83271 invoked by uid 500); 9 Dec 2012 13:14:36 -0000 Mailing-List: contact commits-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list commits@openjpa.apache.org Received: (qmail 83263 invoked by uid 99); 9 Dec 2012 13:14:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 09 Dec 2012 13:14:36 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 09 Dec 2012 13:14:20 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 4B8F82388A66 for ; Sun, 9 Dec 2012 13:13:58 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r841236 [4/35] - in /websites/staging/openjpa/trunk/content: ./ artifacts/ css/ images/ images/datacache-plugin/ Date: Sun, 09 Dec 2012 13:13:50 -0000 To: commits@openjpa.apache.org From: buildbot@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121209131358.4B8F82388A66@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Added: websites/staging/openjpa/trunk/content/artifacts/daytrader_websphere.patch ============================================================================== --- websites/staging/openjpa/trunk/content/artifacts/daytrader_websphere.patch (added) +++ websites/staging/openjpa/trunk/content/artifacts/daytrader_websphere.patch Sun Dec 9 13:13:35 2012 @@ -0,0 +1,449 @@ +Index: pom.xml +=================================================================== +--- pom.xml (revision 952663) ++++ pom.xml (working copy) +@@ -189,6 +189,18 @@ + + + ++ ++ ++ org.apache.geronimo.specs ++ geronimo-jpa_2.0_spec ++ 1.0 ++ ++ ++ ++ org.apache.openjpa ++ openjpa ++ 2.0.0 ++ + + + org.apache.activemq +Index: modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/ejb3/TradeSLSBBean.java +=================================================================== +--- modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/ejb3/TradeSLSBBean.java (revision 952663) ++++ modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/ejb3/TradeSLSBBean.java (working copy) +@@ -18,10 +18,15 @@ + package org.apache.geronimo.samples.daytrader.ejb3; + + import org.apache.geronimo.samples.daytrader.AccountDataBean; ++import org.apache.geronimo.samples.daytrader.AccountDataBean_; + import org.apache.geronimo.samples.daytrader.AccountProfileDataBean; ++import org.apache.geronimo.samples.daytrader.AccountProfileDataBean_; + import org.apache.geronimo.samples.daytrader.HoldingDataBean; ++import org.apache.geronimo.samples.daytrader.HoldingDataBean_; + import org.apache.geronimo.samples.daytrader.OrderDataBean; ++import org.apache.geronimo.samples.daytrader.OrderDataBean_; + import org.apache.geronimo.samples.daytrader.QuoteDataBean; ++import org.apache.geronimo.samples.daytrader.QuoteDataBean_; + import org.apache.geronimo.samples.daytrader.TradeConfig; + import org.apache.geronimo.samples.daytrader.TradeAction; + import org.apache.geronimo.samples.daytrader.RunStatsDataBean; +@@ -43,6 +48,13 @@ + import javax.persistence.EntityManager; + import javax.persistence.PersistenceContext; + import javax.persistence.Query; ++import javax.persistence.TypedQuery; ++import javax.persistence.criteria.CriteriaBuilder; ++import javax.persistence.criteria.CriteriaQuery; ++import javax.persistence.criteria.ParameterExpression; ++import javax.persistence.criteria.Path; ++import javax.persistence.criteria.Predicate; ++import javax.persistence.criteria.Root; + import javax.transaction.HeuristicMixedException; + import javax.transaction.HeuristicRollbackException; + import javax.transaction.NotSupportedException; +@@ -51,6 +63,8 @@ + import org.apache.geronimo.samples.daytrader.util.FinancialUtils; + import org.apache.geronimo.samples.daytrader.util.Log; + import org.apache.geronimo.samples.daytrader.util.MDBStats; ++import org.apache.openjpa.persistence.criteria.OpenJPACriteriaQuery; ++import org.apache.openjpa.persistence.query.QueryBuilder; + + @Stateless + @TransactionAttribute(TransactionAttributeType.REQUIRED) +@@ -89,8 +103,14 @@ + // ordered by their change in value + Collection quotes; + +- Query query = entityManager.createNamedQuery("quoteejb.quotesByChange"); +- quotes = query.getResultList(); ++ // Demonstration of the JPA criteria query API for the following JPQL: ++ // SELECT q FROM quoteejb q WHERE q.symbol LIKE 's:1__' ORDER BY q.change1 DESC ++ CriteriaBuilder cb = entityManager.getCriteriaBuilder(); ++ CriteriaQuery c = cb.createQuery(QuoteDataBean.class); ++ Root qdb = c.from(QuoteDataBean.class); ++ c.where(cb.like(qdb.get(QuoteDataBean_.symbol), "s:1__")); ++ c.orderBy(cb.desc(qdb.get(QuoteDataBean_.change1))); ++ quotes = entityManager.createQuery(c).getResultList(); + + QuoteDataBean[] quoteArray = (QuoteDataBean[]) quotes.toArray(new QuoteDataBean[quotes.size()]); + ArrayList topGainers = new ArrayList(5); +@@ -356,12 +376,25 @@ + + // Get the primary keys for all the closed Orders for this + // account. +- Query query = entityManager.createNamedQuery("orderejb.closedOrders"); +- query.setParameter("userID", userID); +- Collection results = query.getResultList(); +- Iterator itr = results.iterator(); +- +- // Spin through the orders to populate the lazy quote fields ++ ++ // Demonstration of the JPA criteria query API for the following JPQL: ++ // SELECT o FROM orderejb o WHERE o.orderStatus = 'closed' AND o.account.profile.userID = :userID ++ CriteriaBuilder cb = entityManager.getCriteriaBuilder(); ++ CriteriaQuery c = cb.createQuery(OrderDataBean.class); ++ Root odb = c.from(OrderDataBean.class); ++ ParameterExpression uidParm = cb.parameter(String.class); ++ Path acct = odb.get(OrderDataBean_.account); ++ Path profile = acct.get(AccountDataBean_.profile); ++ Path uid = profile.get(AccountProfileDataBean_.userID); ++ Predicate closedCondition = cb.equal(odb.get(OrderDataBean_.orderStatus), "closed"); ++ Predicate uidCondition = cb.equal(uid, uidParm); ++ Predicate condition = cb.and(closedCondition, uidCondition); ++ c.where(condition); ++ TypedQuery q = entityManager.createQuery(c); ++ Collection results = q.setParameter(uidParm, userID).getResultList(); ++ ++ Iterator itr = results.iterator(); ++ // Spin through the orders to populate the lazy quote fields + while (itr.hasNext()){ + OrderDataBean thisOrder = (OrderDataBean)itr.next(); + thisOrder.getQuote(); +@@ -427,8 +460,13 @@ + if (Log.doTrace()) + Log.trace("TradeSLSBBean:getAllQuotes"); + +- Query query = entityManager.createNamedQuery("quoteejb.allQuotes"); +- return query.getResultList(); ++ // Demonstration of the JPA criteria query API for the following JPQL: ++ // SELECT q FROM quoteejb q ++ CriteriaBuilder cb = entityManager.getCriteriaBuilder(); ++ CriteriaQuery c = cb.createQuery(QuoteDataBean.class); ++ Root qbd = c.from(QuoteDataBean.class); ++ TypedQuery q = entityManager.createQuery(c); ++ return q.getResultList(); + } + + public QuoteDataBean updateQuotePriceVolume(String symbol, BigDecimal changeFactor, double sharesTraded) { +@@ -463,6 +501,7 @@ + + quote.setPrice(newPrice); + quote.setVolume(quote.getVolume() + sharesTraded); ++ quote.setChange(newPrice.subtract(quote.getOpen()).doubleValue()); + entityManager.merge(quote); + + // TODO find out if requires new here is really intended -- it is backwards, +@@ -477,9 +516,22 @@ + if (Log.doTrace()) + Log.trace("TradeSLSBBean:getHoldings", userID); + +- Query query = entityManager.createNamedQuery("holdingejb.holdingsByUserID"); +- query.setParameter("userID", userID); +- Collection holdings = query.getResultList(); ++ // Demonstration of the JPA criteria query API for the following JPQL: ++ // SELECT h FROM holdingejb h where h.account.profile.userID = :userID ++ CriteriaBuilder cb = entityManager.getCriteriaBuilder(); ++ CriteriaQuery c = cb.createQuery(HoldingDataBean.class); ++ Root hdb = c.from(HoldingDataBean.class); ++ ParameterExpression uidParm = cb.parameter(String.class); ++ Path account = hdb.get(HoldingDataBean_.account); ++ Path profile = account.get(AccountDataBean_.profile); ++ Path uid = profile.get(AccountProfileDataBean_.userID); ++ // The following 'select' method is not needed, since it is the default. It is just shown for ++ // illustrative purposes. ++ c.select(hdb); ++ c.where(cb.equal(uid, uidParm)); ++ TypedQuery q = entityManager.createQuery(c); ++ Collection holdings = q.setParameter(uidParm, userID).getResultList(); ++ + /* + * Inflate the lazy data memebers + */ +Index: modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/TradeServices.java +=================================================================== +--- modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/TradeServices.java (revision 952663) ++++ modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/TradeServices.java (working copy) +@@ -18,8 +18,6 @@ + + + import java.math.BigDecimal; +-import java.rmi.Remote; +-import java.rmi.RemoteException; + import java.util.Collection; + + /** +@@ -33,7 +31,7 @@ + * @see TradeDirect + * + */ +-public interface TradeServices extends Remote { ++public interface TradeServices { + + /** + * Compute and return a snapshot of the current market conditions +@@ -44,7 +42,7 @@ + * + * @return A snapshot of the current market summary + */ +- public MarketSummaryDataBean getMarketSummary() throws Exception, RemoteException; ++ public MarketSummaryDataBean getMarketSummary() throws Exception; + + + /** +@@ -61,7 +59,7 @@ + */ + + +- public OrderDataBean buy(String userID, String symbol, double quantity, int orderProcessingMode) throws Exception, RemoteException; ++ public OrderDataBean buy(String userID, String symbol, double quantity, int orderProcessingMode) throws Exception; + + /** + * Sell a stock holding and removed the holding for the given user. +@@ -72,7 +70,7 @@ + * @param holdingID the users holding to be sold + * @return OrderDataBean providing the status of the newly created sell order + */ +- public OrderDataBean sell(String userID, Integer holdingID, int orderProcessingMode) throws Exception, RemoteException; ++ public OrderDataBean sell(String userID, Integer holdingID, int orderProcessingMode) throws Exception; + + + /** +@@ -87,7 +85,7 @@ + * @param orderID the Order being queued for processing + * @return OrderDataBean providing the status of the completed order + */ +- public void queueOrder(Integer orderID, boolean twoPhase) throws Exception, RemoteException; ++ public void queueOrder(Integer orderID, boolean twoPhase) throws Exception; + + /** + * Complete the Order identefied by orderID +@@ -102,7 +100,7 @@ + * @param orderID the Order to complete + * @return OrderDataBean providing the status of the completed order + */ +- public OrderDataBean completeOrder(Integer orderID, boolean twoPhase) throws Exception, RemoteException; ++ public OrderDataBean completeOrder(Integer orderID, boolean twoPhase) throws Exception; + + /** + * Cancel the Order identefied by orderID +@@ -113,7 +111,7 @@ + * @param orderID the Order to complete + * @return OrderDataBean providing the status of the completed order + */ +- public void cancelOrder(Integer orderID, boolean twoPhase) throws Exception, RemoteException; ++ public void cancelOrder(Integer orderID, boolean twoPhase) throws Exception; + + + /** +@@ -123,7 +121,7 @@ + * @param orderID the order which has completed + * + */ +- public void orderCompleted(String userID, Integer orderID) throws Exception, RemoteException; ++ public void orderCompleted(String userID, Integer orderID) throws Exception; + + + /** +@@ -132,7 +130,7 @@ + * @param userID the customer account to retrieve orders for + * @return Collection OrderDataBeans providing detailed order information + */ +- public Collection getOrders(String userID) throws Exception, RemoteException; ++ public Collection getOrders(String userID) throws Exception; + + /** + * Get the collection of completed orders for a given account that need to be alerted to the user +@@ -140,7 +138,7 @@ + * @param userID the customer account to retrieve orders for + * @return Collection OrderDataBeans providing detailed order information + */ +- public Collection getClosedOrders(String userID) throws Exception, RemoteException; ++ public Collection getClosedOrders(String userID) throws Exception; + + + /** +@@ -151,7 +149,7 @@ + * @param details a short description of the stock or company + * @return a new QuoteDataBean or null if Quote could not be created + */ +- public QuoteDataBean createQuote(String symbol, String companyName, BigDecimal price) throws Exception, RemoteException; ++ public QuoteDataBean createQuote(String symbol, String companyName, BigDecimal price) throws Exception; + + /** + * Return a {@link QuoteDataBean} describing a current quote for the given stock symbol +@@ -159,14 +157,14 @@ + * @param symbol the stock symbol to retrieve the current Quote + * @return the QuoteDataBean + */ +- public QuoteDataBean getQuote(String symbol) throws Exception, RemoteException; ++ public QuoteDataBean getQuote(String symbol) throws Exception; + + /** + * Return a {@link java.util.Collection} of {@link QuoteDataBean} + * describing all current quotes + * @return A collection of QuoteDataBean + */ +- public Collection getAllQuotes() throws Exception, RemoteException; ++ public Collection getAllQuotes() throws Exception; + + /** + * Update the stock quote price and volume for the specified stock symbol +@@ -175,7 +173,7 @@ + * @param price the updated quote price + * @return the QuoteDataBean describing the stock + */ +- public QuoteDataBean updateQuotePriceVolume(String symbol, BigDecimal newPrice, double sharesTraded) throws Exception, RemoteException; ++ public QuoteDataBean updateQuotePriceVolume(String symbol, BigDecimal newPrice, double sharesTraded) throws Exception; + + + /** +@@ -185,7 +183,7 @@ + * @param userID the customer requesting the portfolio + * @return Collection of the users portfolio of stock holdings + */ +- public Collection getHoldings(String userID) throws Exception, RemoteException; ++ public Collection getHoldings(String userID) throws Exception; + + /** + * Return a specific user stock holding identifed by the holdingID +@@ -193,7 +191,7 @@ + * @param holdingID the holdingID to return + * @return a HoldingDataBean describing the holding + */ +- public HoldingDataBean getHolding(Integer holdingID) throws Exception, RemoteException; ++ public HoldingDataBean getHolding(Integer holdingID) throws Exception; + + /** + * Return an AccountDataBean object for userID describing the account +@@ -202,7 +200,7 @@ + * @return User account data in AccountDataBean + */ + public AccountDataBean getAccountData(String userID) +- throws Exception, RemoteException; ++ throws Exception; + + /** + * Return an AccountProfileDataBean for userID providing the users profile +@@ -210,7 +208,7 @@ + * @param userID the account userID to lookup + * @param User account profile data in AccountProfileDataBean + */ +- public AccountProfileDataBean getAccountProfileData(String userID) throws Exception, RemoteException; ++ public AccountProfileDataBean getAccountProfileData(String userID) throws Exception; + + /** + * Update userID's account profile information using the provided AccountProfileDataBean object +@@ -218,7 +216,7 @@ + * @param userID the account userID to lookup + * @param User account profile data in AccountProfileDataBean + */ +- public AccountProfileDataBean updateAccountProfile(AccountProfileDataBean profileData) throws Exception, RemoteException; ++ public AccountProfileDataBean updateAccountProfile(AccountProfileDataBean profileData) throws Exception; + + + /** +@@ -228,7 +226,7 @@ + * @param password the password entered by the customer for authentication + * @return User account data in AccountDataBean + */ +- public AccountDataBean login(String userID, String password) throws Exception, RemoteException; ++ public AccountDataBean login(String userID, String password) throws Exception; + + /** + * Logout the given user +@@ -237,7 +235,7 @@ + * @return the login status + */ + +- public void logout(String userID) throws Exception, RemoteException; ++ public void logout(String userID) throws Exception; + + /** + * Register a new Trade customer. +@@ -259,7 +257,7 @@ + String address, + String email, + String creditcard, +- BigDecimal openBalance) throws Exception, RemoteException; ++ BigDecimal openBalance) throws Exception; + + + /** +@@ -271,6 +269,6 @@ + * + * return statistics for this benchmark run + */ +- public RunStatsDataBean resetTrade(boolean deleteAll) throws Exception, RemoteException; ++ public RunStatsDataBean resetTrade(boolean deleteAll) throws Exception; + } + +Index: modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/TradeConfig.java +=================================================================== +--- modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/TradeConfig.java (revision 952663) ++++ modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/TradeConfig.java (working copy) +@@ -38,7 +38,7 @@ + public static final int EJB3 = 0; + public static final int DIRECT = 1; + public static final int SESSION3 = 2; +- public static int runTimeMode = DIRECT; ++ public static int runTimeMode = EJB3; + + /* Trade JPA Layer parameters */ + public static String[] jpaLayerNames = {"OpenJPA", "Hibernate"}; +Index: modules/ejb/src/main/resources/META-INF/ejb-jar.xml +=================================================================== +--- modules/ejb/src/main/resources/META-INF/ejb-jar.xml (revision 952663) ++++ modules/ejb/src/main/resources/META-INF/ejb-jar.xml (working copy) +@@ -25,4 +25,13 @@ + entity, session and message driven beans using annotations. The inline annotations + can be overriden by modifing this file. + --> ++ ++ ++ TradeBrokerQueue ++ ++ ++ TradeStreamerTopic ++ ++ ++ + +Index: modules/ejb/pom.xml +=================================================================== +--- modules/ejb/pom.xml (revision 952663) ++++ modules/ejb/pom.xml (working copy) +@@ -54,7 +54,8 @@ + + + org.apache.geronimo.specs +- geronimo-jpa_3.0_spec ++ geronimo-jpa_2.0_spec ++ 1.1 + provided + + +@@ -80,6 +81,7 @@ + + org.apache.openjpa + openjpa ++ 2.0.0 + provided + + +Index: modules/web/src/main/webapp/WEB-INF/web.xml +=================================================================== +--- modules/web/src/main/webapp/WEB-INF/web.xml (revision 952663) ++++ modules/web/src/main/webapp/WEB-INF/web.xml (working copy) +@@ -82,7 +82,7 @@ + + Sets the default RuntimeMode. Legal values include EJB and Direct + runTimeMode +- DIRECT ++ Full EJB3 + + + Sets the default Order Processing Mode. Legal values include Synchronous, Asynchronous_1-Phase and Asynchronous_2-Phase Propchange: websites/staging/openjpa/trunk/content/artifacts/daytrader_websphere.patch ------------------------------------------------------------------------------ svn:executable = * Added: websites/staging/openjpa/trunk/content/artifacts/daytrader_websphere_eclipse.patch ============================================================================== --- websites/staging/openjpa/trunk/content/artifacts/daytrader_websphere_eclipse.patch (added) +++ websites/staging/openjpa/trunk/content/artifacts/daytrader_websphere_eclipse.patch Sun Dec 9 13:13:35 2012 @@ -0,0 +1,691 @@ +### Eclipse Workspace Patch 1.0 +#P daytrader-ejb +Index: src/main/java/org/apache/geronimo/samples/daytrader/OrderDataBean_.java +=================================================================== +--- src/main/java/org/apache/geronimo/samples/daytrader/OrderDataBean_.java (revision 0) ++++ src/main/java/org/apache/geronimo/samples/daytrader/OrderDataBean_.java (revision 0) +@@ -0,0 +1,26 @@ ++/** ++ * Generated by OpenJPA MetaModel Generator Tool. ++**/ ++ ++package org.apache.geronimo.samples.daytrader; ++ ++import java.math.BigDecimal; ++import java.util.Date; ++import javax.persistence.metamodel.SingularAttribute; ++ ++@javax.persistence.metamodel.StaticMetamodel ++(value=org.apache.geronimo.samples.daytrader.OrderDataBean.class) ++@javax.annotation.Generated ++(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="Mon May 03 09:26:18 CDT 2010") ++public class OrderDataBean_ { ++ public static volatile SingularAttribute account; ++ public static volatile SingularAttribute completionDate; ++ public static volatile SingularAttribute openDate; ++ public static volatile SingularAttribute orderFee; ++ public static volatile SingularAttribute orderID; ++ public static volatile SingularAttribute orderStatus; ++ public static volatile SingularAttribute orderType; ++ public static volatile SingularAttribute price; ++ public static volatile SingularAttribute quantity; ++ public static volatile SingularAttribute quote; ++} + +Property changes on: src\main\java\org\apache\geronimo\samples\daytrader\OrderDataBean_.java +___________________________________________________________________ +Added: svn:eol-style + + native + +Index: src/main/java/org/apache/geronimo/samples/daytrader/AccountProfileDataBean_.java +=================================================================== +--- src/main/java/org/apache/geronimo/samples/daytrader/AccountProfileDataBean_.java (revision 0) ++++ src/main/java/org/apache/geronimo/samples/daytrader/AccountProfileDataBean_.java (revision 0) +@@ -0,0 +1,21 @@ ++/** ++ * Generated by OpenJPA MetaModel Generator Tool. ++**/ ++ ++package org.apache.geronimo.samples.daytrader; ++ ++import javax.persistence.metamodel.SingularAttribute; ++ ++@javax.persistence.metamodel.StaticMetamodel ++(value=org.apache.geronimo.samples.daytrader.AccountProfileDataBean.class) ++@javax.annotation.Generated ++(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="Mon May 03 10:10:27 CDT 2010") ++public class AccountProfileDataBean_ { ++ public static volatile SingularAttribute account; ++ public static volatile SingularAttribute address; ++ public static volatile SingularAttribute creditCard; ++ public static volatile SingularAttribute email; ++ public static volatile SingularAttribute fullName; ++ public static volatile SingularAttribute passwd; ++ public static volatile SingularAttribute userID; ++} + +Property changes on: src\main\java\org\apache\geronimo\samples\daytrader\AccountProfileDataBean_.java +___________________________________________________________________ +Added: svn:eol-style + + native + +Index: src/main/java/org/apache/geronimo/samples/daytrader/TradeServices.java +=================================================================== +--- src/main/java/org/apache/geronimo/samples/daytrader/TradeServices.java (revision 935418) ++++ src/main/java/org/apache/geronimo/samples/daytrader/TradeServices.java (working copy) +@@ -18,8 +18,6 @@ + + + import java.math.BigDecimal; +-import java.rmi.Remote; +-import java.rmi.RemoteException; + import java.util.Collection; + + /** +@@ -33,7 +31,7 @@ + * @see TradeDirect + * + */ +-public interface TradeServices extends Remote { ++public interface TradeServices { + + /** + * Compute and return a snapshot of the current market conditions +@@ -44,7 +42,7 @@ + * + * @return A snapshot of the current market summary + */ +- public MarketSummaryDataBean getMarketSummary() throws Exception, RemoteException; ++ public MarketSummaryDataBean getMarketSummary() throws Exception; + + + /** +@@ -61,7 +59,7 @@ + */ + + +- public OrderDataBean buy(String userID, String symbol, double quantity, int orderProcessingMode) throws Exception, RemoteException; ++ public OrderDataBean buy(String userID, String symbol, double quantity, int orderProcessingMode) throws Exception; + + /** + * Sell a stock holding and removed the holding for the given user. +@@ -72,7 +70,7 @@ + * @param holdingID the users holding to be sold + * @return OrderDataBean providing the status of the newly created sell order + */ +- public OrderDataBean sell(String userID, Integer holdingID, int orderProcessingMode) throws Exception, RemoteException; ++ public OrderDataBean sell(String userID, Integer holdingID, int orderProcessingMode) throws Exception; + + + /** +@@ -87,7 +85,7 @@ + * @param orderID the Order being queued for processing + * @return OrderDataBean providing the status of the completed order + */ +- public void queueOrder(Integer orderID, boolean twoPhase) throws Exception, RemoteException; ++ public void queueOrder(Integer orderID, boolean twoPhase) throws Exception; + + /** + * Complete the Order identefied by orderID +@@ -102,7 +100,7 @@ + * @param orderID the Order to complete + * @return OrderDataBean providing the status of the completed order + */ +- public OrderDataBean completeOrder(Integer orderID, boolean twoPhase) throws Exception, RemoteException; ++ public OrderDataBean completeOrder(Integer orderID, boolean twoPhase) throws Exception; + + /** + * Cancel the Order identefied by orderID +@@ -113,7 +111,7 @@ + * @param orderID the Order to complete + * @return OrderDataBean providing the status of the completed order + */ +- public void cancelOrder(Integer orderID, boolean twoPhase) throws Exception, RemoteException; ++ public void cancelOrder(Integer orderID, boolean twoPhase) throws Exception; + + + /** +@@ -123,7 +121,7 @@ + * @param orderID the order which has completed + * + */ +- public void orderCompleted(String userID, Integer orderID) throws Exception, RemoteException; ++ public void orderCompleted(String userID, Integer orderID) throws Exception; + + + /** +@@ -132,7 +130,7 @@ + * @param userID the customer account to retrieve orders for + * @return Collection OrderDataBeans providing detailed order information + */ +- public Collection getOrders(String userID) throws Exception, RemoteException; ++ public Collection getOrders(String userID) throws Exception; + + /** + * Get the collection of completed orders for a given account that need to be alerted to the user +@@ -140,7 +138,7 @@ + * @param userID the customer account to retrieve orders for + * @return Collection OrderDataBeans providing detailed order information + */ +- public Collection getClosedOrders(String userID) throws Exception, RemoteException; ++ public Collection getClosedOrders(String userID) throws Exception; + + + /** +@@ -151,7 +149,7 @@ + * @param details a short description of the stock or company + * @return a new QuoteDataBean or null if Quote could not be created + */ +- public QuoteDataBean createQuote(String symbol, String companyName, BigDecimal price) throws Exception, RemoteException; ++ public QuoteDataBean createQuote(String symbol, String companyName, BigDecimal price) throws Exception; + + /** + * Return a {@link QuoteDataBean} describing a current quote for the given stock symbol +@@ -159,14 +157,14 @@ + * @param symbol the stock symbol to retrieve the current Quote + * @return the QuoteDataBean + */ +- public QuoteDataBean getQuote(String symbol) throws Exception, RemoteException; ++ public QuoteDataBean getQuote(String symbol) throws Exception; + + /** + * Return a {@link java.util.Collection} of {@link QuoteDataBean} + * describing all current quotes + * @return A collection of QuoteDataBean + */ +- public Collection getAllQuotes() throws Exception, RemoteException; ++ public Collection getAllQuotes() throws Exception; + + /** + * Update the stock quote price and volume for the specified stock symbol +@@ -175,7 +173,7 @@ + * @param price the updated quote price + * @return the QuoteDataBean describing the stock + */ +- public QuoteDataBean updateQuotePriceVolume(String symbol, BigDecimal newPrice, double sharesTraded) throws Exception, RemoteException; ++ public QuoteDataBean updateQuotePriceVolume(String symbol, BigDecimal newPrice, double sharesTraded) throws Exception; + + + /** +@@ -185,7 +183,7 @@ + * @param userID the customer requesting the portfolio + * @return Collection of the users portfolio of stock holdings + */ +- public Collection getHoldings(String userID) throws Exception, RemoteException; ++ public Collection getHoldings(String userID) throws Exception; + + /** + * Return a specific user stock holding identifed by the holdingID +@@ -193,7 +191,7 @@ + * @param holdingID the holdingID to return + * @return a HoldingDataBean describing the holding + */ +- public HoldingDataBean getHolding(Integer holdingID) throws Exception, RemoteException; ++ public HoldingDataBean getHolding(Integer holdingID) throws Exception; + + /** + * Return an AccountDataBean object for userID describing the account +@@ -202,7 +200,7 @@ + * @return User account data in AccountDataBean + */ + public AccountDataBean getAccountData(String userID) +- throws Exception, RemoteException; ++ throws Exception; + + /** + * Return an AccountProfileDataBean for userID providing the users profile +@@ -210,7 +208,7 @@ + * @param userID the account userID to lookup + * @param User account profile data in AccountProfileDataBean + */ +- public AccountProfileDataBean getAccountProfileData(String userID) throws Exception, RemoteException; ++ public AccountProfileDataBean getAccountProfileData(String userID) throws Exception; + + /** + * Update userID's account profile information using the provided AccountProfileDataBean object +@@ -218,7 +216,7 @@ + * @param userID the account userID to lookup + * @param User account profile data in AccountProfileDataBean + */ +- public AccountProfileDataBean updateAccountProfile(AccountProfileDataBean profileData) throws Exception, RemoteException; ++ public AccountProfileDataBean updateAccountProfile(AccountProfileDataBean profileData) throws Exception; + + + /** +@@ -228,7 +226,7 @@ + * @param password the password entered by the customer for authentication + * @return User account data in AccountDataBean + */ +- public AccountDataBean login(String userID, String password) throws Exception, RemoteException; ++ public AccountDataBean login(String userID, String password) throws Exception; + + /** + * Logout the given user +@@ -237,7 +235,7 @@ + * @return the login status + */ + +- public void logout(String userID) throws Exception, RemoteException; ++ public void logout(String userID) throws Exception; + + /** + * Register a new Trade customer. +@@ -259,7 +257,7 @@ + String address, + String email, + String creditcard, +- BigDecimal openBalance) throws Exception, RemoteException; ++ BigDecimal openBalance) throws Exception; + + + /** +@@ -271,6 +269,6 @@ + * + * return statistics for this benchmark run + */ +- public RunStatsDataBean resetTrade(boolean deleteAll) throws Exception, RemoteException; ++ public RunStatsDataBean resetTrade(boolean deleteAll) throws Exception; + } + +Index: src/main/resources/META-INF/ibm-ejb-jar-bnd.xml +=================================================================== +--- src/main/resources/META-INF/ibm-ejb-jar-bnd.xml (revision 0) ++++ src/main/resources/META-INF/ibm-ejb-jar-bnd.xml (revision 0) +@@ -0,0 +1,28 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +\ No newline at end of file + +Property changes on: src\main\resources\META-INF\ibm-ejb-jar-bnd.xml +___________________________________________________________________ +Added: svn:eol-style + + native + +Index: src/main/java/org/apache/geronimo/samples/daytrader/AccountDataBean_.java +=================================================================== +--- src/main/java/org/apache/geronimo/samples/daytrader/AccountDataBean_.java (revision 0) ++++ src/main/java/org/apache/geronimo/samples/daytrader/AccountDataBean_.java (revision 0) +@@ -0,0 +1,27 @@ ++/** ++ * Generated by OpenJPA MetaModel Generator Tool. ++**/ ++ ++package org.apache.geronimo.samples.daytrader; ++ ++import java.math.BigDecimal; ++import java.util.Date; ++import javax.persistence.metamodel.CollectionAttribute; ++import javax.persistence.metamodel.SingularAttribute; ++ ++@javax.persistence.metamodel.StaticMetamodel ++(value=org.apache.geronimo.samples.daytrader.AccountDataBean.class) ++@javax.annotation.Generated ++(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="Mon May 03 09:48:10 CDT 2010") ++public class AccountDataBean_ { ++ public static volatile SingularAttribute accountID; ++ public static volatile SingularAttribute balance; ++ public static volatile SingularAttribute creationDate; ++ public static volatile CollectionAttribute holdings; ++ public static volatile SingularAttribute lastLogin; ++ public static volatile SingularAttribute loginCount; ++ public static volatile SingularAttribute logoutCount; ++ public static volatile SingularAttribute openBalance; ++ public static volatile CollectionAttribute orders; ++ public static volatile SingularAttribute profile; ++} + +Property changes on: src\main\java\org\apache\geronimo\samples\daytrader\AccountDataBean_.java +___________________________________________________________________ +Added: svn:eol-style + + native + +Index: src/main/resources/META-INF/ejb-jar.xml +=================================================================== +--- src/main/resources/META-INF/ejb-jar.xml (revision 935418) ++++ src/main/resources/META-INF/ejb-jar.xml (working copy) +@@ -25,4 +25,13 @@ + entity, session and message driven beans using annotations. The inline annotations + can be overriden by modifing this file. + --> ++ ++ ++ TradeBrokerQueue ++ ++ ++ TradeStreamerTopic ++ ++ ++ + +Index: src/main/java/org/apache/geronimo/samples/daytrader/HoldingDataBean_.java +=================================================================== +--- src/main/java/org/apache/geronimo/samples/daytrader/HoldingDataBean_.java (revision 0) ++++ src/main/java/org/apache/geronimo/samples/daytrader/HoldingDataBean_.java (revision 0) +@@ -0,0 +1,22 @@ ++/** ++ * Generated by OpenJPA MetaModel Generator Tool. ++**/ ++ ++package org.apache.geronimo.samples.daytrader; ++ ++import java.math.BigDecimal; ++import java.util.Date; ++import javax.persistence.metamodel.SingularAttribute; ++ ++@javax.persistence.metamodel.StaticMetamodel ++(value=org.apache.geronimo.samples.daytrader.HoldingDataBean.class) ++@javax.annotation.Generated ++(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="Mon May 03 09:50:36 CDT 2010") ++public class HoldingDataBean_ { ++ public static volatile SingularAttribute account; ++ public static volatile SingularAttribute holdingID; ++ public static volatile SingularAttribute purchaseDate; ++ public static volatile SingularAttribute purchasePrice; ++ public static volatile SingularAttribute quantity; ++ public static volatile SingularAttribute quote; ++} + +Property changes on: src\main\java\org\apache\geronimo\samples\daytrader\HoldingDataBean_.java +___________________________________________________________________ +Added: svn:eol-style + + native + +Index: src/main/java/org/apache/geronimo/samples/daytrader/ejb3/TradeSLSBBean.java +=================================================================== +--- src/main/java/org/apache/geronimo/samples/daytrader/ejb3/TradeSLSBBean.java (revision 935418) ++++ src/main/java/org/apache/geronimo/samples/daytrader/ejb3/TradeSLSBBean.java (working copy) +@@ -18,10 +18,15 @@ + package org.apache.geronimo.samples.daytrader.ejb3; + + import org.apache.geronimo.samples.daytrader.AccountDataBean; ++import org.apache.geronimo.samples.daytrader.AccountDataBean_; + import org.apache.geronimo.samples.daytrader.AccountProfileDataBean; ++import org.apache.geronimo.samples.daytrader.AccountProfileDataBean_; + import org.apache.geronimo.samples.daytrader.HoldingDataBean; ++import org.apache.geronimo.samples.daytrader.HoldingDataBean_; + import org.apache.geronimo.samples.daytrader.OrderDataBean; ++import org.apache.geronimo.samples.daytrader.OrderDataBean_; + import org.apache.geronimo.samples.daytrader.QuoteDataBean; ++import org.apache.geronimo.samples.daytrader.QuoteDataBean_; + import org.apache.geronimo.samples.daytrader.TradeConfig; + import org.apache.geronimo.samples.daytrader.TradeAction; + import org.apache.geronimo.samples.daytrader.RunStatsDataBean; +@@ -43,6 +48,13 @@ + import javax.persistence.EntityManager; + import javax.persistence.PersistenceContext; + import javax.persistence.Query; ++import javax.persistence.TypedQuery; ++import javax.persistence.criteria.CriteriaBuilder; ++import javax.persistence.criteria.CriteriaQuery; ++import javax.persistence.criteria.ParameterExpression; ++import javax.persistence.criteria.Path; ++import javax.persistence.criteria.Predicate; ++import javax.persistence.criteria.Root; + import javax.transaction.HeuristicMixedException; + import javax.transaction.HeuristicRollbackException; + import javax.transaction.NotSupportedException; +@@ -51,6 +63,8 @@ + import org.apache.geronimo.samples.daytrader.util.FinancialUtils; + import org.apache.geronimo.samples.daytrader.util.Log; + import org.apache.geronimo.samples.daytrader.util.MDBStats; ++import org.apache.openjpa.persistence.criteria.OpenJPACriteriaQuery; ++import org.apache.openjpa.persistence.query.QueryBuilder; + + @Stateless + @TransactionAttribute(TransactionAttributeType.REQUIRED) +@@ -89,8 +103,14 @@ + // ordered by their change in value + Collection quotes; + +- Query query = entityManager.createNamedQuery("quoteejb.quotesByChange"); +- quotes = query.getResultList(); ++ // Demonstration of the JPA criteria query API for the following JPQL: ++ // SELECT q FROM quoteejb q WHERE q.symbol LIKE 's:1__' ORDER BY q.change1 DESC ++ CriteriaBuilder cb = entityManager.getCriteriaBuilder(); ++ CriteriaQuery c = cb.createQuery(QuoteDataBean.class); ++ Root qdb = c.from(QuoteDataBean.class); ++ c.where(cb.like(qdb.get(QuoteDataBean_.symbol), "s:1__")); ++ c.orderBy(cb.desc(qdb.get(QuoteDataBean_.change1))); ++ quotes = entityManager.createQuery(c).getResultList(); + + QuoteDataBean[] quoteArray = (QuoteDataBean[]) quotes.toArray(new QuoteDataBean[quotes.size()]); + ArrayList topGainers = new ArrayList(5); +@@ -356,12 +376,25 @@ + + // Get the primary keys for all the closed Orders for this + // account. +- Query query = entityManager.createNamedQuery("orderejb.closedOrders"); +- query.setParameter("userID", userID); +- Collection results = query.getResultList(); +- Iterator itr = results.iterator(); +- +- // Spin through the orders to populate the lazy quote fields ++ ++ // Demonstration of the JPA criteria query API for the following JPQL: ++ // SELECT o FROM orderejb o WHERE o.orderStatus = 'closed' AND o.account.profile.userID = :userID ++ CriteriaBuilder cb = entityManager.getCriteriaBuilder(); ++ CriteriaQuery c = cb.createQuery(OrderDataBean.class); ++ Root odb = c.from(OrderDataBean.class); ++ ParameterExpression uidParm = cb.parameter(String.class); ++ Path acct = odb.get(OrderDataBean_.account); ++ Path profile = acct.get(AccountDataBean_.profile); ++ Path uid = profile.get(AccountProfileDataBean_.userID); ++ Predicate closedCondition = cb.equal(odb.get(OrderDataBean_.orderStatus), "closed"); ++ Predicate uidCondition = cb.equal(uid, uidParm); ++ Predicate condition = cb.and(closedCondition, uidCondition); ++ c.where(condition); ++ TypedQuery q = entityManager.createQuery(c); ++ Collection results = q.setParameter(uidParm, userID).getResultList(); ++ ++ Iterator itr = results.iterator(); ++ // Spin through the orders to populate the lazy quote fields + while (itr.hasNext()){ + OrderDataBean thisOrder = (OrderDataBean)itr.next(); + thisOrder.getQuote(); +@@ -427,8 +460,13 @@ + if (Log.doTrace()) + Log.trace("TradeSLSBBean:getAllQuotes"); + +- Query query = entityManager.createNamedQuery("quoteejb.allQuotes"); +- return query.getResultList(); ++ // Demonstration of the JPA criteria query API for the following JPQL: ++ // SELECT q FROM quoteejb q ++ CriteriaBuilder cb = entityManager.getCriteriaBuilder(); ++ CriteriaQuery c = cb.createQuery(QuoteDataBean.class); ++ Root qbd = c.from(QuoteDataBean.class); ++ TypedQuery q = entityManager.createQuery(c); ++ return q.getResultList(); + } + + public QuoteDataBean updateQuotePriceVolume(String symbol, BigDecimal changeFactor, double sharesTraded) { +@@ -463,6 +501,7 @@ + + quote.setPrice(newPrice); + quote.setVolume(quote.getVolume() + sharesTraded); ++ quote.setChange(newPrice.subtract(quote.getOpen()).doubleValue()); + entityManager.merge(quote); + + // TODO find out if requires new here is really intended -- it is backwards, +@@ -477,9 +516,22 @@ + if (Log.doTrace()) + Log.trace("TradeSLSBBean:getHoldings", userID); + +- Query query = entityManager.createNamedQuery("holdingejb.holdingsByUserID"); +- query.setParameter("userID", userID); +- Collection holdings = query.getResultList(); ++ // Demonstration of the JPA criteria query API for the following JPQL: ++ // SELECT h FROM holdingejb h where h.account.profile.userID = :userID ++ CriteriaBuilder cb = entityManager.getCriteriaBuilder(); ++ CriteriaQuery c = cb.createQuery(HoldingDataBean.class); ++ Root hdb = c.from(HoldingDataBean.class); ++ ParameterExpression uidParm = cb.parameter(String.class); ++ Path account = hdb.get(HoldingDataBean_.account); ++ Path profile = account.get(AccountDataBean_.profile); ++ Path uid = profile.get(AccountProfileDataBean_.userID); ++ // The following 'select' method is not needed, since it is the default. It is just shown for ++ // illustrative purposes. ++ c.select(hdb); ++ c.where(cb.equal(uid, uidParm)); ++ TypedQuery q = entityManager.createQuery(c); ++ Collection holdings = q.setParameter(uidParm, userID).getResultList(); ++ + /* + * Inflate the lazy data memebers + */ +Index: src/main/java/org/apache/geronimo/samples/daytrader/TradeConfig.java +=================================================================== +--- src/main/java/org/apache/geronimo/samples/daytrader/TradeConfig.java (revision 935418) ++++ src/main/java/org/apache/geronimo/samples/daytrader/TradeConfig.java (working copy) +@@ -38,7 +38,7 @@ + public static final int EJB3 = 0; + public static final int DIRECT = 1; + public static final int SESSION3 = 2; +- public static int runTimeMode = DIRECT; ++ public static int runTimeMode = EJB3; + + /* Trade JPA Layer parameters */ + public static String[] jpaLayerNames = {"OpenJPA", "Hibernate"}; +Index: pom.xml +=================================================================== +--- pom.xml (revision 935418) ++++ pom.xml (working copy) +@@ -54,7 +54,8 @@ + + + org.apache.geronimo.specs +- geronimo-jpa_3.0_spec ++ geronimo-jpa_2.0_spec ++ 1.1 + provided + + +@@ -80,6 +81,7 @@ + + org.apache.openjpa + openjpa ++ 2.0.0 + provided + + +Index: src/main/java/org/apache/geronimo/samples/daytrader/QuoteDataBean_.java +=================================================================== +--- src/main/java/org/apache/geronimo/samples/daytrader/QuoteDataBean_.java (revision 0) ++++ src/main/java/org/apache/geronimo/samples/daytrader/QuoteDataBean_.java (revision 0) +@@ -0,0 +1,23 @@ ++/** ++ * Generated by OpenJPA MetaModel Generator Tool. ++**/ ++ ++package org.apache.geronimo.samples.daytrader; ++ ++import java.math.BigDecimal; ++import javax.persistence.metamodel.SingularAttribute; ++ ++@javax.persistence.metamodel.StaticMetamodel ++(value=org.apache.geronimo.samples.daytrader.QuoteDataBean.class) ++@javax.annotation.Generated ++(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="Mon May 03 09:51:22 CDT 2010") ++public class QuoteDataBean_ { ++ public static volatile SingularAttribute change1; ++ public static volatile SingularAttribute companyName; ++ public static volatile SingularAttribute high; ++ public static volatile SingularAttribute low; ++ public static volatile SingularAttribute open1; ++ public static volatile SingularAttribute price; ++ public static volatile SingularAttribute symbol; ++ public static volatile SingularAttribute volume; ++} + +Property changes on: src\main\java\org\apache\geronimo\samples\daytrader\QuoteDataBean_.java +___________________________________________________________________ +Added: svn:eol-style + + native + +#P daytrader-web +Index: src/main/webapp/WEB-INF/web.xml +=================================================================== +--- src/main/webapp/WEB-INF/web.xml (revision 935418) ++++ src/main/webapp/WEB-INF/web.xml (working copy) +@@ -82,7 +82,7 @@ + + Sets the default RuntimeMode. Legal values include EJB and Direct + runTimeMode +- DIRECT ++ Full EJB3 + + + Sets the default Order Processing Mode. Legal values include Synchronous, Asynchronous_1-Phase and Asynchronous_2-Phase +Index: src/main/webapp/WEB-INF/ibm-web-bnd.xml +=================================================================== +--- src/main/webapp/WEB-INF/ibm-web-bnd.xml (revision 0) ++++ src/main/webapp/WEB-INF/ibm-web-bnd.xml (revision 0) +@@ -0,0 +1,16 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + +Property changes on: src\main\webapp\WEB-INF\ibm-web-bnd.xml +___________________________________________________________________ +Added: svn:eol-style + + native + +Index: src/main/webapp/WEB-INF/ibm-web-ext.xml +=================================================================== +--- src/main/webapp/WEB-INF/ibm-web-ext.xml (revision 0) ++++ src/main/webapp/WEB-INF/ibm-web-ext.xml (revision 0) +@@ -0,0 +1,10 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ + +Property changes on: src\main\webapp\WEB-INF\ibm-web-ext.xml +___________________________________________________________________ +Added: svn:eol-style + + native + Added: websites/staging/openjpa/trunk/content/artifacts/enhance.xml ============================================================================== --- websites/staging/openjpa/trunk/content/artifacts/enhance.xml (added) +++ websites/staging/openjpa/trunk/content/artifacts/enhance.xml Sun Dec 9 13:13:35 2012 @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Added: websites/staging/openjpa/trunk/content/artifacts/pom.xml ============================================================================== Binary file - no diff available. Propchange: websites/staging/openjpa/trunk/content/artifacts/pom.xml ------------------------------------------------------------------------------ svn:mime-type = application/xml Added: websites/staging/openjpa/trunk/content/automated-builds.html ============================================================================== --- websites/staging/openjpa/trunk/content/automated-builds.html (added) +++ websites/staging/openjpa/trunk/content/automated-builds.html Sun Dec 9 13:13:35 2012 @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + Apache OpenJPA -- + + + +
+
+
+
+
+
+
+
+
+
+
+ + + + + + + +
+ OpenJPA Logo + +   + + ASF Logo +
+ + +
+ +
+ + + + + + + + + +
+ + +
+

+

We're using the Jenkins build server for continuous builds for several of +the OpenJPA code streams and some of the artifacts in the Tools subproject.

+

+

Jenkins Jobs - OpenJPA

+

OpenJPA 1.2.x build and deploy + - This build runs on the Ubuntu build agents and is set up to check SVN +for updates once every hour at 45 minutes past the hour and deploy +artifacts.

+

OpenJPA 1.3.0-SNAPSHOT build and deploy + - This build runs on the Ubuntu build agents and is set up to check SVN +for updates once every hour at 30 minutes past the hour and deploy +artifacts.

+

OpenJPA 2.0.x build and deploy + - This build runs on the Ubuntu build agents and is set up to check SVN +for updates once a day at 07:45 (UTC) and deploy artifacts.

+

OpenJPA trunk build + - This build runs on the Windows build agent and is set up to check SVN +for updates twice every hour at 0 and 30 minutes past the hour.

+

OpenJPA trunk build and deploy + - This build runs on the Ubuntu build agents and is set up to check SVN +for updates once a day at 06:45 (UTC) and deploy artifacts.

+

+

Jenkins Jobs - OpenJPA Tools

+

OpenJPA Tools trunk build and deploy + - This build runs on the Ubuntu build agents and is set up to check SVN +for updates once every hour at 55 minutes past the hour and deploy +artifacts.

+

+

Email Notifications

+

Email notifications to commits@openjpa are generated by Jenkins for build +failures and when builds are back to normal.

+

+

Jenkins Info

+

If you're interested in the Jenkins services or would like to request an +account on the server, checkout the Jenkins wiki + for more information. The builds.apache.org server uses the Apache LDAP +for authentication, just like repository.apache.org and issues.apache.org.

+
+
+
+
+
+
+
+
+ +
+
+
+ Copyright (C) 2006,2012 The Apache Software Foundation. Licensed under Apache License 2.0.
+ Apache, the Apache feather logo and OpenJPA are trademarks of The Apache Software Foundation.
+ Other names may be trademarks of their respective owners.
+
+ + + + + + Added: websites/staging/openjpa/trunk/content/banner.html ============================================================================== --- websites/staging/openjpa/trunk/content/banner.html (added) +++ websites/staging/openjpa/trunk/content/banner.html Sun Dec 9 13:13:35 2012 @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + Apache OpenJPA -- + + + +
+
+
+
+
+
+
+
+
+
+
+ + + + + + + +
+ OpenJPA Logo + +   + + ASF Logo +
+ + +
+ +
+ + + + + + + + + +
+ + +
+

+
+ + +
+
+
+
+
+
+
+
+
+ +
+
+
+ Copyright (C) 2006,2012 The Apache Software Foundation. Licensed under Apache License 2.0.
+ Apache, the Apache feather logo and OpenJPA are trademarks of The Apache Software Foundation.
+ Other names may be trademarks of their respective owners.
+
+ + + + + +