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 196048 Details for
Bug 346300
Create EJB Client Jar action creates an empty project but with no source code or interfaces
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Proposed patch
bug346300.patch (text/plain), 5.70 KB, created by
Roberto Sanchez Herrera
on 2011-05-18 16:18:38 EDT
(
hide
)
Description:
Proposed patch
Filename:
MIME Type:
Creator:
Roberto Sanchez Herrera
Created:
2011-05-18 16:18:38 EDT
Size:
5.70 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jst.j2ee.ejb >Index: ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EJBClientJarCreationHelper.java >=================================================================== >RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EJBClientJarCreationHelper.java,v >retrieving revision 1.6.4.1 >diff -u -r1.6.4.1 EJBClientJarCreationHelper.java >--- ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EJBClientJarCreationHelper.java 3 Sep 2008 12:03:38 -0000 1.6.4.1 >+++ ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EJBClientJarCreationHelper.java 18 May 2011 19:44:23 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2005, 2006 IBM Corporation and others. >+ * Copyright (c) 2005, 2011 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 >@@ -47,6 +47,12 @@ > import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit; > import org.eclipse.jst.j2ee.ejb.internal.plugin.EjbPlugin; > import org.eclipse.jst.j2ee.internal.ejb.project.operations.ClientJARCreationConstants; >+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.EnterpriseBeans; >+import org.eclipse.jst.javaee.ejb.EntityBean; >+import org.eclipse.jst.javaee.ejb.SessionBean; > import org.eclipse.wst.common.componentcore.ComponentCore; > > public class EJBClientJarCreationHelper { >@@ -65,29 +71,51 @@ > > public Map getFilesToMove() { > >- > searchHelper = new MySearchHelper(searchEngine, computeBeanTypeNames()); > >- > if( ejbProject.exists() && ejbProject.isAccessible()){ >- EJBArtifactEdit edit = null; >- try { >- edit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject); >- EJBJar ejbJar = edit.getEJBJar(); >- if (ejbJar != null) { >- List enterpriseBeans = ejbJar.getEnterpriseBeans(); >- for (int i = 0; i < enterpriseBeans.size(); i++) { >- EnterpriseBean ejb = (EnterpriseBean) enterpriseBeans.get(i); >- computeJavaTypes(ejb); >+ if (JavaEEProjectUtilities.isLegacyJ2EEComponent(ComponentCore.createComponent(ejbProject))) { // the project is older than Java EE 5, i.e. EJB 2.1 >+ EJBArtifactEdit edit = null; >+ try { >+ edit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject); >+ EJBJar ejbJar = edit.getEJBJar(); >+ if (ejbJar != null) { >+ List enterpriseBeans = ejbJar.getEnterpriseBeans(); >+ for (int i = 0; i < enterpriseBeans.size(); i++) { >+ EnterpriseBean ejb = (EnterpriseBean) enterpriseBeans.get(i); >+ computeJavaTypes(ejb); >+ } >+ } >+ computeRMICJavaTypes(); >+ >+ } finally { >+ if(edit != null) >+ edit.dispose(); >+ >+ } >+ } >+ else { // we have an EJB 3.x project, so use the new model for the EJB module >+ IModelProvider modelProvider = ModelProviderManager.getModelProvider(ejbProject); >+ org.eclipse.jst.javaee.ejb.EJBJar ejbJar = (org.eclipse.jst.javaee.ejb.EJBJar) modelProvider.getModelObject(); >+ >+ if (ejbJar != null) { >+ EnterpriseBeans enterpriseBeans = ejbJar.getEnterpriseBeans(); >+ if (enterpriseBeans != null){ >+ List<SessionBean> sessionBeans = enterpriseBeans.getSessionBeans(); >+ for (SessionBean sessionBean : sessionBeans) { >+ computeJavaTypes(sessionBean); >+ } >+ >+ List<EntityBean> entityBeans = enterpriseBeans.getEntityBeans(); >+ for (EntityBean entityBean : entityBeans) { >+ computeJavaTypes(entityBean); > } > } >- computeRMICJavaTypes(); >- >- } finally { >- if(edit != null) >- edit.dispose(); >- >+ } >+ computeRMICJavaTypes(); >+ > } >+ > } > return javaFilesToMove; > } >@@ -164,6 +192,57 @@ > computeJavaTypes(((Entity)ejb).getPrimaryKey()); > } > >+ private void computeJavaTypes(EntityBean entityBean) { >+ >+ computeJavaTypes(entityBean.getHome()); >+ computeJavaTypes(entityBean.getLocalHome()); >+ computeJavaTypes(entityBean.getLocal()); >+ computeJavaTypes(entityBean.getRemote()); >+ >+ computeJavaTypes(entityBean.getPrimkeyField()); >+ >+ } >+ >+ private void computeJavaTypes(String fqClassName) { >+ if (fqClassName == null) { >+ return; >+ } >+ IJavaProject jProj = JemProjectUtilities.getJavaProject(ejbProject); >+ IType type; >+ try { >+ type = jProj.findType(fqClassName); >+ computeJavaTypes(type); >+ } catch (JavaModelException e) { >+ EjbPlugin.logError(e); >+ } >+ >+ >+ } >+ >+ // Dedicated for a session bean representation in the EJB 3.x model >+ private void computeJavaTypes(SessionBean sessionBean) { >+ >+ // do as in the EJB 2.x case >+ computeJavaTypes(sessionBean.getHome()); >+ computeJavaTypes(sessionBean.getLocalHome()); >+ computeJavaTypes(sessionBean.getLocal()); >+ computeJavaTypes(sessionBean.getRemote()); >+ >+ >+ // process additionally local business interfaces ... >+ List<String> businessLocals = sessionBean.getBusinessLocals(); >+ for (String string : businessLocals) { >+ computeJavaTypes(string); >+ } >+ >+ // ... and remote business interfaces >+ List<String> businessRemotes = sessionBean.getBusinessRemotes(); >+ for (String string : businessRemotes) { >+ computeJavaTypes(string); >+ } >+ } >+ >+ > private void computeJavaTypes(JavaClass javaClass) { > if (javaClass == null) > return;
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
Flags:
ccc
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 346300
: 196048