InputStream in;
axis2repository = clientHome;
boolean isRepositoryExist = false;
RepositoryListenerImpl repoListener = null;
if (!((clientHome == null) || "".equals(clientHome.trim()))) {
checkClientHome(clientHome);
isRepositoryExist = true;
try {
File tempfile = new File(engineConfigName);
in = new FileInputStream(tempfile);
} catch (FileNotFoundException e) {
throw new DeploymentException(e);
}
} else {
ClassLoader cl = Thread.currentThread().getContextClassLoader();
in = cl.getResourceAsStream(AXIS2_CONFIGURATION_RESOURCE);
if (in == null) {
throw new DeploymentException(
Messages.getMessage(DeploymentErrorMsgs.CONFIG_NOT_FOUND));
}
}
axisConfig = createEngineConfig();
AxisConfigBuilder builder = new AxisConfigBuilder(in, this, axisConfig);
axisConfig.setPhasesinfo(phasesinfo);
builder.populateConfig();
if (isRepositoryExist) {
hotDeployment = false;
hotUpdate = false;
// setting CLs
setClassLoaders(axis2repository);
repoListener = new RepositoryListenerImpl(axis2repository, this);
}
try {
axisConfig.setRepository(axis2repository);
validateSystemPredefinedPhases();
engageModules();
} catch (AxisFault axisFault) {
log.info(Messages.getMessage(DeploymentErrorMsgs.MODULE_VALIDATION_FAILED,
axisFault.getMessage()));
throw new DeploymentException(axisFault);
}
if (repoListener != null) {
repoListener.checkServices();
}
return axisConfig;
}