use of com.agiletec.aps.system.services.pagemodel.PageModel in project entando-core by entando.
the class PageService method updatePage.
private IPage updatePage(IPage oldPage, PageRequest pageRequest) {
Page page = new Page();
page.setCode(pageRequest.getCode());
page.setShowable(pageRequest.isDisplayedInMenu());
if (oldPage.getModel().getCode().equals(pageRequest.getPageModel())) {
PageModel model = this.getPageModelManager().getPageModel(pageRequest.getPageModel());
page.setModel(model);
}
page.setCharset(pageRequest.getCharset());
page.setMimeType(pageRequest.getContentType());
page.setParentCode(pageRequest.getParentCode());
page.setUseExtraTitles(pageRequest.isSeo());
Optional<Map<String, String>> titles = Optional.ofNullable(pageRequest.getTitles());
ApsProperties apsTitles = new ApsProperties();
titles.ifPresent(values -> values.keySet().forEach((lang) -> {
apsTitles.put(lang, values.get(lang));
}));
page.setTitles(apsTitles);
page.setGroup(pageRequest.getOwnerGroup());
Optional<List<String>> groups = Optional.ofNullable(pageRequest.getJoinGroups());
groups.ifPresent(values -> values.forEach((group) -> {
page.addExtraGroup(group);
}));
page.setParentCode(pageRequest.getParentCode());
PageMetadata metadata = oldPage.getMetadata();
if (metadata == null) {
metadata = new PageMetadata();
}
this.valueMetadataFromRequest(metadata, pageRequest);
page.setMetadata(metadata);
return page;
}
use of com.agiletec.aps.system.services.pagemodel.PageModel in project entando-core by entando.
the class PageModelService method removePageModel.
@Override
public void removePageModel(String code) {
try {
PageModel pageModel = this.getPageModelManager().getPageModel(code);
if (null == pageModel) {
return;
}
BeanPropertyBindingResult validationResult = this.validateDelete(pageModel);
if (validationResult.hasErrors()) {
throw new ValidationConflictException(validationResult);
}
this.getPageModelManager().deletePageModel(code);
} catch (ApsSystemException e) {
logger.error("Error in delete pagemodel {}", code, e);
throw new RestServerError("error in delete pagemodel", e);
}
}
use of com.agiletec.aps.system.services.pagemodel.PageModel in project entando-core by entando.
the class PageModelService method createPageModel.
protected PageModel createPageModel(PageModelRequest pageModelRequest) {
PageModel pageModel = new PageModel();
copyProperties(pageModelRequest, pageModel);
return pageModel;
}
use of com.agiletec.aps.system.services.pagemodel.PageModel in project entando-core by entando.
the class PageModelService method validateAdd.
protected BeanPropertyBindingResult validateAdd(PageModelRequest pageModelRequest) {
BeanPropertyBindingResult bindingResult = new BeanPropertyBindingResult(pageModelRequest, "pageModel");
PageModel pageModel = this.getPageModelManager().getPageModel(pageModelRequest.getCode());
if (null == pageModel) {
return bindingResult;
}
bindingResult.reject(PageModelValidator.ERRCODE_CODE_EXISTS, new String[] { pageModelRequest.getCode() }, "pageModel.code.exists");
return bindingResult;
}
use of com.agiletec.aps.system.services.pagemodel.PageModel in project entando-core by entando.
the class PageModelService method getPageModels.
@Override
public PagedMetadata<PageModelDto> getPageModels(RestListRequest restListReq) {
try {
// transforms the filters by overriding the key specified in the request with the correct one known by the dto
List<FieldSearchFilter> filters = new ArrayList<FieldSearchFilter>(restListReq.buildFieldSearchFilters());
filters.stream().filter(i -> i.getKey() != null).forEach(i -> i.setKey(PageModelDto.getEntityFieldName(i.getKey())));
SearcherDaoPaginatedResult<PageModel> pageModels = this.getPageModelManager().searchPageModels(filters);
List<PageModelDto> dtoList = null;
if (null != pageModels) {
dtoList = this.getDtoBuilder().convert(pageModels.getList());
}
PagedMetadata<PageModelDto> pagedMetadata = new PagedMetadata<>(restListReq, pageModels);
pagedMetadata.setBody(dtoList);
return pagedMetadata;
} catch (Throwable t) {
logger.error("error in search pageModels", t);
throw new RestServerError("error in search pageModels", t);
}
}
Aggregations