[jboss-svn-commits] JBL Code SVN: r30209 - labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/auction/test/basic.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Nov 18 13:30:41 EST 2009
Author: whitingjr
Date: 2009-11-18 13:30:40 -0500 (Wed, 18 Nov 2009)
New Revision: 30209
Modified:
labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/auction/test/basic/ProfiledStateTransitions.java
Log:
Updated to support postgreSQL
Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/auction/test/basic/ProfiledStateTransitions.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/auction/test/basic/ProfiledStateTransitions.java 2009-11-18 18:29:24 UTC (rev 30208)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/auction/test/basic/ProfiledStateTransitions.java 2009-11-18 18:30:40 UTC (rev 30209)
@@ -51,6 +51,11 @@
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.operation.DatabaseOperation;
import org.hibernate.SessionFactory;
+import org.hibernate.cfg.AnnotationConfiguration;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.cfg.Environment;
+import org.hibernate.impl.SessionFactoryImpl;
+import org.hibernate.tool.hbm2ddl.DatabaseMetadata;
import org.jboss.ejb3.embedded.EJB3StandaloneBootstrap;
import org.jboss.jbossts.performance.persistence.vendor.AbstractVendorControl;
import org.jboss.jbossts.performance.persistence.vendor.Constraint;
@@ -66,6 +71,25 @@
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
+import auction.model.Address;
+import auction.model.AddressEntity;
+import auction.model.Auditable;
+import auction.model.BankAccount;
+import auction.model.Bid;
+import auction.model.BillingDetails;
+import auction.model.CategorizedItem;
+import auction.model.CategorizedItemComponent;
+import auction.model.Category;
+import auction.model.Comment;
+import auction.model.CreditCard;
+import auction.model.CreditCardType;
+import auction.model.Item;
+import auction.model.ItemState;
+import auction.model.MonetaryAmount;
+import auction.model.Rating;
+import auction.model.Shipment;
+import auction.model.ShipmentState;
+import auction.model.User;
import auction.test.EJB3IntegrationTest;
import com.mentorgen.tools.profile.runtime.Profile;
@@ -185,18 +209,23 @@
logger.debug("Setting Hibernate SessionFactory JNDI");
this.SESSION_FACTORY_JNDI = jndiSessionFactory;
}
-
+
@Override
+ public void startContainer(String deployBeansXml, String scanClasspath, String jndiDatasource, String jndiNameEMF,
+ String jndiNameUserTx) throws Exception
+ {/* Replace implementation to configure Hibernate Session Factory JNDI name. */}
+
@BeforeTest(groups = "integration-warmup")
@Parameters(
- {"deploy_beans_xml", "scan_classpath", "jndi_datasource", "jndi_name_emf", "jndi_name_usertx"})
+ {"deploy_beans_xml", "scan_classpath", "jndi_datasource", "jndi_name_emf", "jndi_name_usertx", "session_jndi"})
public void startContainer(String deployBeansXml, String scanClasspath, String jndiDatasource, String jndiNameEMF,
- String jndiNameUserTx) throws Exception
+ String jndiNameUserTx, String jndiNameHSF) throws Exception
{
// Set configuration options from TestNG parameters
JNDI_DATASOURCE = jndiDatasource;
JNDI_NAME_EMF = jndiNameEMF;
JNDI_NAME_USERTX = jndiNameUserTx;
+ this.SESSION_FACTORY_JNDI = jndiNameHSF;
// Boot the JBoss Microcontainer with EJB3 settings, automatically
// loads ejb3-interceptors-aop.xml and embedded-jboss-beans.xml
@@ -227,14 +256,28 @@
@Parameters ({"basedata_location"})
public void beforeTestMethod(String basedataLocation) throws Exception {
Profile.stop();
-
+ SessionFactoryImpl sessionFactory = null;
+ Configuration configuration = null;
+ String[] dropStatements = null;
+
Connection connectionConstraintModify = null;
try
{
if (null != this.integrityConstraint)
{
connectionConstraintModify = getConnection().getConnection();
- this.integrityConstraint.relax(connectionConstraintModify);
+ if (this.integrityConstraint.isDisablePreferedOverDrop())
+ {
+ this.integrityConstraint.relax(connectionConstraintModify);
+ }
+ else
+ {
+ sessionFactory = (SessionFactoryImpl) getSessionFactory();
+ configuration = getConfiguration();
+ dropStatements = configuration.generateDropSchemaScript(sessionFactory.getDialect());
+ this.integrityConstraint.relax(connectionConstraintModify, dropStatements);
+ }
+
((Purge) this.integrityConstraint).purge(connectionConstraintModify);
((SequenceSynchronizer) this.integrityConstraint).synchronize(connectionConstraintModify);
}
@@ -254,7 +297,9 @@
Connection connection = null;
try
{
- op.execute(getConnection(), dataSet);
+ idbConnection = getConnection();
+ connection = idbConnection.getConnection();
+ op.execute(idbConnection , dataSet);
}
catch (SQLException sqle)
{
@@ -262,16 +307,29 @@
}
finally
{
- DbUtils.closeQuietly(getConnection().getConnection());
+ DbUtils.closeQuietly(connection);
}
}
try
{
connectionConstraintModify = getConnection().getConnection();
- if (null != this.integrityConstraint)
+ if (null != this.integrityConstraint)
{
- this.integrityConstraint.constrain (connectionConstraintModify);
+ if (this.integrityConstraint.isDisablePreferedOverDrop())
+ {
+ this.integrityConstraint.constrain (connectionConstraintModify);
+ }
+ else
+ {
+ DatabaseMetadata metadata= new DatabaseMetadata(connectionConstraintModify, sessionFactory.getDialect());
+ configuration.setProperty(Environment.DIALECT, sessionFactory.getDialect().getClass().getName());
+
+ configuration.setProperty( Environment.TRANSACTION_STRATEGY, sessionFactory.getSettings().getTransactionFactory().getClass().getName());
+ configuration.setProperty( Environment.TRANSACTION_MANAGER_STRATEGY , sessionFactory.getSettings().getTransactionManagerLookup().getClass().getName());
+ String[] constrainStatements = configuration.generateSchemaUpdateScript(sessionFactory.getDialect(), metadata);
+ this.integrityConstraint.constrain (connectionConstraintModify,constrainStatements);
+ }
}
}
catch (SQLException sqle)
@@ -350,4 +408,29 @@
}
return returnValue;
}
+
+ private AnnotationConfiguration getConfiguration()
+ {
+ AnnotationConfiguration returnValue = new AnnotationConfiguration();
+ returnValue.addAnnotatedClass(Address.class);
+ returnValue.addAnnotatedClass(AddressEntity.class);
+ returnValue.addAnnotatedClass(Auditable.class);
+ returnValue.addAnnotatedClass(BankAccount.class);
+ returnValue.addAnnotatedClass(Bid.class);
+ returnValue.addAnnotatedClass(BillingDetails.class);
+ returnValue.addAnnotatedClass(CategorizedItem.class);
+ returnValue.addAnnotatedClass(CategorizedItemComponent.class);
+ returnValue.addAnnotatedClass(Category.class);
+ returnValue.addAnnotatedClass(Comment.class);
+ returnValue.addAnnotatedClass(CreditCard.class);
+ returnValue.addAnnotatedClass(CreditCardType.class);
+ returnValue.addAnnotatedClass(Item.class);
+ returnValue.addAnnotatedClass(ItemState.class);
+ returnValue.addAnnotatedClass(MonetaryAmount.class);
+ returnValue.addAnnotatedClass(Rating.class);
+ returnValue.addAnnotatedClass(Shipment.class);
+ returnValue.addAnnotatedClass(ShipmentState.class);
+ returnValue.addAnnotatedClass(User.class);
+ return returnValue;
+ }
}
More information about the jboss-svn-commits
mailing list