Skip to content

Commit

Permalink
assignment request limit caching
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Aug 22, 2018
1 parent e1d1367 commit 8203d4f
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 9 deletions.
Expand Up @@ -370,11 +370,11 @@ public static QName getTargetType(AssignmentType assignment) {

}

public static IModel<String> getShoppingCartAssignmentsLimitReachedTitleModel(OperationResult result, PageBase pageBase){
public static IModel<String> getShoppingCartAssignmentsLimitReachedTitleModel(PageBase pageBase){
return new LoadableModel<String>(true) {
@Override
protected String load() {
int assignmentsLimit = loadAssignmentsLimit(result, pageBase);
int assignmentsLimit = pageBase.getSessionStorage().getRoleCatalog().getAssignmentRequestLimit();
return isShoppingCartAssignmentsLimitReached(assignmentsLimit, pageBase) ?
pageBase.createStringResource("RoleCatalogItemButton.assignmentsLimitReachedTitle", assignmentsLimit)
.getString() : "";
Expand Down
Expand Up @@ -66,7 +66,6 @@ public class RoleCatalogItemButton extends BasePanel<AssignmentEditorDto>{

private static final String DOT_CLASS = RoleCatalogItemButton.class.getName() + ".";
private static final String OPERATION_LOAD_OBJECT = DOT_CLASS + "loadObject";
private static final String OPERATION_LOAD_ASSIGNMENTS_LIMIT = DOT_CLASS + "loadAssignmentsLimit";
private static final Trace LOGGER = TraceManager.getTrace(RoleCatalogItemButton.class);

public RoleCatalogItemButton(String id, IModel<AssignmentEditorDto> model){
Expand Down Expand Up @@ -124,7 +123,7 @@ public void onClick(AjaxRequestTarget ajaxRequestTarget) {
};
detailsLink.add(getFooterLinksEnableBehaviour());
detailsLink.add(AttributeAppender.append("title",
AssignmentsUtil.getShoppingCartAssignmentsLimitReachedTitleModel(new OperationResult(OPERATION_LOAD_ASSIGNMENTS_LIMIT), getPageBase())));
AssignmentsUtil.getShoppingCartAssignmentsLimitReachedTitleModel(getPageBase())));
detailsLink.add(AttributeAppender.append("class", new LoadableModel<String>() {
@Override
protected String load() {
Expand Down Expand Up @@ -158,7 +157,7 @@ public void onClick(AjaxRequestTarget ajaxRequestTarget) {
};
addToCartLink.add(getFooterLinksEnableBehaviour());
addToCartLink.add(AttributeAppender.append("title",
AssignmentsUtil.getShoppingCartAssignmentsLimitReachedTitleModel(new OperationResult(OPERATION_LOAD_ASSIGNMENTS_LIMIT), getPageBase())));
AssignmentsUtil.getShoppingCartAssignmentsLimitReachedTitleModel(getPageBase())));
addToCartLink.add(AttributeAppender.append("class", new LoadableModel<String>() {
@Override
protected String load() {
Expand Down Expand Up @@ -241,8 +240,7 @@ private VisibleEnableBehaviour getFooterLinksEnableBehaviour(){

@Override
public boolean isEnabled(){
int assignmentsLimit = AssignmentsUtil.loadAssignmentsLimit(new OperationResult(OPERATION_LOAD_ASSIGNMENTS_LIMIT),
RoleCatalogItemButton.this.getPageBase());
int assignmentsLimit = getRoleCatalogStorage().getAssignmentRequestLimit();
return !AssignmentsUtil.isShoppingCartAssignmentsLimitReached(assignmentsLimit, RoleCatalogItemButton.this.getPageBase())
&& (isMultiUserRequest() || canAssign(getModelObject()));
}
Expand Down Expand Up @@ -289,7 +287,11 @@ private void targetObjectDetailsPerformed(AssignmentEditorDto assignment, AjaxRe
}

private boolean isMultiUserRequest(){
return getPageBase().getSessionStorage().getRoleCatalog().isMultiUserRequest();
return getRoleCatalogStorage().isMultiUserRequest();
}

private RoleCatalogStorage getRoleCatalogStorage(){
return getPageBase().getSessionStorage().getRoleCatalog();
}

private boolean canAssign(AssignmentEditorDto assignment) {
Expand Down
Expand Up @@ -139,7 +139,7 @@ public boolean isEnabled(){
}
});
addToCartButton.add(AttributeAppender.append("title",
AssignmentsUtil.getShoppingCartAssignmentsLimitReachedTitleModel(new OperationResult(OPERATION_LOAD_ASSIGNMENTS_LIMIT), parentPage)));
AssignmentsUtil.getShoppingCartAssignmentsLimitReachedTitleModel(parentPage)));

shoppingCartButtonsPanel.add(addToCartButton);

Expand Down
Expand Up @@ -98,6 +98,7 @@ public class PageAssignmentShoppingKart extends PageSelf {

private static final String OPERATION_LOAD_ASSIGNABLE_ROLES = DOT_CLASS + "loadAssignableRoles";
private static final String OPERATION_GET_ASSIGNMENT_VIEW_LIST = DOT_CLASS + "getRoleCatalogViewsList";
private static final String OPERATION_LOAD_ASSIGNMENTS_LIMIT = DOT_CLASS + "loadAssignmentsLimit";
private static final Trace LOGGER = TraceManager.getTrace(PageAssignmentShoppingKart.class);

private ShoppingCartConfigurationDto shoppingCartConfigurationDto;
Expand All @@ -116,6 +117,8 @@ protected void onInitialize() {
initShoppingCartConfigurationDto();
getRoleCatalogStorage().setShoppingCartConfigurationDto(shoppingCartConfigurationDto);
}
getRoleCatalogStorage().setAssignmentRequestLimit(
AssignmentsUtil.loadAssignmentsLimit(new OperationResult(OPERATION_LOAD_ASSIGNMENTS_LIMIT), this));
if (StringUtils.isEmpty(getRoleCatalogStorage().getSelectedOid()) && shoppingCartConfigurationDto != null) {
getRoleCatalogStorage().setSelectedOid(shoppingCartConfigurationDto.getRoleCatalogOid());
}
Expand Down
Expand Up @@ -56,6 +56,7 @@ public class RoleCatalogStorage implements PageStorage, OrgTreeStateStorage {
private List<ConflictDto> conflictsList;
private String requestDescription = "";
private ObjectPaging roleCatalogPaging;
private int assignmentRequestLimit = -1;

private ShoppingCartConfigurationDto shoppingCartConfigurationDto = null;

Expand Down Expand Up @@ -206,4 +207,12 @@ public ShoppingCartConfigurationDto getShoppingCartConfigurationDto() {
public void setShoppingCartConfigurationDto(ShoppingCartConfigurationDto shoppingCartConfigurationDto) {
this.shoppingCartConfigurationDto = shoppingCartConfigurationDto;
}

public int getAssignmentRequestLimit() {
return assignmentRequestLimit;
}

public void setAssignmentRequestLimit(int assignmentRequestLimit) {
this.assignmentRequestLimit = assignmentRequestLimit;
}
}

0 comments on commit 8203d4f

Please sign in to comment.