package ru.codeinside.gses.webui.form; /* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * Copyright (c) 2014, MPL CodeInside http://codeinside.ru */ import org.activiti.engine.ProcessEngine; import org.activiti.engine.impl.ServiceImpl; import org.activiti.engine.impl.interceptor.CommandExecutor; import ru.codeinside.gses.activiti.forms.FormID; import ru.codeinside.gses.activiti.forms.GetFormBlockCommand; import ru.codeinside.gses.activiti.forms.api.definitions.BlockNode; import ru.codeinside.gses.activiti.forms.api.values.PropertyValue; import ru.codeinside.gses.service.F3; import ru.codeinside.gses.webui.Flash; import java.util.List; final public class Fetcher implements F3<List<PropertyValue<?>>, FormID, BlockNode, String> { private final String login; public Fetcher(String login) { this.login = login; } public Fetcher() { this.login = Flash.login(); } @Override public List<PropertyValue<?>> apply(ProcessEngine engine, FormID id, BlockNode definition, String path) { final CommandExecutor commandExecutor = ((ServiceImpl) engine.getFormService()).getCommandExecutor(); return commandExecutor.execute(new GetFormBlockCommand( id, login, definition, path )); } }