package org.webpieces.util.file;
public class ClassUtil {
public static String translate(String packageContext, String relativePathToResource) {
String[] split = relativePathToResource.split("/");
for(int i = 0; i < split.length-1; i++) {
String partialPath = split[i];
if("..".equals(partialPath)) {
packageContext = stripOneOff(packageContext);
} else {
packageContext = append(packageContext, partialPath);
}
}
return packageContext + "." + split[split.length-1];
}
private static String append(String packageContext, String partialPath) {
if("".equals(packageContext))
return partialPath;
return packageContext + "." + partialPath;
}
private static String stripOneOff(String packageContext) {
int lastIndexOf = packageContext.lastIndexOf(".");
if(lastIndexOf > 0) {
return packageContext.substring(0, lastIndexOf);
} else if(!"".equals(packageContext)) {
return "";
} else
throw new IllegalArgumentException("Too many .. were used in the path and we ended up going past the root classpath");
}
}