package com.arthurbergmz.assistant.intelligence;
import com.arthurbergmz.assistant.Assistant;
import com.arthurbergmz.assistant.Config;
import com.arthurbergmz.assistant.intelligence.grammar.EnUSGrammar;
import com.arthurbergmz.assistant.intelligence.grammar.PtBRGrammar;
import com.arthurbergmz.assistant.intelligence.memorybank.Memory;
import com.arthurbergmz.assistant.intelligence.memorybank.Thought;
import com.arthurbergmz.assistant.language.Language;
import com.arthurbergmz.assistant.utils.StringUtils;
public class WhatIsSomethingThought implements Thought {
@Override
public String[] getRelatedSentences(){
return StringUtils.EMPTY_ARRAY;
}
@Override
public boolean execute(String label, Assistant a){
String str = label.toLowerCase();
String[] grammar = (Config.LANGUAGE.equals(Language.PORTUGUESE_BRAZIL) ? PtBRGrammar.TELL_ABOUT.getGrammar() : EnUSGrammar.TELL_ABOUT.getGrammar());
for(int i = 0, j = grammar.length; i < j; i++) str = str.replace(grammar[i].toLowerCase(), "");
str = str.trim();
System.out.println(" -> \"" + str + "\"");
Memory memory = null;
for(Memory m : a.getMemoryBank()){
if(StringUtils.checkSimilarity(str, m.key()) <= 1D){
memory = m;
break;
}
}
if(memory == null){
a.say(Config.LANGUAGE.getTranslation().dontKnowSomething() + " " + str);
}else{
a.say(str + ": " + memory.value());
}
return true;
}
@Override
public int getCommandId() {
return 2;
}
}