diff --git a/Topic1/pom.xml b/Topic1/pom.xml new file mode 100644 index 0000000..53e7c15 --- /dev/null +++ b/Topic1/pom.xml @@ -0,0 +1,35 @@ + + + 4.0.0 + + + noTest + + true + + + + + bootcampGlobant-java + Topic1 + 1.0-SNAPSHOT + + + + junit + junit + 4.12 + + + log4j + log4j + 1.2.17 + + + + + + + \ No newline at end of file diff --git a/Topic1/src/main/java/Person.java b/Topic1/src/main/java/Person.java new file mode 100644 index 0000000..366b3bd --- /dev/null +++ b/Topic1/src/main/java/Person.java @@ -0,0 +1,40 @@ +public class Person { + String userName; + String password; + String dni; + + public Person(String userName) { + this.userName = userName; + } + + public Person(String myuserName, String mypassword, String myDni) { + this.userName = myuserName; + this.dni = myDni; + this.password = mypassword; + } + + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getDni() { + return dni; + } + + public void setDni(String dni) { + this.dni = dni; + } +} diff --git a/Topic1/src/test/java/myTest.java b/Topic1/src/test/java/myTest.java new file mode 100644 index 0000000..043f3f4 --- /dev/null +++ b/Topic1/src/test/java/myTest.java @@ -0,0 +1,14 @@ +import org.junit.Assert; +import org.junit.Test; + +public class myTest { + @Test + public void myFirstTest(){ + Person myPerson = new Person("name", "pass", "dni"); + Assert.assertNotNull(myPerson); + Assert.assertEquals(myPerson.getUserName(), "name"); + Assert.assertEquals(myPerson.getPassword(), "pass"); + Assert.assertEquals(myPerson.getDni(), "dni"); + } + +} diff --git a/topic0/AbstractFactory/ConnectionFactory.java b/topic0/AbstractFactory/ConnectionFactory.java new file mode 100644 index 0000000..c17fe74 --- /dev/null +++ b/topic0/AbstractFactory/ConnectionFactory.java @@ -0,0 +1,24 @@ +package AbstractFactory; + +import Drivers.DriverConnection; +import Drivers.MySQLDriverManager; +import Drivers.SQLDriverManager; + +public class ConnectionFactory extends ConnectionsAbstractFactory { + @Override + public DriverConnection getConnection(String SQL) { + if( SQL == null) { + return null; + } + + if(SQL.equalsIgnoreCase("MySql")) { + return new MySQLDriverManager(); + + } else if(SQL.equalsIgnoreCase("SqlServer")) { + return new SQLDriverManager(); + } + + return null; + + } +} diff --git a/topic0/AbstractFactory/ConnectionProducer.java b/topic0/AbstractFactory/ConnectionProducer.java new file mode 100644 index 0000000..b284dc4 --- /dev/null +++ b/topic0/AbstractFactory/ConnectionProducer.java @@ -0,0 +1,26 @@ +package AbstractFactory; + +import Connections.Connection; +import Drivers.MySQLDriverManager; +import Drivers.SQLDriverManager; + +public class ConnectionProducer { + private static Connection connection; + + public static Connection getConnection(String choise, String dataBase, String user, String password) { + if( choise == null) { + connection = null; + } + + if(choise.equalsIgnoreCase("MySql")) { + MySQLDriverManager mySql= new MySQLDriverManager(); + connection = mySql.getConnection(dataBase, user, password); + + } else if(choise.equalsIgnoreCase("SqlServer")) { + SQLDriverManager sqlServer = new SQLDriverManager(); + connection = sqlServer.getConnection(dataBase, user, password); + } + + return connection; + } +} diff --git a/topic0/AbstractFactory/ConnectionsAbstractFactory.java b/topic0/AbstractFactory/ConnectionsAbstractFactory.java new file mode 100644 index 0000000..e4b923f --- /dev/null +++ b/topic0/AbstractFactory/ConnectionsAbstractFactory.java @@ -0,0 +1,7 @@ +package AbstractFactory; + +import Drivers.DriverConnection; + +public abstract class ConnectionsAbstractFactory { + abstract DriverConnection getConnection(String SQL); +} diff --git a/topic0/Builder/Builder.java b/topic0/Builder/Builder.java new file mode 100644 index 0000000..87acee8 --- /dev/null +++ b/topic0/Builder/Builder.java @@ -0,0 +1,9 @@ +package Builder; + +import Connections.DataBaseConnection; + +public interface Builder { + + public DataBaseConnection getConnection(); + +} diff --git a/topic0/Builder/Director.java b/topic0/Builder/Director.java new file mode 100644 index 0000000..3c79f76 --- /dev/null +++ b/topic0/Builder/Director.java @@ -0,0 +1,14 @@ +package Builder; + +public class Director { + private Builder connectionBuilder = null; + + public Director(Builder mealBuilder) { + this.connectionBuilder = mealBuilder; + } + + public void constructConnection() { + connectionBuilder.getConnection(); + } + +} diff --git a/topic0/Builder/MySQLBuilder.java b/topic0/Builder/MySQLBuilder.java new file mode 100644 index 0000000..a6d735b --- /dev/null +++ b/topic0/Builder/MySQLBuilder.java @@ -0,0 +1,19 @@ +package Builder; + +import Connections.DataBaseConnection; + +public class MySQLBuilder implements Builder{ + + private DataBaseConnection myConnection; + + public MySQLBuilder(String dataBase) { + myConnection.getInstance("MySql", dataBase , "sara", "myConnection"); + } + + @Override + public DataBaseConnection getConnection() { + return myConnection; + } + + +} diff --git a/topic0/Connections/Connection.java b/topic0/Connections/Connection.java new file mode 100644 index 0000000..451b0ce --- /dev/null +++ b/topic0/Connections/Connection.java @@ -0,0 +1,18 @@ +package Connections; + +public class Connection { + + private static Boolean connect = false; + private String dataBase = "testingDataBase"; + private String user = "sara"; + private String password = "myConnection"; + + public Connection(String database, String user, String password) { + if(this.dataBase.equals(database) && this.user.equals(user) && this.password.equals(password) ) { + connect = true; + }else { + System.out.print("You have an error in your connection. Please, try again later"); + } + } + +} diff --git a/topic0/Connections/DataBaseConnection.java b/topic0/Connections/DataBaseConnection.java new file mode 100644 index 0000000..1a76e80 --- /dev/null +++ b/topic0/Connections/DataBaseConnection.java @@ -0,0 +1,45 @@ +package Connections; + +import AbstractFactory.ConnectionProducer; + +public class DataBaseConnection { + + private Connection myConnection; + private static DataBaseConnection dataBaseConnection = null; + + private DataBaseConnection(){ + try { + myConnection = ConnectionProducer.getConnection("MySql","testingDataBase", "sara", "myConnection"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + public static DataBaseConnection getInstance() { + if(dataBaseConnection == null) { + dataBaseConnection = new DataBaseConnection(); + } + return dataBaseConnection; + } + + //Builder Patron methods + private DataBaseConnection(String odbc, String dataBase, String user, String password) { + try { + myConnection = ConnectionProducer.getConnection(odbc, dataBase, user, password); + }catch(Exception e) { + e.printStackTrace();} + } + + public static DataBaseConnection getInstance(String odbc, String dataBase, String user, String password) { + if(dataBaseConnection == null) { + dataBaseConnection = new DataBaseConnection(odbc, dataBase, user, password); + } + return dataBaseConnection; + } + + public Connection getConnection() { + return myConnection; + } + +} diff --git a/topic0/Drivers/DriverConnection.java b/topic0/Drivers/DriverConnection.java new file mode 100644 index 0000000..0cf0431 --- /dev/null +++ b/topic0/Drivers/DriverConnection.java @@ -0,0 +1,7 @@ +package Drivers; + +import Connections.Connection; + +public interface DriverConnection { + public Connection getConnection(String dataBase, String u, String p); +} diff --git a/topic0/Drivers/MySQLDriverManager.java b/topic0/Drivers/MySQLDriverManager.java new file mode 100644 index 0000000..153bf1f --- /dev/null +++ b/topic0/Drivers/MySQLDriverManager.java @@ -0,0 +1,13 @@ +package Drivers; + +import Connections.Connection; + +public class MySQLDriverManager implements DriverConnection{ + public MySQLDriverManager() { + } + + public Connection getConnection(String dataBase, String user, String password) { + return new Connection(dataBase, user, password); + } + +} diff --git a/topic0/Drivers/SQLDriverManager.java b/topic0/Drivers/SQLDriverManager.java new file mode 100644 index 0000000..889df1b --- /dev/null +++ b/topic0/Drivers/SQLDriverManager.java @@ -0,0 +1,14 @@ +package Drivers; + +import Connections.Connection; + +public class SQLDriverManager implements DriverConnection{ + + public SQLDriverManager() { + } + + public Connection getConnection(String dataBase, String user, String password) { + return new Connection(dataBase, user, password); + } + +} diff --git a/topic0/Main.java b/topic0/Main.java new file mode 100644 index 0000000..9b6427f --- /dev/null +++ b/topic0/Main.java @@ -0,0 +1,13 @@ + +public class Main { + + public static void main(String[] args) { + Proxy aConnection = new Proxy(); + if(aConnection.mySqlConnection()) + System.out.print("i'm functioning"); + else + System.out.print("I failed"); + + } + +} diff --git a/topic0/Proxy.java b/topic0/Proxy.java new file mode 100644 index 0000000..c524582 --- /dev/null +++ b/topic0/Proxy.java @@ -0,0 +1,28 @@ +import Builder.Director; +import Builder.MySQLBuilder; +import Connections.DataBaseConnection; + +public class Proxy { + Director myConnectionDirector = null; + + public Proxy() {} + + /** This method return true if the connection was done + * or false if there was any error. + * */ + public boolean mySqlConnection(){ + boolean result=false; + try { + if(myConnectionDirector == null) { + MySQLBuilder mysql = new MySQLBuilder("testingDataBase"); + this.myConnectionDirector = new Director(mysql); + this.myConnectionDirector.constructConnection(); + } + result=true; + }catch(Exception e) { + e.printStackTrace(); + } + return result; + } + +}