/*
* Copyright 2005 Ralf Joachim
*
* 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.castor.cpaptf.rel1toN;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.exolab.castor.jdo.Database;
import org.exolab.castor.jdo.JDOManager;
import org.exolab.castor.jdo.OQLQuery;
import org.exolab.castor.jdo.QueryResults;
/**
* @author <a href="mailto:ralf DOT joachim AT syscon DOT eu">Ralf Joachim</a>
* @version $Revision:6817 $ $Date: 2005-06-24 19:41:08 -0600 (Fri, 24 Jun 2005) $
*/
public final class TestRemove extends TestCase {
private static final String JDO_CONF_FILE = "uni-jdo-conf.xml";
private static final String DATABASE_NAME = "rel1toN_uni";
private static final Log LOG = LogFactory.getLog(TestRemove.class);
private static boolean _logHeader = false;
private JDOManager _jdo = null;
public static Test suite() throws Exception {
String config = TestRemove.class.getResource(JDO_CONF_FILE).toString();
JDOManager.loadConfiguration(config, TestRemove.class.getClassLoader());
TestSuite suite = new TestSuite("Remove ptf.jdo.rel1toN test objects");
suite.addTest(new TestRemove("testRemoveService"));
suite.addTest(new TestRemove("testRemoveEquipment"));
suite.addTest(new TestRemove("testRemoveType"));
suite.addTest(new TestRemove("testRemoveSupplier"));
suite.addTest(new TestRemove("testRemoveReason"));
suite.addTest(new TestRemove("testRemoveDepartment"));
suite.addTest(new TestRemove("testRemoveState"));
return suite;
}
public TestRemove() {
super();
}
public TestRemove(final String name) {
super(name);
}
protected void setUp() throws Exception {
super.setUp();
if (!_logHeader) {
LOG.info("");
LOG.info("");
LOG.info("TestRemove (" + (int) (10000 * TestCreate.FACTOR) + ")");
LOG.info("");
_logHeader = true;
}
_jdo = JDOManager.createInstance(DATABASE_NAME);
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void testRemoveState() throws Exception {
long time = System.currentTimeMillis();
int count = 0;
Database db = _jdo.getDatabase();
db.begin();
OQLQuery query = db.getOQLQuery("SELECT o FROM "
+ State.class.getName() + " o");
QueryResults results = query.execute();
while (results.hasMore()) {
db.remove(results.next());
count++;
}
db.commit();
db.close();
LOG.info("Removed " + count + " state objects in "
+ (System.currentTimeMillis() - time) + "ms.");
}
public void testRemoveDepartment() throws Exception {
long time = System.currentTimeMillis();
int count = 0;
Database db = _jdo.getDatabase();
db.begin();
OQLQuery query = db.getOQLQuery("SELECT o FROM "
+ Department.class.getName() + " o");
QueryResults results = query.execute();
while (results.hasMore()) {
db.remove(results.next());
count++;
}
db.commit();
db.close();
LOG.info("Removed " + count + " department objects in "
+ (System.currentTimeMillis() - time) + "ms.");
}
public void testRemoveReason() throws Exception {
long time = System.currentTimeMillis();
int count = 0;
Database db = _jdo.getDatabase();
db.begin();
OQLQuery query = db.getOQLQuery("SELECT o FROM "
+ Reason.class.getName() + " o");
QueryResults results = query.execute();
while (results.hasMore()) {
db.remove(results.next());
count++;
}
db.commit();
db.close();
LOG.info("Removed " + count + " reason objects in "
+ (System.currentTimeMillis() - time) + "ms.");
}
public void testRemoveSupplier() throws Exception {
long time = System.currentTimeMillis();
int count = 0;
Database db = _jdo.getDatabase();
db.begin();
OQLQuery query = db.getOQLQuery("SELECT o FROM "
+ Supplier.class.getName() + " o");
QueryResults results = query.execute();
while (results.hasMore()) {
db.remove(results.next());
count++;
}
db.commit();
db.close();
LOG.info("Removed " + count + " supplier objects in "
+ (System.currentTimeMillis() - time) + "ms.");
}
public void testRemoveType() throws Exception {
long time = System.currentTimeMillis();
int count = 0;
Database db = _jdo.getDatabase();
db.begin();
OQLQuery query = db.getOQLQuery("SELECT o FROM "
+ Type.class.getName() + " o");
QueryResults results = query.execute();
while (results.hasMore()) {
db.remove(results.next());
count++;
}
db.commit();
db.close();
LOG.info("Removed " + count + " type objects in "
+ (System.currentTimeMillis() - time) + "ms.");
}
public void testRemoveEquipment() throws Exception {
long time = System.currentTimeMillis();
int count = 0;
Database db = _jdo.getDatabase();
db.begin();
OQLQuery query = db.getOQLQuery("SELECT o FROM "
+ Equipment.class.getName() + " o");
QueryResults results = query.execute();
while (results.hasMore()) {
db.remove(results.next());
count++;
}
db.commit();
db.close();
LOG.info("Removed " + count + " equipment objects in "
+ (System.currentTimeMillis() - time) + "ms.");
}
public void testRemoveService() throws Exception {
long time = System.currentTimeMillis();
int count = 0;
Database db = _jdo.getDatabase();
db.begin();
OQLQuery query = db.getOQLQuery("SELECT o FROM "
+ Service.class.getName() + " o");
QueryResults results = query.execute();
while (results.hasMore()) {
db.remove(results.next());
count++;
}
db.commit();
db.close();
LOG.info("Removed " + count + " service objects in "
+ (System.currentTimeMillis() - time) + "ms.");
}
}