This commit is contained in:
parent
6df23b3c73
commit
c9014bf859
2 changed files with 78 additions and 38 deletions
|
@ -41,6 +41,8 @@ import org.seasar.dbflute.cbean.EntityRowHandler;
|
|||
public class SuggestBadWordService extends BsSuggestBadWordService implements
|
||||
Serializable {
|
||||
|
||||
private static final String DELETE_PREFIX = "--";
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private static final Log log = LogFactory
|
||||
|
@ -90,29 +92,34 @@ public class SuggestBadWordService extends BsSuggestBadWordService implements
|
|||
List<String> list;
|
||||
csvReader.readValues(); // ignore header
|
||||
while ((list = csvReader.readValues()) != null) {
|
||||
String badWord = getValue(list, 0);
|
||||
if (StringUtil.isBlank(badWord)) {
|
||||
// skip
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
boolean isDelete = false;
|
||||
if (badWord.startsWith(DELETE_PREFIX)) {
|
||||
isDelete = true;
|
||||
badWord = badWord.substring(2);
|
||||
}
|
||||
final SuggestBadWordCB cb = new SuggestBadWordCB();
|
||||
cb.query().setSuggestWord_Equal(strip(list.get(0)));
|
||||
cb.query().setSuggestWord_Equal(badWord);
|
||||
SuggestBadWord suggestBadWord = suggestBadWordBhv
|
||||
.selectEntity(cb);
|
||||
if (suggestBadWord == null) {
|
||||
suggestBadWord = new SuggestBadWord();
|
||||
suggestBadWord.setSuggestWord(strip(list.get(0)));
|
||||
suggestBadWord.setTargetRole(strip(list.get(1)));
|
||||
suggestBadWord.setTargetLabel(strip(list.get(2)));
|
||||
suggestBadWord.setCreatedBy("system");
|
||||
suggestBadWord.setCreatedTime(new Timestamp(System
|
||||
.currentTimeMillis()));
|
||||
suggestBadWordBhv.insert(suggestBadWord);
|
||||
} else if (list.get(1).equals("\"\"")
|
||||
&& list.get(2).equals("\"\"")) {
|
||||
if (isDelete) {
|
||||
suggestBadWord.setDeletedBy("system");
|
||||
suggestBadWord.setDeletedTime(new Timestamp(System
|
||||
.currentTimeMillis()));
|
||||
suggestBadWordBhv.update(suggestBadWord);
|
||||
} else if (suggestBadWord == null) {
|
||||
suggestBadWord = new SuggestBadWord();
|
||||
suggestBadWord.setSuggestWord(badWord);
|
||||
suggestBadWord.setCreatedBy("system");
|
||||
suggestBadWord.setCreatedTime(new Timestamp(System
|
||||
.currentTimeMillis()));
|
||||
suggestBadWordBhv.insert(suggestBadWord);
|
||||
} else {
|
||||
suggestBadWord.setTargetRole(strip(list.get(1)));
|
||||
suggestBadWord.setTargetLabel(strip(list.get(2)));
|
||||
suggestBadWord.setUpdatedBy("system");
|
||||
suggestBadWord.setUpdatedTime(new Timestamp(System
|
||||
.currentTimeMillis()));
|
||||
|
@ -135,9 +142,7 @@ public class SuggestBadWordService extends BsSuggestBadWordService implements
|
|||
final CsvWriter csvWriter = new CsvWriter(writer, cfg);
|
||||
try {
|
||||
final List<String> list = new ArrayList<>();
|
||||
list.add("SuggestWord");
|
||||
list.add("Role");
|
||||
list.add("Label");
|
||||
list.add("BadWord");
|
||||
csvWriter.writeValues(list);
|
||||
|
||||
final SuggestBadWordCB cb = new SuggestBadWordCB();
|
||||
|
@ -148,8 +153,6 @@ public class SuggestBadWordService extends BsSuggestBadWordService implements
|
|||
public void handle(final SuggestBadWord entity) {
|
||||
final List<String> list = new ArrayList<String>();
|
||||
addToList(list, entity.getSuggestWord());
|
||||
addToList(list, entity.getTargetRole());
|
||||
addToList(list, entity.getTargetLabel());
|
||||
try {
|
||||
csvWriter.writeValues(list);
|
||||
} catch (final IOException e) {
|
||||
|
@ -174,7 +177,18 @@ public class SuggestBadWordService extends BsSuggestBadWordService implements
|
|||
}
|
||||
}
|
||||
|
||||
private static String strip(final String item) {
|
||||
return item.substring(1, item.length() - 1);
|
||||
private static String getValue(final List<String> list, final int index) {
|
||||
if (index < list.size()) {
|
||||
return StringUtil.EMPTY;
|
||||
}
|
||||
String item = list.get(index).trim();
|
||||
if (StringUtil.isBlank(item)) {
|
||||
return StringUtil.EMPTY;
|
||||
}
|
||||
if (item.length() > 1 && item.charAt(0) == '"'
|
||||
&& item.charAt(item.length() - 1) == '"') {
|
||||
item = item.substring(1, item.length() - 2);
|
||||
}
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -93,36 +93,50 @@ public class SuggestElevateWordService extends BsSuggestElevateWordService
|
|||
List<String> list;
|
||||
csvReader.readValues(); // ignore header
|
||||
while ((list = csvReader.readValues()) != null) {
|
||||
final String suggestWord = getValue(list, 0);
|
||||
if (StringUtil.isBlank(suggestWord)) {
|
||||
// skip
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
final SuggestElevateWordCB cb = new SuggestElevateWordCB();
|
||||
cb.query().setSuggestWord_Equal(strip(list.get(0)));
|
||||
final String role = getValue(list, 2);
|
||||
final String label = getValue(list, 3);
|
||||
cb.query().setSuggestWord_Equal(suggestWord);
|
||||
if (StringUtil.isNotBlank(role)) {
|
||||
cb.query().setTargetRole_Equal(role);
|
||||
}
|
||||
if (StringUtil.isNotBlank(label)) {
|
||||
cb.query().setTargetLabel_Equal(label);
|
||||
}
|
||||
SuggestElevateWord suggestElevateWord = suggestElevateWordBhv
|
||||
.selectEntity(cb);
|
||||
final String reading = getValue(list, 1);
|
||||
final String boost = getValue(list, 4);
|
||||
if (suggestElevateWord == null) {
|
||||
suggestElevateWord = new SuggestElevateWord();
|
||||
suggestElevateWord.setSuggestWord(strip(list.get(0)));
|
||||
suggestElevateWord.setReading(strip(list.get(1)));
|
||||
suggestElevateWord.setTargetRole(strip(list.get(2)));
|
||||
suggestElevateWord.setTargetLabel(strip(list.get(3)));
|
||||
suggestElevateWord.setBoost(new BigDecimal(strip(list
|
||||
.get(4))));
|
||||
suggestElevateWord.setSuggestWord(suggestWord);
|
||||
suggestElevateWord.setReading(reading);
|
||||
suggestElevateWord.setTargetRole(role);
|
||||
suggestElevateWord.setTargetLabel(label);
|
||||
suggestElevateWord
|
||||
.setBoost(StringUtil.isBlank(boost) ? BigDecimal.ONE
|
||||
: new BigDecimal(boost));
|
||||
suggestElevateWord.setCreatedBy("system");
|
||||
suggestElevateWord.setCreatedTime(new Timestamp(System
|
||||
.currentTimeMillis()));
|
||||
suggestElevateWordBhv.insert(suggestElevateWord);
|
||||
} else if (list.get(1).equals("\"\"")
|
||||
&& list.get(2).equals("\"\"")
|
||||
&& list.get(3).equals("\"\"")) {
|
||||
} else if (StringUtil.isBlank(reading)
|
||||
&& StringUtil.isBlank(boost)) {
|
||||
suggestElevateWord.setDeletedBy("system");
|
||||
suggestElevateWord.setDeletedTime(new Timestamp(System
|
||||
.currentTimeMillis()));
|
||||
suggestElevateWordBhv.update(suggestElevateWord);
|
||||
} else {
|
||||
suggestElevateWord.setReading(strip(list.get(1)));
|
||||
suggestElevateWord.setTargetRole(strip(list.get(2)));
|
||||
suggestElevateWord.setTargetLabel(strip(list.get(3)));
|
||||
suggestElevateWord.setBoost(new BigDecimal(strip(list
|
||||
.get(4))));
|
||||
suggestElevateWord.setReading(reading);
|
||||
suggestElevateWord
|
||||
.setBoost(StringUtil.isBlank(boost) ? BigDecimal.ONE
|
||||
: new BigDecimal(boost));
|
||||
suggestElevateWord.setUpdatedBy("system");
|
||||
suggestElevateWord.setUpdatedTime(new Timestamp(System
|
||||
.currentTimeMillis()));
|
||||
|
@ -189,7 +203,19 @@ public class SuggestElevateWordService extends BsSuggestElevateWordService
|
|||
}
|
||||
}
|
||||
|
||||
private static String strip(final String item) {
|
||||
return item.substring(1, item.length() - 1);
|
||||
static String getValue(final List<String> list, final int index) {
|
||||
if (index < list.size()) {
|
||||
return StringUtil.EMPTY;
|
||||
}
|
||||
String item = list.get(index).trim();
|
||||
if (StringUtil.isBlank(item)) {
|
||||
return StringUtil.EMPTY;
|
||||
}
|
||||
if (item.length() > 1 && item.charAt(0) == '"'
|
||||
&& item.charAt(item.length() - 1) == '"') {
|
||||
item = item.substring(1, item.length() - 2);
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue