// uniCenta oPOS - Touch Friendly Point Of Sale // Copyright (c) 2009-2013 uniCenta & previous Openbravo POS works // http://www.unicenta.net/unicentaopos // // This file is part of uniCenta oPOS // // uniCenta oPOS is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // uniCenta oPOS 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 General Public License for more details. // // You should have received a copy of the GNU General Public License // along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>. package com.openbravo.pos.forms; /** * * @author adrianromero */ public class BeanFactoryData implements BeanFactoryApp { private BeanFactoryApp bf; /** Creates a new instance of BeanFactoryData */ public BeanFactoryData() { } @Override public void init(AppView app) throws BeanFactoryException { try { String sfactoryname = this.getClass().getName(); if (sfactoryname.endsWith("Create")) { sfactoryname = sfactoryname.substring(0, sfactoryname.length() - 6); } bf = (BeanFactoryApp) Class.forName(sfactoryname + app.getSession().DB.getName()).newInstance(); bf.init(app); // JG 16 May use multicatch } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | BeanFactoryException ex) { throw new BeanFactoryException(ex); } } @Override public Object getBean() { return bf.getBean(); } }