| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You 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. |
| * |
| */ |
| |
| /* $Id$ */ |
| |
| package org.apache.lenya.cms.task; |
| |
| import org.apache.avalon.framework.parameters.Parameterizable; |
| import org.apache.avalon.framework.service.ServiceManager; |
| |
| /** |
| * A Task is a command that can be executed. <br/> |
| * When a Task is executed from a TaskAction or initialized from a TaskJob, the default |
| * parameters are provided. <strong>This is not a contract!</strong> |
| * |
| * @deprecated Use the usecase framework instead. |
| */ |
| public interface Task extends Parameterizable { |
| |
| /** |
| * <code>NAMESPACE</code> The task namespace |
| */ |
| public final static String NAMESPACE = "http://apache.org/cocoon/lenya/task/1.0"; |
| /** |
| * <code>DEFAULT_PREFIX</code> The task namespace prefix |
| */ |
| public final static String DEFAULT_PREFIX = "task"; |
| /** |
| * <code>SUCCESS</code> Success |
| */ |
| public final static int SUCCESS = 0; |
| /** |
| * <code>FAILURE</code> Failure |
| */ |
| public final static int FAILURE = 1; |
| |
| /** |
| * The path of the servlet |
| * context:<br/><code>/home/user_id/build/jakarta-tomcat/webapps/lenyacms</code> |
| */ |
| String PARAMETER_SERVLET_CONTEXT = "servlet-context"; |
| |
| /** |
| * The server |
| * URI:<br/><code><strong>http://www.yourhost.com</strong>:8080/lenya/publication/index.html</code> |
| */ |
| String PARAMETER_SERVER_URI = "server-uri"; |
| |
| /** |
| * The server |
| * port:<br/><code>http://www.yourhost.com:<strong>8080</strong>/lenya/publication/index.html</code> |
| */ |
| String PARAMETER_SERVER_PORT = "server-port"; |
| |
| /** |
| * The part of the URI that precedes the publication |
| * ID:<br/><code>http://www.yourhost.com:8080<strong>/lenya</strong>/publication/index.html</code> |
| */ |
| String PARAMETER_CONTEXT_PREFIX = "context-prefix"; |
| |
| /** |
| * The publication |
| * ID:<br/><code>http://www.yourhost.com:8080/lenya/<strong>publication</strong>/index.html</code> |
| */ |
| String PARAMETER_PUBLICATION_ID = "publication-id"; |
| |
| /** |
| * Execute the task. All parameters must have been set with parameterize(). |
| * @param servletContextPath the servlet-context |
| * @throws ExecutionException if the execution fails |
| */ |
| void execute(String servletContextPath) throws ExecutionException; |
| |
| /** |
| * Set the label that is used to identify the task. |
| * @param label the label |
| */ |
| void setLabel(String label); |
| |
| /** |
| * Returns the result of the task ({@link #SUCCESS}, {@link #FAILURE}). |
| * @return #SUCCESS for success, #FAILURE for failure |
| */ |
| int getResult(); |
| |
| /** |
| * Passes the service manager to the task. |
| * @param manager The service manager. |
| */ |
| void service(ServiceManager manager); |
| } |