All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xlrit.gears.engine.facade.SaveTaskCmd Maven / Gradle / Ivy

package com.xlrit.gears.engine.facade;

import java.util.List;

import com.fasterxml.jackson.databind.JsonNode;
import org.flowable.common.engine.impl.interceptor.CommandContext;
import org.flowable.engine.impl.cmd.NeedsActiveTaskCmd;
import org.flowable.task.service.impl.persistence.entity.TaskEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;

class SaveTaskCmd extends NeedsActiveTaskCmd {
    private static final Logger LOG = LoggerFactory.getLogger(SaveTaskCmd.class);

    private final JsonNode formValues;
    private final List files;

    public SaveTaskCmd(String taskId, JsonNode formValues, List files) {
        super(taskId);
        this.formValues = formValues;
        this.files = files;
    }

    @Override
    protected String execute(CommandContext commandContext, TaskEntity task) {
        if (files != null && !files.isEmpty()) {
            LOG.warn("Files cannot be saved yet: {}", files);
            //ContentStore contentStore = commandContext.getSession(ContentStoreSession.class);
            //for (MultipartFile file : files) {
            //    contentStore.putContent(file.getOriginalFilename(), file.getContentType(), EngineUtils.getUploadedFileData(file));
            //}
        }
        task.setVariableLocal(EngineFacade.TASK_VAR_SAVED_VALUES, formValues);
        task.setVariableLocal(EngineFacade.TASK_VAR_ERROR, null); // clear previous error
        return task.getProcessInstanceId();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy