diff --git a/common/pom.xml b/common/pom.xml index 1cf10fa..ae7fc5a 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -8,19 +8,6 @@ common ${project.artifactId} - - - junit - junit - test - - - org.apache.derby - derby - test - true - - ${project.artifactId} diff --git a/jdbcmapper/pom.xml b/jdbcmapper/pom.xml index 223006b..4d483a3 100644 --- a/jdbcmapper/pom.xml +++ b/jdbcmapper/pom.xml @@ -15,24 +15,11 @@ ${project.version} ${jar.classifier} - - ${project.groupId} - querymapper - ${project.version} - test-jar - test - junit junit test - - org.apache.derby - derby - test - true - ${project.artifactId} @@ -46,33 +33,16 @@ - my-testCompile - test-compile - - testCompile - + default-compile - - com.moparisthebest.jdbc.codegen.JdbcMapperProcessor - + -proc:none + + ** + - - maven-jar-plugin - - - - test-jar - - test-compile - - - - ${basedir}/target - - diff --git a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java index c8770c1..73ffbd9 100644 --- a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java +++ b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java @@ -31,7 +31,12 @@ import static com.moparisthebest.jdbc.codegen.JdbcMapperFactory.SUFFIX; */ @SupportedAnnotationTypes("com.moparisthebest.jdbc.codegen.JdbcMapper.Mapper") @SupportedOptions({"jdbcMapper.databaseType", "jdbcMapper.arrayNumberTypeName", "jdbcMapper.arrayStringTypeName", "jdbcMapper.allowedMaxRowParamNames", "jdbcMapper.sqlCheckerClass"}) -@SupportedSourceVersion(SourceVersion.RELEASE_5) +//IFJAVA8_START +@SupportedSourceVersion(SourceVersion.RELEASE_8) +//IFJAVA8_END +/*IFJAVA6_START +@SupportedSourceVersion(SourceVersion.RELEASE_6) +IFJAVA6_END*/ public class JdbcMapperProcessor extends AbstractProcessor { public static final Pattern paramPattern = Pattern.compile("\\{(([^\\s]+)\\s+(([Nn][Oo][Tt]\\s+)?[Ii][Nn]\\s+))?([BbCc][Ll][Oo][Bb]\\s*:\\s*([^:}]+\\s*:\\s*)?)?([^}]+)\\}"); diff --git a/jdbcmapper/src/main/resources/META-INF.services/javax.annotation.processing.Processor b/jdbcmapper/src/main/resources/META-INF/services/javax.annotation.processing.Processor similarity index 100% rename from jdbcmapper/src/main/resources/META-INF.services/javax.annotation.processing.Processor rename to jdbcmapper/src/main/resources/META-INF/services/javax.annotation.processing.Processor diff --git a/pom.xml b/pom.xml index 210641e..701959d 100644 --- a/pom.xml +++ b/pom.xml @@ -194,6 +194,7 @@ runtime-compiler querymapper jdbcmapper + test @@ -250,6 +251,7 @@ 1.6 **/module-info.java + **/PrestoPersonDAO.java @@ -260,6 +262,8 @@ **/module-info.java + **/PrestoPersonDAOTest.java + **/PrestoSQLParserTest.java @@ -287,6 +291,7 @@ querymapper jdbcmapper presto-sqlparser + test diff --git a/presto-sqlparser/genPrestoPersonDAO.sh b/presto-sqlparser/genPrestoPersonDAO.sh deleted file mode 100755 index 044882e..0000000 --- a/presto-sqlparser/genPrestoPersonDAO.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -cd "$(dirname "$0")" - -sed -e 's/PersonDAO extends JdbcMapper/PrestoPersonDAO extends PersonDAO/' -e 's@// , sqlParser = SimpleSQLParser.class@ , sqlParser = PrestoSQLParser.class@' ../jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/PersonDAO.java > src/test/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java - diff --git a/presto-sqlparser/pom.xml b/presto-sqlparser/pom.xml index b006a8c..059db3c 100644 --- a/presto-sqlparser/pom.xml +++ b/presto-sqlparser/pom.xml @@ -20,30 +20,6 @@ presto-parser 0.177 - - ${project.groupId} - jdbcmapper - ${project.version} - test-jar - test - - - ${project.groupId} - querymapper - ${project.version} - test-jar - test - - - junit - junit - test - - - org.apache.derby - derby - test - ${project.artifactId} @@ -56,20 +32,6 @@ true - - - my-testCompile - test-compile - - testCompile - - - - com.moparisthebest.jdbc.codegen.JdbcMapperProcessor - - - - diff --git a/presto-sqlparser/src/test/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAOTest.java b/presto-sqlparser/src/test/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAOTest.java deleted file mode 100644 index 601ebd9..0000000 --- a/presto-sqlparser/src/test/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAOTest.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.moparisthebest.jdbc.codegen; - -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import static com.moparisthebest.jdbc.QueryMapperTest.fieldPerson1; -import static com.moparisthebest.jdbc.QueryMapperTest.getConnection; -import static com.moparisthebest.jdbc.TryClose.tryClose; -import static org.junit.Assert.assertEquals; - -/** - * Created by mopar on 5/24/17. - */ -public class PrestoPersonDAOTest extends JdbcMapperTest { - - @BeforeClass - public static void setUp() throws Throwable { - dao = JdbcMapperFactory.create(PrestoPersonDAO.class, getConnection()); - //dao = new com.moparisthebest.jdbc.codegen.PersonDAOBean(getConnection()); - } - - @AfterClass - public static void tearDown() throws Throwable { - tryClose(dao); - } -} diff --git a/querymapper/pom.xml b/querymapper/pom.xml index 986e15f..71d4d78 100644 --- a/querymapper/pom.xml +++ b/querymapper/pom.xml @@ -26,31 +26,9 @@ junit test - - org.apache.derby - derby - test - true - ${project.artifactId} - - - maven-jar-plugin - - - - test-jar - - test-compile - - - - ${basedir}/target - - - diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/SimpleApp.java b/querymapper/src/test/java/com/moparisthebest/jdbc/SimpleApp.java deleted file mode 100644 index c9061d4..0000000 --- a/querymapper/src/test/java/com/moparisthebest/jdbc/SimpleApp.java +++ /dev/null @@ -1,488 +0,0 @@ -package com.moparisthebest.jdbc; - -/* - - Derby - Class SimpleApp - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - */ - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; - -import java.util.ArrayList; -import java.util.Properties; - - -/** - *

- * This sample program is a minimal Java application showing JDBC access to a - * Derby database.

- *

- * Instructions for how to run this program are - * given in example.html, by default located in the - * same directory as this source file ($DERBY_HOME/demo/programs/simple/).

- *

- * Derby applications can run against Derby running in an embedded - * or a client/server framework.

- *

- * When Derby runs in an embedded framework, the JDBC application and Derby - * run in the same Java Virtual Machine (JVM). The application - * starts up the Derby engine.

- *

- * When Derby runs in a client/server framework, the application runs in a - * different JVM from Derby. The application only needs to load the client - * driver, and the connectivity framework (in this case the Derby Network - * Server) provides network connections.

- */ -public class SimpleApp -{ - /* the default framework is embedded*/ - private String framework = "embedded"; - private String driver = "org.apache.derby.jdbc.EmbeddedDriver"; - private String protocol = "jdbc:derby:"; - - /** - *

- * Starts the demo by creating a new instance of this class and running - * the go() method.

- *

- * When you run this application, you may give one of the following - * arguments: - *

    -
  • embedded - default, if none specified. Will use - * Derby's embedded driver. This driver is included in the derby.jar - * file.
  • - *
  • derbyclient - will use the Derby client driver to - * access the Derby Network Server. This driver is included in the - * derbyclient.jar file.
  • - *
- *

- * When you are using a client/server framework, the network server must - * already be running when trying to obtain client connections to Derby. - * This demo program will will try to connect to a network server on this - * host (the localhost), see the protocol instance variable. - *

- *

- * When running this demo, you must include the correct driver in the - * classpath of the JVM. See example.html for - * details. - *

- * @param args This program accepts one optional argument specifying which - * connection framework (JDBC driver) to use (see above). The default - * is to use the embedded JDBC driver. - */ - public static void main(String[] args) - { - new SimpleApp().go(args); - System.out.println("SimpleApp finished"); - } - - /** - *

- * Starts the actual demo activities. This includes loading the correct - * JDBC driver, creating a database by making a connection to Derby, - * creating a table in the database, and inserting, updating and retrieving - * some data. Some of the retrieved data is then verified (compared) against - * the expected results. Finally, the table is deleted and, if the embedded - * framework is used, the database is shut down.

- *

- * Generally, when using a client/server framework, other clients may be - * (or want to be) connected to the database, so you should be careful about - * doing shutdown unless you know that no one else needs to access the - * database until it is rebooted. That is why this demo will not shut down - * the database unless it is running Derby embedded.

- * - * @param args - Optional argument specifying which framework or JDBC driver - * to use to connect to Derby. Default is the embedded framework, - * see the main() method for details. - * @see #main(String[]) - */ - void go(String[] args) - { - /* parse the arguments to determine which framework is desired*/ - parseArguments(args); - - System.out.println("SimpleApp starting in " + framework + " mode"); - - /* load the desired JDBC driver */ - loadDriver(); - - /* We will be using Statement and PreparedStatement objects for - * executing SQL. These objects, as well as Connections and ResultSets, - * are resources that should be released explicitly after use, hence - * the try-catch-finally pattern used below. - * We are storing the Statement and Prepared statement object references - * in an array list for convenience. - */ - Connection conn = null; - /* This ArrayList usage may cause a warning when compiling this class - * with a compiler for J2SE 5.0 or newer. We are not using generics - * because we want the source to support J2SE 1.4.2 environments. */ - ArrayList statements = new ArrayList(); // list of Statements, PreparedStatements - PreparedStatement psInsert = null; - PreparedStatement psUpdate = null; - Statement s = null; - ResultSet rs = null; - try - { - Properties props = new Properties(); // connection properties - // providing a user name and password is optional in the embedded - // and derbyclient frameworks - props.put("user", "user1"); - props.put("password", "user1"); - - /* By default, the schema APP will be used when no username is - * provided. - * Otherwise, the schema name is the same as the user name (in this - * case "user1" or USER1.) - * - * Note that user authentication is off by default, meaning that any - * user can connect to your database using any password. To enable - * authentication, see the Derby Developer's Guide. - */ - - String dbName = "derbyDB"; // the name of the database - - /* - * This connection specifies create=true in the connection URL to - * cause the database to be created when connecting for the first - * time. To remove the database, remove the directory derbyDB (the - * same as the database name) and its contents. - * - * The directory derbyDB will be created under the directory that - * the system property derby.system.home points to, or the current - * directory (user.dir) if derby.system.home is not set. - */ - conn = DriverManager.getConnection(protocol + dbName - + ";create=true", props); - - System.out.println("Connected to and created database " + dbName); - - // We want to control transactions manually. Autocommit is on by - // default in JDBC. - conn.setAutoCommit(false); - - /* Creating a statement object that we can use for running various - * SQL statements commands against the database.*/ - s = conn.createStatement(); - statements.add(s); - - // We create a table... - s.execute("create table location(num int, addr varchar(40))"); - System.out.println("Created table location"); - - // and add a few rows... - - /* It is recommended to use PreparedStatements when you are - * repeating execution of an SQL statement. PreparedStatements also - * allows you to parameterize variables. By using PreparedStatements - * you may increase performance (because the Derby engine does not - * have to recompile the SQL statement each time it is executed) and - * improve security (because of Java type checking). - */ - // parameter 1 is num (int), parameter 2 is addr (varchar) - psInsert = conn.prepareStatement( - "insert into location values (?, ?)"); - statements.add(psInsert); - - psInsert.setInt(1, 1956); - psInsert.setString(2, "Webster St."); - psInsert.executeUpdate(); - System.out.println("Inserted 1956 Webster"); - - psInsert.setInt(1, 1910); - psInsert.setString(2, "Union St."); - psInsert.executeUpdate(); - System.out.println("Inserted 1910 Union"); - - // Let's update some rows as well... - - // parameter 1 and 3 are num (int), parameter 2 is addr (varchar) - psUpdate = conn.prepareStatement( - "update location set num=?, addr=? where num=?"); - statements.add(psUpdate); - - psUpdate.setInt(1, 180); - psUpdate.setString(2, "Grand Ave."); - psUpdate.setInt(3, 1956); - psUpdate.executeUpdate(); - System.out.println("Updated 1956 Webster to 180 Grand"); - - psUpdate.setInt(1, 300); - psUpdate.setString(2, "Lakeshore Ave."); - psUpdate.setInt(3, 180); - psUpdate.executeUpdate(); - System.out.println("Updated 180 Grand to 300 Lakeshore"); - - - /* - We select the rows and verify the results. - */ - rs = s.executeQuery( - "SELECT num, addr FROM location ORDER BY num"); - - /* we expect the first returned column to be an integer (num), - * and second to be a String (addr). Rows are sorted by street - * number (num). - * - * Normally, it is best to use a pattern of - * while(rs.next()) { - * // do something with the result set - * } - * to process all returned rows, but we are only expecting two rows - * this time, and want the verification code to be easy to - * comprehend, so we use a different pattern. - */ - - int number; // street number retrieved from the database - boolean failure = false; - if (!rs.next()) - { - failure = true; - reportFailure("No rows in ResultSet"); - } - - if ((number = rs.getInt(1)) != 300) - { - failure = true; - reportFailure( - "Wrong row returned, expected num=300, got " + number); - } - - if (!rs.next()) - { - failure = true; - reportFailure("Too few rows"); - } - - if ((number = rs.getInt(1)) != 1910) - { - failure = true; - reportFailure( - "Wrong row returned, expected num=1910, got " + number); - } - - if (rs.next()) - { - failure = true; - reportFailure("Too many rows"); - } - - if (!failure) { - System.out.println("Verified the rows"); - } - - // delete the table - s.execute("drop table location"); - System.out.println("Dropped table location"); - - /* - We commit the transaction. Any changes will be persisted to - the database now. - */ - conn.commit(); - System.out.println("Committed the transaction"); - - /* - * In embedded mode, an application should shut down the database. - * If the application fails to shut down the database, - * Derby will not perform a checkpoint when the JVM shuts down. - * This means that it will take longer to boot (connect to) the - * database the next time, because Derby needs to perform a recovery - * operation. - * - * It is also possible to shut down the Derby system/engine, which - * automatically shuts down all booted databases. - * - * Explicitly shutting down the database or the Derby engine with - * the connection URL is preferred. This style of shutdown will - * always throw an SQLException. - * - * Not shutting down when in a client environment, see method - * Javadoc. - */ - - if (framework.equals("embedded")) - { - try - { - // the shutdown=true attribute shuts down Derby - DriverManager.getConnection("jdbc:derby:;shutdown=true"); - - // To shut down a specific database only, but keep the - // engine running (for example for connecting to other - // databases), specify a database in the connection URL: - //DriverManager.getConnection("jdbc:derby:" + dbName + ";shutdown=true"); - } - catch (SQLException se) - { - if (( (se.getErrorCode() == 50000) - && ("XJ015".equals(se.getSQLState()) ))) { - // we got the expected exception - System.out.println("Derby shut down normally"); - // Note that for single database shutdown, the expected - // SQL state is "08006", and the error code is 45000. - } else { - // if the error code or SQLState is different, we have - // an unexpected exception (shutdown failed) - System.err.println("Derby did not shut down normally"); - printSQLException(se); - } - } - } - } - catch (SQLException sqle) - { - printSQLException(sqle); - } finally { - // release all open resources to avoid unnecessary memory usage - - // ResultSet - try { - if (rs != null) { - rs.close(); - rs = null; - } - } catch (SQLException sqle) { - printSQLException(sqle); - } - - // Statements and PreparedStatements - int i = 0; - while (!statements.isEmpty()) { - // PreparedStatement extend Statement - Statement st = (Statement)statements.remove(i); - try { - if (st != null) { - st.close(); - st = null; - } - } catch (SQLException sqle) { - printSQLException(sqle); - } - } - - //Connection - try { - if (conn != null) { - conn.close(); - conn = null; - } - } catch (SQLException sqle) { - printSQLException(sqle); - } - } - } - - /** - * Loads the appropriate JDBC driver for this environment/framework. For - * example, if we are in an embedded environment, we load Derby's - * embedded Driver, org.apache.derby.jdbc.EmbeddedDriver. - */ - private void loadDriver() { - /* - * The JDBC driver is loaded by loading its class. - * If you are using JDBC 4.0 (Java SE 6) or newer, JDBC drivers may - * be automatically loaded, making this code optional. - * - * In an embedded environment, this will also start up the Derby - * engine (though not any databases), since it is not already - * running. In a client environment, the Derby engine is being run - * by the network server framework. - * - * In an embedded environment, any static Derby system properties - * must be set before loading the driver to take effect. - */ - try { - Class.forName(driver).newInstance(); - System.out.println("Loaded the appropriate driver"); - } catch (ClassNotFoundException cnfe) { - System.err.println("\nUnable to load the JDBC driver " + driver); - System.err.println("Please check your CLASSPATH."); - cnfe.printStackTrace(System.err); - } catch (InstantiationException ie) { - System.err.println( - "\nUnable to instantiate the JDBC driver " + driver); - ie.printStackTrace(System.err); - } catch (IllegalAccessException iae) { - System.err.println( - "\nNot allowed to access the JDBC driver " + driver); - iae.printStackTrace(System.err); - } - } - - /** - * Reports a data verification failure to System.err with the given message. - * - * @param message A message describing what failed. - */ - private void reportFailure(String message) { - System.err.println("\nData verification failed:"); - System.err.println('\t' + message); - } - - /** - * Prints details of an SQLException chain to System.err. - * Details included are SQL State, Error code, Exception message. - * - * @param e the SQLException from which to print details. - */ - public static void printSQLException(SQLException e) - { - // Unwraps the entire exception chain to unveil the real cause of the - // Exception. - while (e != null) - { - System.err.println("\n----- SQLException -----"); - System.err.println(" SQL State: " + e.getSQLState()); - System.err.println(" Error Code: " + e.getErrorCode()); - System.err.println(" Message: " + e.getMessage()); - // for stack traces, refer to derby.log or uncomment this: - //e.printStackTrace(System.err); - e = e.getNextException(); - } - } - - /** - * Parses the arguments given and sets the values of this class' instance - * variables accordingly - that is which framework to use, the name of the - * JDBC driver class, and which connection protocol protocol to use. The - * protocol should be used as part of the JDBC URL when connecting to Derby. - *

- * If the argument is "embedded" or invalid, this method will not change - * anything, meaning that the default values will be used.

- *

- * @param args JDBC connection framework, either "embedded", "derbyclient". - * Only the first argument will be considered, the rest will be ignored. - */ - private void parseArguments(String[] args) - { - if (args.length > 0) { - if (args[0].equalsIgnoreCase("derbyclient")) - { - framework = "derbyclient"; - driver = "org.apache.derby.jdbc.ClientDriver"; - protocol = "jdbc:derby://localhost:1527/"; - } - } - } -} diff --git a/test/genPrestoPersonDAO.sh b/test/genPrestoPersonDAO.sh new file mode 100755 index 0000000..e5a5c53 --- /dev/null +++ b/test/genPrestoPersonDAO.sh @@ -0,0 +1,5 @@ +#!/bin/bash +cd "$(dirname "$0")" + +sed -e 's/PersonDAO extends JdbcMapper/PrestoPersonDAO extends PersonDAO/' -e 's@// , sqlParser = SimpleSQLParser.class@ , sqlParser = PrestoSQLParser.class@' ./src/main/java/com/moparisthebest/jdbc/codegen/PersonDAO.java > ./src/main/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java + diff --git a/test/pom.xml b/test/pom.xml new file mode 100644 index 0000000..e00ade8 --- /dev/null +++ b/test/pom.xml @@ -0,0 +1,70 @@ + + + + jdbcmapper-parent + com.moparisthebest.jdbcmapper + 1.0-SNAPSHOT + + 4.0.0 + + test + + + + ${project.groupId} + querymapper + ${project.version} + ${jar.classifier} + + + ${project.groupId} + jdbcmapper + ${project.version} + ${jar.classifier} + provided + + + junit + junit + test + + + org.apache.derby + derby + test + true + + + + + jdk16 + + [1.6,1.8) + + + + + com.google.code.maven-replacer-plugin + replacer + + + + + + jdk8 + + [1.8,) + + + + ${project.groupId} + presto-sqlparser + ${project.version} + ${jar.classifier} + + + + + \ No newline at end of file diff --git a/jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/AbstractDao.java b/test/src/main/java/com/moparisthebest/jdbc/codegen/AbstractDao.java similarity index 100% rename from jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/AbstractDao.java rename to test/src/main/java/com/moparisthebest/jdbc/codegen/AbstractDao.java diff --git a/jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/PersonDAO.java b/test/src/main/java/com/moparisthebest/jdbc/codegen/PersonDAO.java similarity index 100% rename from jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/PersonDAO.java rename to test/src/main/java/com/moparisthebest/jdbc/codegen/PersonDAO.java diff --git a/presto-sqlparser/src/test/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java b/test/src/main/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java similarity index 100% rename from presto-sqlparser/src/test/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java rename to test/src/main/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java diff --git a/jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/SameClassPathEnumPerson.java b/test/src/main/java/com/moparisthebest/jdbc/codegen/SameClassPathEnumPerson.java similarity index 100% rename from jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/SameClassPathEnumPerson.java rename to test/src/main/java/com/moparisthebest/jdbc/codegen/SameClassPathEnumPerson.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/Boss.java b/test/src/main/java/com/moparisthebest/jdbc/dto/Boss.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/Boss.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/Boss.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/BuilderPerson.java b/test/src/main/java/com/moparisthebest/jdbc/dto/BuilderPerson.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/BuilderPerson.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/BuilderPerson.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/CaseSensitivePerson.java b/test/src/main/java/com/moparisthebest/jdbc/dto/CaseSensitivePerson.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/CaseSensitivePerson.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/CaseSensitivePerson.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/EnumPerson.java b/test/src/main/java/com/moparisthebest/jdbc/dto/EnumPerson.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/EnumPerson.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/EnumPerson.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/FieldBoss.java b/test/src/main/java/com/moparisthebest/jdbc/dto/FieldBoss.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/FieldBoss.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/FieldBoss.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/FieldPerson.java b/test/src/main/java/com/moparisthebest/jdbc/dto/FieldPerson.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/FieldPerson.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/FieldPerson.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/FirstName.java b/test/src/main/java/com/moparisthebest/jdbc/dto/FirstName.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/FirstName.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/FirstName.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/Person.java b/test/src/main/java/com/moparisthebest/jdbc/dto/Person.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/Person.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/Person.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/PersonEqualsHashCode.java b/test/src/main/java/com/moparisthebest/jdbc/dto/PersonEqualsHashCode.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/PersonEqualsHashCode.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/PersonEqualsHashCode.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/ReverseFieldBoss.java b/test/src/main/java/com/moparisthebest/jdbc/dto/ReverseFieldBoss.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/ReverseFieldBoss.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/ReverseFieldBoss.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/ReverseFieldPerson.java b/test/src/main/java/com/moparisthebest/jdbc/dto/ReverseFieldPerson.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/ReverseFieldPerson.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/ReverseFieldPerson.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/ReverseSetBoss.java b/test/src/main/java/com/moparisthebest/jdbc/dto/ReverseSetBoss.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/ReverseSetBoss.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/ReverseSetBoss.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/ReverseSetPerson.java b/test/src/main/java/com/moparisthebest/jdbc/dto/ReverseSetPerson.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/ReverseSetPerson.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/ReverseSetPerson.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/SetBoss.java b/test/src/main/java/com/moparisthebest/jdbc/dto/SetBoss.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/SetBoss.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/SetBoss.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/SetPerson.java b/test/src/main/java/com/moparisthebest/jdbc/dto/SetPerson.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/SetPerson.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/SetPerson.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/dto/Val.java b/test/src/main/java/com/moparisthebest/jdbc/dto/Val.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/dto/Val.java rename to test/src/main/java/com/moparisthebest/jdbc/dto/Val.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/CleaningQueryMapperTest.java b/test/src/test/java/com/moparisthebest/jdbc/CleaningQueryMapperTest.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/CleaningQueryMapperTest.java rename to test/src/test/java/com/moparisthebest/jdbc/CleaningQueryMapperTest.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/QueryMapperTest.java b/test/src/test/java/com/moparisthebest/jdbc/QueryMapperTest.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/QueryMapperTest.java rename to test/src/test/java/com/moparisthebest/jdbc/QueryMapperTest.java diff --git a/querymapper/src/test/java/com/moparisthebest/jdbc/QueryRunnerTest.java b/test/src/test/java/com/moparisthebest/jdbc/QueryRunnerTest.java similarity index 100% rename from querymapper/src/test/java/com/moparisthebest/jdbc/QueryRunnerTest.java rename to test/src/test/java/com/moparisthebest/jdbc/QueryRunnerTest.java diff --git a/jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/JdbcMapperTest.java b/test/src/test/java/com/moparisthebest/jdbc/codegen/JdbcMapperTest.java similarity index 100% rename from jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/JdbcMapperTest.java rename to test/src/test/java/com/moparisthebest/jdbc/codegen/JdbcMapperTest.java diff --git a/jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/PersonDAOQueryRunnerTest.java b/test/src/test/java/com/moparisthebest/jdbc/codegen/PersonDAOQueryRunnerTest.java similarity index 100% rename from jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/PersonDAOQueryRunnerTest.java rename to test/src/test/java/com/moparisthebest/jdbc/codegen/PersonDAOQueryRunnerTest.java diff --git a/test/src/test/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAOTest.java b/test/src/test/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAOTest.java new file mode 100644 index 0000000..6499b8d --- /dev/null +++ b/test/src/test/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAOTest.java @@ -0,0 +1,27 @@ +package com.moparisthebest.jdbc.codegen; + +import org.junit.Test; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; + +import static org.junit.Assert.assertEquals; + +/** + * Created by mopar on 5/24/17. + */ +public class PrestoPersonDAOTest { + + @Test + public void testGeneratedFilesAreTheSame() throws IOException { + final String personDaoBean = new String( + Files.readAllBytes(Paths.get("target/generated-sources/annotations/com/moparisthebest/jdbc/codegen/PersonDAOBean.java")) + , StandardCharsets.UTF_8); + final String prestoPersonDaoBean = new String( + Files.readAllBytes(Paths.get("target/generated-sources/annotations/com/moparisthebest/jdbc/codegen/PrestoPersonDAOBean.java")) + , StandardCharsets.UTF_8).replace("Presto", ""); + assertEquals(personDaoBean, prestoPersonDaoBean); + } +} diff --git a/presto-sqlparser/src/test/java/com/moparisthebest/jdbc/codegen/PrestoSQLParserTest.java b/test/src/test/java/com/moparisthebest/jdbc/codegen/PrestoSQLParserTest.java similarity index 100% rename from presto-sqlparser/src/test/java/com/moparisthebest/jdbc/codegen/PrestoSQLParserTest.java rename to test/src/test/java/com/moparisthebest/jdbc/codegen/PrestoSQLParserTest.java diff --git a/jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/SimpleSQLParserTest.java b/test/src/test/java/com/moparisthebest/jdbc/codegen/SimpleSQLParserTest.java similarity index 100% rename from jdbcmapper/src/test/java/com/moparisthebest/jdbc/codegen/SimpleSQLParserTest.java rename to test/src/test/java/com/moparisthebest/jdbc/codegen/SimpleSQLParserTest.java