[ 
https://issues.apache.org/jira/browse/DERBY-6945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Hillegas updated DERBY-6945:
---------------------------------
    Attachment: derby-6945-11-ab-moveAutoloadedDriver.diff

Attaching derby-6945-11-ab-moveAutoloadedDriver.diff. This patch moves 
AutoloadedDriver out of org.apache.derby.jdbc and into 
org.apache.derby.iapi.jdbc.

The tricky bit which broke my first attempt to move AutoloadedDriver was this: 
There is some special logic in JarLoader to prevent user code from directly 
calling entry points in the Derby package space. That code carves out 
exceptions for code in the public api packages. The solution was to add 
AutoloadedDriver to the list of exceptions so that 
DriverManager.getConnection() can fault in the AutoloadedDriver for nested 
connections.

I will run tests.

Touches the following files:

{noformat}
---------------------------------------

M       build.xml
M       
java/build/org/apache/derbyBuild/lastgoodjarcontents/insane.derby.jar.lastcontents
M       
java/build/org/apache/derbyBuild/lastgoodjarcontents/sane.derby.jar.lastcontents
A  +    java/engine/org/apache/derby/iapi/jdbc/AutoloadedDriver.java
D       java/engine/org/apache/derby/jdbc/AutoloadedDriver.java

Move AutoloadedDriver out of the public api package into the engine-internal 
api package.

---------------------------------------

M       java/engine/org/apache/derby/impl/services/reflect/JarLoader.java

Let database classpaths include AutoloadedDriver as an exception to the general 
rule that user code should not directly call entry points in Derby's package 
space.

---------------------------------------

M       java/engine/org/apache/derby/iapi/jdbc/InternalDriver.java
M       java/engine/org/apache/derby/jdbc/BasicEmbeddedDataSource40.java
M       java/engine/org/apache/derby/jdbc/EmbeddedDriver.java
M       
java/testing/org/apache/derbyTesting/functionTests/tests/engine/ShutdownWithoutDeregisterPermissionTest.java
M       
java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/Wrapper41Driver.java
M       
java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/AutoloadTest.java

Adjust imports to account for the relocation of AutoloadedDriver.
{noformat}


> Re-package Derby as a collection of jigsaw modules
> --------------------------------------------------
>
>                 Key: DERBY-6945
>                 URL: https://issues.apache.org/jira/browse/DERBY-6945
>             Project: Derby
>          Issue Type: Improvement
>    Affects Versions: 10.13.1.2
>            Reporter: Rick Hillegas
>         Attachments: derby-6945-01-aa-remove_derbyPreBuild_dep.diff, 
> derby-6945-02-ab-newDerbySharedJar.diff, 
> derby-6945-02-ac-newDerbySharedJar.diff, derby-6945-03-aa-partitionTest.diff, 
> derby-6945-04-aa-moveRunClass.diff, 
> derby-6945-05-aa-removeRedundant_Attribute_SQLState.diff, 
> derby-6945-06-aa-removeOtherSharedDuplicates.diff, 
> derby-6945-07-aa-net_client_overlap.diff, 
> derby-6945-08-aa-move_shared_iapi_under_shared.diff, 
> derby-6945-08-ab-move_shared_iapi_under_shared.diff, 
> derby-6945-08-ad-move_shared_iapi_under_shared.diff, 
> derby-6945-09-ab-moveInternalDriver.diff, derby-6945-10-aa-moveDriver42.diff, 
> derby-6945-11-ab-moveAutoloadedDriver.diff, jdeps.out.tar
>
>
> Once we commit to building with Java 9 (see DERBY-6856), we should consider 
> re-packaging Derby as a set of jigsaw modules. This would result in a 
> different set of release artifacts. This might be a good opportunity to 
> address the Tomcat artifactory issues raised by issue DERBY-6944.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to