use of com.evolveum.midpoint.web.session.PageStorage in project midpoint by Evolveum.
the class AbstractRoleMemberPanel method getMemberPanelStorage.
protected MemberPanelStorage getMemberPanelStorage() {
String storageKey = createStorageKey();
if (StringUtils.isEmpty(storageKey)) {
return null;
}
PageStorage storage = getPageStorage(storageKey);
if (storage == null) {
storage = getSessionStorage().initMemberStorage(storageKey);
}
return (MemberPanelStorage) storage;
}
use of com.evolveum.midpoint.web.session.PageStorage in project midpoint by Evolveum.
the class PageRepositoryQuery method useInObjectListPerformed.
private void useInObjectListPerformed(AjaxRequestTarget target) {
final RepoQueryDto dto = model.getObject();
String queryText = dto.getMidPointQuery();
if (StringUtils.isBlank(queryText)) {
queryText = "<query/>";
}
RepositoryQueryDiagRequest request = new RepositoryQueryDiagRequest();
Task task = createSimpleTask(OPERATION_CHECK_QUERY);
OperationResult result = task.getResult();
try {
// just to parse the query
updateRequestWithMidpointQuery(request, dto.getObjectType(), queryText, dto.isDistinct(), task, result);
ObjectFilter parsedFilter = request.getQuery().getFilter();
String filterAsString;
if (parsedFilter != null) {
SearchFilterType filterType = getQueryConverter().createSearchFilterType(parsedFilter);
filterAsString = getPrismContext().xmlSerializer().serializeRealValue(filterType, SchemaConstantsGenerated.Q_FILTER);
// TODO remove extra xmlns from serialized value
} else {
filterAsString = "";
}
Class<? extends PageBase> listPageClass = WebComponentUtil.getObjectListPage(request.getType());
String storageKey = listPageClass != null ? WebComponentUtil.getObjectListPageStorageKey(dto.getObjectType().getLocalPart()) : null;
if (storageKey == null) {
// shouldn't occur because of button visibility
error("No page to redirect for " + dto.getObjectType());
target.add(getFeedbackPanel());
return;
}
Search search = SearchFactory.createSearch(request.getType(), this);
search.setAdvancedQuery(filterAsString);
search.setSearchType(SearchBoxModeType.ADVANCED);
if (!search.isAdvancedQueryValid(getPrismContext())) {
// shouldn't occur because the query was already parsed
error("Query is not valid: " + search.getAdvancedError());
target.add(getFeedbackPanel());
return;
}
SessionStorage sessionStorage = ((MidPointAuthWebSession) getSession()).getSessionStorage();
PageStorage storage = sessionStorage.getPageStorageMap().get(storageKey);
if (storage == null) {
storage = sessionStorage.initPageStorage(storageKey);
}
storage.setSearch(search);
setResponsePage(listPageClass);
} catch (CommonException | RuntimeException e) {
result.recordFatalError(getString("PageRepositoryQuery.message.couldNotParseQuery", e.getMessage()), e);
showResult(result);
target.add(this);
}
}
Aggregations