You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by sc...@apache.org on 2019/09/05 18:07:24 UTC
[nifi] 04/12: NIFI-6506 - review feedback * fixed issues converting
sensitive props to parameters * only include parameter value if it has
changed (even for non-sensitive params) * do not allow null parameter
values when editing parameters.
This is an automated email from the ASF dual-hosted git repository.
scottyaslan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git
commit 10b4f6fd89cfb7f996a9ab1258eee7c8e00f6a8a
Author: Rob Fellows <ro...@gmail.com>
AuthorDate: Tue Sep 3 16:57:47 2019 -0400
NIFI-6506 - review feedback
* fixed issues converting sensitive props to parameters
* only include parameter value if it has changed (even for non-sensitive params)
* do not allow null parameter values when editing parameters.
---
.../jquery/propertytable/jquery.propertytable.js | 9 +++--
.../webapp/js/nf/canvas/nf-parameter-contexts.js | 47 +++++++++++++++-------
2 files changed, 37 insertions(+), 19 deletions(-)
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/propertytable/jquery.propertytable.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/propertytable/jquery.propertytable.js
index 7709824..c4050d6 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/propertytable/jquery.propertytable.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/propertytable/jquery.propertytable.js
@@ -1578,15 +1578,16 @@
if (options.readOnly !== true && !_.isNil(parameterContextId)) {
var descriptors = table.data('descriptors');
- var propertyDescriptor = descriptors[property.displayName];
+ var propertyDescriptor = descriptors[property.property];
nfParameterContexts.convertPropertyToParameter(property, propertyDescriptor, parameterContextId)
.done(function (parameter) {
- // set the property value to the reference the parameter that was created
- propertyData.updateItem(property.id, $.extend(property, {
+ var updatedItem = _.extend({}, property, {
previousValue: property.value,
value: '#{' + parameter.name + '}'
- }));
+ });
+ // set the property value to the reference the parameter that was created
+ propertyData.updateItem(property.id, updatedItem);
});
}
}
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
index 49aa47e..3fdc7f0 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
@@ -814,12 +814,23 @@
*/
var serializeParameter = function (originalParameter) {
var name = $.trim($('#parameter-name').val());
+ var value = $('#parameter-value-field').val();
var isEmptyStringSet = $('#parameter-set-empty-string-field').hasClass('checkbox-checked');
-
- var serializedValue = serializeValue($('#parameter-value-field'), originalParameter, isEmptyStringSet);
var description = $('#parameter-description-field').val();
var isSensitive = $('#parameter-dialog').find('input[name="sensitive"]:checked').val() === 'sensitive' ? true : false;
+ var parameter = {
+ name: name,
+ value: value,
+ description: description,
+ sensitive: isSensitive,
+ isEmptyStringSet: isEmptyStringSet,
+ previousValue: null,
+ isNew: true
+ };
+
+ var serializedValue = serializeValue($('#parameter-value-field'), _.isNil(originalParameter) ? parameter : originalParameter, isEmptyStringSet);
+
return {
name: name,
value: serializedValue.value,
@@ -859,6 +870,14 @@
// validate the parameter is not a duplicate
var matchingParameter = _.find(existingParameters, { name: parameter.name });
+ // If in edit mode, the value can not be null
+ if (editMode === true && _.isNil(parameter.value)) {
+ nfDialog.showOkDialog({
+ headerText: 'Configuration Error',
+ dialogContent: 'The value of the parameter must be specified.'
+ });
+ }
+
// Valid if no duplicate is found or it is edit mode and a matching parameter was found
if (_.isNil(matchingParameter) || (editMode === true && !_.isNil(matchingParameter))) {
return true;
@@ -885,7 +904,7 @@
var serializeValue = function (input, parameter, isChecked) {
var serializedValue;
- var hasChanged = true;
+ var hasChanged = parameter.value !== parameter.previousValue;
var value = input.val();
if (!nfCommon.isBlank(value)) {
@@ -938,7 +957,7 @@
isEmptyStringSet: serializedParam.isEmptyStringSet,
isNew: originalParameter.isNew,
hasValueChanged: serializedParam.hasValueChanged,
- isModified: serializedParam.value !== originalParameter.value || serializedParam.description !== originalParameter.description
+ isModified: serializedParam.hasValueChanged || serializedParam.description !== originalParameter.description
});
// update row for the parameter
@@ -1013,10 +1032,11 @@
text: '#ffffff'
},
disabled: function () {
- if ($('#parameter-context-name').val() !== '') {
- return false;
+ var param = serializeParameter();
+ if (_.isEmpty(param.name) || (_.isNil(param.value) && !param.isEmptyStringSet)) {
+ return true;
}
- return true;
+ return false;
},
handler: {
click: function () {
@@ -1400,7 +1420,7 @@
return '<span class="table-cell sensitive">Sensitive value set</span>';
} else if (value === '') {
return '<span class="table-cell blank">Empty string set</span>';
- } else if (nfCommon.isNull(value)) {
+ } else if (_.isNil(value)) {
return '<span class="unset">No value set</span>';
} else {
return nfCommon.escapeHtml(value);
@@ -1576,7 +1596,7 @@
},
disabled: function () {
var param = serializeParameter(parameter);
- return param.value === parameter.value && param.description === parameter.description;
+ return !param.hasValueChanged && param.description === parameter.description;
},
handler: {
click: function () {
@@ -1849,14 +1869,10 @@
var param = serializeParameter();
var isUpdatingParameterContext = $('#parameter-context-updating-status').hasClass('show-status');
- if (isUpdatingParameterContext) {
+ if (isUpdatingParameterContext || _.isEmpty(param.name)) {
return true;
}
-
- if (param.name !== '') {
- return false;
- }
- return true;
+ return false;
},
handler: {
click: callbacks.onApply
@@ -2477,6 +2493,7 @@
if (nfCommon.isSensitiveProperty(propertyDescriptor)) {
$('#parameter-sensitive-radio-button').prop('checked', true);
$('#parameter-not-sensitive-radio-button').prop('checked', false);
+ $('#parameter-value-field').val(null);
} else {
$('#parameter-sensitive-radio-button').prop('checked', false);
$('#parameter-not-sensitive-radio-button').prop('checked', true);