/**
* Copyright 1996-2014 FoxBPM ORG.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @author kenshin
* @author ych
*/
package org.foxbpm.engine.impl;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
import org.foxbpm.engine.ModelService;
import org.foxbpm.engine.impl.cmd.DeleteDeploymentCmd;
import org.foxbpm.engine.impl.cmd.DeployCmd;
import org.foxbpm.engine.impl.cmd.GetAllBizObjectsCmd;
import org.foxbpm.engine.impl.cmd.GetBizDataObjectCmd;
import org.foxbpm.engine.impl.cmd.GetFlowGraphicsElementPositionCmd;
import org.foxbpm.engine.impl.cmd.GetFlowGraphicsImgStreamCmd;
import org.foxbpm.engine.impl.cmd.GetLatestProcessDefinitionByKey;
import org.foxbpm.engine.impl.cmd.GetProcessDefinitionByKeyAndVersionCmd;
import org.foxbpm.engine.impl.cmd.GetProcessDefinitionCmd;
import org.foxbpm.engine.impl.cmd.GetProcessDefinitionSVGCmd;
import org.foxbpm.engine.impl.cmd.GetResouceByDeployIdAndNameCmd;
import org.foxbpm.engine.impl.cmd.GetStartProcessByUserIdCmd;
import org.foxbpm.engine.impl.cmd.VerificationStartUserCmd;
import org.foxbpm.engine.impl.datavariable.BizDataObject;
import org.foxbpm.engine.impl.model.DeploymentBuilderImpl;
import org.foxbpm.engine.impl.model.ProcessDefinitionQueryImpl;
import org.foxbpm.engine.repository.Deployment;
import org.foxbpm.engine.repository.DeploymentBuilder;
import org.foxbpm.engine.repository.ProcessDefinition;
import org.foxbpm.engine.repository.ProcessDefinitionQuery;
public class ModelServiceImpl extends ServiceImpl implements ModelService {
public DeploymentBuilder createDeployment() {
return new DeploymentBuilderImpl(this);
}
public List<ProcessDefinition> getStartProcessByUserId(String userId) {
return commandExecutor.execute(new GetStartProcessByUserIdCmd(userId));
}
public Deployment deploy(DeploymentBuilderImpl deploymentBuilder) {
return commandExecutor.execute(new DeployCmd(deploymentBuilder));
}
public void deleteDeployment(String deploymentId) {
commandExecutor.execute(new DeleteDeploymentCmd(deploymentId));
}
public ProcessDefinitionQuery createProcessDefinitionQuery() {
return new ProcessDefinitionQueryImpl(commandExecutor);
}
public InputStream GetFlowGraphicsImgStreamByDefId(String processDefinitionId) {
return commandExecutor.execute(new GetFlowGraphicsImgStreamCmd(processDefinitionId, null));
}
public InputStream GetFlowGraphicsImgStreamByDefKey(String processDefinitionKey) {
return commandExecutor.execute(new GetFlowGraphicsImgStreamCmd(null, processDefinitionKey));
}
public ProcessDefinition getProcessDefinition(String processDefinitionId) {
return commandExecutor.execute(new GetProcessDefinitionCmd(processDefinitionId));
}
public ProcessDefinition getProcessDefinition(String processKey, int version) {
return commandExecutor.execute(new GetProcessDefinitionByKeyAndVersionCmd(processKey, version));
}
public Map<String, Map<String, Object>> getFlowGraphicsElementPositionById(
String processDefinitionId) {
return commandExecutor.execute(new GetFlowGraphicsElementPositionCmd(processDefinitionId, null));
}
public Map<String, Map<String, Object>> getFlowGraphicsElementPositionByKey(
String processDefinitionKey) {
return commandExecutor.execute(new GetFlowGraphicsElementPositionCmd(null, processDefinitionKey));
}
public String getProcessDefinitionSVG(String processDefinitionId) {
return commandExecutor.execute(new GetProcessDefinitionSVGCmd(processDefinitionId));
}
public boolean verifyStartProcessByUserId(String userId, String processDefinitionId) {
return commandExecutor.execute(new VerificationStartUserCmd(userId, null, processDefinitionId));
}
public InputStream getResourceByDeployIdAndName(String deployId, String resourceName) {
return commandExecutor.execute(new GetResouceByDeployIdAndNameCmd(deployId, resourceName));
}
public ProcessDefinition getLatestProcessDefinition(String processDefinitionKey) {
return commandExecutor.execute(new GetLatestProcessDefinitionByKey(processDefinitionKey));
}
public List<BizDataObject> getBizDataObject(String behaviorId, String dataSource) {
return commandExecutor.execute(new GetBizDataObjectCmd(behaviorId, dataSource));
}
public List<Map<String,Object>> getAllBizObjects() {
return commandExecutor.execute(new GetAllBizObjectsCmd());
}
public Class<?> getInterfaceClass() {
return ModelService.class;
}
}