Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
   *
   * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
   * Other names may be trademarks of their respective owners.
   *
   * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common
  * Development and Distribution License("CDDL") (collectively, the
  * "License"). You may not use this file except in compliance with the
  * License. You can obtain a copy of the License at
  * http://www.netbeans.org/cddl-gplv2.html
  * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  * specific language governing permissions and limitations under the
  * License.  When distributing the software, include this License Header
  * Notice in each file and include the License file at
  * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
  * particular file as subject to the "Classpath" exception as provided
  * by Oracle in the GPL Version 2 section of the License file that
  * accompanied this code. If applicable, add the following below the
  * License Header, with the fields enclosed by brackets [] replaced by
  * your own identifying information:
  * "Portions Copyrighted [year] [name of copyright owner]"
  *
  * Contributor(s):
  *
  * Portions Copyrighted 2007 Sun Microsystems, Inc.
  */
 package org.netbeans.modules.xml.jaxb.util;
 
 import java.io.File;
 import java.net.URI;

org.netbeans.spi.project.support.ant.PropertyUtils is not available as pub API yet. Use the code locally.
 
 public class FileSysUtil {
 
     private static String slashify(String path) {
         if (path.endsWith(.)) {
             return path;
         } else {
             return path + .;
         }
     }
 
     public static String relativizeFile(File basedirFile file) {
         if (basedir.isFile()) {
             throw new IllegalArgumentException("Cannot relative w.r.t. a data file " + basedir); // NOI18N
         }
         if (basedir.equals(file)) {
             return "."// NOI18N
         }
         StringBuffer b = new StringBuffer();
         File base = basedir;
         String filepath = file.getAbsolutePath();
         while (!filepath.startsWith(slashify(base.getAbsolutePath()))) {
             base = base.getParentFile();
             if (base == null) {
                 return null;
             }
             if (base.equals(file)) {
                 b.append(".."); // NOI18N
                 return b.toString();
             }
             b.append("../"); // NOI18N
         }
         URI u = base.toURI().relativize(file.toURI());
         assert !u.isAbsolute() : u + " from " + basedir + " and " + file + " with common root " + base;
         b.append(u.getPath());
         if (b.charAt(b.length() - 1) == '/') {
             // file is an existing directory and file.toURI ends in /
             // we do not want the trailing slash
             b.setLength(b.length() - 1);
         }
         return b.toString();
     }
  
     public static boolean isAbsolutePath(File file){
         return file.isAbsolute();
     }
     
     public static String Absolute2RelativePathStr(File baseFile absPath){
         String relPath = null;
         if (isAbsolutePath(absPath)){
             relPath = relativizeFile(baseabsPath);
         } else {
             relPath = absPath.getPath();
         }
         
         return relPath;
     }
     
     public static File Relative2AbsolutePath(File baseString relPath){
         File relPathFile = new File(relPath);
        File absPath = null;
        if (!isAbsolutePath(relPathFile)){
            absPath = new File(baserelPath);
        } else {
            absPath = relPathFile;
        }
        
        return absPath;
    }    
New to GrepCode? Check out our FAQ X