package org.diagbot.nlp.rule.pretreat;

import org.diagbot.nlp.participle.ParticipleUtil;
import org.diagbot.nlp.participle.word.Lexeme;
import org.diagbot.nlp.participle.word.LexemePath;
import org.diagbot.nlp.rule.module.PreResult;

import java.util.List;

public class PretreatmentNormal extends Pretreatment {
    public List<PreResult> analyze(String content) throws java.io.IOException{
        List<PreResult> preResults = super.analyzeDefault(content);

        LexemePath<Lexeme> lexemes = ParticipleUtil.participle(content);
        for (int i = 0; i < lexemes.size(); i++) {
            Lexeme l = lexemes.get(i);
            if (l.getText().equals("性别") && i < lexemes.size() - 1) {
                Lexeme afterLexeme = lexemes.get(i + 1);
                if ("男性".equals(afterLexeme.getText()) || "女性".equals(afterLexeme.getText())) {
                    PreResult result = new PreResult();
                    result.setUniqueName(l.getText()+"--");
                    result.setDetailName(l.getText()+"--");
                    result.setValue(afterLexeme.getText());
                    preResults.add(result);
                    return preResults;
                }
            }
        }
        return preResults;
    }

    public PreResult createPreResult(LexemePath<Lexeme> lexemes, Lexeme lexeme, int index) {
        return super.createDefaultPreResult(lexemes, lexeme, index);
    }

    public String findBodyValue(LexemePath<Lexeme> lexemes, Lexeme lexeme, int index) {
        if (cursor > 0) cursor--;
        Lexeme leftLexeme = lexemes.get(cursor);
        if (leftLexeme.getText().equals("年龄")) {
            return leftLexeme.getText()+"--";
        }
        return null;
    }
}
