blob: e7a98d999d2e8fea54aeeabf1b870a2c5e32cc8b [file] [log] [blame]
/*
* Created on Feb 21, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package org.eclipse.wst.web.internal.deployables;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.wst.server.core.IModuleArtifact;
public class StaticWebDeployableObjectAdapterUtil {
//private final static String[] extensionsToExclude = new String[]{"sql", "xmi"}; //$NON-NLS-1$ //$NON-NLS-2$
static String J2EE_NATURE_ID = "org.eclipse.jst.j2ee.web.WebNature"; //$NON-NLS-1$
static String INFO_DIRECTORY = "WEB-INF"; //$NON-NLS-1$
// public static IBaseWebNature getRuntime(IProject project) {
// if (project == null)
// return null;
// try {
// IBaseWebNature nature;
// if (project.hasNature(J2EE_NATURE_ID))
// nature = (IBaseWebNature) project.getNature(J2EE_NATURE_ID);
// else
// nature = (IBaseWebNature) project.getNature("org.eclipse.wst.web.StaticWebNature");
// return nature;
// } catch (CoreException e) {
// return null;
// }
// }
public static IModuleArtifact getModuleObject(Object obj) {
IResource resource = null;
if (obj instanceof IResource)
resource = (IResource) obj;
else if (obj instanceof IAdaptable)
resource = (IResource) ((IAdaptable) obj).getAdapter(IResource.class);
if (resource == null)
return null;
return null;
//TODO use components API
// find deployable
// IBaseWebNature webNature = getRuntime(resource.getProject());
// if (webNature == null || !(webNature instanceof StaticWebNatureRuntime))
// return null;
//
// if (resource instanceof IProject)
// return new WebResource(getModule(webNature), new Path("")); //$NON-NLS-1$
//
// // determine path
// IPath rootPath = webNature.getRootPublishableFolder().getProjectRelativePath();
// IPath resourcePath = resource.getProjectRelativePath();
//
// // Check to make sure the resource is under the webApplication directory
// if (resourcePath.matchingFirstSegments(rootPath) != rootPath.segmentCount())
// return null;
//
// // Do not allow resource under the web-inf directory
// resourcePath = resourcePath.removeFirstSegments(rootPath.segmentCount());
// if (resourcePath.segmentCount() > 1 && resourcePath.segment(0).equals(INFO_DIRECTORY))
// return null;
//
// if (shouldExclude(resource))
// return null;
//
// // return Web resource type
// return new WebResource(getModule(webNature), resourcePath);
}
/**
* Method shouldExclude.
*
* @param resource
* @return boolean
*/
// private static boolean shouldExclude(IResource resource) {
// String fileExt = resource.getFileExtension();
//
// // Exclude files of certain extensions
// for (int i = 0; i < extensionsToExclude.length; i++) {
// String extension = extensionsToExclude[i];
// if (extension.equalsIgnoreCase(fileExt))
// return true;
// }
// return false;
// }
// protected static IModule getModule(IBaseWebNature nature) {
// IModule deployable = nature.getModule();
// if (deployable != null)
// return deployable;
//
// IProject project = nature.getProject();
// Iterator iterator = Arrays.asList(ServerUtil.getModules("web.static")).iterator(); //$NON-NLS-1$ //$NON-NLS-2$
// while (iterator.hasNext()) {
// deployable = (IModule) iterator.next();
// if (deployable != null) {
// if ((deployable).getProject().equals(project))
// return deployable;
// }
// }
// return null;
// }
}