package net.jangaroo.ide.idea.jps.util;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import java.io.File;
import java.net.URI;
/**
* Utility methods that convert virtual file URLs to paths and vice versa.
*/
public class IdeaFileUtils {
public static final String IDEA_URL_PREFIX = "file://";
public static String toPath(String ideaUrl) {
if (ideaUrl == null) {
return "";
}
if (ideaUrl.startsWith(IDEA_URL_PREFIX)) {
try {
return new File(new URI(VfsUtil.fixIDEAUrl(ideaUrl))).getPath();
} catch (Exception e) {
ideaUrl = ideaUrl.substring(IDEA_URL_PREFIX.length());
}
}
return ideaUrl.replace('/', File.separatorChar);
}
public static String toIdeaUrl(String path) {
path = path.trim();
if (path.length()==0) {
return path;
}
VirtualFile virtualFile = LocalFileSystem.getInstance().findFileByPath(path);
return virtualFile==null ? IDEA_URL_PREFIX + path.replace(File.separatorChar, '/') : virtualFile.getUrl();
}
}