diff options
author | Ashlee Young <ashlee@onosfw.com> | 2015-10-23 10:05:40 -0700 |
---|---|---|
committer | Ashlee Young <ashlee@onosfw.com> | 2015-10-23 10:05:40 -0700 |
commit | b9421dc80af485591a9c50cc8921f912e0def11e (patch) | |
tree | 93f0935070ca2b2e661f281ac22761879f7cf893 /framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java | |
parent | 753a6c60f47f3ac4f270005b65e9d6481de8eb68 (diff) |
Removing sources to replace with download links instead.
Change-Id: Ie28789a725051aec0d1b04dd291b7690a7898668
Signed-off-by: Ashlee Young <ashlee@onosfw.com>
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java deleted file mode 100644 index a80f9aa9..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java +++ /dev/null @@ -1,185 +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.types.selectors; - -import java.io.File; -import java.util.StringTokenizer; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.types.Parameter; - -/** - * Selector that filters files based on the how deep in the directory - * tree they are. - * - * @since 1.5 - */ -public class DepthSelector extends BaseExtendSelector { - - // CheckStyle:VisibilityModifier OFF - bc - - /** min attribute */ - public int min = -1; - /** max attribute */ - public int max = -1; - - // CheckStyle:VisibilityModifier ON - - /** Used for parameterized custom selector */ - public static final String MIN_KEY = "min"; - /** Used for parameterized custom selector */ - public static final String MAX_KEY = "max"; - - /** - * Creates a new <code>DepthSelector</code> instance. - * - */ - public DepthSelector() { - } - - /** - * @return a string describing this object - */ - public String toString() { - StringBuilder buf = new StringBuilder("{depthselector min: "); - buf.append(min); - buf.append(" max: "); - buf.append(max); - buf.append("}"); - return buf.toString(); - } - - /** - * The minimum depth below the basedir before a file is selected. - * - * @param min minimum directory levels below basedir to go - */ - public void setMin(int min) { - this.min = min; - } - - /** - * The minimum depth below the basedir before a file is selected. - * - * @param max maximum directory levels below basedir to go - */ - public void setMax(int max) { - this.max = max; - } - - /** - * When using this as a custom selector, this method will be called. - * It translates each parameter into the appropriate setXXX() call. - * - * @param parameters the complete set of parameters for this selector - */ - public void setParameters(Parameter[] parameters) { - super.setParameters(parameters); - if (parameters != null) { - for (int i = 0; i < parameters.length; i++) { - String paramname = parameters[i].getName(); - if (MIN_KEY.equalsIgnoreCase(paramname)) { - try { - setMin(Integer.parseInt(parameters[i].getValue())); - } catch (NumberFormatException nfe1) { - setError("Invalid minimum value " - + parameters[i].getValue()); - } - } else if (MAX_KEY.equalsIgnoreCase(paramname)) { - try { - setMax(Integer.parseInt(parameters[i].getValue())); - } catch (NumberFormatException nfe1) { - setError("Invalid maximum value " - + parameters[i].getValue()); - } - } else { - setError("Invalid parameter " + paramname); - } - } - } - } - - /** - * Checks to make sure all settings are kosher. In this case, it - * means that the max depth is not lower than the min depth. - */ - public void verifySettings() { - if (min < 0 && max < 0) { - setError("You must set at least one of the min or the " - + "max levels."); - } - if (max < min && max > -1) { - setError("The maximum depth is lower than the minimum."); - } - } - - /** - * The heart of the matter. This is where the selector gets to decide - * on the inclusion of a file in a particular fileset. Most of the work - * for this selector is offloaded into SelectorUtils, a static class - * that provides the same services for both FilenameSelector and - * DirectoryScanner. - * - * @param basedir the base directory the scan is being done from - * @param filename is the name of the file to check - * @param file is a java.io.File object the selector can use - * @return whether the file should be selected or not - */ - public boolean isSelected(File basedir, String filename, File file) { - - // throw BuildException on error - validate(); - - int depth = -1; - // If you felt daring, you could cache the basedir absolute path - String absBase = basedir.getAbsolutePath(); - String absFile = file.getAbsolutePath(); - StringTokenizer tokBase = new StringTokenizer(absBase, - File.separator); - StringTokenizer tokFile = new StringTokenizer(absFile, - File.separator); - while (tokFile.hasMoreTokens()) { - String filetoken = tokFile.nextToken(); - if (tokBase.hasMoreTokens()) { - String basetoken = tokBase.nextToken(); - // Sanity check. Ditch it if you want faster performance - if (!basetoken.equals(filetoken)) { - throw new BuildException("File " + filename - + " does not appear within " + absBase - + "directory"); - } - } else { - depth += 1; - if (max > -1 && depth > max) { - return false; - } - } - } - if (tokBase.hasMoreTokens()) { - throw new BuildException("File " + filename - + " is outside of " + absBase + "directory tree"); - } - if (min > -1 && depth < min) { - return false; - } - return true; - } - -} - |