|
Lines 1-5
Link Here
|
| 1 |
/******************************************************************************* |
1 |
/******************************************************************************* |
| 2 |
* Copyright (c) 2005, 2006 IBM Corporation and others. |
2 |
* Copyright (c) 2005, 2011 IBM Corporation and others. |
| 3 |
* All rights reserved. This program and the accompanying materials |
3 |
* All rights reserved. This program and the accompanying materials |
| 4 |
* are made available under the terms of the Eclipse Public License v1.0 |
4 |
* are made available under the terms of the Eclipse Public License v1.0 |
| 5 |
* which accompanies this distribution, and is available at |
5 |
* which accompanies this distribution, and is available at |
|
Lines 47-52
Link Here
|
| 47 |
import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit; |
47 |
import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit; |
| 48 |
import org.eclipse.jst.j2ee.ejb.internal.plugin.EjbPlugin; |
48 |
import org.eclipse.jst.j2ee.ejb.internal.plugin.EjbPlugin; |
| 49 |
import org.eclipse.jst.j2ee.internal.ejb.project.operations.ClientJARCreationConstants; |
49 |
import org.eclipse.jst.j2ee.internal.ejb.project.operations.ClientJARCreationConstants; |
|
|
50 |
import org.eclipse.jst.j2ee.model.IModelProvider; |
| 51 |
import org.eclipse.jst.j2ee.model.ModelProviderManager; |
| 52 |
import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities; |
| 53 |
import org.eclipse.jst.javaee.ejb.EnterpriseBeans; |
| 54 |
import org.eclipse.jst.javaee.ejb.EntityBean; |
| 55 |
import org.eclipse.jst.javaee.ejb.SessionBean; |
| 50 |
import org.eclipse.wst.common.componentcore.ComponentCore; |
56 |
import org.eclipse.wst.common.componentcore.ComponentCore; |
| 51 |
|
57 |
|
| 52 |
public class EJBClientJarCreationHelper { |
58 |
public class EJBClientJarCreationHelper { |
|
Lines 65-93
Link Here
|
| 65 |
|
71 |
|
| 66 |
public Map getFilesToMove() { |
72 |
public Map getFilesToMove() { |
| 67 |
|
73 |
|
| 68 |
|
|
|
| 69 |
searchHelper = new MySearchHelper(searchEngine, computeBeanTypeNames()); |
74 |
searchHelper = new MySearchHelper(searchEngine, computeBeanTypeNames()); |
| 70 |
|
75 |
|
| 71 |
|
|
|
| 72 |
if( ejbProject.exists() && ejbProject.isAccessible()){ |
76 |
if( ejbProject.exists() && ejbProject.isAccessible()){ |
| 73 |
EJBArtifactEdit edit = null; |
77 |
if (JavaEEProjectUtilities.isLegacyJ2EEComponent(ComponentCore.createComponent(ejbProject))) { // the project is older than Java EE 5, i.e. EJB 2.1 |
| 74 |
try { |
78 |
EJBArtifactEdit edit = null; |
| 75 |
edit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject); |
79 |
try { |
| 76 |
EJBJar ejbJar = edit.getEJBJar(); |
80 |
edit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject); |
| 77 |
if (ejbJar != null) { |
81 |
EJBJar ejbJar = edit.getEJBJar(); |
| 78 |
List enterpriseBeans = ejbJar.getEnterpriseBeans(); |
82 |
if (ejbJar != null) { |
| 79 |
for (int i = 0; i < enterpriseBeans.size(); i++) { |
83 |
List enterpriseBeans = ejbJar.getEnterpriseBeans(); |
| 80 |
EnterpriseBean ejb = (EnterpriseBean) enterpriseBeans.get(i); |
84 |
for (int i = 0; i < enterpriseBeans.size(); i++) { |
| 81 |
computeJavaTypes(ejb); |
85 |
EnterpriseBean ejb = (EnterpriseBean) enterpriseBeans.get(i); |
|
|
86 |
computeJavaTypes(ejb); |
| 87 |
} |
| 88 |
} |
| 89 |
computeRMICJavaTypes(); |
| 90 |
|
| 91 |
} finally { |
| 92 |
if(edit != null) |
| 93 |
edit.dispose(); |
| 94 |
|
| 95 |
} |
| 96 |
} |
| 97 |
else { // we have an EJB 3.x project, so use the new model for the EJB module |
| 98 |
IModelProvider modelProvider = ModelProviderManager.getModelProvider(ejbProject); |
| 99 |
org.eclipse.jst.javaee.ejb.EJBJar ejbJar = (org.eclipse.jst.javaee.ejb.EJBJar) modelProvider.getModelObject(); |
| 100 |
|
| 101 |
if (ejbJar != null) { |
| 102 |
EnterpriseBeans enterpriseBeans = ejbJar.getEnterpriseBeans(); |
| 103 |
if (enterpriseBeans != null){ |
| 104 |
List<SessionBean> sessionBeans = enterpriseBeans.getSessionBeans(); |
| 105 |
for (SessionBean sessionBean : sessionBeans) { |
| 106 |
computeJavaTypes(sessionBean); |
| 107 |
} |
| 108 |
|
| 109 |
List<EntityBean> entityBeans = enterpriseBeans.getEntityBeans(); |
| 110 |
for (EntityBean entityBean : entityBeans) { |
| 111 |
computeJavaTypes(entityBean); |
| 82 |
} |
112 |
} |
| 83 |
} |
113 |
} |
| 84 |
computeRMICJavaTypes(); |
114 |
} |
| 85 |
|
115 |
computeRMICJavaTypes(); |
| 86 |
} finally { |
116 |
|
| 87 |
if(edit != null) |
|
|
| 88 |
edit.dispose(); |
| 89 |
|
| 90 |
} |
117 |
} |
|
|
118 |
|
| 91 |
} |
119 |
} |
| 92 |
return javaFilesToMove; |
120 |
return javaFilesToMove; |
| 93 |
} |
121 |
} |
|
Lines 164-169
Link Here
|
| 164 |
computeJavaTypes(((Entity)ejb).getPrimaryKey()); |
192 |
computeJavaTypes(((Entity)ejb).getPrimaryKey()); |
| 165 |
} |
193 |
} |
| 166 |
|
194 |
|
|
|
195 |
private void computeJavaTypes(EntityBean entityBean) { |
| 196 |
|
| 197 |
computeJavaTypes(entityBean.getHome()); |
| 198 |
computeJavaTypes(entityBean.getLocalHome()); |
| 199 |
computeJavaTypes(entityBean.getLocal()); |
| 200 |
computeJavaTypes(entityBean.getRemote()); |
| 201 |
|
| 202 |
computeJavaTypes(entityBean.getPrimkeyField()); |
| 203 |
|
| 204 |
} |
| 205 |
|
| 206 |
private void computeJavaTypes(String fqClassName) { |
| 207 |
if (fqClassName == null) { |
| 208 |
return; |
| 209 |
} |
| 210 |
IJavaProject jProj = JemProjectUtilities.getJavaProject(ejbProject); |
| 211 |
IType type; |
| 212 |
try { |
| 213 |
type = jProj.findType(fqClassName); |
| 214 |
computeJavaTypes(type); |
| 215 |
} catch (JavaModelException e) { |
| 216 |
EjbPlugin.logError(e); |
| 217 |
} |
| 218 |
|
| 219 |
|
| 220 |
} |
| 221 |
|
| 222 |
// Dedicated for a session bean representation in the EJB 3.x model |
| 223 |
private void computeJavaTypes(SessionBean sessionBean) { |
| 224 |
|
| 225 |
// do as in the EJB 2.x case |
| 226 |
computeJavaTypes(sessionBean.getHome()); |
| 227 |
computeJavaTypes(sessionBean.getLocalHome()); |
| 228 |
computeJavaTypes(sessionBean.getLocal()); |
| 229 |
computeJavaTypes(sessionBean.getRemote()); |
| 230 |
|
| 231 |
|
| 232 |
// process additionally local business interfaces ... |
| 233 |
List<String> businessLocals = sessionBean.getBusinessLocals(); |
| 234 |
for (String string : businessLocals) { |
| 235 |
computeJavaTypes(string); |
| 236 |
} |
| 237 |
|
| 238 |
// ... and remote business interfaces |
| 239 |
List<String> businessRemotes = sessionBean.getBusinessRemotes(); |
| 240 |
for (String string : businessRemotes) { |
| 241 |
computeJavaTypes(string); |
| 242 |
} |
| 243 |
} |
| 244 |
|
| 245 |
|
| 167 |
private void computeJavaTypes(JavaClass javaClass) { |
246 |
private void computeJavaTypes(JavaClass javaClass) { |
| 168 |
if (javaClass == null) |
247 |
if (javaClass == null) |
| 169 |
return; |
248 |
return; |