Merge branch 'release/release-1.4.0'
This commit is contained in:
commit
f2c172b852
2
pom.xml
2
pom.xml
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>org.sadtech.autoresponder</groupId>
|
<groupId>org.sadtech.autoresponder</groupId>
|
||||||
<artifactId>autoresponder</artifactId>
|
<artifactId>autoresponder</artifactId>
|
||||||
<version>1.3.1-RELEASE</version>
|
<version>1.4.0-RELEASE</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
package org.sadtech.autoresponder;
|
package org.sadtech.autoresponder;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
import org.sadtech.autoresponder.compare.UnitPriorityComparator;
|
||||||
import org.sadtech.autoresponder.entity.Person;
|
import org.sadtech.autoresponder.entity.Person;
|
||||||
import org.sadtech.autoresponder.entity.Unit;
|
import org.sadtech.autoresponder.entity.Unit;
|
||||||
import org.sadtech.autoresponder.entity.compare.UnitPriorityComparator;
|
|
||||||
import org.sadtech.autoresponder.service.PersonService;
|
import org.sadtech.autoresponder.service.PersonService;
|
||||||
import org.sadtech.autoresponder.service.UnitService;
|
|
||||||
import org.sadtech.autoresponder.submodule.parser.Parser;
|
import org.sadtech.autoresponder.submodule.parser.Parser;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashSet;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@ -16,9 +17,17 @@ public class Autoresponder {
|
|||||||
|
|
||||||
public static final Logger log = Logger.getLogger(Autoresponder.class);
|
public static final Logger log = Logger.getLogger(Autoresponder.class);
|
||||||
|
|
||||||
private UnitService unitService;
|
private Set<Unit> menuUnits;
|
||||||
private PersonService personService;
|
private PersonService personService;
|
||||||
|
|
||||||
|
public Autoresponder(PersonService personService) {
|
||||||
|
this.personService = personService;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMenuUnits(Set<Unit> menuUnits) {
|
||||||
|
this.menuUnits = menuUnits;
|
||||||
|
}
|
||||||
|
|
||||||
public PersonService getPersonService() {
|
public PersonService getPersonService() {
|
||||||
return personService;
|
return personService;
|
||||||
}
|
}
|
||||||
@ -27,19 +36,14 @@ public class Autoresponder {
|
|||||||
this.personService = personService;
|
this.personService = personService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Autoresponder(UnitService unitService, PersonService personService) {
|
|
||||||
this.unitService = unitService;
|
|
||||||
this.personService = personService;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Unit answer(Integer idPerson, String message) {
|
public Unit answer(Integer idPerson, String message) {
|
||||||
Person person = checkAndAddPerson(idPerson);
|
Person person = checkAndAddPerson(idPerson);
|
||||||
Unit unit;
|
Unit unit;
|
||||||
if (person.getUnit() == null) {
|
if (person.getUnit() == null) {
|
||||||
unit = nextUnit(unitService.menuUnit(), message);
|
unit = nextUnit(menuUnits, message);
|
||||||
} else {
|
} else {
|
||||||
if (person.getUnit().getNextUnits() == null) {
|
if (person.getUnit().getNextUnits() == null) {
|
||||||
unit = nextUnit(unitService.menuUnit(), message);
|
unit = nextUnit(menuUnits, message);
|
||||||
} else {
|
} else {
|
||||||
unit = nextUnit(person.getUnit().getNextUnits(), message);
|
unit = nextUnit(person.getUnit().getNextUnits(), message);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package org.sadtech.autoresponder.entity.compare;
|
package org.sadtech.autoresponder.compare;
|
||||||
|
|
||||||
import org.sadtech.autoresponder.entity.Unit;
|
import org.sadtech.autoresponder.entity.Unit;
|
||||||
|
|
@ -1,6 +1,8 @@
|
|||||||
package org.sadtech.autoresponder.entity;
|
package org.sadtech.autoresponder.entity;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashSet;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public abstract class Unit {
|
public abstract class Unit {
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package org.sadtech.autoresponder.repository.impl;
|
package org.sadtech.autoresponder.repository;
|
||||||
|
|
||||||
import org.sadtech.autoresponder.entity.Person;
|
import org.sadtech.autoresponder.entity.Person;
|
||||||
import org.sadtech.autoresponder.repository.PersonRepository;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class PersonRepositoryMap implements PersonRepository {
|
public class PersonRepositoryMap implements PersonRepository {
|
||||||
|
|
@ -1,16 +0,0 @@
|
|||||||
package org.sadtech.autoresponder.repository;
|
|
||||||
|
|
||||||
import org.sadtech.autoresponder.entity.Unit;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public interface UnitRepository {
|
|
||||||
|
|
||||||
void addUnit(Unit unit);
|
|
||||||
|
|
||||||
void addUnits(List<Unit> units);
|
|
||||||
|
|
||||||
Set<Unit> menuUnits();
|
|
||||||
|
|
||||||
}
|
|
@ -1,11 +1,9 @@
|
|||||||
package org.sadtech.autoresponder.service.impl;
|
package org.sadtech.autoresponder.service;
|
||||||
|
|
||||||
import org.sadtech.autoresponder.entity.Person;
|
|
||||||
import org.sadtech.autoresponder.repository.PersonRepository;
|
|
||||||
import org.sadtech.autoresponder.repository.impl.PersonRepositoryMap;
|
|
||||||
import org.sadtech.autoresponder.service.PersonService;
|
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
import org.sadtech.autoresponder.entity.Person;
|
||||||
|
import org.sadtech.autoresponder.repository.PersonRepository;
|
||||||
|
import org.sadtech.autoresponder.repository.PersonRepositoryMap;
|
||||||
|
|
||||||
public class PersonServiceImpl implements PersonService {
|
public class PersonServiceImpl implements PersonService {
|
||||||
|
|
@ -1,13 +0,0 @@
|
|||||||
package org.sadtech.autoresponder.service;
|
|
||||||
|
|
||||||
import org.sadtech.autoresponder.entity.Unit;
|
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public interface UnitService {
|
|
||||||
|
|
||||||
Set<Unit> menuUnit();
|
|
||||||
|
|
||||||
void addUnit(Unit unit);
|
|
||||||
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
package org.sadtech.autoresponder.service.impl;
|
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
|
||||||
import org.sadtech.autoresponder.entity.Unit;
|
|
||||||
import org.sadtech.autoresponder.repository.UnitRepository;
|
|
||||||
import org.sadtech.autoresponder.service.UnitService;
|
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class UnitServiceImpl implements UnitService {
|
|
||||||
|
|
||||||
private static final Logger log = Logger.getLogger(UnitServiceImpl.class);
|
|
||||||
|
|
||||||
private UnitRepository unitRepository;
|
|
||||||
|
|
||||||
public UnitServiceImpl(UnitRepository unitRepository) {
|
|
||||||
this.unitRepository = unitRepository;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Set<Unit> menuUnit() {
|
|
||||||
return unitRepository.menuUnits();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void addUnit(Unit unit) {
|
|
||||||
unitRepository.addUnit(unit);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,140 +0,0 @@
|
|||||||
//package org.sadtech.autoresponder;
|
|
||||||
//
|
|
||||||
//import org.junit.Assert;
|
|
||||||
//import org.junit.Before;
|
|
||||||
//import org.junit.Ignore;
|
|
||||||
//import org.junit.Test;
|
|
||||||
//import org.sadtech.autoresponder.entity.Person;
|
|
||||||
//import org.sadtech.autoresponder.entity.Unit;
|
|
||||||
//import org.sadtech.autoresponder.repository.UnitRepository;
|
|
||||||
//import org.sadtech.autoresponder.repository.impl.PersonRepositoryMap;
|
|
||||||
//import org.sadtech.autoresponder.service.impl.PersonServiceImpl;
|
|
||||||
//import org.sadtech.autoresponder.service.impl.UnitServiceImpl;
|
|
||||||
//
|
|
||||||
//import java.util.*;
|
|
||||||
//
|
|
||||||
//public class AutoresponderTest {
|
|
||||||
//
|
|
||||||
// private Person person = new Person(1);
|
|
||||||
// private TextUnit unit = new TextUnit();
|
|
||||||
// private TextUnit unit2 = new TextUnit();
|
|
||||||
// private TextUnit unit3 = new TextUnit();
|
|
||||||
// private ArrayList<Unit> units = new ArrayList<>();
|
|
||||||
// private TextUnitRepositoryList unitRepository = new TextUnitRepositoryList();
|
|
||||||
// private PersonRepositoryMap personRepository = new PersonRepositoryMap();
|
|
||||||
//
|
|
||||||
// private UnitServiceImpl unitService = new UnitServiceImpl();
|
|
||||||
// private PersonServiceImpl personService = new PersonServiceImpl(personRepository);
|
|
||||||
// private Autoresponder autoresponder = new Autoresponder(unitService, personService);
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// @Before
|
|
||||||
// public void before() {
|
|
||||||
// unitService.addUnitRepository(unitRepository);
|
|
||||||
//
|
|
||||||
// HashSet<String> words = new HashSet<>();
|
|
||||||
// HashSet<String> words2 = new HashSet<>();
|
|
||||||
// words.add("тест");
|
|
||||||
// words2.add("тест");
|
|
||||||
// words2.add("привет");
|
|
||||||
//
|
|
||||||
// unit.setPriority(50);
|
|
||||||
// unit.setKeyWords(words);
|
|
||||||
// unit.setAnswer("Здравствуйте, вы написали в нашу компанию!");
|
|
||||||
// unit.setMatchThreshold(100);
|
|
||||||
//
|
|
||||||
// units.add(unit2);
|
|
||||||
// units.add(unit3);
|
|
||||||
//
|
|
||||||
// unit.setNextUnits(units);
|
|
||||||
//
|
|
||||||
// unit2.setAnswer("Ответ с {0} параметрами!");
|
|
||||||
// unit2.setPriority(60);
|
|
||||||
// unit2.setKeyWords(words);
|
|
||||||
// unit2.setMatchThreshold(100);
|
|
||||||
//
|
|
||||||
// unit3.setAnswer("Второй Ответ с {0} параметрами!");
|
|
||||||
// unit3.setPriority(50);
|
|
||||||
// unit3.setKeyWords(words2);
|
|
||||||
// unit3.setMatchThreshold(100);
|
|
||||||
//
|
|
||||||
// person.setUnit(unit);
|
|
||||||
//
|
|
||||||
// unitRepository.addUnit(unit);
|
|
||||||
// unitRepository.addUnit(unit2);
|
|
||||||
// personRepository.addPerson(person);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Test
|
|
||||||
// @Ignore
|
|
||||||
// public void usualAnswer() {
|
|
||||||
// Unit unit = autoresponder.answer(person.getId(), "Привет это тест срабатывания");
|
|
||||||
// Assert.assertEquals(((TextUnit) unit).getAnswer(), "Ответ с {0} параметрами!");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// @Test
|
|
||||||
// @Ignore
|
|
||||||
// public void NoAnswer() {
|
|
||||||
// person.setUnit(null);
|
|
||||||
// autoresponder.answer(person.getId(), "Привет это срабатывания");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// @Test
|
|
||||||
// @Ignore
|
|
||||||
// public void answerByPriority() {
|
|
||||||
// Assert.assertEquals(autoresponder.answer(person.getId(), "Привет это тест срабатывания"), "Ответ с {0} параметрами!");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Test
|
|
||||||
// @Ignore
|
|
||||||
// public void answerNoPerson() {
|
|
||||||
// TextUnit textUnit = (TextUnit) autoresponder.answer(100, "Привет это тест срабатывания");
|
|
||||||
// Assert.assertEquals(textUnit.getAnswer(), "Здравствуйте, вы написали в нашу компанию!");
|
|
||||||
// textUnit = (TextUnit) autoresponder.answer(100, "Привет это тест срабатывания");
|
|
||||||
// Assert.assertEquals(textUnit.getAnswer(), "Ответ с {0} параметрами!");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// private class TextUnit extends Unit {
|
|
||||||
// private String answer;
|
|
||||||
//
|
|
||||||
// public TextUnit() {
|
|
||||||
// super();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getAnswer() {
|
|
||||||
// return answer;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setAnswer(String answer) {
|
|
||||||
// this.answer = answer;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// private class TextUnitRepositoryList implements UnitRepository {
|
|
||||||
//
|
|
||||||
// List<TextUnit> textUnits = new ArrayList<>();
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public void addUnit(TextUnit unit) {
|
|
||||||
// textUnits.add(unit);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public void addUnits(List<TextUnit> units) {
|
|
||||||
// textUnits.addAll(units);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public List<TextUnit> menuUnits() {
|
|
||||||
// List<TextUnit> units = new ArrayList<>();
|
|
||||||
// for (TextUnit textUnit : textUnits) {
|
|
||||||
// units.add(textUnit);
|
|
||||||
// }
|
|
||||||
// return units;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
@ -1,45 +0,0 @@
|
|||||||
//package org.sadtech.autoresponder.submodule.insertwords;
|
|
||||||
//
|
|
||||||
//import org.junit.After;
|
|
||||||
//import org.junit.Assert;
|
|
||||||
//import org.junit.Test;
|
|
||||||
//import org.sadtech.autoresponder.submodule.insertwords.InsertWords;
|
|
||||||
//
|
|
||||||
//import java.util.ArrayList;
|
|
||||||
//
|
|
||||||
//public class InsertWordsTest {
|
|
||||||
//
|
|
||||||
// private ArrayList<String> arrayList = new ArrayList<>();
|
|
||||||
// private InsertWords insertWords = new InsertWords();
|
|
||||||
//
|
|
||||||
// @After
|
|
||||||
// public void setUp() {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Test
|
|
||||||
// public void insert() {
|
|
||||||
// insertWords.setInText("Проверка {0} теста");
|
|
||||||
// arrayList.add("первого");
|
|
||||||
// insertWords.insert(arrayList);
|
|
||||||
// Assert.assertEquals(insertWords.getOutText(),"Проверка первого теста");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Test
|
|
||||||
// public void insert2() {
|
|
||||||
// insertWords.setInText("Проверка {0} теста и {1} {теста}");
|
|
||||||
// arrayList.add("первого");
|
|
||||||
// arrayList.add("второго");
|
|
||||||
// insertWords.insert(arrayList);
|
|
||||||
// Assert.assertEquals(insertWords.getOutText(),"Проверка первого теста и второго {теста}");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Test
|
|
||||||
// public void insert3() {
|
|
||||||
// insertWords.setInText("Проверка {1} теста и {0} {теста}");
|
|
||||||
// arrayList.add("первого");
|
|
||||||
// arrayList.add("второго");
|
|
||||||
// insertWords.insert(arrayList);
|
|
||||||
// Assert.assertEquals(insertWords.getOutText(),"Проверка второго теста и первого {теста}");
|
|
||||||
// }
|
|
||||||
//}
|
|
@ -1,26 +0,0 @@
|
|||||||
package org.sadtech.autoresponder.submodule.parser;
|
|
||||||
|
|
||||||
import org.junit.Assert;
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
|
||||||
|
|
||||||
public class ParserTest {
|
|
||||||
|
|
||||||
private Parser parser = new Parser();
|
|
||||||
private Set<String> words = new HashSet<>();
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void parse() {
|
|
||||||
parser.setText("Проверка парсера на правильность");
|
|
||||||
parser.parse();
|
|
||||||
words.add("проверка");
|
|
||||||
words.add("парсера");
|
|
||||||
words.add("на");
|
|
||||||
words.add("правильность");
|
|
||||||
Assert.assertEquals(parser.getWords(), words);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user