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.


Reply via email to