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.