[ 
https://issues.apache.org/jira/browse/HADOOP-10431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13963171#comment-13963171
 ] 

Alejandro Abdelnur commented on HADOOP-10431:
---------------------------------------------

Larry,

What do you mean by separate databinding object? on the KMS server a metadata 
is being built using querystring params, on the KMS client it is being build 
using values from a Json bean.

1. We could use JSON lib automatic binding, that requires public setters, so we 
are back to square one, we need to change visibility.

2. We could create interface/impls of those classes, the API would use the 
interfaces, the providers would use the impls. The impls would be in an spi 
package. It seems a bit overkilling for simple beans.

3. We could annotate the constructors as @Private or @Limited.

4. We could make the constructors protected, forcing KeyProvider impls to 
implement dummy subclasses to use them.

To be able to implement additional KeyProvider we need either an interface or a 
visibility change.


> Change visibility of KeyStore KeyVersion/Metadata/Options constructor and 
> methods to public
> -------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-10431
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10431
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: security
>    Affects Versions: 3.0.0
>            Reporter: Alejandro Abdelnur
>            Assignee: Alejandro Abdelnur
>         Attachments: HADOOP-10431.patch
>
>
> Making KeyVersion/Metadata/Options constructor and methods public will 
> facilitate {{KeyProvider}} implementations to use those classes.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to