From d2fea7fdeaba54f698db3c58d8083973cd6579a8 Mon Sep 17 00:00:00 2001 From: DeanLee77 Date: Tue, 22 May 2018 00:29:10 +1000 Subject: [PATCH] Revert "made changes as follows;" --- ClientSide/src/Application/Nadia.js | 7 -- .../Ui/RuleExecutionPage/RuleExecutionPage.js | 31 +----- .../Questions/AnsweredQuestionItem.js | 102 ----------------- .../Ui/RunRulesPage/Questions/QuestionItem.js | 30 ++--- .../AnsweredQuestionBoolType.js | 60 ---------- .../QuestionBoolType/QuestionBoolType.js | 18 +-- .../AnsweredQuestionDateType.js | 61 ---------- .../QuestionDateType/QuestionDateType.js | 31 ++---- .../QuestionDoubleType.js | 17 +-- .../AnsweredQuestionDoubleType.js | 52 --------- .../QuestionHashType.js | 17 +-- .../AnsweredQuestionHashType.js | 53 --------- .../AnsweredQuestionIntType.js | 46 -------- .../QuestionIntType/QuestionIntType.js | 20 ++-- .../AnsweredQuestionStringType.js | 48 -------- .../QuestionStringType/QuestionStringType.js | 19 +--- .../{QuestionUrlType => }/QuestionUrlType.js | 27 ++--- .../AnsweredQuestionUrlType.js | 53 --------- .../QuestionUuidType.js | 17 +-- .../AnsweredQuestionUuidType.js | 54 --------- .../inferencePackage/InferenceEngine.class | Bin 41007 -> 39587 bytes .../controller/InferenceController.class | Bin 14334 -> 11870 bytes .../inferencePackage/InferenceEngine.java | 105 ++++++------------ .../controller/InferenceController.java | 65 +---------- 24 files changed, 100 insertions(+), 833 deletions(-) delete mode 100644 ClientSide/src/Interface/Ui/RunRulesPage/Questions/AnsweredQuestionItem.js delete mode 100644 ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionBoolType/AnsweredQuestionBoolType.js delete mode 100644 ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDateType/AnsweredQuestionDateType.js rename ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/{QuestionDoubleType => }/QuestionDoubleType.js (90%) delete mode 100644 ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDoubleType/AnsweredQuestionDoubleType.js rename ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/{QuestionHashType => }/QuestionHashType.js (90%) delete mode 100644 ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionHashType/AnsweredQuestionHashType.js delete mode 100644 ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionIntType/AnsweredQuestionIntType.js delete mode 100644 ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionStringType/AnsweredQuestionStringType.js rename ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/{QuestionUrlType => }/QuestionUrlType.js (83%) delete mode 100644 ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUrlType/AnsweredQuestionUrlType.js rename ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/{QuestionUuidType => }/QuestionUuidType.js (85%) delete mode 100644 ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUuidType/AnsweredQuestionUuidType.js diff --git a/ClientSide/src/Application/Nadia.js b/ClientSide/src/Application/Nadia.js index 9fff360..0486d23 100644 --- a/ClientSide/src/Application/Nadia.js +++ b/ClientSide/src/Application/Nadia.js @@ -53,13 +53,6 @@ export default class Nadia { }) }, - editAnswer:(question, callback)=>{ - Bus.command('inference/editAnswer', {question:question}).done((res)=>{ - - callback(res); - }) - }, - updateHistory:(ruleName, callback)=>{ Bus.command('rule/updateHistory', {ruleName: ruleName, ruleText: ''}).done((res)=>{ if(res.update == 'done'){ diff --git a/ClientSide/src/Interface/Ui/RuleExecutionPage/RuleExecutionPage.js b/ClientSide/src/Interface/Ui/RuleExecutionPage/RuleExecutionPage.js index 84bd09d..474a4bb 100644 --- a/ClientSide/src/Interface/Ui/RuleExecutionPage/RuleExecutionPage.js +++ b/ClientSide/src/Interface/Ui/RuleExecutionPage/RuleExecutionPage.js @@ -166,35 +166,6 @@ class RuleExecutionPage extends React.Component { if(res.hasMoreQuestion == 'true'){ this._getNextQuestion(); } - else{ - let goalRuleData = {goalRuleName: res.goalRuleName, goalRuleValue: res.goalRuleValue, goalRuleType: res.goalRuleType}; - let goalRuleComponent = - let tempQuestionnaire = Clone(this.state.questionnaire); - tempQuestionnaire.unshift(goalRuleComponent); - - this.setState( - { - hasMoreQuestion: !this.state.hasMoreQuestion, - goalRule: goalRuleData, - questionnaire: tempQuestionnaire, - } - ); - } - }); - } - - _onEditAnswer=(question)=>{ - this.setState({questionnaire:[],questions:[]}); - Nadia.command.editAnswer(question,(res)=>{ - if(res.hasMoreQuestion == 'true'){ - res.workingMemory.map((item)=>{ - let answeredQuestion = ; - let tempQuestionnaire = Clone(this.state.questionnaire); - tempQuestionnaire.unshift(answeredQuestion); - }); - this.setState({questionnaire: tempQuestionnaire}); - this._getNextQuestion(); - } else{ let goalRuleData = {goalRuleName: res.goalRuleName, goalRuleValue: res.goalRuleValue, goalRuleType: res.goalRuleType}; let goalRuleComponent = @@ -214,7 +185,7 @@ class RuleExecutionPage extends React.Component { _createQuestionnaire=(questionData)=>{ - let nextQuestionComponent = ; + let nextQuestionComponent = ; let tempQuestionnaire = Clone(this.state.questionnaire); tempQuestionnaire.unshift(nextQuestionComponent); diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/AnsweredQuestionItem.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/AnsweredQuestionItem.js deleted file mode 100644 index 8ff71e3..0000000 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/AnsweredQuestionItem.js +++ /dev/null @@ -1,102 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import PropTypes from 'prop-types'; - -import {Segment } from 'semantic-ui-react'; - -//Application -import Nadia from 'src/Application/Nadia'; - -//component -import AnsweredQuestionIntType from './QuestionItems/QuestionIntType/AnsweredQuestionIntType'; -import AnsweredQuestionBoolType from './QuestionItems/QuestionBoolType/AnsweredQuestionBoolType'; -import AnsweredQuestionDateType from './QuestionItems/QuestionDateType/AnsweredQuestionDateType'; -import AnsweredQuestionStringType from './QuestionItems/QuestionStringType/AnsweredQuestionStringType'; -import AnsweredQuestionDoubleType from './QuestionItems/QuestionDoubleType/AnsweredQuestionDoubleType'; -import AnsweredQuestionHashType from './QuestionItems/QuestionHashType/AnsweredQuestionHashType'; -import AnsweredQuestionUrlType from './QuestionItems/QuestionUrlType/AnsweredQuestionUrlType'; -import AnsweredQuestionUuidType from './QuestionItems/QuestionUuidType/AnsweredQuestionUuidType'; - -export default class AnsweredQuestionItem extends React.Component { - constructor(props) { - super(props); - // initialise component state - this.state = { - - } - } - - componentDidMount = () => { - this.setState({questionData: this.props.questionData}); - - } - - - - - // prop types and default values - static propTypes = { - questionData: PropTypes.object, - enditAnswer: PropTypes.func, - } - - - _onEditAnswer=(question)=>{ - if(this.props.editAnswer){ - this.props.editAnswer(question) - } - } - - - - _createQuestionItem=()=>{ - let questionItem; - let questionText = this.props.questionData.questionText; - let answer = this.props.questionData.answer; - switch(this.props.questionData.answerValueType) - { - case 'integer': - questionItem = - break; - - case 'boolean': - questionItem = - break; - - case 'date': - questionItem = - break; - - case 'defistring': - case 'string': - questionItem = - break; - - case 'double': - questionItem = - break; - - case 'hash': - questionItem = - break; - - case 'url': - questionItem = - break; - - case 'uuid': - questionItem = - break; - } - return questionItem; - } - - // component render method - render() { - return ( - - {this._createQuestionItem()} - - ); - } -} diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItem.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItem.js index 415fd30..664bbcc 100644 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItem.js +++ b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItem.js @@ -12,10 +12,10 @@ import QuestionIntType from './QuestionItems/QuestionIntType/QuestionIntType'; import QuestionBoolType from './QuestionItems/QuestionBoolType/QuestionBoolType'; import QuestionDateType from './QuestionItems/QuestionDateType/QuestionDateType'; import QuestionStringType from './QuestionItems/QuestionStringType/QuestionStringType'; -import QuestionDoubleType from './QuestionItems/QuestionDoubleType/QuestionDoubleType'; -import QuestionHashType from './QuestionItems/QuestionHashType/QuestionHashType'; -import QuestionUrlType from './QuestionItems/QuestionUrlType/QuestionUrlType'; -import QuestionUuidType from './QuestionItems/QuestionUuidType/QuestionUuidType'; +import QuestionDoubleType from './QuestionItems/QuestionDoubleType'; +import QuestionHashType from './QuestionItems/QuestionHashType'; +import QuestionUrlType from './QuestionItems/QuestionUrlType'; +import QuestionUuidType from './QuestionItems/QuestionUuidType'; import GoalRuleBoolType from './GoalRuleItems/GoalRuleBoolType'; import GoalRuleDateType from './GoalRuleItems/GoalRuleDateType'; @@ -52,12 +52,6 @@ export default class QuestionItem extends React.Component { } } - _onEditAnswer=(question)=>{ - if(this.props.editAnswer){ - this.props.editAnswer(question) - } - } - _displayGoalRule=()=>{ let goalRuleText = this.props.goalRuleData.goalRuleName; let goalRuleValue = this.props.goalRuleData.goalRuleValue; @@ -93,36 +87,36 @@ export default class QuestionItem extends React.Component { switch(this.props.questionData.questionValueType) { case 'integer': - questionItem = + questionItem = break; case 'boolean': - questionItem = + questionItem = break; case 'date': - questionItem = + questionItem = break; case 'defistring': case 'string': - questionItem = + questionItem = break; case 'double': - questionItem = + questionItem = break; case 'hash': - questionItem = + questionItem = break; case 'url': - questionItem = + questionItem = break; case 'uuid': - questionItem = + questionItem = break; } return questionItem; diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionBoolType/AnsweredQuestionBoolType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionBoolType/AnsweredQuestionBoolType.js deleted file mode 100644 index 2be6d62..0000000 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionBoolType/AnsweredQuestionBoolType.js +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import {Button , Segment, Header, Message} from 'semantic-ui-react'; -import PropTypes from 'prop-types'; - -//style -import './QuestionBoolType.scss' - -export default class AnsweredQuestionBoolType extends React.Component { - constructor(props) { - super(props); - this.state ={ - - } - } - - - // prop types and default values - static propTypes = { - question: PropTypes.string.isRequired, - answer: PropTypes.string.isRequired, - } - - static defaultProps = { - - }; - - componentWillMount=()=>{ - this.setState({question: this.props.question, answer: this.props.answer}); - } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.props.question); - } - } - - // component render method - render() { - return ( - this.state.answer == 'true'? - - - -
{this.props.question}
- -
-
- : - - - -
{this.props.question}
- -
-
- ); - } -} diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionBoolType/QuestionBoolType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionBoolType/QuestionBoolType.js index fab57df..deeb7ca 100644 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionBoolType/QuestionBoolType.js +++ b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionBoolType/QuestionBoolType.js @@ -8,13 +8,12 @@ import './QuestionBoolType.scss' export default class QuestionBoolType extends React.Component { constructor(props) { - super(props); - this.state ={ - answered: false, - } + super(props); } - + state ={ + answered: false, + } // prop types and default values static propTypes = { question: PropTypes.string.isRequired, @@ -38,13 +37,6 @@ export default class QuestionBoolType extends React.Component { this.setState({answered: true, answer: false}); } } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.props.question); - } - } // component render method render() { @@ -55,7 +47,6 @@ export default class QuestionBoolType extends React.Component {
{this.props.question}
-
: @@ -63,7 +54,6 @@ export default class QuestionBoolType extends React.Component {
{this.props.question}
-
diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDateType/AnsweredQuestionDateType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDateType/AnsweredQuestionDateType.js deleted file mode 100644 index b6abf3f..0000000 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDateType/AnsweredQuestionDateType.js +++ /dev/null @@ -1,61 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import {Button , Segment, Message} from 'semantic-ui-react'; -import PropTypes from 'prop-types'; -import Moment from 'moment'; - -//component -import DateInputFields from './DateInputFields'; - -//style -import './QuestionDateType.scss'; - -export default class AnsweredQuestionDateType extends React.Component { - constructor(props) { - super(props); - this.state = { - - } - } - - - - // prop types and default values - static propTypes = { - question: PropTypes.string.isRequired, - answer: PropTypes.string.isRequired, - } - - componentWillMount=()=>{ - this.setState({question: this.props.question, answer: this.props.answer}); - } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.props.question); - } - } - - // component render method - render() { - let question = this.props.question+'?'; - let dateAnswerArray = this.state.answer.split('-'); - let dayInputValue = dateAnswerArray[2]; - let monthInputValue = dateAnswerArray[1]; - let yearInputValue = dateAnswerArray[0]; - return ( - - - - - - - - ); - } -} diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDateType/QuestionDateType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDateType/QuestionDateType.js index f8af4c6..7486630 100644 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDateType/QuestionDateType.js +++ b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDateType/QuestionDateType.js @@ -12,20 +12,19 @@ import './QuestionDateType.scss'; export default class QuestionDateType extends React.Component { constructor(props) { - super(props); - this.state = { - dayIsDirty: false, - dayInputValue: '', - monthIsDirty: false, - monthInputValue: '', - yearIsDirty: false, - yearInputValue: '', - dateInvalid: false, - answered: false, - } + super(props); } - + state = { + dayIsDirty: false, + dayInputValue: '', + monthIsDirty: false, + monthInputValue: '', + yearIsDirty: false, + yearInputValue: '', + dateInvalid: false, + answered: false, + } // prop types and default values static propTypes = { @@ -77,13 +76,6 @@ export default class QuestionDateType extends React.Component { answered: !this.state.answered}); } - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.props.question); - } - } - // component render method render() { let question = this.props.question+'?'; @@ -99,7 +91,6 @@ export default class QuestionDateType extends React.Component { yearInputValue= {this.state.yearInputValue} dateInvalid= {this.state.dateInvalid}/>
- : diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDoubleType/QuestionDoubleType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDoubleType.js similarity index 90% rename from ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDoubleType/QuestionDoubleType.js rename to ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDoubleType.js index 8c4aaad..8073ebe 100644 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDoubleType/QuestionDoubleType.js +++ b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDoubleType.js @@ -7,14 +7,13 @@ import PropTypes from 'prop-types'; export default class QuestionDoubleType extends React.Component { constructor(props) { - super(props); - this.state ={ - answered: false, - } + super(props); } - + state ={ + answered: false, + } // prop types and default values static propTypes = { @@ -44,13 +43,6 @@ export default class QuestionDoubleType extends React.Component { _onCancel=()=>{ this.setState({inputValue:{}, answered: !this.state.answered}); } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.props.question); - } - } // component render method render() { @@ -64,7 +56,6 @@ export default class QuestionDoubleType extends React.Component { - : diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDoubleType/AnsweredQuestionDoubleType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDoubleType/AnsweredQuestionDoubleType.js deleted file mode 100644 index 623ed4f..0000000 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionDoubleType/AnsweredQuestionDoubleType.js +++ /dev/null @@ -1,52 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import {Input, Button, Icon , Segment, Message} from 'semantic-ui-react'; -import PropTypes from 'prop-types'; - - - -export default class AnsweredQuestionDoubleType extends React.Component { - constructor(props) { - super(props); - this.state ={ - - } - } - - - - - // prop types and default values - static propTypes = { - question: PropTypes.string.isRequired, - answer: PropTypes.string.isRequired, - - } - - componentWillMount=()=>{ - this.setState({question: this.props.question, answer: this.props.answer}); - } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.state.question); - } - } - - // component render method - render() { - let question = this.props.question+'?'; - return ( - - - - -
{this.state.answer}
-
- -
-
- ); - } -} diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionHashType/QuestionHashType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionHashType.js similarity index 90% rename from ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionHashType/QuestionHashType.js rename to ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionHashType.js index b2c29cf..aab0810 100644 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionHashType/QuestionHashType.js +++ b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionHashType.js @@ -8,14 +8,13 @@ import PropTypes from 'prop-types'; export default class QuestionHashType extends React.Component { constructor(props) { - super(props); - this.state ={ - answered: false, - } + super(props); } - + state ={ + answered: false, + } // prop types and default values static propTypes = { @@ -45,13 +44,6 @@ export default class QuestionHashType extends React.Component { _onCancel=()=>{ this.setState({inputValue:{}, answered: !this.state.answered}); } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.props.question); - } - } // component render method render() { @@ -65,7 +57,6 @@ export default class QuestionHashType extends React.Component { -
: diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionHashType/AnsweredQuestionHashType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionHashType/AnsweredQuestionHashType.js deleted file mode 100644 index c3e3f44..0000000 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionHashType/AnsweredQuestionHashType.js +++ /dev/null @@ -1,53 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import {Input, Button, Icon , Segment, Message} from 'semantic-ui-react'; -import PropTypes from 'prop-types'; - - - - -export default class AnsweredQuestionHashType extends React.Component { - constructor(props) { - super(props); - this.state ={ - - } - } - - - - // prop types and default values - static propTypes = { - question: PropTypes.string.isRequired, - answer: PropTypes.string.isRequired, - - } - - - - componentWillMount=()=>{ - this.setState({question: this.props.question, answer: this.props.answer}); - } - - _onEditAnswer=()=>{ - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.props.question); - } - } - - // component render method - render() { - let question = this.state.question+'?'; - return ( - - - - -
{this.state.answer}
-
- -
-
- ); - } -} diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionIntType/AnsweredQuestionIntType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionIntType/AnsweredQuestionIntType.js deleted file mode 100644 index 7ccaebd..0000000 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionIntType/AnsweredQuestionIntType.js +++ /dev/null @@ -1,46 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import {Input, Button, Icon , Segment, Message, Header} from 'semantic-ui-react'; -import PropTypes from 'prop-types'; - -//style -import './QuestionIntType.scss'; - -export default class AnsweredQuestionIntType extends React.Component { - constructor(props) { - super(props); - this.state ={ - - } - } - - // prop types and default values - static propTypes = { - question: PropTypes.string.isRequired, - answer: PropTypes.string.isRequired, - } - - componentWillMount=()=>{ - this.setState({question: this.props.question, answer: this.props.answer}); - } - - _onEditAnswer=()=>{ - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.props.question); - } - } - - // component render method - render() { - let question = this.props.question+'?'; - return ( - - - -
{this.state.answer}
- -
-
- ); - } -} diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionIntType/QuestionIntType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionIntType/QuestionIntType.js index be670aa..8de4881 100644 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionIntType/QuestionIntType.js +++ b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionIntType/QuestionIntType.js @@ -8,11 +8,13 @@ import './QuestionIntType.scss'; export default class QuestionIntType extends React.Component { constructor(props) { - super(props); - this.state ={ - answered: false, - inputValue: '', - } + super(props); + } + + + state ={ + answered: false, + inputValue: '', } // prop types and default values @@ -44,13 +46,6 @@ export default class QuestionIntType extends React.Component { _onCancel=()=>{ this.setState({inputValue:{}, answered: !this.state.answered}); } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.props.question); - } - } // component render method render() { @@ -61,7 +56,6 @@ export default class QuestionIntType extends React.Component { {this.state.answered?
{this.state.inputValue}
-
: diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionStringType/AnsweredQuestionStringType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionStringType/AnsweredQuestionStringType.js deleted file mode 100644 index 5793ffb..0000000 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionStringType/AnsweredQuestionStringType.js +++ /dev/null @@ -1,48 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import {Input, Button, Icon , Segment, Message, Header} from 'semantic-ui-react'; -import PropTypes from 'prop-types'; - - -//style -import './QuestionStringType.scss'; - -export default class AnsweredQuestionStringType extends React.Component { - constructor(props) { - super(props); - this.state ={ - - } - } - - // prop types and default values - static propTypes = { - question: PropTypes.string.isRequired, - answer: PropTypes.string.isRequired, - } - - componentWillMount=()=>{ - this.setState({question: this.props.question, answer: this.props.answer}); - } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.state.question); - } - } - - // component render method - render() { - let question = this.props.question+'?'; - return ( - - - -
{this.state.answer}
- -
-
- ); - } -} diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionStringType/QuestionStringType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionStringType/QuestionStringType.js index 3e7a14e..677ced8 100644 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionStringType/QuestionStringType.js +++ b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionStringType/QuestionStringType.js @@ -9,14 +9,15 @@ import './QuestionStringType.scss'; export default class QuestionStringType extends React.Component { constructor(props) { - super(props); - this.state ={ - answered: false, - inputValue:'', - } + super(props); } + state ={ + answered: false, + inputValue:'', + } + // prop types and default values static propTypes = { question: PropTypes.string.isRequired, @@ -37,13 +38,6 @@ export default class QuestionStringType extends React.Component { _onCancel=()=>{ this.setState({inputValue:{}, answered: !this.state.answered}); } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.state.question); - } - } // component render method render() { @@ -54,7 +48,6 @@ export default class QuestionStringType extends React.Component { {this.state.answered?
{this.state.inputValue}
-
: diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUrlType/QuestionUrlType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUrlType.js similarity index 83% rename from ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUrlType/QuestionUrlType.js rename to ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUrlType.js index ad1780c..81467f6 100644 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUrlType/QuestionUrlType.js +++ b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUrlType.js @@ -8,10 +8,13 @@ import PropTypes from 'prop-types'; export default class QuestionUrlType extends React.Component { constructor(props) { - super(props); - this.state ={ - answered: false, - } + super(props); + } + + + + state ={ + answered: false, } // prop types and default values @@ -42,14 +45,6 @@ export default class QuestionUrlType extends React.Component { _onCancel=()=>{ this.setState({inputValue:{}, answered: !this.state.answered}); } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.state.question); - } - } - // component render method render() { @@ -59,10 +54,10 @@ export default class QuestionUrlType extends React.Component { {this.state.answered? - -
{this.state.inputValue}
- -
+ + + +
: this.state.inputError? diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUrlType/AnsweredQuestionUrlType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUrlType/AnsweredQuestionUrlType.js deleted file mode 100644 index 1003c38..0000000 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUrlType/AnsweredQuestionUrlType.js +++ /dev/null @@ -1,53 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import {Input, Button, Icon , Segment, Message} from 'semantic-ui-react'; -import PropTypes from 'prop-types'; - - - - -export default class AnsweredQuestionUrlType extends React.Component { - constructor(props) { - super(props); - this.state ={ - - } - } - - - - - // prop types and default values - static propTypes = { - questionData: PropTypes.object, - enditAnswer: PropTypes.func, - } - - componentWillMount=()=>{ - this.setState({question: this.props.question, answer: this.props.answer}); - } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.state.question); - } - } - - - // component render method - render() { - let question = this.props.question+'?'; - return ( - - - - -
{this.state.answer}
- -
-
-
- ); - } -} diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUuidType/QuestionUuidType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUuidType.js similarity index 85% rename from ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUuidType/QuestionUuidType.js rename to ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUuidType.js index e91588b..45ffc33 100644 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUuidType/QuestionUuidType.js +++ b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUuidType.js @@ -9,7 +9,8 @@ import PropTypes from 'prop-types'; export default class QuestionUuidType extends React.Component { constructor(props) { super(props); - this.state = { + + state = { answered: false, } } @@ -43,12 +44,6 @@ export default class QuestionUuidType extends React.Component { _onCancel=()=>{ this.setState({inputValue:{}, answered: !this.state.answered}); } - - _onEditAnswer=()=>{ - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.state.question); - } - } // component render method render() { @@ -59,10 +54,10 @@ export default class QuestionUuidType extends React.Component { {this.state.answered? - -
{this.state.inputValue}
- -
+ + + +
: this.state.inputError? diff --git a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUuidType/AnsweredQuestionUuidType.js b/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUuidType/AnsweredQuestionUuidType.js deleted file mode 100644 index d454e29..0000000 --- a/ClientSide/src/Interface/Ui/RunRulesPage/Questions/QuestionItems/QuestionUuidType/AnsweredQuestionUuidType.js +++ /dev/null @@ -1,54 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import {Input, Button, Icon , Segment, Message} from 'semantic-ui-react'; -import PropTypes from 'prop-types'; - - - - -export default class QuestionUuidType extends React.Component { - constructor(props) { - super(props); - this.state ={ - - } - } - - - - - - // prop types and default values - static propTypes = { - questionData: PropTypes.object, - enditAnswer: PropTypes.func, - } - - componentWillMount=()=>{ - this.setState({question: this.props.question, answer: this.props.answer}); - } - - _onEditAnswer=()=>{ - debugger; - if(this.props.onEditAnswer){ - this.props.onEditAnswer(this.state.question); - } - } - - // component render method - render() { - let question = this.props.question+'?'; - return ( - - - - -
{this.state.answer}
- -
-
-
- ); - - } -} diff --git a/com.Nadia-R.S/bin/com/NadiaRS/InferenceEngine/inferencePackage/InferenceEngine.class b/com.Nadia-R.S/bin/com/NadiaRS/InferenceEngine/inferencePackage/InferenceEngine.class index 63614faa2ee5f950c981dfed41ab9bd0d92a0a83..e347fb6e95f22d96cfde309754873838dd2fde8d 100644 GIT binary patch delta 4191 zcmbVO30PFu6+ZW!J8xjPz<_{k0tyPUyWs|g#cdG5MAT@^LUf`i3S&TPOGla~@L4N9BV}nSK8L@M$4ftA-SYk^vF;aC(q0yri$g+9 ze96vo?5Me43LK`nlYZ_u0*B)Wk~?i@1AKCC3ml1~Laq3gpL<{6Xp*zydw%YWz_FN5 z+(&j?;CuFu!j0uDhsZxDBk-nj=C1;$u?b}4FLpM;CwNxiwRj!L{mrlNp8{v%EaLv5 z6ndXMFK~`w(z9RN4bu+ul)g&>Z^D~N?pq?f`ZyPO8!ia7ayMRnm}*s>Z`X3+iqqNR(E{tW!oHWI^DJb_zqD{&+IM#c)dDJ5r=M2}ybpJUntb}@{@}9({+Ku`zh0N~Wfj~_0uSL~ zlDpB4hkeJDFn@LGY#G*?3$1L1JFob@F&RSgZ!1}m>; zFi@T<9cWs4BZCBj3G$QjGFEYDNX5fh0%O2{P?~xM#>%%=jtq`tFvdIp!(z;1m?&eL za?(;5bX|HSqYtKfjNmbr7)y7aiFwu-ehigx-~lL(2~@(jH;rQ{^0B5!x8))PTfTuP z%eRnZxda6?ttw4~D#D9RD>Rw`u-puUyG$EwGX-ongJG8$3J;lKaFFm3GXlEJD0qp^ zPn)rjLjEm*Ao_kC2ErivC4__F0bmdeFTx7Ai=v3437QTefFQ@aqZ2cX8DN3sFb6Z~ z*rd-a%%X2AY=dE#EmyeXSi0Qq&PYrG$hkynZB}4bI8C3q>JM`m4Q@=5XWUVNgz1R> zYio`P^&J4%ZE7Y+S94ZOp7v6ZM*tx>lzcPjl%@lnjt%PhpC*Gm+}s?W$JUd_i%B*J zjEj(JWoyoZ-EOEcA*ZccsYZi5wW>a13N)UmikO0jG*?nK^u!1-b79KU;ZKBT} zNKHQs*_j?V>A~?`5R*>uhzBQiL5TmrA@{8w6<&r@{R#_6VY&Q#^`yWGl}vJYnk-mT ztmcSZy{3dsmoKi#XEP+W3|DhRj%kTw1#)IfDxEa7 z9}sgn#7s)*d9ad+Ir3~vB)dVHYx@V?NM?bYpy4BjuARYdksH?Lu_}3DZ4sL%*}8WK zzq{^K`=DN@ioI2Je%kH?x#56(5Z&`TB-T zR?xO_WYi*Zm}#dhV5Al@I;YVkr*2FbRp7x|4|8~!*$MHKwKNYLip%sM@jZFo4Fgm< zJ&>o)y=S#@-^RkosXm(~;P3>kmZqQlYGVRdYGv%E+!QiQ)@T5d1Cf-c>**1s-*BZX zL))p9u1$H771~Du7Hm+l&_gsK<*`kzN#2uq$i}6rzkG493s6czG&1FayHoi1PIgY7 zZtElW-W^q4%Mz)E_;u;R-rlu^ZNBWFCXh44CDM@o6@Ab{}k# zTRY-{*+ND3FlXBPhV!G?>|tMjm)_bDE$44ePF~}|b)ArPHEZ&r&6z&AeOHzHdh-pe zS>C)OO|HDBFzltEsti4YeAop$yqE&6lw5Z2|K9mWUK@53HaT zXjX+*zk8sC%&128mb9IU953s(*$ix#XWC;!dzV%nN6WKYY;ynBMx^j%d|R|yl{)7; z3d>R z{jFjX@{COM)!?}+IG``e9=KA+`fAY9s|L+FUq$WF>Wx9pZ6E#p^>Fv{S|xnY)oL-I zV=Px`l~o-PLB0a3;>zZZ>Avz`?8uDob^UvrP;rw9m69u7=7ZbE`Y!3tt7Sw6?eH4S zr@BM3uKN=^_UpjsbjGUJB6&yWa@Hizb;i^8sm>(Uu5r68>#9?)NV2;tk=-vp>`I&7 zpf*v@#tWxwMsG{LYq_454X0~4`f1!d`w0HTgZs;~`rw0fIUk-y;IVWMdySf!w%;qy zun-ShMtS8V%%We6U98Jd0;*l*5PeVfeh8 zj11=^`6x|}=J~upqj9{57i(0)C-O-eP3BX0nMPCjG=8l{*YO#Arbe^)9DajFbNS8u k7LBU-eD2ifHeSsaX|$NTcpYCtSypfL*4udlUkWk*0WIh*pa1{> delta 5202 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 diff --git a/com.Nadia-R.S/bin/com/NadiaRS/controller/InferenceController.class b/com.Nadia-R.S/bin/com/NadiaRS/controller/InferenceController.class index 5e5070d7cbc2e01feed027a0b08425e6ae32c6f9..1577b8f0636c7df25c30a353d56541ec9014e7df 100644 GIT binary patch delta 4553 zcmb_fd3;pW75+{pGjHbQh3p9r0t8542nh+YnE`^Bo)uUY8f{>zlFaVz8ceq^12fgWZv9*aW(fwW%ECS>EzfP5sKp!$b1_f# zPwD5GkA(&n2vZ!Imah&L_I6rWgfrEE%$nXyu+)HGkbXRo%Cwr)O;q4K3+wR`1+KBMS%=PI=*srBKZx#z61e;= z!8L(4U7zc9t#1%QH9aL;ebT*vmGiK2Ufg8iW^7U4X1~k2-Xa(rt?Lyj-BPzA)x=iZ zW??&asJl|CqyBeTxD$7&cO3IQJ8`dpdjwJh;JuevSM&OMPG zCU#xeVFPW{*1uc;BN{B+;~o4EoVYA z+nb_`yYYe`HDQ_KZ)y)1cu6oa&Y&J6O}vQdCLDOh!mB!Wcc`^C)YjOt+>KwI5N+1F zRb1DLH!S=bzfoyv%UHtsc*VqF{MNwR>Ofjf@83l?A8MV_N^mClg8_jNLn&RZKGeZSEOb&C^}mKY$1vC)L!n1$~JYHRmP%_IvS zi$l=pRXcKgs=+RISBTRRml$fBJ=Nv0#FP~EnZ2yPA*m$haVVoI)0#KMLaHU{lA#Kn z(^Ey#C@aafBu8@9Hs^4L>n^r>)m3guo}S9Lq?hzorZFK&3e+@Xr1JMzELm!(GfO?$ zqf<4yC*|pqr+OeV#DWtpQ_AHeLx!qrdKNo|$#Av5XRT+XoNUM_K~Ht0AWxO&y9QN= zkCo@PPi<^sIg{D>stA;fvEY$YNEh#dszGxM8K)NKSGdL^)sQLc|@t?g~g0;(p(b_!eG2(=@BNOtWqe+yf#Db;d@j?S*PQkA=Ut802$ zYDKRJRn;=pl4&rhiXeS8GYN$DpJB;NZBGvbLqxPOxI#l7ovg$c+_}uQWRA>LANQJ6 zfumAq$$XtrH)a&~jNw_K<$P2YS#qWxR8|0tZONUv)fss#@3cufwdvGT&FUMvU{?d%MF&? zh^u(c`0MMb+=QF@px;C_uxPLAcDd7#JJg3o108qC-6~_iyE!}3aTUog_gQk8T%P8V zdj;d7fE_ICJ1<=x(C5`pPpd(5(&Zuj-lLXWE!Xh9N77|-I;Ln_#FCq33vExN%NC}4 znr6g=rs%0^NT;AkEgF!gJ{_2rB>RJ~K))m$gtw+7g5pOwlZ0;kHu(fjLI#E*jiZ9tTS%ux|K(x`%Bb!P>ZKe*=`Hjg zMlXZ2`TU*DPtF2JkoH_Y1IWYhzOXqxf*+55VKd(i~;_U0shu`@=n z<{;+#+;(yV=SC3Tg^MG&@@5Py)t0MmmuD&{Xe(ckU zt#!L`YXsYTp3(?zkKk?{_kjo=j$qewNR1hHZ$Y~4$?VMBAHjjSJFzI?2?)pV28+-EQed7L%-+P7GfE zuN1%&MNqexnE#-JzZ56@Wib7TWjQk8_!j+%pzAwSMN!V@5BqC)I8L?YN`;t3lENeO5=j@b94kqYcqT!g>Db;lxx^~OyKEpO5Qlr17 zm)fp~)J9|$_4qjh&Fe%3-&;U1+|jA{{K7<|+Mu;BOG?AGJ0kUoj$7Ix%N>aS8b!$T z&l9_c?a7jrS<-x5!m*xwI`p^Gb`h(`P!*6BQh88ACB$BucD>_``8Z*^gIs0*`>F3cX0a00Yj;-JmICb>v7v;0^umr$@C zCK3bEab~=|vbVCOvb`QQWUL{ThEyA}9vE-nv2;`4 zh9F^mM6d!5N*3tFBmT|e#F?HYSHzCqh-_rze1Hxy_Pe+)NHk4codaK#D|sXcqw=mq ziw?Sm1Wo31*l|HkEzOe6?7au(a-fPi3jgq!985)CpM<%O^1awvxg<9bV#IdhxSCCJ z4R0}PqigGfhVkX5X!}dS!02)0U>3Zc#j_~lQ)lSxu^(fOU#enTpc0OaFzU(Ht$IPZ zCEB)f*$Z#wDYA{WY`z@5I>~Laoxj-`WhX!P$o=wQbo8+7lE$7Q$dkq&xgGS*(% PCr|QRs*wZol*{v9v#}9y literal 14334 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 C=xmGt diff --git a/com.Nadia-R.S/src/main/java/com/NadiaRS/InferenceEngine/inferencePackage/InferenceEngine.java b/com.Nadia-R.S/src/main/java/com/NadiaRS/InferenceEngine/inferencePackage/InferenceEngine.java index d4869c7..5fe7b30 100644 --- a/com.Nadia-R.S/src/main/java/com/NadiaRS/InferenceEngine/inferencePackage/InferenceEngine.java +++ b/com.Nadia-R.S/src/main/java/com/NadiaRS/InferenceEngine/inferencePackage/InferenceEngine.java @@ -1523,84 +1523,43 @@ public ObjectNode[] generateAssessmentSummary() return tempSummaryList.stream().toArray(ObjectNode[]::new); } - - public void editAnswer(String question) - { - List tempSummaryList = this.getAssessmentState().getSummaryList(); - int indexOfQuestionToBeEdited = tempSummaryList.indexOf(question); - HashMap tempWorkingMemory = this.getAssessmentState().getWorkingMemory(); - - /* - * following two lines are to reset 'exclusiveList' and 'inclusiveList' which are for tracking all relevant branches by cutting dependencies - */ - this.getAssessmentState().setExclusiveList(new ArrayList()); - this.getAssessmentState().setInclusiveList(new ArrayList()); - - tempWorkingMemory.remove(question); //need to remove values of 'question' key from workingMemory because it needs editing - - /* - * the reason of doing following lines is to re-establish 'inclusiveList' and 'exclusiveList' - * which manage cutting all irrelevant branches within the rule tree based on fed answers. - * all branches up to the point of 'to-be-edited-question' need re-establishment and other branches after the 'question' - * don't need to be re-established because those may not irrelevant to effect decision at the end unless they are appeared - * during the questionnaire after all re-establishment. - */ - IntStream.range(0, tempSummaryList.size()).forEachOrdered(index->{ - if(index < indexOfQuestionToBeEdited) { - Node node = this.getNextQuestion(this.getAssessment()); - if(ass.getNodeToBeAsked().getLineType().equals(LineType.ITERATE)) - { - ass.setAuxNodeToBeAsked(node); - } - List questionnaireFromNode = this.getQuestionsFromNodeToBeAsked(node); - questionnaireFromNode.stream().forEachOrdered(questionItem->{ - if(tempSummaryList.contains(questionItem)) - { - FactValue fv = tempWorkingMemory.get(questionItem); - this.feedAnswerToNode(node, questionItem, fv.getValue().toString(), fv.getType(), ass); - } - }); - } - }); - - } - + /* * this is to find a condition with a list of given keyword */ public List findCondition(String keyword) { - int initialSize = nodeSet.getNodeSortedList().size(); - List conditionList = new ArrayList<>(initialSize); - List questionList = new ArrayList<>(initialSize); - for(Node node: nodeSet.getNodeSortedList()) - { - if(nodeSet.getDependencyMatrix().getToChildDependencyList(node.getNodeId()).isEmpty()) - { - questionList.add(node.getNodeName()); - } - } - - String[] keywordArray = keyword.split("\\W+"); // split the keyword by none word character including whitespace. - int keywordArrayLength = keywordArray.length; - int numberOfMatched = 0; - for(String ruleName: questionList) - { - numberOfMatched = 0; - for(int i = 0; i < keywordArrayLength; i++) - { - if(ruleName.contains(keywordArray[i])) - { - numberOfMatched++; - } - } - if(numberOfMatched == keywordArrayLength) - { - conditionList.add(ruleName); - } - } - - return conditionList; + int initialSize = nodeSet.getNodeSortedList().size(); + List conditionList = new ArrayList<>(initialSize); + List questionList = new ArrayList<>(initialSize); + for(Node node: nodeSet.getNodeSortedList()) + { + if(nodeSet.getDependencyMatrix().getToChildDependencyList(node.getNodeId()).isEmpty()) + { + questionList.add(node.getNodeName()); + } + } + + String[] keywordArray = keyword.split("\\W+"); // split the keyword by none word character including whitespace. + int keywordArrayLength = keywordArray.length; + int numberOfMatched = 0; + for(String ruleName: questionList) + { + numberOfMatched = 0; + for(int i = 0; i < keywordArrayLength; i++) + { + if(ruleName.contains(keywordArray[i])) + { + numberOfMatched++; + } + } + if(numberOfMatched == keywordArrayLength) + { + conditionList.add(ruleName); + } + } + + return conditionList; } } diff --git a/com.Nadia-R.S/src/main/java/com/NadiaRS/controller/InferenceController.java b/com.Nadia-R.S/src/main/java/com/NadiaRS/controller/InferenceController.java index 607c972..8d48ca1 100644 --- a/com.Nadia-R.S/src/main/java/com/NadiaRS/controller/InferenceController.java +++ b/com.Nadia-R.S/src/main/java/com/NadiaRS/controller/InferenceController.java @@ -17,7 +17,6 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; -import com.NadiaRS.InferenceEngine.factValuePackage.FactValue; import com.NadiaRS.InferenceEngine.factValuePackage.FactValueType; import com.NadiaRS.InferenceEngine.inferencePackage.Assessment; import com.NadiaRS.InferenceEngine.inferencePackage.InferenceEngine; @@ -30,7 +29,6 @@ import com.NadiaRS.domain.RuleHistory; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import jersey.repackaged.com.google.common.collect.Lists; @@ -50,71 +48,12 @@ public class InferenceController { public ObjectNode[] viewSummary(HttpServletRequest httpRequest) { InferenceEngine ie = (InferenceEngine)httpRequest.getSession().getAttribute("inferenceEngine"); - - List tempSummaryList = new ArrayList<>(); - HashMap tempWorkingMemory = ie.getAssessmentState().getWorkingMemory(); - ie.getAssessmentState().getSummaryList().stream().forEachOrdered((item)->{ - ObjectNode objectNode = new ObjectMapper().createObjectNode(); - objectNode.put("nodeText", item); - objectNode.put("nodeValue", tempWorkingMemory.get(item).getValue().toString()); - tempSummaryList.add(objectNode); - }); - - //following lines are to transfer all possible left over value from editing answers process from workingMemory to summary list in GUI - tempWorkingMemory.keySet().stream().forEach(key->{ - if(!ie.getAssessmentState().getSummaryList().contains(key)) - { - ObjectNode objectNode = new ObjectMapper().createObjectNode(); - objectNode.put("nodeText", key); - objectNode.put("nodeValue", tempWorkingMemory.get(key).getValue().toString()); - tempSummaryList.add(objectNode); - } - }); - - return tempSummaryList.stream().toArray(ObjectNode[]::new); - } - - @RequestMapping(value = "editAnswer", method = RequestMethod.POST) - public ObjectNode editAnswer(@RequestBody ObjectNode question, HttpServletRequest httpRequest) - { - InferenceEngine ie = (InferenceEngine)httpRequest.getSession().getAttribute("inferenceEngine"); - Assessment ass = (Assessment)httpRequest.getSession().getAttribute("assessment"); - - String questionName = question.get("question").asText(); - - ie.editAnswer(questionName); - - ObjectNode objectNode = new ObjectMapper().createObjectNode(); - ArrayNode questionsAndAnswers = objectNode.putArray("workingMemory"); - HashMap tempWorkingMemory = ie.getAssessmentState().getWorkingMemory(); - tempWorkingMemory.keySet().stream().forEach(key->{ - ObjectNode subObjectNode = new ObjectMapper().createObjectNode(); - subObjectNode.put("questionText", key); - subObjectNode.put("answer", tempWorkingMemory.get(key).getValue().toString()); - subObjectNode.put("answerValueType", tempWorkingMemory.get(key).getType().toString()); - questionsAndAnswers.add(subObjectNode); - }); - if(ie.getAssessmentState().getWorkingMemory().get(ass.getGoalNode().getNodeName())==null || !ie.getAssessmentState().allMandatoryNodeDetermined()) - { - objectNode.put("hasMoreQuestion", "true"); - } - else - { - String goalNodeName = ass.getGoalNode().getNodeName(); - objectNode.put("hasMoreQuestion", "false"); - objectNode.put("goalRuleName", goalNodeName); - objectNode.put("goalRuleValue", ie.getAssessmentState().getWorkingMemory().get(goalNodeName).getValue().toString()); - objectNode.put("goalRuleType", ie.findTypeOfElementToBeAsked(ass.getGoalNode()).get(goalNodeName).toString().toLowerCase()); - - } - - return objectNode; - + return ie.generateAssessmentSummary(); } @RequestMapping(value="feedAnswer", method = RequestMethod.POST) -// @ResponseBody + @ResponseBody public ObjectNode feedAnswer(@RequestBody ObjectNode answers, HttpServletRequest httpRequest) { InferenceEngine ie = (InferenceEngine)httpRequest.getSession().getAttribute("inferenceEngine");