public Object getDeploymentPlan(File planFile, JarFile jarFile, ModuleIDBuilder idBuilder) throws DeploymentException {
if (planFile == null && jarFile == null) {
return null;
}
ApplicationInfo plan = getEarPlan(planFile, jarFile, idBuilder);
if (plan != null) {
return plan;
}
//Only "synthetic" ears with only external modules can have no jar file.
if (jarFile == null) {
return null;
}
// get the modules either the application plan or for a stand alone module from the specific deployer
Module module = null;
if (getWebConfigBuilder() != null) {
module = getWebConfigBuilder().createModule(planFile, jarFile, naming, idBuilder);
}
if (module == null && getEjbConfigBuilder() != null) {
module = getEjbConfigBuilder().createModule(planFile, jarFile, naming, idBuilder);
}
if (module == null && getConnectorConfigBuilder() != null) {
module = getConnectorConfigBuilder().createModule(planFile, jarFile, naming, idBuilder);
}
if (module == null && getAppClientConfigBuilder() != null) {
module = getAppClientConfigBuilder().createModule(planFile, jarFile, naming, idBuilder);
}
if (module == null) {
return null;
}
return new ApplicationInfo(module.getType(),
module.getEnvironment(),
module.getModuleName(),
null,
null,
new LinkedHashSet(Collections.singleton(module)),