@Override
public void deploy(DeploymentUnit unit) {
super.deploy(unit);
if (!(unit instanceof VFSDeploymentUnit)) {
throw new IllegalArgumentException("Invalid deployment unit provided - " + unit.getClass().getName());
}
DeployedUnitImpl deployedUnit = new DeployedUnitImpl(unit);
VFSDeploymentUnit vfsUnit = (VFSDeploymentUnit) unit;
RuntimeEnvironmentBuilder builder = RuntimeEnvironmentBuilder.getDefault()
.entityManagerFactory(getEmf());
AuditEventBuilder auditLoggerBuilder = setupAuditLogger(identityProvider, vfsUnit.getIdentifier());
if (beanManager != null) {
builder.registerableItemsFactory(InjectableRegisterableItemsFactory.getFactory(beanManager, auditLoggerBuilder));
}
loadProcesses(vfsUnit, builder, deployedUnit);
loadRules(vfsUnit, builder, deployedUnit);
commonDeploy(vfsUnit, deployedUnit, builder.get(), (KieContainer)builder.get().getEnvironment().get("kieContainer") );
}