Methods Summary |
---|
public void | addApplicationException(EjbApplicationExceptionInfo appExc)
applicationExceptions.add(appExc);
|
public void | addEjb(EjbDescriptor ejbDescriptor)Add an ejb to me.
ejbDescriptor.setEjbBundleDescriptor(this);
this.getEjbs().add(ejbDescriptor);
super.changed();
|
public void | addEjbBundleDescriptor(com.sun.enterprise.deployment.EjbBundleDescriptor ejbBundleDescriptor)
super.addBundleDescriptor(ejbBundleDescriptor);
// mdf - #4400074 ejb added to existing ejb-jar in wizard has wrong bundle
//this.getEjbs().addAll(ejbBundleDescriptor.getEjbs());
for (Iterator ejbs = ejbBundleDescriptor.getEjbs().iterator(); ejbs.hasNext();) {
EjbDescriptor ejbDescriptor = (EjbDescriptor)ejbs.next();
ejbDescriptor.setEjbBundleDescriptor(this);
this.getEjbs().add(ejbDescriptor);
}
// WebServices
WebServicesDescriptor thisWebServices = this.getWebServices();
WebServicesDescriptor otherWebServices = ejbBundleDescriptor.getWebServices();
for (Iterator i = otherWebServices.getWebServices().iterator(); i.hasNext();) {
WebService ws = (WebService)i.next();
thisWebServices.addWebService(new WebService(ws));
}
this.changed();
|
public void | addInterceptor(EjbInterceptor interceptor)
EjbInterceptor ic =
getInterceptorByClassName(interceptor.getInterceptorClassName());
if (ic == null) {
interceptor.setEjbBundleDescriptor(this);
interceptors.put(interceptor.getInterceptorClassName(), interceptor);
}
|
public void | addPersistenceManager(com.sun.enterprise.deployment.runtime.IASPersistenceManagerDescriptor pmDesc)
if (configured_pms==null) {
configured_pms=new Vector();
}
configured_pms.add(pmDesc);
if (_logger.isLoggable(Level.FINE))
_logger.fine("***IASEjbBundleDescriptor"
+ ".addPersistenceManager done -#- ");
|
public void | addRelationship(RelationshipDescriptor relDesc)Add a RelationshipDescriptor which describes a CMR field
between a bean/DO/entityRef in this ejb-jar.
relationships.add(relDesc);
super.changed();
|
public void | addSecurityRoleMapping(com.sun.enterprise.deployment.runtime.common.SecurityRoleMapping roleMapping)
roleMaps.add(roleMapping);
|
public void | appendInterceptorBinding(InterceptorBindingDescriptor binding)
interceptorBindings.addLast(binding);
|
public boolean | areResourceReferencesValid()Checks whether the role references my ejbs have reference roles that I have.
// run through each of the ejb's role references, checking that the roles exist in this bundle
for (Iterator itr = this.getEjbs().iterator(); itr.hasNext();) {
EjbDescriptor ejbDescriptor = (EjbDescriptor) itr.next();
for (Iterator roleRefs = ejbDescriptor.getRoleReferences().iterator(); roleRefs.hasNext();) {
RoleReference roleReference = (RoleReference) roleRefs.next();
Role referredRole = roleReference.getRole();
if (!referredRole.getName().equals("")
&& !super.getRoles().contains(referredRole) ) {
_logger.log(Level.FINE,localStrings.getLocalString(
"enterprise.deployment.badrolereference",
"Warning: Bad role reference to {0}", new Object[] {referredRole}));
_logger.log(Level.FINE,"Roles: "+ this.getRoles());
return false;
}
}
}
return true;
|
public boolean | containsCMPEntity()
Set ejbs = getEjbs();
if (ejbs==null)
return false;
for (Iterator ejbsItr = ejbs.iterator();ejbsItr.hasNext();) {
if (ejbsItr.next() instanceof EjbCMPEntityDescriptor) {
return true;
}
}
return false;
|
private void | doMethodDescriptorConversions()
for (Iterator itr = this.getEjbs().iterator(); itr.hasNext();) {
EjbDescriptor ejbDescriptor = (EjbDescriptor) itr.next();
ejbDescriptor.doMethodDescriptorConversions();
}
|
public java.util.Collection | findReferencedPUs(){@inheritDoc}
Collection<PersistenceUnitDescriptor> pus =
new HashSet<PersistenceUnitDescriptor>();
for (EjbDescriptor ejb :
(Collection<EjbDescriptor>)getEjbs()) {
pus.addAll(findReferencedPUsViaPURefs(ejb));
pus.addAll(findReferencedPUsViaPCRefs(ejb));
}
return pus;
|
public java.util.Set | getApplicationExceptions()
return new HashSet<EjbApplicationExceptionInfo>(applicationExceptions);
|
public ResourceReferenceDescriptor | getCMPResourceReference()Return the Resource I use for CMP.
return this.cmpResourceReference;
|
public java.lang.String | getDefaultSpecVersion()
return EjbBundleNode.SPEC_VERSION;
|
public Descriptor | getDescriptorByName(java.lang.String name)
try {
return getEjbByName(name);
} catch(IllegalArgumentException iae) {
// Bundle doesn't contain ejb with the given name.
return null;
}
|
public EjbDescriptor[] | getEjbByClassName(java.lang.String className)Returns all ejb descriptors that has a give Class name.
It returns an empty array if no ejb is found.
ArrayList<EjbDescriptor> ejbList = new ArrayList<EjbDescriptor>();
for (Object ejb : this.getEjbs()) {
if (ejb instanceof EjbDescriptor) {
EjbDescriptor ejbDesc = (EjbDescriptor)ejb;
if (className.equals(ejbDesc.getEjbClassName())) {
ejbList.add(ejbDesc);
}
}
}
return ejbList.toArray(new EjbDescriptor[ejbList.size()]);
|
public EjbDescriptor | getEjbByName(java.lang.String name)Returns an ejb descriptor that I have by the same name, otherwise
throws an IllegalArgumentException
return getEjbByName(name, false);
|
public EjbDescriptor | getEjbByName(java.lang.String name, boolean isCreateDummy)Returns an ejb descriptor that I have by the same name.
Create a DummyEjbDescriptor if requested, otherwise
throws an IllegalArgumentException
for (Iterator itr = this.getEjbs().iterator(); itr.hasNext();) {
Descriptor next = (Descriptor) itr.next();
if (next.getName().equals(name)) {
return (EjbDescriptor) next;
}
}
if (!isCreateDummy) {
throw new IllegalArgumentException(localStrings.getLocalString(
"enterprise.deployment.exceptionbeanbundle",
"Referencing error: this bundle has no bean of name: {0}",
new Object[] {name}));
}
// there could be cases where the annotation defines the ejb component
// and the ejb-jar.xml just uses it
// we have to create a dummy version of the ejb descriptor in this
// case as we process xml before annotations.
_logger.log(Level.FINE, "enterprise.deployment_dummy_ejb_descriptor",
new Object[] {name});
DummyEjbDescriptor dummyEjbDesc = new DummyEjbDescriptor();
dummyEjbDesc.setName(name);
addEjb(dummyEjbDesc);
return dummyEjbDesc;
|
public EjbDescriptor[] | getEjbBySEIName(java.lang.String className)Returns all ejb descriptors that has a given Class name as
the web service endpoint interface.
It returns an empty array if no ejb is found.
ArrayList<EjbDescriptor> ejbList = new ArrayList<EjbDescriptor>();
for (Object ejb : this.getEjbs()) {
if (ejb instanceof EjbDescriptor) {
EjbDescriptor ejbDesc = (EjbDescriptor)ejb;
if (className.equals(ejbDesc.getWebServiceEndpointInterfaceName())) {
ejbList.add(ejbDesc);
}
}
}
return ejbList.toArray(new EjbDescriptor[ejbList.size()]);
|
public java.lang.String | getEjbClientJarUri()Return the emptry String or the entry name of the ejb client JAR
in my archive if I have one.
if (this.ejbClientJarUri == null) {
this.ejbClientJarUri = "";
}
return this.ejbClientJarUri;
|
public java.util.Set | getEjbs()Return the Set of ejb descriptors that I have.
return this.ejbs;
|
public static int | getIdFromEjbId(long ejbId)
long id = ejbId >> 32;
return (int)id;
|
public java.util.List | getInterceptorBindings()
return new LinkedList<InterceptorBindingDescriptor>
(interceptorBindings);
|
public EjbInterceptor | getInterceptorByClassName(java.lang.String className)
return interceptors.get(className);
|
public java.util.Set | getInterceptors()
return new HashSet<EjbInterceptor>(interceptors.values());
|
public javax.enterprise.deploy.shared.ModuleType | getModuleType()
return ModuleType.EJB;
|
public java.lang.String | getName()Returns my name.
if ("".equals(super.getName())) {
super.setName("Ejb1");
}
return super.getName();
|
public java.util.Collection | getNamedDescriptors()Return the set of NamedDescriptors that I have.
Collection namedDescriptors = new Vector();
for (Iterator ejbs = this.getEjbs().iterator(); ejbs.hasNext();) {
EjbDescriptor ejbDescriptor = (EjbDescriptor) ejbs.next();
namedDescriptors.add(ejbDescriptor);
namedDescriptors.addAll(super.getNamedDescriptorsFrom(ejbDescriptor));
}
return namedDescriptors;
|
public java.util.Vector | getNamedReferencePairs()Return all the named descriptors I have together with the descriptor
that references each one in a Vector of NameReferencePairs.
Vector pairs = new Vector();
for (Iterator ejbs = this.getEjbs().iterator(); ejbs.hasNext();) {
EjbDescriptor ejbDescriptor = (EjbDescriptor) ejbs.next();
pairs.add(NamedReferencePair.createEjbPair(ejbDescriptor,
ejbDescriptor));
pairs.addAll(super.getNamedReferencePairsFrom(ejbDescriptor));
}
return pairs;
|
public com.sun.enterprise.deployment.runtime.PersistenceManagerInUse | getPersistenceManagerInUse()
return pm_inuse;
|
public java.util.Vector | getPersistenceManagers()
if (_logger.isLoggable(Level.FINE))
_logger.fine("***IASEjbBundleDescriptor.getPersistenceManagers done -#- ");
return configured_pms;
|
public com.sun.enterprise.deployment.runtime.IASPersistenceManagerDescriptor | getPreferredPersistenceManager()
boolean debug = _logger.isLoggable(Level.FINE);
if (configured_pms == null || configured_pms.size() == 0) {
// return the default persistence manager descriptor
return null;
}
String pminuse_id = pm_inuse.get_pm_identifier().trim();
String pminuse_ver = pm_inuse.get_pm_version().trim();
if (debug) {
_logger.fine("IASPersistenceManagerDescriptor.getPreferred - inid*" +
pminuse_id.trim() + "*");
_logger.fine("IASPersistenceManagerDescriptor.getPreferred - inver*" +
pminuse_ver.trim() + "*");
}
int size = configured_pms.size();
for(int i = 0; i < size; i++) {
IASPersistenceManagerDescriptor pmdesc=(IASPersistenceManagerDescriptor)configured_pms.elementAt(i);
String pmdesc_id = pmdesc.getPersistenceManagerIdentifier();
String pmdesc_ver = pmdesc.getPersistenceManagerVersion();
if (debug) {
_logger.fine("IASPersistenceManagerDescriptor.getPreferred - pmid*" +
pmdesc_id.trim() + "*");
_logger.fine("IASPersistenceManagerDescriptor.getPreferred - pmver*" +
pmdesc_ver.trim() + "*");
}
if( ((pmdesc_id.trim()).equals(pminuse_id)) &&
((pmdesc_ver.trim()).equals(pminuse_ver)) ) {
if (debug)
_logger.fine("***IASEjbBundleDescriptor.getPreferredPersistenceManager done -#- ");
return (IASPersistenceManagerDescriptor)pmdesc;
}
}
throw new IllegalArgumentException(localStrings.getLocalString(
"enterprise.deployment.nomatchingpminusefound",
"No PersistenceManager found that matches specified PersistenceManager in use."));
|
public java.util.Set | getRelationships()Get all relationships in this ejb-jar.
return relationships;
|
public java.lang.String | getRelationshipsDescription()EJB2.0: get description for element.
if ( relationshipsDescription == null )
relationshipsDescription = "";
return relationshipsDescription;
|
public java.util.Set | getResourceReferenceDescriptors()Return the set of references to resources that I have.
Set resourceReferences = new HashSet();
for (Iterator itr = this.getEjbs().iterator(); itr.hasNext();) {
EjbDescriptor ejbDescriptor = (EjbDescriptor) itr.next();
resourceReferences.addAll(ejbDescriptor.getResourceReferenceDescriptors());
}
return resourceReferences;
|
public java.util.List | getSecurityRoleMappings()
return roleMaps;
|
public java.util.Set | getServiceReferenceDescriptors()
Set serviceRefs = new OrderedSet();
for(Iterator ejbs = getEjbs().iterator();ejbs.hasNext();) {
EjbDescriptor next = (EjbDescriptor) ejbs.next();
serviceRefs.addAll(next.getServiceReferenceDescriptors());
}
return serviceRefs;
|
public long | getUniqueId()Returns the unique id used in a stand alone ejb module.
For application, this will return zero.
return uniqueId;
|
public boolean | hasAssemblyInformation()Return true if I have roles, permissioned roles or container transactions.
return (!this.getRoles().isEmpty())
|| this.hasPermissionedRoles()
|| this.hasContainerTransactions();
|
public boolean | hasContainerTransactions()Return true if any of my ejb's methods have been assigned transaction attributes.
for (Iterator itr = this.getEjbs().iterator(); itr.hasNext();) {
EjbDescriptor nextEjbDescriptor = (EjbDescriptor) itr.next();
if (!nextEjbDescriptor.getMethodContainerTransactions().isEmpty()) {
return true;
}
}
return false;
|
public boolean | hasEjbByName(java.lang.String name)Returns true if I have an ejb descriptor by that name.
for (Iterator itr = this.getEjbs().iterator(); itr.hasNext();) {
Descriptor next = (Descriptor) itr.next();
if (next.getName().equals(name)) {
return true;
}
}
return false;
|
public boolean | hasEjbReferences()Return true if I reference other ejbs, false else.
for (Iterator itr = this.getEjbs().iterator(); itr.hasNext();) {
EjbDescriptor nextEjbDescriptor = (EjbDescriptor) itr.next();
if (!nextEjbDescriptor.getEjbReferenceDescriptors().isEmpty()) {
return true;
}
}
return false;
|
public boolean | hasInterceptors()
return (interceptors.size() > 0);
|
public boolean | hasPermissionedRoles()Returns true if I have Roles to which method permissions have been assigned.
for (Iterator itr = this.getEjbs().iterator(); itr.hasNext();) {
EjbDescriptor nextEjbDescriptor = (EjbDescriptor) itr.next();
if (!nextEjbDescriptor.getPermissionedMethodsByPermission().isEmpty()) {
return true;
}
}
return false;
|
public boolean | hasRelationship(RelationshipDescriptor rd)Returns true if given relationship is already part of this
ejb-jar.
return relationships.contains(rd);
|
public boolean | hasRelationships()
return (relationships.size() > 0);
|
public boolean | hasWebServiceClients()
for(Iterator ejbs = getEjbs().iterator();ejbs.hasNext();) {
EjbDescriptor next = (EjbDescriptor) ejbs.next();
Collection serviceRefs = next.getServiceReferenceDescriptors();
if( !(serviceRefs.isEmpty()) ) {
return true;
}
}
return false;
|
public boolean | isEJB11()True if EJB version is 1.x.
return getSpecVersion().startsWith("1");
|
public boolean | isEJB20()True if EJB version is 2.x. This is the default
for any new modules.
return !isEJB11();
|
public void | prependInterceptorBinding(InterceptorBindingDescriptor binding)
interceptorBindings.addFirst(binding);
|
public void | print(java.lang.StringBuffer toStringBuffer)Returns a formatted String representing my state.
toStringBuffer.append("EjbBundleDescriptor\n");
super.print(toStringBuffer);
if (cmpResourceReference!=null) {
toStringBuffer.append("\ncmp resource ");
((Descriptor)cmpResourceReference).print(toStringBuffer);
}
toStringBuffer.append("\nclient JAR ").append(this.getEjbClientJarUri());
for (Iterator itr = this.getEjbs().iterator(); itr.hasNext();) {
toStringBuffer.append("\n------------\n");
((Descriptor)itr.next()).print(toStringBuffer);
toStringBuffer.append("\n------------") ;
}
|
public void | removeEjb(EjbDescriptor ejbDescriptor)Remove the given ejb descriptor from my (by equality).
ejbDescriptor.setEjbBundleDescriptor(null);
this.getEjbs().remove(ejbDescriptor);
super.changed();
|
public void | removeRelationship(RelationshipDescriptor relDesc)Add a RelationshipDescriptor which describes a CMR field
between a bean/DO/entityRef in this ejb-jar.
relationships.remove(relDesc);
super.changed();
|
public void | removeRole(com.sun.enterprise.deployment.Role role)Removes the given com.sun.enterprise.deployment.Role object from me.
if (super.getRoles().contains(role)) {
for (Iterator itr = this.getEjbs().iterator(); itr.hasNext();) {
EjbDescriptor ejbDescriptor = (EjbDescriptor) itr.next();
ejbDescriptor.removeRole(role);
}
super.removeRole(role);
}
|
void | replaceEjb(EjbDescriptor oldEjbDescriptor, EjbDescriptor newEjbDescriptor)Called only from EjbDescriptor.replaceEjbDescriptor, in wizard mode.
oldEjbDescriptor.setEjbBundleDescriptor(null);
this.getEjbs().remove(oldEjbDescriptor);
newEjbDescriptor.setEjbBundleDescriptor(this);
this.getEjbs().add(newEjbDescriptor);
//super.changed(); no need to notify listeners in wizard mode ??
|
public void | setCMPResourceReference(ResourceReferenceDescriptor resourceReference)Sets the resource reference I use for CMP.
this.cmpResourceReference = resourceReference;
this.changed();
|
public void | setEjbClientJarUri(java.lang.String ejbClientJarUri)Sets the ejb client JAR entry name.
this.ejbClientJarUri = ejbClientJarUri;
this.changed();
|
public void | setInterceptorBindings(java.util.List bindings)
interceptorBindings = new LinkedList<InterceptorBindingDescriptor>();
interceptorBindings.addAll(bindings);
|
public void | setPersistenceManagerInUse(com.sun.enterprise.deployment.runtime.PersistenceManagerInUse inuse)
pm_inuse = inuse;
|
public void | setPersistenceManagerInuse(java.lang.String id, java.lang.String ver)
pm_inuse=new PersistenceManagerInUse(id, ver);
if (_logger.isLoggable(Level.FINE))
_logger.fine("***IASEjbBundleDescriptor"
+ ".setPersistenceManagerInUse done -#- ");
|
public void | setRelationshipsDescription(java.lang.String relationshipsDescription)EJB2.0: set description for element.
this.relationshipsDescription = relationshipsDescription;
|
public void | setUniqueId(long id)Sets the unique id for a stand alone ejb module. It traverses through
all the ejbs in this stand alone module and sets the unique id for
each of them. The traversal order is done in ascending element order.
Note: This method will not be called for application.
this.uniqueId = id;
// First sort the beans in alphabetical order.
EjbDescriptor[] descs = (EjbDescriptor[])ejbs.toArray(
new EjbDescriptor[ejbs.size()]);
// The sorting algorithm used by this api is a modified mergesort.
// This algorithm offers guaranteed n*log(n) performance, and
// can approach linear performance on nearly sorted lists.
Arrays.sort(descs,
new Comparator() {
public int compare(Object o1, Object o2) {
return (((EjbDescriptor)o1).getName()).compareTo(
((EjbDescriptor)o2).getName());
}
}
);
for (int i=0; i<descs.length; i++)
{
// 2^16 beans max per stand alone module
descs[i].setUniqueId( (id | i) );
}
|
public void | visit(com.sun.enterprise.deployment.util.DescriptorVisitor aVisitor)visit the descriptor and all sub descriptors with a DOL visitor implementation
if (aVisitor instanceof EjbBundleVisitor) {
visit((EjbBundleVisitor) aVisitor);
} else {
super.visit(aVisitor);
}
|
public void | visit(com.sun.enterprise.deployment.util.EjbBundleVisitor aVisitor)visit the descriptor and all sub descriptors with a DOL visitor implementation
aVisitor.accept(this);
EjbVisitor ejbVisitor = aVisitor.getEjbVisitor();
if (ejbVisitor != null) {
for (Iterator itr = this.getEjbs().iterator(); itr.hasNext();) {
EjbDescriptor anEjb = (EjbDescriptor) itr.next();
anEjb.visit(ejbVisitor);
}
}
if (hasRelationships()) {
for (Iterator itr = getRelationships().iterator();itr.hasNext();) {
RelationshipDescriptor rd = (RelationshipDescriptor) itr.next();
aVisitor.accept(rd);
}
}
for (Iterator itr=getWebServices().getWebServices().iterator();
itr.hasNext(); ) {
WebService aWebService = (WebService) itr.next();
aVisitor.accept(aWebService);
}
for (Iterator itr = getMessageDestinations().iterator();
itr.hasNext();) {
MessageDestinationDescriptor msgDestDescriptor =
(MessageDestinationDescriptor)itr.next();
aVisitor.accept(msgDestDescriptor);
}
|