[#767] An empty Java package is generated for PL/SQL packages containing underscores

This commit is contained in:
Lukas Eder 2011-07-24 21:25:41 +00:00
parent 32ca377005
commit 450f370dff
5 changed files with 111 additions and 21 deletions

View File

@ -1191,12 +1191,11 @@ public class DefaultGenerator implements Generator {
for (PackageDefinition pkg : database.getPackages()) {
try {
// [#767] This is not the correct package name!
File targetPackagePackageDir = new File(targetPackagesPackageDir, strategy.getJavaClassName(pkg).toLowerCase());
log.info("Generating package", targetPackagePackageDir.getCanonicalPath());
for (ProcedureDefinition procedure : pkg.getProcedures()) {
targetPackagePackageDir.mkdirs();
try {
printProcedure(database, schema, procedure);
} catch (Exception e) {
@ -1205,8 +1204,6 @@ public class DefaultGenerator implements Generator {
}
for (FunctionDefinition function : pkg.getFunctions()) {
targetPackagePackageDir.mkdirs();
try {
printFunction(database, schema, function);
} catch (Exception e) {

View File

@ -1,17 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>jOOQ-test</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>jOOQ-test</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.quest.toadext.ToadextNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -688,6 +688,11 @@ CREATE OR REPLACE PACKAGE library_types AS
END library_types;
/
CREATE OR REPLACE PACKAGE library_767_package_test AS
FUNCTION library_767_package_test RETURN NUMBER;
END library_767_package_test;
/
CREATE TYPE t_address_type AS TABLE OF u_address_type
/

View File

@ -0,0 +1,65 @@
/**
* This class is generated by jOOQ
*/
package org.jooq.test.oracle.generatedclasses.packages;
/**
* This class is generated by jOOQ.
*
* Convenience access to all stored procedures and functions in LIBRARY_767_PACKAGE_TEST
*/
@javax.annotation.Generated(value = "http://jooq.sourceforge.net",
comments = "This class is generated by jOOQ")
public final class Library_767PackageTest extends org.jooq.impl.PackageImpl {
private static final long serialVersionUID = -1854939932;
/**
* The singleton instance of LIBRARY_767_PACKAGE_TEST
*/
public static org.jooq.test.oracle.generatedclasses.packages.Library_767PackageTest LIBRARY_767_PACKAGE_TEST = new org.jooq.test.oracle.generatedclasses.packages.Library_767PackageTest();
/**
* Invoke LIBRARY_767_PACKAGE_TEST
*
*/
public static java.math.BigDecimal library_767PackageTest(org.jooq.Configuration configuration) throws java.sql.SQLException {
org.jooq.test.oracle.generatedclasses.packages.library_767_package_test.Library_767PackageTest f = new org.jooq.test.oracle.generatedclasses.packages.library_767_package_test.Library_767PackageTest();
f.execute(configuration);
return f.getReturnValue();
}
/**
* Invoke LIBRARY_767_PACKAGE_TEST
*
*
* @deprecated 1.6.1 [#453] This method of calling stored functions is not supported anymore<br/>
* See {@link org.jooq.StoredObject#execute(java.sql.Connection)} for details.<br/><br/>
* If you wish to remove this method, adapt your configuration:<br/>
* <code>generator.generate.deprecated=false</code>
*/
@Deprecated
public static java.math.BigDecimal library_767PackageTest(java.sql.Connection connection) throws java.sql.SQLException {
org.jooq.test.oracle.generatedclasses.packages.library_767_package_test.Library_767PackageTest f = new org.jooq.test.oracle.generatedclasses.packages.library_767_package_test.Library_767PackageTest();
f.execute(connection);
return f.getReturnValue();
}
/**
* Get LIBRARY_767_PACKAGE_TEST as a field
*
*/
public static org.jooq.Field<java.math.BigDecimal> library_767PackageTest() {
org.jooq.test.oracle.generatedclasses.packages.library_767_package_test.Library_767PackageTest f = new org.jooq.test.oracle.generatedclasses.packages.library_767_package_test.Library_767PackageTest();
return f.asField();
}
/**
* No further instances allowed
*/
private Library_767PackageTest() {
super("LIBRARY_767_PACKAGE_TEST", org.jooq.test.oracle.generatedclasses.Test.TEST);
}
}

View File

@ -0,0 +1,22 @@
/**
* This class is generated by jOOQ
*/
package org.jooq.test.oracle.generatedclasses.packages.library_767_package_test;
/**
* This class is generated by jOOQ.
*/
@javax.annotation.Generated(value = "http://jooq.sourceforge.net",
comments = "This class is generated by jOOQ")
public class Library_767PackageTest extends org.jooq.impl.StoredFunctionImpl<java.math.BigDecimal> {
private static final long serialVersionUID = 1429895206;
/**
* Create a new function call instance
*/
public Library_767PackageTest() {
super(org.jooq.SQLDialect.ORACLE, "LIBRARY_767_PACKAGE_TEST", org.jooq.test.oracle.generatedclasses.Test.TEST, org.jooq.test.oracle.generatedclasses.packages.Library_767PackageTest.LIBRARY_767_PACKAGE_TEST, org.jooq.impl.SQLDataType.NUMERIC);
}
}