1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18
19 package org.apache.catalina.ant;
20
21
22 import java.io.UnsupportedEncodingException;
23 import java.net.URLEncoder;
24
25 import org.apache.tools.ant.BuildException;
26
27
28 /**
29 * Ant task that implements the <code>/reload</code> command, supported by the
30 * Tomcat manager application.
31 *
32 * @author Craig R. McClanahan
33 * @version $Revision: 467222 $ $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. 2006) $
34 * @since 4.1
35 */
36 public class ReloadTask extends AbstractCatalinaTask {
37
38
39 // ------------------------------------------------------------- Properties
40
41
42 /**
43 * The context path of the web application we are managing.
44 */
45 protected String path = null;
46
47 public String getPath() {
48 return (this.path);
49 }
50
51 public void setPath(String path) {
52 this.path = path;
53 }
54
55
56 // --------------------------------------------------------- Public Methods
57
58
59 /**
60 * Execute the requested operation.
61 *
62 * @exception BuildException if an error occurs
63 */
64 public void execute() throws BuildException {
65
66 super.execute();
67 if (path == null) {
68 throw new BuildException
69 ("Must specify 'path' attribute");
70 }
71 try {
72 execute("/reload?path=" + URLEncoder.encode(this.path, getCharset()));
73 } catch (UnsupportedEncodingException e) {
74 throw new BuildException
75 ("Invalid 'charset' attribute: " + getCharset());
76 }
77
78
79 }
80
81
82 }