Use abstraction of PHPOutlinePage
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / externaltools / variable / UrlExpander.java
1 package net.sourceforge.phpdt.externaltools.variable;
2
3 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
4
5 import org.eclipse.core.runtime.IPath;
6 import org.eclipse.jface.preference.IPreferenceStore;
7
8 /**
9  * Expands a variable into the last opened PHP file 
10  * <p>
11  * This class is not intended to be extended by clients.
12  * </p>
13  */
14 public class UrlExpander extends ResourceExpander { //implements IVariableTextExpander {
15
16   /**
17    * Create an instance
18    */
19   public UrlExpander() {
20     super();
21   }
22
23   /**
24    * Returns a string representation of the path to a file or directory
25    * for the given variable tag and value or <code>null</code>.
26    * 
27    * @see IVariableTextExpander#getText(String, String, ExpandVariableContext)
28    */
29   public String getText(String varTag, String varValue, ExpandVariableContext context) {
30     IPath path = getPath(varTag, varValue, context);
31     if (path != null) {
32       IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
33       String localhostURL = path.toString();
34       String lowerCaseFileName = localhostURL.toLowerCase();
35       //       fileName = "http://localhost"+fileName.replaceAll("c:", "");
36       String documentRoot = store.getString(PHPeclipsePlugin.DOCUMENTROOT_PREF);
37       documentRoot = documentRoot.replace('\\', '/');
38       documentRoot = documentRoot.toLowerCase();
39
40       if (lowerCaseFileName.startsWith(documentRoot)) {
41         localhostURL = localhostURL.substring(documentRoot.length());
42         localhostURL = store.getString(PHPeclipsePlugin.LOCALHOST_PREF)+ localhostURL;
43         System.out.println(localhostURL);
44       // localhostURL = store.getString(PHPeclipsePlugin.LOCALHOST_PREF)+ localhostURL;// + localhostURL.replaceAll(documentRoot, "");
45       }
46       return localhostURL;
47     }
48     return "<no file selected>";
49   }
50
51 }