protected void postProcess(final BeanDefinitionBuilder definitionBuilder, final Element ff4jTag) {
super.postProcess(definitionBuilder, ff4jTag);
logger.debug("Initialization from <ff4j:ff4j> TAG");
if (StringUtils.hasLength(ff4jTag.getAttribute(ATT_FF4J_FILENAME))) {
String fileName = ff4jTag.getAttribute(ATT_FF4J_FILENAME);
InMemoryFeatureStore imfs = new InMemoryFeatureStore(fileName);
InMemoryPropertyStore imps = new InMemoryPropertyStore(fileName);
definitionBuilder.getBeanDefinition().getPropertyValues().addPropertyValue("featureStore", imfs);
definitionBuilder.getBeanDefinition().getPropertyValues().addPropertyValue("propertiesStore", imps);
logger.debug("... Setting in-memory stores : " + imfs.readAll().size() + " feature(s), " + imps.readAllProperties().size() + " propertie(s)");
}
if (StringUtils.hasLength(ff4jTag.getAttribute(ATT_FF4J_AUTOCREATE))) {
String autocreate = ff4jTag.getAttribute(ATT_FF4J_AUTOCREATE);
logger.debug("... Setting autocreate property to '" + autocreate + "'");
}
if (StringUtils.hasLength(ff4jTag.getAttribute(ATT_FF4J_AUTH_MANAGER))) {
String authManagerBeanId = ff4jTag.getAttribute(ATT_FF4J_AUTH_MANAGER);
RuntimeBeanReference refSolution = new RuntimeBeanReference(authManagerBeanId);
definitionBuilder.getBeanDefinition().getPropertyValues().addPropertyValue("authorizationsManager", refSolution);
logger.debug("... Setting authorizationManager with " + authManagerBeanId);
}
logger.debug("... Initialization done");
}
}