package tk.eclipse.plugin.htmleditor;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.core.ClasspathVariableInitializer;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
import org.osgi.framework.Bundle;
/**
* Provides the classpath variable <code>WEBAPP_LIBS</code>.
* <p>
* This variable points tk.eclipse.plugin.htmleditor/lib.
* This folder has following jar files:
* <ul>
* <li>servlet-api.jar</li>
* <li>jsp-api.jar</li>
* </ul>
*
* @author Naoki Takezoe
* @since 2.0.3
*/
public class WebAppClasspathVariableInitializer extends
ClasspathVariableInitializer {
@Override
public void initialize(String variable) {
Bundle bundle = HTMLPlugin.getDefault().getBundle();
if(bundle==null){
JavaCore.removeClasspathVariable(variable, null);
return;
}
URL installLocation = bundle.getEntry("/");
URL local = null;
try {
local = FileLocator.toFileURL(installLocation);
} catch(IOException e){
JavaCore.removeClasspathVariable(variable, null);
return;
}
try {
String fullpath = new File(local.getPath(), "lib").getAbsolutePath();
JavaCore.setClasspathVariable(variable, new Path(fullpath), null);
} catch(JavaModelException e){
JavaCore.removeClasspathVariable(variable, null);
}
}
}