List<RARDeployable> rars = earDeployable.getRARDeployables();
if (rars.size() > 0) {
if (this.rarService == null) {
logger.warn("There are RAR files in the EAR ''{0}'' but the resource service is not available", earDeployable);
} else {
Context ctx = new ContextImpl(earURL.toExternalForm());
try {
ctx.rebind("earUrl", earURL);
} catch (NamingException e) {
throw new DeployerException("Cannot add the EAR URL parameter '" + earURL + "'", e);
}
List<URL> urls = new ArrayList<URL>();
for (RARDeployable rarDeployable : rars) {
try {
urls.add(rarDeployable.getArchive().getURL());
} catch (ArchiveException e) {
throw new DeployerException("Cannot get the URL for the archive '" + rarDeployable.getArchive() + "'",
e);
}
}
try {
ctx.rebind("urls", urls.toArray(new URL[urls.size()]));
} catch (NamingException e) {
throw new DeployerException("Cannot add the urls parameter '" + urls + "'", e);
}
try {
ctx.rebind("earClassLoader", earClassLoader);
} catch (NamingException e) {
throw new DeployerException("Cannot add the earClassLoader parameter '" + earClassLoader + "'", e);
}
try {
ctx.rebind("altDDs", new URL[urls.size()]);
} catch (NamingException e) {
throw new DeployerException("Cannot add the altDDs parameter.'", e);
}
try {