You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2006/05/21 21:29:15 UTC

svn commit: r408465 - in /incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1: ./ src/main/java/org/apache/cayenne/profile/ src/main/java/org/apache/cayenne/profile/cases/ src/main/java/org/apache/cayenne/profile/servlet/ src/main...

Author: aadamchik
Date: Sun May 21 12:29:14 2006
New Revision: 408465

URL: http://svn.apache.org/viewvc?rev=408465&view=rev
Log:
setting mavne profiles to support regression profiling on different dbs

Added:
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/AbstractCase.java
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/ConnectionProperties.java
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/TestDataSourceFactory.java
Removed:
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/servlet/AbstractCase.java
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/resources/regression-profile.driver.xml
Modified:
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/pom.xml
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/DeleteCase.java
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/InsertCase.java
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/SelectCase.java
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/servlet/ProfileFilter.java
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/servlet/ProfileServlet.java
    incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/resources/cayenne.xml

Modified: incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/pom.xml?rev=408465&r1=408464&r2=408465&view=diff
==============================================================================
--- incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/pom.xml (original)
+++ incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/pom.xml Sun May 21 12:29:14 2006
@@ -4,17 +4,8 @@
   <artifactId>cayenne-regression-profiler</artifactId>
   <packaging>war</packaging>
   <name>Cayenne Regression Profiler Web Application</name>
-  <version>1.2-SNAPSHOT</version>
+  <version>1.1-SNAPSHOT</version>
   <url>http://incubator.apache.org/cayenne/</url>
-  
-  <repositories>
-		<repository>
-			<id>objectstyle</id>
-			<name>ObjectStyle Public Maven2 repo</name>
-			<url>http://objectstyle.org/maven2</url>
-		</repository>
-  </repositories>
-  
   <build>
     <finalName>cayenne-regression-profiler</finalName>
     <plugins>
@@ -41,9 +32,6 @@
           </execution>
         </executions>
       </plugin>
-      <!-- before running , do this:
-           export MAVEN_OPTS="-Xms128M -Xmx128M"
-      -->
       <plugin>
         <groupId>org.mortbay.jetty</groupId>
         <artifactId>maven-jetty6-plugin</artifactId>
@@ -62,6 +50,61 @@
       </plugin>
     </plugins>
   </build>
+    <profiles>
+    <!-- Database profiles -->
+    <profile>
+      <id>default-db</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+        <property>
+      		<name>cayenne.test.connection</name>
+      		<value>internal_embedded_datasource</value>
+      	</property>
+      </activation>
+      <dependencies>
+        <dependency>
+      		<groupId>hsqldb</groupId>
+      		<artifactId>hsqldb</artifactId>
+     		<version>1.8.0.1</version>
+      		<scope>runtime</scope>
+    	</dependency>
+      </dependencies>
+    </profile>
+    <profile>
+      <id>mysql</id>
+      <activation>
+      	<property>
+      		<name>cayenne.test.connection</name>
+      		<value>mysql</value>
+      	</property>
+      </activation>
+      <dependencies>
+        <dependency>
+      		<groupId>mysql</groupId>
+      		<artifactId>mysql-connector-java</artifactId>
+      		<version>3.1.11</version>
+      		<scope>runtime</scope>
+    	</dependency>
+      </dependencies>
+    </profile>
+    <profile>
+      <id>oracle</id>
+      <activation>
+      <property>
+      	<name>cayenne.test.connection</name>
+      	<value>oracle</value>
+      </property>
+      </activation>
+      <dependencies>
+        <dependency>
+			<groupId>com.oracle</groupId>
+			<artifactId>oracle-driver</artifactId>
+			<version>10</version>
+			<scope>runtime</scope>
+		</dependency>
+      </dependencies>
+    </profile>
+  </profiles>
   <dependencies>
     <dependency>
       <groupId>javax.servlet</groupId>
@@ -75,15 +118,9 @@
 		<version>3.8.1</version>
 	</dependency>
     <dependency>
-      <groupId>hsqldb</groupId>
-      <artifactId>hsqldb</artifactId>
-      <version>1.8.0.1</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
 			<groupId>org.objectstyle.cayenne</groupId>
 			<artifactId>cayenne</artifactId>
 			<version>1.1.4</version>
-		</dependency>
+	</dependency>
   </dependencies>
 </project>

Added: incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/AbstractCase.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/AbstractCase.java?rev=408465&view=auto
==============================================================================
--- incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/AbstractCase.java (added)
+++ incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/AbstractCase.java Sun May 21 12:29:14 2006
@@ -0,0 +1,53 @@
+/*
+ *  Copyright 2006 The Apache Software Foundation
+ *
+ *  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.cayenne.profile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import junit.framework.TestCase;
+
+import org.objectstyle.cayenne.access.DataContext;
+
+/**
+ * An noop profiling case.
+ * 
+ * @author Andrus Adamchik
+ */
+public class AbstractCase extends TestCase {
+
+    public void doGet(
+            DataContext context,
+            HttpServletRequest request,
+            HttpServletResponse response) {
+
+        doRequest(context, request, response);
+    }
+
+    public void doPost(
+            DataContext context,
+            HttpServletRequest request,
+            HttpServletResponse response) {
+        doRequest(context, request, response);
+    }
+
+    protected void doRequest(
+            DataContext context,
+            HttpServletRequest request,
+            HttpServletResponse response) {
+
+    }
+}

Added: incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/ConnectionProperties.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/ConnectionProperties.java?rev=408465&view=auto
==============================================================================
--- incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/ConnectionProperties.java (added)
+++ incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/ConnectionProperties.java Sun May 21 12:29:14 2006
@@ -0,0 +1,215 @@
+/*
+ *  Copyright 2006 The Apache Software Foundation
+ *
+ *  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.cayenne.profile;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.collections.ExtendedProperties;
+import org.apache.log4j.Logger;
+import org.objectstyle.cayenne.conn.DataSourceInfo;
+import org.objectstyle.cayenne.project.CayenneUserDir;
+
+/**
+ * Porting from 1.2 - this class was different in 1.1.4.
+ * 
+ * @author Andrus Adamchik
+ */
+public class ConnectionProperties {
+
+    static final Logger logObj = Logger.getLogger(ConnectionProperties.class);
+
+    public static final String EMBEDDED_DATASOURCE = "internal_embedded_datasource";
+    public static final String EMBEDDED_DATASOURCE_DBADAPTER = "org.objectstyle.cayenne.dba.hsqldb.HSQLDBAdapter";
+    public static final String EMBEDDED_DATASOURCE_USERNAME = "sa";
+    public static final String EMBEDDED_DATASOURCE_PASSWORD = "";
+    public static final String EMBEDDED_DATASOURCE_URL = "jdbc:hsqldb:mem:aname";
+    public static final String EMBEDDED_DATASOURCE_JDBC_DRIVER = "org.hsqldb.jdbcDriver";
+
+    public static final String PROPERTIES_FILE = "connection.properties";
+    public static final String ADAPTER_KEY = "cayenne.adapter";
+    public static final String USER_NAME_KEY = "jdbc.username";
+    public static final String PASSWORD_KEY = "jdbc.password";
+    public static final String URL_KEY = "jdbc.url";
+    public static final String DRIVER_KEY = "jdbc.driver";
+
+    protected static ConnectionProperties sharedInstance;
+    protected Map connectionInfos = Collections.synchronizedMap(new HashMap());
+
+    static {
+        sharedInstance = loadDefaultProperties();
+    }
+
+    /**
+     * Returns ConnectionProperties singleton.
+     */
+    public static ConnectionProperties getInstance() {
+        return sharedInstance;
+    }
+
+    /**
+     * Loads connection properties from $HOME/.cayenne/connection.properties.
+     */
+    protected static ConnectionProperties loadDefaultProperties() {
+        File f = CayenneUserDir.getInstance().resolveFile(PROPERTIES_FILE);
+
+        try {
+            if (f.exists()) {
+                return new ConnectionProperties(new ExtendedProperties(f
+                        .getAbsolutePath()));
+            }
+            else {
+                // lets touch this file so that users would get a clue of what it is
+                createSamplePropertiesFile(f);
+            }
+        }
+        catch (IOException e) {
+            logObj.warn("Error loading connection properties. Ignoring..", e);
+        }
+
+        return new ConnectionProperties(new ExtendedProperties());
+    }
+
+    protected static void createSamplePropertiesFile(File f) throws IOException {
+        BufferedWriter out = new BufferedWriter(new FileWriter(f));
+
+        try {
+            out.write("# Cayenne named connections configuration file.");
+            out.newLine();
+
+            out.write("#");
+            out.newLine();
+            out.write("# Sample named connections (named 'example1' and 'example2'): ");
+            out.newLine();
+
+            out.write("#");
+            out.newLine();
+            out.write("# example1."
+                    + ADAPTER_KEY
+                    + " = org.objectstyle.cayenne.dba.mysql.MySQLAdapter");
+            out.newLine();
+            out.write("# example1." + USER_NAME_KEY + " = some_user");
+            out.newLine();
+            out.write("# example1." + PASSWORD_KEY + " = some_passwd");
+            out.newLine();
+            out.write("# example1." + URL_KEY + " = jdbc:mysql://noise/cayenne");
+            out.newLine();
+            out.write("# example1." + DRIVER_KEY + " = org.gjt.mm.mysql.Driver");
+            out.newLine();
+
+            // example 2
+            out.write("#");
+            out.newLine();
+            out.write("# example2."
+                    + ADAPTER_KEY
+                    + " = org.objectstyle.cayenne.dba.mysql.MySQLAdapter");
+            out.newLine();
+            out.write("# example2." + USER_NAME_KEY + " = some_user");
+            out.newLine();
+            out.write("# example2." + PASSWORD_KEY + " = some_passwd");
+            out.newLine();
+            out.write("# example2." + URL_KEY + " = jdbc:mysql://noise/cayenne");
+            out.newLine();
+            out.write("# example2." + DRIVER_KEY + " = org.gjt.mm.mysql.Driver");
+            out.newLine();
+        }
+        finally {
+            out.close();
+        }
+    }
+
+    /**
+     * Constructor for ConnectionProperties.
+     */
+    public ConnectionProperties(ExtendedProperties props) {
+        Iterator names = extractNames(props).iterator();
+        while (names.hasNext()) {
+            String name = (String) names.next();
+            DataSourceInfo dsi = buildDataSourceInfo(props.subset(name));
+            connectionInfos.put(name, dsi);
+        }
+    }
+
+    /**
+     * Returns DataSourceInfo object for a symbolic name. If name does not match an
+     * existing object, returns null.
+     */
+    public DataSourceInfo getConnectionInfo(String name) {
+
+        if (EMBEDDED_DATASOURCE.equals(name)) {
+            // Create embedded data source instead
+            DataSourceInfo connectionInfo = new DataSourceInfo();
+            connectionInfo.setAdapterClassName(EMBEDDED_DATASOURCE_DBADAPTER);
+            connectionInfo.setUserName(EMBEDDED_DATASOURCE_USERNAME);
+            connectionInfo.setPassword(EMBEDDED_DATASOURCE_PASSWORD);
+            connectionInfo.setDataSourceUrl(EMBEDDED_DATASOURCE_URL);
+            connectionInfo.setJdbcDriver(EMBEDDED_DATASOURCE_JDBC_DRIVER);
+            return connectionInfo;
+        }
+
+        synchronized (connectionInfos) {
+            return (DataSourceInfo) connectionInfos.get(name);
+        }
+    }
+
+    /**
+     * Creates a DataSourceInfo object from a set of properties.
+     */
+    protected DataSourceInfo buildDataSourceInfo(ExtendedProperties props) {
+        DataSourceInfo dsi = new DataSourceInfo();
+
+        dsi.setAdapterClassName(props.getString(ADAPTER_KEY));
+        dsi.setUserName(props.getString(USER_NAME_KEY));
+        dsi.setPassword(props.getString(PASSWORD_KEY));
+        dsi.setDataSourceUrl(props.getString(URL_KEY));
+        dsi.setJdbcDriver(props.getString(DRIVER_KEY));
+
+        return dsi;
+    }
+
+    /**
+     * Returns a list of connection names configured in the properties object.
+     */
+    protected List extractNames(ExtendedProperties props) {
+        Iterator it = props.getKeys();
+        List list = new ArrayList();
+
+        while (it.hasNext()) {
+            String key = (String) it.next();
+
+            int dotInd = key.indexOf('.');
+            if (dotInd <= 0 || dotInd >= key.length()) {
+                continue;
+            }
+
+            String name = key.substring(0, dotInd);
+            if (!list.contains(name)) {
+                list.add(name);
+            }
+        }
+
+        return list;
+    }
+
+}

Added: incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/TestDataSourceFactory.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/TestDataSourceFactory.java?rev=408465&view=auto
==============================================================================
--- incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/TestDataSourceFactory.java (added)
+++ incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/TestDataSourceFactory.java Sun May 21 12:29:14 2006
@@ -0,0 +1,76 @@
+/*
+ *  Copyright 2006 The Apache Software Foundation
+ *
+ *  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.cayenne.profile;
+
+import javax.sql.DataSource;
+
+import org.apache.log4j.Level;
+import org.objectstyle.cayenne.CayenneRuntimeException;
+import org.objectstyle.cayenne.conf.Configuration;
+import org.objectstyle.cayenne.conf.DataSourceFactory;
+import org.objectstyle.cayenne.conn.DataSourceInfo;
+import org.objectstyle.cayenne.conn.PoolManager;
+
+/**
+ * A DataSourceFactory that loads connection info from connection properties, the same way
+ * unit tests do.
+ * 
+ * @author Andrus Adamchik
+ */
+public class TestDataSourceFactory implements DataSourceFactory {
+
+    // same as the one used in unit tests
+    public static final String CONNECTION_SET_PROPERTY = "cayenne.test.connection";
+
+    public static DataSourceInfo getDataSourceInfo() {
+        String connectionSet = getDataSourceName();
+        return ConnectionProperties.getInstance().getConnectionInfo(connectionSet);
+    }
+
+    public static String getDataSourceName() {
+        String connectionSet = System.getProperty(CONNECTION_SET_PROPERTY);
+        if (connectionSet == null) {
+            connectionSet = ConnectionProperties.EMBEDDED_DATASOURCE;
+        }
+
+        return connectionSet;
+    }
+
+    public DataSource getDataSource(String location) throws Exception {
+
+        DataSourceInfo dsi = getDataSourceInfo();
+
+        if (dsi == null) {
+            throw new CayenneRuntimeException("Connection info for key '"
+                    + getDataSourceName()
+                    + "' is not configured");
+        }
+
+        return new PoolManager(dsi.getJdbcDriver(), dsi.getDataSourceUrl(), dsi
+                .getMinConnections(), dsi.getMaxConnections(), dsi.getUserName(), dsi
+                .getPassword());
+    }
+
+    /**
+     * @deprecated since 1.2 super is deprecated
+     */
+    public DataSource getDataSource(String location, Level logLevel) throws Exception {
+        return getDataSource(location);
+    }
+
+    public void initializeWithParentConfiguration(Configuration conf) {
+    }
+}

Modified: incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/DeleteCase.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/DeleteCase.java?rev=408465&r1=408464&r2=408465&view=diff
==============================================================================
--- incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/DeleteCase.java (original)
+++ incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/DeleteCase.java Sun May 21 12:29:14 2006
@@ -18,8 +18,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.cayenne.profile.AbstractCase;
 import org.apache.cayenne.profile.entity.Entity1;
-import org.apache.cayenne.profile.servlet.AbstractCase;
 import org.objectstyle.cayenne.access.DataContext;
 import org.objectstyle.cayenne.query.SQLTemplate;
 

Modified: incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/InsertCase.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/InsertCase.java?rev=408465&r1=408464&r2=408465&view=diff
==============================================================================
--- incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/InsertCase.java (original)
+++ incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/InsertCase.java Sun May 21 12:29:14 2006
@@ -18,8 +18,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.cayenne.profile.AbstractCase;
 import org.apache.cayenne.profile.entity.Entity1;
-import org.apache.cayenne.profile.servlet.AbstractCase;
 import org.objectstyle.cayenne.access.DataContext;
 
 public class InsertCase extends AbstractCase {

Modified: incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/SelectCase.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/SelectCase.java?rev=408465&r1=408464&r2=408465&view=diff
==============================================================================
--- incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/SelectCase.java (original)
+++ incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/cases/SelectCase.java Sun May 21 12:29:14 2006
@@ -18,8 +18,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.cayenne.profile.AbstractCase;
 import org.apache.cayenne.profile.entity.Entity1;
-import org.apache.cayenne.profile.servlet.AbstractCase;
 import org.objectstyle.cayenne.access.DataContext;
 import org.objectstyle.cayenne.exp.Expression;
 import org.objectstyle.cayenne.query.SelectQuery;

Modified: incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/servlet/ProfileFilter.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/servlet/ProfileFilter.java?rev=408465&r1=408464&r2=408465&view=diff
==============================================================================
--- incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/servlet/ProfileFilter.java (original)
+++ incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/servlet/ProfileFilter.java Sun May 21 12:29:14 2006
@@ -15,19 +15,18 @@
  */
 package org.apache.cayenne.profile.servlet;
 
-import java.io.File;
-
 import javax.servlet.FilterConfig;
 import javax.servlet.ServletException;
 
+import org.apache.cayenne.profile.TestDataSourceFactory;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.objectstyle.cayenne.access.DataDomain;
 import org.objectstyle.cayenne.access.DataNode;
 import org.objectstyle.cayenne.access.DbGenerator;
 import org.objectstyle.cayenne.conf.Configuration;
+import org.objectstyle.cayenne.dba.DbAdapter;
 import org.objectstyle.cayenne.util.LocalizedStringsHandler;
-import org.objectstyle.cayenne.util.Util;
 
 /**
  * A filter that sets up DB schema.
@@ -38,20 +37,6 @@
 
     public synchronized void init(FilterConfig config) throws ServletException {
 
-        // remove old database
-        // store this value and log it after Cayenne logging is initialized.
-        boolean deletedOldDb = false;
-        File dbDir = new File("target/regression-db");
-        if (dbDir.isDirectory()) {
-            if (Util.delete(dbDir.getAbsolutePath(), true)) {
-                deletedOldDb = true;
-            }
-            
-            if (dbDir.isDirectory()) {
-                throw new ServletException("Can't delete the old database");
-            }
-        }
-
         // start Cayenne stack
         super.init(config);
 
@@ -59,14 +44,35 @@
         if (cayenneVersion == null) {
             cayenneVersion = "unknown";
         }
-        logger.info("Started Cayenne version - '" + cayenneVersion + "'");
-        if(deletedOldDb) {
-            logger.info("deleted old database");
-        }
 
-        // create fresh database
         DataDomain domain = Configuration.getSharedConfiguration().getDomain();
         DataNode node = domain.getNode("regression-profile");
+
+        // 1.1 doesn't have AutoAdapter - set the right adapter manually.
+        String adapterName = TestDataSourceFactory
+                .getDataSourceInfo()
+                .getAdapterClassName();
+
+        try {
+            node.setAdapter((DbAdapter) Class.forName(
+                    adapterName,
+                    true,
+                    Thread.currentThread().getContextClassLoader()).newInstance());
+        }
+        catch (Exception e) {
+            throw new ServletException("Error instantiating adapter - " + adapterName, e);
+        }
+
+        logger.info("Started Cayenne... Version - '"
+                + cayenneVersion
+                + "'; connection: '"
+                + TestDataSourceFactory.getDataSourceName()
+                + "'; adapter: '"
+                + adapterName
+                + "'");
+
+        // create fresh database
+
         DbGenerator generator = new DbGenerator(node.getAdapter(), domain
                 .getMap("regression-profile"));
         try {

Modified: incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/servlet/ProfileServlet.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/servlet/ProfileServlet.java?rev=408465&r1=408464&r2=408465&view=diff
==============================================================================
--- incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/servlet/ProfileServlet.java (original)
+++ incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/java/org/apache/cayenne/profile/servlet/ProfileServlet.java Sun May 21 12:29:14 2006
@@ -22,6 +22,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.cayenne.profile.AbstractCase;
 import org.objectstyle.cayenne.access.DataContext;
 
 /**

Modified: incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/resources/cayenne.xml
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/resources/cayenne.xml?rev=408465&r1=408464&r2=408465&view=diff
==============================================================================
--- incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/resources/cayenne.xml (original)
+++ incubator/cayenne/main/branches/STABLE-1-1/cayene-regression-profiler-1.1/src/main/resources/cayenne.xml Sun May 21 12:29:14 2006
@@ -4,9 +4,9 @@
 	<map name="regression-profile" location="regression-profile.map.xml"/>
 
 	<node name="regression-profile"
-		 datasource="regression-profile.driver.xml"
-		 adapter="org.objectstyle.cayenne.dba.hsqldb.HSQLDBAdapter"
-		 factory="org.objectstyle.cayenne.conf.DriverDataSourceFactory">
+		 datasource="regression-profile"
+		 adapter="org.objectstyle.cayenne.dba.JdbcAdapter"
+		 factory="org.apache.cayenne.profile.TestDataSourceFactory">
 			<map-ref name="regression-profile"/>
 	 </node>
 </domain>