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 be...@apache.org on 2009/09/30 16:21:14 UTC
svn commit: r820332 [1/7] - in
/incubator/stonehenge/trunk/stocktrader/metro: ./ active_sts/
active_sts/etc/ active_sts/src/ active_sts/src/org/
active_sts/src/org/apache/ active_sts/src/org/apache/stonehenge/
active_sts/src/org/apache/stonehenge/stock...
Author: bendewey
Date: Wed Sep 30 16:21:08 2009
New Revision: 820332
URL: http://svn.apache.org/viewvc?rev=820332&view=rev
Log:
STONEHENGE-100 for Ming
Added:
incubator/stonehenge/trunk/stocktrader/metro/active_sts/
incubator/stonehenge/trunk/stocktrader/metro/active_sts/build.xml
incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/
incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/server-keystore.jks (with props)
incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/server-truststore.jks (with props)
incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/sun-jaxws.xml
incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/web.xml
incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/
incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/
incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/
incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/
incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/
incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/
incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/ActiveSTSAttributeProvider.java
incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/STSImpl.java
incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/UsernamePasswordValidator.java
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/BeanFactory.java
incubator/stonehenge/trunk/stocktrader/metro/common/
incubator/stonehenge/trunk/stocktrader/metro/common/src/
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomAccountBean.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomAccountProfileBean.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomHoldingBean.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomMarketSummaryBean.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomOrderBean.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomQuoteBean.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/dal/
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/dal/CustomerDAO.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/dal/DAOException.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/dal/DAOFactory.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/dal/MarketSummaryDAO.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/dal/OrderDAO.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mssql/
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mssql/AbstractMSSQLDAO.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mssql/MSSQLCustomerDAO.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mssql/MSSQLDAOFactory.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mssql/MSSQLMarketSummaryDAO.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mssql/MSSQLOrderDAO.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mysql/
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mysql/AbstractMySQLDAO.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mysql/MySQLCustomerDAO.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mysql/MySQLDAOFactory.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mysql/MySQLMarketSummaryDAO.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/mysql/MySQLOrderDAO.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/util/
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/util/StockTraderSQLUtil.java
incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/util/StockTraderUtility.java
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/apache/
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/apache/stonehenge/
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/apache/stonehenge/stocktrader/
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/apache/stonehenge/stocktrader/dal/
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/apache/stonehenge/stocktrader/dal/ConfigServiceDAO.java
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/apache/stonehenge/stocktrader/dal/ConfigServiceDaoFactory.java
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/apache/stonehenge/stocktrader/dal/ConnectionProvider.java
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/apache/stonehenge/stocktrader/dal/impl/
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/apache/stonehenge/stocktrader/dal/impl/ConfigServiceDAOImpl.java
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/apache/stonehenge/stocktrader/dal/impl/MSSQLConnectionProvider.java
incubator/stonehenge/trunk/stocktrader/metro/config_servcie_common_dal/src/org/apache/stonehenge/stocktrader/dal/impl/MySQLConnectionProvider.java
incubator/stonehenge/trunk/stocktrader/metro/config_service/test/
incubator/stonehenge/trunk/stocktrader/metro/config_service/test/org/
incubator/stonehenge/trunk/stocktrader/metro/config_service/test/org/apache/
incubator/stonehenge/trunk/stocktrader/metro/config_service/test/org/apache/stonehenge/
incubator/stonehenge/trunk/stocktrader/metro/config_service/test/org/apache/stonehenge/stocktrader/
incubator/stonehenge/trunk/stocktrader/metro/config_service/test/org/apache/stonehenge/stocktrader/mssql/
incubator/stonehenge/trunk/stocktrader/metro/config_service/test/org/apache/stonehenge/stocktrader/mssql/ConfigServiceDAOImplTest.java
incubator/stonehenge/trunk/stocktrader/metro/documents/STS_Setup_manual.doc (with props)
incubator/stonehenge/trunk/stocktrader/metro/documents/TLS_Setup_manual.docx (with props)
incubator/stonehenge/trunk/stocktrader/metro/documents/TestCases.xls (with props)
incubator/stonehenge/trunk/stocktrader/metro/documents/task.docx (with props)
incubator/stonehenge/trunk/stocktrader/metro/etc/DB/
incubator/stonehenge/trunk/stocktrader/metro/etc/DB/create_and_initial_table_configService.sql
incubator/stonehenge/trunk/stocktrader/metro/etc/DB/insert_bssts_into_table_service.sql
incubator/stonehenge/trunk/stocktrader/metro/etc/DB/insert_opssc_into_table_service.sql
incubator/stonehenge/trunk/stocktrader/metro/etc/active_sts/
incubator/stonehenge/trunk/stocktrader/metro/etc/active_sts/ActiveSTS.wsdl
incubator/stonehenge/trunk/stocktrader/metro/etc/active_sts/sts_schema.xsd
incubator/stonehenge/trunk/stocktrader/metro/etc/key/
incubator/stonehenge/trunk/stocktrader/metro/etc/key/stonehenge-keystore.jks (with props)
incubator/stonehenge/trunk/stocktrader/metro/etc/key/stonehenge-truststore.jks (with props)
incubator/stonehenge/trunk/stocktrader/metro/etc/metaData/
incubator/stonehenge/trunk/stocktrader/metro/etc/metaData/Fedidp.xml
incubator/stonehenge/trunk/stocktrader/metro/etc/metaData/Fedidpx.xml
incubator/stonehenge/trunk/stocktrader/metro/etc/metaData/Fedsp.xml
incubator/stonehenge/trunk/stocktrader/metro/etc/metaData/Fedspx.xml
incubator/stonehenge/trunk/stocktrader/metro/etc/web.non-sts.xml
incubator/stonehenge/trunk/stocktrader/metro/etc/web.sts.xml
incubator/stonehenge/trunk/stocktrader/metro/order_processor/src/org/apache/stonehenge/stocktrader/BeanFactory.java
incubator/stonehenge/trunk/stocktrader/metro/order_processor/src/org/apache/stonehenge/stocktrader/UsernamePasswordValidator.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/bean/Service.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/filter/STSFilter.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/service/SamlAssertionRequest.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/validator/
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/validator/PasswordValidator.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/validator/URLValidator.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/wsit-client.xml
incubator/stonehenge/trunk/stocktrader/metro/trader_client/web/ConfigServiceSelector.xhtml
incubator/stonehenge/trunk/stocktrader/metro/trader_client/web/configServiceAdd.xhtml
incubator/stonehenge/trunk/stocktrader/metro/trader_client/web/configurationAdvanced.xhtml
Removed:
incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/client-keystore.jks
incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/client-truststore.jks
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/CustomAccountBean.java
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/CustomAccountProfileBean.java
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/CustomHoldingBean.java
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/CustomMarketSummaryBean.java
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/CustomOrderBean.java
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/CustomQuoteBean.java
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/dal/
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/mssql/
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/mysql/
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/util/
incubator/stonehenge/trunk/stocktrader/metro/order_processor/etc/server-keystore.jks
incubator/stonehenge/trunk/stocktrader/metro/order_processor/etc/server-truststore.jks
incubator/stonehenge/trunk/stocktrader/metro/order_processor/src/org/apache/stonehenge/stocktrader/CustomHoldingBean.java
incubator/stonehenge/trunk/stocktrader/metro/order_processor/src/org/apache/stonehenge/stocktrader/CustomOrderBean.java
incubator/stonehenge/trunk/stocktrader/metro/order_processor/src/org/apache/stonehenge/stocktrader/CustomQuoteBean.java
incubator/stonehenge/trunk/stocktrader/metro/order_processor/src/org/apache/stonehenge/stocktrader/dal/
incubator/stonehenge/trunk/stocktrader/metro/order_processor/src/org/apache/stonehenge/stocktrader/mssql/
incubator/stonehenge/trunk/stocktrader/metro/order_processor/src/org/apache/stonehenge/stocktrader/mysql/
incubator/stonehenge/trunk/stocktrader/metro/order_processor/src/org/apache/stonehenge/stocktrader/util/StockTraderUtility.java
Modified:
incubator/stonehenge/trunk/stocktrader/metro/README.txt
incubator/stonehenge/trunk/stocktrader/metro/build.xml
incubator/stonehenge/trunk/stocktrader/metro/business_service/build.xml
incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/sun-jaxws.xml
incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/web.xml
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeConfigServiceClient.java
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeOrderConfig.java
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeOrderServiceClient.java
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeServiceImpl.java
incubator/stonehenge/trunk/stocktrader/metro/business_service/src/wsit-client.xml
incubator/stonehenge/trunk/stocktrader/metro/config_service/src/org/apache/stonehenge/stocktrader/dal/ConfigServiceDAO.java
incubator/stonehenge/trunk/stocktrader/metro/config_service/src/org/apache/stonehenge/stocktrader/dal/ConfigServiceDAOImpl.java
incubator/stonehenge/trunk/stocktrader/metro/config_service/src/org/apache/stonehenge/stocktrader/services/ConfigServiceServiceImpl.java
incubator/stonehenge/trunk/stocktrader/metro/documents/manual.doc
incubator/stonehenge/trunk/stocktrader/metro/etc/as.xml
incubator/stonehenge/trunk/stocktrader/metro/etc/build.properties
incubator/stonehenge/trunk/stocktrader/metro/etc/business_service/TradeServiceWsas.wsdl
incubator/stonehenge/trunk/stocktrader/metro/etc/business_service/wsdl0.wsdl
incubator/stonehenge/trunk/stocktrader/metro/etc/config_service/ConfigService.wsdl
incubator/stonehenge/trunk/stocktrader/metro/etc/order_processor/OrderProcessor.wsdl
incubator/stonehenge/trunk/stocktrader/metro/order_processor/build.xml
incubator/stonehenge/trunk/stocktrader/metro/order_processor/etc/sun-jaxws.xml
incubator/stonehenge/trunk/stocktrader/metro/order_processor/etc/web.xml
incubator/stonehenge/trunk/stocktrader/metro/order_processor/src/org/apache/stonehenge/stocktrader/service/OrderProcessorImpl.java
incubator/stonehenge/trunk/stocktrader/metro/resources/conf/TradeServiceConfig.properties
incubator/stonehenge/trunk/stocktrader/metro/trader_client/build.xml
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/bean/ConfigServiceBean.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/bean/LoginBean.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/bean/RegisterBean.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/service/BusinessServiceClient.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/service/BusinessServiceConfig.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/service/ConfigServiceClient.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/src/org/apache/stonehenge/stocktrader/service/CookieManager.java
incubator/stonehenge/trunk/stocktrader/metro/trader_client/web/WEB-INF/faces-config.xml
incubator/stonehenge/trunk/stocktrader/metro/trader_client/web/WEB-INF/web.xml
incubator/stonehenge/trunk/stocktrader/metro/trader_client/web/account.xhtml
incubator/stonehenge/trunk/stocktrader/metro/trader_client/web/configService.xhtml
incubator/stonehenge/trunk/stocktrader/metro/trader_client/web/register.xhtml
incubator/stonehenge/trunk/stocktrader/metro/trader_client/web/template.xhtml
Modified: incubator/stonehenge/trunk/stocktrader/metro/README.txt
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/README.txt?rev=820332&r1=820331&r2=820332&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/README.txt (original)
+++ incubator/stonehenge/trunk/stocktrader/metro/README.txt Wed Sep 30 16:21:08 2009
@@ -5,9 +5,14 @@
Structure of Stocktrader Directories
-------------------------------------
STOCKTRADER_HOME
+|__acitive_sts
|__business_service
+|__common
+|__config_servcie_common_dal
+|__config_service
|__order_processor
|__trader_client
+|__resources
|__etc
|__lib
|__metro
@@ -19,6 +24,8 @@
|__commons
|__log4j
|__ant
+ |__agent
+
Addresses to download the jar files
@@ -37,7 +44,9 @@
facelets :
jsf-facelets.jar
- From: https://facelets.dev.java.net/files/documents/3448/84208/facelets-1.1.14.zip
+ From: https://facelets.dev.java.net/files/documents/3448/31241/facelets-1.0.14.zip
+ richfaces jar files
+ http://www.jboss.org/richfaces/download/stable.html(3.3.1GA)
javaee :
javaee.jar
@@ -57,7 +66,12 @@
commons :
commons-logging-1.1.1.jar
- From: http://labs.xiaonei.com/apache-mirror/commons/logging/binaries/commons-logging-1.1.1-bin.zip
+ commons-beanutils-1.8.0.jar
+ commons-codec-1.3.jar
+ commons-collections-3.2.1.jar
+ commons-digester-2.0.jar
+ commons-el.jar
+ From: http://commons.apache.org/
ant :
ant-contrib
@@ -69,4 +83,8 @@
mysql :
mysql-connector-java-5.1.7-bin.jar
- From: http://dev.mysql.com/downloads/connector/j/5.1.html
\ No newline at end of file
+ From: http://dev.mysql.com/downloads/connector/j/5.1.html
+
+agent :
+ openssoclientsdk.jar
+ From: http://download.java.net/general/opensso/nightly/20090801.1/j2eeagents/
\ No newline at end of file
Added: incubator/stonehenge/trunk/stocktrader/metro/active_sts/build.xml
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/active_sts/build.xml?rev=820332&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/active_sts/build.xml (added)
+++ incubator/stonehenge/trunk/stocktrader/metro/active_sts/build.xml Wed Sep 30 16:21:08 2009
@@ -0,0 +1,93 @@
+<project basedir="." default="war" name="active_sts">
+ <import file="../etc/as.xml"/>
+
+ <property name="src.dir" value="${basedir}/src"/>
+ <property name="build.home" value="${basedir}/build"/>
+ <property name="build.classes.home" value="${build.home}/classes"/>
+ <property name="build.war.home" value="${build.home}/war"/>
+ <property name="common.src.dir" value="${basedir}/../common/src"/>
+
+ <property name="war.name" value="${ant.project.name}.war"/>
+ <property name="war.file" value="${build.war.home}/${war.name}"/>
+ <property name="lib.home" value="${basedir}/../lib"/>
+ <property name="lib.metro.home" value="${lib.home}/metro"/>
+ <property name="deploy.war" value="${deploy.dir}/${war.name}"/>
+
+ <path id="metro.classpath">
+ <pathelement location="${java.home}/../lib/tools.jar"/>
+ <fileset dir="${lib.metro.home}">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+
+ <path id="all.classpath">
+ <fileset dir="${lib.home}">
+ <include name="**/*.jar"/>
+ </fileset>
+ </path>
+
+ <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
+ <classpath refid="metro.classpath"/>
+ </taskdef>
+
+ <target name="setup" depends="clean">
+ <mkdir dir="${build.home}"/>
+ <mkdir dir="${build.classes.home}"/>
+ <mkdir dir="${build.war.home}"/>
+ </target>
+
+ <target name="clean">
+ <delete dir="${build.home}" includeEmptyDirs="true"/>
+ </target>
+
+ <target name="import-ws" depends="setup">
+ <wsimport debug="${debug}" verbose="${verbose}" keep="${keep}" destdir="${build.classes.home}"
+ wsdl="${active.sts.wsdl}" extension="true">
+ <xjcarg value="-extension"/>
+ </wsimport>
+ </target>
+
+ <target name="build" depends="import-ws">
+ <javac fork="true" srcdir="${common.src.dir}" destdir="${build.classes.home}">
+ <classpath refid="all.classpath"/>
+ </javac>
+ <copy todir="${build.classes.home}">
+ <fileset dir="../resources/conf" includes="*.properties"/>
+ </copy>
+ <javac fork="true" srcdir="${config.service.common.dal.dir}" destdir="${build.classes.home}">
+ <classpath refid="all.classpath"/>
+ </javac>
+ <javac fork="true" srcdir="${src.dir}" destdir="${build.classes.home}">
+ <classpath refid="all.classpath"/>
+ </javac>
+ </target>
+
+ <target name="war" depends="build">
+ <war warfile="${war.file}" webxml="etc/web.xml">
+ <webinf dir="${basedir}/etc" includes="sun-jaxws.xml"/>
+ <zipfileset
+ dir="${active.sts.binding.dir}"
+ includes="*.wsdl, *.xsd"
+ prefix="WEB-INF/wsdl"/>
+ <classes dir="${build.classes.home}"/>
+ <zipfileset dir="${basedir}/etc"
+ includes="com.sun.xml.ws.api.security.trust.STSAttributeProvider"
+ prefix="WEB-INF/classes/META-INF/services"/>
+ <classes dir="${build.classes.home}"/>
+ <lib dir="${lib.home}/commons"/>
+ <lib dir="${lib.home}/log4j"/>
+ <lib dir="${lib.home}/mssql"/>
+ <lib dir="${lib.home}/mysql"/>
+ </war>
+ </target>
+
+ <target name="deploy" depends="war">
+ <copy file="${war.file}" tofile="${deploy.war}"/>
+ </target>
+
+ <target name="undeploy">
+ <delete file="${deploy.dir}/${war.name}"/>
+ </target>
+
+ <target name="redeploy" depends="undeploy, deploy"/>
+</project>
Added: incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/server-keystore.jks
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/server-keystore.jks?rev=820332&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/server-keystore.jks
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/server-truststore.jks
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/server-truststore.jks?rev=820332&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/server-truststore.jks
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/sun-jaxws.xml
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/sun-jaxws.xml?rev=820332&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/sun-jaxws.xml (added)
+++ incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/sun-jaxws.xml Wed Sep 30 16:21:08 2009
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2008 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code. If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
+
+ <endpoint
+ name="ActiveSTS"
+ implementation="org.apache.stonehenge.stocktrader.sts.STSImpl"
+ wsdl="ActiveSTS.wsdl"
+ service="{http://tempuri.org/}SecurityTokenService"
+ port="{http://tempuri.org/}ISecurityTokenService_Port"
+ binding="http://www.w3.org/2003/05/soap/bindings/HTTP/"
+ url-pattern="/ActiveSTS" />
+
+</endpoints>
Added: incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/web.xml
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/web.xml?rev=820332&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/web.xml (added)
+++ incubator/stonehenge/trunk/stocktrader/metro/active_sts/etc/web.xml Wed Sep 30 16:21:08 2009
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2008 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code. If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+<web-app version="2.4" mlns="http://java.sun.com/xml/ns/j2ee">
+ <display-name>ActiveSTS</display-name>
+ <description>ActiveSTS</description>
+ <listener>
+ <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
+ </listener>
+ <servlet>
+ <servlet-name>ActiveSTS</servlet-name>
+ <display-name>ActiveSTS</display-name>
+ <description>JAX-WS endpoint - ActiveSTS</description>
+ <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>ActiveSTS</servlet-name>
+ <url-pattern>/ActiveSTS</url-pattern>
+ </servlet-mapping>
+ <session-config>
+ <session-timeout>60</session-timeout>
+ </session-config>
+</web-app>
+
Added: incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/ActiveSTSAttributeProvider.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/ActiveSTSAttributeProvider.java?rev=820332&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/ActiveSTSAttributeProvider.java (added)
+++ incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/ActiveSTSAttributeProvider.java Wed Sep 30 16:21:08 2009
@@ -0,0 +1,161 @@
+package org.apache.stonehenge.stocktrader.sts;
+
+import com.sun.xml.ws.api.security.trust.Claims;
+import com.sun.xml.ws.api.security.trust.STSAttributeProvider;
+import com.sun.xml.wss.saml.Assertion;
+import com.sun.xml.wss.saml.AssertionUtil;
+import com.sun.xml.wss.saml.Attribute;
+import com.sun.xml.wss.saml.AttributeStatement;
+import com.sun.xml.wss.saml.AuthenticationStatement;
+import com.sun.xml.wss.saml.NameID;
+import com.sun.xml.wss.saml.NameIdentifier;
+import com.sun.xml.wss.saml.SAMLException;
+import org.w3c.dom.Element;
+
+import javax.security.auth.Subject;
+import javax.xml.namespace.QName;
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public class ActiveSTSAttributeProvider implements STSAttributeProvider {
+ public Map<QName, List<String>> getClaimedAttributes(Subject subject, String appliesTo, String tokenType, Claims claims) {
+ String name = null;
+ //get user name from subject
+ Set<Principal> principals = subject.getPrincipals();
+ if (principals != null) {
+ final Iterator iterator = principals.iterator();
+ while (iterator.hasNext()) {
+ String cnName = principals.iterator().next().getName();
+ int pos = cnName.indexOf("=");
+ name = cnName.substring(pos + 1);
+ break;
+ }
+ }
+
+ Map<QName, List<String>> attrs = new HashMap<QName, List<String>>();
+
+ // Add user id, map the URL to a list of users
+ QName nameIdQName = new QName("http://sun.com", STSAttributeProvider.NAME_IDENTIFIER);
+ List<String> nameIdAttrs = new ArrayList<String>();
+ nameIdAttrs.add(name);
+ attrs.put(nameIdQName, nameIdAttrs);
+
+ // Add attributes
+
+ // Check if it is the ActAs case
+ if ("true".equals(claims.getOtherAttributes().get(new QName("ActAs")))) {
+ // Get the ActAs token
+ Element token = null;
+ for (Object obj : claims.getSupportingProperties()) {
+ if (obj instanceof Subject) {
+ token = (Element) ((Subject) obj).getPublicCredentials().iterator().next();
+ break;
+ }
+ }
+
+ try {
+ if (token != null) {
+ addAttributes(token, attrs, true);
+ }
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ } else {
+ // Add Role attribute
+ QName testQName = new QName("http://sun.com", "Role");
+ List<String> testAttrs = new ArrayList<String>();
+ testAttrs.add(getUserRole(name));
+ attrs.put(testQName, testAttrs);
+ }
+
+ return attrs;
+ }
+
+ private String getUserRole(String userName) {
+// if ("alice".equals(userName)) {
+// return "staff ";
+// }
+//
+// if ("bob".equals(userName)) {
+// return "manager";
+// }
+
+ return "staff";
+ }
+
+ private void addAttributes(Element token, Map<QName, List<String>> attrs, boolean isActAs) throws SAMLException {
+ // only handle the case of UsernameToken and SAML assertion here
+ String name = null;
+ String nameNS = null;
+ String tokenName = token.getLocalName();
+ if ("UsernameToken".equals(tokenName)) {
+ // an UsernameToken: get the user name
+ name = token.getElementsByTagName("Username").item(0).getFirstChild().getNodeValue();
+ } else if ("Assertion".equals(tokenName)) {
+ // an SAML assertion
+ Assertion assertion = AssertionUtil.fromElement(token);
+
+ com.sun.xml.wss.saml.Subject subject = null;
+ NameID nameID = null;
+
+ // SAML 2.0
+ try {
+ subject = assertion.getSubject();
+ } catch (Exception ex) {
+ subject = null;
+ }
+
+ if (subject != null) {
+ nameID = subject.getNameId();
+ }
+
+ List<Object> statements = assertion.getStatements();
+ for (Object s : statements) {
+ if (s instanceof AttributeStatement) {
+ List<Attribute> samlAttrs = ((AttributeStatement) s).getAttributes();
+ for (Attribute samlAttr : samlAttrs) {
+ String attrName = samlAttr.getName();
+ String attrNS = samlAttr.getNameFormat();
+ List<Object> samlAttrValues = samlAttr.getAttributes();
+ List<String> attrValues = new ArrayList<String>();
+ for (Object samlAttrValue : samlAttrValues) {
+ attrValues.add(((Element) samlAttrValue).getFirstChild().getNodeValue());
+ }
+ attrs.put(new QName(attrNS, attrName), attrValues);
+ }
+
+ // for SAML 1.0, 1.1
+ if (subject == null) {
+ subject = ((AttributeStatement) s).getSubject();
+ }
+ } else if (s instanceof AuthenticationStatement) {
+ subject = ((AuthenticationStatement) s).getSubject();
+ }
+ }
+
+ // Get the user identifier in the Subject:
+ if (nameID != null) {
+ //SAML 2.0 case
+ name = nameID.getValue();
+ nameNS = nameID.getNameQualifier();
+ } else {
+ // SAML 1.0, 1.1. case
+ NameIdentifier nameIdentifier = subject.getNameIdentifier();
+ if (nameIdentifier != null) {
+ name = nameIdentifier.getValue();
+ nameNS = nameIdentifier.getNameQualifier();
+ }
+ }
+
+ String idName = isActAs ? "ActAs" : NAME_IDENTIFIER;
+ List<String> nameIds = new ArrayList<String>();
+ nameIds.add(name);
+ attrs.put(new QName(nameNS, idName), nameIds);
+ }
+ }
+}
Added: incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/STSImpl.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/STSImpl.java?rev=820332&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/STSImpl.java (added)
+++ incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/STSImpl.java Wed Sep 30 16:21:08 2009
@@ -0,0 +1,24 @@
+package org.apache.stonehenge.stocktrader.sts;
+
+import com.sun.xml.ws.security.trust.sts.BaseSTSImpl;
+
+import javax.annotation.Resource;
+import javax.xml.transform.Source;
+import javax.xml.ws.Provider;
+import javax.xml.ws.Service;
+import javax.xml.ws.ServiceMode;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.WebServiceProvider;
+import javax.xml.ws.handler.MessageContext;
+
+@ServiceMode(value=Service.Mode.PAYLOAD)
+@WebServiceProvider(wsdlLocation="WEB-INF/wsdl/sts.wsdl")
+public class STSImpl extends BaseSTSImpl implements Provider<Source>{
+ @Resource
+ protected WebServiceContext context;
+
+ protected MessageContext getMessageContext() {
+ MessageContext msgCtx = context.getMessageContext();
+ return msgCtx;
+ }
+}
Added: incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/UsernamePasswordValidator.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/UsernamePasswordValidator.java?rev=820332&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/UsernamePasswordValidator.java (added)
+++ incubator/stonehenge/trunk/stocktrader/metro/active_sts/src/org/apache/stonehenge/stocktrader/sts/UsernamePasswordValidator.java Wed Sep 30 16:21:08 2009
@@ -0,0 +1,27 @@
+package org.apache.stonehenge.stocktrader.sts;
+
+import com.sun.xml.wss.impl.callback.PasswordValidationCallback;
+import org.apache.stonehenge.stocktrader.dal.CustomerDAO;
+import org.apache.stonehenge.stocktrader.dal.DAOFactory;
+import org.apache.stonehenge.stocktrader.dal.DAOException;
+import org.apache.stonehenge.stocktrader.CustomAccountProfileBean;
+import org.apache.stonehenge.stocktrader.CustomAccountBean;
+
+public class UsernamePasswordValidator implements PasswordValidationCallback.PasswordValidator {
+ public boolean validate(PasswordValidationCallback.Request request) throws
+ PasswordValidationCallback.PasswordValidationException {
+ PasswordValidationCallback.PlainTextPasswordRequest plainTextRequest =
+ (PasswordValidationCallback.PlainTextPasswordRequest) request;
+ try {
+ CustomerDAO user = DAOFactory.getFacotry().getCustomerDAO();
+ CustomAccountProfileBean profileBean = user.getAccountProfileData(plainTextRequest.getUsername());
+ if (profileBean != null && profileBean.getPassword().equals(plainTextRequest.getPassword())) {
+ return true;
+ }
+ } catch (DAOException e) {
+ e.printStackTrace();
+ return false;
+ }
+ return false;
+ }
+}
Modified: incubator/stonehenge/trunk/stocktrader/metro/build.xml
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/build.xml?rev=820332&r1=820331&r2=820332&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/build.xml (original)
+++ incubator/stonehenge/trunk/stocktrader/metro/build.xml Wed Sep 30 16:21:08 2009
@@ -1,29 +1,42 @@
<project basedir="." default="redeploy" name="">
<import file="etc/as.xml"/>
+ <property name="web.dir" value="${basedir}/trader_client/web/WEB-INF"/>
+ <target name="NONSTS">
+ <echo message="copy non-sts web file"/>
+ <copy file="${basedir}/etc/web.non-sts.xml" tofile="${web.dir}/web.xml" overwrite="true"/>
+ </target>
+ <target name="STS">
+ <echo message="copy sts web file"/>
+ <copy file="${basedir}/etc/web.sts.xml" tofile="${web.dir}/web.xml" overwrite="true"/>
+ </target>
<target name="deploy">
- <ant dir="config_service" target="deploy" inheritAll="false" inheritRefs="false"/>
<ant dir="business_service" target="deploy" inheritAll="false" inheritRefs="false"/>
<ant dir="order_processor" target="deploy" inheritAll="false" inheritRefs="false"/>
<ant dir="trader_client" target="deploy" inheritAll="false" inheritRefs="false"/>
+ <ant dir="config_service" target="deploy" inheritAll="false" inheritRefs="false"/>
+ <ant dir="active_sts" target="deploy" inheritAll="false" inheritRefs="false"/>
</target>
<target name="undeploy">
- <ant dir="config_service" target="undeploy" inheritAll="false" inheritRefs="false"/>
<ant dir="business_service" target="undeploy" inheritAll="false" inheritRefs="false"/>
<ant dir="order_processor" target="undeploy" inheritAll="false" inheritRefs="false"/>
<ant dir="trader_client" target="undeploy" inheritAll="false" inheritRefs="false"/>
+ <ant dir="config_service" target="undeploy" inheritAll="false" inheritRefs="false"/>
+ <ant dir="active_sts" target="undeploy" inheritAll="false" inheritRefs="false"/>
</target>
<target name="redeploy">
- <ant dir="config_service" target="redeploy" inheritAll="false" inheritRefs="false"/>
<ant dir="business_service" target="redeploy" inheritAll="false" inheritRefs="false"/>
<ant dir="order_processor" target="redeploy" inheritAll="false" inheritRefs="false"/>
<ant dir="trader_client" target="redeploy" inheritAll="false" inheritRefs="false"/>
+ <ant dir="config_service" target="redeploy" inheritAll="false" inheritRefs="false"/>
+ <ant dir="active_sts" target="redeploy" inheritAll="false" inheritRefs="false"/>
</target>
-
+
<target name="zippatch">
<input message="Please Enter the name of the patch zip(exclude .zip suffix):" addproperty="zipfilename"/>
- <zip destfile="../patches_for_stonehenge/${zipfilename}.zip" basedir="." excludes="**/*.svn, lib/**, **/build/**, **/*.ipr, **/*.iml, **/*.iws, .hg*, .hg/**" update="true"/>
+ <zip destfile="../${zipfilename}.zip" basedir="."
+ excludes="**/*.svn, lib/**, **/build/**, **/*.ipr, **/*.iml, **/*.iws, .hg*, .hg/**" update="true"/>
</target>
</project>
\ No newline at end of file
Modified: incubator/stonehenge/trunk/stocktrader/metro/business_service/build.xml
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/business_service/build.xml?rev=820332&r1=820331&r2=820332&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/business_service/build.xml (original)
+++ incubator/stonehenge/trunk/stocktrader/metro/business_service/build.xml Wed Sep 30 16:21:08 2009
@@ -1,6 +1,6 @@
<project basedir="." default="war" name="business_service">
<import file="../etc/as.xml"/>
-
+ <property name="common.src.dir" value="${basedir}/../common/src"/>
<property name="src.dir" value="${basedir}/src"/>
<property name="build.home" value="${basedir}/build"/>
<property name="build.classes.home" value="${build.home}/classes"/>
@@ -10,9 +10,6 @@
<property name="war.file" value="${build.war.home}/${war.name}"/>
<property name="lib.home" value="${basedir}/../lib"/>
<property name="lib.metro.home" value="${lib.home}/metro"/>
- <property name="op.file" value="${build.classes.home}/TradeServiceConfig.properties"/>
- <property name="client.keystore" value="${basedir}/etc/client-keystore.jks"/>
- <property name="client.truststore" value="${basedir}/etc/client-truststore.jks"/>
<path id="metro.classpath">
<pathelement location="${java.home}/../lib/tools.jar"/>
@@ -82,12 +79,20 @@
</copy>
<copy file="${src.dir}/wsdl0.wsdl" todir="${build.classes.home}"/>
<copy file="${src.dir}/wsit-client.xml" todir="${build.classes.home}"/>
- <javac
- fork="true"
- srcdir="${src.dir}"
- destdir="${build.classes.home}">
+ <javac fork="true" srcdir="${common.src.dir}" destdir="${build.classes.home}">
+ <classpath refid="all.classpath"/>
+ </javac>
+
+ <javac fork="true" srcdir="${config.service.common.dal.dir}" destdir="${build.classes.home}">
<classpath refid="all.classpath"/>
</javac>
+
+ <javac fork="true" srcdir="${src.dir}" destdir="${build.classes.home}">
+ <classpath>
+ <dirset dir="${build.classes.home}"/>
+ <path refid="all.classpath"/>
+ </classpath>
+ </javac>
</target>
<target name="war" depends="build">
@@ -105,12 +110,8 @@
</war>
</target>
- <target name="deploy-keystore">
- <copy file="${client.keystore}" todir="${keystore.dir}"/>
- <copy file="${client.truststore}" todir="${keystore.dir}"/>
- </target>
-
<target name="deploy" depends="war, deploy-keystore">
+ <!--<sun-appserv-deploy file="${war.file}" passwordfile=".password" asinstalldir="${as.home}"/>-->
<copy file="${war.file}" todir="${deploy.dir}"/>
</target>
@@ -119,4 +120,5 @@
</target>
<target name="redeploy" depends="undeploy, deploy"/>
+
</project>
Modified: incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/sun-jaxws.xml
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/sun-jaxws.xml?rev=820332&r1=820331&r2=820332&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/sun-jaxws.xml (original)
+++ incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/sun-jaxws.xml Wed Sep 30 16:21:08 2009
@@ -47,4 +47,12 @@
port="{http://tempuri.org/}BasicHttpBinding_ITradeServices"
url-pattern="/TradeServiceWsas"/>
+ <endpoint
+ name="TradeServiceWsasSTS"
+ interface="org.tempuri.ITradeServices"
+ implementation="org.apache.stonehenge.stocktrader.services.TradeServiceImpl"
+ wsdl="TradeServiceWsas.wsdl"
+ service="{http://tempuri.org/}TradeServiceWsas"
+ port="{http://tempuri.org/}CustomBinding_ITradeServices"
+ url-pattern="/TradeServiceWsasSTS"/>
</endpoints>
Modified: incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/web.xml
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/web.xml?rev=820332&r1=820331&r2=820332&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/web.xml (original)
+++ incubator/stonehenge/trunk/stocktrader/metro/business_service/etc/web.xml Wed Sep 30 16:21:08 2009
@@ -53,6 +53,10 @@
<servlet-name>stocktrader</servlet-name>
<url-pattern>/TradeServiceWsas</url-pattern>
</servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>stocktrader</servlet-name>
+ <url-pattern>/TradeServiceWsasSTS</url-pattern>
+ </servlet-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
Added: incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/BeanFactory.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/BeanFactory.java?rev=820332&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/BeanFactory.java (added)
+++ incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/BeanFactory.java Wed Sep 30 16:21:08 2009
@@ -0,0 +1,127 @@
+package org.apache.stonehenge.stocktrader;
+
+import com.ibm.websphere.samples.trade.*;
+
+import java.util.List;
+import java.util.ArrayList;
+
+public class BeanFactory {
+ public AccountDataBean toAccount(CustomAccountBean bean) {
+ AccountDataBean newBean = new AccountDataBean();
+ newBean.setAccountID(bean.getAccountID());
+ newBean.setProfileID(bean.getProfileID());
+ newBean.setBalance(bean.getBalance());
+ newBean.setCreationDate(bean.getCreationDate());
+ newBean.setLastLogin(bean.getLastLogin());
+ newBean.setLoginCount(bean.getLoginCount());
+ newBean.setLogoutCount(bean.getLogoutCount());
+ newBean.setOpenBalance(bean.getOpenBalance());
+
+ return newBean;
+ }
+
+ public AccountProfileDataBean toAccountProfile(CustomAccountProfileBean bean) {
+ AccountProfileDataBean newBean = new AccountProfileDataBean();
+ newBean.setAddress(bean.getAddress());
+ newBean.setCreditCard(bean.getCreditCard());
+ newBean.setEmail(bean.getEmail());
+ newBean.setFullName(bean.getFullName());
+ newBean.setPassword(bean.getPassword());
+ newBean.setUserID(bean.getUserID());
+
+ return newBean;
+ }
+
+ public CustomAccountProfileBean toCustomAccountProfileBean(AccountProfileDataBean bean) {
+ CustomAccountProfileBean newBean = new CustomAccountProfileBean();
+ newBean.setAddress(bean.getAddress());
+ newBean.setCreditCard(bean.getCreditCard());
+ newBean.setEmail(bean.getEmail());
+ newBean.setFullName(bean.getFullName());
+ newBean.setPassword(bean.getPassword());
+ newBean.setUserID(bean.getUserID());
+
+ return newBean;
+ }
+
+ public HoldingDataBean toHoldingData(CustomHoldingBean bean) {
+ HoldingDataBean newBean = new HoldingDataBean();
+ newBean.setHoldingID(bean.getHoldingID());
+ newBean.setQuantity(bean.getQuantity());
+ newBean.setPurchasePrice(bean.getPurchasePrice());
+ newBean.setPurchaseDate(bean.getPurchaseDate());
+ newBean.setQuoteID(bean.getQuoteID());
+
+ return newBean;
+ }
+
+ public List<HoldingDataBean> toHoldingDataList(List<CustomHoldingBean> beans) {
+ List<HoldingDataBean> newBeans = new ArrayList<HoldingDataBean>();
+ for (CustomHoldingBean bean : beans) {
+ newBeans.add(toHoldingData(bean));
+ }
+
+ return newBeans;
+ }
+
+ public MarketSummaryDataBeanWS toMarketSummaryData(CustomMarketSummaryBean bean) {
+ MarketSummaryDataBeanWS newBean = new MarketSummaryDataBeanWS();
+
+ newBean.setTSIA(bean.getOpenTSIA());
+ newBean.setOpenTSIA(bean.getOpenTSIA());
+ newBean.setVolume(bean.getVolume());
+ newBean.setTopGainers(toArrayOfQuote(bean.getTopGainers()));
+ newBean.setTopLosers(toArrayOfQuote(bean.getTopLosers()));
+
+ return newBean;
+ }
+
+ private ArrayOfQuoteDataBean toArrayOfQuote(List<CustomQuoteBean> listOfCustomQuoteBean) {
+ ArrayOfQuoteDataBean arrayOfQuoteDataBean = new ArrayOfQuoteDataBean();
+
+ for (CustomQuoteBean customQuoteBean : listOfCustomQuoteBean) {
+ arrayOfQuoteDataBean.getQuoteDataBean().add(toQuote(customQuoteBean));
+ }
+
+ return arrayOfQuoteDataBean;
+ }
+
+ public OrderDataBean toOrder(CustomOrderBean bean) {
+ OrderDataBean newBean = new OrderDataBean();
+ newBean.setCompletionDate(bean.getCompletionDate());
+ newBean.setOpenDate(bean.getOpenDate());
+ newBean.setOrderFee(bean.getOrderFee());
+ newBean.setOrderID(bean.getOrderID());
+ newBean.setOrderStatus(bean.getOrderStatus());
+ newBean.setOrderType(bean.getOrderType());
+ newBean.setPrice(bean.getPrice());
+ newBean.setQuantity(bean.getQuantity());
+ newBean.setSymbol(bean.getSymbol());
+
+ return newBean;
+ }
+
+ public List<OrderDataBean> toOrderList(List<CustomOrderBean> beans) {
+ List<OrderDataBean> newBeans = new ArrayList<OrderDataBean>();
+ for (CustomOrderBean bean : beans) {
+ newBeans.add(toOrder(bean));
+ }
+
+ return newBeans;
+ }
+
+ public QuoteDataBean toQuote(CustomQuoteBean bean) {
+ QuoteDataBean newBean = new QuoteDataBean();
+
+ newBean.setSymbol(bean.getSymbol());
+ newBean.setCompanyName(bean.getCompanyName());
+ newBean.setVolume(bean.getVolume());
+ newBean.setPrice(bean.getPrice());
+ newBean.setOpen(bean.getOpen());
+ newBean.setLow(bean.getLow());
+ newBean.setHigh(bean.getHigh());
+ newBean.setChange(bean.getChange());
+
+ return newBean;
+ }
+}
\ No newline at end of file
Modified: incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeConfigServiceClient.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeConfigServiceClient.java?rev=820332&r1=820331&r2=820332&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeConfigServiceClient.java (original)
+++ incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeConfigServiceClient.java Wed Sep 30 16:21:08 2009
@@ -1,68 +1,71 @@
package org.apache.stonehenge.stocktrader.services;
-import org.apache.stonehenge.stocktrader.util.StockTraderUtility;
+import org.apache.stonehenge.stocktrader.dal.ConfigServiceDAO;
+import org.apache.stonehenge.stocktrader.dal.ConfigServiceDaoFactory;
import org.datacontract.schemas._2004._07.trade.BSConfigRequest;
import org.datacontract.schemas._2004._07.trade.BSConfigResponse;
+import org.datacontract.schemas._2004._07.trade.ClientConfigRequest;
+import org.datacontract.schemas._2004._07.trade.ClientConfigResponse;
import org.tempuri.ConfigService;
import org.tempuri.ConfigServiceService;
import traderconfighost.trade.GetBSConfig;
import traderconfighost.trade.GetBSConfigResponse;
+import traderconfighost.trade.GetClientConfig;
+import traderconfighost.trade.GetClientConfigResponse;
import javax.xml.ws.BindingProvider;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
public class TradeConfigServiceClient {
- private static final String SERVICE_URL = "org.apache.stonehenge.stocktrader.TradeConfigService.url";
private static TradeConfigServiceClient self = null;
- private Properties prop = new Properties();
private static ConfigServiceService service = null;
+ private static ConfigServiceDaoFactory configServiceDaoFactory;
+ private static ConfigServiceDAO configServiceDAO;
public static TradeConfigServiceClient getInstance() {
- if (self == null) {
+ configServiceDaoFactory = ConfigServiceDaoFactory.getFacotry();
+ configServiceDAO = configServiceDaoFactory.getConfigServiceDAO();
self = new TradeConfigServiceClient();
- }
+ ((BindingProvider) service).getRequestContext()
+ .put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, configServiceDAO.getConfigService());
return self;
}
private TradeConfigServiceClient() {
- ClassLoader cl = getClass().getClassLoader();
- InputStream is = cl
- .getResourceAsStream(StockTraderUtility.TRADE_ORDER_SERVICE_PROPERTY_FILE);
- try {
- prop.load(is);
- } catch (IOException e) {
- }
-
ConfigService configService = new ConfigService();
service = configService.getBasicHttpBindingConfigServiceService();
- ((BindingProvider) service).getRequestContext()
- .put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, prop.getProperty(SERVICE_URL));
}
public TradeOrderConfig getTradeOrderConfig() {
+ GetClientConfig getClientConfig = new GetClientConfig();
+ ClientConfigRequest clientconfigRequest = new ClientConfigRequest();
+ clientconfigRequest.setClientName("METRO_CLIENT");
+ getClientConfig.setClient(clientconfigRequest);
+ GetClientConfigResponse clientConfigResponse = service.getClientConfig(getClientConfig);
+ ClientConfigResponse clientresponse = clientConfigResponse.getGetClientConfigResult();
+ String bsName = clientresponse.getBSName();
+
GetBSConfig getBSConfig = new GetBSConfig();
BSConfigRequest configRequest = new BSConfigRequest();
- configRequest.setBSName("METRO_BS");
+ configRequest.setBSName(bsName);
getBSConfig.setBs(configRequest);
GetBSConfigResponse getBSConfigResponse = service.getBSConfig(getBSConfig);
BSConfigResponse response = getBSConfigResponse.getGetBSConfigResult();
TradeOrderConfig config = new TradeOrderConfig();
+ config.setServiceName(response.getOPSName());
config.setEndpointURL(response.getOPS());
config.setSecure(response.isSec());
return config;
}
- public static void main(String arg[]) {
- TradeConfigServiceClient client = TradeConfigServiceClient.getInstance();
- TradeOrderConfig config = client.getTradeOrderConfig();
- String url = config.getEndpointURL();
-
- assert url.equals("http://localhost:8090/order_processor/OrderProcessorSec");
-
- System.out.println("connect successfully!!");
- }
+// public static void main(String arg[]) {
+// TradeConfigServiceClient client = TradeConfigServiceClient.getInstance();
+// TradeOrderConfig config = client.getTradeOrderConfig();
+// String url = config.getEndpointURL();
+//
+// assert url.equals("http://localhost:8091/order_processor/OrderProcessorSec");
+//
+// System.out.println("connect successfully!!");
+// }
}
Modified: incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeOrderConfig.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeOrderConfig.java?rev=820332&r1=820331&r2=820332&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeOrderConfig.java (original)
+++ incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeOrderConfig.java Wed Sep 30 16:21:08 2009
@@ -1,19 +1,36 @@
package org.apache.stonehenge.stocktrader.services;
public class TradeOrderConfig {
+ private String serviceName;
+
private String endpointURL;
- private boolean secure;
- public String getEndpointURL() {
+ private boolean secure;
+
+ public String getEndpointURL() {
return endpointURL;
}
- public void setEndpointURL(String endpointURL) {
+
+ public void setEndpointURL(String endpointURL) {
this.endpointURL = endpointURL;
}
- public boolean isSecure() {
+
+ public void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
+ }
+
+ public boolean isSecure() {
return secure;
}
public void setSecure(boolean secure) {
this.secure = secure;
}
+
+ public boolean isMessageLevelSecurity() {
+ return serviceName.endsWith("OPSSEC");
+ }
+
+ public boolean isUsernameTokenOverTLS() {
+ return serviceName.endsWith("OPSSC");
+ }
}
Modified: incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeOrderServiceClient.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeOrderServiceClient.java?rev=820332&r1=820331&r2=820332&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeOrderServiceClient.java (original)
+++ incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeOrderServiceClient.java Wed Sep 30 16:21:08 2009
@@ -1,15 +1,20 @@
package org.apache.stonehenge.stocktrader.services;
+import org.apache.stonehenge.stocktrader.BeanFactory;
+import org.apache.stonehenge.stocktrader.CustomOrderBean;
import org.tempuri.OrderProcessor;
import org.tempuri.OrderProcessorService;
-import org.apache.stonehenge.stocktrader.CustomOrderBean;
import traderorderhost.trade.SubmitOrder;
import javax.xml.ws.BindingProvider;
import java.io.IOException;
+import java.util.Map;
+
+import com.sun.xml.wss.XWSSConstants;
public class TradeOrderServiceClient {
private static TradeOrderServiceClient self = null;
+ private final BeanFactory factory = new BeanFactory();
private TradeOrderServiceClient() throws IOException {
}
@@ -27,28 +32,36 @@
OrderProcessorService service = getOrderProcessorService(processor);
SubmitOrder param = new SubmitOrder();
- param.setOrder(order);
+ param.setOrder(factory.toOrder(order));
service.submitOrder(param);
}
private OrderProcessorService getOrderProcessorService(OrderProcessor processor) throws IOException {
TradeOrderConfig config = TradeConfigServiceClient.getInstance().getTradeOrderConfig();
- OrderProcessorService service;
+ OrderProcessorService service = null;
if (config.isSecure()) {
- service = processor.getCustomBindingOrderProcessorService();
+ if (config.isMessageLevelSecurity()) {
+ service = processor.getCustomBindingOrderProcessorService();
+ } else if (config.isUsernameTokenOverTLS()) {
+ service = processor.getSecureConversationBindingOrderProcessorService();
+ }
} else {
service = processor.getBasicHttpBindingOrderProcessorService();
}
- ((BindingProvider) service).getRequestContext()
- .put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, config.getEndpointURL());
+ Map<String, Object> requestContext = ((BindingProvider) service).getRequestContext();
+
+ requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, config.getEndpointURL());
+ requestContext.put(XWSSConstants.USERNAME_PROPERTY, "uid:0");
+ requestContext.put(XWSSConstants.PASSWORD_PROPERTY, "xxx");
+
return service;
}
- public static void main(String[] args) throws Exception {
- TradeOrderServiceClient asynClient = TradeOrderServiceClient.getInstance();
- CustomOrderBean order = new CustomOrderBean(2, 2);
- order.setQuantity(235D);
- asynClient.SubmitOrder(order);
- }
-}
+// public static void main(String[] args) throws Exception {
+// TradeOrderServiceClient asynClient = TradeOrderServiceClient.getInstance();
+// CustomOrderBean order = new CustomOrderBean(2, 2);
+// order.setQuantity(235D);
+// asynClient.SubmitOrder(order);
+// }
+}
\ No newline at end of file
Modified: incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeServiceImpl.java?rev=820332&r1=820331&r2=820332&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeServiceImpl.java (original)
+++ incubator/stonehenge/trunk/stocktrader/metro/business_service/src/org/apache/stonehenge/stocktrader/services/TradeServiceImpl.java Wed Sep 30 16:21:08 2009
@@ -16,6 +16,7 @@
private static final Log logger = LogFactory.getLog(TradeServiceImpl.class);
private final TraderServiceManager mgr = new TraderServiceManager();
+ private final BeanFactory factory = new BeanFactory();
public EmptyMethodActionResponse emptyMethodAction(
@WebParam(name = "emptyMethodAction", targetNamespace = "http://trade.samples.websphere.ibm.com",
@@ -42,7 +43,7 @@
throw new RuntimeException(e);
}
LoginResponse response = new LoginResponse();
- response.setLoginReturn(param);
+ response.setLoginReturn(factory.toAccount(param));
return response;
}
@@ -59,7 +60,7 @@
GetOrdersResponse response = new GetOrdersResponse();
ArrayOfOrderDataBean param = new ArrayOfOrderDataBean();
// FIXED: used array for metro generated code
- param.getOrderDataBean().addAll(orders);
+ param.getOrderDataBean().addAll(factory.toOrderList(orders));
// param.setOrderDataBean(toArray(orders));
response.setGetOrdersReturn(param);
return response;
@@ -76,7 +77,7 @@
throw new RuntimeException(e);
}
GetAccountDataResponse getAccountDataResponse = new GetAccountDataResponse();
- getAccountDataResponse.setGetAccountDataReturn(accountData);
+ getAccountDataResponse.setGetAccountDataReturn(factory.toAccount(accountData));
return getAccountDataResponse;
}
@@ -92,15 +93,15 @@
throw new RuntimeException(e);
}
GetAccountProfileDataResponse response = new GetAccountProfileDataResponse();
- response.setGetAccountProfileDataReturn(accountProfileData);
+ response.setGetAccountProfileDataReturn(factory.toAccountProfile(accountProfileData));
+
return response;
}
public UpdateAccountProfileResponse updateAccountProfile(
@WebParam(name = "updateAccountProfile", targetNamespace = "http://trade.samples.websphere.ibm.com",
partName = "parameters") UpdateAccountProfile updateAccountProfile) {
- CustomAccountProfileBean accountProfile = new CustomAccountProfileBean(
- updateAccountProfile.getProfileData());
+ CustomAccountProfileBean accountProfile = factory.toCustomAccountProfileBean(updateAccountProfile.getProfileData());
CustomAccountProfileBean param;
try {
param = mgr.updateAccountProfile(accountProfile);
@@ -110,7 +111,7 @@
}
UpdateAccountProfileResponse response = new UpdateAccountProfileResponse();
- response.setUpdateAccountProfileReturn(param);
+ response.setUpdateAccountProfileReturn(factory.toAccountProfile(param));
return response;
}
@@ -139,7 +140,7 @@
throw new RuntimeException(e);
}
BuyResponse buyResponse = new BuyResponse();
- buyResponse.setBuyReturn(order);
+ buyResponse.setBuyReturn(factory.toOrder(order));
return buyResponse;
}
@@ -155,7 +156,7 @@
throw new RuntimeException(e);
}
SellResponse response = new SellResponse();
- response.setSellReturn(param);
+ response.setSellReturn(factory.toOrder(param));
return response;
}
@@ -173,7 +174,7 @@
ArrayOfHoldingDataBean param = new ArrayOfHoldingDataBean();
// FIXED: used array for metro generated code
- param.getHoldingDataBean().addAll(holdingBeans);
+ param.getHoldingDataBean().addAll(factory.toHoldingDataList(holdingBeans));
// param.setHoldingDataBean(toArray(holdingBeans));
response.setGetHoldingsReturn(param);
return response;
@@ -193,7 +194,7 @@
throw new RuntimeException(e);
}
RegisterResponse response = new RegisterResponse();
- response.setRegisterReturn(param);
+ response.setRegisterReturn(factory.toAccount(param));
return response;
}
@@ -210,7 +211,7 @@
GetClosedOrdersResponse response = new GetClosedOrdersResponse();
ArrayOfOrderDataBean arrayOfOrderBean = new ArrayOfOrderDataBean();
// FIXED: used array for metro generated code
- arrayOfOrderBean.getOrderDataBean().addAll(closedOrders);
+ arrayOfOrderBean.getOrderDataBean().addAll(factory.toOrderList(closedOrders));
// arrayOfOrderBean.setOrderDataBean(toArray(closedOrders));
response.setGetClosedOrdersReturn(arrayOfOrderBean);
return response;
@@ -227,7 +228,7 @@
throw new RuntimeException(e);
}
GetMarketSummaryResponse response = new GetMarketSummaryResponse();
- response.setGetMarketSummaryReturn(param);
+ response.setGetMarketSummaryReturn(factory.toMarketSummaryData(param));
return response;
}
@@ -242,7 +243,7 @@
throw new RuntimeException(e);
}
GetQuoteResponse response = new GetQuoteResponse();
- response.setGetQuoteReturn(param);
+ response.setGetQuoteReturn(factory.toQuote(param));
return response;
}
@@ -258,7 +259,7 @@
throw new RuntimeException(e);
}
GetHoldingResponse response = new GetHoldingResponse();
- response.setGetHoldingReturn(holding);
+ response.setGetHoldingReturn(factory.toHoldingData(holding));
return response;
}
@@ -275,7 +276,7 @@
GetTopOrdersResponse response = new GetTopOrdersResponse();
ArrayOfOrderDataBean param = new ArrayOfOrderDataBean();
// FIXED: used array for metro generated code
- param.getOrderDataBean().addAll(topOrders);
+ param.getOrderDataBean().addAll(factory.toOrderList(topOrders));
// param.setOrderDataBean(toArray(topOrders));
response.setGetTopOrdersReturn(param);
return response;
@@ -293,7 +294,7 @@
throw new RuntimeException(e);
}
SellEnhancedResponse response = new SellEnhancedResponse();
- response.setSellEnhancedReturn(param);
+ response.setSellEnhancedReturn(factory.toOrder(param));
return response;
}
}
Modified: incubator/stonehenge/trunk/stocktrader/metro/business_service/src/wsit-client.xml
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/business_service/src/wsit-client.xml?rev=820332&r1=820331&r2=820332&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/business_service/src/wsit-client.xml (original)
+++ incubator/stonehenge/trunk/stocktrader/metro/business_service/src/wsit-client.xml Wed Sep 30 16:21:08 2009
@@ -20,9 +20,9 @@
<wsp:ExactlyOne>
<wsp:All>
<sunsp:DisableInclusivePrefixList xmlns:sunsp="http://schemas.sun.com/2006/03/wss/client"></sunsp:DisableInclusivePrefixList>
- <sc:KeyStore wspp:visibility="private" location="client-keystore.jks"
+ <sc:KeyStore wspp:visibility="private" location="stonehenge-keystore.jks"
type="JKS" alias="mykey" storepass="changeit"></sc:KeyStore>
- <sc:TrustStore wspp:visibility="private" location="client-truststore.jks"
+ <sc:TrustStore wspp:visibility="private" location="stonehenge-truststore.jks"
type="JKS" storepass="changeit" peeralias="mykey"></sc:TrustStore>
</wsp:All>
</wsp:ExactlyOne>
Added: incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomAccountBean.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomAccountBean.java?rev=820332&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomAccountBean.java (added)
+++ incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomAccountBean.java Wed Sep 30 16:21:08 2009
@@ -0,0 +1,124 @@
+/*
+ * 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.stonehenge.stocktrader;
+
+import java.math.BigDecimal;
+import java.util.Calendar;
+
+public class CustomAccountBean {
+ private static final long serialVersionUID = -6368651996080304426L;
+
+ protected String userID;
+ protected Integer accountID;
+ protected Integer loginCount;
+ protected Integer logoutCount;
+ protected Calendar lastLogin;
+ protected Calendar creationDate;
+ protected BigDecimal balance;
+ protected BigDecimal openBalance;
+ protected String profileID;
+
+ public CustomAccountBean() {
+ }
+
+ public CustomAccountBean(int accountId, String profileId,
+ Calendar creationDate, BigDecimal openBalance, int logoutCount,
+ BigDecimal balance, Calendar lastLogIn, int loginCount) {
+ setAccountID(accountId);
+ setProfileID(profileId);
+ setCreationDate(creationDate);
+ setOpenBalance(openBalance);
+ setLogoutCount(logoutCount);
+ setBalance(balance);
+ setLastLogin(lastLogIn);
+ setLoginCount(loginCount);
+ setLogoutCount(logoutCount);
+ }
+
+ public String getUserID() {
+ return this.userID;
+ }
+
+ public void setUserID(String userID) {
+ this.userID = userID;
+ }
+
+ public Integer getAccountID() {
+ return accountID;
+ }
+
+ public void setAccountID(Integer accountID) {
+ this.accountID = accountID;
+ }
+
+ public Integer getLoginCount() {
+ return loginCount;
+ }
+
+ public void setLoginCount(Integer loginCount) {
+ this.loginCount = loginCount;
+ }
+
+ public Integer getLogoutCount() {
+ return logoutCount;
+ }
+
+ public void setLogoutCount(Integer logoutCount) {
+ this.logoutCount = logoutCount;
+ }
+
+ public Calendar getLastLogin() {
+ return lastLogin;
+ }
+
+ public void setLastLogin(Calendar lastLogin) {
+ this.lastLogin = lastLogin;
+ }
+
+ public Calendar getCreationDate() {
+ return creationDate;
+ }
+
+ public void setCreationDate(Calendar creationDate) {
+ this.creationDate = creationDate;
+ }
+
+ public BigDecimal getBalance() {
+ return balance;
+ }
+
+ public void setBalance(BigDecimal balance) {
+ this.balance = balance;
+ }
+
+ public BigDecimal getOpenBalance() {
+ return openBalance;
+ }
+
+ public void setOpenBalance(BigDecimal openBalance) {
+ this.openBalance = openBalance;
+ }
+
+ public String getProfileID() {
+ return profileID;
+ }
+
+ public void setProfileID(String profileID) {
+ this.profileID = profileID;
+ }
+}
Added: incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomAccountProfileBean.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomAccountProfileBean.java?rev=820332&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomAccountProfileBean.java (added)
+++ incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomAccountProfileBean.java Wed Sep 30 16:21:08 2009
@@ -0,0 +1,91 @@
+/*
+ * 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.stonehenge.stocktrader;
+
+public class CustomAccountProfileBean {
+
+ private static final long serialVersionUID = 1485167358537563576L;
+
+ protected String userID;
+ protected String password;
+ protected String fullName;
+ protected String address;
+ protected String email;
+ protected String creditCard;
+
+ public CustomAccountProfileBean() {
+ }
+
+ public CustomAccountProfileBean(String userId, String password,
+ String fullName, String address, String email, String creditcard) {
+ setUserID(userId);
+ setPassword(password);
+ setFullName(fullName);
+ setAddress(address);
+ setEmail(email);
+ setCreditCard(creditcard);
+ }
+
+ public String getUserID() {
+ return userID;
+ }
+
+ public void setUserID(String userID) {
+ this.userID = userID;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public String getFullName() {
+ return fullName;
+ }
+
+ public void setFullName(String fullName) {
+ this.fullName = fullName;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getCreditCard() {
+ return creditCard;
+ }
+
+ public void setCreditCard(String creditCard) {
+ this.creditCard = creditCard;
+ }
+}
Added: incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomHoldingBean.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomHoldingBean.java?rev=820332&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomHoldingBean.java (added)
+++ incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomHoldingBean.java Wed Sep 30 16:21:08 2009
@@ -0,0 +1,124 @@
+/*
+ * 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.stonehenge.stocktrader;
+
+import java.math.BigDecimal;
+import java.util.Calendar;
+
+/**
+ * This class is to be used as the data model for holding information.
+ */
+public class CustomHoldingBean {
+
+ private static final long serialVersionUID = 3294871357941879094L;
+
+ private int accountID;
+ protected Integer holdingID;
+ protected Double quantity;
+ protected BigDecimal purchasePrice;
+ protected Calendar purchaseDate;
+ protected String quoteID;
+
+ public CustomHoldingBean() {
+ }
+
+ /**
+ * Constructs a data model instance with holding information.
+ *
+ * @param accountId
+ * the account ID of the buyer
+ * @param holdingID
+ * the holding ID of the stock
+ * @param quantity
+ * the quantity of the stock
+ * @param purchasePrice
+ * the purchase price of the stock
+ * @param purchaseDate
+ * the date of the purchase of the stock
+ * @param quoteID
+ * the quote ID of the stock
+ */
+ public CustomHoldingBean(int accountId, int holdingID, double quantity,
+ BigDecimal purchasePrice, Calendar purchaseDate, String quoteID) {
+ setAccountID(accountId);
+ setHoldingID(holdingID);
+ setQuantity(quantity);
+ setPurchasePrice(purchasePrice);
+ setPurchaseDate(purchaseDate);
+ setQuoteID(quoteID);
+ }
+
+ public CustomHoldingBean(int holdingID, double quantity,
+ BigDecimal purchasePrice, Calendar purchaseDate, String quoteID,
+ int accountID) {
+ setHoldingID(holdingID);
+ setAccountID(accountID);
+ setQuantity(quantity);
+ setPurchasePrice(purchasePrice);
+ setPurchaseDate(purchaseDate);
+ setQuoteID(quoteID);
+ }
+
+ public int getAccountID() {
+ return accountID;
+ }
+
+ public void setAccountID(int accountID) {
+ this.accountID = accountID;
+ }
+
+ public Integer getHoldingID() {
+ return holdingID;
+ }
+
+ public void setHoldingID(Integer holdingID) {
+ this.holdingID = holdingID;
+ }
+
+ public Double getQuantity() {
+ return quantity;
+ }
+
+ public void setQuantity(Double quantity) {
+ this.quantity = quantity;
+ }
+
+ public BigDecimal getPurchasePrice() {
+ return purchasePrice;
+ }
+
+ public void setPurchasePrice(BigDecimal purchasePrice) {
+ this.purchasePrice = purchasePrice;
+ }
+
+ public Calendar getPurchaseDate() {
+ return purchaseDate;
+ }
+
+ public void setPurchaseDate(Calendar purchaseDate) {
+ this.purchaseDate = purchaseDate;
+ }
+
+ public String getQuoteID() {
+ return quoteID;
+ }
+
+ public void setQuoteID(String quoteID) {
+ this.quoteID = quoteID;
+ }
+}
Added: incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomMarketSummaryBean.java
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomMarketSummaryBean.java?rev=820332&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomMarketSummaryBean.java (added)
+++ incubator/stonehenge/trunk/stocktrader/metro/common/src/org/apache/stonehenge/stocktrader/CustomMarketSummaryBean.java Wed Sep 30 16:21:08 2009
@@ -0,0 +1,93 @@
+/*
+ * 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.stonehenge.stocktrader;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.List;
+
+public class CustomMarketSummaryBean {
+
+ private static final long serialVersionUID = 6180349684421231291L;
+
+ protected BigDecimal tsia;
+ protected BigDecimal openTSIA;
+ protected Double volume;
+ protected List<CustomQuoteBean> topGainers = new ArrayList<CustomQuoteBean>();
+ protected List<CustomQuoteBean> topLosers = new ArrayList<CustomQuoteBean>();
+ protected Calendar summaryDate;
+
+ public CustomMarketSummaryBean(BigDecimal tSIA, BigDecimal openTSIA,
+ double volume, List<CustomQuoteBean> topGainers,
+ List<CustomQuoteBean> topLosers) {
+ setTSIA(tSIA);
+ setOpenTSIA(openTSIA);
+ setVolume(volume);
+ setTopGainers(topGainers);
+ setTopLosers(topLosers);
+ }
+
+ private void setTopGainers(List<CustomQuoteBean> topGainers) {
+ this.topGainers.addAll(topGainers);
+ }
+
+ public List<CustomQuoteBean> getTopGainers() {
+ return topGainers;
+ }
+
+ private void setTopLosers(List<CustomQuoteBean> topLosers) {
+ this.topLosers.addAll(topLosers);
+ }
+
+ public List<CustomQuoteBean> getTopLosers() {
+ return topLosers;
+ }
+
+ public BigDecimal getTSIA() {
+ return tsia;
+ }
+
+ public void setTSIA(BigDecimal tsia) {
+ this.tsia = tsia;
+ }
+
+ public BigDecimal getOpenTSIA() {
+ return openTSIA;
+ }
+
+ public void setOpenTSIA(BigDecimal openTSIA) {
+ this.openTSIA = openTSIA;
+ }
+
+ public Double getVolume() {
+ return volume;
+ }
+
+ public void setVolume(Double volume) {
+ this.volume = volume;
+ }
+
+ public Calendar getSummaryDate() {
+ return summaryDate;
+ }
+
+ public void setSummaryDate(Calendar summaryDate) {
+ this.summaryDate = summaryDate;
+ }
+}