You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2015/02/09 15:57:20 UTC
[1/3] incubator-brooklyn git commit: Allows no locations to be
provided when starting applications in jsgui
Repository: incubator-brooklyn
Updated Branches:
refs/heads/master bf1801253 -> 845afe382
Allows no locations to be provided when starting applications in jsgui
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/30aad627
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/30aad627
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/30aad627
Branch: refs/heads/master
Commit: 30aad62725850f654500379856dd9275222df3da
Parents: 41b2805
Author: Sam Corbett <sa...@cloudsoftcorp.com>
Authored: Thu Jan 29 19:32:48 2015 +0000
Committer: Sam Corbett <sa...@cloudsoftcorp.com>
Committed: Fri Feb 6 15:54:44 2015 +0000
----------------------------------------------------------------------
.../main/webapp/assets/js/model/application.js | 4 ++
.../assets/js/view/application-add-wizard.js | 76 ++++++++++++--------
.../assets/tpl/app-add-wizard/deploy.html | 4 --
3 files changed, 49 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30aad627/usage/jsgui/src/main/webapp/assets/js/model/application.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/model/application.js b/usage/jsgui/src/main/webapp/assets/js/model/application.js
index 998b860..5c3a3ea 100644
--- a/usage/jsgui/src/main/webapp/assets/js/model/application.js
+++ b/usage/jsgui/src/main/webapp/assets/js/model/application.js
@@ -63,6 +63,10 @@ define([
}
this.set('locations', newLocations)
},
+ /* Drops falsy locations */
+ pruneLocations: function() {
+ this.set('locations', _.compact(this.get('locations')));
+ },
setLocationAtIndex:function (locationNumber, val) {
var newLocations = [],
currentLocations = this.get("locations")
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30aad627/usage/jsgui/src/main/webapp/assets/js/view/application-add-wizard.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/view/application-add-wizard.js b/usage/jsgui/src/main/webapp/assets/js/view/application-add-wizard.js
index e45699c..c960f44 100644
--- a/usage/jsgui/src/main/webapp/assets/js/view/application-add-wizard.js
+++ b/usage/jsgui/src/main/webapp/assets/js/view/application-add-wizard.js
@@ -41,6 +41,9 @@ define([
DeployLocationRowHtml, DeployLocationOptionHtml, PreviewHtml
) {
+ /** Special ID to indicate that no locations will be provided when starting the server. */
+ var NO_LOCATION_INDICATOR = "__NONE__";
+
function setVisibility(obj, isVisible) {
if (isVisible) obj.show();
else obj.hide();
@@ -196,6 +199,8 @@ define([
if (this.model.mode == "yaml") {
yaml = this.model.yaml;
} else {
+ // Drop any "None" locations.
+ this.model.spec.pruneLocations();
yaml = JSON.stringify(specToCAMP(this.model.spec.toJSON()));
}
@@ -288,7 +293,7 @@ define([
'paste #yaml_code':'onYamlCodeChange',
'shown a[data-toggle="tab"]':'onTabChange',
'click #templateTab #catalog-add':'switchToCatalogAdd',
- 'click #templateTab #catalog-yaml':'showYamlTab',
+ 'click #templateTab #catalog-yaml':'showYamlTab'
},
template:_.template(CreateHtml),
wizard: null,
@@ -575,33 +580,39 @@ define([
},
renderAddedLocations:function () {
// renders the locations added to the model
- var that = this;
- var container = this.$("#selector-container")
- container.empty()
+ var rowTemplate = this.locationRowTemplate,
+ optionTemplate = this.locationOptionTemplate,
+ container = this.$("#selector-container");
+ container.empty();
for (var li = 0; li < this.model.spec.get("locations").length; li++) {
var chosenLocation = this.model.spec.get("locations")[li];
- container.append(that.locationRowTemplate({
- initialValue: chosenLocation,
- rowId: li
- }))
+ container.append(rowTemplate({
+ initialValue: chosenLocation,
+ rowId: li
+ }));
}
- var $locationOptions = container.find('.select-location')
- this.locations.each(function(aLocation) {
- if (!aLocation.id) {
- log("missing id for location:");
- log(aLocation);
- } else {
- var $option = that.locationOptionTemplate({
- id:aLocation.id,
- name:aLocation.getPrettyName()
- })
- $locationOptions.append($option)
- }
- })
+ var $locationOptions = container.find('.select-location');
+ var templated = this.locations.map(function(aLocation) {
+ return optionTemplate({
+ id: aLocation.id || "",
+ name: aLocation.getPrettyName()
+ });
+ });
+
+ // insert "none" location
+ $locationOptions.append(templated.join(""));
$locationOptions.each(function(i) {
- var w = $($locationOptions[i]);
- w.val( w.parent().attr('initialValue') );
- })
+ var option = $($locationOptions[i]);
+ option.val(option.parent().attr('initialValue'));
+ // Only append dashes if there are any locations
+ if (option.find("option").length > 0) {
+ option.append("<option disabled>------</option>");
+ }
+ option.append(optionTemplate({
+ id: NO_LOCATION_INDICATOR,
+ name: "None"
+ }));
+ });
},
render:function () {
this.delegateEvents()
@@ -635,10 +646,11 @@ define([
addLocation:function () {
if (this.locations.models.length>0) {
this.model.spec.addLocation(this.locations.models[0].get("id"))
- this.renderAddedLocations()
} else {
- this.$('div.info-nolocs-message').show('slow').delay(2000).hide('slow')
+ // i.e. No location
+ this.model.spec.addLocation(undefined);
}
+ this.renderAddedLocations()
},
removeLocation:function (event) {
var toBeRemoved = $(event.currentTarget).parent().attr('rowId')
@@ -686,16 +698,18 @@ define([
return map;
},
selection:function (event) {
- var loc_id = $(event.currentTarget).val();
- var loc = this.locations.find(function (candidate) {
+ var loc_id = $(event.currentTarget).val(),
+ isNoneLocation = loc_id === NO_LOCATION_INDICATOR;
+ var locationValid = isNoneLocation || this.locations.find(function (candidate) {
return candidate.get("id")==loc_id;
- })
- if (!loc) {
+ });
+ if (!locationValid) {
log("invalid location "+loc_id);
this.showFailure("Invalid location "+loc_id);
this.model.spec.set("locations",[]);
} else {
- this.model.spec.setLocationAtIndex($(event.currentTarget).parent().attr('rowId'), loc_id);
+ var index = $(event.currentTarget).parent().attr('rowId');
+ this.model.spec.setLocationAtIndex(index, isNoneLocation ? undefined : loc_id);
}
},
updateName:function () {
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30aad627/usage/jsgui/src/main/webapp/assets/tpl/app-add-wizard/deploy.html
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/tpl/app-add-wizard/deploy.html b/usage/jsgui/src/main/webapp/assets/tpl/app-add-wizard/deploy.html
index 36271d7..3d79241 100644
--- a/usage/jsgui/src/main/webapp/assets/tpl/app-add-wizard/deploy.html
+++ b/usage/jsgui/src/main/webapp/assets/tpl/app-add-wizard/deploy.html
@@ -25,10 +25,6 @@ under the License.
<!-- placeholder, details filled in later -->
<span class="label-important">Important</span> More information required
</div>
- <div class="info-nolocs-message label-message hide">
- <!-- shown if no locations are configured -->
- <span class="label-important">Important</span> Missing or unconfigured locations
- </div>
<div class="error-message label-message hide">
<!-- placeholder, details usually filled in later -->
<div class="label-important">ERROR</div> <span class="error-message-text">Failure performing specified action</span>
[2/3] incubator-brooklyn git commit: Typos and extra comments
Posted by al...@apache.org.
Typos and extra comments
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/c0c935e3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/c0c935e3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/c0c935e3
Branch: refs/heads/master
Commit: c0c935e31f76f2b1095795174af49af6760c3a69
Parents: 30aad62
Author: Sam Corbett <sa...@cloudsoftcorp.com>
Authored: Fri Feb 6 15:55:19 2015 +0000
Committer: Sam Corbett <sa...@cloudsoftcorp.com>
Committed: Fri Feb 6 15:55:19 2015 +0000
----------------------------------------------------------------------
core/src/main/java/brooklyn/config/render/RendererHints.java | 5 ++++-
core/src/main/java/brooklyn/util/task/DynamicTasks.java | 2 +-
.../brooklyn/entity/software/MachineLifecycleEffectorTasks.java | 3 +--
.../brooklyn/entity/nosql/mongodb/AbstractMongoDBSshDriver.java | 4 ++--
usage/rest-api/src/main/java/brooklyn/rest/api/AccessApi.java | 2 +-
5 files changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c0c935e3/core/src/main/java/brooklyn/config/render/RendererHints.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/config/render/RendererHints.java b/core/src/main/java/brooklyn/config/render/RendererHints.java
index 8bea13c..247b4f4 100644
--- a/core/src/main/java/brooklyn/config/render/RendererHints.java
+++ b/core/src/main/java/brooklyn/config/render/RendererHints.java
@@ -268,7 +268,10 @@ public class RendererHints {
return new NamedActionWithUrl<T>("Open", transform);
}
- /** use with care as this makes REST access difficult */
+ /**
+ * Forces the given sensor or config key's value to be censored. It will be
+ * presented as <code>********</code>.
+ */
@Beta
public static <T> DisplayValue<T> censoredValue() {
return new DisplayValue<T>(Functions.constant("********"));
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c0c935e3/core/src/main/java/brooklyn/util/task/DynamicTasks.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/task/DynamicTasks.java b/core/src/main/java/brooklyn/util/task/DynamicTasks.java
index bb87676..0ef29c4 100644
--- a/core/src/main/java/brooklyn/util/task/DynamicTasks.java
+++ b/core/src/main/java/brooklyn/util/task/DynamicTasks.java
@@ -307,7 +307,7 @@ public class DynamicTasks {
return q.isEmpty() ? null : Iterables.getLast(q);
}
- /** Calls {@link TaskQueueingContext#drain(Duration, boolean)} on the current task context */
+ /** Calls {@link TaskQueueingContext#drain(Duration, boolean, boolean)} on the current task context */
public static TaskQueueingContext drain(Duration optionalTimeout, boolean throwFirstError) {
TaskQueueingContext qc = DynamicTasks.getTaskQueuingContext();
Preconditions.checkNotNull(qc, "Cannot drain when there is no queueing context");
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c0c935e3/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java b/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java
index 5288951..378e662 100644
--- a/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java
+++ b/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java
@@ -78,7 +78,6 @@ import brooklyn.util.text.Strings;
import brooklyn.util.time.Duration;
import com.google.common.annotations.Beta;
-import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import com.google.common.base.Supplier;
import com.google.common.base.Suppliers;
@@ -603,7 +602,7 @@ public abstract class MachineLifecycleEffectorTasks {
if (stoppingProcess == null) {
msg.append(". Process stop skipped, pre-stop not finished?");
} else {
- msg.append(" because process stop has "+
+ msg.append(" because process stop has ").append(
(stoppingProcess.isDone() ? "finished abnormally" : "not finished"));
}
log.warn(msg.toString());
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c0c935e3/software/nosql/src/main/java/brooklyn/entity/nosql/mongodb/AbstractMongoDBSshDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/mongodb/AbstractMongoDBSshDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/mongodb/AbstractMongoDBSshDriver.java
index aa417fe..8210c77 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/mongodb/AbstractMongoDBSshDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/mongodb/AbstractMongoDBSshDriver.java
@@ -103,8 +103,8 @@ public abstract class AbstractMongoDBSshDriver extends AbstractSoftwareProcessSs
// We could also use SIGTERM (15)
new ScriptHelper(this, "Send SIGINT to MongoDB server")
- .body.append("kill -2 $(cat " + getPidFile() + ")")
- .execute();
+ .body.append("kill -2 $(cat " + getPidFile() + ")")
+ .execute();
}
protected String getBaseName() {
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c0c935e3/usage/rest-api/src/main/java/brooklyn/rest/api/AccessApi.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/api/AccessApi.java b/usage/rest-api/src/main/java/brooklyn/rest/api/AccessApi.java
index becba88..5794dba 100644
--- a/usage/rest-api/src/main/java/brooklyn/rest/api/AccessApi.java
+++ b/usage/rest-api/src/main/java/brooklyn/rest/api/AccessApi.java
@@ -42,7 +42,7 @@ import com.wordnik.swagger.core.ApiParam;
public interface AccessApi {
// TODO First access use-case is to disable location-provisioning (for Citrix's Cloud Portal Business Manager (CPBM)).
- // We rely on location implementations calling m`anagementContext.getAccessController().canProvisionLocation(parent)`,
+ // We rely on location implementations calling `managementContext.getAccessController().canProvisionLocation(parent)`,
// which isn't ideal (because some impls might forget to do this). We can't just do it in the core management-context
// because things like JcloudsLocation will provision the VM and only then create the JcloudsSshMachineLocation.
[3/3] incubator-brooklyn git commit: This closes #491
Posted by al...@apache.org.
This closes #491
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/845afe38
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/845afe38
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/845afe38
Branch: refs/heads/master
Commit: 845afe382bf59386b8b6b564323546d39fcd6f10
Parents: bf18012 c0c935e
Author: Aled Sage <al...@gmail.com>
Authored: Mon Feb 9 14:57:07 2015 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Feb 9 14:57:07 2015 +0000
----------------------------------------------------------------------
.../brooklyn/config/render/RendererHints.java | 5 +-
.../java/brooklyn/util/task/DynamicTasks.java | 2 +-
.../software/MachineLifecycleEffectorTasks.java | 3 +-
.../nosql/mongodb/AbstractMongoDBSshDriver.java | 4 +-
.../main/webapp/assets/js/model/application.js | 4 ++
.../assets/js/view/application-add-wizard.js | 76 ++++++++++++--------
.../assets/tpl/app-add-wizard/deploy.html | 4 --
.../main/java/brooklyn/rest/api/AccessApi.java | 2 +-
8 files changed, 58 insertions(+), 42 deletions(-)
----------------------------------------------------------------------