From 63e3f021a8765dbf423101081cec0b60b74413e5 Mon Sep 17 00:00:00 2001 From: Viliam Repan Date: Fri, 6 May 2016 11:08:00 +0200 Subject: [PATCH 1/4] closing IO streams --- .../api/component/result/OperationResultPanel.java | 5 ++++- .../model/impl/controller/ModelController.java | 12 +++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/result/OperationResultPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/result/OperationResultPanel.java index af77443ea76..3bcf03cc9a9 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/result/OperationResultPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/result/OperationResultPanel.java @@ -28,6 +28,7 @@ import com.evolveum.midpoint.schema.util.ObjectTypeUtil; import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.wicket.AttributeModifier; import org.apache.wicket.ajax.AjaxRequestTarget; @@ -223,13 +224,15 @@ public void onClick(AjaxRequestTarget target) { public File getObject() { String home = getPageBase().getMidpointConfiguration().getMidpointHome(); File f = new File(home, "result"); - DataOutputStream dos; + DataOutputStream dos = null; try { dos = new DataOutputStream(new FileOutputStream(f)); dos.writeBytes(OperationResultPanel.this.getModel().getObject().getXml()); } catch (IOException e) { LOGGER.error("Could not download result: {}", e.getMessage(), e); + } finally { + IOUtils.closeQuietly(dos); } return f; diff --git a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelController.java b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelController.java index 8bb6d143e31..7dc71bea96f 100644 --- a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelController.java +++ b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelController.java @@ -49,6 +49,7 @@ import com.evolveum.midpoint.xml.ns._public.common.common_3.*; import com.evolveum.midpoint.xml.ns._public.model.scripting_3.ScriptingExpressionType; +import org.apache.commons.io.IOUtils; import org.apache.commons.lang.Validate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -1531,12 +1532,13 @@ public void importFromResource(String shadowOid, Task task, OperationResult pare @Override public void importObjectsFromFile(File input, ImportOptionsType options, Task task, OperationResult parentResult) throws FileNotFoundException { - OperationResult result = parentResult.createSubresult(IMPORT_OBJECTS_FROM_FILE); - FileInputStream fis; - try { + OperationResult result = parentResult.createSubresult(IMPORT_OBJECTS_FROM_FILE); + FileInputStream fis = null; + try { fis = new FileInputStream(input); } catch (FileNotFoundException e) { - String msg = "Error reading from file "+input+": "+e.getMessage(); + IOUtils.closeQuietly(fis); + String msg = "Error reading from file " + input + ": " + e.getMessage(); result.recordFatalError(msg, e); throw e; } @@ -1549,7 +1551,7 @@ public void importObjectsFromFile(File input, ImportOptionsType options, Task ta try { fis.close(); } catch (IOException e) { - LOGGER.error("Error closing file "+input+": "+e.getMessage(), e); + LOGGER.error("Error closing file " + input + ": " + e.getMessage(), e); } } result.computeStatus(); From 2c239ab6cd52f13926d71da4f131683cc618aa17 Mon Sep 17 00:00:00 2001 From: honchar Date: Fri, 6 May 2016 14:20:02 +0200 Subject: [PATCH 2/4] some code refactoring + fixing filter for Request a role panel --- .../MultipleAssignmentSelectorPanel.java | 2 +- .../FocusAssignmentsTabPanel.java | 50 ------------------- .../component/AceEditorDialog.java | 3 -- 3 files changed, 1 insertion(+), 54 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/MultipleAssignmentSelectorPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/MultipleAssignmentSelectorPanel.java index 8aa16fc3695..64195c2d53f 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/MultipleAssignmentSelectorPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/MultipleAssignmentSelectorPanel.java @@ -239,7 +239,7 @@ public ObjectFilter getObject() { ObjectFilter archivedRolesFilter = EqualFilter.createEqual(path, RoleType.class, getPageBase().getPrismContext(), null, ActivationStatusType.ARCHIVED); ObjectFilter filter = isRequestableFilter && authorizedRolesFilter != null ? - AndFilter.createAnd(authorizedRolesFilter, archivedRolesFilter) : + AndFilter.createAnd(authorizedRolesFilter, new NotFilter(archivedRolesFilter)) : new NotFilter(archivedRolesFilter); return filter; } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/FocusAssignmentsTabPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/FocusAssignmentsTabPanel.java index 507827960e7..d3d0aa93e10 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/FocusAssignmentsTabPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/FocusAssignmentsTabPanel.java @@ -15,70 +15,20 @@ */ package com.evolveum.midpoint.web.component.objectdetails; -import com.evolveum.midpoint.common.refinery.RefinedObjectClassDefinition; -import com.evolveum.midpoint.common.refinery.RefinedResourceSchema; import com.evolveum.midpoint.gui.api.model.LoadableModel; import com.evolveum.midpoint.gui.api.page.PageBase; -import com.evolveum.midpoint.gui.api.util.WebComponentUtil; -import com.evolveum.midpoint.prism.*; -import com.evolveum.midpoint.prism.delta.ObjectDelta; -import com.evolveum.midpoint.prism.path.ItemPath; -import com.evolveum.midpoint.prism.query.*; -import com.evolveum.midpoint.schema.constants.SchemaConstants; -import com.evolveum.midpoint.schema.result.OperationResult; -import com.evolveum.midpoint.security.api.AuthorizationConstants; -import com.evolveum.midpoint.util.exception.SchemaException; -import com.evolveum.midpoint.util.exception.SystemException; -import com.evolveum.midpoint.util.logging.LoggingUtils; import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; import com.evolveum.midpoint.web.component.assignment.AssignmentEditorDto; import com.evolveum.midpoint.web.component.assignment.AssignmentTablePanel; -import com.evolveum.midpoint.web.component.data.TablePanel; -import com.evolveum.midpoint.web.component.dialog.ConfirmationDialog; import com.evolveum.midpoint.web.component.form.Form; -import com.evolveum.midpoint.web.component.menu.cog.InlineMenu; -import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem; -import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItemAction; import com.evolveum.midpoint.web.component.prism.*; -import com.evolveum.midpoint.web.component.util.ObjectWrapperUtil; -import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour; import com.evolveum.midpoint.web.page.admin.PageAdminFocus; -import com.evolveum.midpoint.web.page.admin.server.PageTasks; -import com.evolveum.midpoint.web.page.admin.server.dto.TaskDto; -import com.evolveum.midpoint.web.page.admin.server.dto.TaskDtoProvider; -import com.evolveum.midpoint.web.page.admin.server.dto.TaskDtoProviderOptions; import com.evolveum.midpoint.web.page.admin.users.component.*; -import com.evolveum.midpoint.web.page.admin.users.dto.FocusSubwrapperDto; -import com.evolveum.midpoint.web.page.admin.users.dto.SimpleUserResourceProvider; -import com.evolveum.midpoint.web.page.admin.users.dto.UserDtoStatus; -import com.evolveum.midpoint.web.resource.img.ImgResources; -import com.evolveum.midpoint.web.util.OnePageParameterEncoder; import com.evolveum.midpoint.xml.ns._public.common.common_3.*; -import org.apache.commons.lang.StringUtils; -import org.apache.wicket.Component; -import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior; import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox; -import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow; -import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; -import org.apache.wicket.markup.head.IHeaderResponse; -import org.apache.wicket.markup.head.JavaScriptHeaderItem; -import org.apache.wicket.markup.head.OnDomReadyHeaderItem; import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.list.ListItem; -import org.apache.wicket.markup.html.list.ListView; -import org.apache.wicket.markup.html.panel.Panel; -import org.apache.wicket.model.*; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.apache.wicket.request.resource.PackageResourceReference; -import org.apache.wicket.util.string.StringValue; - -import javax.xml.namespace.QName; - -import java.io.Serializable; -import java.util.ArrayList; import java.util.List; /** diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/component/AceEditorDialog.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/component/AceEditorDialog.java index 75c827e33e1..2853cbdac3a 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/component/AceEditorDialog.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/component/AceEditorDialog.java @@ -26,10 +26,7 @@ import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; import com.evolveum.midpoint.web.component.AceEditor; -import com.evolveum.midpoint.web.component.AjaxButton; -import com.evolveum.midpoint.web.component.dialog.ConfirmationDialog; import com.evolveum.midpoint.web.component.util.SimplePanel; -import com.evolveum.midpoint.web.page.admin.reports.component.AceEditorPanel; public class AceEditorDialog extends SimplePanel { From 42aa8b400f472d2441b71128a3a993f051374d34 Mon Sep 17 00:00:00 2001 From: Viliam Repan Date: Fri, 6 May 2016 14:53:27 +0200 Subject: [PATCH 3/4] build fix --- model/model-impl/pom.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/model/model-impl/pom.xml b/model/model-impl/pom.xml index 07f6ec5f078..c102d0ad251 100644 --- a/model/model-impl/pom.xml +++ b/model/model-impl/pom.xml @@ -127,7 +127,11 @@ security-api 3.4-SNAPSHOT - + + + commons-io + commons-io + commons-lang commons-lang From d4a42aab403638c5ebe1a7a49b346f621fadab23 Mon Sep 17 00:00:00 2001 From: honchar Date: Fri, 6 May 2016 15:06:31 +0200 Subject: [PATCH 4/4] Changed ConfirmationDialog to main popup window for DefinitionStagePanel --- .../certification/DefinitionStagesPanel.html | 2 -- .../certification/DefinitionStagesPanel.java | 36 +++++++++---------- 2 files changed, 16 insertions(+), 22 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/DefinitionStagesPanel.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/DefinitionStagesPanel.html index bdc6957350e..608ba2c82d0 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/DefinitionStagesPanel.html +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/DefinitionStagesPanel.html @@ -18,8 +18,6 @@ -
-
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/DefinitionStagesPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/DefinitionStagesPanel.java index cfefe501495..a87e9c46fb5 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/DefinitionStagesPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/DefinitionStagesPanel.java @@ -22,6 +22,7 @@ import com.evolveum.midpoint.web.component.AjaxSubmitButton; import com.evolveum.midpoint.web.component.TabbedPanel; import com.evolveum.midpoint.web.component.dialog.ConfirmationDialog; +import com.evolveum.midpoint.web.component.dialog.ConfirmationPanel; import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour; import com.evolveum.midpoint.web.page.admin.certification.dto.StageDefinitionDto; import com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationStageDefinitionType; @@ -54,8 +55,6 @@ public class DefinitionStagesPanel extends BasePanel> { private static final String ID_DELETE_STAGE = "deleteStage"; private static final String DEFAULT_STAGE_NAME_PREFIX = "Stage "; - private static final String DIALOG_CONFIRM_DELETE = "confirmDeletePopup"; - private TabbedPanel tabPanel; private PageCertDefinition parentPage; @@ -120,28 +119,25 @@ public void onSubmit(AjaxRequestTarget target, Form form) { delete.add(visibleIfMoreTabs); add(delete); - add(new ConfirmationDialog(DIALOG_CONFIRM_DELETE, - createStringResource("DefinitionStagesPanel.confirmDelete"), - new AbstractReadOnlyModel() { - @Override - public String getObject() { - StageDefinitionDto dto = getModelObject().get(tabPanel.getSelectedTab()); - return getString("DefinitionStagesPanel.confirmDeleteText", dto.getName()); - } - }) { - @Override - public void yesPerformed(AjaxRequestTarget target) { - close(target); - deleteConfirmedPerformed(target); - } - }); - setOutputMarkupId(true); } private void deletePerformed(AjaxRequestTarget target) { - ModalWindow dialog = (ModalWindow) get(DIALOG_CONFIRM_DELETE); - dialog.show(target); + ConfirmationPanel dialog = new ConfirmationPanel(getPageBase().getMainPopupBodyId(), new AbstractReadOnlyModel() { + @Override + public String getObject() { + StageDefinitionDto dto = getModelObject().get(tabPanel.getSelectedTab()); + return getString("DefinitionStagesPanel.confirmDeleteText", dto.getName()); + } + }){ + @Override + public void yesPerformed(AjaxRequestTarget target) { + getPageBase().hideMainPopup(target); + deleteConfirmedPerformed(target); + } + }; + getPageBase().showMainPopup(dialog, createStringResource("DefinitionStagesPanel.confirmDelete"), target); + } private void addPerformed(AjaxRequestTarget target) {