Files[] type produces NPE (should be replaced by ArrayList<java.io.File>)
--------------------------------------------------------------------------
Key: MSQL-64
URL: http://jira.codehaus.org/browse/MSQL-64
Project: Maven 2.x SQL Plugin
Issue Type: Bug
Affects Versions: 1.4
Reporter: Martin Gainty
Guys
I could not get this plugin.xml to work
debug statements display NPEs on any/all references to parameter srcFiles
I discovered the srcFiles array is not initted and not allocated
Source file: org.codehaus.mojo.sql.SqlExecMojo
<parameter>
<name>srcFiles</name>
<type>java.io.File[]</type>
<required>false</required>
<editable>true</editable>
<description>List of files containing SQL statements to
load.</description>
</parameter>
One solution is to refactor the array to use ArrayList<java.io.File>
and reconfig on pluginXml to implement java.util.ArrayList<java.io.File> does
work (at least for me)
<parameter>
<name>srcFiles</name>
<type>java.util.ArrayList</type>
<required>false</required>
<editable>true</editable>
<description>List of files containing SQL statements to
load.</description>
</parameter>
--pom.xml test harness--
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.4</version>
<dependencies>
<!-- put oracle drivers (org.jdbc.driver.oracleDriver) in this artifact -->
<dependency>
<groupId>org.jdbc</groupId>
<artifactId>oracle</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
<configuration>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>jdbc:thin://localhost:1521/comm2servlet</url>
<username>system</username>
<password>password</password>
<skip>${maven.test.skip}</skip>
<!-- sqlCommand>select ${one} FROM SYSIBM.SYSDUMMY1;</sqlCommand -->
<!-- enableFiltering>true</enableFiltering -->
<srcFiles>
<srcFile>src/main/sql/sql1.sql</srcFile>
<srcFile>src/main/sql/sql2.sql</srcFile>
</srcFiles>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<one>1</one>
</properties>
</project>
/src/main/sql/sql1.sql
select SYSDATE FROM DUAL;
/src/main/sql/sql2.sql
select * from V$PARAMETER WHERE name='sql_version';
Thanks
Martin
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email