You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2007/06/04 07:33:33 UTC
svn commit: r544056 - in /incubator/tuscany/java/das/samples: companyweb/
companyweb/src/main/java/org/apache/tuscany/samples/das/companyweb/
companyweb/src/main/resources/ companyweb/src/main/webapp/
companyweb/src/main/webapp/WEB-INF/ testing/tomcat/...
Author: lresende
Date: Sun Jun 3 22:33:32 2007
New Revision: 544056
URL: http://svn.apache.org/viewvc?view=rev&rev=544056
Log:
JIRA-1300 - Integrating companyweb with dbConfig utility
Added:
incubator/tuscany/java/das/samples/companyweb/src/main/java/org/apache/tuscany/samples/das/companyweb/CompanyDBInit.java
incubator/tuscany/java/das/samples/companyweb/src/main/resources/CompanyWebDBConfig.xml
Modified:
incubator/tuscany/java/das/samples/companyweb/pom.xml
incubator/tuscany/java/das/samples/companyweb/src/main/webapp/Company.jsp
incubator/tuscany/java/das/samples/companyweb/src/main/webapp/WEB-INF/web.xml
incubator/tuscany/java/das/samples/testing/tomcat/build.xml
incubator/tuscany/java/das/samples/testing/tomcat/companyweb/src/test/java/org/apache/tuscany/test/das/DasTestCase.java
incubator/tuscany/java/das/samples/testing/tomcat/datasource.xsl
Modified: incubator/tuscany/java/das/samples/companyweb/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/samples/companyweb/pom.xml?view=diff&rev=544056&r1=544055&r2=544056
==============================================================================
--- incubator/tuscany/java/das/samples/companyweb/pom.xml (original)
+++ incubator/tuscany/java/das/samples/companyweb/pom.xml Sun Jun 3 22:33:32 2007
@@ -31,18 +31,31 @@
<description>Sample use of RDB DAS in a Web application</description>
<dependencies>
-
<dependency>
<groupId>org.apache.tuscany.das</groupId>
<artifactId>tuscany-das-rdb</artifactId>
- <version>${pom.version}</version>
+ <version>${das.version}</version>
<scope>compile</scope>
</dependency>
-
+
+ <dependency>
+ <groupId>org.apache.tuscany.das.samples</groupId>
+ <artifactId>tuscany-das-sample-dbconfig</artifactId>
+ <version>${das.version}</version>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<!-- this will place the java source files inside the war -->
<build>
+ <finalName>sample-companyweb</finalName>
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
<resource>
Added: incubator/tuscany/java/das/samples/companyweb/src/main/java/org/apache/tuscany/samples/das/companyweb/CompanyDBInit.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/samples/companyweb/src/main/java/org/apache/tuscany/samples/das/companyweb/CompanyDBInit.java?view=auto&rev=544056
==============================================================================
--- incubator/tuscany/java/das/samples/companyweb/src/main/java/org/apache/tuscany/samples/das/companyweb/CompanyDBInit.java (added)
+++ incubator/tuscany/java/das/samples/companyweb/src/main/java/org/apache/tuscany/samples/das/companyweb/CompanyDBInit.java Sun Jun 3 22:33:32 2007
@@ -0,0 +1,71 @@
+/*
+ * 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.tuscany.samples.das.companyweb;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tuscany.das.rdb.dbconfig.DBInitializer;
+
+public class CompanyDBInit extends HttpServlet {
+ private static final long serialVersionUID = -4795999792460944805L;
+ private static final String dbConfigFile = "CompanyWebDBConfig.xml";
+
+ @Override
+ public void init() throws ServletException {
+ try {
+ DBInitializer dbInitializer;
+ dbInitializer = new DBInitializer(getConfig(dbConfigFile));
+ if (! dbInitializer.isDatabaseReady()) {
+ dbInitializer.initializeDatabase(true);
+ }
+ } catch (Exception e) {
+
+ e.printStackTrace();
+ log(e.toString(), e);
+ throw new ServletException(e);
+ }
+ }
+
+ /*
+ * (non-Java-doc)
+ *
+ * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest arg0, HttpServletResponse arg1)
+ */
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ response.setContentType("text/html");
+
+ PrintWriter out = response.getWriter();
+
+ out.println();
+ out.println("<center><h2>CompanyWeb database initialization servlet !<h2></center>");
+ out.println();
+ }
+
+ private InputStream getConfig(String fileName) {
+ return getClass().getClassLoader().getResourceAsStream(fileName);
+ }
+
+}
Added: incubator/tuscany/java/das/samples/companyweb/src/main/resources/CompanyWebDBConfig.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/samples/companyweb/src/main/resources/CompanyWebDBConfig.xml?view=auto&rev=544056
==============================================================================
--- incubator/tuscany/java/das/samples/companyweb/src/main/resources/CompanyWebDBConfig.xml (added)
+++ incubator/tuscany/java/das/samples/companyweb/src/main/resources/CompanyWebDBConfig.xml Sun Jun 3 22:33:32 2007
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ 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.
+ -->
+<DBConfig xmlns="http:///org.apache.tuscany.das.rdb/dbconfig.xsd">
+
+ <!--ConnectionInfo>
+ <ConnectionProperties
+ driverClass="org.apache.derby.jdbc.EmbeddedDriver"
+ databaseURL="jdbc:derby:../Databases/dastest; create = true"
+ loginTimeout="600000"/>
+ </ConnectionInfo-->
+ <ConnectionInfo dataSource="java:comp/env/jdbc/dastest"/>
+
+ <Table name="COMPANY" SQLCreate="CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY , NAME VARCHAR(30))" >
+ <row>'ACME Publishing'</row>
+ <row>'Do-rite plumbing'</row>
+ <row>'MegaCorp'</row>
+ </Table>
+ <Table name="DEPARTMENT" SQLCreate="CREATE TABLE DEPARTMENT (ID INT PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY, NAME VARCHAR(30),LOCATION VARCHAR(30), DEPNUMBER VARCHAR(10),COMPANYID INT)">
+ <row>'Advanced Technologies', 'NY', '123', 1</row>
+ <row>'Default Name 2', '', '', 1</row>
+ <row>'Default Name 3', '', '', 1</row>
+ <row>'Default Name 4', '', '', 1</row>
+ <row>'Default Name 5', '', '', 1</row>
+ <row>'Default Name 6', '', '', 1</row>
+ <row>'Default Name 7', '', '', 1</row>
+ <row>'Default Name 8', '', '', 1</row>
+ </Table>
+ <Table name="EMPLOYEE" SQLCreate="CREATE TABLE EMPLOYEE (ID INT PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY,NAME VARCHAR(30),SN VARCHAR(10), MANAGER SMALLINT, DEPARTMENTID INT)">
+ <row>'John Jones','E0001',0,1</row>
+ <row>'Mary Smith','E0002',1,null</row>
+ <row>'Jane Doe','E0003',0,1</row>
+ <row>'Al Smith','E0004',1,1</row>
+ </Table>
+</DBConfig>
Modified: incubator/tuscany/java/das/samples/companyweb/src/main/webapp/Company.jsp
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/samples/companyweb/src/main/webapp/Company.jsp?view=diff&rev=544056&r1=544055&r2=544056
==============================================================================
--- incubator/tuscany/java/das/samples/companyweb/src/main/webapp/Company.jsp (original)
+++ incubator/tuscany/java/das/samples/companyweb/src/main/webapp/Company.jsp Sun Jun 3 22:33:32 2007
@@ -19,14 +19,11 @@
-->
<html>
<head>
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"
+ import="commonj.sdo.*"
- pageEncoding="ISO-8859-1"
-
- import="org.apache.tuscany.samples.das.companyweb.CompanyClient"
- import="commonj.sdo.*"
+ import="org.apache.tuscany.samples.das.companyweb.CompanyClient"
%>
-
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Company Test</title>
</head>
Modified: incubator/tuscany/java/das/samples/companyweb/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/samples/companyweb/src/main/webapp/WEB-INF/web.xml?view=diff&rev=544056&r1=544055&r2=544056
==============================================================================
--- incubator/tuscany/java/das/samples/companyweb/src/main/webapp/WEB-INF/web.xml (original)
+++ incubator/tuscany/java/das/samples/companyweb/src/main/webapp/WEB-INF/web.xml Sun Jun 3 22:33:32 2007
@@ -27,4 +27,10 @@
<welcome-file>Company.jsp</welcome-file>
</welcome-file-list>
+ <!-- Initialize Company database -->
+ <servlet>
+ <servlet-name>CompanyDBInit</servlet-name>
+ <servlet-class>org.apache.tuscany.samples.das.companyweb.CompanyDBInit</servlet-class>
+ <load-on-startup>2</load-on-startup>
+ </servlet>
</web-app>
Modified: incubator/tuscany/java/das/samples/testing/tomcat/build.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/samples/testing/tomcat/build.xml?view=diff&rev=544056&r1=544055&r2=544056
==============================================================================
--- incubator/tuscany/java/das/samples/testing/tomcat/build.xml (original)
+++ incubator/tuscany/java/das/samples/testing/tomcat/build.xml Sun Jun 3 22:33:32 2007
@@ -169,10 +169,11 @@
<fileset dir="${tuscany.acceptance.das.samples.companyweb.dir}">
<include name="**/*.war" />
</fileset>
- <chainedmapper>
+ <!-- lresende - using the right name on the build now, don't need to clean up -->
+ <!-- chainedmapper>
<flattenmapper/>
<globmapper from="*-1.0-incubating-SNAPSHOT.war" to="*.war"/>
- </chainedmapper>
+ </chainedmapper -->
</copy>
<!-- Create directory for the derby database -->
@@ -180,11 +181,12 @@
<mkdir dir="${tuscany.acceptance.target.databases.dir}" />
<!-- Copy over the Derby database -->
- <copy todir="${tuscany.acceptance.target.databases.dir}">
+ <!-- lresende - we now use the dbConfig, and don't need to copy canned database here -->
+ <!-- copy todir="${tuscany.acceptance.target.databases.dir}">
<fileset dir="${tuscany.acceptance.das.samples.companyweb.dir}">
<include name="**/dastest/**" />
</fileset>
- </copy>
+ </copy -->
</target>
Modified: incubator/tuscany/java/das/samples/testing/tomcat/companyweb/src/test/java/org/apache/tuscany/test/das/DasTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/samples/testing/tomcat/companyweb/src/test/java/org/apache/tuscany/test/das/DasTestCase.java?view=diff&rev=544056&r1=544055&r2=544056
==============================================================================
--- incubator/tuscany/java/das/samples/testing/tomcat/companyweb/src/test/java/org/apache/tuscany/test/das/DasTestCase.java (original)
+++ incubator/tuscany/java/das/samples/testing/tomcat/companyweb/src/test/java/org/apache/tuscany/test/das/DasTestCase.java Sun Jun 3 22:33:32 2007
@@ -28,7 +28,7 @@
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
public class DasTestCase extends TestCase {
- public static final String testUrl = "http://localhost:8080/tuscany-das-sample-companyweb/";
+ public static final String testUrl = "http://localhost:8080/sample-companyweb/";
protected WebClient _webClient;
protected URL _url;
@@ -60,20 +60,20 @@
assertTrue(-1 != responseText.indexOf("Department_ID"));
assertTrue(-1 != responseText.indexOf("Department_Name"));
//check companies values
- assertTrue(-1 != responseText.indexOf("51"));
+ //assertTrue(-1 != responseText.indexOf("51"));
assertTrue(-1 != responseText.indexOf("ACME Publishing"));
- assertTrue(-1 != responseText.indexOf("53"));
+ //assertTrue(-1 != responseText.indexOf("53"));
assertTrue(-1 != responseText.indexOf("Do-rite plumbing"));
- assertTrue(-1 != responseText.indexOf("53"));
+ //assertTrue(-1 != responseText.indexOf("53"));
assertTrue(-1 != responseText.indexOf("MegaCorp"));
//check departments
- assertTrue(-1 != responseText.indexOf("73"));
- assertTrue(-1 != responseText.indexOf("74"));
- assertTrue(-1 != responseText.indexOf("75"));
- assertTrue(-1 != responseText.indexOf("76"));
- assertTrue(-1 != responseText.indexOf("77"));
- assertTrue(-1 != responseText.indexOf("78"));
- assertTrue(-1 != responseText.indexOf("12"));
+ assertTrue(-1 != responseText.indexOf("Default Name 2"));
+ assertTrue(-1 != responseText.indexOf("Default Name 3"));
+ assertTrue(-1 != responseText.indexOf("Default Name 4"));
+ assertTrue(-1 != responseText.indexOf("Default Name 5"));
+ assertTrue(-1 != responseText.indexOf("Default Name 6"));
+ assertTrue(-1 != responseText.indexOf("Default Name 7"));
+ assertTrue(-1 != responseText.indexOf("Default Name 8"));
System.out.println("SUCCESS!!!");
}
@@ -100,11 +100,11 @@
assertTrue(-1 != responseText.indexOf("ID"));
assertTrue(-1 != responseText.indexOf("Name"));
//check table values
- assertTrue(-1 != responseText.indexOf("51"));
+ //assertTrue(-1 != responseText.indexOf("51"));
assertTrue(-1 != responseText.indexOf("ACME Publishing"));
- assertTrue(-1 != responseText.indexOf("52"));
+ //assertTrue(-1 != responseText.indexOf("52"));
assertTrue(-1 != responseText.indexOf("Do-rite plumbing"));
- assertTrue(-1 != responseText.indexOf("53"));
+ //assertTrue(-1 != responseText.indexOf("53"));
assertTrue(-1 != responseText.indexOf("MegaCorp"));
System.out.println("SUCCESS!!!");
@@ -133,20 +133,20 @@
assertTrue(-1 != responseText.indexOf("Department_ID"));
assertTrue(-1 != responseText.indexOf("Department_Name"));
//check companies values
- assertTrue(-1 != responseText.indexOf("51"));
+ //assertTrue(-1 != responseText.indexOf("51"));
assertTrue(-1 != responseText.indexOf("ACME Publishing"));
- assertTrue(-1 != responseText.indexOf("53"));
+ //assertTrue(-1 != responseText.indexOf("53"));
assertTrue(-1 != responseText.indexOf("Do-rite plumbing"));
- assertTrue(-1 != responseText.indexOf("53"));
+ //assertTrue(-1 != responseText.indexOf("53"));
assertTrue(-1 != responseText.indexOf("MegaCorp"));
//check departments
- assertTrue(-1 != responseText.indexOf("73"));
- assertTrue(-1 != responseText.indexOf("74"));
- assertTrue(-1 != responseText.indexOf("75"));
- assertTrue(-1 != responseText.indexOf("76"));
- assertTrue(-1 != responseText.indexOf("77"));
- assertTrue(-1 != responseText.indexOf("78"));
- assertTrue(-1 != responseText.indexOf("12"));
+ assertTrue(-1 != responseText.indexOf("Default Name 2"));
+ assertTrue(-1 != responseText.indexOf("Default Name 3"));
+ assertTrue(-1 != responseText.indexOf("Default Name 4"));
+ assertTrue(-1 != responseText.indexOf("Default Name 5"));
+ assertTrue(-1 != responseText.indexOf("Default Name 6"));
+ assertTrue(-1 != responseText.indexOf("Default Name 7"));
+ assertTrue(-1 != responseText.indexOf("Default Name 8"));
System.out.println("SUCCESS!!!");
}
@@ -169,12 +169,11 @@
String responseText = resultPage.asText();
//System.out.println("html-->\n" + responseText);
//check new department
- assertTrue(-1 != responseText.indexOf("79"));
+ assertTrue(-1 != responseText.indexOf("8"));
System.out.println("SUCCESS!!!");
}
-
public void testChangeCompanyDepartmentNames() throws Exception{
final String TEST_CASE = "ChangeCompanyDepartmentNames";
System.out.print("Running:" + TEST_CASE + "\t");
@@ -218,12 +217,13 @@
String responseText = resultPage.asText();
//System.out.println("html-->\n" + responseText);
//check that al the company 1 departments are gone..
- assertTrue(-1 == responseText.indexOf("73"));
- assertTrue(-1 == responseText.indexOf("74"));
- assertTrue(-1 == responseText.indexOf("75"));
- assertTrue(-1 == responseText.indexOf("76"));
- assertTrue(-1 == responseText.indexOf("77"));
- assertTrue(-1 == responseText.indexOf("78"));
+ assertTrue(-1 == responseText.indexOf("Default Name 2"));
+ assertTrue(-1 == responseText.indexOf("Default Name 3"));
+ assertTrue(-1 == responseText.indexOf("Default Name 4"));
+ assertTrue(-1 == responseText.indexOf("Default Name 5"));
+ assertTrue(-1 == responseText.indexOf("Default Name 6"));
+ assertTrue(-1 == responseText.indexOf("Default Name 7"));
+ assertTrue(-1 == responseText.indexOf("Default Name 8"));
System.out.println("SUCCESS!!!");
}
Modified: incubator/tuscany/java/das/samples/testing/tomcat/datasource.xsl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/samples/testing/tomcat/datasource.xsl?view=diff&rev=544056&r1=544055&r2=544056
==============================================================================
--- incubator/tuscany/java/das/samples/testing/tomcat/datasource.xsl (original)
+++ incubator/tuscany/java/das/samples/testing/tomcat/datasource.xsl Sun Jun 3 22:33:32 2007
@@ -43,7 +43,7 @@
maxActive="100" maxIdle="30" maxWait="10000"
username="" password=""
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
- url="{$database_location}"/>
+ url="{$database_location};create = true"/>
</xsl:copy>
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org