You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by on...@apache.org on 2015/06/08 14:00:19 UTC
ambari git commit: AMBARI-11782. DataNode directories overrides
values with "\n" symbol (onechiporenko)
Repository: ambari
Updated Branches:
refs/heads/trunk efe8ee6a0 -> 82ff8884c
AMBARI-11782. DataNode directories overrides values with "\n" symbol (onechiporenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/82ff8884
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/82ff8884
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/82ff8884
Branch: refs/heads/trunk
Commit: 82ff8884c1fd67358c77d1cb41cdf4747903b868
Parents: efe8ee6
Author: Oleg Nechiporenko <on...@apache.org>
Authored: Mon Jun 8 14:56:04 2015 +0300
Committer: Oleg Nechiporenko <on...@apache.org>
Committed: Mon Jun 8 14:59:19 2015 +0300
----------------------------------------------------------------------
.../configs/objects/service_config_property.js | 24 ++++++++++--
.../objects/service_config_property_test.js | 39 ++++++++++++++++++++
.../widgets/list_config_widget_view_test.js | 1 +
3 files changed, 61 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/82ff8884/ambari-web/app/models/configs/objects/service_config_property.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/configs/objects/service_config_property.js b/ambari-web/app/models/configs/objects/service_config_property.js
index f7dcd2d..799c79f 100644
--- a/ambari-web/app/models/configs/objects/service_config_property.js
+++ b/ambari-web/app/models/configs/objects/service_config_property.js
@@ -475,14 +475,14 @@ App.ServiceConfigProperty = Em.Object.extend({
_validateOverrides: function () {
var self = this;
var isError = false;
- var value = '' + this.get('value');
+ var value = this._getValueForCheck(this.get('value'));
var isOriginalSCP = this.get('isOriginalSCP');
var supportsFinal = this.get('supportsFinal');
var isFinal = this.get('isFinal');
var parentSCP = this.get('parentSCP');
if (!isOriginalSCP) {
if (!Em.isNone(parentSCP)) {
- if (value === '' + parentSCP.get('value')) {
+ if (value === this._getValueForCheck(parentSCP.get('value'))) {
if (supportsFinal) {
if (isFinal === parentSCP.get('isFinal')) {
this.set('errorMessage', Em.I18n.t('config.override.valueEqualToParentConfig'));
@@ -499,7 +499,7 @@ App.ServiceConfigProperty = Em.Object.extend({
if (overrides) {
overrides.forEach(function (override) {
if (self == override) return;
- if (value === '' + override.get('value')) {
+ if (value === self._getValueForCheck(override.get('value'))) {
if (supportsFinal) {
if (isFinal === parentSCP.get('isFinal')) {
self.set('errorMessage', Em.I18n.t('config.override.valueEqualToAnotherOverrideConfig'));
@@ -517,6 +517,24 @@ App.ServiceConfigProperty = Em.Object.extend({
}
}
return isError;
+ },
+
+ /**
+ * Some values should be little bit changed before checking for overrides values
+ * `directories`-values should be "trimmed" for multiple mew-line symbols
+ * @param {string} value
+ * @returns {string}
+ * @private
+ */
+ _getValueForCheck: function (value) {
+ value = '' + value;
+ switch(this.get('displayType')) {
+ case 'directories':
+ return value.replace(/(\n\r?)+/g, '\n');
+ break;
+ default:
+ return value;
+ }
}
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/82ff8884/ambari-web/test/models/configs/objects/service_config_property_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/models/configs/objects/service_config_property_test.js b/ambari-web/test/models/configs/objects/service_config_property_test.js
index 08f9cb0..c932d87 100644
--- a/ambari-web/test/models/configs/objects/service_config_property_test.js
+++ b/ambari-web/test/models/configs/objects/service_config_property_test.js
@@ -568,6 +568,19 @@ describe('App.ServiceConfigProperty', function () {
]
})
}
+ },
+ {
+ m: '`directories`-config with almost equal value',
+ e: true,
+ c: {
+ value: "/hadoop/hdfs/data\n\n",
+ displayType: 'directories',
+ supportsFinal: false,
+ isOriginalSCP: false,
+ parentSCP: App.ServiceConfigProperty.create({
+ value: "/hadoop/hdfs/data\n"
+ })
+ }
}
]).forEach(function (test) {
it(test.m, function () {
@@ -613,4 +626,30 @@ describe('App.ServiceConfigProperty', function () {
});
+ describe('#_getValueForCheck', function () {
+
+ beforeEach(function () {
+ serviceConfigProperty.setProperties({
+ value: "/hadoop/hdfs/data\n",
+ displayType: 'directories',
+ supportsFinal: false,
+ isOriginalSCP: true,
+ overrides: [
+ Em.Object.create({
+ value: "/hadoop/hdfs/data\n\n"
+ })
+ ]
+ });
+ });
+
+ it('should trim value', function () {
+ expect(serviceConfigProperty._getValueForCheck(serviceConfigProperty.get('value'))).to.equal('/hadoop/hdfs/data\n');
+ });
+
+ it('should trim value 2', function () {
+ expect(serviceConfigProperty._getValueForCheck(serviceConfigProperty.get('overrides.0.value'))).to.equal('/hadoop/hdfs/data\n');
+ });
+
+ });
+
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/82ff8884/ambari-web/test/views/common/configs/widgets/list_config_widget_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/common/configs/widgets/list_config_widget_view_test.js b/ambari-web/test/views/common/configs/widgets/list_config_widget_view_test.js
index 63e8f25..3db2dcb 100644
--- a/ambari-web/test/views/common/configs/widgets/list_config_widget_view_test.js
+++ b/ambari-web/test/views/common/configs/widgets/list_config_widget_view_test.js
@@ -27,6 +27,7 @@ describe('App.ListConfigWidgetView', function () {
initPopover: Em.K,
config: Em.Object.create({
_validateOverrides: App.ServiceConfigProperty.prototype._validateOverrides,
+ _getValueForCheck: App.ServiceConfigProperty.prototype._getValueForCheck,
validate: App.ServiceConfigProperty.prototype.validate,
name: 'a.b.c',
savedValue: '2,1',