public T get() {
if(object!=null) {
return object;
}
logger.info("Creating deployment unit");
DeploymentUnit deploymentUnit = createDeploymentUnit();
logger.info("Creating deployment");
deployment = new Deployment.Builder(deploymentUnit, deploymentContext.getDeploymentConfiguration())
.build();
try {
logger.info("Deploying deployment {}",deployment.getId());
endpoints = deploymentContext.getDeploymentHandler().deploy(deployment);
logger.info("Deployment {} done",deployment.getId());
logger.info("Endpoints found for deployment {}: {}",deployment.getId(),endpoints);
} catch(Exception e) {
logger.error("Error while deploying {}",deployment.getId(),e);
throw new DeploymentException(e);
}
try {
object = createObject(endpoints);
return object;
} catch (Exception e) {
logger.error("Error while creating object for deployment {}",deployment.getId(),e);
throw new RuntimeException(e);
}
}