Currently resource accesses are through either implementation classes DownLoadEngine and Cache and many other concrete class under com.sun.deploy.cache and com.sun.deploy.net packages.
These classes are public and expose a large number of public accesses methods causing confusion in maintenance and addition of new improvements. We need to have better interfaces for model and controller objects, separated from implementation layers.
Fixed as described with webrev:
Pushed to 8 with changeset:
We would have:
- Model: Resource, LocalResourceArtifact. Also move LocalApplicationProperties, AssociationDesc DownloadDelegate out of implementation packages cache/net.
- Controller: abstract class ResourceProvider with implementation in cache package.
- Remove direct dependencies on DownloadEngine, Cache, CachedJarFile... from javaws and plugin components. This could be done in multiple passes.