Greg Trasuk wrote:
On Tue, 2012-01-10 at 01:24, Peter wrote:
The new security manager and policies are almost ready to merge back into trunk.
Any svn merge tips would be much appreciated.
First, I'd like to move some policy implementation classes that are at present
public in org.apache.river.*, into package private net.jini.* namespaces, to
reduce the public api.
I think you have that backwards - implementation classes should be
"org.apache.river.*". "net.jini.*" should be public API and core
classes.
Having said that, I see that DynamicPolicyProvider is in
"net.jini.security.policy", and by that logic if it had package-private
classes then they would reasonably go into the "net.jini.*" namespace.
However I'd argue that the security policy is not "core Jini" so much as
runtime environemnt, so I'd leave them in the "org.apache.river.*"
namespace.
I did consider making DynamicPolicyProvider a skeleton class, then put
the implementation in org.apache.river, but then I realised that this
could create confusion with some of properties that need to be defined.
Another alternative is to leave DynamicPolicyProvider unchanged (how it
is currently in trunk), perhaps deprecated and put the new
implementation into a new class in org.apache.river.* and define
different configuration properties.
But these two options create additional complexity in configuration.
Since I've removed the cache from DynamicPolicyProvider, I think I can
remove the dependencies on classes in other packages that should be
package private, without placing those classes in net.jini.security.* so
that net.jini.security.policy remains largely untouched.
Regards,
Peter.