diff options
Diffstat (limited to 'tags/java-stable-20060304/testing')
19 files changed, 1763 insertions, 0 deletions
diff --git a/tags/java-stable-20060304/testing/tomcat/axis2.xml b/tags/java-stable-20060304/testing/tomcat/axis2.xml new file mode 100644 index 0000000000..a38cf9864a --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/axis2.xml @@ -0,0 +1,167 @@ +<axisconfig name="AxisJava2.0"> + <!-- ================================================= --> + <!-- Parameters --> + <!-- ================================================= --> + <parameter name="hotdeployment" locked="false">false</parameter> + <parameter name="hotupdate" locked="false">false</parameter> + <parameter name="enableMTOM" locked="false">false</parameter> + <!-- Uncomment this to enable REST support --> + <!-- <parameter name="enableREST" locked="false">true</parameter>--> + + + <parameter name="userName" locked="false">admin</parameter> + <parameter name="password" locked="false">axis2</parameter> + + <parameter name="seralizeLocation" locked="false">.</parameter> + <hostConfiguration> + <ip>127.0.0.1</ip> + <port>5555</port> + </hostConfiguration> + + + <!--if you want to extract the service archive file and work with that please uncomment this--> + <!--else , it wont extract archive file or does not take into consideration if someone drop--> + <!--exploded directory into /service directory--> + <!--<parameter name="extractServiceArchive" locked="false">true</parameter>--> + + + <!-- The way of adding listener to the system--> + <!-- <listener class="org.apache.axis2.ObserverIMPL">--> + <!-- <parameter name="RSS_URL" locked="false">http://127.0.0.1/rss</parameter>--> + <!-- </listener>--> + + <!-- ================================================= --> + <!-- Message Receivers --> + <!-- ================================================= --> + <!--This is the Deafult Message Receiver for the system , if you want to have MessageReceivers for --> + <!--all the other MEP implement it and add the correct entry to here , so that you can refer from--> + <!--any operation --> + <!--Note : You can ovride this for particular service by adding the same element with your requirement--> + <messageReceivers> + <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" + class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> + <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" + class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> + </messageReceivers> + <!-- ================================================= --> + <!-- Transport Ins --> + <!-- ================================================= --> + <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer"> + <parameter name="port" locked="false">6060</parameter> + </transportReceiver> + + <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver + <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener"> + <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter> + <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter> + <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter> + <parameter name="transport.mail.pop3.port" locked="false">110</parameter> + <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter> + </transportReceiver> --> + + <!--REMOVED FOR TUSCANY transportReceiver name="tcp" class="org.apache.axis2.transport.tcp.TCPServer"> + <parameter name="port" locked="false">6060</parameter> + </transportReceiver --> + + <!--REMOVED FOR TUSCANY transportReceiver name="jms" class="org.apache.axis2.transport.jms.SimpleJMSListener"> + <parameter name="transport.jms.Destination" locked="false">dynamicQueues/FOO</parameter> + <parameter name="java.naming.factory.initial" locked="false"> + org.activemq.jndi.ActiveMQInitialContextFactory</parameter> + <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter> + </transportReceiver> + --> + + <!-- ================================================= --> + <!-- Transport Outs --> + <!-- ================================================= --> + + <!--REMOVED FOR TUSCANY transportSender name="tcp" class="org.apache.axis2.transport.tcp.TCPTransportSender"/> --> + <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/> + <!--REMOVED FOR TUSCANY transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/> --> + <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter> + <parameter name="Transfer-Encoding" locked="false">chunked</parameter> + </transportSender> + <transportSender name="https" + class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter> + <parameter name="Transfer-Encoding" locked="false">chunked</parameter> + </transportSender> + + <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver + <transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender"> + <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter> + <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter> + <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter> + <parameter name="transport.mail.smtp.port" locked="false">25</parameter> + </transportSender> + --> + + <!-- ================================================= --> + <!-- Global Modules --> + <!-- ================================================= --> + <!-- Comment this to disable Addressing --> + <!--REMOVED FOR TUSCANY module ref="addressing"/> --> + + + <!--Configuring module , providing parameters for modules whether they refer or not--> + <!--<moduleConfig name="addressing">--> + <!--<parameter name="addressingPara" locked="false">N/A</parameter>--> + <!--</moduleConfig>--> + + <!-- ================================================= --> + <!-- Phases --> + <!-- ================================================= --> + <phaseOrder type="inflow"> + <!-- System pre defined phases --> + <phase name="TransportIn"/> + <phase name="PreDispatch"/> + <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase"> + <handler name="AddressingBasedDispatcher" + class="org.apache.axis2.engine.AddressingBasedDispatcher"> + <order phase="Dispatch"/> + </handler> + + <handler name="RequestURIBasedDispatcher" + class="org.apache.axis2.engine.RequestURIBasedDispatcher"> + <order phase="Dispatch"/> + </handler> + + <handler name="SOAPActionBasedDispatcher" + class="org.apache.axis2.engine.SOAPActionBasedDispatcher"> + <order phase="Dispatch"/> + </handler> + + <handler name="SOAPMessageBodyBasedDispatcher" + class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher"> + <order phase="Dispatch"/> + </handler> + <handler name="InstanceDispatcher" + class="org.apache.axis2.engine.InstanceDispatcher"> + <order phase="PostDispatch"/> + </handler> + </phase> + <!-- System pre defined phases --> + <!-- After Postdispatch phase module author or or service author can add any phase he want --> + <phase name="userphase1"/> + </phaseOrder> + <phaseOrder type="outflow"> + <!-- user can add his own phases to this area --> + <phase name="userphase1"/> + <!--system predefined phase--> + <!--these phase will run irrespective of the service--> + <phase name="PolicyDetermination"/> + <phase name="MessageOut"/> + </phaseOrder> + <phaseOrder type="INfaultflow"> + <!-- user can add his own phases to this area --> + <phase name="userphase1"/> + </phaseOrder> + <phaseOrder type="Outfaultflow"> + <!-- user can add his own phases to this area --> + <phase name="userphase1"/> + <phase name="PolicyDetermination"/> + <phase name="MessageOut"/> + </phaseOrder> +</axisconfig> + diff --git a/tags/java-stable-20060304/testing/tomcat/bigbank/.classpath b/tags/java-stable-20060304/testing/tomcat/bigbank/.classpath new file mode 100644 index 0000000000..82ffd111b6 --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/bigbank/.classpath @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/test/java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/sca.api"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.binding.axis"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.common"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.container.java"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.core"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.model"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.tomcat"/>
+ <classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-3.8.1.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/htmlunit/jars/htmlunit-1.7.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-cli/jars/commons-cli-1.0.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-codec/jars/commons-codec-1.3.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-collections/jars/commons-collections-3.1.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-httpclient/jars/commons-httpclient-3.0-rc3.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-io/jars/commons-io-1.0.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-lang/jars/commons-lang-2.0.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-net/jars/commons-net-1.1.0.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/dom4j/jars/dom4j-1.4.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-logging/jars/commons-logging-1.0.4.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/nekohtml/jars/nekohtml-0.9.5.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/rhino/jars/js-1.6R1.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/xerces/jars/xercesImpl-2.6.2.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/xerces/jars/xerces-2.4.0.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/xerces/jars/xmlParserAPIs-2.2.1.jar"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.samples.bigbank.webclient"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tags/java-stable-20060304/testing/tomcat/bigbank/.project b/tags/java-stable-20060304/testing/tomcat/bigbank/.project new file mode 100644 index 0000000000..7a5fbfdeb1 --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/bigbank/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>bigbankacceptance</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tags/java-stable-20060304/testing/tomcat/bigbank/src/test/java/org/apache/tuscany/samples/bigbank/TestBigBankTestCase.java b/tags/java-stable-20060304/testing/tomcat/bigbank/src/test/java/org/apache/tuscany/samples/bigbank/TestBigBankTestCase.java new file mode 100644 index 0000000000..59928aeb7d --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/bigbank/src/test/java/org/apache/tuscany/samples/bigbank/TestBigBankTestCase.java @@ -0,0 +1,110 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed 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.tuscany.samples.bigbank; + +import java.net.URL; +import java.util.Iterator; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import junit.framework.TestCase; + +import com.gargoylesoftware.htmlunit.Page; +import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.WebResponse; +import com.gargoylesoftware.htmlunit.html.HtmlForm; +import com.gargoylesoftware.htmlunit.html.HtmlInput; +import com.gargoylesoftware.htmlunit.html.HtmlPage; + + +public class TestBigBankTestCase extends TestCase { + // public static final String testUrl = "http://localhost:8080/tuscany-samples-bigbank-webclient"; + public static final String testUrl = "http://localhost:8080/tuscany-samples-bigbank-webclient/login.html"; + + + public void testBigBankDefault() throws Exception + { + System.err.println("Running: testcase:"); + // New HTMLunit web client + WebClient client = new WebClient(); + client.setRedirectEnabled(true); + + // Going to have the WebClient connect to this URL + URL url = new URL(testUrl); + HtmlPage page = (HtmlPage)client.getPage(url); + //System.out.println(page.getTitleText()); + + // Check response code + WebResponse resp = page.getWebResponse(); + assertTrue(resp.getStatusCode() <= 200); + List forms = page.getForms(); + Iterator iter = forms.iterator(); + + // Iterate over all forms on page, should only be one. + while(iter.hasNext()) + { + HtmlForm form = (HtmlForm)iter.next(); + + + HtmlInput login = form.getInputByName("login"); + HtmlInput password = form.getInputByName("password"); + login.setValueAttribute("test"); + password.setValueAttribute("password"); + + Page resultPage = form.submit(); + // Check response from servlet + WebResponse resultResponse = resultPage.getWebResponse(); + assertTrue(resultResponse.getStatusCode() <= 200); + + // TODO Check response content.. + String response = resultResponse.getContentAsString(); + assertTrue(-1 != response.indexOf("Account")); + assertTrue(-1 != response.indexOf("Balance")); + assertTrue(-1 != response.indexOf("12345_CHA12345")); + assertTrue(-1 != response.indexOf("1200.0")); + + + + /** + * or.. + * + * HtmlPage htmlResponse = (HtmlPage)resultPage; + * HtmlElement element = htmlResponse.getHtmlElementById("ELEMENT-ID"); + * assertEquals(element.getNodeValue(), ... ); + * + * or.. + * + * String resultString = resultResponse.getContentAsString(); + * assertEquals(resultString, ... ); + * + * etc. + * + **/ + } + + } + + /** + * @param args + */ + public static void main(String[] args) { + + + } + +} diff --git a/tags/java-stable-20060304/testing/tomcat/build.xml b/tags/java-stable-20060304/testing/tomcat/build.xml new file mode 100644 index 0000000000..b3fdc8f0a9 --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/build.xml @@ -0,0 +1,348 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable. + + Licensed 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. + --> +<project name="setup tomcat " default="prepareTomcat" basedir='.'> + <property environment="env" /> + <property file="${user.home}/tuscany/build.properties" /> + <property file="${user.home}/build.properties" /> + + <property name="tuscany.acceptance.tomcat.version" value='5.5.15' /> + <condition property="tuscany.acceptance.tomcat.zipped" value='apache-tomcat-${tuscany.acceptance.tomcat.version}.zip'> + <os family="windows"/> + </condition> + <condition property="tuscany.acceptance.tomcat.zipped" value='apache-tomcat-${tuscany.acceptance.tomcat.version}.tar.gz'> + <or> + <os family="unix"/> + <os family="mac"/> + </or> + </condition> + <condition property="ant.home" value="${env.ANT_HOME}"> + <os family="unix"/> + </condition> + <property name="tuscany.acceptance.tc.dir" value='target/apache-tomcat-${tuscany.acceptance.tomcat.version}' /> + <property name="tuscany.acceptance.target.dir" value='target' /> + + <property name="tuscany.acceptance.groupId" value='org/apache/tuscany' /> + <property name="tuscany.acceptance.version" value='SNAPSHOT' /> + + <property name="tuscany.sca.acceptance.groupId" value='org/osoa' /> + <property name="tuscany.sca.acceptance.version" value='SNAPSHOT' /> + + <property name="tuscany.commonj.acceptance.groupId" value='commonj' /> + <property name="tuscany.commonj.acceptance.version" value='SNAPSHOT' /> + + <property name="tuscany.sdo.acceptance.groupId" value='org/apache/tuscany' /> + <property name="tuscany.sdo.acceptance.version" value='SNAPSHOT' /> + + <property name="tuscany.acceptance.samples.dir" value='../../samples' /> + <!-- property name="tuscany.maven.repos.dir" value='${user.home}\.maven\repository' / --> + <!-- change for maven 2.0 --> + <property name="tuscany.maven.repos.dir" value='${user.home}\.m2\repository' /> + <condition property="isWindows"> + <os family="windows"/> + </condition> + <condition property="isUnix"> + <os family="unix"/> + </condition> + <condition property="isMac"> + <os family="mac"/> + </condition> + + <target name="init"> + <available property='tomcat.is.available' file='${tuscany.acceptance.tc.dir}/server/lib/catalina.jar' type='file' /> + <available property='tuscany.acceptance.tomcat.zipped.available' file='${tuscany.acceptance.tomcat.zipped}' type='file' /> + <available property='tuscany.acceptance.tomcat.serverxmlorg.available' file='${tuscany.acceptance.tc.dir}/conf/server.xml.original' /> + <available property='tuscany.acceptance.tomcat.contextxmlorg.available' file='${tuscany.acceptance.tc.dir}/conf/context.xml.original' /> + </target> + + <target name="check.for.zip" depends="init" unless='tuscany.acceptance.tomcat.zipped.available'> + <property name='tuscany.acceptance.tomcat.zipped.full' location="${tuscany.acceptance.tomcat.zipped}" /> + <echo level="error" message="${tuscany.acceptance.tomcat.zipped} file not found here:'${tuscany.acceptance.tomcat.zipped.full}'" /> + <echo level="error" message="Either place zip file there or change ${user.home}/build.properties in home dir to include 'tuscany.acceptance.tomcat.zipped' property to where zip is located. " /> + <fail /> + </target> + + <patternset id="tuscany.acceptance.tc.common"> <!--jars which need to go into tomcat common/lib --> + <include name="**/${tuscany.sca.acceptance.groupId}/sca-api/${tuscany.sca.acceptance.version}/sca-api-${tuscany.sca.acceptance.version}.jar" /> + <include name="**/${tuscany.commonj.acceptance.groupId}/sdo-api/${tuscany.commonj.acceptance.version}/sdo-api-${tuscany.commonj.acceptance.version}.jar" /> + <include name="**/${tuscany.acceptance.groupId}/tuscany-sdo-impl/${tuscany.acceptance.version}/tuscany-sdo-impl-${tuscany.acceptance.version}.jar" /> + <include name="**/${tuscany.acceptance.groupId}/tuscany-das-jdbc-${tuscany.acceptance.version}.jar" /> + </patternset> + <patternset id="tuscany.acceptance.tc.server"> <!--jars which need to go into tomcat server/lib --> + <include name="**/${tuscany.acceptance.groupId}/tuscany-tomcat/${tuscany.acceptance.version}/tuscany-tomcat-${tuscany.acceptance.version}.jar" /> + <include name="**/${tuscany.acceptance.groupId}/tuscany-binding-axis2/${tuscany.acceptance.version}/tuscany-binding-axis2-${tuscany.acceptance.version}.jar" /> + <include name="**/${tuscany.acceptance.groupId}/tuscany-common/${tuscany.acceptance.version}/tuscany-common-${tuscany.acceptance.version}.jar" /> + <include name="**/${tuscany.acceptance.groupId}/tuscany-container-java/${tuscany.acceptance.version}/tuscany-container-java-${tuscany.acceptance.version}.jar" /> + <include name="**/${tuscany.acceptance.groupId}/tuscany-container-js/${tuscany.acceptance.version}/tuscany-container-js-${tuscany.acceptance.version}.jar" /> + <include name="**/${tuscany.acceptance.groupId}/tuscany-core/${tuscany.acceptance.version}/tuscany-core-${tuscany.acceptance.version}.jar" /> + <include name="**/${tuscany.acceptance.groupId}/tuscany-model/${tuscany.acceptance.version}/tuscany-model-${tuscany.acceptance.version}.jar" /> + </patternset> + <patternset id="tuscany.acceptance.common.dependencies"> + <include name="**/org/eclipse/emf/common/2.2.0-I200602160000/common-2.2.0-I200602160000.jar" /> + <include name="**/org/eclipse/emf/ecore/2.2.0-I200602160000/ecore-2.2.0-I200602160000.jar" /> + <include name="**/org/eclipse/emf/ecore-change/2.2.0-I200602160000/ecore-change-2.2.0-I200602160000.jar" /> + <include name="**/org/eclipse/emf/ecore-xmi/2.2.0-I200602160000/ecore-xmi-2.2.0-I200602160000.jar" /> + <include name="**/org/eclipse/xsd/xsd/2.2.0-I200602160000/xsd-2.2.0-I200602160000.jar" /> + <include name="**/org.apache.derby/derby/10.1.2.1/derby-10.1.2.1.jar" /> + </patternset> + <patternset id="tuscany.acceptance.server.dependencies"> + <include name="**/asm/asm/2.2/asm-2.2.jar" /> + <include name="**/axis/axis-wsdl4j/1.2/axis-wsdl4j-1.2.jar" /> + +<!-- + <include name="**/axis/axis/1.2.1/axis-1.2.1.jar" /> + <include name="**/axis/axis-jaxrpc/1.2.1/axis-jaxrpc-1.2.1.jar" /> + <include name="**/axis/axis-saaj/1.2.1/axis-saaj-1.2.1.jar" /> + <include name="**/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar" /> + <include name="**/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar" /> +--> + <include name="**/annogen/annogen/0.1.0/annogen-0.1.0.jar" /> + <include name="**/axis/axis-wsdl4j/1.2/axis-wsdl4j-1.2.jar" /> + <include name="**/axis2/axis2-adb/0.94/axis2-adb-0.94.jar" /> + <include name="**/axis2/axis2-codegen/0.94/axis2-codegen-0.94.jar" /> + <include name="**/axis2/axis2-core/0.94/axis2-core-0.94.jar" /> + <include name="**/axis2/axis2-doom/0.94/axis2-doom-0.94.jar" /> + <include name="**/backport-util-concurrent/backport-util-concurrent/2.0_01_pd/backport-util-concurrent-2.0_01_pd.jar" /> + <include name="**/commons-codec/commons-codec/1.3/commons-codec-1.3.jar" /> + <include name="**/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.jar" /> + <include name="**/geronimo-spec/geronimo-spec-activation/1.0.2-rc4/geronimo-spec-activation-1.0.2-rc4.jar" /> + <include name="**/geronimo-spec/geronimo-spec-javamail/1.3.1-rc5/geronimo-spec-javamail-1.3.1-rc5.Jar" /> + <include name="**/geronimo-spec/geronimo-spec-jms/1.1-rc4/geronimo-spec-jms-1.1-rc4.jar" /> + <include name="**/jaxen/jaxen/1.1-beta-7/jaxen-1.1-beta-7.jar" /> + <include name="**/log4j/log4j/1.2.12/log4j-1.2.12.jar" /> + <include name="**/stax/stax-api/1.0/stax-api-1.0.jar" /> + <include name="**/ws-commons/ws-policy/SNAPSHOT/ws-policy-SNAPSHOT.jar" /> + <include name="**/wss4j/wss4j/SNAPSHOT/wss4j-SNAPSHOT.Jar" /> + <include name="**/woodstox/wstx-asl/2.8.2/wstx-asl-2.8.2.jar" /> + <include name="**/xmlbeans/xbean/2.1.0/xbean-2.1.0.jar" /> + <include name="**/ws-commons/XmlSchema/1.0-SNAPSHOT/XmlSchema-1.0-SNAPSHOT.jar" /> + <include name="**/xmlunit/xmlunit/1.0/xmlunit-1.0.Jar" /> + <include name="**/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar" /> + + </patternset> + + <patternset id="tuscany.acceptance.server.axis.dependencies"> + <!-- + <include name="**/axis/axis/1.2.1/axis-1.2.1.jar" /> + <include name="**/axis/axis-jaxrpc/1.2.1/axis-jaxrpc-1.2.1.jar" /> + <include name="**/axis/axis-saaj/1.2.1/axis-saaj-1.2.1.jar" /> + <include name="**/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar" /> + <include name="**/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar" /> + --> + <!-- + <include name="**/annogen/annogen/0.1.0/annogen-0.1.0.jar" /> + <include name="**/axis/axis-wsdl4j/1.2/axis-wsdl4j-1.2.jar" /> + <include name="**/axis2/axis2-adb/0.94/axis2-adb-0.94.jar" /> + <include name="**/axis2/axis2-codegen/0.94/axis2-codegen-0.94.jar" /> + <include name="**/axis2/axis2-core/0.94/axis2-core-0.94.jar" /> + <include name="**/axis2/axis2-doom/0.94/axis2-doom-0.94.jar" /> + <include name="**/backport-util-concurrent/backport-util-concurrent/2.0_01_pd/backport-util-concurrent-2.0_01_pd.jar" /> + <include name="**/commons-codec/commons-codec/1.3/commons-codec-1.3.jar" /> + <include name="**/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.jar" /> + <include name="**/geronimo-spec/geronimo-spec-activation/1.0.2-rc4/geronimo-spec-activation-1.0.2-rc4.jar" /> + <include name="**/geronimo-spec/geronimo-spec-javamail/1.3.1-rc5/geronimo-spec-javamail-1.3.1-rc5.Jar" /> + <include name="**/geronimo-spec/geronimo-spec-jms/1.1-rc4/geronimo-spec-jms-1.1-rc4.jar" /> + <include name="**/jaxen/jaxen/1.1-beta-7/jaxen-1.1-beta-7.jar" /> + <include name="**/log4j/log4j/1.2.12/log4j-1.2.12.jar" /> + <include name="**/stax/stax-api/1.0/stax-api-1.0.jar" /> + <include name="**/ws-commons/ws-policy/SNAPSHOT/ws-policy-SNAPSHOT.jar" /> + <include name="**/wss4j/wss4j/SNAPSHOT/wss4j-SNAPSHOT.Jar" /> + <include name="**/woodstox/wstx-asl/2.8.2/wstx-asl-2.8.2.jar" /> + <include name="**/xmlbeans/xbean/2.1.0/xbean-2.1.0.jar" /> + <include name="**/ws-commons/XmlSchema/1.0-SNAPSHOT/XmlSchema-1.0-SNAPSHOT.jar" /> + <include name="**/xmlunit/xmlunit/1.0/xmlunit-1.0.Jar" /> + <include name="**/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar" /> + --> + + <include name="annogen-0.1.0.jar" /> + <include name="axis2-adb-0.94.jar" /> + <include name="axis2-codegen-0.94.jar" /> + <include name="axis2-core-0.94.jar" /> + <include name="axis2-doom-0.94.jar" /> + <include name="axis-wsdl4j-1.2.jar" /> + <include name="backport-util-concurrent-2.0_01_pd.jar" /> + <include name="commons-codec-1.3.jar" /> + <include name="commons-httpclient-3.0.jar" /> + <include name="commons-logging-1.0.4.jar" /> + <include name="geronimo-spec-activation-1.0.2-rc4.jar" /> + <include name="geronimo-spec-javamail-1.3.1-rc5.jar" /> + <include name="geronimo-spec-jms-1.1-rc4.jar" /> + <include name="jaxen-1.1-beta-7.jar" /> + <include name="log4j-1.2.12.jar" /> + <include name="maven-itest-plugin-1.0.jar" /> + <include name="servletapi-2.3.jar" /> + <include name="stax-api-1.0.jar" /> + <include name="ws-policy-SNAPSHOT.jar" /> + <include name="wstx-asl-2.8.1.jar" /> + <!-- <include name="xbean-2.1.0.jar" /> --> + <!-- <include name="xercesImpl-2.7.1.jar" /> --> + <!-- <include name="xml-apis-1.3.02.jar" /> --> + <include name="XmlSchema-SNAPSHOT.jar" /> + + </patternset> + + <target name="tuscany.tomcat.unzipWindows" if="isWindows" depends='init,check.for.zip' description='Just unzip tomcat' unless='tomcat.is.available'> + <unzip src="${tuscany.acceptance.tomcat.zipped}" dest="${tuscany.acceptance.target.dir}" /> + </target> + <target name="tuscany.tomcat.unzipUnix" if="isUnix" depends='init,check.for.zip' description='Just unzip tomcat' unless='tomcat.is.available'> + <mkdir dir="${tuscany.acceptance.target.dir}" /> + <gunzip src="${tuscany.acceptance.tomcat.zipped}" dest="${tuscany.acceptance.target.dir}/temp.tar"/> + <!-- Exec tar because ant builtin tar does not preserve execute permissions. --> + <exec executable="tar" dir="${tuscany.acceptance.target.dir}"> + <arg value="xf"/> + <arg value="temp.tar"/> + </exec> + <delete file="${tuscany.acceptance.target.dir}/temp.tar"/> + </target> + <target name="tuscany.tomcat.unzipMac" if="isMac" depends='init,check.for.zip' description='Just unzip tomcat' unless='tomcat.is.available'> + <antcall target="tuscany.tomcat.unzipUnix" /> <!-- just use unix for now --> + </target> + + <target name="prepareTomcat" depends='tuscany.tomcat.unzipWindows,tuscany.tomcat.unzipUnix,tuscany.tomcat.unzipMac,tuscany.tomcat.fixup,tuscany.deploy.samples' description='Unzip tomcat, fix it up, and deploy samples'> + <dirname property='tuscany.acceptance.tc.dir.full' file="${tuscany.acceptance.tc.dir}/bin" /> + <waitfor maxwait="1" maxwaitunit="second" checkevery="200" timeoutproperty="tuscany.tomcat.notstarted" > + <http url="http://localhost:8080"/> + </waitfor> + <condition property="tuscany.tomcat.alreadystarted"> + <not> + <istrue value="${tuscany.tomcat.notstarted}"/> + </not> + </condition> + <antcall target="startTomcat" /> + <echo level="info" message="Tomcat fixed up here: ${tuscany.acceptance.tc.dir.full}" /> + <echo level="info" message="http://localhost:8080/tuscany-samples-helloworldWEB/" /> + + </target> + <target name="tuscany.tomcat.fixup" depends='tuscany.tomcat.fixserverconfig' description='Fix up tomcat for tuscany.'> + <mkdir dir="${tuscany.acceptance.target.dir}" /> + + <copy todir="${tuscany.acceptance.tc.dir}/common/lib" flatten='true'> + <fileset dir="${tuscany.maven.repos.dir}"> + <patternset refid="tuscany.acceptance.tc.common" /> + </fileset> + <fileset dir="${tuscany.maven.repos.dir}"> + <patternset> + <include name="**/org.osoa/jars/sca-api-${tuscany.acceptance.version}.jar" /> + </patternset> + </fileset> + <fileset dir="${tuscany.maven.repos.dir}"> + <patternset refid="tuscany.acceptance.common.dependencies" /> + </fileset> + </copy> + <copy todir="${tuscany.acceptance.tc.dir}/server/lib" flatten='true'> + <fileset dir="${tuscany.maven.repos.dir}"> + <patternset refid="tuscany.acceptance.tc.server" /> + </fileset> + <fileset dir="${tuscany.maven.repos.dir}"> + <patternset refid="tuscany.acceptance.server.dependencies" /> + </fileset> + <!-- + <fileset dir="axis2-std-0.94-bin/lib"> + <patternset refid="tuscany.acceptance.server.axis.dependencies" /> + </fileset> + --> + </copy> + </target> + + <target name="tuscany.deploy.samples" description='Deploy tuscany example wars to tomcat webapps.'> + <copy todir="${tuscany.acceptance.tc.dir}/webapps" flatten='true'> + <fileset dir="${tuscany.acceptance.samples.dir}"> + <include name="**/*.war" /> + </fileset> + </copy> + </target> + <target name="backup.server.xml" depends="init" unless='tuscany.acceptance.tomcat.serverxmlorg.available'> + <copy file='${tuscany.acceptance.tc.dir}/conf/server.xml' tofile='${tuscany.acceptance.tc.dir}/conf/server.xml.original' /> + </target> + <target name="backup.context.xml" depends="init" unless='tuscany.acceptance.tomcat.contextxmlorg.available'> + <copy file='${tuscany.acceptance.tc.dir}/conf/context.xml' tofile='${tuscany.acceptance.tc.dir}/conf/context.xml.original' /> + </target> + <target name="tuscany.tomcat.fixserverconfig" depends='tuscany.tomcat.fixserverxml,tuscany.tomcat.fixcontextxml' description='Add listeners' /> + <target name="tuscany.tomcat.fixserverxml" depends='init,backup.server.xml' unless='tuscany.acceptance.tomcat.serverxmlorg.available'> + <property name="tuscany.acceptance.tomcat.serverxmlorg.available" value='true' /> + +<!-- + <xslt + in="${tuscany.acceptance.tc.dir}/conf/server.xml.original" + style="server.xsl" out="${tuscany.acceptance.tc.dir}/conf/server.xml" + > + + </xslt> +--> + <copy file='server.xml' tofile='${tuscany.acceptance.tc.dir}/conf/server.xml' /> + <copy file='axis2.xml' tofile='${user.home}/.axis2/axis2.xml' /> + </target> + <target name="tuscany.tomcat.fixcontextxml" depends='init,backup.context.xml' unless='tuscany.acceptance.tomcat.contextxmlorg.available'> + <property name="tuscany.acceptance.tomcat.contextxmlorg.available" value='true' /> + + <xslt + in="${tuscany.acceptance.tc.dir}/conf/context.xml.original" + style="context.xsl" out="${tuscany.acceptance.tc.dir}/conf/context.xml" + > + + </xslt> + </target> + + <target name="startTomcatWindows" if="isWindows" unless='tuscany.tomcat.alreadystarted' > + <exec spawn='true' vmlauncher="false" failonerror='false' dir="${tuscany.acceptance.tc.dir}\bin" executable="cmd.exe" > + <arg line="/C start " Tomcat running ${tuscany.acceptance.tc.dir}" catalina run && exit" /> + </exec> + </target> + <target name="startTomcatUnix" if="isUnix" unless='tuscany.tomcat.alreadystarted'> + <exec spawn='true' vmlauncher="false" failonerror='false' dir="${tuscany.acceptance.tc.dir}/bin" executable="xterm" > + <env key='CATALINA_HOME' value='${env.PWD}/${tuscany.acceptance.tc.dir}'/> + <arg line="-e ./catalina.sh run"/> + </exec> + </target> + <target name="startTomcatMac" if="isMac" unless='tuscany.tomcat.alreadystarted' > + <antcall target="startTomcatUnix" /> <!--just use unix for now --> + </target> + + <target name="tuscany.tomcat.alreadystartedmsg" if="tuscany.tomcat.alreadystarted"> + <echo level="info" message="Tomcat has been already started! ${tuscany.tomcat.alreadystarted}" /> + </target> + <target name="startTomcat" description="Start up tomcat." depends="tuscany.tomcat.alreadystartedmsg,startTomcatWindows,startTomcatUnix,startTomcatMac" unless='tuscany.tomcat.alreadystarted'> + <!-- env key="CATALINA_OPTS" value="-Dhttp.proxyHost=localhost -Dhttp.proxyPort=8090 -DproxySet=true"/--> + <sleep seconds="10"/> <!-- it's going to at least require this --> + <waitfor maxwait="15" maxwaitunit="second" checkevery="200"> + <http url="http://localhost:8080"/> + </waitfor> + + </target> + + <target name="clean" description='Clean out all built artifacts'> + <delete dir="${tuscany.acceptance.target.dir}" /> + </target> + + <target name='setup.TC.antscripts' depends='tuscany.tomcat.unzipWindows,tuscany.tomcat.unzipUnix,tuscany.tomcat.unzipMac'> + <!-- Configure the custom Ant tasks for the Manager application --> + <taskdef resource="org/apache/catalina/ant/catalina.tasks"> + <classpath> + <fileset dir="${tuscany.acceptance.tc.dir}/server/lib"> + <include name="*.jar" /> + </fileset> + <fileset dir="${tuscany.acceptance.tc.dir}/common/lib"> + <include name="*.jar" /> + </fileset> + <fileset dir="${tuscany.acceptance.tc.dir}/bin"> + <include name="*.jar" /> + </fileset> + </classpath> + </taskdef> + + </target> + +</project> diff --git a/tags/java-stable-20060304/testing/tomcat/context.xsl b/tags/java-stable-20060304/testing/tomcat/context.xsl new file mode 100644 index 0000000000..82db3ef81b --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/context.xsl @@ -0,0 +1,48 @@ +<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output indent="yes" />
+
+ <xsl:param name="classname"/>
+ <!-- xsl:template match="node() | @*">
+ <xsl:copy>
+ <xsl:apply-templates select="node() | @*"/>
+ </xsl:copy>
+ </xsl:template -->
+ <xsl:template
+ match="@* | * | comment() | processing-instruction() | text()">
+ <xsl:copy>
+ <xsl:apply-templates
+ select="@* | * | comment() | processing-instruction() | text()" />
+ </xsl:copy>
+ </xsl:template>
+
+<!--
+ <xsl:template match="Context">
+ <Context>
+ <xsl:apply-templates select="@*" />
+ <Listener className="org.apache.tuscany.tomcat.lifecycle.listener.TomcatWebAppLifecycleListener" />
+ <xsl:apply-templates
+ select="@* | * | comment() | processing-instruction() | text()" />
+ </Context>
+ </xsl:template>
+-->
+
+ <!-- xsl:template match="/">
+ <xsl:apply-templates select="node() | @*" />
+ </xsl:template -->
+</xsl:stylesheet>
diff --git a/tags/java-stable-20060304/testing/tomcat/helloworldaxis/.classpath b/tags/java-stable-20060304/testing/tomcat/helloworldaxis/.classpath new file mode 100644 index 0000000000..97a91ebf9f --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/helloworldaxis/.classpath @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/test/java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-3.8.1.jar"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.samples.helloworldaxis"/>
+ <classpathentry sourcepath="/MAVEN_REPO/axis/src" kind="var" path="MAVEN_REPO/axis/jars/axis-1.2.1.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/axis/jars/axis-jaxrpc-1.2.1.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/axis/jars/axis-saaj-1.2.1.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/axis/jars/axis-wsdl4j-1.5.1.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-logging/jars/commons-logging-1.0.4.jar"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tags/java-stable-20060304/testing/tomcat/helloworldaxis/.project b/tags/java-stable-20060304/testing/tomcat/helloworldaxis/.project new file mode 100644 index 0000000000..dbdfaba8be --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/helloworldaxis/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>helloworldaxisacceptance</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tags/java-stable-20060304/testing/tomcat/helloworldaxis/src/test/java/org/apache/tuscany/samples/helloworldaxis/TestHelloWorldAxisTestCase.java b/tags/java-stable-20060304/testing/tomcat/helloworldaxis/src/test/java/org/apache/tuscany/samples/helloworldaxis/TestHelloWorldAxisTestCase.java new file mode 100644 index 0000000000..e558e68b89 --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/helloworldaxis/src/test/java/org/apache/tuscany/samples/helloworldaxis/TestHelloWorldAxisTestCase.java @@ -0,0 +1,59 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed 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.tuscany.samples.helloworldaxis; + +import junit.framework.TestCase; + +import org.apache.tuscany.samples.helloworldaxis.HelloWorldAxisClient; + + +public class TestHelloWorldAxisTestCase extends TestCase { + final static String urlstrAxisService= "http://localhost:8080/tuscany-samples-helloworldaxissvc/services/helloworld"; + final static String urlstrTuscanyService= "http://localhost:8080/tuscany-samples-helloworldws-service/services/HelloWorldService"; + /** + * Test using axis client against axis server + * @throws Exception + */ + public void testHelloWorldAgainstAxis() throws Exception + { + + helloWorld(urlstrAxisService); + + + } + + public void testHelloWorldAgainstTuscany() throws Exception + { + + helloWorld(urlstrTuscanyService); + + + } + + + private void helloWorld(final String serviceURL) throws Exception + { + + + String val= (new HelloWorldAxisClient()).getGreetings(serviceURL,"World"); + assertEquals(val,"Hello World"); + val= (new HelloWorldAxisClient()).getGreetings(serviceURL,"Axis World"); + assertEquals(val,"Hello Axis World"); + + } + +} diff --git a/tags/java-stable-20060304/testing/tomcat/helloworldweb/.classpath b/tags/java-stable-20060304/testing/tomcat/helloworldweb/.classpath new file mode 100644 index 0000000000..833509ff51 --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/helloworldweb/.classpath @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/test/java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/sca.api"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.binding.axis"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.common"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.container.java"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.core"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.model"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.runtime.tomcat"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tuscany.samples.helloworldweb"/>
+ <classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-3.8.1.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/htmlunit/jars/htmlunit-1.7.jar"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tags/java-stable-20060304/testing/tomcat/helloworldweb/.project b/tags/java-stable-20060304/testing/tomcat/helloworldweb/.project new file mode 100644 index 0000000000..207c1f6159 --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/helloworldweb/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>helloworldwebacceptance</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tags/java-stable-20060304/testing/tomcat/helloworldweb/pom.xml b/tags/java-stable-20060304/testing/tomcat/helloworldweb/pom.xml new file mode 100644 index 0000000000..8767c3e170 --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/helloworldweb/pom.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Copyright (c) 2005-2006 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed 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. + --> +<project> + <parent> + <groupId>org.apache.tuscany</groupId> + <artifactId>tuscany-testing-tomcat</artifactId> + <version>SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + <artifactId>tuscany-testing-tomcat-helloworldweb</artifactId> + <packaging>jar</packaging> + <name>Tuscany Testing Tomcat HelloWorld WEB acceptance</name> + <description>Acceptance test for Helloworld web</description> + <version>SNAPSHOT</version> + + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>htmlunit</groupId> + <artifactId>htmlunit</artifactId> + <version>1.7</version> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <dependencies> + <dependency> + <groupId>jakarta-regexp</groupId> + <artifactId>jakarta-regexp</artifactId> + <version>1.4</version> + </dependency> + <dependency> + <groupId>ant</groupId> + <artifactId>ant-jakarta-regexp</artifactId> + <version>1.6.1</version> + </dependency> + <dependency> + <groupId>ant</groupId> + <artifactId>ant-xslp</artifactId> + <version>1.6.5</version> + </dependency> + <dependency> + <groupId>ant</groupId> + <artifactId>ant-trax</artifactId> + <version>1.6.5</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> +</project> diff --git a/tags/java-stable-20060304/testing/tomcat/helloworldweb/src/test/java/org/apache/tuscany/samples/helloworldweb/TestHelloWorldWebTestCase.java b/tags/java-stable-20060304/testing/tomcat/helloworldweb/src/test/java/org/apache/tuscany/samples/helloworldweb/TestHelloWorldWebTestCase.java new file mode 100644 index 0000000000..4a23c53583 --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/helloworldweb/src/test/java/org/apache/tuscany/samples/helloworldweb/TestHelloWorldWebTestCase.java @@ -0,0 +1,100 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed 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.tuscany.samples.helloworldweb; + +import java.net.URL; +import java.util.Iterator; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import junit.framework.TestCase; + +import com.gargoylesoftware.htmlunit.Page; +import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.WebResponse; +import com.gargoylesoftware.htmlunit.html.HtmlForm; +import com.gargoylesoftware.htmlunit.html.HtmlInput; +import com.gargoylesoftware.htmlunit.html.HtmlPage; + + +public class TestHelloWorldWebTestCase extends TestCase { + public static final String testUrl = "http://localhost:8080/tuscany-samples-helloworldWEB/"; + + public void testHelloWorldDefault() throws Exception + { + System.err.println("Running: testcase:"); + // New HTMLunit web client + WebClient client = new WebClient(); + // Going to have the WebClient connect to this URL + URL url = new URL(testUrl); + HtmlPage page = (HtmlPage)client.getPage(url); + //System.out.println(page.getTitleText()); + + // Check response code + WebResponse resp = page.getWebResponse(); + assertTrue(resp.getStatusCode() <= 200); + List forms = page.getForms(); + Iterator iter = forms.iterator(); + + // Iterate over all forms on page, should only be one. + while(iter.hasNext()) + { + HtmlForm form = (HtmlForm)iter.next(); + // Get the "name" form input field + HtmlInput login = form.getInputByName("name"); + System.err.println(login.getValueAttribute()); + Page resultPage = form.submit(); + // Check response from servlet + WebResponse resultResponse = resultPage.getWebResponse(); + assertTrue(resultResponse.getStatusCode() <= 200); + + // TODO Check response content.. + String response = resultResponse.getContentAsString(); + + Pattern pattern = Pattern.compile("Hello World"); + Matcher matcher = pattern.matcher(response.subSequence(0,response.length())); + assertTrue(matcher.find()); + + /** + * or.. + * + * HtmlPage htmlResponse = (HtmlPage)resultPage; + * HtmlElement element = htmlResponse.getHtmlElementById("ELEMENT-ID"); + * assertEquals(element.getNodeValue(), ... ); + * + * or.. + * + * String resultString = resultResponse.getContentAsString(); + * assertEquals(resultString, ... ); + * + * etc. + * + **/ + } + + } + + /** + * @param args + */ + public static void main(String[] args) { + + + } + +} diff --git a/tags/java-stable-20060304/testing/tomcat/helloworldwebdas/src/test/java/org/apache/tuscany/samples/helloworldwebdas/TestHelloWorldWebDasTestCase.java b/tags/java-stable-20060304/testing/tomcat/helloworldwebdas/src/test/java/org/apache/tuscany/samples/helloworldwebdas/TestHelloWorldWebDasTestCase.java new file mode 100644 index 0000000000..545edfc01c --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/helloworldwebdas/src/test/java/org/apache/tuscany/samples/helloworldwebdas/TestHelloWorldWebDasTestCase.java @@ -0,0 +1,67 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed 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.tuscany.samples.helloworldwebdas; + +import java.net.URL; +import java.util.Iterator; +import java.util.List; + +import junit.framework.TestCase; + +import com.gargoylesoftware.htmlunit.Page; +import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.WebResponse; +import com.gargoylesoftware.htmlunit.html.HtmlForm; +import com.gargoylesoftware.htmlunit.html.HtmlPage; +import com.gargoylesoftware.htmlunit.html.HtmlTable; +import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput; + +public class TestHelloWorldWebDasTestCase extends TestCase { + public static final String testUrl = "http://localhost:8080/tuscany-samples-customerWEB/"; + + public void testHelloWorldDefault() throws Exception + { + System.err.println("Running: testcase:"); + + // New HTMLunit web client + WebClient client = new WebClient(); + + // Going to have the WebClient connect to this URL + URL url = new URL(testUrl); + HtmlPage page = (HtmlPage)client.getPage(url); + + // Check response code + WebResponse resp = page.getWebResponse(); + assertTrue(resp.getStatusCode() <= 200); + List forms = page.getForms(); + + //There is one form + HtmlForm form = (HtmlForm)page.getForms().get(0); + HtmlSubmitInput button = (HtmlSubmitInput)form.getInputByName("submit"); + + // Click the button and get back the second page + final HtmlPage page2 = (HtmlPage)button.click(); + + HtmlTable table = (HtmlTable)page2.getHtmlElementById("table1"); + assertEquals("1", (table.getCellAt(1,0)).asText()); + assertEquals("Phil", (table.getCellAt(1,1)).asText()); + assertEquals("Smith", (table.getCellAt(1,2)).asText()); + + } + + +} diff --git a/tags/java-stable-20060304/testing/tomcat/helloworldws/pom.xml b/tags/java-stable-20060304/testing/tomcat/helloworldws/pom.xml new file mode 100644 index 0000000000..eb685ba57c --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/helloworldws/pom.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright (c) 2005-2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed 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.
+ -->
+<project>
+ <parent>
+ <groupId>org.apache.tuscany</groupId>
+ <artifactId>tuscany-testing-tomcat</artifactId>
+ <version>SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>tuscany-testing-tomcat-helloworldws</artifactId>
+ <packaging>jar</packaging>
+ <name>Tuscany Testing Tomcat HelloWorld WS</name>
+ <description>Testing Tomcat HelloWorld WS end user test</description>
+ <version>SNAPSHOT</version>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.samples.helloworld</groupId>
+ <artifactId>helloworldwsclient</artifactId>
+ <version>${pom.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tuscany</groupId>
+ <artifactId>tuscany-container-js</artifactId>
+ <version>${pom.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>jakarta-regexp</groupId>
+ <artifactId>jakarta-regexp</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>ant</groupId>
+ <artifactId>ant-jakarta-regexp</artifactId>
+ <version>1.6.1</version>
+ </dependency>
+ <dependency>
+ <groupId>ant</groupId>
+ <artifactId>ant-xslp</artifactId>
+ <version>1.6.5</version>
+ </dependency>
+ <dependency>
+ <groupId>ant</groupId>
+ <artifactId>ant-trax</artifactId>
+ <version>1.6.5</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tags/java-stable-20060304/testing/tomcat/helloworldws/src/test/java/org/apache/tuscany/samples/helloworldws/TestHelloWorldWSTestCase.java b/tags/java-stable-20060304/testing/tomcat/helloworldws/src/test/java/org/apache/tuscany/samples/helloworldws/TestHelloWorldWSTestCase.java new file mode 100644 index 0000000000..58b7cfe2be --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/helloworldws/src/test/java/org/apache/tuscany/samples/helloworldws/TestHelloWorldWSTestCase.java @@ -0,0 +1,64 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed 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.tuscany.samples.helloworldws; + +import junit.framework.TestCase; + +import org.apache.tuscany.core.client.TuscanyRuntime; +import org.apache.tuscany.core.config.ConfigurationException; +import org.apache.tuscany.samples.helloworldwsclient.HelloWorldService; +import org.osoa.sca.CurrentModuleContext; +import org.osoa.sca.ModuleContext; + + +public class TestHelloWorldWSTestCase extends TestCase { + + String getGreetings(String name) throws ConfigurationException { + // Obtain Tuscany runtime + TuscanyRuntime tuscany = new TuscanyRuntime("hello", null); + + // Start the runtime + tuscany.start(); + + // Obtain SCA module context. + ModuleContext moduleContext = CurrentModuleContext.getContext(); + + // Locate the HelloWorld service component and invoke it + HelloWorldService helloworldService = (HelloWorldService) moduleContext.locateService("HelloWorldServiceComponent"); + + String value = helloworldService.getGreetings(name); + + System.out.println(value); + + // Stop the runtime + tuscany.stop(); + + return value; + } + + public void testHelloWorldDefault() throws Exception { + final String name= "World"; + String greeting= getGreetings(name); + assertEquals(greeting, "Hello " + name); + + final String name2= "SCA World!"; + greeting= getGreetings(name2); + assertEquals(greeting, "Hello " + name2); + + } + +} diff --git a/tags/java-stable-20060304/testing/tomcat/pom.xml b/tags/java-stable-20060304/testing/tomcat/pom.xml new file mode 100644 index 0000000000..25a9dab49b --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/pom.xml @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Copyright (c) 2005-2006 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed 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. + --> +<project> + <parent> + <groupId>org.apache.tuscany</groupId> + <artifactId>tuscany-project</artifactId> + <version>SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + <artifactId>tuscany-testing-tomcat</artifactId> + <packaging>pom</packaging> + <name>Tuscany Testing in Tomcat</name> + <version>SNAPSHOT</version> + + + <modules> + <module>helloworldws</module> +<!-- + <module>helloworldaxis</module> + these can't seem to run cause they need htmlunit and the dependencies download + seems broken for htmlunit + htmlunit:htmlunit:jar:1.7 + dom4j:dom4j:jar:1.5 + javax.xml:jsr173:jar:1.0 jar seems to be missing here http://www.ibiblio.org/maven2/javax/xml/jsr173/1.0/ + + + <module>helloworldweb</module> + <module>bigbank</module> + <module>helloworldwebdas</module> +--> + </modules> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <includes> + <include>**/*TestCase.java</include> + </includes> + </configuration> + </plugin> + </plugins> + <testResources> + <testResource> + <directory>src/test/java</directory> + <includes> + <include>**/*.componentType</include> + </includes> + </testResource> + <testResource> + <directory>src/test/resources</directory> + <includes> + <include>**/*</include> + </includes> + </testResource> + </testResources> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <version>1.1</version> + <executions> + <execution> + <id>prepareTomcat</id> + <phase>process-test-resources</phase> + <configuration> + <tasks> + <ant inheritRefs='true' antfile="build.xml" dir="${basedir}/.." target="prepareTomcat"> + <property name="user.home" value="${user.home}" /> + <!-- property name="tuscany.maven.repos.dir" value="${maven.local.repo}"/ --> + </ant> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <execution> + <id>cleanupTomcat</id> + <phase>clean</phase> + <configuration> + <tasks> + <ant inheritRefs='true' antfile="build.xml" dir="${basedir}/.." target="clean" /> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </pluginManagement> + <defaultGoal>test</defaultGoal> + </build> +</project> diff --git a/tags/java-stable-20060304/testing/tomcat/server.xml b/tags/java-stable-20060304/testing/tomcat/server.xml new file mode 100644 index 0000000000..0205a458f0 --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/server.xml @@ -0,0 +1,369 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Example Server Configuration File --> +<!-- Note that component elements are nested corresponding to their + parent-child relationships with each other --> +<!-- A "Server" is a singleton element that represents the entire JVM, + which may contain one or more "Service" instances. The Server + listens for a shutdown command on the indicated port. + + Note: A "Server" is not itself a "Container", so you may not + define subcomponents such as "Valves" or "Loggers" at this level. + --> +<Server port="8005" shutdown="SHUTDOWN"> + + <!-- Comment these entries out to disable JMX MBeans support used for the + administration web application --> + <Listener className="org.apache.catalina.core.AprLifecycleListener"/> + <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/> + <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> + <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/> + + <!-- Global JNDI resources --> + <GlobalNamingResources> + + <!-- Test entry for demonstration purposes --> + <Environment name="simpleValue" type="java.lang.Integer" value="30"/> + + <!-- Editable user database that can also be used by + UserDatabaseRealm to authenticate users --> + <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml"/> + + </GlobalNamingResources> + + <!-- A "Service" is a collection of one or more "Connectors" that share + a single "Container" (and therefore the web applications visible + within that Container). Normally, that Container is an "Engine", + but this is not required. + + Note: A "Service" is not itself a "Container", so you may not + define subcomponents such as "Valves" or "Loggers" at this level. + --> + + <!-- Define the Tomcat Stand-Alone Service --> + <Service name="Catalina"> + + <!-- A "Connector" represents an endpoint by which requests are received + and responses are returned. Each Connector passes requests on to the + associated "Container" (normally an Engine) for processing. + + By default, a non-SSL HTTP/1.1 Connector is established on port 8080. + You can also enable an SSL HTTP/1.1 Connector on port 8443 by + following the instructions below and uncommenting the second Connector + entry. SSL support requires the following steps (see the SSL Config + HOWTO in the Tomcat 5 documentation bundle for more detailed + instructions): + * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or + later, and put the JAR files into "$JAVA_HOME/jre/lib/ext". + * Execute: + %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows) + $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix) + with a password value of "changeit" for both the certificate and + the keystore itself. + + By default, DNS lookups are enabled when a web application calls + request.getRemoteHost(). This can have an adverse impact on + performance, so you can disable it by setting the + "enableLookups" attribute to "false". When DNS lookups are disabled, + request.getRemoteHost() will return the String version of the + IP address of the remote client. + --> + + <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> + <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"/> + <!-- Note : To disable connection timeouts, set connectionTimeout value + to 0 --> + + <!-- Note : To use gzip compression you could set the following properties : + + compression="on" + compressionMinSize="2048" + noCompressionUserAgents="gozilla, traviata" + compressableMimeType="text/html,text/xml" + --> + + <!-- Define a SSL HTTP/1.1 Connector on port 8443 --> + <!-- + <Connector port="8443" maxHttpHeaderSize="8192" + maxThreads="150" minSpareThreads="25" maxSpareThreads="75" + enableLookups="false" disableUploadTimeout="true" + acceptCount="100" scheme="https" secure="true" + clientAuth="false" sslProtocol="TLS" /> + --> + + <!-- Define an AJP 1.3 Connector on port 8009 --> + <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3"/> + + <!-- Define a Proxied HTTP/1.1 Connector on port 8082 --> + <!-- See proxy documentation for more information about using this. --> + <!-- + <Connector port="8082" + maxThreads="150" minSpareThreads="25" maxSpareThreads="75" + enableLookups="false" acceptCount="100" connectionTimeout="20000" + proxyPort="80" disableUploadTimeout="true" /> + --> + + <!-- An Engine represents the entry point (within Catalina) that processes + every request. The Engine implementation for Tomcat stand alone + analyzes the HTTP headers included with the request, and passes them + on to the appropriate Host (virtual host). --> + + <!-- You should set jvmRoute to support load-balancing via AJP ie : + <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1"> + --> + + <!-- Define the top level container in our container hierarchy --> + <Engine name="Catalina" defaultHost="localhost"> + + <!-- The request dumper valve dumps useful debugging information about + the request headers and cookies that were received, and the response + headers and cookies that were sent, for all requests received by + this instance of Tomcat. If you care only about requests to a + particular virtual host, or a particular application, nest this + element inside the corresponding <Host> or <Context> entry instead. + + For a similar mechanism that is portable to all Servlet 2.4 + containers, check out the "RequestDumperFilter" Filter in the + example application (the source for this filter may be found in + "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters"). + + Request dumping is disabled by default. Uncomment the following + element to enable it. --> + <!-- + <Valve className="org.apache.catalina.valves.RequestDumperValve"/> + --> + + <!-- Because this Realm is here, an instance will be shared globally --> + + <!-- This Realm uses the UserDatabase configured in the global JNDI + resources under the key "UserDatabase". Any edits + that are performed against this UserDatabase are immediately + available for use by the Realm. --> + <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> + + <!-- Comment out the old realm but leave here for now in case we + need to go back quickly --> + <!-- + <Realm className="org.apache.catalina.realm.MemoryRealm" /> + --> + + <!-- Replace the above Realm with one of the following to get a Realm + stored in a database and accessed via JDBC --> + + <!-- + <Realm className="org.apache.catalina.realm.JDBCRealm" + driverName="org.gjt.mm.mysql.Driver" + connectionURL="jdbc:mysql://localhost/authority" + connectionName="test" connectionPassword="test" + userTable="users" userNameCol="user_name" userCredCol="user_pass" + userRoleTable="user_roles" roleNameCol="role_name" /> + --> + + <!-- + <Realm className="org.apache.catalina.realm.JDBCRealm" + driverName="oracle.jdbc.driver.OracleDriver" + connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL" + connectionName="scott" connectionPassword="tiger" + userTable="users" userNameCol="user_name" userCredCol="user_pass" + userRoleTable="user_roles" roleNameCol="role_name" /> + --> + + <!-- + <Realm className="org.apache.catalina.realm.JDBCRealm" + driverName="sun.jdbc.odbc.JdbcOdbcDriver" + connectionURL="jdbc:odbc:CATALINA" + userTable="users" userNameCol="user_name" userCredCol="user_pass" + userRoleTable="user_roles" roleNameCol="role_name" /> + --> + + <!-- Define the default virtual host + Note: XML Schema validation will not work with Xerces 2.2. + --> + <Host className="org.apache.tuscany.tomcat.TuscanyHost" name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> + + <!-- Defines a cluster for this node, + By defining this element, means that every manager will be changed. + So when running a cluster, only make sure that you have webapps in there + that need to be clustered and remove the other ones. + A cluster has the following parameters: + + className = the fully qualified name of the cluster class + + clusterName = a descriptive name for your cluster, can be anything + + mcastAddr = the multicast address, has to be the same for all the nodes + + mcastPort = the multicast port, has to be the same for all the nodes + + mcastBindAddr = bind the multicast socket to a specific address + + mcastTTL = the multicast TTL if you want to limit your broadcast + + mcastSoTimeout = the multicast readtimeout + + mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat + + mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received + + tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes + + tcpListenAddress = the listen address (bind address) for TCP cluster request on this host, + in case of multiple ethernet cards. + auto means that address becomes + InetAddress.getLocalHost().getHostAddress() + + tcpListenPort = the tcp listen port + + tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS + has a wakup bug in java.nio. Set to 0 for no timeout + + printToScreen = true means that managers will also print to std.out + + expireSessionsOnShutdown = true means that + + useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called. + false means to replicate the session after each request. + false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager) + <% + HashMap map = (HashMap)session.getAttribute("map"); + map.put("key","value"); + %> + replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'. + * Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication. + * Synchronous means that the thread that executes the request, is also the + thread the replicates the data to the other nodes, and will not return until all + nodes have received the information. + * Asynchronous means that there is a specific 'sender' thread for each cluster node, + so the request thread will queue the replication request into a "smart" queue, + and then return to the client. + The "smart" queue is a queue where when a session is added to the queue, and the same session + already exists in the queue from a previous request, that session will be replaced + in the queue instead of replicating two requests. This almost never happens, unless there is a + large network delay. + --> + <!-- + When configuring for clustering, you also add in a valve to catch all the requests + coming in, at the end of the request, the session may or may not be replicated. + A session is replicated if and only if all the conditions are met: + 1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND + 2. a session exists (has been created) + 3. the request is not trapped by the "filter" attribute + + The filter attribute is to filter out requests that could not modify the session, + hence we don't replicate the session after the end of this request. + The filter is negative, ie, anything you put in the filter, you mean to filter out, + ie, no replication will be done on requests that match one of the filters. + The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to. + + filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI + ending with .gif and .js are intercepted. + + The deployer element can be used to deploy apps cluster wide. + Currently the deployment only deploys/undeploys to working members in the cluster + so no WARs are copied upons startup of a broken node. + The deployer watches a directory (watchDir) for WAR files when watchEnabled="true" + When a new war file is added the war gets deployed to the local instance, + and then deployed to the other instances in the cluster. + When a war file is deleted from the watchDir the war is undeployed locally + and cluster wide + --> + + <!-- + <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster" + managerClassName="org.apache.catalina.cluster.session.DeltaManager" + expireSessionsOnShutdown="false" + useDirtyFlag="true" + notifyListenersOnReplication="true"> + + <Membership + className="org.apache.catalina.cluster.mcast.McastService" + mcastAddr="228.0.0.4" + mcastPort="45564" + mcastFrequency="500" + mcastDropTime="3000"/> + + <Receiver + className="org.apache.catalina.cluster.tcp.ReplicationListener" + tcpListenAddress="auto" + tcpListenPort="4001" + tcpSelectorTimeout="100" + tcpThreadCount="6"/> + + <Sender + className="org.apache.catalina.cluster.tcp.ReplicationTransmitter" + replicationMode="pooled" + ackTimeout="15000"/> + + <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve" + filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/> + + <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer" + tempDir="/tmp/war-temp/" + deployDir="/tmp/war-deploy/" + watchDir="/tmp/war-listen/" + watchEnabled="false"/> + + <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/> + </Cluster> + --> + + + + <!-- Normally, users must authenticate themselves to each web app + individually. Uncomment the following entry if you would like + a user to be authenticated the first time they encounter a + resource protected by a security constraint, and then have that + user identity maintained across *all* web applications contained + in this virtual host. --> + <!-- + <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> + --> + + <!-- Access log processes all requests for this virtual host. By + default, log files are created in the "logs" directory relative to + $CATALINA_HOME. If you wish, you can specify a different + directory with the "directory" attribute. Specify either a relative + (to $CATALINA_HOME) or absolute path to the desired directory. + --> + <!-- + <Valve className="org.apache.catalina.valves.AccessLogValve" + directory="logs" prefix="localhost_access_log." suffix=".txt" + pattern="common" resolveHosts="false"/> + --> + + <!-- Access log processes all requests for this virtual host. By + default, log files are created in the "logs" directory relative to + $CATALINA_HOME. If you wish, you can specify a different + directory with the "directory" attribute. Specify either a relative + (to $CATALINA_HOME) or absolute path to the desired directory. + This access log implementation is optimized for maximum performance, + but is hardcoded to support only the "common" and "combined" patterns. + --> + <!-- + <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve" + directory="logs" prefix="localhost_access_log." suffix=".txt" + pattern="common" resolveHosts="false"/> + --> + <!-- Access log processes all requests for this virtual host. By + default, log files are created in the "logs" directory relative to + $CATALINA_HOME. If you wish, you can specify a different + directory with the "directory" attribute. Specify either a relative + (to $CATALINA_HOME) or absolute path to the desired directory. + This access log implementation is optimized for maximum performance, + but is hardcoded to support only the "common" and "combined" patterns. + + This valve use NIO direct Byte Buffer to asynchornously store the + log. + --> + <!-- + <Valve className="org.apache.catalina.valves.ByteBufferAccessLogValve" + directory="logs" prefix="localhost_access_log." suffix=".txt" + pattern="common" resolveHosts="false"/> + --> + + </Host> + + </Engine> + + </Service> + +</Server> diff --git a/tags/java-stable-20060304/testing/tomcat/server.xsl b/tags/java-stable-20060304/testing/tomcat/server.xsl new file mode 100644 index 0000000000..b7ee22e7d6 --- /dev/null +++ b/tags/java-stable-20060304/testing/tomcat/server.xsl @@ -0,0 +1,48 @@ +<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output indent="yes" />
+
+ <xsl:param name="classname"/>
+ <!-- xsl:template match="node() | @*">
+ <xsl:copy>
+ <xsl:apply-templates select="node() | @*"/>
+ </xsl:copy>
+ </xsl:template -->
+ <xsl:template
+ match="@* | * | comment() | processing-instruction() | text()">
+ <xsl:copy>
+ <xsl:apply-templates
+ select="@* | * | comment() | processing-instruction() | text()" />
+ </xsl:copy>
+ </xsl:template>
+
+<!--
+ <xsl:template match="Server">
+ <Server>
+ <xsl:apply-templates select="@*" />
+ <Listener className="org.apache.tuscany.tomcat.lifecycle.listener.TomcatServerLifecycleListener" />
+ <xsl:apply-templates
+ select="@* | * | comment() | processing-instruction() | text()" />
+ </Server>
+ </xsl:template>
+-->
+
+ <!-- xsl:template match="/">
+ <xsl:apply-templates select="node() | @*" />
+ </xsl:template -->
+</xsl:stylesheet>
|