Небольшие правки
This commit is contained in:
parent
2947942971
commit
55d164764e
@ -30,10 +30,10 @@ public class Autoresponder {
|
|||||||
if (person.getUnit() == null) {
|
if (person.getUnit() == null) {
|
||||||
unit = nextUnit(unitService.menuUnit(), message);
|
unit = nextUnit(unitService.menuUnit(), message);
|
||||||
} else {
|
} else {
|
||||||
if (person.getUnit().getNextUnits() != null) {
|
if (person.getUnit().getNextUnits() == null) {
|
||||||
unit = nextUnit(person.getUnit().getNextUnits(), message);
|
|
||||||
} else {
|
|
||||||
unit = nextUnit(unitService.menuUnit(), message);
|
unit = nextUnit(unitService.menuUnit(), message);
|
||||||
|
} else {
|
||||||
|
unit = nextUnit(person.getUnit().getNextUnits(), message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (unit!=null) {
|
if (unit!=null) {
|
||||||
|
@ -9,18 +9,17 @@ public abstract class Unit {
|
|||||||
private Set<String> keyWords;
|
private Set<String> keyWords;
|
||||||
private Integer matchThreshold;
|
private Integer matchThreshold;
|
||||||
private Integer priority;
|
private Integer priority;
|
||||||
private Boolean level;
|
|
||||||
private List<Unit> nextUnits;
|
private List<Unit> nextUnits;
|
||||||
|
|
||||||
public Unit() {
|
public Unit() {
|
||||||
level = false;
|
priority = 10;
|
||||||
|
matchThreshold = 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Unit(Set<String> keyWords, Integer matchThreshold, Integer priority, Boolean level, List<Unit> nextUnits) {
|
public Unit(Set<String> keyWords, Integer matchThreshold, Integer priority, Boolean level, List<Unit> nextUnits) {
|
||||||
this.keyWords = keyWords;
|
this.keyWords = keyWords;
|
||||||
this.matchThreshold = matchThreshold;
|
this.matchThreshold = matchThreshold;
|
||||||
this.priority = priority;
|
this.priority = priority;
|
||||||
this.level = level;
|
|
||||||
this.nextUnits = nextUnits;
|
this.nextUnits = nextUnits;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,14 +47,6 @@ public abstract class Unit {
|
|||||||
this.priority = priority;
|
this.priority = priority;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getLevel() {
|
|
||||||
return level;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLevel(Boolean level) {
|
|
||||||
this.level = level;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Unit> getNextUnits() {
|
public List<Unit> getNextUnits() {
|
||||||
return nextUnits;
|
return nextUnits;
|
||||||
}
|
}
|
||||||
@ -72,12 +63,11 @@ public abstract class Unit {
|
|||||||
return Objects.equals(keyWords, unit.keyWords) &&
|
return Objects.equals(keyWords, unit.keyWords) &&
|
||||||
Objects.equals(matchThreshold, unit.matchThreshold) &&
|
Objects.equals(matchThreshold, unit.matchThreshold) &&
|
||||||
Objects.equals(priority, unit.priority) &&
|
Objects.equals(priority, unit.priority) &&
|
||||||
Objects.equals(level, unit.level) &&
|
|
||||||
Objects.equals(nextUnits, unit.nextUnits);
|
Objects.equals(nextUnits, unit.nextUnits);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(keyWords, matchThreshold, priority, level, nextUnits);
|
return Objects.hash(keyWords, matchThreshold, priority, nextUnits);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,14 +2,13 @@ package org.sadtech.autoresponder.repository;
|
|||||||
|
|
||||||
import org.sadtech.autoresponder.entity.Unit;
|
import org.sadtech.autoresponder.entity.Unit;
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface UnitRepository<T extends Unit> {
|
public interface UnitRepository<T extends Unit> {
|
||||||
|
|
||||||
void addUnit(T unit);
|
void addUnit(T unit);
|
||||||
|
|
||||||
void addUnits(Collection<T> units);
|
void addUnits(List<T> units);
|
||||||
|
|
||||||
List<T> menuUnits();
|
List<T> menuUnits();
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ public class PersonRepositoryMap implements PersonRepository {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removePerson(Person person) {
|
public void removePerson(Person person) {
|
||||||
people.remove(person);
|
people.remove(person.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,33 +1,33 @@
|
|||||||
package org.sadtech.autoresponder.submodule.insertwords;
|
//package org.sadtech.autoresponder.submodule.insertwords;
|
||||||
|
//
|
||||||
import lombok.Getter;
|
//import lombok.Getter;
|
||||||
import lombok.Setter;
|
//import lombok.Setter;
|
||||||
|
//
|
||||||
import java.util.List;
|
//import java.util.List;
|
||||||
import java.util.regex.Matcher;
|
//import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
//import java.util.regex.Pattern;
|
||||||
|
//
|
||||||
public class InsertWords {
|
//public class InsertWords {
|
||||||
|
//
|
||||||
@Setter
|
// @Setter
|
||||||
private String inText;
|
// private String inText;
|
||||||
@Getter
|
// @Getter
|
||||||
private String outText;
|
// private String outText;
|
||||||
|
//
|
||||||
public void insert(List<String> words) {
|
// public void insert(List<String> words) {
|
||||||
Pattern pattern = Pattern.compile("\\{(\\d+)}"); // Задаем шаблон
|
// Pattern pattern = Pattern.compile("\\{(\\d+)}"); // Задаем шаблон
|
||||||
Matcher m = pattern.matcher(inText); // Инициализация Matcher
|
// Matcher m = pattern.matcher(inText); // Инициализация Matcher
|
||||||
StringBuffer result = new StringBuffer(); // Буфер для конечного значения
|
// StringBuffer result = new StringBuffer(); // Буфер для конечного значения
|
||||||
while (m.find()) { // Проверка на совпадение
|
// while (m.find()) { // Проверка на совпадение
|
||||||
if (Integer.parseInt(m.group(1)) < words.size()) {
|
// if (Integer.parseInt(m.group(1)) < words.size()) {
|
||||||
m.appendReplacement(result, words.get(Integer.parseInt(m.group(1)))); // Подставляем значение из HashMap
|
// m.appendReplacement(result, words.get(Integer.parseInt(m.group(1)))); // Подставляем значение из HashMap
|
||||||
} else {
|
// } else {
|
||||||
m.appendReplacement(result, m.group(0));
|
// m.appendReplacement(result, m.group(0));
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
m.appendTail(result); // Добавить остаток строки
|
// m.appendTail(result); // Добавить остаток строки
|
||||||
outText = result.toString();
|
// outText = result.toString();
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
@ -1,45 +1,45 @@
|
|||||||
package org.sadtech.autoresponder.submodule.insertwords;
|
//package org.sadtech.autoresponder.submodule.insertwords;
|
||||||
|
//
|
||||||
import org.junit.After;
|
//import org.junit.After;
|
||||||
import org.junit.Assert;
|
//import org.junit.Assert;
|
||||||
import org.junit.Test;
|
//import org.junit.Test;
|
||||||
import org.sadtech.autoresponder.submodule.insertwords.InsertWords;
|
//import org.sadtech.autoresponder.submodule.insertwords.InsertWords;
|
||||||
|
//
|
||||||
import java.util.ArrayList;
|
//import java.util.ArrayList;
|
||||||
|
//
|
||||||
public class InsertWordsTest {
|
//public class InsertWordsTest {
|
||||||
|
//
|
||||||
private ArrayList<String> arrayList = new ArrayList<>();
|
// private ArrayList<String> arrayList = new ArrayList<>();
|
||||||
private InsertWords insertWords = new InsertWords();
|
// private InsertWords insertWords = new InsertWords();
|
||||||
|
//
|
||||||
@After
|
// @After
|
||||||
public void setUp() {
|
// public void setUp() {
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Test
|
// @Test
|
||||||
public void insert() {
|
// public void insert() {
|
||||||
insertWords.setInText("Проверка {0} теста");
|
// insertWords.setInText("Проверка {0} теста");
|
||||||
arrayList.add("первого");
|
// arrayList.add("первого");
|
||||||
insertWords.insert(arrayList);
|
// insertWords.insert(arrayList);
|
||||||
Assert.assertEquals(insertWords.getOutText(),"Проверка первого теста");
|
// Assert.assertEquals(insertWords.getOutText(),"Проверка первого теста");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Test
|
// @Test
|
||||||
public void insert2() {
|
// public void insert2() {
|
||||||
insertWords.setInText("Проверка {0} теста и {1} {теста}");
|
// insertWords.setInText("Проверка {0} теста и {1} {теста}");
|
||||||
arrayList.add("первого");
|
// arrayList.add("первого");
|
||||||
arrayList.add("второго");
|
// arrayList.add("второго");
|
||||||
insertWords.insert(arrayList);
|
// insertWords.insert(arrayList);
|
||||||
Assert.assertEquals(insertWords.getOutText(),"Проверка первого теста и второго {теста}");
|
// Assert.assertEquals(insertWords.getOutText(),"Проверка первого теста и второго {теста}");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Test
|
// @Test
|
||||||
public void insert3() {
|
// public void insert3() {
|
||||||
insertWords.setInText("Проверка {1} теста и {0} {теста}");
|
// insertWords.setInText("Проверка {1} теста и {0} {теста}");
|
||||||
arrayList.add("первого");
|
// arrayList.add("первого");
|
||||||
arrayList.add("второго");
|
// arrayList.add("второго");
|
||||||
insertWords.insert(arrayList);
|
// insertWords.insert(arrayList);
|
||||||
Assert.assertEquals(insertWords.getOutText(),"Проверка второго теста и первого {теста}");
|
// Assert.assertEquals(insertWords.getOutText(),"Проверка второго теста и первого {теста}");
|
||||||
}
|
// }
|
||||||
}
|
//}
|
Loading…
Reference in New Issue
Block a user