X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Flogging%2Fsrc%2FloggingGeneral.jsx;h=0aced4e212a16e4c61fceaf8ddb1e8cb32e35ff9;hp=dd04a57a70a9aeabe3892e88e98a992bc8ba4af0;hb=223366ccc6537984552d07f827750e14e83219b8;hpb=e29efc315df33d546237e270470916e26df391d6 diff --git a/skyquake/plugins/logging/src/loggingGeneral.jsx b/skyquake/plugins/logging/src/loggingGeneral.jsx index dd04a57a7..0aced4e21 100644 --- a/skyquake/plugins/logging/src/loggingGeneral.jsx +++ b/skyquake/plugins/logging/src/loggingGeneral.jsx @@ -16,7 +16,9 @@ * */ import React from 'react'; -import _ from 'lodash'; +import _isEmpty from 'lodash/isEmpty'; +import _find from 'lodash/find'; +import _cloneDeep from 'lodash/cloneDeep'; import './logging.scss'; import Button from 'widgets/button/rw.button.js'; @@ -42,7 +44,7 @@ class DefaultCategorySeverityPanel extends React.Component { return ( + title="Syslog Category Severity"> @@ -199,7 +201,7 @@ export default class LoggingGeneral extends React.Component { getData() { LoggingStore.getLoggingConfig(); this.setState({ - isLoading: _.isEmpty(this.state.loggingConfig) + isLoading: _isEmpty(this.state.loggingConfig) }); } componentWillUnmount = () => { @@ -223,45 +225,60 @@ export default class LoggingGeneral extends React.Component { isLoading: true }); LoggingStore.updateLoggingConfig( - this.collectNulledCategories( + /* this.collectNulledCategories( this.state.initialLoggingConfig, this.state.loggingConfig), - this.removeCategoryNulls( - this.state.loggingConfig - ) - ); + this.removeCategoryNulls( + this.state.loggingConfig */ + this.state.nulledCategories, + this.cleanupConfig( + this.state.loggingConfig + ) + ) } else { console.log("LoggingGeneral.handleSave failed validation"); } this.context.router.push({pathname: ''}); } - removeCategoryNulls(config) { - let cleanConfig = _.cloneDeep(config); + // removeCategoryNulls(config) { + // let cleanConfig = _cloneDeep(config); + // let cleanSeverities = []; + // config.defaultSeverities.map(function(d) { + // if (d.severity) { + // cleanSeverities.push(d); + // } + // }); + // cleanConfig.defaultSeverities = cleanSeverities; + // return cleanConfig; + // } + cleanupConfig(config) { + let cleanConfig = _cloneDeep(config); let cleanSeverities = []; - config.defaultSeverities.map(function(d) { - if (d.severity) { - cleanSeverities.push(d); + cleanConfig.defaultSeverities && cleanConfig.defaultSeverities.map((defSev) => { + if (defSev.severity) { + cleanSeverities.push(defSev); } }); cleanConfig.defaultSeverities = cleanSeverities; + return cleanConfig; } - collectNulledCategories(oldCat, newCat) { - let nulledCategories = []; - let newSeverities = newCat.defaultSeverities; - let oldSeverities = oldCat.defaultSeverities; - newSeverities.map(function(c, i) { - if(!c.severity) { - if(oldSeverities[i].severity) { - //verify that categories are the same - if(oldSeverities[i].category == c.category) { - nulledCategories.push({category: c.category}) - } - } - } - }); - return nulledCategories; - } + // collectNulledCategories(oldCat, newCat) { + // let nulledCategories = []; + // let newSeverities = newCat.defaultSeverities; + // let oldSeverities = oldCat.defaultSeverities; + // newSeverities.map(function(c, i) { + // if(!c.severity) { + // if(oldSeverities[i].severity) { + // //verify that categories are the same + // if(oldSeverities[i].category == c.category) { + // nulledCategories.push({category: c.category}) + // } + // } + // } + // }); + // return nulledCategories; + // } validateData() { function isEventIdValid(eventID) { @@ -341,6 +358,25 @@ export default class LoggingGeneral extends React.Component { let syslogViewerURL = this.state.loggingConfig.syslogviewer; let defaultSeverities = this.state.loggingConfig.defaultSeverities; + // NOTE: There are modifications to original code here + // for RIFT-14856 so that default severities map to syslog sink + + // Find first syslog sink with (WTF - no type on sinks!) name syslog. + let syslogSink = this.state.loggingConfig.sinks && _find(this.state.loggingConfig.sinks, { + name: 'syslog' + }); + let defaultSyslogSeverities = []; + + this.state.loggingConfig && this.state.loggingConfig.defaultSeverities && this.state.loggingConfig.defaultSeverities.map((defaultSeverity) => { + // Mapping between default categories and names inside a sink + let syslogFilterCategory = (syslogSink.filter && syslogSink.filter.category && _find(syslogSink.filter.category, { + name: defaultSeverity.category + })) || { + name: defaultSeverity.category, + severity: null + }; + defaultSyslogSeverities.push(syslogFilterCategory); + }); let severities = this.state.loggingConfig.severities; let allowDuplicateEvents = this.state.loggingConfig.allowDuplicateEvents; let denyEventIDs = this.state.loggingConfig.denyEventIDs; @@ -361,7 +397,10 @@ export default class LoggingGeneral extends React.Component { {errorMessage}
- */} +