You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jb...@apache.org on 2009/10/07 22:06:18 UTC

svn commit: r822886 - in /geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main: java/org/apache/geronimo/samples/daytrader/core/ java/org/apache/geronimo/samples/daytrader/core/direct/ resources/OSGI-INF/blueprint/

Author: jbohn
Date: Wed Oct  7 20:06:16 2009
New Revision: 822886

URL: http://svn.apache.org/viewvc?rev=822886&view=rev
Log:
add some initial management for different modes, mocked up jpa services, and use direct reference rather than reference-lists which have issues with listeners and set

Added:
    geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java   (with props)
Modified:
    geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeDBServices.java
    geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServices.java
    geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServicesManager.java
    geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServicesManagerImpl.java
    geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJDBCDirect.java
    geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/resources/OSGI-INF/blueprint/listener.xml

Modified: geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeDBServices.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeDBServices.java?rev=822886&r1=822885&r2=822886&view=diff
==============================================================================
--- geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeDBServices.java (original)
+++ geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeDBServices.java Wed Oct  7 20:06:16 2009
@@ -35,4 +35,13 @@
      * TradeBuildDB needs this abstracted method
      */
     public boolean recreateDBTables(Object[] sqlBuffer, java.io.PrintWriter out) throws Exception;
+
+    /**
+     * Get mode - returns the persistence mode
+     * (TradeConfig.JDBC, JPA, etc...)
+     *
+     * @return int mode
+     */
+    public int getMode();
+
 }   

Modified: geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServices.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServices.java?rev=822886&r1=822885&r2=822886&view=diff
==============================================================================
--- geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServices.java (original)
+++ geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServices.java Wed Oct  7 20:06:16 2009
@@ -280,5 +280,13 @@
 	 */
     public RunStatsDataBean resetTrade(boolean deleteAll) throws Exception, RemoteException;
     
+   /**
+    * Get mode - returns the persistence mode
+    * (TradeConfig.JDBC, JPA, etc...)
+    *
+    * @return int mode
+    */
+    public int getMode();
+
 }   
 

Modified: geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServicesManager.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServicesManager.java?rev=822886&r1=822885&r2=822886&view=diff
==============================================================================
--- geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServicesManager.java (original)
+++ geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServicesManager.java Wed Oct  7 20:06:16 2009
@@ -41,11 +41,6 @@
     public TradeServices getTradeServices();
 
     /**
-      * Get the list of TradeServices as a set.
-      */
-    public Set getTradeServicesSet();
-
-    /**
       * Set TradeDBServices reference
       */
     public void setTradeDBServices(TradeDBServices tradeDBServices);
@@ -56,10 +51,6 @@
 
     public TradeDBServices getTradeDBServices();
 
-    /**
-      * Get the list of TradeDBServices as a set.
-      */
-    public Set getTradeDBServicesSet();
 
 }   
 

Modified: geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServicesManagerImpl.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServicesManagerImpl.java?rev=822886&r1=822885&r2=822886&view=diff
==============================================================================
--- geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServicesManagerImpl.java (original)
+++ geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/TradeServicesManagerImpl.java Wed Oct  7 20:06:16 2009
@@ -16,11 +16,11 @@
  */
 package org.apache.geronimo.samples.daytrader.core;
 
-import java.util.HashSet;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
-import java.util.Set;
 
+import org.apache.geronimo.samples.daytrader.util.TradeConfig;
 import org.apache.geronimo.samples.daytrader.core.TradeServices;
 import org.apache.geronimo.samples.daytrader.core.TradeDBServices;
 
@@ -44,10 +44,15 @@
 
 public class TradeServicesManagerImpl implements TradeServicesManager {
 
-    private Set tradeServicesSet = new HashSet();
-    private Set tradeDBServicesSet = new HashSet();
+//    private Set tradeServicesSet = new HashSet();
+    private Map<Integer, TradeServices> tradeServicesMap = new HashMap<Integer, TradeServices>();
+//    private Set tradeDBServicesSet = new HashSet();
+    private Map<Integer, TradeDBServices> tradeDBServicesMap = new HashMap<Integer, TradeDBServices>();
     private TradeServices tradeServices = null;
     private TradeDBServices tradeDBServices = null;
+    private TradeServices tradeServicesJPA = null;
+    private TradeDBServices tradeDBServicesJPA = null;
+    private int currentMode = TradeConfig.JDBC;
     private String test;
 
     /**
@@ -55,7 +60,7 @@
       */
     public TradeServicesManagerImpl() 
     {
-        System.out.println("@JAB TradeServicesManagerImpl() ");
+//        System.out.println("@JAB TradeServicesManagerImpl() ");
     }
 
     /**
@@ -63,7 +68,7 @@
       */
     public void setTest(String test)
     {
-        System.out.println("@JAB TradeServicesManager.setTest " + test);
+//        System.out.println("@JAB TradeServicesManagerImpl.setTest " + test);
         this.test = test;
     }
 
@@ -72,7 +77,7 @@
       */
     public void init()
     {
-        System.out.println("@JAB TradeServicesManager.init - Initialized ");
+//        System.out.println("@JAB TradeServicesManagerImpl.init - Initialized ");
     }
 
     /**
@@ -80,77 +85,69 @@
       */
     public void setTradeServices(TradeServices tradeServices)
     {
-        System.out.println("@JAB TradeServicesManager.setTradeServices " + tradeServices);
-        tradeServicesSet.add(tradeServices);
+//        System.out.println("@JAB TradeServicesManagerImpl.setTradeServices current size " + tradeServicesMap.size() + " adding " + tradeServices);
+        tradeServicesMap.put(tradeServices.getMode(), tradeServices);
+//        System.out.println("@JAB TradeServicesManagerImpl.setTradeServices new size " + tradeServicesMap.size());
+    }
+
+    /**
+      * Set TradeServices reference
+      */
+    public void setTradeServicesJPA(TradeServices tradeServicesJPA)
+    {
+//        System.out.println("@JAB TradeServicesManagerImpl.setTradeServicesJPA current size " + tradeServicesMap.size() + " adding " + tradeServicesJPA);
+        tradeServicesMap.put(tradeServicesJPA.getMode(), tradeServicesJPA);
+//        System.out.println("@JAB TradeServicesManagerImpl.setTradeServicesJPA new size " + tradeServicesMap.size());
     }
 
 
     public TradeServices getTradeServices()
     {
-        System.out.println("@JAB TradeServicesManager.getTradeServices");
-
-        // @JAB for now just return the first (only) item in the set if present.
+        // @JAB for now this is hard-coded to JDBC.
         // Eventually, we need to keep track of the selected TradeServices and return that
-        if (tradeServices == null) {
-            Iterator it = tradeServicesSet.iterator();
-            if (it.hasNext()) {
-              tradeServices = (TradeServices) it.next();
-            }
-        }
-        return tradeServices;
+//        System.out.println("@JAB TradeServicesManagerImpl.getTradeServices - returning " + tradeServicesMap.get(currentMode));
+        return tradeServicesMap.get(currentMode);
     }
 
     /**
-      * Get the list of TradeServices as a set.
+      * Set TradeDBServices reference
       */
-    public Set getTradeServicesSet()
+    public void setTradeDBServices(TradeDBServices tradeDBServices)
     {
-        System.out.println("@JAB TradeServicesManager.getTradeServicesSet " + tradeServicesSet.size());
-        return tradeServicesSet;
+//        System.out.println("@JAB TradeServicesManagerImpl.setTradeDBServices current size " + tradeDBServicesMap.size() + " adding " + tradeDBServices);
+        tradeDBServicesMap.put(tradeDBServices.getMode(), tradeDBServices);
+//        System.out.println("@JAB TradeServicesManagerImpl.setTradeDBServices new size " + tradeDBServicesMap.size());
     }
 
     /**
-      * Set TradeDBServices reference
+      * Set TradeDBServicesJPA reference
       */
-    public void setTradeDBServices(TradeDBServices tradeDBServices)
+    public void setTradeDBServicesJPA(TradeDBServices tradeDBServicesJPA)
     {
-        System.out.println("@JAB TradeServicesManager.setTradeDBServices " + tradeDBServices);
-        tradeDBServicesSet.add(tradeDBServices);
+//        System.out.println("@JAB TradeServicesManagerImpl.setTradeDBServicesJPA current size " + tradeDBServicesMap.size() + " adding " + tradeDBServicesJPA);
+        tradeDBServicesMap.put(tradeDBServicesJPA.getMode(), tradeDBServicesJPA);
+//        System.out.println("@JAB TradeServicesManagerImpl.setTradeDBServicesJPA new size " + tradeDBServicesMap.size());
     }
 
 
     public TradeDBServices getTradeDBServices()
     {
-        System.out.println("@JAB TradeServicesManager.getTradeDBServices");
-
-        // @JAB for now just return the first (only) item in the set if present.
-        // Eventually, we need to keep track of the selected TradeDBServices and return that
-        if (tradeDBServices == null) {
-            Iterator it = tradeDBServicesSet.iterator();
-            if (it.hasNext()) {
-              tradeDBServices = (TradeDBServices) it.next();
-            }
-        }
-        return tradeDBServices;
-    }
-
-    /**
-      * Get the list of TradeDBServices as a set.
-      */
-    public Set getTradeDBServicesSet()
-    {
-        System.out.println("@JAB TradeServicesManager.getTradeDBServicesSet " + tradeDBServicesSet.size());
-        return tradeDBServicesSet;
+        // @JAB for now this is hard-coded to JDBC.
+        // Eventually, we need to keep track of the selected TradeServices and return that
+//        System.out.println("@JAB TradeServicesManagerImpl.getTradeServices - returning " + tradeServicesMap.get(currentMode));
+        return tradeDBServicesMap.get(currentMode);
     }
 
-
     /**
       * Bind a new TradeServices implementation
       */
     public void bindService(TradeServices tradeServices, Map props)
     {
-        System.out.println("@JAB TradeServicesManager.bindService " + tradeServices + " Properties " + props);
-        tradeServicesSet.add(tradeServices);
+//        System.out.println("@JAB TradeServicesManagerImpl.bindService current size " + tradeServicesMap.size() + " adding " + tradeServices + "Properties " + props);
+        if (tradeServices != null) {
+            tradeServicesMap.put(tradeServices.getMode(), tradeServices);
+        }
+//        System.out.println("@JAB TradeServicesManagerImpl.bindService new size " + tradeServicesMap.size());
     }
 
     /**
@@ -158,8 +155,11 @@
       */
     public void unbindService(TradeServices tradeServices, Map props)
     {
-        System.out.println("@JAB TradeServicesManager.unbindService " + tradeServices + " Properties " + props);
-        tradeServicesSet.remove(tradeServices);
+//        System.out.println("@JAB TradeServicesManagerImpl.unbindService current size " + tradeServicesMap.size() + " adding " + tradeServices + "Properties " + props);
+        if (tradeServices != null) {
+            tradeServicesMap.remove(tradeServices.getMode());
+        }
+//        System.out.println("@JAB TradeServicesManagerImpl.unbindService new size " + tradeServicesMap.size());
     }
 
     /**
@@ -167,8 +167,11 @@
       */
     public void bindDBService(TradeDBServices tradeDBServices, Map props)
     {
-        System.out.println("@JAB TradeServicesManager.bindDBService " + tradeDBServices + " Properties " + props);
-        tradeDBServicesSet.add(tradeDBServices);
+//        System.out.println("@JAB TradeServicesManagerImpl.bindDBService current size " + tradeDBServicesMap.size() + " adding " + tradeDBServices + "Properties " + props);
+        if (tradeDBServices != null) {
+            tradeDBServicesMap.put(tradeDBServices.getMode(), tradeDBServices);
+        }
+//        System.out.println("@JAB TradeServicesManagerImpl.bindDBService new size " + tradeDBServicesMap.size());
     }
 
     /**
@@ -176,8 +179,10 @@
       */
     public void unbindDBService(TradeServices tradeDBServices, Map props)
     {
-        System.out.println("@JAB TradeServicesManager.unbindDBService " + tradeDBServices + " Properties " + props);
-        tradeDBServicesSet.remove(tradeDBServices);
+//        System.out.println("@JAB TradeServicesManagerImpl.unbindDBService current size " + tradeDBServicesMap.size() + " adding " + tradeDBServices + "Properties " + props);
+        if (tradeDBServices != null) {
+            tradeDBServicesMap.remove(tradeDBServices.getMode());
+        }
+//        System.out.println("@JAB TradeServicesManagerImpl.unbindDBService new size " + tradeDBServicesMap.size());
     }
-
 }

Modified: geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJDBCDirect.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJDBCDirect.java?rev=822886&r1=822885&r2=822886&view=diff
==============================================================================
--- geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJDBCDirect.java (original)
+++ geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJDBCDirect.java Wed Oct  7 20:06:16 2009
@@ -70,11 +70,13 @@
      * Zero arg constructor for TradeJDBCDirect
      */
     public TradeJDBCDirect() {
+//        System.out.println("@JAB TradeJDBCDirect() ");
         if (initialized == false)
             init();
     }
 
     public TradeJDBCDirect(boolean inSession) {
+//        System.out.println("@JAB TradeJDBCDirect( " + inSession + " )");
         if (initialized == false)
             init();
 
@@ -2004,4 +2006,13 @@
         this.inGlobalTxn = inGlobalTxn;
     }
 
+    /**
+     * Get mode - returns the persistence mode (TradeConfig.JDBC)
+     * 
+     * @return int mode
+     */
+    public int getMode() {
+        return TradeConfig.JDBC;
+    }
+
 }

Added: geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java?rev=822886&view=auto
==============================================================================
--- geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java (added)
+++ geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java Wed Oct  7 20:06:16 2009
@@ -0,0 +1,407 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.samples.daytrader.core.direct;
+
+import java.math.BigDecimal;
+import java.util.Collection;
+import java.util.ArrayList;
+import javax.naming.InitialContext;
+
+import javax.sql.DataSource;
+
+import org.apache.geronimo.samples.daytrader.beans.*;
+import org.apache.geronimo.samples.daytrader.core.*;
+import org.apache.geronimo.samples.daytrader.util.*;
+
+import java.rmi.RemoteException;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.sql.Timestamp;
+
+
+/**
+ * TradeJPADirect - mocked up object until real one is available
+ * 
+ * @see org.apache.geronimo.samples.daytrader.TradeServices
+ * 
+ */
+
+public class TradeJPADirect implements TradeServices, TradeDBServices {
+
+    private static String dsName = TradeConfig.DATASOURCE;
+
+    private static DataSource datasource = null;
+
+    private static BigDecimal ZERO = new BigDecimal(0.0);
+
+    private boolean inGlobalTxn = false;
+
+    private boolean inSession = false;
+
+    /**
+     * Zero arg constructor for TradeJPADirect
+     */
+    public TradeJPADirect() {
+        System.out.println("@JAB TradeJPADirect() ");
+    }
+
+    public TradeJPADirect(boolean inSession) {
+        System.out.println("@JAB TradeJPADirect( " + inSession + " )");
+
+        this.inSession = inSession;
+    }
+
+    /**
+     * @see TradeServices#getMarketSummary()
+     */
+    public MarketSummaryDataBean getMarketSummary() throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.getMarketSummary()");
+
+        MarketSummaryDataBean marketSummaryData = null;
+
+        return marketSummaryData;
+
+    }
+
+    /**
+     * @see TradeServices#buy(String, String, double)
+     */
+    public OrderDataBean buy(String userID, String symbol, double quantity, int orderProcessingMode) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.buy()");
+
+        OrderDataBean orderData = null;
+
+        return orderData;
+    }
+
+    /**
+     * @see TradeServices#sell(String, Integer)
+     */
+    public OrderDataBean sell(String userID, Integer holdingID, int orderProcessingMode) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.sell()");
+
+        OrderDataBean orderData = null;
+
+        return orderData;
+    }
+
+    /**
+     * @see TradeServices#queueOrder(Integer)
+     */
+    public void queueOrder(Integer orderID, boolean twoPhase) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.queueOrder()");
+    }
+
+    /**
+     * @see TradeServices#completeOrder(Integer)
+     */
+    public OrderDataBean completeOrder(Integer orderID, boolean twoPhase) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.completeOrder()");
+
+        OrderDataBean orderData = null;
+
+        return orderData;
+
+    }
+
+    /**
+     * @see TradeServices#cancelOrder(Integer, boolean)
+     */
+    public void cancelOrder(Integer orderID, boolean twoPhase) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.cancelOrder()");
+
+    }
+
+
+    public void orderCompleted(String userID, Integer orderID) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.orderCompleted()");
+
+    }
+
+
+
+
+    /**
+     * @see TradeServices#getOrders(String)
+     */
+    public Collection getOrders(String userID) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.getOrders()");
+
+        Collection orderDataBeans = new ArrayList();
+
+        return orderDataBeans;
+    }
+
+    /**
+     * @see TradeServices#getClosedOrders(String)
+     */
+    public Collection getClosedOrders(String userID) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.getClosedOrders()");
+
+        Collection orderDataBeans = new ArrayList();
+
+        return orderDataBeans;
+    }
+
+    /**
+     * @see TradeServices#createQuote(String, String, BigDecimal)
+     */
+    public QuoteDataBean createQuote(String symbol, String companyName, BigDecimal price) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.createQuote()");
+
+        QuoteDataBean quoteData = null;
+
+        return quoteData;
+    }
+
+    /**
+     * @see TradeServices#getQuote(String)
+     */
+
+    public QuoteDataBean getQuote(String symbol) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.getQuote()");
+
+        QuoteDataBean quoteData = null;
+
+        return quoteData;
+    }
+
+
+
+    /**
+     * @see TradeServices#getAllQuotes(String)
+     */
+    public Collection getAllQuotes() throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.getAllQuotes()");
+
+        Collection quotes = new ArrayList();
+
+        return quotes;
+    }
+
+    /**
+     * @see TradeServices#getHoldings(String)
+     */
+    public Collection getHoldings(String userID) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.getHoldings()");
+
+        Collection holdingDataBeans = new ArrayList();
+
+        return holdingDataBeans;
+    }
+
+    /**
+     * @see TradeServices#getHolding(Integer)
+     */
+    public HoldingDataBean getHolding(Integer holdingID) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.getHolding()");
+
+        HoldingDataBean holdingData = null;
+
+        return holdingData;
+    }
+
+    /**
+     * @see TradeServices#getAccountData(String)
+     */
+    public AccountDataBean getAccountData(String userID) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.getAccountData()");
+
+            AccountDataBean accountData = null;
+            return accountData;
+    }
+
+
+    /**
+     * @see TradeServices#getAccountData(String)
+     */
+    public AccountDataBean getAccountData(int accountID) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.getAccountData() 3 ");
+
+        AccountDataBean accountData = null;
+
+        return accountData;
+    }
+
+
+
+    /**
+     * @see TradeServices#getAccountProfileData(String)
+     */
+    public AccountProfileDataBean getAccountProfileData(String userID) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.getAccountProfileData()");
+
+        AccountProfileDataBean accountProfileData = null;
+
+        return accountProfileData;
+    }
+
+
+    /**
+     * @see TradeServices#updateAccountProfile(AccountProfileDataBean)
+     */
+    public AccountProfileDataBean updateAccountProfile(AccountProfileDataBean profileData) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.updateAccountProfile()");
+
+        AccountProfileDataBean accountProfileData = null;
+
+        return accountProfileData;
+    }
+
+    public QuoteDataBean updateQuotePriceVolume(String symbol, BigDecimal changeFactor, double sharesTraded)
+        throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.updateQuotePriceVolume()");
+
+        return updateQuotePriceVolumeInt(symbol, changeFactor, sharesTraded, TradeConfig.getPublishQuotePriceChange());
+    }
+
+    /**
+     * Update a quote's price and volume
+     * 
+     * @param symbol
+     *            The PK of the quote
+     * @param changeFactor
+     *            the percent to change the old price by (between 50% and 150%)
+     * @param sharedTraded
+     *            the ammount to add to the current volume
+     * @param publishQuotePriceChange
+     *            used by the PingJDBCWrite Primitive to ensure no JMS is used, should be true for all normal calls to
+     *            this API
+     */
+    public QuoteDataBean updateQuotePriceVolumeInt(String symbol, BigDecimal changeFactor, double sharesTraded,
+        boolean publishQuotePriceChange) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.updateQuotePriceVolumeInt()");
+
+        QuoteDataBean quoteData = null;
+
+        return quoteData;
+    }
+
+
+    /**
+     * @see TradeServices#login(String, String)
+     */
+
+    public AccountDataBean login(String userID, String password) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.login()");
+
+        AccountDataBean accountData = null;
+
+        return accountData;
+    }
+
+    /**
+     * @see TradeServices#logout(String)
+     */
+    public void logout(String userID) throws Exception {
+
+
+        System.out.println("@JAB TradeJPADirect.logout()");
+
+    }
+
+    /**
+     * @see TradeServices#register(String, String, String, String, String, String, BigDecimal, boolean)
+     */
+
+    public AccountDataBean register(String userID, String password, String fullname, String address, String email,
+        String creditCard, BigDecimal openBalance) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.register()");
+
+        AccountDataBean accountData = null;
+
+        return accountData;
+    }
+
+
+    public String checkDBProductName() throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.checkDBProductName()");
+
+        String dbProductName = null;
+
+        return dbProductName;
+    }
+
+    public boolean recreateDBTables(Object[] sqlBuffer, java.io.PrintWriter out) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.recreateDBTables()");
+
+        boolean success = false;
+
+        return success;
+    }
+
+    public RunStatsDataBean resetTrade(boolean deleteAll) throws Exception {
+
+        System.out.println("@JAB TradeJPADirect.resetTrade()");
+
+        RunStatsDataBean runStatsData = new RunStatsDataBean();
+
+        return runStatsData;
+
+    }
+
+    public static synchronized void init() {
+
+        System.out.println("@JAB TradeJPADirect.init");
+
+    }
+
+    public static void destroy() {
+
+        System.out.println("@JAB TradeJPADirect.destroy");
+
+    }
+
+
+    /**
+     * Get mode - returns the persistence mode (TradeConfig.JPA)
+     * 
+     * @return int mode
+     */
+    public int getMode() {
+        return TradeConfig.JPA;
+    }
+
+}

Propchange: geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml?rev=822886&r1=822885&r2=822886&view=diff
==============================================================================
--- geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml (original)
+++ geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml Wed Oct  7 20:06:16 2009
@@ -1,18 +1,32 @@
 <blueprint>
 
-  <bean id="tradeServiceComponent" class="org.apache.geronimo.samples.daytrader.core.direct.TradeJDBCDirect" activation="lazy" init-method="init"/>
-  
-  <service id="tradeDBService" ref="tradeServiceComponent" interface="org.apache.geronimo.samples.daytrader.core.TradeDBServices">
+  <bean id="tradeServicesBeanJDBC" class="org.apache.geronimo.samples.daytrader.core.direct.TradeJDBCDirect" activation="lazy" init-method="init"/>
+
+  <service id="tradeServicesJDBC" ref="tradeServicesBeanJDBC" interface="org.apache.geronimo.samples.daytrader.core.TradeServices">
       <service-properties>
           <entry key="mode" value="jdbc"/>
       </service-properties>
   </service>
 
-  <service id="tradeService" ref="tradeServiceComponent" interface="org.apache.geronimo.samples.daytrader.core.TradeServices">
+  <service id="tradeDBServicesJDBC" ref="tradeServicesBeanJDBC" interface="org.apache.geronimo.samples.daytrader.core.TradeDBServices">
       <service-properties>
           <entry key="mode" value="jdbc"/>
       </service-properties>
   </service>
 
+  <bean id="tradeServicesBeanJPA" class="org.apache.geronimo.samples.daytrader.core.direct.TradeJPADirect" activation="lazy"/> 
+  
+  <service id="tradeServicesJPA" ref="tradeServicesBeanJPA" interface="org.apache.geronimo.samples.daytrader.core.TradeServices">
+      <service-properties>
+          <entry key="mode" value="jpa"/>
+      </service-properties>
+  </service>
+
+  <service id="tradeDBServicesJPA" ref="tradeServicesBeanJPA" interface="org.apache.geronimo.samples.daytrader.core.TradeDBServices">
+      <service-properties>
+          <entry key="mode" value="jpa"/>
+      </service-properties>
+  </service>
+
 </blueprint>
 

Modified: geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/resources/OSGI-INF/blueprint/listener.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/resources/OSGI-INF/blueprint/listener.xml?rev=822886&r1=822885&r2=822886&view=diff
==============================================================================
--- geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/resources/OSGI-INF/blueprint/listener.xml (original)
+++ geronimo/sandbox/jbohn/daytrader-bp/modules/core/src/main/resources/OSGI-INF/blueprint/listener.xml Wed Oct  7 20:06:16 2009
@@ -1,28 +1,38 @@
 <blueprint>
 
-  <bean id="tradeServicesManager" class="org.apache.geronimo.samples.daytrader.core.TradeServicesManagerImpl" activation="lazy" init-method="init">
-      <property name="tradeServices" ref="tradeServicesList"/>
-      <property name="tradeDBServices" ref="tradeDBServicesList"/>
+  <bean id="tradeServicesManagerBean" class="org.apache.geronimo.samples.daytrader.core.TradeServicesManagerImpl" activation="lazy" init-method="init">
+      <!--<property name="tradeServices" ref="tradeServicesList"/>-->
+      <!--<property name="tradeDBServices" ref="tradeDBServicesList"/>-->
+      <property name="tradeServices" ref="tradeServicesRefJDBC"/>
+      <property name="tradeDBServices" ref="tradeDBServicesRefJDBC"/>
+      <property name="tradeServicesJPA" ref="tradeServicesRefJPA"/>
+      <property name="tradeDBServicesJPA" ref="tradeDBServicesRefJPA"/>
       <property name="test" value="test"/>
   </bean>
   
-  <service ref="tradeServicesManager" interface="org.apache.geronimo.samples.daytrader.core.TradeServicesManager"/>
+  <service id="TradeServicesManager" ref="tradeServicesManagerBean" interface="org.apache.geronimo.samples.daytrader.core.TradeServicesManager"/>
 
-  <reference id="tradeServicesList" availability="optional" interface="org.apache.geronimo.samples.daytrader.core.TradeServices">
-    <reference-listener ref="tradeServicesManager" bind-method="bindService" unbind-method="unbindService"/>
+  <reference id="tradeServicesRefJDBC" availability="optional" interface="org.apache.geronimo.samples.daytrader.core.TradeServices" filter="(mode=jdbc)">
+    <reference-listener ref="tradeServicesManagerBean" bind-method="bindService" unbind-method="unbindService"/>
+  </reference>
+  <reference id="tradeServicesRefJPA" availability="optional" interface="org.apache.geronimo.samples.daytrader.core.TradeServices" filter="(mode=jpa)">
+    <reference-listener ref="tradeServicesManagerBean" bind-method="bindService" unbind-method="unbindService"/>
   </reference>
 <!--
   <ref-list id="tradeServicesList" availability="optional" interface="org.apache.geronimo.samples.daytrader.core.TradeServices">
-      <reference-listener ref="tradeServicesManager" bind-method="bindService" unbind-method="unbindService" />
+      <reference-listener ref="tradeServicesManagerBean" bind-method="bindService" unbind-method="unbindService" />
   </ref-list>
 -->
 
-  <reference id="tradeDBServicesList" availability="optional" interface="org.apache.geronimo.samples.daytrader.core.TradeDBServices">
-    <reference-listener ref="tradeServicesManager" bind-method="bindDBService" unbind-method="unbindDBService"/>
+  <reference id="tradeDBServicesRefJDBC" availability="optional" interface="org.apache.geronimo.samples.daytrader.core.TradeDBServices" filter="(mode=jdbc)">
+    <reference-listener ref="tradeServicesManagerBean" bind-method="bindDBService" unbind-method="unbindDBService"/>
+  </reference>
+  <reference id="tradeDBServicesRefJPA" availability="optional" interface="org.apache.geronimo.samples.daytrader.core.TradeDBServices" filter="(mode=jpa)">
+    <reference-listener ref="tradeServicesManagerBean" bind-method="bindDBService" unbind-method="unbindDBService"/>
   </reference>
 <!--
   <ref-list id="tradeDBServicesList" availability="optional" interface="org.apache.geronimo.samples.daytrader.core.TradeDBServices">
-      <reference-listener ref="tradeServicesManager" bind-method="bindDBService" unbind-method="unbindDBService" />
+      <reference-listener ref="tradeServicesManagerBean" bind-method="bindDBService" unbind-method="unbindDBService" />
   </ref-list>
 -->
 </blueprint>