Skip to content

Commit

Permalink
Merge branch 'master' into feature/mid-6303
Browse files Browse the repository at this point in the history
  • Loading branch information
virgo47 committed Jun 9, 2020
2 parents 0f9e0ff + 62e08dc commit babd046
Show file tree
Hide file tree
Showing 48 changed files with 1,290 additions and 933 deletions.
Expand Up @@ -7,6 +7,24 @@

package com.evolveum.midpoint.web.page.admin.configuration;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;

import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;

import com.evolveum.midpoint.gui.api.model.NonEmptyModel;
import com.evolveum.midpoint.gui.api.model.NonEmptyWrapperModel;
import com.evolveum.midpoint.schema.result.OperationResult;
Expand All @@ -25,27 +43,7 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.MappingEvaluationRequestType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.MappingEvaluationResponseType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.MappingType;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;

/**
* @author mederly
*/
@PageDescriptor(url = "/admin/config/evaluateMapping", action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
label = PageAdminConfiguration.AUTH_CONFIGURATION_ALL_LABEL, description = PageAdminConfiguration.AUTH_CONFIGURATION_ALL_DESCRIPTION),
Expand Down Expand Up @@ -113,12 +111,7 @@ protected void onSubmit(AjaxRequestTarget target) {

final DropDownChoice<String> sampleChoice = new DropDownChoice<>(ID_MAPPING_SAMPLE,
Model.of(""),
new IModel<List<String>>() {
@Override
public List<String> getObject() {
return SAMPLES;
}
},
(IModel<List<String>>) () -> SAMPLES,
new StringResourceChoiceRenderer("PageEvaluateMapping.sample"));
sampleChoice.setNullValid(true);
sampleChoice.add(new OnChangeAjaxBehavior() {
Expand All @@ -135,17 +128,14 @@ protected void onUpdate(AjaxRequestTarget target) {
}

private String readResource(String name) {
InputStream is = PageEvaluateMapping.class.getResourceAsStream(name);
if (is != null) {
try {
try (InputStream is = PageEvaluateMapping.class.getResourceAsStream(name)) {
if (is != null) {
return IOUtils.toString(is, StandardCharsets.UTF_8);
} catch (IOException e) {
LoggingUtils.logUnexpectedException(LOGGER, "Couldn't read sample from resource {}", e, name);
} finally {
IOUtils.closeQuietly(is);
} else {
LOGGER.warn("Resource {} containing sample couldn't be found", name);
}
} else {
LOGGER.warn("Resource {} containing sample couldn't be found", name);
} catch (IOException e) {
LoggingUtils.logUnexpectedException(LOGGER, "Couldn't read sample from resource {}", e, name);
}
return null;
}
Expand Down Expand Up @@ -201,6 +191,4 @@ private void executeMappingPerformed(AjaxRequestTarget target) {
showResult(result);
target.add(this);
}


}
Expand Up @@ -7,27 +7,13 @@

package com.evolveum.midpoint.web.page.admin.configuration;

import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.MiscSchemaUtil;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.task.api.Task;
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.application.AuthorizationAction;
import com.evolveum.midpoint.web.application.PageDescriptor;
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.AjaxSubmitButton;
import com.evolveum.midpoint.web.component.input.DataLanguagePanel;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.component.AceEditor;
import com.evolveum.midpoint.web.page.admin.configuration.component.ImportOptionsPanel;
import com.evolveum.midpoint.web.security.MidPointApplication;
import com.evolveum.midpoint.web.security.WebApplicationConfiguration;
import com.evolveum.midpoint.xml.ns._public.common.api_types_3.ImportOptionsType;
import static org.apache.commons.lang3.BooleanUtils.isTrue;

import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.List;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ModelExecuteOptionsType;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
Expand All @@ -46,12 +32,26 @@
import org.apache.wicket.util.file.File;
import org.jetbrains.annotations.NotNull;

import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.List;

import static org.apache.commons.lang3.BooleanUtils.isTrue;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.MiscSchemaUtil;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.task.api.Task;
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.application.AuthorizationAction;
import com.evolveum.midpoint.web.application.PageDescriptor;
import com.evolveum.midpoint.web.component.AceEditor;
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.AjaxSubmitButton;
import com.evolveum.midpoint.web.component.input.DataLanguagePanel;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.page.admin.configuration.component.ImportOptionsPanel;
import com.evolveum.midpoint.web.security.MidPointApplication;
import com.evolveum.midpoint.web.security.WebApplicationConfiguration;
import com.evolveum.midpoint.xml.ns._public.common.api_types_3.ImportOptionsType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ModelExecuteOptionsType;

/**
* @author lazyman
Expand Down Expand Up @@ -87,9 +87,9 @@ public class PageImportObject extends PageAdminConfiguration {
private static final Integer INPUT_FILE = 1;
private static final Integer INPUT_XML = 2;

private LoadableModel<ImportOptionsType> optionsModel;
private IModel<Boolean> fullProcessingModel;
private IModel<String> xmlEditorModel;
private final LoadableModel<ImportOptionsType> optionsModel;
private final IModel<Boolean> fullProcessingModel;
private final IModel<String> xmlEditorModel;

private String dataLanguage;

Expand Down Expand Up @@ -124,7 +124,7 @@ private void initLayout() {
mainForm.add(buttonBar);

final IModel<Integer> groupModel = new Model<>(INPUT_FILE);
RadioGroup importRadioGroup = new RadioGroup(ID_IMPORT_RADIO_GROUP, groupModel);
RadioGroup<Integer> importRadioGroup = new RadioGroup<>(ID_IMPORT_RADIO_GROUP, groupModel);
importRadioGroup.add(new AjaxFormChoiceComponentUpdatingBehavior() {

@Override
Expand All @@ -135,10 +135,10 @@ protected void onUpdate(AjaxRequestTarget target) {
});
mainForm.add(importRadioGroup);

Radio fileRadio = new Radio(ID_FILE_RADIO, new Model(INPUT_FILE), importRadioGroup);
Radio<Integer> fileRadio = new Radio<>(ID_FILE_RADIO, new Model<>(INPUT_FILE), importRadioGroup);
importRadioGroup.add(fileRadio);

Radio xmlRadio = new Radio(ID_XML_RADIO, new Model(INPUT_XML), importRadioGroup);
Radio<Integer> xmlRadio = new Radio<>(ID_XML_RADIO, new Model<>(INPUT_XML), importRadioGroup);
importRadioGroup.add(xmlRadio);

WebMarkupContainer inputAce = new WebMarkupContainer(ID_INPUT_ACE);
Expand Down Expand Up @@ -267,8 +267,9 @@ private boolean validateInput(boolean raw) {
}

private static class InputDescription {
private InputStream inputStream;
private String dataLanguage;
private final InputStream inputStream;
private final String dataLanguage;

InputDescription(InputStream inputStream, String dataLanguage) {
this.inputStream = inputStream;
this.dataLanguage = dataLanguage;
Expand Down Expand Up @@ -313,7 +314,7 @@ private InputDescription getInputDescription(boolean editor) throws Exception {
}
}

private void clearOldFeedback(){
private void clearOldFeedback() {
getSession().getFeedbackMessages().clear();
getFeedbackMessages().clear();
}
Expand Down Expand Up @@ -348,18 +349,14 @@ private void savePerformed(boolean raw, String operationName, AjaxRequestTarget
result.recordFatalError(getString("PageImportObject.message.savePerformed.fatalError"), ex);
LoggingUtils.logUnexpectedException(LOGGER, "Couldn't import file", ex);
} finally {
if (stream != null) {
IOUtils.closeQuietly(stream);
}

IOUtils.closeQuietly(stream);
}

showResult(result);
if (result.isFatalError()){
if (result.isFatalError()) {
target.add(getFeedbackPanel());
} else {
target.add(PageImportObject.this);
}
}


}
Expand Up @@ -6,11 +6,27 @@
*/
package com.evolveum.midpoint.web.page.admin.configuration.component;

import static com.evolveum.midpoint.prism.SerializationOptions.createSerializeForExport;

import java.io.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.util.file.File;
import org.apache.wicket.util.file.Files;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.model.api.ModelService;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.*;
import com.evolveum.midpoint.schema.GetOperationOptionsBuilder;
import com.evolveum.midpoint.schema.ResultHandler;
import com.evolveum.midpoint.schema.SchemaConstantsGenerated;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.util.exception.SchemaException;
Expand All @@ -24,20 +40,6 @@
import com.evolveum.midpoint.web.security.WebApplicationConfiguration;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;

import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.util.file.File;
import org.apache.wicket.util.file.Files;

import java.io.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

import static com.evolveum.midpoint.prism.SerializationOptions.createSerializeForExport;

/**
* @author lazyman
*/
Expand Down Expand Up @@ -130,15 +132,13 @@ protected File initFile() {
LoggingUtils.logUnexpectedException(LOGGER, "Couldn't init download link", ex);
result.recordFatalError(getPage().createStringResource("PageDebugDownloadBehaviour.message.initFile.fatalError").getString(), ex);
} finally {
if (writer != null) {
IOUtils.closeQuietly(writer);
}
IOUtils.closeQuietly(writer);
}

if (!WebComponentUtil.isSuccessOrHandledError(result)) {
page.showResult(result);
page.getSession().error(page.getString("pageDebugList.message.createFileException"));
LOGGER.debug("Removing file '{}'.", new Object[]{file.getAbsolutePath()});
LOGGER.debug("Removing file '{}'.", new Object[] { file.getAbsolutePath() });
Files.remove(file);

throw new RestartResponseException(PageDebugList.class);
Expand All @@ -165,7 +165,7 @@ private Writer createWriter(File file) throws IOException {
return new OutputStreamWriter(stream);
}

private <T extends ObjectType> void dumpObjectsToStream(final Writer writer, OperationResult result) throws Exception {
private void dumpObjectsToStream(final Writer writer, OperationResult result) throws Exception {
final PageBase page = getPage();

ResultHandler handler = (object, parentResult) -> {
Expand All @@ -174,7 +174,7 @@ private <T extends ObjectType> void dumpObjectsToStream(final Writer writer, Ope
writer.write('\t');
writer.write(xml);
writer.write('\n');
} catch (IOException|SchemaException ex) {
} catch (IOException | SchemaException ex) {
throw new SystemException(ex.getMessage(), ex);
}
return true;
Expand Down

0 comments on commit babd046

Please sign in to comment.