#502 improve import/export
This commit is contained in:
parent
065e2a117b
commit
8e78378a13
1 changed files with 14 additions and 16 deletions
|
@ -22,6 +22,7 @@ import java.io.Reader;
|
|||
import java.io.Writer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
@ -179,6 +180,7 @@ public class ElevateWordService {
|
|||
}
|
||||
|
||||
public void importCsv(final Reader reader) {
|
||||
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
|
||||
@SuppressWarnings("resource")
|
||||
final CsvReader csvReader = new CsvReader(reader, new CsvConfig());
|
||||
try {
|
||||
|
@ -191,22 +193,20 @@ public class ElevateWordService {
|
|||
continue;
|
||||
}
|
||||
try {
|
||||
final String role = getValue(list, 2);
|
||||
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper(); // TODO
|
||||
final String[] permissions =
|
||||
stream(getValue(list, 2).split(",")).get(
|
||||
stream -> stream.map(s -> permissionHelper.encode(s)).filter(StringUtil::isNotBlank).distinct()
|
||||
.toArray(n -> new String[n])); // TODO
|
||||
.toArray(n -> new String[n]));
|
||||
final String label = getValue(list, 3);
|
||||
ElevateWord elevateWord = elevateWordBhv.selectEntity(cb -> {
|
||||
cb.query().setSuggestWord_Equal(suggestWord);
|
||||
if (StringUtil.isNotBlank(role)) {
|
||||
cb.query().setPermissions_Equal(role);
|
||||
if (permissions.length > 0) {
|
||||
cb.query().setPermissions_InScope(stream(permissions).get(stream -> stream.collect(Collectors.toList())));
|
||||
}
|
||||
if (StringUtil.isNotBlank(label)) {
|
||||
cb.query().setTargetLabel_Equal(label);
|
||||
}
|
||||
}).orElse(null);//TODO
|
||||
}).orElse(null);
|
||||
final String reading = getValue(list, 1);
|
||||
final String boost = getValue(list, 4);
|
||||
final long now = ComponentUtil.getSystemHelper().getCurrentTimeAsLong();
|
||||
|
@ -224,6 +224,7 @@ public class ElevateWordService {
|
|||
elevateWordBhv.delete(elevateWord);
|
||||
} else {
|
||||
elevateWord.setReading(reading);
|
||||
elevateWord.setPermissions(permissions);
|
||||
elevateWord.setBoost(StringUtil.isBlank(boost) ? 1.0f : Float.parseFloat(boost));
|
||||
elevateWord.setUpdatedBy("system");
|
||||
elevateWord.setUpdatedTime(now);
|
||||
|
@ -240,6 +241,7 @@ public class ElevateWordService {
|
|||
}
|
||||
|
||||
public void exportCsv(final Writer writer) {
|
||||
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
|
||||
final CsvConfig cfg = new CsvConfig(',', '"', '"');
|
||||
cfg.setEscapeDisabled(false);
|
||||
cfg.setQuoteDisabled(false);
|
||||
|
@ -249,7 +251,7 @@ public class ElevateWordService {
|
|||
final List<String> list = new ArrayList<>();
|
||||
list.add("SuggestWord");
|
||||
list.add("Reading");
|
||||
list.add("Role");
|
||||
list.add("Permissions");
|
||||
list.add("Label");
|
||||
list.add("Boost");
|
||||
csvWriter.writeValues(list);
|
||||
|
@ -260,17 +262,13 @@ public class ElevateWordService {
|
|||
@Override
|
||||
public void handle(final ElevateWord entity) {
|
||||
final List<String> list = new ArrayList<>();
|
||||
final PermissionHelper permissionHelper = new PermissionHelper();
|
||||
StringBuilder permissions = new StringBuilder();
|
||||
for (String permission : entity.getPermissions()) {
|
||||
if (permissions.length() != 0) {
|
||||
permissions.append(",");
|
||||
}
|
||||
permissions.append(permissionHelper.decode(permission));
|
||||
}
|
||||
final String permissions =
|
||||
stream(entity.getPermissions()).get(
|
||||
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
|
||||
.collect(Collectors.joining(",")));
|
||||
addToList(list, entity.getSuggestWord());
|
||||
addToList(list, entity.getReading());
|
||||
addToList(list, permissions.toString());
|
||||
addToList(list, permissions);
|
||||
addToList(list, entity.getTargetLabel());
|
||||
addToList(list, entity.getBoost());
|
||||
try {
|
||||
|
|
Loading…
Add table
Reference in a new issue