You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@whirr.apache.org by "Tom White (JIRA)" <ji...@apache.org> on 2011/01/25 18:18:44 UTC
[jira] Commented: (WHIRR-215) Add builder pattern to addRunUrl()
call
[ https://issues.apache.org/jira/browse/WHIRR-215?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12986524#action_12986524 ]
Tom White commented on WHIRR-215:
---------------------------------
Alternatively, we could put all the parameter defaults on the client side (i.e. not in the scripts) so they are never null.
> Add builder pattern to addRunUrl() call
> ---------------------------------------
>
> Key: WHIRR-215
> URL: https://issues.apache.org/jira/browse/WHIRR-215
> Project: Whirr
> Issue Type: Improvement
> Components: core
> Affects Versions: 0.3.0
> Reporter: Lars George
> Priority: Minor
> Fix For: 0.4.0
>
>
> If we get optional parameters then the code using varargs gets messy:
> {code}
> String tarurl = clusterSpec.getConfiguration().getString(
> HBaseConstants.KEY_TARBALL_URL);
> if (tarurl != null) {
> addRunUrl(event, hbaseInstallRunUrl,
> HBaseConstants.PARAM_PROVIDER, clusterSpec.getProvider(),
> HBaseConstants.PARAM_TARBALL_URL, tarurl);
> } else {
> addRunUrl(event, hbaseInstallRunUrl,
> HBaseConstants.PARAM_PROVIDER, clusterSpec.getProvider());
> }
> {code}
> We should extend or add a builder pattern so that one can do something like
> {code}
> RunUrl ru = RunUrl.create(event)
> .url(hbaseInstallRunUrl)
> .arg(HBaseConstants.PARAM_PROVIDER, clusterSpec.getProvider());
> if (tarUrl != null) {
> st.addArg(HBaseConstants.PARAM_TARBALL_URL, tarurl);
> }
> addRunUrl(ru);
> {code}
> Or similar to http://stackoverflow.com/questions/3838053/mapmaker-design-pattern referring to the Guava MapMaker class.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.