fix invalid api response

This commit is contained in:
nullpos 2017-07-13 17:57:37 +09:00
parent ba220a46ab
commit b079178fb3
5 changed files with 58 additions and 0 deletions

View file

@ -15,6 +15,7 @@
*/
package org.codelibs.fess.app.web.api.admin.dataconfig;
import static org.codelibs.core.stream.StreamUtil.stream;
import static org.codelibs.fess.app.web.admin.dataconfig.AdminDataconfigAction.getDataConfig;
import java.util.List;
@ -22,6 +23,8 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.pager.DataConfigPager;
import org.codelibs.fess.app.service.DataConfigService;
import org.codelibs.fess.app.web.CrudMode;
@ -32,6 +35,8 @@ import org.codelibs.fess.app.web.api.ApiResult.ApiUpdateResponse;
import org.codelibs.fess.app.web.api.ApiResult.Status;
import org.codelibs.fess.app.web.api.admin.FessApiAdminAction;
import org.codelibs.fess.es.config.exentity.DataConfig;
import org.codelibs.fess.helper.PermissionHelper;
import org.codelibs.fess.util.ComponentUtil;
import org.lastaflute.web.Execute;
import org.lastaflute.web.response.JsonResponse;
@ -131,7 +136,17 @@ public class ApiAdminDataconfigAction extends FessApiAdminAction {
final EditBody body = new EditBody();
copyBeanToBean(entity, body, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
body.virtualHosts =
stream(entity.getVirtualHosts()).get(
stream -> stream.filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
return body;
}
}

View file

@ -33,6 +33,7 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.pager.ElevateWordPager;
import org.codelibs.fess.app.service.ElevateWordService;
import org.codelibs.fess.app.web.CrudMode;
@ -192,6 +193,7 @@ public class ApiAdminElevatewordAction extends FessApiAdminAction {
final EditBody body = new EditBody();
copyBeanToBean(entity, body, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =

View file

@ -15,6 +15,7 @@
*/
package org.codelibs.fess.app.web.api.admin.fileconfig;
import static org.codelibs.core.stream.StreamUtil.stream;
import static org.codelibs.fess.app.web.admin.fileconfig.AdminFileconfigAction.getFileConfig;
import java.util.List;
@ -22,6 +23,8 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.pager.FileConfigPager;
import org.codelibs.fess.app.service.FileConfigService;
import org.codelibs.fess.app.web.CrudMode;
@ -32,6 +35,8 @@ import org.codelibs.fess.app.web.api.ApiResult.ApiUpdateResponse;
import org.codelibs.fess.app.web.api.ApiResult.Status;
import org.codelibs.fess.app.web.api.admin.FessApiAdminAction;
import org.codelibs.fess.es.config.exentity.FileConfig;
import org.codelibs.fess.helper.PermissionHelper;
import org.codelibs.fess.util.ComponentUtil;
import org.lastaflute.web.Execute;
import org.lastaflute.web.response.JsonResponse;
@ -131,7 +136,17 @@ public class ApiAdminFileconfigAction extends FessApiAdminAction {
final EditBody body = new EditBody();
copyBeanToBean(entity, body, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
body.virtualHosts =
stream(entity.getVirtualHosts()).get(
stream -> stream.filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
return body;
}
}

View file

@ -15,6 +15,7 @@
*/
package org.codelibs.fess.app.web.api.admin.labeltype;
import static org.codelibs.core.stream.StreamUtil.stream;
import static org.codelibs.fess.app.web.admin.labeltype.AdminLabeltypeAction.getLabelType;
import java.util.List;
@ -22,6 +23,8 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.pager.LabelTypePager;
import org.codelibs.fess.app.service.LabelTypeService;
import org.codelibs.fess.app.web.CrudMode;
@ -32,6 +35,8 @@ import org.codelibs.fess.app.web.api.ApiResult.ApiUpdateResponse;
import org.codelibs.fess.app.web.api.ApiResult.Status;
import org.codelibs.fess.app.web.api.admin.FessApiAdminAction;
import org.codelibs.fess.es.config.exentity.LabelType;
import org.codelibs.fess.helper.PermissionHelper;
import org.codelibs.fess.util.ComponentUtil;
import org.lastaflute.web.Execute;
import org.lastaflute.web.response.JsonResponse;
@ -131,7 +136,13 @@ public class ApiAdminLabeltypeAction extends FessApiAdminAction {
final EditBody body = new EditBody();
copyBeanToBean(entity, body, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
return body;
}
}

View file

@ -15,6 +15,7 @@
*/
package org.codelibs.fess.app.web.api.admin.webconfig;
import static org.codelibs.core.stream.StreamUtil.stream;
import static org.codelibs.fess.app.web.admin.webconfig.AdminWebconfigAction.getWebConfig;
import java.util.List;
@ -22,6 +23,8 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.pager.WebConfigPager;
import org.codelibs.fess.app.service.WebConfigService;
import org.codelibs.fess.app.web.CrudMode;
@ -32,6 +35,8 @@ import org.codelibs.fess.app.web.api.ApiResult.ApiUpdateResponse;
import org.codelibs.fess.app.web.api.ApiResult.Status;
import org.codelibs.fess.app.web.api.admin.FessApiAdminAction;
import org.codelibs.fess.es.config.exentity.WebConfig;
import org.codelibs.fess.helper.PermissionHelper;
import org.codelibs.fess.util.ComponentUtil;
import org.lastaflute.web.Execute;
import org.lastaflute.web.response.JsonResponse;
@ -131,7 +136,17 @@ public class ApiAdminWebconfigAction extends FessApiAdminAction {
final EditBody body = new EditBody();
copyBeanToBean(entity, body, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
body.virtualHosts =
stream(entity.getVirtualHosts()).get(
stream -> stream.filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
return body;
}
}