/* * jPOS Project [http://jpos.org] * Copyright (C) 2000-2017 jPOS Software SRL * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.jpos.gl.stress; import org.jpos.gl.*; import org.hibernate.Transaction; public class CreateAccounts extends TestBase { public void testCreateComposites () throws Exception { start ("testCreateComposites"); CompositeAccount cards = gls.getCompositeAccount ("TestChart", "23"); assertNotNull (cards); Transaction tx = gls.beginTransaction(); for (int i=0; i<10; i++) { Account acct = new CompositeAccount (); acct.setCode ("23" + "." + Integer.toString (i)); acct.setType (Account.CREDIT); acct.setDescription ("Group # " + i); gls.addAccount (cards, acct, true); gls.session().evict (acct); } end ("testCreateComposites"); tx.commit(); gls.session().evict (cards); for (int i=0; i<10; i++) { createFinals (i); } } private void createFinals (int n) throws Exception { CompositeAccount parent = gls.getCompositeAccount ("TestChart", "23." + n); assertNotNull (parent); Transaction tx = gls.beginTransaction(); start (); for (int i=0; i<100; i++) { Account acct = new FinalAccount (); acct.setCode ("23" + "." + n + "." + Integer.toString (i)); acct.setType (Account.CREDIT); acct.setDescription ("Card # " + acct.getCode()); gls.addAccount (parent , acct, true); gls.session().evict (acct); } checkPoint ("pre-commit " + n); tx.commit(); checkPoint ("commit " + n); gls.session().evict (parent); } }