Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 160896 Details for
Bug 241670
.war packaging of EJB components
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Initial support for creation of 3.x beans in WARs and WebFragments
bug241670.patch (text/plain), 16.37 KB, created by
Carl Anderson
on 2010-03-04 00:45:49 EST
(
hide
)
Description:
Initial support for creation of 3.x beans in WARs and WebFragments
Filename:
MIME Type:
Creator:
Carl Anderson
Created:
2010-03-04 00:45:49 EST
Size:
16.37 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jst.j2ee.core >Index: jee-models/org/eclipse/jst/javaee/webfragment/internal/util/WebfragmentResourceImpl.java >=================================================================== >RCS file: /cvsroot/webtools/jeetools/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/webfragment/internal/util/WebfragmentResourceImpl.java,v >retrieving revision 1.3 >diff -u -r1.3 WebfragmentResourceImpl.java >--- jee-models/org/eclipse/jst/javaee/webfragment/internal/util/WebfragmentResourceImpl.java 11 Feb 2010 06:22:50 -0000 1.3 >+++ jee-models/org/eclipse/jst/javaee/webfragment/internal/util/WebfragmentResourceImpl.java 4 Mar 2010 05:26:55 -0000 >@@ -17,6 +17,7 @@ > import org.eclipse.emf.ecore.xmi.XMLLoad; > import org.eclipse.jst.javaee.core.JEEXMLLoadImpl; > import org.eclipse.jst.javaee.core.internal.util.JavaeeResourceImpl; >+import org.eclipse.jst.javaee.web.IWebFragmentResource; > import org.eclipse.jst.javaee.web.WebFragment; > import org.eclipse.jst.javaee.webfragment.WebAppDeploymentDescriptor; > import org.eclipse.wst.common.internal.emf.resource.IRootObjectResource; >@@ -28,7 +29,7 @@ > * @see org.eclipse.jst.javaee.webfragment.internal.util.WebfragmentResourceFactoryImpl > * @generated > */ >-public class WebfragmentResourceImpl extends JavaeeResourceImpl implements IRootObjectResource { >+public class WebfragmentResourceImpl extends JavaeeResourceImpl implements IRootObjectResource, IWebFragmentResource { > /** > * Creates an instance of the resource. > * <!-- begin-user-doc --> >#P org.eclipse.jst.servlet.ui >Index: property_files/web_ui.properties >=================================================================== >RCS file: /cvsroot/webtools/jeetools/plugins/org.eclipse.jst.servlet.ui/property_files/web_ui.properties,v >retrieving revision 1.26 >diff -u -r1.26 web_ui.properties >--- property_files/web_ui.properties 3 Mar 2010 22:42:27 -0000 1.26 >+++ property_files/web_ui.properties 4 Mar 2010 05:26:56 -0000 >@@ -13,7 +13,7 @@ > _2=Servlet version: > _3=Dynamic Web Project > _4=Create a standalone Dynamic Web project or add it to a new or existing Enterprise Application. >-_5=Project: >+_5=Web &project: > _6=WAR file: > _7=Import a WAR file from the file system > _8=WAR Import >Index: servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/NewWebClassWizardPage.java >=================================================================== >RCS file: /cvsroot/webtools/jeetools/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/NewWebClassWizardPage.java,v >retrieving revision 1.10 >diff -u -r1.10 NewWebClassWizardPage.java >--- servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/NewWebClassWizardPage.java 3 Mar 2010 22:42:27 -0000 1.10 >+++ servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/NewWebClassWizardPage.java 4 Mar 2010 05:26:56 -0000 >@@ -48,7 +48,6 @@ > import org.eclipse.jst.j2ee.web.project.facet.WebFacetUtils; > import org.eclipse.jst.servlet.ui.internal.navigator.CompressedJavaProject; > import org.eclipse.jst.servlet.ui.internal.plugin.ServletUIPlugin; >-import org.eclipse.jst.servlet.ui.internal.plugin.WEBUIMessages; > import org.eclipse.swt.SWT; > import org.eclipse.swt.events.SelectionAdapter; > import org.eclipse.swt.events.SelectionEvent; >@@ -61,6 +60,7 @@ > import org.eclipse.ui.IWorkbenchWindow; > import org.eclipse.ui.PlatformUI; > import org.eclipse.wst.common.componentcore.ComponentCore; >+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants; > import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; > import org.eclipse.wst.common.frameworks.datamodel.IDataModel; > import org.eclipse.wst.common.project.facet.core.IFacetedProject; >@@ -83,7 +83,8 @@ > protected Composite createTopLevelComposite(Composite parent) { > Composite composite = super.createTopLevelComposite(parent); > >- projectNameLabel.setText(WEBUIMessages.WEB_PROJECT_LBL); >+ //bug 303931 >+ // projectNameLabel.setText(WEBUIMessages.WEB_PROJECT_LBL); > > addSeperator(composite, 3); > createUseExistingGroup(composite); >@@ -433,4 +434,17 @@ > existingButton.notifyListeners(SWT.Selection, new Event()); > } > >+ @Override >+ protected boolean isProjectValid(IProject project) { >+ boolean result; >+ try { >+ result = project.isAccessible() && >+ project.hasNature(IModuleConstants.MODULE_NATURE_ID) && >+ (JavaEEProjectUtilities.isDynamicWebProject(project) || JavaEEProjectUtilities.isWebFragmentProject(project)); >+ } catch (CoreException ce) { >+ result = false; >+ } >+ return result; >+ } >+ > } >#P org.eclipse.jst.ejb.ui >Index: ejb_ui/org/eclipse/jst/ejb/ui/internal/wizard/NewEnterpriseBeanClassWizardPage.java >=================================================================== >RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.ejb.ui/ejb_ui/org/eclipse/jst/ejb/ui/internal/wizard/NewEnterpriseBeanClassWizardPage.java,v >retrieving revision 1.4 >diff -u -r1.4 NewEnterpriseBeanClassWizardPage.java >--- ejb_ui/org/eclipse/jst/ejb/ui/internal/wizard/NewEnterpriseBeanClassWizardPage.java 4 Mar 2009 16:58:40 -0000 1.4 >+++ ejb_ui/org/eclipse/jst/ejb/ui/internal/wizard/NewEnterpriseBeanClassWizardPage.java 4 Mar 2010 05:26:56 -0000 >@@ -12,9 +12,9 @@ > > import org.eclipse.core.resources.IProject; > import org.eclipse.jem.util.emf.workbench.ProjectUtilities; >-import org.eclipse.jst.ejb.ui.internal.util.EJBUIMessages; > import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities; > import org.eclipse.jst.j2ee.internal.wizard.NewJavaClassWizardPage; >+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities; > import org.eclipse.jst.jee.ui.internal.navigator.AbstractDDNode; > import org.eclipse.jst.jee.ui.internal.navigator.ejb.GroupEJBProvider; > import org.eclipse.swt.widgets.Composite; >@@ -31,7 +31,8 @@ > protected Composite createTopLevelComposite(Composite parent) { > Composite composite = super.createTopLevelComposite(parent); > >- projectNameLabel.setText(EJBUIMessages.EJB_PROJECT_LBL); >+ // bug 303917 >+ //projectNameLabel.setText(EJBUIMessages.EJB_PROJECT_LBL); > > return composite; > } >@@ -39,7 +40,19 @@ > @Override > protected boolean isProjectValid(IProject project) { > boolean result = super.isProjectValid(project); >- result = result && J2EEProjectUtilities.isJEEProject(project); >+ // bug 241670 - 3.x EJBs can be created in 3.x EJB project, or Web 2.5 or Web 3.0 or Web Fragment 3.0 >+ boolean isJEEProject = J2EEProjectUtilities.isJEEProject(project); >+ if (isJEEProject) >+ { >+ if (!result) >+ { >+ result = (JavaEEProjectUtilities.isDynamicWebProject(project) || JavaEEProjectUtilities.isWebFragmentProject(project)); >+ } >+ } >+ else >+ { >+ result = false; >+ } > return result; > } > >#P org.eclipse.jst.j2ee.ui >Index: j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassWizardPage.java >=================================================================== >RCS file: /cvsroot/webtools/jeetools/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassWizardPage.java,v >retrieving revision 1.57 >diff -u -r1.57 NewJavaClassWizardPage.java >--- j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassWizardPage.java 3 Mar 2010 22:42:33 -0000 1.57 >+++ j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassWizardPage.java 4 Mar 2010 05:26:57 -0000 >@@ -229,7 +229,7 @@ > try { > result = project.isAccessible() && > project.hasNature(IModuleConstants.MODULE_NATURE_ID) && >- (JavaEEProjectUtilities.isDynamicWebProject(project) || JavaEEProjectUtilities.isWebFragmentProject(project)); >+ JavaEEProjectUtilities.getJ2EEProjectType(project).equals(projectType); > } catch (CoreException ce) { > result = false; > } >#P org.eclipse.jst.j2ee.ejb >Index: ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassOperation.java >=================================================================== >RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.j2ee.ejb/ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassOperation.java,v >retrieving revision 1.14 >diff -u -r1.14 NewSessionBeanClassOperation.java >--- ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassOperation.java 1 Jul 2009 19:29:47 -0000 1.14 >+++ ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassOperation.java 4 Mar 2010 05:26:59 -0000 >@@ -44,6 +44,7 @@ > import org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties; > import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin; > import org.eclipse.jst.j2ee.project.EJBUtilities; >+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities; > import org.eclipse.wst.common.componentcore.internal.operation.ArtifactEditProviderOperation; > import org.eclipse.wst.common.frameworks.datamodel.IDataModel; > import org.eclipse.wst.common.frameworks.internal.enablement.nonui.WFTWrappedException; >@@ -191,7 +192,12 @@ > > protected void generateInterfacesUsingTemplates(IProgressMonitor monitor, IPackageFragment fragment, CreateSessionBeanTemplateModel tempModel) > throws JETException, JavaModelException { >- boolean useClientJar = EJBUtilities.hasEJBClientJARProject(getTargetProject()); >+ IProject project = getTargetProject(); >+ boolean useClientJar = false; >+ if (JavaEEProjectUtilities.isEJBProject(project)) >+ { >+ useClientJar = EJBUtilities.hasEJBClientJARProject(getTargetProject()); >+ } > List<BusinessInterface> interfaces = tempModel.getBusinessInterfaces(); > for (BusinessInterface iface : interfaces) { > if (!iface.exists()) { >@@ -217,7 +223,6 @@ > String remoteFullName = model.getStringProperty(INewSessionBeanClassDataModelProperties.REMOTE_HOME_INTERFACE); > String remoteComponentFullName = model.getStringProperty(INewSessionBeanClassDataModelProperties.REMOTE_COMPONENT_INTERFACE); > >- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(model.getStringProperty(INewSessionBeanClassDataModelProperties.PROJECT_NAME)); > IJavaProject javaProject = JavaCore.create(project); > IType type = javaProject.findType(remoteFullName); > >@@ -250,7 +255,6 @@ > String localFullName = model.getStringProperty(INewSessionBeanClassDataModelProperties.LOCAL_HOME_INTERFACE); > String localComponentFullName = model.getStringProperty(INewSessionBeanClassDataModelProperties.LOCAL_COMPONENT_INTERFACE); > >- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(model.getStringProperty(INewSessionBeanClassDataModelProperties.PROJECT_NAME)); > IJavaProject javaProject = JavaCore.create(project); > IType type = javaProject.findType(localFullName); > >Index: ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewEnterpriseBeanClassDataModelProvider.java >=================================================================== >RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.j2ee.ejb/ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewEnterpriseBeanClassDataModelProvider.java,v >retrieving revision 1.7 >diff -u -r1.7 NewEnterpriseBeanClassDataModelProvider.java >--- ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewEnterpriseBeanClassDataModelProvider.java 10 Jun 2009 20:18:31 -0000 1.7 >+++ ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewEnterpriseBeanClassDataModelProvider.java 4 Mar 2010 05:26:59 -0000 >@@ -20,6 +20,7 @@ > import java.util.List; > import java.util.Set; > >+import org.eclipse.core.resources.IProject; > import org.eclipse.core.resources.ResourcesPlugin; > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.Status; >@@ -28,6 +29,7 @@ > import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBCreationResourceHandler; > import org.eclipse.jst.j2ee.model.IModelProvider; > import org.eclipse.jst.j2ee.model.ModelProviderManager; >+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities; > import org.eclipse.jst.javaee.ejb.EJBJar; > import org.eclipse.jst.javaee.ejb.EnterpriseBeans; > import org.eclipse.jst.javaee.ejb.SessionBean; >@@ -155,19 +157,24 @@ > // check if an EJB with the same name already exists > String projectName = getStringProperty(PROJECT_NAME); > if (projectName != null && projectName.length() > 0) { >- IModelProvider provider = ModelProviderManager.getModelProvider(ResourcesPlugin.getWorkspace().getRoot().getProject(projectName)); >- EJBJar modelObject = (EJBJar) provider.getModelObject(); >- EnterpriseBeans enterpriseBeans = modelObject.getEnterpriseBeans(); >- if (enterpriseBeans != null) >+ IProject project = getTargetProject(); >+ if (JavaEEProjectUtilities.isEJBProject(project)) > { >- List sessionBeans = enterpriseBeans.getSessionBeans(); >- for (Object object : sessionBeans) { >- SessionBean session = (SessionBean) object; >- if (session.getEjbName().equals(getDataModel().getStringProperty(EJB_NAME).trim())){ >- return new Status(IStatus.ERROR, EjbPlugin.PLUGIN_ID, EJBCreationResourceHandler.ERR_BEAN_ALREADY_EXISTS); >+ IModelProvider provider = ModelProviderManager.getModelProvider(ResourcesPlugin.getWorkspace().getRoot().getProject(projectName)); >+ EJBJar modelObject = (EJBJar) provider.getModelObject(); >+ EnterpriseBeans enterpriseBeans = modelObject.getEnterpriseBeans(); >+ if (enterpriseBeans != null) >+ { >+ List sessionBeans = enterpriseBeans.getSessionBeans(); >+ for (Object object : sessionBeans) { >+ SessionBean session = (SessionBean) object; >+ if (session.getEjbName().equals(getDataModel().getStringProperty(EJB_NAME).trim())){ >+ return new Status(IStatus.ERROR, EjbPlugin.PLUGIN_ID, EJBCreationResourceHandler.ERR_BEAN_ALREADY_EXISTS); >+ } > } > } > } >+ // TODO - load/check the validity of the name in a web project/ web fragment > } > return Status.OK_STATUS; > } >Index: ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassDataModelProvider.java >=================================================================== >RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.j2ee.ejb/ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassDataModelProvider.java,v >retrieving revision 1.21 >diff -u -r1.21 NewSessionBeanClassDataModelProvider.java >--- ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassDataModelProvider.java 23 Feb 2010 09:13:58 -0000 1.21 >+++ ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassDataModelProvider.java 4 Mar 2010 05:26:59 -0000 >@@ -44,6 +44,7 @@ > import org.eclipse.jdt.core.Signature; > import org.eclipse.jst.j2ee.ejb.internal.operations.BusinessInterface.BusinessInterfaceType; > import org.eclipse.jst.j2ee.ejb.internal.plugin.EjbPlugin; >+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants; > import org.eclipse.jst.j2ee.internal.common.J2EECommonMessages; > import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil; > import org.eclipse.jst.j2ee.internal.common.operations.NewJavaClassDataModelProvider; >@@ -500,11 +501,27 @@ > } > > private boolean ejb31OrLater() { >+ boolean retVal = false; > IProject project = getTargetProject(); >- IProjectFacetVersion facetVersion = JavaEEProjectUtilities.getProjectFacetVersion(project, IJ2EEFacetConstants.EJB); >- int version = J2EEVersionUtil.convertVersionStringToInt(facetVersion.getVersionString()); >- int ejb31version = J2EEVersionUtil.convertVersionStringToInt(IJ2EEFacetConstants.EJB_31.getVersionString()); >- return version >= ejb31version; >+ if (JavaEEProjectUtilities.isEJBProject(project)) >+ { >+ IProjectFacetVersion facetVersion = JavaEEProjectUtilities.getProjectFacetVersion(project, IJ2EEFacetConstants.EJB); >+ int version = J2EEVersionUtil.convertVersionStringToInt(facetVersion.getVersionString()); >+ retVal = version >= J2EEVersionConstants.VERSION_3_1; >+ } >+ else if (JavaEEProjectUtilities.isDynamicWebProject(project)) >+ { >+ IProjectFacetVersion facetVersion = JavaEEProjectUtilities.getProjectFacetVersion(project, IJ2EEFacetConstants.DYNAMIC_WEB); >+ int version = J2EEVersionUtil.convertVersionStringToInt(facetVersion.getVersionString()); >+ retVal = version >= J2EEVersionConstants.VERSION_3_0; >+ } >+ else if (JavaEEProjectUtilities.isWebFragmentProject(project)) >+ { >+ IProjectFacetVersion facetVersion = JavaEEProjectUtilities.getProjectFacetVersion(project, IJ2EEFacetConstants.WEBFRAGMENT); >+ int version = J2EEVersionUtil.convertVersionStringToInt(facetVersion.getVersionString()); >+ retVal = version >= J2EEVersionConstants.VERSION_3_0; >+ } >+ return retVal; > } > > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 241670
: 160896