/******************************************************************************* * 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 Aug 4, 2004 */ package org.eclipse.jst.j2ee.internal.deploy; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.jst.j2ee.application.Application; import org.eclipse.jst.j2ee.client.ApplicationClient; import org.eclipse.jst.j2ee.componentcore.EnterpriseArtifactEdit; import org.eclipse.jst.j2ee.ejb.EJBJar; import org.eclipse.jst.j2ee.jca.Connector; import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities; import org.eclipse.jst.j2ee.webapplication.WebApp; import org.eclipse.wst.common.componentcore.ComponentCore; import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities; import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; import org.eclipse.wst.common.internal.emf.utilities.ICommandContext; /** * @author cbridgha * */ public class J2EEDeployHelper { /** * @param resource * @param context * @returns first EJBJar found in the project */ public static EJBJar getEJBJar(IResource resource, ICommandContext context) { EnterpriseArtifactEdit edit = null; try { if (resource instanceof IProject) { IVirtualComponent comp = ComponentCore.createComponent((IProject)resource); if (JavaEEProjectUtilities.isEJBProject(comp.getProject())) { edit = (EnterpriseArtifactEdit)ComponentUtilities.getArtifactEditForRead(comp); return (EJBJar)edit.getDeploymentDescriptorRoot(); } } } finally { if (edit != null) edit.dispose(); } return null; } /** * @param resource * @param context * @return */ public static Application getApplication(IResource resource, ICommandContext context) { EnterpriseArtifactEdit edit = null; try { if (resource instanceof IProject) { IVirtualComponent comp = ComponentCore.createComponent((IProject)resource); if (JavaEEProjectUtilities.isEARProject(comp.getProject())) { edit = (EnterpriseArtifactEdit)ComponentUtilities.getArtifactEditForRead(comp); return (Application)edit.getDeploymentDescriptorRoot(); } } } finally { if (edit != null) edit.dispose(); } return null; } /** * @param resource * @param context * @return */ public static ApplicationClient getAppClient(IResource resource, ICommandContext context) { EnterpriseArtifactEdit edit = null; try { if (resource instanceof IProject) { IVirtualComponent comp = ComponentCore.createComponent((IProject)resource); if (JavaEEProjectUtilities.isApplicationClientProject(comp.getProject())) { edit = (EnterpriseArtifactEdit)ComponentUtilities.getArtifactEditForRead(comp); return (ApplicationClient)edit.getDeploymentDescriptorRoot(); } } } finally { if (edit != null) edit.dispose(); } return null; } /** * @param resource * @param context * @return */ public static WebApp getWebApp(IResource resource, ICommandContext context) { EnterpriseArtifactEdit edit = null; try { if (resource instanceof IProject) { IVirtualComponent comp = ComponentCore.createComponent((IProject)resource); if (JavaEEProjectUtilities.isDynamicWebProject(comp.getProject())) { edit = (EnterpriseArtifactEdit)ComponentUtilities.getArtifactEditForRead(comp); return (WebApp)edit.getDeploymentDescriptorRoot(); } } } finally { if (edit != null) edit.dispose(); } return null; } /** * @param resource * @param context * @return */ public static Connector getConnector(IResource resource, ICommandContext context) { EnterpriseArtifactEdit edit = null; try { if (resource instanceof IProject) { IVirtualComponent comp = ComponentCore.createComponent((IProject)resource); if (JavaEEProjectUtilities.isJCAProject(comp.getProject())) { edit = (EnterpriseArtifactEdit)ComponentUtilities.getArtifactEditForRead(comp); return (Connector)edit.getDeploymentDescriptorRoot(); } } } finally { if (edit != null) edit.dispose(); } return null; } }