You are viewing a plain text version of this content. The canonical link for it is here.
Posted to stonehenge-commits@incubator.apache.org by ch...@apache.org on 2009/09/19 10:03:13 UTC
svn commit: r816884 - in
/incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader:
dal/CustomerDAO.java mssql/MSSQLCustomerDAO.java mysql/MySQLCustomerDAO.java
Author: chintana
Date: Sat Sep 19 10:03:13 2009
New Revision: 816884
URL: http://svn.apache.org/viewvc?rev=816884&view=rev
Log:
Implementing the new operation
Modified:
incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/dal/CustomerDAO.java
incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/mssql/MSSQLCustomerDAO.java
incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/mysql/MySQLCustomerDAO.java
Modified: incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/dal/CustomerDAO.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/dal/CustomerDAO.java?rev=816884&r1=816883&r2=816884&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/dal/CustomerDAO.java (original)
+++ incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/dal/CustomerDAO.java Sat Sep 19 10:03:13 2009
@@ -28,6 +28,9 @@
public interface CustomerDAO {
+ public String getProfileIdFromStsIdentifier(String Id, String Sts)
+ throws DAOException;
+
public CustomHoldingBean getHoldingForUpdate(int orderId)
throws DAOException;
Modified: incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/mssql/MSSQLCustomerDAO.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/mssql/MSSQLCustomerDAO.java?rev=816884&r1=816883&r2=816884&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/mssql/MSSQLCustomerDAO.java (original)
+++ incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/mssql/MSSQLCustomerDAO.java Sat Sep 19 10:03:13 2009
@@ -55,11 +55,50 @@
private static final String SQL_INSERT_ACCOUNT = "INSERT INTO dbo.account (CREATIONDATE, OPENBALANCE, LOGOUTCOUNT, BALANCE, LASTLOGIN, LOGINCOUNT, PROFILE_USERID) VALUES (GetDate(), ?, ?, ?, ?, ?, ?); SELECT ID=@@IDENTITY";
private static final String SQL_UPDATE_ACCOUNT_PROFILE = "UPDATE dbo.accountprofile WITH (ROWLOCK) SET ADDRESS=?, PASSWORD=?, EMAIL=?, CREDITCARD=?, FULLNAME=? WHERE USERID=?";
private static final String SQL_SELECT_HOLDINGS = "SELECT HOLDING.HOLDINGID, HOLDING.QUANTITY, HOLDING.PURCHASEPRICE, HOLDING.PURCHASEDATE, HOLDING.QUOTE_SYMBOL,HOLDING.ACCOUNT_ACCOUNTID from dbo.holding WHERE HOLDING.ACCOUNT_ACCOUNTID = (SELECT ACCOUNTID FROM ACCOUNT WHERE PROFILE_USERID = ?) ORDER BY HOLDING.HOLDINGID DESC";
+ private static final String SQL_SELECT_CUSTOMERPROFILE_BYSTSID = "Set NOCOUNT ON; SELECT ACCOUNTPROFILE.UserID FROM dbo.ACCOUNT, dbo.ACCOUNTPROFILE, dbo.STSACCOUNTLOOKUP WITH (NOLOCK) WHERE ACCOUNT.PROFILE_USERID = ACCOUNTPROFILE.USERID and ACCOUNT.ACCOUNTID = STSACCOUNTLOOKUP.UserID and STSACCOUNTLOOKUP.StsUniqueIdentifier = ? and STSACCOUNTLOOKUP.IssuingSts = ?";
public MSSQLCustomerDAO(Connection sqlConnection) throws DAOException {
super(sqlConnection);
}
+ public String getProfileIdFromStsIdentifier(String Id, String Sts) throws DAOException {
+ if (logger.isDebugEnabled()) {
+ logger.debug("MSSQLCustomerDAO.getProfileIdFromStsIdentifier(String, String)\nUnique identifier: " + Id + "\nSts: " + Sts);
+ }
+
+ PreparedStatement selectProfileId = null;
+ String pid = null; // profile id
+ try {
+ selectProfileId = sqlConnection.prepareStatement(SQL_SELECT_CUSTOMERPROFILE_BYSTSID);
+ selectProfileId.setString(1, Id);
+ selectProfileId.setString(2, Sts);
+ ResultSet rs = selectProfileId.executeQuery();
+ if (rs.next()) {
+ try {
+ pid = rs.getString(1);
+ return pid;
+ } finally {
+ try {
+ rs.close();
+ } catch (SQLException e) {
+ logger.debug("", e);
+ }
+ }
+ }
+ } catch (SQLException e) {
+ throw new DAOException("Exception is thrown when selecting the profile id for unique id: " + Id + "and Sts: " + Sts, e);
+ } finally {
+ if (selectProfileId != null) {
+ try {
+ selectProfileId.close();
+ } catch (SQLException e) {
+ logger.debug("", e);
+ }
+ }
+ }
+ return pid;
+ }
+
public CustomHoldingBean getHoldingForUpdate(int orderId) throws DAOException {
if (logger.isDebugEnabled()) {
logger.debug("MSSQLCustomerDAO.getHoldingForUpdate(int)\nOrder ID :" + orderId);
Modified: incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/mysql/MySQLCustomerDAO.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/mysql/MySQLCustomerDAO.java?rev=816884&r1=816883&r2=816884&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/mysql/MySQLCustomerDAO.java (original)
+++ incubator/stonehenge/trunk/stocktrader/wsas/common/src/org/apache/stonehenge/stocktrader/mysql/MySQLCustomerDAO.java Sat Sep 19 10:03:13 2009
@@ -54,11 +54,50 @@
private static final String SQL_INSERT_ACCOUNT = "INSERT INTO account (creationdate, openbalance, logoutcount, balance, lastlogin, logincount, profile_userid, accountid) VALUES (now(), ?, ?, ?, ?, ?, ?, null); SELECT LAST_INSERT_ID();";
private static final String SQL_UPDATE_ACCOUNT_PROFILE = "UPDATE accountprofile SET address = ?, password = ?, email = ?, creditcard = ?, fullname = ? WHERE userid = ?";
private static final String SQL_SELECT_HOLDINGS = "SELECT holdingid, quantity, purchaseprice, purchasedate, quote_symbol, account_accountid FROM holding WHERE account_accountid = (SELECT accountid FROM account WHERE profile_userid = ?) ORDER BY holdingid DESC";
+ private static final String SQL_SELECT_CUSTOMERPROFILE_BYSTSID = "SELECT userid FROM account a, accountprofile p, stsaccountlookup s WHERE a.profile_userid = p.userid AND a.accountid = s.userid AND s.stsuniqueidentifier = ? AND s.issuingsts = ?";
public MySQLCustomerDAO(Connection sqlConnection) throws DAOException {
super(sqlConnection);
}
+ public String getProfileIdFromStsIdentifier(String Id, String Sts) throws DAOException {
+ if (logger.isDebugEnabled()) {
+ logger.debug("MSSQLCustomerDAO.getProfileIdFromStsIdentifier(String, String)\nUnique identifier: " + Id + "\nSts: " + Sts);
+ }
+
+ PreparedStatement selectProfileId = null;
+ String pid = null; // profile id
+ try {
+ selectProfileId = sqlConnection.prepareStatement(SQL_SELECT_CUSTOMERPROFILE_BYSTSID);
+ selectProfileId.setString(1, Id);
+ selectProfileId.setString(2, Sts);
+ ResultSet rs = selectProfileId.executeQuery();
+ if (rs.next()) {
+ try {
+ pid = rs.getString(1);
+ return pid;
+ } finally {
+ try {
+ rs.close();
+ } catch (SQLException e) {
+ logger.debug("", e);
+ }
+ }
+ }
+ } catch (SQLException e) {
+ throw new DAOException("Exception is thrown when selecting the profile id for unique id: " + Id + "and Sts: " + Sts, e);
+ } finally {
+ if (selectProfileId != null) {
+ try {
+ selectProfileId.close();
+ } catch (SQLException e) {
+ logger.debug("", e);
+ }
+ }
+ }
+ return pid;
+ }
+
public CustomHoldingBean getHoldingForUpdate(int orderId) throws DAOException {
if (logger.isDebugEnabled()) {
logger.debug("MySQLCustomerDAO.getHoldingForUpdate(int)\nOrder ID :" + orderId);