You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2013/10/11 16:44:30 UTC
svn commit: r1531316 - in /tomee/tomee/trunk:
container/openejb-core/src/main/java/org/apache/openejb/config/
server/openejb-client/src/main/java/org/apache/openejb/client/
Author: andygumbrecht
Date: Fri Oct 11 14:44:30 2013
New Revision: 1531316
URL: http://svn.apache.org/r1531316
Log:
Fix https://issues.apache.org/jira/browse/OPENEJB-2042
Toy with https://issues.apache.org/jira/browse/OPENEJB-2045
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DynamicDeployer.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/OpenEjb2Conversion.java
tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EjbObjectInputStream.java
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DynamicDeployer.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DynamicDeployer.java?rev=1531316&r1=1531315&r2=1531316&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DynamicDeployer.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DynamicDeployer.java Fri Oct 11 14:44:30 2013
@@ -23,6 +23,6 @@ import org.apache.openejb.OpenEJBExcepti
*/
public interface DynamicDeployer {
- AppModule deploy(AppModule appModule) throws OpenEJBException;
+ public AppModule deploy(AppModule appModule) throws OpenEJBException;
}
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/OpenEjb2Conversion.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/OpenEjb2Conversion.java?rev=1531316&r1=1531315&r2=1531316&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/OpenEjb2Conversion.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/OpenEjb2Conversion.java Fri Oct 11 14:44:30 2013
@@ -62,6 +62,7 @@ import org.apache.openejb.jee.oejb3.EjbD
import org.apache.openejb.jee.oejb3.EjbLink;
import org.apache.openejb.jee.oejb3.OpenejbJar;
import org.apache.openejb.loader.IO;
+import org.slf4j.LoggerFactory;
import javax.xml.bind.JAXBElement;
import java.io.ByteArrayInputStream;
@@ -73,36 +74,39 @@ import java.util.TreeMap;
import java.util.TreeSet;
public class OpenEjb2Conversion implements DynamicDeployer {
- public AppModule deploy(AppModule appModule) {
- for (EjbModule ejbModule : appModule.getEjbModules()) {
- Object altDD = getOpenejbJarType(ejbModule);
- if (altDD instanceof OpenejbJarType) {
- convertEjbRefs(ejbModule.getEjbJar(), ejbModule.getOpenejbJar(), (OpenejbJarType) altDD);
- convertMdbConfigs(ejbModule.getEjbJar(), (OpenejbJarType) altDD);
- mergeEntityMappings(ejbModule.getModuleId(), appModule.getCmpMappings(), ejbModule.getOpenejbJar(), (OpenejbJarType) altDD);
+
+ @Override
+ public final AppModule deploy(final AppModule appModule) {
+ for (final EjbModule ejbModule : appModule.getEjbModules()) {
+ final Object altDD = getOpenejbJarType(ejbModule);
+ if (OpenejbJarType.class.isInstance(altDD)) {
+ final OpenejbJarType openejbJarType = OpenejbJarType.class.cast(altDD);
+ convertEjbRefs(ejbModule.getEjbJar(), ejbModule.getOpenejbJar(), openejbJarType);
+ convertMdbConfigs(ejbModule.getEjbJar(), openejbJarType);
+ mergeEntityMappings(ejbModule.getModuleId(), appModule.getCmpMappings(), ejbModule.getOpenejbJar(), openejbJarType);
}
}
return appModule;
}
- private OpenejbJarType getOpenejbJarType(EjbModule ejbModule) {
+ private OpenejbJarType getOpenejbJarType(final EjbModule ejbModule) {
Object altDD = ejbModule.getAltDDs().get("openejb-jar.xml");
if (altDD instanceof String) {
try {
- altDD = JaxbOpenejbJar2.unmarshal(OpenejbJarType.class, new ByteArrayInputStream(((String)altDD).getBytes()), false);
+ altDD = JaxbOpenejbJar2.unmarshal(OpenejbJarType.class, new ByteArrayInputStream(((String) altDD).getBytes()), false);
} catch (Exception e) {
// todo warn about not being able to parse sun descriptor
}
}
if (altDD instanceof URL) {
try {
- altDD = JaxbOpenejbJar2.unmarshal(OpenejbJarType.class, IO.read(((URL)altDD)), false);
+ altDD = JaxbOpenejbJar2.unmarshal(OpenejbJarType.class, IO.read(((URL) altDD)), false);
} catch (Exception e) {
// todo warn about not being able to parse sun descriptor
}
}
if (altDD instanceof JAXBElement) {
- altDD = ((JAXBElement)altDD).getValue();
+ altDD = ((JAXBElement) altDD).getValue();
}
if (altDD instanceof OpenejbJarType) {
return (OpenejbJarType) altDD;
@@ -110,31 +114,31 @@ public class OpenEjb2Conversion implemen
return null;
}
- public void convertEjbRefs(EjbJar ejbJar, OpenejbJar openejbJar, OpenejbJarType openejbJarType) {
+ public final void convertEjbRefs(final EjbJar ejbJar, final OpenejbJar openejbJar, final OpenejbJarType openejbJarType) {
openejbJar.getProperties().putAll(openejbJarType.getProperties());
- Map<String, EnterpriseBean> ejbs = ejbJar.getEnterpriseBeansByEjbName();
- Map<String, EjbDeployment> deployments = openejbJar.getDeploymentsByEjbName();
+ final Map<String, EnterpriseBean> ejbs = ejbJar.getEnterpriseBeansByEjbName();
+ final Map<String, EjbDeployment> deployments = openejbJar.getDeploymentsByEjbName();
- for (org.apache.openejb.jee.oejb2.EnterpriseBean enterpriseBean : openejbJarType.getEnterpriseBeans()) {
- EnterpriseBean ejb = ejbs.get(enterpriseBean.getEjbName());
+ for (final org.apache.openejb.jee.oejb2.EnterpriseBean enterpriseBean : openejbJarType.getEnterpriseBeans()) {
+ final EnterpriseBean ejb = ejbs.get(enterpriseBean.getEjbName());
if (ejb == null) {
// todo warn no such ejb in the ejb-jar.xml
continue;
}
- Map<String,EjbRef> ejbRefs = ejb.getEjbRefMap();
+ final Map<String, EjbRef> ejbRefs = ejb.getEjbRefMap();
- EjbDeployment deployment = deployments.get(enterpriseBean.getEjbName());
+ final EjbDeployment deployment = deployments.get(enterpriseBean.getEjbName());
if (deployment == null) {
// todo warn no such ejb in the ejb-jar.xml
continue;
}
-
+
// Add WS Security
if (enterpriseBean instanceof SessionBeanType) {
- SessionBeanType sessionBean = (SessionBeanType) enterpriseBean;
- WebServiceSecurityType webServiceSecurityType = sessionBean.getWebServiceSecurity();
+ final SessionBeanType sessionBean = (SessionBeanType) enterpriseBean;
+ final WebServiceSecurityType webServiceSecurityType = sessionBean.getWebServiceSecurity();
if (webServiceSecurityType != null) {
@@ -167,171 +171,177 @@ public class OpenEjb2Conversion implemen
}
deployment.getProperties().putAll(enterpriseBean.getProperties());
-
- for (String name : enterpriseBean.getLocalJndiName()) {
+
+ for (final String name : enterpriseBean.getLocalJndiName()) {
deployment.getJndi().add(new org.apache.openejb.jee.oejb3.Jndi(name, "LocalHome"));
}
- for (String name : enterpriseBean.getJndiName()) {
+ for (final String name : enterpriseBean.getJndiName()) {
deployment.getJndi().add(new org.apache.openejb.jee.oejb3.Jndi(name, "RemoteHome"));
}
- for (Jndi jndi : enterpriseBean.getJndi()) {
+ for (final Jndi jndi : enterpriseBean.getJndi()) {
deployment.getJndi().add(new org.apache.openejb.jee.oejb3.Jndi(jndi.getName(), jndi.getInterface()));
}
- Set<String> ejbLinks = new TreeSet<String>();
- for (EjbLink ejbLink : deployment.getEjbLink()) {
+ final Set<String> ejbLinks = new TreeSet<String>();
+ for (final EjbLink ejbLink : deployment.getEjbLink()) {
ejbLinks.add(ejbLink.getEjbRefName());
}
- for (EjbRefType refType : enterpriseBean.getEjbRef()) {
- String refName = refType.getRefName();
+ for (final EjbRefType refType : enterpriseBean.getEjbRef()) {
+ final String refName = refType.getRefName();
if (ejbLinks.contains(refName)) {
// don't overwrite refs that have been already set
continue;
}
- String nsCorbaloc = refType.getNsCorbaloc();
+ final String nsCorbaloc = refType.getNsCorbaloc();
if (nsCorbaloc != null) {
- EjbRef ref = ejbRefs.get(refName);
+ final EjbRef ref = ejbRefs.get(refName);
if (ref != null) {
ref.setMappedName("jndi:" + nsCorbaloc);
}
} else if (refType.getEjbLink() != null) {
- EjbRef ref = ejbRefs.get(refName);
+ final EjbRef ref = ejbRefs.get(refName);
if (ref != null) {
ref.setEjbLink(refType.getEjbLink());
}
} else {
- PatternType pattern = refType.getPattern();
+ final PatternType pattern = refType.getPattern();
addEjbLink(deployment, refName, pattern);
}
}
- for (EjbLocalRefType refType : enterpriseBean.getEjbLocalRef()) {
- String refName = refType.getRefName();
+ for (final EjbLocalRefType refType : enterpriseBean.getEjbLocalRef()) {
+ final String refName = refType.getRefName();
if (ejbLinks.contains(refName)) {
// don't overwrite refs that have been already set
continue;
}
if (refType.getEjbLink() != null) {
- EjbRef ref = ejbRefs.get(refName);
+ final EjbRef ref = ejbRefs.get(refName);
if (ref != null) {
ref.setEjbLink(refType.getEjbLink());
}
} else {
- PatternType pattern = refType.getPattern();
+ final PatternType pattern = refType.getPattern();
addEjbLink(deployment, refName, pattern);
}
}
}
}
- private void addEjbLink(EjbDeployment deployment, String refName, PatternType pattern) {
+ private void addEjbLink(final EjbDeployment deployment, final String refName, final PatternType pattern) {
String module = pattern.getModule();
if (module == null) {
module = pattern.getArtifactId();
}
- String ejbName = pattern.getName();
- String deploymentId = module + "/" + ejbName;
- EjbLink ejbLink = new EjbLink(refName, deploymentId);
+ final String ejbName = pattern.getName();
+ final String deploymentId = module + "/" + ejbName;
+ final EjbLink ejbLink = new EjbLink(refName, deploymentId);
deployment.getEjbLink().add(ejbLink);
}
- public void convertMdbConfigs(EjbJar ejbJar, OpenejbJarType openejbJarType) {
- Map<String, MessageDrivenBean> mdbs = new TreeMap<String, MessageDrivenBean>();
- for (EnterpriseBean enterpriseBean : ejbJar.getEnterpriseBeans()) {
+ public final void convertMdbConfigs(final EjbJar ejbJar, final OpenejbJarType openejbJarType) {
+ final Map<String, MessageDrivenBean> mdbs = new TreeMap<String, MessageDrivenBean>();
+ for (final EnterpriseBean enterpriseBean : ejbJar.getEnterpriseBeans()) {
if (!(enterpriseBean instanceof MessageDrivenBean)) {
continue;
}
mdbs.put(enterpriseBean.getEjbName(), (MessageDrivenBean) enterpriseBean);
}
- for (org.apache.openejb.jee.oejb2.EnterpriseBean enterpriseBean : openejbJarType.getEnterpriseBeans()) {
+ for (final org.apache.openejb.jee.oejb2.EnterpriseBean enterpriseBean : openejbJarType.getEnterpriseBeans()) {
if (!(enterpriseBean instanceof MessageDrivenBeanType)) {
continue;
}
- MessageDrivenBeanType bean = (MessageDrivenBeanType) enterpriseBean;
- MessageDrivenBean mdb = mdbs.get(bean.getEjbName());
+ final MessageDrivenBeanType bean = (MessageDrivenBeanType) enterpriseBean;
+ final MessageDrivenBean mdb = mdbs.get(bean.getEjbName());
if (mdb == null) {
// todo warn no such ejb in the ejb-jar.xml
continue;
}
- ActivationConfigType activationConfigType = bean.getActivationConfig();
+ final ActivationConfigType activationConfigType = bean.getActivationConfig();
if (activationConfigType != null) {
ActivationConfig activationConfig = mdb.getActivationConfig();
if (activationConfig == null) {
activationConfig = new ActivationConfig();
mdb.setActivationConfig(activationConfig);
}
- for (ActivationConfigPropertyType propertyType : activationConfigType.getActivationConfigProperty()) {
- ActivationConfigProperty property = new ActivationConfigProperty(
- propertyType.getActivationConfigPropertyName(),
- propertyType.getActivationConfigPropertyValue());
+ for (final ActivationConfigPropertyType propertyType : activationConfigType.getActivationConfigProperty()) {
+ final ActivationConfigProperty property = new ActivationConfigProperty(
+ propertyType.getActivationConfigPropertyName(),
+ propertyType.getActivationConfigPropertyValue());
activationConfig.getActivationConfigProperty().add(property);
}
}
}
}
- public void mergeEntityMappings(String moduleId, EntityMappings entityMappings, OpenejbJar openejbJar, OpenejbJarType openejbJarType) {
- Map<String, EntityData> entities = new TreeMap<String, EntityData>();
+ public final void mergeEntityMappings(final String moduleId, final EntityMappings entityMappings, final OpenejbJar openejbJar, final OpenejbJarType openejbJarType) {
+ final Map<String, EntityData> entities = new TreeMap<String, EntityData>();
if (entityMappings != null) {
- for (Entity entity : entityMappings.getEntity()) {
- entities.put(entity.getDescription(), new EntityData(entity));
+ for (final Entity entity : entityMappings.getEntity()) {
+ try {
+ entities.put(entity.getDescription(), new EntityData(entity));
+ } catch (IllegalArgumentException e) {
+ LoggerFactory.getLogger(this.getClass()).error(e.getMessage(), e);
+ }
}
}
- for (org.apache.openejb.jee.oejb2.EnterpriseBean enterpriseBean : openejbJarType.getEnterpriseBeans()) {
+ for (final org.apache.openejb.jee.oejb2.EnterpriseBean enterpriseBean : openejbJarType.getEnterpriseBeans()) {
if (!(enterpriseBean instanceof EntityBeanType)) {
continue;
}
- EntityBeanType bean = (EntityBeanType) enterpriseBean;
- EntityData entityData = entities.get(moduleId + "#" + bean.getEjbName());
+ final EntityBeanType bean = (EntityBeanType) enterpriseBean;
+ final EntityData entityData = entities.get(moduleId + "#" + bean.getEjbName());
if (entityData == null) {
// todo warn no such ejb in the ejb-jar.xml
continue;
}
- Table table = new Table();
+ final Table table = new Table();
table.setName(bean.getTableName());
entityData.entity.setTable(table);
- for (EntityBeanType.CmpFieldMapping cmpFieldMapping : bean.getCmpFieldMapping()) {
- String cmpFieldName = cmpFieldMapping.getCmpFieldName();
- Field field = entityData.fields.get(cmpFieldName);
+ for (final EntityBeanType.CmpFieldMapping cmpFieldMapping : bean.getCmpFieldMapping()) {
+ final String cmpFieldName = cmpFieldMapping.getCmpFieldName();
+ final Field field = entityData.fields.get(cmpFieldName);
if (field == null) {
// todo warn no such cmp-field in the ejb-jar.xml
continue;
}
- Column column = new Column();
+ final Column column = new Column();
column.setName(cmpFieldMapping.getTableColumn());
field.setColumn(column);
}
if (bean.getKeyGenerator() != null) {
// todo support complex primary keys
- Attributes attributes = entityData.entity.getAttributes();
+ final Attributes attributes = entityData.entity.getAttributes();
if (attributes != null && attributes.getId().size() == 1) {
- Id id = attributes.getId().get(0);
+ final Id id = attributes.getId().get(0);
// todo detect specific generation strategy
id.setGeneratedValue(new GeneratedValue(GenerationType.IDENTITY));
}
}
- for (QueryType query : bean.getQuery()) {
- NamedQuery namedQuery = new NamedQuery();
- QueryType.QueryMethod queryMethod = query.getQueryMethod();
+ for (final QueryType query : bean.getQuery()) {
+ final NamedQuery namedQuery = new NamedQuery();
+ final QueryType.QueryMethod queryMethod = query.getQueryMethod();
// todo deployment id could change in one of the later conversions... use entity name instead, but we need to save it off
- StringBuilder name = new StringBuilder();
+ final StringBuilder name = new StringBuilder();
name.append(entityData.entity.getName()).append(".").append(queryMethod.getMethodName());
if (queryMethod.getMethodParams() != null && !queryMethod.getMethodParams().getMethodParam().isEmpty()) {
name.append('(');
boolean first = true;
- for (String methodParam : queryMethod.getMethodParams().getMethodParam()) {
- if (!first) name.append(",");
+ for (final String methodParam : queryMethod.getMethodParams().getMethodParam()) {
+ if (!first) {
+ name.append(",");
+ }
name.append(methodParam);
first = false;
}
@@ -344,18 +354,18 @@ public class OpenEjb2Conversion implemen
}
}
- for (EjbRelationType relation : openejbJarType.getEjbRelation()) {
- List<EjbRelationshipRoleType> roles = relation.getEjbRelationshipRole();
+ for (final EjbRelationType relation : openejbJarType.getEjbRelation()) {
+ final List<EjbRelationshipRoleType> roles = relation.getEjbRelationshipRole();
if (roles.isEmpty()) {
continue;
}
if (relation.getManyToManyTableName() == null) {
- EjbRelationshipRoleType leftRole = roles.get(0);
- EjbRelationshipRoleType.RelationshipRoleSource leftRoleSource = leftRole.getRelationshipRoleSource();
- String leftEjbName = leftRoleSource == null ? null : leftRoleSource.getEjbName();
- EntityData leftEntityData = entities.get(moduleId + "#" + leftEjbName);
- String leftFieldName = leftRole.getCmrField().getCmrFieldName();
+ final EjbRelationshipRoleType leftRole = roles.get(0);
+ final EjbRelationshipRoleType.RelationshipRoleSource leftRoleSource = leftRole.getRelationshipRoleSource();
+ final String leftEjbName = leftRoleSource == null ? null : leftRoleSource.getEjbName();
+ final EntityData leftEntityData = entities.get(moduleId + "#" + leftEjbName);
+ final String leftFieldName = leftRole.getCmrField().getCmrFieldName();
RelationField field;
if (leftRole.isForeignKeyColumnOnSource()) {
@@ -365,7 +375,7 @@ public class OpenEjb2Conversion implemen
continue;
}
} else {
- RelationField other = leftEntityData.relations.get(leftFieldName);
+ final RelationField other = leftEntityData.relations.get(leftFieldName);
// todo warn field not found
if (other == null) {
continue;
@@ -386,32 +396,32 @@ public class OpenEjb2Conversion implemen
// For one-to-one, make sure that the field to recieve the FK
// is marked as the owning field
if (field instanceof OneToOne) {
- OneToOne left = (OneToOne) field;
- OneToOne right = (OneToOne) left.getRelatedField();
+ final OneToOne left = (OneToOne) field;
+ final OneToOne right = (OneToOne) left.getRelatedField();
if (right != null) {
left.setMappedBy(null);
right.setMappedBy(left.getName());
}
}
- EjbRelationshipRoleType.RoleMapping roleMapping = leftRole.getRoleMapping();
- for (EjbRelationshipRoleType.RoleMapping.CmrFieldMapping cmrFieldMapping : roleMapping.getCmrFieldMapping()) {
- JoinColumn joinColumn = new JoinColumn();
+ final EjbRelationshipRoleType.RoleMapping roleMapping = leftRole.getRoleMapping();
+ for (final EjbRelationshipRoleType.RoleMapping.CmrFieldMapping cmrFieldMapping : roleMapping.getCmrFieldMapping()) {
+ final JoinColumn joinColumn = new JoinColumn();
joinColumn.setName(cmrFieldMapping.getForeignKeyColumn());
joinColumn.setReferencedColumnName(cmrFieldMapping.getKeyColumn());
field.getJoinColumn().add(joinColumn);
}
} else {
- JoinTable joinTable = new JoinTable();
+ final JoinTable joinTable = new JoinTable();
joinTable.setName(relation.getManyToManyTableName());
//
// left
- EjbRelationshipRoleType leftRole = roles.get(0);
+ final EjbRelationshipRoleType leftRole = roles.get(0);
RelationField left = null;
if (leftRole.getRelationshipRoleSource() != null) {
- String leftEjbName = leftRole.getRelationshipRoleSource().getEjbName();
- EntityData leftEntityData = entities.get(moduleId + "#" + leftEjbName);
+ final String leftEjbName = leftRole.getRelationshipRoleSource().getEjbName();
+ final EntityData leftEntityData = entities.get(moduleId + "#" + leftEjbName);
if (leftEntityData == null) {
// todo warn no such entity in ejb-jar.xml
continue;
@@ -422,9 +432,9 @@ public class OpenEjb2Conversion implemen
if (left != null) {
left.setJoinTable(joinTable);
- EjbRelationshipRoleType.RoleMapping roleMapping = leftRole.getRoleMapping();
- for (EjbRelationshipRoleType.RoleMapping.CmrFieldMapping cmrFieldMapping : roleMapping.getCmrFieldMapping()) {
- JoinColumn joinColumn = new JoinColumn();
+ final EjbRelationshipRoleType.RoleMapping roleMapping = leftRole.getRoleMapping();
+ for (final EjbRelationshipRoleType.RoleMapping.CmrFieldMapping cmrFieldMapping : roleMapping.getCmrFieldMapping()) {
+ final JoinColumn joinColumn = new JoinColumn();
joinColumn.setName(cmrFieldMapping.getForeignKeyColumn());
joinColumn.setReferencedColumnName(cmrFieldMapping.getKeyColumn());
joinTable.getJoinColumn().add(joinColumn);
@@ -434,32 +444,34 @@ public class OpenEjb2Conversion implemen
//
// right
if (roles.size() > 1) {
- EjbRelationshipRoleType rightRole = roles.get(1);
+ final EjbRelationshipRoleType rightRole = roles.get(1);
// if there wasn't a left cmr field, find the field for the right, so we can add the join table to it
if (left == null) {
- RelationField right = left.getRelatedField();
- if (right == null) {
- if (rightRole.getCmrField() == null) {
- // todo warn no cmr field declared for either role
+
+ if (rightRole.getCmrField() == null) {
+ // todo warn no cmr field declared for either role
+ continue;
+ }
+
+ if (rightRole.getRelationshipRoleSource() != null) {
+ final String rightEjbName = rightRole.getRelationshipRoleSource().getEjbName();
+ final EntityData rightEntityData = entities.get(moduleId + "#" + rightEjbName);
+
+ if (rightEntityData == null) {
+ // todo warn no such entity in ejb-jar.xml
continue;
}
- if (rightRole.getRelationshipRoleSource() != null) {
- String rightEjbName = rightRole.getRelationshipRoleSource().getEjbName();
- EntityData rightEntityData = entities.get(moduleId + "#" + rightEjbName);
- if (rightEntityData == null) {
- // todo warn no such entity in ejb-jar.xml
- continue;
- }
- right = rightEntityData.relations.get(rightRole.getCmrField().getCmrFieldName());
- }
+
+ final RelationField right = rightEntityData.relations.get(rightRole.getCmrField().getCmrFieldName());
+ right.setJoinTable(joinTable);
}
- right.setJoinTable(joinTable);
+
}
- EjbRelationshipRoleType.RoleMapping roleMapping = rightRole.getRoleMapping();
- for (EjbRelationshipRoleType.RoleMapping.CmrFieldMapping cmrFieldMapping : roleMapping.getCmrFieldMapping()) {
- JoinColumn joinColumn = new JoinColumn();
+ final EjbRelationshipRoleType.RoleMapping roleMapping = rightRole.getRoleMapping();
+ for (final EjbRelationshipRoleType.RoleMapping.CmrFieldMapping cmrFieldMapping : roleMapping.getCmrFieldMapping()) {
+ final JoinColumn joinColumn = new JoinColumn();
joinColumn.setName(cmrFieldMapping.getForeignKeyColumn());
joinColumn.setReferencedColumnName(cmrFieldMapping.getKeyColumn());
joinTable.getInverseJoinColumn().add(joinColumn);
@@ -471,11 +483,12 @@ public class OpenEjb2Conversion implemen
/**
* Actually called from ReadDescriptors as Geronimo needs this info early
- * @param o2
- * @return
+ *
+ * @param o2 OpenejbJarType
+ * @return GeronimoEjbJarType
*/
- public static GeronimoEjbJarType convertToGeronimoOpenejbXml(OpenejbJarType o2) {
- GeronimoEjbJarType g2 = new GeronimoEjbJarType();
+ public static GeronimoEjbJarType convertToGeronimoOpenejbXml(final OpenejbJarType o2) {
+ final GeronimoEjbJarType g2 = new GeronimoEjbJarType();
g2.setEnvironment(o2.getEnvironment());
g2.setSecurity(o2.getSecurity());
@@ -483,7 +496,7 @@ public class OpenEjb2Conversion implemen
g2.getMessageDestination().addAll(o2.getMessageDestination());
g2.getPersistence().addAll(o2.getPersistence());
- for (org.apache.openejb.jee.oejb2.EnterpriseBean bean : o2.getEnterpriseBeans()) {
+ for (final org.apache.openejb.jee.oejb2.EnterpriseBean bean : o2.getEnterpriseBeans()) {
g2.getAbstractNamingEntry().addAll(bean.getAbstractNamingEntry());
g2.getPersistenceContextRef().addAll(bean.getPersistenceContextRef());
g2.getPersistenceUnitRef().addAll(bean.getPersistenceUnitRef());
@@ -494,20 +507,20 @@ public class OpenEjb2Conversion implemen
g2.getServiceRef().addAll(bean.getServiceRef());
if (bean instanceof RpcBean) {
- RpcBean rpcBean = (RpcBean) bean;
- if (rpcBean.getTssLink() != null){
+ final RpcBean rpcBean = (RpcBean) bean;
+ if (rpcBean.getTssLink() != null) {
g2.getTssLink().add(new TssLinkType(rpcBean.getEjbName(), rpcBean.getTssLink(), rpcBean.getJndiName()));
}
}
if (bean instanceof SessionBeanType) {
- SessionBeanType sb = (SessionBeanType) bean;
- WebServiceBindingType b = new WebServiceBindingType();
+ final SessionBeanType sb = (SessionBeanType) bean;
+ final WebServiceBindingType b = new WebServiceBindingType();
b.setEjbName(sb.getEjbName());
b.setWebServiceAddress(sb.getWebServiceAddress());
b.setWebServiceVirtualHost(sb.getWebServiceVirtualHost());
b.setWebServiceSecurity(sb.getWebServiceSecurity());
- if (b.containsData()){
+ if (b.containsData()) {
g2.getWebServiceBinding().add(b);
}
}
@@ -515,51 +528,50 @@ public class OpenEjb2Conversion implemen
return g2;
}
- private class EntityData {
+ private static class EntityData {
+
private final Entity entity;
private final Map<String, Field> fields = new TreeMap<String, Field>();
private final Map<String, RelationField> relations = new TreeMap<String, RelationField>();
- public EntityData(Entity entity) {
- if (entity == null) throw new NullPointerException("entity is null");
- this.entity = entity;
+ public EntityData(final Entity e) {
+
+ this.entity = e;
+
+ if (this.entity == null) {
+ throw new IllegalArgumentException("entity is null");
+ }
+
+ final Attributes attributes = this.entity.getAttributes();
- Attributes attributes = entity.getAttributes();
if (attributes != null) {
- for (Id id : attributes.getId()) {
- String name = id.getName();
- fields.put(name, id);
+ for (final Id id : attributes.getId()) {
+ this.fields.put(id.getName(), id);
}
- for (Basic basic : attributes.getBasic()) {
- String name = basic.getName();
- fields.put(name, basic);
+ for (final Basic basic : attributes.getBasic()) {
+ this.fields.put(basic.getName(), basic);
}
- for (RelationField relationField : attributes.getOneToOne()) {
- String name = relationField.getName();
- relations.put(name, relationField);
+ for (final RelationField relationField : attributes.getOneToOne()) {
+ this.relations.put(relationField.getName(), relationField);
}
- for (RelationField relationField : attributes.getOneToMany()) {
- String name = relationField.getName();
- relations.put(name, relationField);
+ for (final RelationField relationField : attributes.getOneToMany()) {
+ this.relations.put(relationField.getName(), relationField);
}
- for (RelationField relationField : attributes.getManyToOne()) {
- String name = relationField.getName();
- relations.put(name, relationField);
+ for (final RelationField relationField : attributes.getManyToOne()) {
+ this.relations.put(relationField.getName(), relationField);
}
- for (RelationField relationField : attributes.getManyToMany()) {
- String name = relationField.getName();
- relations.put(name, relationField);
+ for (final RelationField relationField : attributes.getManyToMany()) {
+ this.relations.put(relationField.getName(), relationField);
}
}
- for (AttributeOverride attributeOverride : entity.getAttributeOverride()) {
- String name = attributeOverride.getName();
- fields.put(name, attributeOverride);
+ for (final AttributeOverride attributeOverride : this.entity.getAttributeOverride()) {
+ this.fields.put(attributeOverride.getName(), attributeOverride);
}
}
}
Modified: tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EjbObjectInputStream.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EjbObjectInputStream.java?rev=1531316&r1=1531315&r2=1531316&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EjbObjectInputStream.java (original)
+++ tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EjbObjectInputStream.java Fri Oct 11 14:44:30 2013
@@ -32,11 +32,13 @@ public class EjbObjectInputStream extend
}
@Override
- protected Class resolveClass(final ObjectStreamClass classDesc) throws IOException, ClassNotFoundException {
+ protected Class<?> resolveClass(final ObjectStreamClass classDesc) throws IOException, ClassNotFoundException {
+ final String n = classDesc.getName();
+ final ClassLoader classloader = getClassloader();
try {
- return Class.forName(classDesc.getName(), false, getClassloader());
+ return Class.forName(n, false, classloader);
} catch (ClassNotFoundException e) {
- final String n = classDesc.getName();
+
if (n.equals("boolean")) {
return boolean.class;
}
@@ -62,7 +64,8 @@ public class EjbObjectInputStream extend
return double.class;
}
- throw e;
+ //Last try - Let runtime try and find it.
+ return Class.forName(n, false, null);
}
}