aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Retry.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Retry.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Retry.java119
1 files changed, 0 insertions, 119 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Retry.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Retry.java
deleted file mode 100644
index 1a00fa4c..00000000
--- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Retry.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * 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.taskdefs;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.TaskContainer;
-import org.apache.tools.ant.util.StringUtils;
-
-/**
- * Retries the nested task a set number of times
- * @since Ant 1.7.1
- */
-public class Retry extends Task implements TaskContainer {
-
- /**
- * task to execute n times
- */
- private Task nestedTask;
-
- /**
- * set retryCount to 1 by default
- */
- private int retryCount = 1;
-
- /**
- * The time to wait between retries in milliseconds, default to 0.
- */
- private int retryDelay = 0;
-
- /**
- * set the task
- * @param t the task to retry.
- */
- public synchronized void addTask(Task t) {
- if (nestedTask != null) {
- throw new BuildException(
- "The retry task container accepts a single nested task"
- + " (which may be a sequential task container)");
- }
- nestedTask = t;
- }
-
- /**
- * set the number of times to retry the task
- * @param n the number to use.
- */
- public void setRetryCount(int n) {
- retryCount = n;
- }
-
- /**
- * set the delay between retries (in milliseconds)
- * @param retryDelay the time between retries.
- * @since Ant 1.8.3
- */
- public void setRetryDelay(int retryDelay) {
- if (retryDelay < 0) {
- throw new BuildException("retryDelay must be a non-negative number");
- }
- this.retryDelay = retryDelay;
- }
-
- /**
- * perform the work
- * @throws BuildException if there is an error.
- */
- public void execute() throws BuildException {
- StringBuffer errorMessages = new StringBuffer();
- for (int i = 0; i <= retryCount; i++) {
- try {
- nestedTask.perform();
- break;
- } catch (Exception e) {
- errorMessages.append(e.getMessage());
- if (i >= retryCount) {
- StringBuffer exceptionMessage = new StringBuffer();
- exceptionMessage.append("Task [").append(nestedTask.getTaskName());
- exceptionMessage.append("] failed after [").append(retryCount);
- exceptionMessage.append("] attempts; giving up.").append(StringUtils.LINE_SEP);
- exceptionMessage.append("Error messages:").append(StringUtils.LINE_SEP);
- exceptionMessage.append(errorMessages);
- throw new BuildException(exceptionMessage.toString(), getLocation());
- }
- String msg;
- if (retryDelay > 0) {
- msg = "Attempt [" + i + "]: error occurred; retrying after " + retryDelay + " ms...";
- } else {
- msg = "Attempt [" + i + "]: error occurred; retrying...";
- }
- log(msg, e, Project.MSG_INFO);
- errorMessages.append(StringUtils.LINE_SEP);
- if (retryDelay > 0) {
- try {
- Thread.sleep(retryDelay);
- } catch (InterruptedException ie) {
- // Ignore Exception
- }
- }
- }
- }
- }
-}