git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@482907 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -45,6 +45,13 @@ public abstract class ProjectComponent implements Cloneable { | |||
| protected Location location = Location.UNKNOWN_LOCATION; | |||
| // CheckStyle:VisibilityModifier ON | |||
| /** | |||
| * Description of this component, if any. | |||
| * @deprecated since 1.6.x. | |||
| * You should not be accessing this variable directly. | |||
| */ | |||
| protected String description; | |||
| /** Sole constructor. */ | |||
| public ProjectComponent() { | |||
| } | |||
| @@ -97,6 +104,29 @@ public abstract class ProjectComponent implements Cloneable { | |||
| this.location = location; | |||
| } | |||
| /** | |||
| * Sets a description of the current action. This may be used for logging | |||
| * purposes. | |||
| * | |||
| * @param desc Description of the current action. | |||
| * May be <code>null</code>, indicating that no description is | |||
| * available. | |||
| * | |||
| */ | |||
| public void setDescription(String desc) { | |||
| description = desc; | |||
| } | |||
| /** | |||
| * Returns the description of the current action. | |||
| * | |||
| * @return the description of the current action, or <code>null</code> if | |||
| * no description is available. | |||
| */ | |||
| public String getDescription() { | |||
| return description; | |||
| } | |||
| /** | |||
| * Logs a message with the default (INFO) priority. | |||
| * | |||
| @@ -41,13 +41,6 @@ public abstract class Task extends ProjectComponent { | |||
| */ | |||
| protected Target target; | |||
| /** | |||
| * Description of this task, if any. | |||
| * @deprecated since 1.6.x. | |||
| * You should not be accessing this variable directly. | |||
| */ | |||
| protected String description; | |||
| /** | |||
| * Name of this task to be used for logging purposes. | |||
| * This defaults to the same as the type, but may be | |||
| @@ -141,29 +134,6 @@ public abstract class Task extends ProjectComponent { | |||
| this.taskType = type; | |||
| } | |||
| /** | |||
| * Sets a description of the current action. This may be used for logging | |||
| * purposes. | |||
| * | |||
| * @param desc Description of the current action. | |||
| * May be <code>null</code>, indicating that no description is | |||
| * available. | |||
| * | |||
| */ | |||
| public void setDescription(String desc) { | |||
| description = desc; | |||
| } | |||
| /** | |||
| * Returns the description of the current action. | |||
| * | |||
| * @return the description of the current action, or <code>null</code> if | |||
| * no description is available. | |||
| */ | |||
| public String getDescription() { | |||
| return description; | |||
| } | |||
| /** | |||
| * Called by the project to let the task initialize properly. | |||
| * The default implementation is a no-op. | |||
| @@ -0,0 +1,47 @@ | |||
| /* | |||
| * 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. | |||
| * | |||
| */ | |||
| package org.apache.tools.ant; | |||
| import junit.framework.TestCase; | |||
| public class ProjectComponentTest extends TestCase { | |||
| public ProjectComponentTest(String name) { | |||
| super(name); | |||
| } | |||
| public void testClone() throws CloneNotSupportedException { | |||
| Project expectedProject = new Project(); | |||
| Location expectedLocation = new Location("foo"); | |||
| String expectedDescription = "bar"; | |||
| // use an anonymous subclass since ProjectComponent is abstract | |||
| ProjectComponent pc = new ProjectComponent() { | |||
| }; | |||
| pc.setProject(expectedProject); | |||
| pc.setLocation(expectedLocation); | |||
| pc.setDescription(expectedDescription); | |||
| ProjectComponent cloned = (ProjectComponent) pc.clone(); | |||
| assertNotSame(pc, cloned); | |||
| assertSame(cloned.getProject(), expectedProject); | |||
| assertSame(cloned.getLocation(), expectedLocation); | |||
| assertSame(cloned.getDescription(), expectedDescription); | |||
| } | |||
| } | |||