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