/* * SSSync, a Simple and Stupid Synchronizer for data with multi-valued attributes * Copyright (C) 2014 Ludovic Pouzenc * * This file is part of SSSync. * * SSSync 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. * * SSSync 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 SSSync. If not, see */ package data.io; import conf.ConfigConnectionBean; import conf.ConfigConnectionsBean; import data.io.ldap.LDAPConnectionWrapper; import data.io.sql.SQLConnectionWrapper; /** * TODO javadoc * * @author lpouzenc */ public class SSSyncConnectionsFactory { /** * Setup all connections described in config * @return * @throws Exception */ public static ConnectionsHolder setupConnections(ConfigConnectionsBean confConn) throws Exception { ConnectionsHolder connections = new ConnectionsHolder(); for ( ConfigConnectionBean conn : confConn.getConnections() ) { switch (conn.getType()) { case jdbc: SQLConnectionWrapper connSQL = new SQLConnectionWrapper(conn.getDbms(), conn.getHost(), conn.getPort(), conn.getRess(), conn.getUser(), conn.getPass(), conn.getDb()); connections.putConnSQL(conn.getId(), connSQL); break; case ldap: LDAPConnectionWrapper connLDAP = new LDAPConnectionWrapper(conn.getHost(), conn.getPort(), conn.getBind(), conn.getPass()); connections.putConnLDAP(conn.getId(), connLDAP); break; default: //XXX : find better Exception type throw new Exception("Bad config : conn '" + conn.getId() + "' unsupported type"); } } return connections; } }