RM9,000-RM15,000 SEBULAN HANYA DARI RUMAH SAHAJA?

BAGAIMANA MENDAPATKAN WANG SEBANYAK ITU

Mudahkan...kalau hantar 10 email anda di bayar RM200

Anda akan menerima faedah-faedah yang disediakan seperti:

#Pendapatan secara mingguan/bulanan
#Gandaan pendapatan melalui tumpuan dan kesungguhan
#Memperolehi pendapatan seperti yang dimahukan
#Jaminan pendapatan yang diiktiraf bagi memenuhi setiap impian.

Oleh maka itu , kunjungilah link dibawah untuk keterangan selanjutnya

http://tinyurl.com/5zsjo2

http://tinyurl.com/5zsjo2

--~--~---------~--~----~------------~-------~--~----~
Working life is a bed of roses with the thorns of course, there are plenty of 
ways to make money online, a fine example is blogging, something everyone is 
familiar with. If you happen to stumble upon this forum by chance, you're 
pretty much on your way to financial freedom. Visit the official group or 
website for more information at 
http://groups.google.com/group/make-money-online?hl=en and 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java?rev=695402&r1=695401&r2=695402&view=diff
> ==============================================================================
> --- ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java 
> (original)
> +++ ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java Mon 
> Sep 15 02:54:06 2008
> @@ -145,30 +145,30 @@
>      */
>     protected static final String[] DEFAULTEXCLUDES = {
>         // Miscellaneous typical temporary files
> -        SelectorUtils.DEEP_ROOT_MATCH + "*~",
> -        SelectorUtils.DEEP_ROOT_MATCH + "#*#",
> -        SelectorUtils.DEEP_ROOT_MATCH + ".#*",
> -        SelectorUtils.DEEP_ROOT_MATCH + "%*%",
> -        SelectorUtils.DEEP_ROOT_MATCH + "._*",
> +        SelectorUtils.DEEP_TREE_MATCH + "/*~",
> +        SelectorUtils.DEEP_TREE_MATCH + "/#*#",
> +        SelectorUtils.DEEP_TREE_MATCH + "/.#*",
> +        SelectorUtils.DEEP_TREE_MATCH + "/%*%",
> +        SelectorUtils.DEEP_TREE_MATCH + "/._*",
>
>         // CVS
> -        SelectorUtils.DEEP_ROOT_MATCH + "CVS",
> -        SelectorUtils.DEEP_ROOT_MATCH + "CVS" + 
> SelectorUtils.DEEP_LEAVES_MATCH,
> -        SelectorUtils.DEEP_ROOT_MATCH + ".cvsignore",
> +        SelectorUtils.DEEP_TREE_MATCH + "/CVS",
> +        SelectorUtils.DEEP_TREE_MATCH + "/CVS/" + 
> SelectorUtils.DEEP_TREE_MATCH,
> +        SelectorUtils.DEEP_TREE_MATCH + "/.cvsignore",
>
>         // SCCS
> -        SelectorUtils.DEEP_ROOT_MATCH + "SCCS",
> -        SelectorUtils.DEEP_ROOT_MATCH + "SCCS" + 
> SelectorUtils.DEEP_LEAVES_MATCH,
> +        SelectorUtils.DEEP_TREE_MATCH + "/SCCS",
> +        SelectorUtils.DEEP_TREE_MATCH + "/SCCS/" + 
> SelectorUtils.DEEP_TREE_MATCH,
>
>         // Visual SourceSafe
> -        SelectorUtils.DEEP_ROOT_MATCH + "vssver.scc",
> +        SelectorUtils.DEEP_TREE_MATCH + "/vssver.scc",
>
>         // Subversion
> -        SelectorUtils.DEEP_ROOT_MATCH + ".svn",
> -        SelectorUtils.DEEP_ROOT_MATCH + ".svn" + 
> SelectorUtils.DEEP_LEAVES_MATCH,
> +        SelectorUtils.DEEP_TREE_MATCH + "/.svn",
> +        SelectorUtils.DEEP_TREE_MATCH + "/.svn/" + 
> SelectorUtils.DEEP_TREE_MATCH,
>
>         // Mac
> -        SelectorUtils.DEEP_ROOT_MATCH + ".DS_Store"
> +        SelectorUtils.DEEP_TREE_MATCH + "/.DS_Store"
>     };
>
>     /**
> @@ -1295,10 +1295,13 @@
>      *         least one include pattern, or <code>false</code> otherwise.
>      */
>     protected boolean couldHoldIncluded(String name) {
> +        final PathPattern tokenizedName = new PathPattern(name);
>         for (int i = 0; i < includes.length; i++) {
> -            if (matchPatternStart(includes[i], name, isCaseSensitive())
> +            PathPattern tokenizedInclude = new PathPattern(includes[i]);
> +            if (tokenizedName.matchPatternStartOf(tokenizedInclude,
> +                                                  isCaseSensitive())
>                 && isMorePowerfulThanExcludes(name, includes[i])
> -                && isDeeper(includes[i], name)) {
> +                && isDeeper(tokenizedInclude, tokenizedName)) {
>                 return true;
>             }
>         }
> @@ -1313,13 +1316,9 @@
>      * @return whether the pattern is deeper than the name.
>      * @since Ant 1.6.3
>      */
> -    private boolean isDeeper(String pattern, String name) {
> -        Vector p = SelectorUtils.tokenizePath(pattern);
> -        if (!p.contains(SelectorUtils.DEEP_TREE_MATCH)) {
> -            Vector n = SelectorUtils.tokenizePath(name);
> -            return p.size() > n.size();
> -        }
> -        return true;
> +    private boolean isDeeper(PathPattern pattern, PathPattern name) {
> +        return pattern.containsPattern(SelectorUtils.DEEP_TREE_MATCH)
> +            || pattern.depth() > name.depth();
>     }
>
>     /**
> @@ -1341,7 +1340,8 @@
>      */
>     private boolean isMorePowerfulThanExcludes(String name,
>                                                String includepattern) {
> -        String soughtexclude = name + SelectorUtils.DEEP_LEAVES_MATCH;
> +        final String soughtexclude =
> +            name + File.separatorChar + SelectorUtils.DEEP_TREE_MATCH;
>         for (int counter = 0; counter < excludes.length; counter++) {
>             if (excludes[counter].equals(soughtexclude))  {
>                 return false;
>
> Modified: 
> ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/PathPattern.java
> URL: 
> http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/PathPattern.java?rev=695402&r1=695401&r2=695402&view=diff
> ==============================================================================
> --- 
> ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/PathPattern.java 
> (original)
> +++ 
> ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/PathPattern.java 
> Mon Sep 15 02:54:06 2008
> @@ -70,6 +70,16 @@
>     }
>
>     /**
> +     * Tests whether or not this PathPattern matches the start of
> +     * another pattern.
> +     */
> +    public boolean matchPatternStartOf(PathPattern other,
> +                                       boolean caseSensitive) {
> +        return SelectorUtils.matchPatternStart(other.tokenizedPattern,
> +                                               tokenizedPattern, 
> caseSensitive);
> +    }
> +
> +    /**
>      * @return The pattern String
>      */
>     public String toString() {
> @@ -79,4 +89,23 @@
>     public String getPattern() {
>         return pattern;
>     }
> +
> +    /**
> +     * The depth (or length) of a pattern.
> +     */
> +    public int depth() {
> +        return tokenizedPattern.length;
> +    }
> +
> +    /**
> +     * Does the tokenized pattern contain the given string?
> +     */
> +    public boolean containsPattern(String pat) {
> +        for (int i = 0; i < tokenizedPattern.length; i++) {
> +            if (tokenizedPattern[i].equals(pat)) {
> +                return true;
> +            }
> +        }
> +        return false;
> +    }
>  }
>
> Modified: 
> ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SelectorUtils.java
> URL: 
> http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SelectorUtils.java?rev=695402&r1=695401&r2=695402&view=diff
> ==============================================================================
> --- 
> ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SelectorUtils.java
>  (original)
> +++ 
> ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SelectorUtils.java
>  Mon Sep 15 02:54:06 2008
> @@ -44,20 +44,6 @@
>      */
>     public static final String DEEP_TREE_MATCH = "**";
>
> -    /**
> -     * The pattern that matches an arbitrary number of directories at
> -     * the leaves.
> -     * @since Ant 1.8.0
> -     */
> -    public static final String DEEP_LEAVES_MATCH = File.separatorChar + "**";
> -
> -    /**
> -     * The pattern that matches an arbitrary number of directories at
> -     * the root.
> -     * @since Ant 1.8.0
> -     */
> -    public static final String DEEP_ROOT_MATCH = "**" + File.separatorChar;
> -
>     private static final SelectorUtils instance = new SelectorUtils();
>     private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
>
> @@ -126,7 +112,30 @@
>
>         String[] patDirs = tokenizePathAsArray(pattern);
>         String[] strDirs = tokenizePathAsArray(str);
> +        return matchPatternStart(patDirs, strDirs, isCaseSensitive);
> +    }
> +
>
> +    /**
> +     * Tests whether or not a given path matches the start of a given
> +     * pattern up to the first "**".
> +     * <p>
> +     * This is not a general purpose test and should only be used if you
> +     * can live with false positives. For example, <code>pattern=**\a</code>
> +     * and <code>str=b</code> will yield <code>true</code>.
> +     *
> +     * @param patDirs The tokenized pattern to match against. Must not be
> +     *                <code>null</code>.
> +     * @param strDirs The tokenized path to match. Must not be
> +     *                <code>null</code>.
> +     * @param isCaseSensitive Whether or not matching should be performed
> +     *                        case sensitively.
> +     *
> +     * @return whether or not a given path matches the start of a given
> +     * pattern up to the first "**".
> +     */
> +    static boolean matchPatternStart(String[] patDirs, String[] strDirs,
> +                                     boolean isCaseSensitive) {
>         int patIdxStart = 0;
>         int patIdxEnd = patDirs.length - 1;
>         int strIdxStart = 0;
>
>
>



-- 
Gilles Scokart

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to