public void beforeMarshal(Object source) {
if (source instanceof Security) {
Security security = (Security)source;
if (security.getRoleMappings() != null && security.getRoleMappings().getRole().size() == 0) {
security.setRoleMappings(null);
}
} else if (source instanceof WebApp) {
WebApp webapp = (WebApp)source;
GbeanLocator gbeanlocator = webapp.getWebContainer();
if (gbeanlocator != null && isEmpty(gbeanlocator.getGbeanLink()) && isEmpty(gbeanlocator.getPattern())) {
webapp.setWebContainer(null);
}
} else if (source instanceof OpenejbJar) {
OpenejbJar openejb = (OpenejbJar)source;
ResourceLocator locator = openejb.getCmpConnectionFactory();
if (locator != null && isEmpty(locator.getResourceLink()) && isEmpty(locator.getUrl()) && isEmpty(locator.getPattern())) {
openejb.setCmpConnectionFactory(null);
}
Relationships relationships = openejb.getRelationships();
if (relationships != null && relationships.getEjbRelation().size() == 0) {
openejb.setRelationships(null);
}
} else if (source instanceof PersistenceContextRef) {
PersistenceContextRef contextRef = (PersistenceContextRef)source;
if (contextRef.getPattern() != null && isEmpty(contextRef.getPattern())) {
contextRef.setPattern(null);
}
} else if (source instanceof EjbRelationshipRole) {
EjbRelationshipRole role = (EjbRelationshipRole)source;
if (role.getRoleMapping() != null && role.getRoleMapping().getCmrFieldMapping().size() == 0) {
role.setRoleMapping(null);
}
}
}
|