[
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)