[
https://issues.apache.org/jira/browse/WHIRR-245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13001873#comment-13001873
]
Tom White commented on WHIRR-245:
---------------------------------
I suggest that the user-facing API moves to org.apache.whirr, and the API for
writing services goes in org.apache.whirr.service and subpackages. This would
be a breaking change, so we should try to do this sooner rather than later.
More specifically:
* Move the client API (Cluster, ClusterSpec, RolePredicates, Service,
ServiceFactory) from the org.apache.whirr.service package to the
org.apache.whirr package.
* Rename Service(Factory) to ClusterController(Factory). Rationale: since
WHIRR-117 Service has been able to start one or more services on a cluster, so
it's misnamed now; also it's really about interacting with a cluster, not a
service.
* Rename org.apache.whirr.cluster.actions to org.apache.whirr.service.actions
so its associated more closely with the classes in org.apache.whirr.service.
* Move org.apache.whirr.net and org.apache.whirr.ssh to
org.apache.whirr.service.util to emphasise that these are utility classes for
services.
* Consider moving classes in org.apache.whirr.service.jclouds to
org.apache.whirr.service since the distinction isn't clearcut or particularly
useful for service implementors.
Would org.apache.whirr.service be better named org.apache.whirr.spi to clearly
indicate it's a Service Provider Interface? I was tending towards
org.apache.whirr.service since the services (Hadoop, HBase, etc) are all under
that package.
Thoughts?
> Clearly demarcate the user and service provider APIs
> ----------------------------------------------------
>
> Key: WHIRR-245
> URL: https://issues.apache.org/jira/browse/WHIRR-245
> Project: Whirr
> Issue Type: Improvement
> Reporter: Tom White
> Assignee: Tom White
>
> Currently the user API and the API for writing services are mixed up in
> org.apache.whirr.service. It would be good to package them more clearly.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira