blob: 52d3f91dee6320841d72b32f6a30459332747088 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2003, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
/*
* Created on Sep 29, 2003
*
* To change the template for this generated file go to Window>Preferences>Java>Code
* Generation>Code and Comments
*/
package org.eclipse.jst.j2ee.internal.web.plugin;
import java.util.Set;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jst.j2ee.application.Module;
import org.eclipse.jst.j2ee.application.WebModule;
import org.eclipse.jst.j2ee.internal.moduleextension.EarModuleExtensionImpl;
import org.eclipse.jst.j2ee.internal.moduleextension.WebModuleExtension;
import org.eclipse.jst.j2ee.internal.project.J2EEJavaProjectInfo;
import org.eclipse.jst.j2ee.internal.web.archive.operations.WebComponentImportDataModelProvider;
import org.eclipse.jst.j2ee.internal.web.archive.operations.WebFacetProjectCreationDataModelProvider;
import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
public class WebModuleExtensionImpl extends EarModuleExtensionImpl implements WebModuleExtension {
/**
*
*/
public WebModuleExtensionImpl() {
super();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.j2ee.internal.internal.moduleextension.WebModuleExtension#createProjectInfo()
*/
public J2EEJavaProjectInfo createProjectInfo() {
// TODO Auto-generated method stub
return null;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.j2ee.internal.internal.moduleextension.WebModuleExtension#addWLPProjects(org.eclipse.core.resources.IProject,
* java.util.Set)
*/
public void addWLPProjects(IProject aProject, Set projectsToBuild) {
// J2EEWebNatureRuntime nature = J2EEWebNatureRuntime.getRuntime(aProject);
// if (nature == null)
// return;
// ILibModule[] libModules = nature.getLibModules();
// for (int i = 0; i < libModules.length; i++) {
// IProject p = libModules[i].getProject();
// if (p.isAccessible())
// projectsToBuild.add(libModules[i].getProject());
// }
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.j2ee.internal.internal.moduleextension.WebModuleExtension#setContextRootForModuleMapping(org.eclipse.jst.j2ee.internal.internal.application.WebModule,
* org.eclipse.core.resources.IProject)
*/
public void setContextRootForModuleMapping(WebModule webModule, IProject nestedProject) throws CoreException {
WebArtifactEdit webEdit = null;
try {
// TODO migrate to flex project
// webEdit = (WebArtifactEdit) StructureEdit.getFirstArtifactEditForRead( nestedProject
// );
if (webEdit != null) {
webEdit.setServerContextRoot(webModule.getContextRoot());
}
} finally {
if (webEdit != null)
webEdit.dispose();
}
// if (wnr != null) {
// wnr.setContextRoot(webModule.getContextRoot());
// }
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.j2ee.internal.internal.moduleextension.WebModuleExtension#hasRuntime(org.eclipse.core.resources.IProject)
*/
public boolean hasRuntime(IProject project) {
// return J2EEWebNatureRuntimeUtilities.hasJ2EERuntime(project);
// To do: work based on module
return false;
}
// public J2EEImportOperationOLD createImportOperation(IProject
// nestedProject, WARFile warFile, EARImportConfiguration importConfig){
// WarImportOperation op = new WarImportOperation(nestedProject, warFile);
// //op.setServerTarget(info.getServerTarget());
// HashMap opMap = importConfig.createProjectOption;
// if(opMap != null && !opMap.isEmpty())
// op.createWLProjectOptions = opMap;
// return op;
// }
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.j2ee.internal.internal.moduleextension.WebModuleExtension#getContentFolder(org.eclipse.core.resources.IProject,
* org.eclipse.jst.j2ee.internal.internal.commonarchivecore.File)
*/
public String getContentFolder(IProject project, IFile webSettingsFile) {
String contentFolder = null;
// WebSettings webSettings = new WebSettings(project, webSettingsFile);
// if (webSettings != null) {
// contentFolder = webSettings.getWebContentName();
// }
// To do: Needs work here, no content folder exists now
WebArtifactEdit webEdit = null;
try {
// TODO migrate to flex project
// webEdit = (WebArtifactEdit) StructureEdit.getFirstArtifactEditForRead(project);
if (webEdit != null) {
}
} finally {
if (webEdit != null)
webEdit.dispose();
}
return contentFolder;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.j2ee.internal.internal.moduleextension.WebModuleExtension#compareWebContextRoot(org.eclipse.jst.j2ee.internal.internal.application.Module,
* org.eclipse.core.resources.IProject)
*/
public boolean compareWebContextRoot(Module module, IProject project) throws CoreException {
String contextRoot = ((WebModule) module).getContextRoot();
if (contextRoot != null)
return ((contextRoot).equals(getServerContextRoot(project)));
return false;
}
protected String getServerContextRoot(IProject project) {
WebArtifactEdit webEdit = null;
try {
// TODO migrate to flex project
// webEdit = (WebArtifactEdit) StructureEdit.getFirstArtifactEditForRead(project);
if (webEdit != null) {
return webEdit.getServerContextRoot();
}
} finally {
if (webEdit != null)
webEdit.dispose();
}
return ""; //$NON-NLS-1$
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.j2ee.internal.internal.moduleextension.EarModuleExtension#createProjectDataModel()
*/
public IDataModel createProjectDataModel() {
return DataModelFactory.createDataModel(new WebFacetProjectCreationDataModelProvider());
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.j2ee.internal.internal.moduleextension.EarModuleExtension#createImportDataModel()
*/
public IDataModel createImportDataModel() {
return DataModelFactory.createDataModel(new WebComponentImportDataModelProvider());
}
}