Delete association of htmledit.gif for the PHPUnitEditor
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / util / PHPFileUtil.java
index dd1c59c..32db3b0 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Created on 09.08.2003
- *
+ *  
  */
 package net.sourceforge.phpdt.internal.ui.util;
 
@@ -58,7 +58,7 @@ public class PHPFileUtil {
     }
     return false;
   }
-  
+
   /**
    * Returns true iff the file extension is a valid PHP Unit name implementation is not creating extra strings.
    */
@@ -99,20 +99,40 @@ public class PHPFileUtil {
    * @param php_extensions
    *          The PHP extensions to set.
    */
-  public static void setExtensins(String[] php_extensions) {
+  public static void setExtensions(String[] php_extensions) {
     PHP_EXTENSIONS = php_extensions;
   }
 
   /**
+   * Creata the file for the given absolute file path
+   * 
+   * @param absoluteFilePath
+   * @param project
+   * @return the file for the given absolute file path or <code>null</code> if no existing file can be found
+   */
+  public static IFile createFile(IPath absoluteFilePath, IProject project) {
+    if (absoluteFilePath == null || project == null) {
+      return null;
+    }
+
+    String projectPath = project.getLocation().toString();
+    String filePath = absoluteFilePath.toString().substring(projectPath.length() + 1);
+    return project.getFile(filePath);
+
+  }
+
+  /**
    * Determine the path of an include name string
+   * 
    * @param includeNameString
    * @param resource
    * @param project
+   * @return the path for the given include filename or <code>null</code> if no existing file can be found
    */
   public static IPath determineFilePath(String includeNameString, IResource resource, IProject project) {
     IPath documentRootPath = ProjectPrefUtil.getDocumentRoot(project);
     IPath resourcePath = resource.getProjectRelativePath();
-  
+
     File file = null;
     IPath path = null;
     path = documentRootPath.append(includeNameString);
@@ -120,10 +140,8 @@ public class PHPFileUtil {
     if (file.exists()) {
       return path;
     }
-  
-    int index = includeNameString.indexOf('/');
-    if (index < 0) {
-      // includeNameString contains no path separator
+
+    if (includeNameString.startsWith("../")) {
       path = project.getLocation().append(resourcePath.removeLastSegments(1));
       path = path.append(includeNameString);
       file = path.toFile();
@@ -131,7 +149,18 @@ public class PHPFileUtil {
         return path;
       }
     }
-  
+
+    //    int index = includeNameString.indexOf('/');
+    //    if (index < 0) {
+    // includeNameString contains no path separator
+    path = project.getLocation().append(resourcePath.removeLastSegments(1));
+    path = path.append(includeNameString);
+    file = path.toFile();
+    if (file.exists()) {
+      return path;
+    }
+    //    }
+
     List includePaths = ProjectPrefUtil.getIncludePaths(project);
     if (includePaths.size() > 0) {
       for (int i = 0; i < includePaths.size(); i++) {