[#951] Empty Password for jOOQ-codegen-maven Causes NPE

This commit is contained in:
Lukas Eder 2011-11-18 09:58:12 +00:00
parent 8c858024c7
commit e3399d9baa
6 changed files with 71 additions and 18 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="src" path="target/generated-sources/jooq"/>
<classpathentry kind="src" path="target/generated-sources/jooq-postgres"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="output" path="target/classes"/>

View File

@ -71,16 +71,64 @@
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<defaultGoal>deploy</defaultGoal>
<finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<!-- The jOOQ code generator plugin -->
<!-- The jOOQ code generator plugin for Sybase ASE -->
<!-- [#951] This checks the possibility of empty passwords -->
<plugin>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen-maven</artifactId>
<version>2.0.0-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.2.4</version>
</dependency>
</dependencies>
<configuration>
<jdbc>
<driver>net.sourceforge.jtds.jdbc.Driver</driver>
<url>jdbc:jtds:sybase://lukas-hp:5000/TEST</url>
<schema>dbo</schema>
<user>sa</user>
<password></password>
</jdbc>
<generator>
<name>org.jooq.util.DefaultGenerator</name>
<database>
<name>org.jooq.util.ase.ASEDatabase</name>
<includes>t_.*,x_.*,v_.*,V_.*,p_.*,f_.*,(f|p)[0-9]+,s_.*</includes>
<excludes></excludes>
</database>
<generate>
<relations>true</relations>
<deprecated>false</deprecated>
<instanceFields>true</instanceFields>
</generate>
<target>
<packageName>org.jooq.util.maven.example.ase</packageName>
<directory>target/generated-sources/jooq-ase</directory>
</target>
</generator>
</configuration>
</plugin>
<!-- The jOOQ code generator plugin for Postgres -->
<plugin>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen-maven</artifactId>
@ -120,8 +168,8 @@
<instanceFields>false</instanceFields>
</generate>
<target>
<packageName>org.jooq.util.maven.example</packageName>
<directory>target/generated-sources/jooq</directory>
<packageName>org.jooq.util.maven.example.postgres</packageName>
<directory>target/generated-sources/jooq-postgres</directory>
</target>
</generator>
</configuration>

View File

@ -44,9 +44,9 @@ import java.util.List;
import org.jooq.Record;
import org.jooq.Result;
import org.jooq.util.maven.example.PublicFactory;
import org.jooq.util.maven.example.tables.TBook;
import org.jooq.util.maven.example.tables.records.TBookRecord;
import org.jooq.util.maven.example.postgres.PublicFactory;
import org.jooq.util.maven.example.postgres.tables.TBook;
import org.jooq.util.maven.example.postgres.tables.records.TBookRecord;
import org.junit.Test;

View File

@ -43,8 +43,8 @@ public class Jdbc {
private String driver;
private String url;
private String schema = "";
private String user;
private String password;
private String user = "";
private String password = "";
String getDriver() {
return driver;

View File

@ -35,6 +35,8 @@
*/
package org.jooq.util.maven;
import static org.jooq.tools.StringUtils.defaultString;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Properties;
@ -83,16 +85,19 @@ public class Plugin extends AbstractMojo {
props.put("jdbc.Driver", jdbc.getDriver());
props.put("jdbc.URL", jdbc.getUrl());
props.put("jdbc.Schema", jdbc.getSchema());
props.put("jdbc.User", jdbc.getUser());
props.put("jdbc.Password", jdbc.getPassword());
props.put("jdbc.Schema", defaultString(jdbc.getSchema()));
props.put("jdbc.User", defaultString(jdbc.getUser()));
props.put("jdbc.Password", defaultString(jdbc.getPassword()));
props.put("generator", generator.getName());
props.put("generator.database", generator.getDatabase().getName());
props.put("generator.database.includes", generator.getDatabase().getIncludes());
props.put("generator.database.excludes", generator.getDatabase().getExcludes());
props.put("generator.generate.relations", generator.getGenerate().getRelations());
props.put("generator.generate.deprecated", generator.getGenerate().getDeprecated());
props.put("generator.generate.instance-fields", generator.getGenerate().getInstanceFields());
props.put("generator.target.package", generator.getTarget().getPackageName());
props.put("generator.target.directory", generator.getTarget().getDirectory());

View File

@ -109,9 +109,9 @@ public class GenerationTool {
try {
connection = DriverManager.getConnection(
properties.getProperty("jdbc.URL"),
properties.getProperty("jdbc.User"),
properties.getProperty("jdbc.Password"));
defaultString(properties.getProperty("jdbc.URL")),
defaultString(properties.getProperty("jdbc.User")),
defaultString(properties.getProperty("jdbc.Password")));
Class<Generator> generatorClass = (Class<Generator>) (properties.containsKey("generator")
? Class.forName(properties.getProperty("generator"))