use of org.entando.entando.aps.system.services.pagemodel.model.PageModelDto in project entando-core by entando.
the class PageModelController method getPageModels.
@RestAccessControl(permission = Permission.SUPERUSER)
@RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<RestResponse> getPageModels(RestListRequest requestList) {
logger.trace("loading page models");
this.getPagemModelValidator().validateRestListRequest(requestList);
PagedMetadata<PageModelDto> result = this.getPageModelService().getPageModels(requestList);
this.getPagemModelValidator().validateRestListResult(requestList, result);
return new ResponseEntity<>(new RestResponse(result.getBody(), null, result), HttpStatus.OK);
}
use of org.entando.entando.aps.system.services.pagemodel.model.PageModelDto 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);
}
}
use of org.entando.entando.aps.system.services.pagemodel.model.PageModelDto in project entando-core by entando.
the class PageModelController method addPageModel.
@RestAccessControl(permission = Permission.SUPERUSER)
@RequestMapping(method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<RestResponse> addPageModel(@Valid @RequestBody PageModelRequest pagemodelRequest, BindingResult bindingResult) throws ApsSystemException {
// field validations
if (bindingResult.hasErrors()) {
throw new ValidationGenericException(bindingResult);
}
this.getPagemModelValidator().validate(pagemodelRequest, bindingResult);
if (bindingResult.hasErrors()) {
throw new ValidationGenericException(bindingResult);
}
PageModelDto dto = this.getPageModelService().addPageModel(pagemodelRequest);
return new ResponseEntity<>(new RestResponse(dto), HttpStatus.OK);
}
use of org.entando.entando.aps.system.services.pagemodel.model.PageModelDto in project entando-core by entando.
the class PageModelController method updatePageModel.
@RestAccessControl(permission = Permission.SUPERUSER)
@RequestMapping(value = "/{code}", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE, name = "roleGroup")
public ResponseEntity<RestResponse> updatePageModel(@PathVariable String code, @Valid @RequestBody PageModelRequest pageModelRequest, BindingResult bindingResult) {
// field validations
if (bindingResult.hasErrors()) {
throw new ValidationGenericException(bindingResult);
}
this.getPagemModelValidator().validateBodyName(code, pageModelRequest, bindingResult);
if (bindingResult.hasErrors()) {
throw new ValidationGenericException(bindingResult);
}
PageModelDto pageModel = this.getPageModelService().updatePageModel(pageModelRequest);
return new ResponseEntity<>(new RestResponse(pageModel), HttpStatus.OK);
}
use of org.entando.entando.aps.system.services.pagemodel.model.PageModelDto in project entando-core by entando.
the class PageModelDtoTest method test_json.
@Test
public void test_json() throws JsonProcessingException {
FrameDto frameDto = new FrameDto();
frameDto.setPos(0);
frameDto.setDescr("description");
PageModelDto dto = new PageModelDto();
dto.setCode("code");
dto.setDescr("description");
dto.getConfiguration().getFrames().add(frameDto);
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writer().writeValueAsString(dto);
String actual = "{\"code\":\"code\",\"description\":\"description\",\"mainFrame\":-1,\"pluginCode\":null,\"template\":null,\"configuration\":{\"frames\":[{\"pos\":0,\"description\":\"description\",\"mainFrame\":false,\"defaultWidget\":{\"code\":null,\"properties\":{}},\"sketch\":{\"x1\":0,\"y1\":0,\"x2\":0,\"y2\":0}}]}}";
// assertThat(json, is(actual));
// TODO replace a string compare with a json compare
}
Aggregations