blob: 9045707ef71a56f20d72e851a80c7a99c5fdc05b [file] [log] [blame]
package org.eclipse.jst.jee.model.internal;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.emf.common.util.URI;
import org.eclipse.jem.util.emf.workbench.ProjectResourceSet;
import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
import org.eclipse.jst.j2ee.internal.J2EEConstants;
import org.eclipse.jst.j2ee.model.IModelProvider;
import org.eclipse.jst.javaee.application.internal.util.ApplicationResourceImpl;
import org.eclipse.wst.common.componentcore.ComponentCore;
import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
public class EAR5ModelProvider implements IModelProvider {
private IProject proj;
public EAR5ModelProvider(IProject proj) {
super();
this.proj = proj;
}
/* (non-Javadoc)
* @see org.eclipse.jst.j2ee.model.IModelProvider#getModelObject()
*/
public Object getModelObject() {
ProjectResourceSet resSet = getResourceSet(proj);
IVirtualFolder container = ComponentCore.createComponent(proj).getRootFolder();
String modelPathURI = J2EEConstants.APPLICATION_DD_URI;
URI uri = URI.createURI(container.getProjectRelativePath().toString() + "/" + modelPathURI);
ApplicationResourceImpl earRes = (ApplicationResourceImpl) resSet.getResource(uri,true);
if (earRes.getContents().size() > 0)
return earRes.getApplication();
return null;
}
private ProjectResourceSet getResourceSet(IProject proj2) {
return (ProjectResourceSet)WorkbenchResourceHelperBase.getResourceSet(proj);
}
/* (non-Javadoc)
* @see org.eclipse.jst.j2ee.model.IModelProvider#getModelObject(org.eclipse.core.runtime.IPath)
*/
public Object getModelObject(IPath modelPath) {
// TODO Need to implement
return null;
}
/* (non-Javadoc)
* @see org.eclipse.jst.j2ee.model.IModelProvider#modify(java.lang.Runnable, org.eclipse.core.runtime.IPath)
*/
public void modify(Runnable runnable, IPath modelPath) {
//About to modify and save this model
// call validateEdit()
// access model (write count)
// run runnable
// save model
// release access count
}
}