/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
*
* The contents of this file are subject to the terms of either the GNU
* General Public License Version 2 only ("GPL") or the Common Development
* and Distribution License("CDDL") (collectively, the "License"). You
* may not use this file except in compliance with the License. You can
* obtain a copy of the License at
* or packager/legal/LICENSE.txt. See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each
* file and include the License file at packager/legal/LICENSE.txt.
*
* GPL Classpath Exception:
* Oracle designates this particular file as subject to the "Classpath"
* exception as provided by Oracle in the GPL Version 2 section of the License
* file that accompanied this code.
*
* Modifications:
* If applicable, add the following below the License Header, with the fields
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyright [year] [name of copyright owner]"
*
* Contributor(s):
* If you wish your version of this file to be governed by only the CDDL or
* only the GPL Version 2, indicate your decision by adding "[Contributor]
* elects to include this software in this distribution under the [CDDL or GPL
* Version 2] license." If you don't indicate a single choice of license, a
* recipient has the option to distribute your version of this file under
* either the CDDL, the GPL Version 2 or to extend the choice of license to
* its licensees as provided above. However, if you add GPL Version 2 code
* and therefore, elected the GPL Version 2 license, then the option applies
* only if the new code is made subject to such option by the copyright
* holder.
*/
/*
* The means by which Weld Beans are discovered on the classpath.
*/
//workaround: WELD-781
/**
* Produce a <code>BeanDeploymentArchive</code> form information contained
* in the provided <code>ReadableArchive</code>.
* @param context
*/
}
Collection<com.sun.enterprise.deployment.EjbDescriptor> ejbs, DeploymentContext ctx, String bdaID) {
} else {
}
this.friendlyId = this.id;
try {
} catch (Exception e) {
}
//set to the current TCL
}
private void populateEJBsForThisBDA(
for(Class c: this.moduleClasses) {
}
}
}
}
//These are for empty BDAs that do not model Bean classes in the current
//deployment unit -- for example: BDAs for portable Extensions.
this.moduleClasses = wClasses;
//set to the current TCL
}
return beanDeploymentArchives;
}
}
//This method is called during BeanDeployment.deployBeans, so this would
//be the right time to place the module classloader for the BDA as the TCL
//The TCL is unset at the end of deployment of CDI beans in WeldDeployer.event
//XXX: This is a workaround for issue https://issues.jboss.org/browse/WELD-781.
//Remove this as soon as the SPI comes in.
return s;
}
return beanClasses;
}
}
return s;
}
boolean added = false;
beanClasses.add(c);
added = true;
}
}
}
WeldBootstrap wb = context.getTransientAppMetaData(WeldDeployer.WELD_BOOTSTRAP, WeldBootstrap.class);
//convert the URI Set to a URL Collection, as WeldBootstrap.parse()
//expects it so.
try {
} catch (MalformedURLException mfue) {
}
}
}
/**
* Gets a descriptor for each EJB
*
* @return the EJB descriptors
*/
return ejbDescImpls;
}
break;
}
}
return match;
}
if (simpleServiceRegistry == null) {
}
return simpleServiceRegistry;
}
return id;
}
return this.friendlyId;
}
//A graphical representation of the BDA hierarchy
+ ", Bean Classes #: " + getBeanClasses().size() + "," + beanClassesString + ", ejbs=" + getEjbs() +"\n";
if (bda instanceof BeanDeploymentArchiveImpl) {
}
String embedBDABeanClasses = ((bda.getBeanClasses().size() > 0) ? bda.getBeanClasses().toString() : "");
+ ", Bean Classes #: " + bda.getBeanClasses().size() + "," + embedBDABeanClasses + ", ejbs=" + bda.getEjbs() + "\n";
}
return val;
}
if (accessibleBDA instanceof BeanDeploymentArchiveImpl) {
}
}
}
return bdaType;
}
try {
while (entries.hasMoreElements()) {
//[See. GLASSFISH-16706]
}
try {
} catch (Throwable t) {
}
}
}
}
// collect all classes in the jar archive
// beans.xml in the jar archive
new ArrayList<ReadableArchive>();
while (entries.hasMoreElements()) {
+ " as a bean archive and hence added another BDA for it");
+ " as an extension and creating another BDA for it");
} else {
+ " as it doesn't have beans.xml or an extension");
}
}
}
//process all web-inf lib JARs and create BDAs for them
while (libJarIterator.hasNext()) {
}
}
}
//Handle RARs. RARs are packaged differently from EJB-JARs or WARs.
//see 20.2 of Connectors 1.6 specification
//The resource adapter classes are in a jar file within the
//RAR archive
}
collectJarInfo(archive, true);
}
collectJarInfo(archive, false);
}
} catch(IOException e) {
} catch(ClassNotFoundException cne) {
}
}
boolean modified = false;
//loop through the list once more
logger.log(FINE, "BDAImpl::ensureWebLibJarVisibility - " + firstBDA.getFriendlyId() + " being associated with " + otherBDA.getFriendlyId());
modified = true;
}
}
//update modified BDA
if (modified){
if (idx >= 0) {
}
}
}
if (idx >= 0) {
}
}
}
throws IOException, ClassNotFoundException {
while (entries.hasMoreElements()) {
}
}
try {
if (isBeanArchive) {
//If the jar is a bean archive, add the class as Bean class also.
}
//add the class as a module class
} catch (Throwable t) {
"Error while trying to load Bean Class "
}
try {
} catch (URISyntaxException use) {
}
}
}
while (entries.hasMoreElements()) {
collectJarInfo(jarArchive, true);
} else {
handleEntry(entry, true);
}
}
}
} else {
}
return className;
}
} else {
}
//cache the moduleClassLoader for this BDA
this.moduleClassLoaderForBDA = cl;
return cl;
}
}
}
return moduleClassLoaderForBDA;
}
}