Author: aadamchik
Date: Sun May 21 18:42:31 2006
New Revision: 408549
URL: http://svn.apache.org/viewvc?rev=408549&view=rev
Log:
adding setup profile case.
merging new cases to 1.1 branch
Added:
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/SetupCase.java
- copied, changed from r408541,
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/DeleteCase.java
Removed:
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/DeleteCase.java
Modified:
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/UpdateAttributeCase.java
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/servlet/ProfileFilter.java
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/jmeter/cayenne-profile.jmx
Copied:
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/SetupCase.java
(from r408541,
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/DeleteCase.java)
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/SetupCase.java?p2=incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/SetupCase.java&p1=incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/DeleteCase.java&r1=408541&r2=408549&rev=408549&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/DeleteCase.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/SetupCase.java
Sun May 21 18:42:31 2006
@@ -19,21 +19,40 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.cayenne.profile.AbstractCase;
-import org.apache.cayenne.profile.entity.Entity1;
+import org.objectstyle.cayenne.CayenneRuntimeException;
import org.objectstyle.cayenne.access.DataContext;
-import org.objectstyle.cayenne.query.SQLTemplate;
+import org.objectstyle.cayenne.access.DataDomain;
+import org.objectstyle.cayenne.access.DataNode;
+import org.objectstyle.cayenne.access.DbGenerator;
-public class DeleteCase extends AbstractCase {
+/**
+ * Performs initial database setup before running other tests. Essentially
drops and
+ * recreates the database.
+ *
+ * @author Andrus Adamchik
+ */
+public class SetupCase extends AbstractCase {
protected void doRequest(
DataContext context,
HttpServletRequest request,
HttpServletResponse response) {
- context
- .performGenericQuery(new SQLTemplate(Entity1.class, "delete
from ENTITY1"));
- context
- .performGenericQuery(new SQLTemplate(Entity1.class, "delete
from ENTITY3"));
- context
- .performGenericQuery(new SQLTemplate(Entity1.class, "delete
from ENTITY2"));
+
+ DataDomain domain = context.getParentDataDomain();
+ DataNode node = domain.getNode("regression-profile");
+ DbGenerator generator = new DbGenerator(node.getAdapter(), domain
+ .getMap("regression-profile"));
+
+ generator.setShouldCreateFKConstraints(true);
+ generator.setShouldCreatePKSupport(true);
+ generator.setShouldCreateTables(true);
+ generator.setShouldDropPKSupport(true);
+ generator.setShouldDropTables(true);
+ try {
+ generator.runGenerator(node.getDataSource());
+ }
+ catch (Exception e) {
+ throw new CayenneRuntimeException("Error generating schema", e);
+ }
}
}
Modified:
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/UpdateAttributeCase.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/UpdateAttributeCase.java?rev=408549&r1=408548&r2=408549&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/UpdateAttributeCase.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/cases/UpdateAttributeCase.java
Sun May 21 18:42:31 2006
@@ -31,6 +31,8 @@
DataContext context,
HttpServletRequest request,
HttpServletResponse response) {
+
+
for (int i = 600; i < 1100; i++) {
Entity1 o = (Entity1) DataObjectUtils.objectForPK(context,
Entity1.class, i);
Modified:
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/servlet/ProfileFilter.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/servlet/ProfileFilter.java?rev=408549&r1=408548&r2=408549&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/servlet/ProfileFilter.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/java/org/apache/cayenne/profile/servlet/ProfileFilter.java
Sun May 21 18:42:31 2006
@@ -21,10 +21,6 @@
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.conf.WebApplicationContextFilter;
import org.objectstyle.cayenne.util.LocalizedStringsHandler;
@@ -50,18 +46,5 @@
+ "'; connection: '"
+ TestDataSourceFactory.getDataSourceName()
+ "'");
-
- // create fresh database
- DataDomain domain = Configuration.getSharedConfiguration().getDomain();
- DataNode node = domain.getNode("regression-profile");
- DbGenerator generator = new DbGenerator(node.getAdapter(), domain
- .getMap("regression-profile"));
- try {
- generator.runGenerator(node.getDataSource());
- }
- catch (Exception e) {
- throw new ServletException("Error generating schema", e);
- }
-
}
}
Modified:
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/jmeter/cayenne-profile.jmx
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/jmeter/cayenne-profile.jmx?rev=408549&r1=408548&r2=408549&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/jmeter/cayenne-profile.jmx
(original)
+++
incubator/cayenne/main/trunk/cayenne-regression-profiler/src/main/jmeter/cayenne-profile.jmx
Sun May 21 18:42:31 2006
@@ -63,14 +63,14 @@
<boolProp name="TestElement.enabled">true</boolProp>
<boolProp name="LoopController.continue_forever">false</boolProp>
</elementProp>
- <stringProp name="TestElement.name">Prepare-Delete</stringProp>
+ <stringProp name="TestElement.name">Setup</stringProp>
<longProp name="ThreadGroup.end_time">1148151181000</longProp>
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
</ThreadGroup>
<hashTree>
<HTTPSampler>
- <stringProp
name="HTTPSampler.path">/cayenne-regression-profiler/profile/session/DeleteCase</stringProp>
+ <stringProp
name="HTTPSampler.path">/cayenne-regression-profiler/profile/session/SetupCase</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.protocol.http.sampler.HTTPSampler</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
@@ -88,7 +88,7 @@
<stringProp name="HTTPSampler.mimetype"></stringProp>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui</stringProp>
<stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
- <stringProp name="TestElement.name">DeleteRequest</stringProp>
+ <stringProp name="TestElement.name">SetupRequest</stringProp>
<stringProp name="HTTPSampler.monitor">false</stringProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.FILE_NAME"></stringProp>