You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ec...@apache.org on 2008/03/28 08:04:16 UTC

svn commit: r642104 - in /geronimo/samples/branches/1.0/migration-jdbc: src/com/dev/trade/ src/org/ src/org/apache/ src/org/apache/geronimo/ src/org/apache/geronimo/demo/ src/org/apache/geronimo/demo/jdbc/ src/org/apache/geronimo/demo/jdbc/bo/ src/org/...

Author: ecraig
Date: Fri Mar 28 00:04:14 2008
New Revision: 642104

URL: http://svn.apache.org/viewvc?rev=642104&view=rev
Log:
GERONIMO-3910
Cleaned up samples/branches/1.0/migration-jdbc


Added:
    geronimo/samples/branches/1.0/migration-jdbc/src/org/
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/bo/
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/bo/Stock.java
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/bo/User.java
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/dao/
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/dao/TradeDAO.java
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/exception/
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/exception/DBException.java
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/servlet/
    geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/servlet/TradeDispatcherServlet.java
Removed:
    geronimo/samples/branches/1.0/migration-jdbc/src/com/dev/trade/
Modified:
    geronimo/samples/branches/1.0/migration-jdbc/web/descriptors/web.xml
    geronimo/samples/branches/1.0/migration-jdbc/web/jsps/register.jsp
    geronimo/samples/branches/1.0/migration-jdbc/web/jsps/stocks.jsp
    geronimo/samples/branches/1.0/migration-jdbc/web/jsps/userstocks.jsp

Added: geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/bo/Stock.java
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/bo/Stock.java?rev=642104&view=auto
==============================================================================
--- geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/bo/Stock.java (added)
+++ geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/bo/Stock.java Fri Mar 28 00:04:14 2008
@@ -0,0 +1,56 @@
+/*
+* 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.demo.jdbc.bo;
+
+public class Stock {
+    private String id = null;
+    private String name = null;
+    private float price = 0.0f;
+    private int quantity = 0;
+    
+    public Stock(String id, String name, float price, int quantity) {       
+        this.id = id;
+        this.name = name;
+        this.price = price;
+        this.quantity = quantity;
+    }
+    public String getId() {
+        return id;
+    }
+    public void setId(String id) {
+        this.id = id;
+    }
+    public String getName() {
+        return name;
+    }
+    public void setName(String name) {
+        this.name = name;
+    }
+    public float getPrice() {
+        return price;
+    }
+    public void setPrice(float price) {
+        this.price = price;
+    }
+    public int getQuantity() {
+        return quantity;
+    }
+    public void setQuantity(int quantity) {
+        this.quantity = quantity;
+    }
+    
+}

Added: geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/bo/User.java
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/bo/User.java?rev=642104&view=auto
==============================================================================
--- geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/bo/User.java (added)
+++ geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/bo/User.java Fri Mar 28 00:04:14 2008
@@ -0,0 +1,68 @@
+/*
+* 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.demo.jdbc.bo;
+
+public class User {
+
+    private String userId = null;
+    private String name = null;
+    private String password = null;
+    private String address = null;
+    private float cash = 0f;
+    
+    public User(String userId,String name,String password,String address,float cash){       
+        this.userId = userId;
+        this.name = name;
+        this.password = password;
+        this.address = address;
+        this.cash = cash;
+    }
+    
+    public String getAddress() {
+        return address;
+    }
+    public void setAddress(String address) {
+        this.address = address;
+    }
+    public String getName() {
+        return name;
+    }
+    public void setName(String name) {
+        this.name = name;
+    }
+    public String getPassword() {
+        return password;
+    }
+    public void setPassword(String password) {
+        this.password = password;
+    }
+    public String getUserId() {
+        return userId;
+    }
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public float getCash() {
+        return cash;
+    }
+
+    public void setCash(float cash) {
+        this.cash = cash;
+    }
+    
+}

Added: geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/dao/TradeDAO.java
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/dao/TradeDAO.java?rev=642104&view=auto
==============================================================================
--- geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/dao/TradeDAO.java (added)
+++ geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/dao/TradeDAO.java Fri Mar 28 00:04:14 2008
@@ -0,0 +1,355 @@
+/*
+* 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.demo.jdbc.dao;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.sql.DataSource;
+
+import org.apache.geronimo.demo.jdbc.bo.Stock;
+import org.apache.geronimo.demo.jdbc.bo.User;
+import org.apache.geronimo.demo.jdbc.exception.DBException;
+
+
+public class TradeDAO {
+    private Connection con;
+
+    public TradeDAO() throws Exception {
+        try {
+            InitialContext initialContext = new InitialContext();
+            Context envCtx = (Context) initialContext.lookup("java:comp/env");
+            DataSource ds = (DataSource) envCtx.lookup("jdbc/TradeDB");
+            con = ds.getConnection();
+        } catch (Exception ex) {
+            throw new Exception("Couldn't open connection to database: "
+                    + ex.getMessage());
+        }
+    }
+
+    public User getUserByUserId(String userId) throws DBException {
+
+        User user = null;
+        try {
+            String query = "select * from users where userid = ?";
+            PreparedStatement pStmt = con.prepareStatement(query);
+            pStmt.setString(1, userId);
+            ResultSet rs = pStmt.executeQuery();
+            while (rs.next()) {
+                user = new User(rs.getString(1), rs.getString(2), rs
+                        .getString(3), rs.getString(4), rs.getFloat(5));
+            }
+            pStmt.close();
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+            throw new DBException(ex.getMessage());
+        }
+
+        return user;
+    }
+
+    public List getUserStocks(String userId) throws DBException {
+        List stocks = new ArrayList();
+        try {
+            String query = "select A.quantity,A.stockid,B.name,B.price from TradingAccount A,stocks B where A.userid = ? and A.stockid = B.id";
+            PreparedStatement pStmt = con.prepareStatement(query);
+            pStmt.setString(1, userId);
+            Stock stock = null;
+            ResultSet rs = pStmt.executeQuery();
+            while (rs.next()) {
+                stock = new Stock(rs.getString(2), rs.getString(3), rs
+                        .getFloat(4), rs.getInt(1));
+                stocks.add(stock);
+            }
+            pStmt.close();
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+            throw new DBException(ex.getMessage());
+        }
+        return stocks;
+    }
+
+    public List getStocks() throws DBException {
+        List stocks = new ArrayList();
+        try {
+            String query = "select * from stocks";
+            PreparedStatement pStmt = con.prepareStatement(query);
+
+            Stock stock = null;
+            ResultSet rs = pStmt.executeQuery();
+            while (rs.next()) {
+                stock = new Stock(rs.getString(1), rs.getString(2), rs
+                        .getFloat(3), 0);
+                stocks.add(stock);
+            }
+            pStmt.close();
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+            throw new DBException(ex.getMessage());
+        }
+        return stocks;
+    }
+
+    public float getUserCash(String userId) throws DBException {
+        float cash = 0;
+        try {
+            String query = "select cash from users where userid = ?";
+            PreparedStatement pStmt = con.prepareStatement(query);
+            pStmt.setString(1, userId);
+            ResultSet rs = pStmt.executeQuery();
+            while (rs.next()) {
+                cash = rs.getFloat("cash");
+            }
+            pStmt.close();
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+            throw new DBException(ex.getMessage());
+        }
+        return cash;
+    }
+
+    public boolean buyStock(String userId, String stockId, int quantity)
+            throws DBException {
+        float cashAvailable = getUserCash(userId);
+        float costOfStock = getStockPrice(stockId);
+        float totalCost = costOfStock * quantity;
+        int availableStock = getStockQuantityForUser(userId, stockId);
+        cashAvailable = cashAvailable - totalCost;
+        availableStock = availableStock + quantity;
+        if (cashAvailable >= 0 && (availableStock != quantity)) {
+            try {
+                con.setAutoCommit(false);
+                if (setUserCash(userId, cashAvailable)
+                        && setUserStock(userId, stockId, availableStock)) {
+                    con.commit();
+                } else {
+                    con.rollback();
+                }
+                con.setAutoCommit(true);
+            } catch (SQLException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+                throw new DBException(e.getMessage());
+            }
+        } else if (cashAvailable >= 0 && (availableStock == quantity)) {
+            try {
+                con.setAutoCommit(false);
+                if (setUserCash(userId, cashAvailable)
+                        && addUserStock(userId, stockId, availableStock)) {
+                    con.commit();
+                } else {
+                    con.rollback();
+                }
+                con.setAutoCommit(true);
+            } catch (SQLException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+                throw new DBException(e.getMessage());
+            }
+        } else {
+            return false;
+        }
+        return true;
+    }
+
+    public boolean sellStock(String userId, String stockId, int quantity)
+            throws DBException {
+        float cashAvailable = getUserCash(userId);
+        float costOfStock = getStockPrice(stockId);
+        float totalCost = costOfStock * quantity;
+        int availableStock = getStockQuantityForUser(userId, stockId);
+        cashAvailable = cashAvailable + totalCost;
+        availableStock = availableStock - quantity;
+        if (availableStock >= 0) {
+            try {
+                con.setAutoCommit(false);
+                if (setUserCash(userId, cashAvailable)
+                        && setUserStock(userId, stockId, availableStock)) {
+                    con.commit();
+                } else {
+                    con.rollback();
+                }
+                con.setAutoCommit(true);
+            } catch (SQLException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+                throw new DBException(e.getMessage());
+            }
+
+        } else {
+            return false;
+        }
+        return true;
+    }
+
+    public float getStockPrice(String stockId) throws DBException {
+        float stockPrice = 0f;
+        try {
+            String query = "select price from stocks where id = ?";
+            PreparedStatement pStmt = con.prepareStatement(query);
+            pStmt.setString(1, stockId);
+            ResultSet rs = pStmt.executeQuery();
+            while (rs.next()) {
+                stockPrice = rs.getFloat("price");
+            }
+            pStmt.close();
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+            throw new DBException(ex.getMessage());
+        }
+
+        return stockPrice;
+    }
+
+    private boolean setUserCash(String userId, float cash) throws DBException {
+        int status = 0;
+        try {
+            String query = "update users set cash = ? where userid = ?";
+            PreparedStatement pStmt = con.prepareStatement(query);
+            pStmt.setFloat(1, cash);
+            pStmt.setString(2, userId);
+            status = pStmt.executeUpdate();
+            pStmt.close();
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+            throw new DBException(ex.getMessage());
+        }
+        if (status == 0) {
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+    // buy = true sell = false
+    private boolean setUserStock(String userId, String stockId, int quantity)
+            throws DBException {
+        int existingQuantity = 0;
+        int status = 0;
+
+        try {
+            String query = "update TradingAccount set quantity = ? where stockid = ? and userid = ?";
+            PreparedStatement pStmt = con.prepareStatement(query);
+            pStmt.setInt(1, quantity);
+            pStmt.setString(2, stockId);
+            pStmt.setString(3, userId);
+            status = pStmt.executeUpdate();
+            pStmt.close();
+            query = "delete from TradingAccount where quantity = ?";
+            pStmt = con.prepareStatement(query);
+            pStmt.setInt(1, 0);
+            pStmt.executeUpdate();
+            pStmt.close();
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+            throw new DBException(ex.getMessage());
+        }
+        if (status == 0) {
+            return false;
+        } else {
+            return true;
+        }
+
+    }
+
+    private boolean addUserStock(String userId, String stockId, int quantity)
+            throws DBException {
+
+        int status = 0;
+        try {
+            String query = "insert into TradingAccount values (?,?,?)";
+            PreparedStatement pStmt = con.prepareStatement(query);
+            pStmt.setInt(3, quantity);
+            pStmt.setString(2, stockId);
+            pStmt.setString(1, userId);
+            status = pStmt.executeUpdate();
+            pStmt.close();
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+            throw new DBException(ex.getMessage());
+        }
+        if (status == 0) {
+            return false;
+        } else {
+            return true;
+        }
+
+    }
+
+    public int getStockQuantityForUser(String userId, String stockId)
+            throws DBException {
+        int existingQuantity = 0;
+
+        try {
+            String query = "select quantity from TradingAccount where userid = ? and stockid = ?";
+            PreparedStatement pStmt = con.prepareStatement(query);
+            pStmt.setString(1, userId);
+            pStmt.setString(2, stockId);
+            ResultSet rs = pStmt.executeQuery();
+            while (rs.next()) {
+                existingQuantity = rs.getInt("quantity");
+            }
+            pStmt.close();
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+            throw new DBException(ex.getMessage());
+        }
+        return existingQuantity;
+    }
+
+    public boolean addUser(String userId, String name, String password,
+            String address, float cash) throws DBException {
+        int status = 0;
+
+        try {
+            String query = "insert into users values (?,?,?,?,?)";
+            PreparedStatement pStmt = con.prepareStatement(query);
+            pStmt.setString(1, userId);
+            pStmt.setString(2, name);
+            pStmt.setString(3, password);
+            pStmt.setString(4, address);
+            pStmt.setFloat(5, cash);
+            status = pStmt.executeUpdate();
+            pStmt.close();
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+            throw new DBException(ex.getMessage());
+        }
+        if (status == 0) {
+            return false;
+        } else {
+            return true;
+        }
+
+    }
+
+    public void remove() throws DBException {
+        try {
+            con.close();
+        } catch (SQLException ex) {
+
+            throw new DBException(ex.getMessage());
+        }
+    }
+
+}

Added: geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/exception/DBException.java
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/exception/DBException.java?rev=642104&view=auto
==============================================================================
--- geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/exception/DBException.java (added)
+++ geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/exception/DBException.java Fri Mar 28 00:04:14 2008
@@ -0,0 +1,26 @@
+/*
+* 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.demo.jdbc.exception;
+
+public class DBException extends Exception {
+public DBException(){
+super();    
+}
+public DBException(String message){
+    super(message); 
+    }
+}

Added: geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/servlet/TradeDispatcherServlet.java
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/servlet/TradeDispatcherServlet.java?rev=642104&view=auto
==============================================================================
--- geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/servlet/TradeDispatcherServlet.java (added)
+++ geronimo/samples/branches/1.0/migration-jdbc/src/org/apache/geronimo/demo/jdbc/servlet/TradeDispatcherServlet.java Fri Mar 28 00:04:14 2008
@@ -0,0 +1,184 @@
+/*
+* 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.demo.jdbc.servlet;
+
+import java.io.IOException;
+import java.util.List;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.apache.geronimo.demo.jdbc.bo.User;
+import org.apache.geronimo.demo.jdbc.dao.TradeDAO;
+import org.apache.geronimo.demo.jdbc.exception.DBException;
+
+
+public class TradeDispatcherServlet extends HttpServlet {
+
+    private TradeDAO tradeDAO = null;
+
+    private HttpSession session = null;
+
+    public void init() throws ServletException {
+        // TODO Auto-generated method stub
+        super.init();
+        try {
+            tradeDAO = new TradeDAO();
+        } catch (Exception e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+
+    }
+
+    protected void doGet(HttpServletRequest request,
+            HttpServletResponse response) throws ServletException, IOException {
+        try {
+            session = request.getSession(true);
+            session.removeAttribute("status");
+            String page = request.getServletPath();
+            if ("/login".equals(page)) {
+                String userId = (String) request.getParameter("user");
+                String password = (String) request.getParameter("password");
+                if (userId != null && password != null) {
+                    User user = tradeDAO.getUserByUserId(userId);
+                    session.setAttribute("user", user);
+                    if (user != null && password.equals(user.getPassword())) {
+                        page = "/stocks";
+                        session.setAttribute("userId", userId);
+                        session.setAttribute("password", password);
+                        List stocks = tradeDAO.getStocks();
+                        session.setAttribute("stocks", stocks);
+                    } else {
+                        page = "/login";
+                        session.setAttribute("status",
+                                "Logon Failed Please Try Again!");
+                    }
+                } else {
+                    page = "/login";
+                }
+
+            } else if ("/stocks".equals(page)) {
+                List stocks = tradeDAO.getStocks();
+                session.setAttribute("stocks", stocks);
+            } else if ("/userstocks".equals(page)) {
+                String userId = (String) session.getAttribute("userId");
+                List userStocks = tradeDAO.getUserStocks(userId);
+                session.setAttribute("userStocks", userStocks);
+            } else if ("/register".equals(page)) {
+                String userId = request.getParameter("user");
+                String name = request.getParameter("name");
+                String password = request.getParameter("password");
+                String address = request.getParameter("address");
+                float cash = Float
+                        .parseFloat((request.getParameter("cash") == null) ? "0"
+                                : request.getParameter("cash"));
+                if (userId != null && name != null && password != null
+                        && address != null && cash != 0) {
+                    User user = tradeDAO.getUserByUserId(userId);
+                    if (user == null) {
+                        boolean status = tradeDAO.addUser(userId, name,
+                                password, address, cash);
+                        if (status) {
+                            page = "/login";
+                        } else {
+                            page = "/register";
+                            session.setAttribute("status",
+                                    "Registration Failed Please Try Again!");
+                        }
+                    } else {
+                        page = "/register";
+                        session.setAttribute("status",
+                                "Registration Failed User Already Exists!");
+                    }
+
+                }else if (userId != null && name != null && password != null
+                        && address != null && cash == 0) {
+                        session.setAttribute("status",
+                                "Registration Failed Not enough Cash!");
+                        page = "/register";
+
+                }else {
+                    page = "/register";
+                }
+
+            } else if ("/sell".equals(page)) {
+                page = "/userstocks";
+                String userId = (String) session.getAttribute("userId");
+                String stockId = request.getParameter("select");
+                int quantity = Integer.parseInt(request
+                        .getParameter("sellQuantity"));
+                boolean status = tradeDAO.sellStock(userId, stockId, quantity);
+                if (!status) {
+                    session
+                            .setAttribute("status",
+                                    "Not Enough Stocks or Operation Failed Please Try Again!");
+                }
+                List userStocks = tradeDAO.getUserStocks(userId);
+                session.setAttribute("userStocks", userStocks);
+                User user = tradeDAO.getUserByUserId(userId);
+                session.setAttribute("user", user);
+            } else if ("/buy".equals(page)) {
+                page = "/stocks";
+                String userId = (String) session.getAttribute("userId");
+                String stockId = request.getParameter("select");
+                int quantity = Integer.parseInt(request
+                        .getParameter("buyQuantity"));
+                boolean status = tradeDAO.buyStock(userId, stockId, quantity);
+                if (!status) {
+                    session
+                            .setAttribute("status",
+                                    "Not Enough Money or Operation Failed Please Try Again!");
+                }
+                List userStocks = tradeDAO.getUserStocks(userId);
+                session.setAttribute("userStocks", userStocks);
+                User user = tradeDAO.getUserByUserId(userId);
+                session.setAttribute("user", user);
+            }
+
+            request.getRequestDispatcher(page + ".jsp").forward(request,
+                    response);
+        } catch (DBException e) {
+            throw new ServletException(e.getMessage());
+        } catch (Exception ex) {
+            throw new ServletException(ex.getMessage());
+        }
+
+    }
+
+    protected void doPost(HttpServletRequest request,
+            HttpServletResponse response) throws ServletException, IOException {
+        // TODO Auto-generated method stub
+
+        doGet(request, response);
+    }
+
+    public void destroy() {
+            // TODO Auto-generated method stub
+        super.destroy();
+        try {
+            tradeDAO.remove();
+            } catch (DBException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+            }
+    }
+
+}

Modified: geronimo/samples/branches/1.0/migration-jdbc/web/descriptors/web.xml
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/1.0/migration-jdbc/web/descriptors/web.xml?rev=642104&r1=642103&r2=642104&view=diff
==============================================================================
--- geronimo/samples/branches/1.0/migration-jdbc/web/descriptors/web.xml (original)
+++ geronimo/samples/branches/1.0/migration-jdbc/web/descriptors/web.xml Fri Mar 28 00:04:14 2008
@@ -20,7 +20,7 @@
 <servlet>
 <display-name>Trade-Dispatcher</display-name>
 <servlet-name>TradeDispatcher</servlet-name>
-<servlet-class>com.dev.trade.servlet.TradeDispatcherServlet</servlet-class>
+<servlet-class>org.apache.geronimo.demo.jdbc.servlet.TradeDispatcherServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>TradeDispatcher</servlet-name>

Modified: geronimo/samples/branches/1.0/migration-jdbc/web/jsps/register.jsp
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/1.0/migration-jdbc/web/jsps/register.jsp?rev=642104&r1=642103&r2=642104&view=diff
==============================================================================
--- geronimo/samples/branches/1.0/migration-jdbc/web/jsps/register.jsp (original)
+++ geronimo/samples/branches/1.0/migration-jdbc/web/jsps/register.jsp Fri Mar 28 00:04:14 2008
@@ -14,7 +14,7 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<%@page language="java" import="com.dev.trade.bo.*" %>
+<%@page language="java" import="org.apache.geronimo.demo.jdbc.bo.*" %>
 <html>
 <head>
 <Title>Trader Registration</Title>

Modified: geronimo/samples/branches/1.0/migration-jdbc/web/jsps/stocks.jsp
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/1.0/migration-jdbc/web/jsps/stocks.jsp?rev=642104&r1=642103&r2=642104&view=diff
==============================================================================
--- geronimo/samples/branches/1.0/migration-jdbc/web/jsps/stocks.jsp (original)
+++ geronimo/samples/branches/1.0/migration-jdbc/web/jsps/stocks.jsp Fri Mar 28 00:04:14 2008
@@ -14,7 +14,7 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<%@page language="java" import="java.util.List,com.dev.trade.bo.Stock" %>
+<%@page language="java" import="java.util.List,org.apache.geronimo.demo.jdbc.bo.Stock" %>
 <html>
 <head>
 <Title>Available Stocks</Title>

Modified: geronimo/samples/branches/1.0/migration-jdbc/web/jsps/userstocks.jsp
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/1.0/migration-jdbc/web/jsps/userstocks.jsp?rev=642104&r1=642103&r2=642104&view=diff
==============================================================================
--- geronimo/samples/branches/1.0/migration-jdbc/web/jsps/userstocks.jsp (original)
+++ geronimo/samples/branches/1.0/migration-jdbc/web/jsps/userstocks.jsp Fri Mar 28 00:04:14 2008
@@ -14,7 +14,7 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<%@page language="java" import="java.util.List,com.dev.trade.bo.*" %>
+<%@page language="java" import="java.util.List,org.apache.geronimo.demo.jdbc.bo.*" %>
 <html>
 <head>
 <Title>Portfolio</Title>