Skip to content

Commit

Permalink
MID-2489 implemented exporting shadows for the specified resource thr…
Browse files Browse the repository at this point in the history
…ough debug pages
  • Loading branch information
KaterynaHonchar committed Mar 15, 2016
1 parent 882dac7 commit 6c4a9ce
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 21 deletions.
Expand Up @@ -353,7 +353,7 @@ public void onClick(AjaxRequestTarget target) {

columns.add(column);
columns.add(new PropertyColumn(createStringResource("pageDebugList.description"),
DebugObjectItem.F_DESCRIPTION));
DebugObjectItem.F_DESCRIPTION));

if (ShadowType.class.isAssignableFrom(type)) {
columns.add(new PropertyColumn(createStringResource("pageDebugList.resourceName"),
Expand Down Expand Up @@ -416,15 +416,33 @@ public void onSubmit(AjaxRequestTarget target, Form<?> form) {

headerMenuItems
.add(new InlineMenuItem(createStringResource("pageDebugList.menu.exportAllSelectedType"),
true, new HeaderMenuAction(this) {
true, new HeaderMenuAction(this) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
exportAllType(target);
}
}));
@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
exportAllType(target);
}
}));

headerMenuItems
.add(new InlineMenuItem(createStringResource("pageDebugList.menu.exportShadowsOnResource"),
new Model(true), new AbstractReadOnlyModel<Boolean>() {

@Override
public Boolean getObject() {
DebugSearchDto dto = searchModel.getObject();
return ObjectTypes.SHADOW.equals(dto.getType());
}

}, false, new HeaderMenuAction(this) {

headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.exportAll"), true,
@Override
public void onClick(AjaxRequestTarget target) {
exportAllShadowsOnResource(target);
}
}));

headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.exportAll"), true,
new HeaderMenuAction(this) {

@Override
Expand Down Expand Up @@ -455,21 +473,21 @@ public void onSubmit(AjaxRequestTarget target, Form<?> form) {

headerMenuItems
.add(new InlineMenuItem(createStringResource("pageDebugList.menu.deleteShadowsOnResource"),
new Model(true), new AbstractReadOnlyModel<Boolean>() {
new Model(true), new AbstractReadOnlyModel<Boolean>() {

@Override
public Boolean getObject() {
DebugSearchDto dto = searchModel.getObject();
return ObjectTypes.SHADOW.equals(dto.getType());
}
@Override
public Boolean getObject() {
DebugSearchDto dto = searchModel.getObject();
return ObjectTypes.SHADOW.equals(dto.getType());
}

}, false, new HeaderMenuAction(this) {
}, false, new HeaderMenuAction(this) {

@Override
public void onClick(AjaxRequestTarget target) {
deleteAllShadowsOnResource(target);
}
}));
@Override
public void onClick(AjaxRequestTarget target) {
deleteAllShadowsOnResource(target);
}
}));

headerMenuItems.add(new InlineMenuItem());

Expand Down Expand Up @@ -639,7 +657,7 @@ private void deleteAllShadowsConfirmed(OperationResult result, boolean deleteAcc
throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException {

ObjectFilter kind = EqualFilter.createEqual(ShadowType.F_KIND, ShadowType.class, getPrismContext(),
null, ShadowKindType.ACCOUNT);
null, ShadowKindType.ACCOUNT);

String taskName;
ObjectQuery query;
Expand Down Expand Up @@ -799,6 +817,21 @@ private void deleteAllShadowsOnResource(AjaxRequestTarget target) {
target);
}

private void exportAllShadowsOnResource(AjaxRequestTarget target) {
DebugSearchDto dto = searchModel.getObject();
if (dto.getResource() == null) {
error(getString("pageDebugList.message.resourceNotSelected"));
target.add(getFeedbackPanel());
return;
}

RefFilter ref = RefFilter.createReferenceEqual(ShadowType.F_RESOURCE_REF, ShadowType.class,
getPrismContext(), dto.getResource().getOid());
ObjectQuery objectQuery = ObjectQuery.createObjectQuery(ref);
initDownload(target, dto.getType().getClassDefinition(), objectQuery);

}


private Component getDeleteConfirmationPanel() {
return new ConfirmationPanel(getMainPopupBodyId(),
Expand Down
Expand Up @@ -1519,6 +1519,7 @@ pageDebugList.menu.deleteAllIdentities=Delete all identities
pageDebugList.menu.deleteAllType=Delete all of selected type
pageDebugList.menu.deleteSelected=Delete selected
pageDebugList.menu.deleteShadowsOnResource=Delete all shadows on resource
pageDebugList.menu.exportShadowsOnResource=Export all shadows on resource
pageDebugList.menu.exportAll=Export all objects
pageDebugList.menu.exportAllSelectedType=Export all of selected type
pageDebugList.menu.exportSelected=Export selected
Expand Down

0 comments on commit 6c4a9ce

Please sign in to comment.