summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2014-10-23 12:27:48 +0200
committerLudovic Pouzenc <ludovic@pouzenc.fr>2015-04-14 07:44:58 +0200
commit2d9677e1f38455ca62a367a57d0a8ed265da7c94 (patch)
treefe0931245fa0175e3e1b8d81bba70937e7a3d5c4
parent00f00b1055fa95d10360d1423d9c5f74c438fd2e (diff)
downloadsssync-2d9677e1f38455ca62a367a57d0a8ed265da7c94.tar.gz
sssync-2d9677e1f38455ca62a367a57d0a8ed265da7c94.tar.bz2
sssync-2d9677e1f38455ca62a367a57d0a8ed265da7c94.zip
Connections : move factory near ConnectionsHolder (and out of conf
package
-rw-r--r--src/main/src/data/io/SSSyncConnectionsFactory.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/main/src/data/io/SSSyncConnectionsFactory.java b/src/main/src/data/io/SSSyncConnectionsFactory.java
new file mode 100644
index 0000000..07f19e9
--- /dev/null
+++ b/src/main/src/data/io/SSSyncConnectionsFactory.java
@@ -0,0 +1,62 @@
+/*
+ * SSSync, a Simple and Stupid Synchronizer for data with multi-valued attributes
+ * Copyright (C) 2014 Ludovic Pouzenc <ludovic@pouzenc.fr>
+ *
+ * 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 <http://www.gnu.org/licenses/>
+ */
+
+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;
+ }
+
+}