From ef0c19c07ba0c23c70a87364d5b78dccbd262b9f Mon Sep 17 00:00:00 2001 From: Miguel Diaz Date: Thu, 24 Sep 2015 21:42:21 +0200 Subject: [PATCH 1/4] Add the "server" parameter (alternative to jdbcUser and jdbcPassword) Add the "server" parameter (the id of a from settings.xml) as an alternative to jdbcUser and jdbcPassword parameters. --- .../maven/AbstractMetaDataExportMojo.java | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java b/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java index 5acc3d2d4..8a2642d5b 100644 --- a/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java +++ b/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java @@ -19,10 +19,12 @@ import java.sql.DriverManager; import java.sql.SQLException; import java.util.Comparator; +import org.apache.maven.artifact.manager.WagonManager; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.project.MavenProject; +import org.apache.maven.wagon.authentication.AuthenticationInfo; import com.mysema.codegen.model.SimpleType; import com.querydsl.codegen.BeanSerializer; @@ -48,6 +50,18 @@ public class AbstractMetaDataExportMojo extends AbstractMojo { */ private MavenProject project; + /** + * The Maven Wagon manager to use when obtaining server authentication details. + * @component + */ + private WagonManager wagonManager; + + /** + * The server id in settings.xml to use as an alternative to jdbcUser and jdbcPassword + * @parameter + */ + private String server; + /** * JDBC driver class name * @parameter required=true @@ -475,7 +489,28 @@ public class AbstractMetaDataExportMojo extends AbstractMojo { exporter.setConfiguration(configuration); Class.forName(jdbcDriver); - Connection conn = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPassword); + final String user; + final String password; + if (server ==null) { + user = jdbcUser; + password = jdbcPassword; + } else { + final AuthenticationInfo info = wagonManager.getAuthenticationInfo(server); + if ( info == null ) { + throw new MojoExecutionException("No authentication info for server " + server); + } + + user = info.getUserName(); + if (user == null) { + throw new MojoExecutionException("Missing username from server " + server); + } + + password = info.getPassword(); + if (password == null) { + throw new MojoExecutionException("Missing password from server " + server); + } + } + final Connection conn = DriverManager.getConnection(jdbcUrl, user, password); try { exporter.export(conn.getMetaData()); } finally { From 2ab78f70f77e4cad5268145b16bbdc3209e7f294 Mon Sep 17 00:00:00 2001 From: Miguel Diaz Date: Sat, 26 Sep 2015 19:57:37 +0200 Subject: [PATCH 2/4] Fix checkstyle errors --- .../com/querydsl/maven/AbstractMetaDataExportMojo.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java b/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java index 8a2642d5b..897a1c633 100644 --- a/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java +++ b/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java @@ -61,7 +61,7 @@ public class AbstractMetaDataExportMojo extends AbstractMojo { * @parameter */ private String server; - + /** * JDBC driver class name * @parameter required=true @@ -491,20 +491,20 @@ public class AbstractMetaDataExportMojo extends AbstractMojo { Class.forName(jdbcDriver); final String user; final String password; - if (server ==null) { + if (server == null) { user = jdbcUser; password = jdbcPassword; } else { final AuthenticationInfo info = wagonManager.getAuthenticationInfo(server); - if ( info == null ) { + if (info == null) { throw new MojoExecutionException("No authentication info for server " + server); } - + user = info.getUserName(); if (user == null) { throw new MojoExecutionException("Missing username from server " + server); } - + password = info.getPassword(); if (password == null) { throw new MojoExecutionException("Missing password from server " + server); From 72b9c4961069e297bf6bcf2ed9f65ac28611a610 Mon Sep 17 00:00:00 2001 From: Miguel Diaz Date: Sun, 27 Sep 2015 11:36:40 +0200 Subject: [PATCH 3/4] Add setter for server parameter --- .../java/com/querydsl/maven/AbstractMetaDataExportMojo.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java b/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java index 897a1c633..c516d7d88 100644 --- a/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java +++ b/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java @@ -538,6 +538,10 @@ public class AbstractMetaDataExportMojo extends AbstractMojo { this.project = project; } + public void setServer(String server) { + this.server = server; + } + public void setJdbcDriver(String jdbcDriver) { this.jdbcDriver = jdbcDriver; } From 579630df084201121e40ba207c5dc8216d57cec2 Mon Sep 17 00:00:00 2001 From: Miguel Diaz Date: Sun, 27 Sep 2015 11:39:34 +0200 Subject: [PATCH 4/4] Code style: remove final in local variables --- .../com/querydsl/maven/AbstractMetaDataExportMojo.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java b/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java index c516d7d88..36503cc11 100644 --- a/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java +++ b/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java @@ -489,13 +489,13 @@ public class AbstractMetaDataExportMojo extends AbstractMojo { exporter.setConfiguration(configuration); Class.forName(jdbcDriver); - final String user; - final String password; + String user; + String password; if (server == null) { user = jdbcUser; password = jdbcPassword; } else { - final AuthenticationInfo info = wagonManager.getAuthenticationInfo(server); + AuthenticationInfo info = wagonManager.getAuthenticationInfo(server); if (info == null) { throw new MojoExecutionException("No authentication info for server " + server); } @@ -510,7 +510,7 @@ public class AbstractMetaDataExportMojo extends AbstractMojo { throw new MojoExecutionException("Missing password from server " + server); } } - final Connection conn = DriverManager.getConnection(jdbcUrl, user, password); + Connection conn = DriverManager.getConnection(jdbcUrl, user, password); try { exporter.export(conn.getMetaData()); } finally {