Search in sources :

Example 1 with UploadResponse

use of com.evolveum.midpoint.studio.impl.UploadResponse in project midpoint-studio by Evolveum.

the class UploadExecuteTask method uploadExecute.

public static OperationResult uploadExecute(MidPointClient client, MidPointObject obj) throws AuthenticationException, IOException, SchemaException {
    OperationResult result = null;
    if (obj.isExecutable()) {
        ExecuteScriptResponseType response = client.execute(obj.getContent());
        if (response != null) {
            OperationResultType res = response.getResult();
            result = OperationResult.createOperationResult(res);
        }
    } else {
        File file = obj.getFile();
        VirtualFile vFile = file != null ? VcsUtil.getVirtualFile(file) : null;
        UploadResponse resp = client.uploadRaw(obj, buildUploadOptions(obj), true, vFile);
        result = resp.getResult();
        if (obj.getOid() == null && resp.getOid() != null) {
            obj.setOid(resp.getOid());
        }
    }
    return result;
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) UploadResponse(com.evolveum.midpoint.studio.impl.UploadResponse) ExecuteScriptResponseType(com.evolveum.midpoint.xml.ns._public.common.api_types_3.ExecuteScriptResponseType) OperationResultType(com.evolveum.midpoint.xml.ns._public.common.common_3.OperationResultType) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File)

Example 2 with UploadResponse

use of com.evolveum.midpoint.studio.impl.UploadResponse in project midpoint-studio by Evolveum.

the class SetLoggerTask method doRun.

@Override
protected void doRun(ProgressIndicator indicator) {
    super.doRun(indicator);
    indicator.setIndeterminate(false);
    List<ClassLoggerConfigurationType> newLoggers = buildClassLoggers();
    if (newLoggers == null || newLoggers.isEmpty()) {
        noChangeNeeded();
        return;
    }
    Environment env = getEnvironment();
    LOG.debug("Downloading system configuration");
    PrismObject<SystemConfigurationType> configPrism;
    try {
        MidPointObject object = client.get(SystemConfigurationType.class, SystemObjectsType.SYSTEM_CONFIGURATION.value(), new SearchOptions());
        if (object == null) {
            return;
        }
        configPrism = (PrismObject) client.parseObject(object.getContent());
        indicator.setFraction(0.5);
    } catch (Exception ex) {
        MidPointUtils.publishException(getProject(), env, getClass(), NOTIFICATION_KEY, "Couldn't download and parse system configuration", ex);
        return;
    }
    LOG.debug("Updating logging configuration");
    SystemConfigurationType config = configPrism.asObjectable();
    LoggingConfigurationType logging = config.getLogging();
    if (logging == null) {
        logging = new LoggingConfigurationType();
        config.setLogging(logging);
    }
    List<ClassLoggerConfigurationType> existing = logging.getClassLogger();
    Map<String, ClassLoggerConfigurationType> existingMap = existing.stream().collect(Collectors.toMap(o -> o.getPackage(), o -> o, (a, b) -> a));
    boolean changed = false;
    for (ClassLoggerConfigurationType cl : newLoggers) {
        ClassLoggerConfigurationType existingLogger = existingMap.get(cl.getPackage());
        if (existingLogger == null) {
            LOG.debug("Adding new class logger ", cl.getPackage(), " with level ", cl.getLevel());
            existing.add(cl);
            changed = true;
        } else {
            if (existingLogger.getLevel() != cl.getLevel()) {
                LOG.debug("Updating class logger ", existingLogger.getPackage(), " with level ", cl.getLevel());
                existingLogger.setLevel(cl.getLevel());
                changed = true;
            }
        }
    }
    if (!changed) {
        noChangeNeeded();
        indicator.setFraction(1);
        return;
    }
    LOG.debug("Uploading system configuration");
    try {
        UploadResponse resp = client.upload(configPrism, Arrays.asList(ModelExecuteOptionsType.F_OVERWRITE.getLocalPart()));
        OperationResult result = resp.getResult();
        if (result != null && !result.isSuccess()) {
            String msg = "Upload status of system configuration was " + result.getStatus();
            midPointService.printToConsole(env, getClass(), msg);
            MidPointUtils.publishNotification(getProject(), NOTIFICATION_KEY, "Warning", msg, NotificationType.WARNING, new ShowResultNotificationAction(result));
        } else {
            midPointService.printToConsole(env, getClass(), "System configuration uploaded");
        }
        indicator.setFraction(1);
    } catch (Exception ex) {
        MidPointUtils.publishException(getProject(), env, getClass(), NOTIFICATION_KEY, "Exception occurred during system configuration upload", ex);
    }
}
Also used : Arrays(java.util.Arrays) com.evolveum.midpoint.xml.ns._public.common.common_3(com.evolveum.midpoint.xml.ns._public.common.common_3) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) SearchOptions(com.evolveum.midpoint.studio.impl.SearchOptions) PrismObject(com.evolveum.midpoint.prism.PrismObject) Collectors(java.util.stream.Collectors) MidPointObject(com.evolveum.midpoint.studio.client.MidPointObject) Environment(com.evolveum.midpoint.studio.impl.Environment) NotificationType(com.intellij.notification.NotificationType) MidPointUtils(com.evolveum.midpoint.studio.util.MidPointUtils) ShowResultNotificationAction(com.evolveum.midpoint.studio.impl.ShowResultNotificationAction) ProgressIndicator(com.intellij.openapi.progress.ProgressIndicator) List(java.util.List) UploadResponse(com.evolveum.midpoint.studio.impl.UploadResponse) Map(java.util.Map) AnActionEvent(com.intellij.openapi.actionSystem.AnActionEvent) Logger(com.intellij.openapi.diagnostic.Logger) NotNull(org.jetbrains.annotations.NotNull) Collections(java.util.Collections) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) SearchOptions(com.evolveum.midpoint.studio.impl.SearchOptions) UploadResponse(com.evolveum.midpoint.studio.impl.UploadResponse) MidPointObject(com.evolveum.midpoint.studio.client.MidPointObject) ShowResultNotificationAction(com.evolveum.midpoint.studio.impl.ShowResultNotificationAction) Environment(com.evolveum.midpoint.studio.impl.Environment)

Aggregations

OperationResult (com.evolveum.midpoint.schema.result.OperationResult)2 UploadResponse (com.evolveum.midpoint.studio.impl.UploadResponse)2 PrismObject (com.evolveum.midpoint.prism.PrismObject)1 MidPointObject (com.evolveum.midpoint.studio.client.MidPointObject)1 Environment (com.evolveum.midpoint.studio.impl.Environment)1 SearchOptions (com.evolveum.midpoint.studio.impl.SearchOptions)1 ShowResultNotificationAction (com.evolveum.midpoint.studio.impl.ShowResultNotificationAction)1 MidPointUtils (com.evolveum.midpoint.studio.util.MidPointUtils)1 ExecuteScriptResponseType (com.evolveum.midpoint.xml.ns._public.common.api_types_3.ExecuteScriptResponseType)1 com.evolveum.midpoint.xml.ns._public.common.common_3 (com.evolveum.midpoint.xml.ns._public.common.common_3)1 OperationResultType (com.evolveum.midpoint.xml.ns._public.common.common_3.OperationResultType)1 NotificationType (com.intellij.notification.NotificationType)1 AnActionEvent (com.intellij.openapi.actionSystem.AnActionEvent)1 Logger (com.intellij.openapi.diagnostic.Logger)1 ProgressIndicator (com.intellij.openapi.progress.ProgressIndicator)1 VirtualFile (com.intellij.openapi.vfs.VirtualFile)1 File (java.io.File)1 Arrays (java.util.Arrays)1 Collections (java.util.Collections)1 List (java.util.List)1