package org.mobicents.sip.servlet.tooling.util;
import java.io.IOException;
import java.io.InputStream;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
import org.eclipse.jst.javaee.web.WebApp;
import org.eclipse.wst.common.componentcore.ComponentCore;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
import org.mobicents.sip.servlet.tooling.SipServletCorePlugin;
import org.osgi.framework.Bundle;
/**
*
* @author <a href="mailto:stefan.sik@omxgroup.com">Stefan Sik</a>
* @author <a href="mailto:vralev@redhat.com">Vladimir Ralev</a>
*
*/
public final class EclipseUtils
{
public static IFolder getWebInfLibDir( final IProject pj )
{
final IVirtualComponent vc = ComponentCore.createComponent( pj );
final IVirtualFolder vf = vc.getRootFolder().getFolder( "WEB-INF/lib" );
return (IFolder) vf.getUnderlyingFolder();
}
public static IFolder getWebInfDir( final IProject pj )
{
final IVirtualComponent vc = ComponentCore.createComponent( pj );
final IVirtualFolder vf = vc.getRootFolder().getFolder( "WEB-INF" );
return (IFolder) vf.getUnderlyingFolder();
}
public static IFolder getWebInfTldDir( final IProject pj )
{
final IVirtualComponent vc = ComponentCore.createComponent( pj );
final IVirtualFolder vf = vc.getRootFolder().getFolder( "WEB-INF/tld" );
return (IFolder) vf.getUnderlyingFolder();
}
/**
* Copies a resource from within the FormGen plugin to a destination in
* the workspace.
*
* @param src the path of the resource within the plugin
* @param dest the destination path within the workspace
*/
public static void copyFromPlugin( final IPath src,
final IFile dest )
throws CoreException
{
try
{
final Bundle bundle = SipServletCorePlugin.getDefault().getBundle();
final InputStream in = FileLocator.openStream( bundle, src, false );
dest.create( in, true, null );
}
catch( IOException e )
{
// throw new CoreException( FormGenPlugin.createErrorStatus( e.getMessage(), e ) );
}
}
public static IProgressMonitor getMonitor(IProgressMonitor m)
{
return m != null ? m: new NullProgressMonitor();
}
}