001/* 002 * (C) Copyright 2010-2011 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 * 016 * Contributors: 017 * ldoguin 018 */ 019 020package org.nuxeo.ecm.platform.routing.dm.operation; 021 022import org.nuxeo.ecm.automation.OperationContext; 023import org.nuxeo.ecm.automation.task.CreateTask.OperationTaskVariableName; 024import org.nuxeo.ecm.core.api.DocumentModel; 025import org.nuxeo.ecm.platform.routing.api.DocumentRouteElement; 026import org.nuxeo.ecm.platform.routing.api.DocumentRoutingConstants; 027import org.nuxeo.ecm.platform.routing.dm.adapter.RoutingTask; 028 029/** 030 * @since 5.6 031 * @deprecated since 5.9.2 - Use only routes of type 'graph' 032 */ 033@Deprecated 034public class AbstractTaskStepOperation { 035 036 protected RoutingTask routingTask; 037 038 protected DocumentRouteElement step; 039 040 public RoutingTask getRoutingTask(OperationContext context) { 041 if (routingTask == null) { 042 DocumentModel taskDoc = (DocumentModel) context.get(OperationTaskVariableName.taskDocument.name()); 043 if (taskDoc != null) { 044 routingTask = taskDoc.getAdapter(RoutingTask.class); 045 } 046 } 047 return routingTask; 048 } 049 050 public DocumentRouteElement getRoutingStep(OperationContext context) { 051 if (getRoutingTask(context) != null) { 052 step = routingTask.getDocumentRouteStep(context.getCoreSession()); 053 return step; 054 } 055 return null; 056 } 057 058 public String getRoutingStepDocumentId(OperationContext context) { 059 if (getRoutingTask(context) != null) { 060 String stepDocumentId = routingTask.getVariable(DocumentRoutingConstants.OPERATION_STEP_DOCUMENT_KEY); 061 return stepDocumentId; 062 } 063 return null; 064 } 065}