From efa037d34be7b1570efdc767c79fad8d4005f10e Mon Sep 17 00:00:00 2001 From: Michael Lando Date: Sun, 19 Feb 2017 12:57:33 +0200 Subject: Add new code new version Change-Id: Ic02a76313503b526f17c3df29eb387a29fe6a42a Signed-off-by: Michael Lando --- .../src/nfvo-components/SubmitErrorResponse.jsx | 133 +++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 openecomp-ui/src/nfvo-components/SubmitErrorResponse.jsx (limited to 'openecomp-ui/src/nfvo-components/SubmitErrorResponse.jsx') diff --git a/openecomp-ui/src/nfvo-components/SubmitErrorResponse.jsx b/openecomp-ui/src/nfvo-components/SubmitErrorResponse.jsx new file mode 100644 index 0000000000..f2ec1582f3 --- /dev/null +++ b/openecomp-ui/src/nfvo-components/SubmitErrorResponse.jsx @@ -0,0 +1,133 @@ +import React, {Component} from 'react'; +import ListGroupItem from 'react-bootstrap/lib/ListGroupItem.js'; +import ListGroup from 'react-bootstrap/lib/ListGroup.js'; +import Panel from 'react-bootstrap/lib/Panel.js'; +import i18n from 'nfvo-utils/i18n/i18n.js'; + +/** + * parsing and showing the following Java Response object + * + * public class ValidationResponse { + private boolean valid = true; + private Collection vspErrors; + private Collection licensingDataErrors; + private Map> uploadDataErrors; + private Map> compilationErrors; + private QuestionnaireValidationResult questionnaireValidationResult; + } + + * public class ErrorCode { + private String id; + private String message; + private ErrorCategory category; + } + + * public class ErrorMessage { + private final ErrorLevel level; + private final String message; + } + */ +class SubmitErrorResponse extends Component { + + + render() { + let {validationResponse} = this.props; + return ( +
+ {validationResponse.vspErrors && this.renderVspErrors(validationResponse.vspErrors)} + {validationResponse.licensingDataErrors && this.renderVspErrors(validationResponse.licensingDataErrors)} + {validationResponse.compilationErrors && this.renderCompilationErrors(validationResponse.compilationErrors)} + {validationResponse.uploadDataErrors && this.renderUploadDataErrors(validationResponse.uploadDataErrors)} + {validationResponse.questionnaireValidationResult && this.renderQuestionnaireValidationResult(validationResponse.questionnaireValidationResult)} +
+ ); + } + + renderVspErrors(vspErrors) { + return ( + {this.parseErrorCodeCollection(vspErrors)} + ); + } + + renderLicensingDataErrors(licensingDataErrors) { + return ( + {this.parseErrorCodeCollection(licensingDataErrors)} + + ); + } + + renderUploadDataErrors(uploadDataErrors) { + return ( + {this.parseMapOfErrorMessagesList(uploadDataErrors)} + + ); + } + + renderCompilationErrors(compilationErrors) { + return ( + {this.parseMapOfErrorMessagesList(compilationErrors)} + + ); + } + + parseErrorCodeCollection(errors) { + return ( + {errors.map(error => + +
{i18n('Category: ')}{error.category}
+
{i18n('Message: ')}{error.message}
+
+ )}
+ ); + } + + parseMapOfErrorMessagesList(errorMap) { + return ( + + {Object.keys(errorMap).map(errorStringKey => + + {errorMap[errorStringKey].map(error => + +
{i18n('Level: ')}{error.level}
+
{i18n('Message: ')}{error.message}
+
+ )}
+
+ )} +
+ ); + } + + + renderQuestionnaireValidationResult(questionnaireValidationResult) { + if (!questionnaireValidationResult.valid) { + return this.parseAndRenderCompositionEntityValidationData(questionnaireValidationResult.validationData); + } + } + + parseAndRenderCompositionEntityValidationData(validationData) { + let {entityType, entityId, errors = [], subEntitiesValidationData = []} = validationData; + return ( + + + {errors.map(error => + +
{error}
+
+ )}
+ {subEntitiesValidationData.map(subValidationData => this.parseAndRenderCompositionEntityValidationData(subValidationData))} +
+
+ ); + } + + +} + +export default SubmitErrorResponse; -- cgit 1.2.3-korg