Dépôt officiel du code source de l'ERP OpenConcerto
Rev 156 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.utils;
import org.openconcerto.erp.config.ComptaPropsConfiguration;
import org.openconcerto.erp.config.MainFrame;
import org.openconcerto.sql.Configuration;
import org.openconcerto.sql.model.DBRoot;
import org.openconcerto.utils.i18n.TranslationManager;
public class HeadlessGestion {
private final ComptaPropsConfiguration comptaPropsConfiguration;
public HeadlessGestion() {
this.comptaPropsConfiguration = ComptaPropsConfiguration.create();
}
public HeadlessGestion setup(int userId, int companyId) {
try {
this.comptaPropsConfiguration.getUserManager().setCurrentUserID(userId);
this.comptaPropsConfiguration.setUpSocieteDataBaseConnexion(companyId);
// finish filling the configuration before going any further, otherwise the
// SQLElementDirectory is not coherent
this.comptaPropsConfiguration.getModuleManager().init();
} catch (Exception e) {
throw new IllegalStateException("Unable to configure connection for userId: " + userId + " companyId: " + companyId, e);
}
return this;
}
public HeadlessGestion setupGlobalState(int userId, int companyId) {
// setUpSocieteDataBaseConnexion() called by setup() needs the directory and elements need
// Configuration.getInstance()
setGlobalState();
setup(userId, companyId);
return this;
}
public HeadlessGestion setGlobalState() {
System.setProperty("java.awt.headless", "true");
TranslationManager.addTranslationStreamFromClass(MainFrame.class);
TranslationManager.createDefaultInstance();
// TODO remove
Configuration.setInstance(this.comptaPropsConfiguration);
return this;
}
public ComptaPropsConfiguration getComptaPropsConfiguration() {
return this.comptaPropsConfiguration;
}
public DBRoot getCompanyRoot() {
return this.comptaPropsConfiguration.getRootSociete();
}
public DBRoot getCommonRoot() {
return this.comptaPropsConfiguration.getRoot();
}
}