protected void injectManagedProperties(Object managedBean, ManagedPropertyInjector managedPropertyInjector) { if (managedBean.getClass().isAnnotationPresent(ManagedBean.class)) { Map<String, Field> managedPropertyFields = getManagedPropertyFields(managedBean.getClass()); Set<Map.Entry<String, Field>> managedPropertyEntrySet = managedPropertyFields.entrySet(); for (Map.Entry<String, Field> managedPropertyMapEntry : managedPropertyEntrySet) { String managedPropertyName = managedPropertyMapEntry.getKey(); Field managedPropertyField = managedPropertyMapEntry.getValue(); ManagedProperty managedPropertyAnnotation = managedPropertyField.getAnnotation(ManagedProperty.class); String managedPropertyExpression = managedPropertyAnnotation.value(); if ((managedPropertyExpression != null) && (managedPropertyExpression.length() > 0)) { managedPropertyInjector.inject(managedBean, managedPropertyName, managedPropertyField.getType(), managedPropertyExpression); } } } }
protected String getManagedPropertyName(ManagedProperty managedProperty, Field field) { // Get the name of the managed-property from the @ManagedProperty annotation. String managedPropertyName = managedProperty.name(); // Since the name element of the @ManagedProperty annotation is optional, then if it is missing, use // the name of the field itself. if ((managedPropertyName == null) || (managedPropertyName.length() == 0)) { managedPropertyName = field.getName(); } return managedPropertyName; }
private String errorMessage = ""; @ManagedProperty(value="#{productionRepositoryConfigManagerFactory}") private ConfigurationManagerFactory productionConfigManagerFactory; @ManagedProperty(value="#{systemSettingsBean}") private SystemSettingsBean systemSettingsBean; @ManagedProperty(value="#{productionRepositoryFactoryProxy}") private ProductionRepositoryFactoryProxy productionRepositoryFactoryProxy;
private String errorMessage = ""; @ManagedProperty(value="#{productionRepositoryConfigManagerFactory}") private ConfigurationManagerFactory productionConfigManagerFactory; @ManagedProperty(value="#{systemSettingsBean}") private SystemSettingsBean systemSettingsBean; @ManagedProperty(value="#{productionRepositoryFactoryProxy}") private ProductionRepositoryFactoryProxy productionRepositoryFactoryProxy;
protected void injectManagedProperties(Object managedBean, ManagedPropertyInjector managedPropertyInjector) { if (managedBean.getClass().isAnnotationPresent(ManagedBean.class)) { Map<String, Field> managedPropertyFields = getManagedPropertyFields(managedBean.getClass()); Set<Map.Entry<String, Field>> managedPropertyEntrySet = managedPropertyFields.entrySet(); for (Map.Entry<String, Field> managedPropertyMapEntry : managedPropertyEntrySet) { String managedPropertyName = managedPropertyMapEntry.getKey(); Field managedPropertyField = managedPropertyMapEntry.getValue(); ManagedProperty managedPropertyAnnotation = managedPropertyField.getAnnotation(ManagedProperty.class); String managedPropertyExpression = managedPropertyAnnotation.value(); if ((managedPropertyExpression != null) && (managedPropertyExpression.length() > 0)) { managedPropertyInjector.inject(managedBean, managedPropertyName, managedPropertyField.getType(), managedPropertyExpression); } } } }
protected String getManagedPropertyName(ManagedProperty managedProperty, Field field) { // Get the name of the managed-property from the @ManagedProperty annotation. String managedPropertyName = managedProperty.name(); // Since the name element of the @ManagedProperty annotation is optional, then if it is missing, use // the name of the field itself. if ((managedPropertyName == null) || (managedPropertyName.length() == 0)) { managedPropertyName = field.getName(); } return managedPropertyName; }
@ManagedProperty(value = "#{settings}") private Settings settings;
protected void injectManagedProperties(Object managedBean, ManagedPropertyInjector managedPropertyInjector) { if (managedBean.getClass().isAnnotationPresent(ManagedBean.class)) { Map<String, Field> managedPropertyFields = getManagedPropertyFields(managedBean.getClass()); Set<Map.Entry<String, Field>> managedPropertyEntrySet = managedPropertyFields.entrySet(); for (Map.Entry<String, Field> managedPropertyMapEntry : managedPropertyEntrySet) { String managedPropertyName = managedPropertyMapEntry.getKey(); Field managedPropertyField = managedPropertyMapEntry.getValue(); ManagedProperty managedPropertyAnnotation = managedPropertyField.getAnnotation(ManagedProperty.class); String managedPropertyExpression = managedPropertyAnnotation.value(); if ((managedPropertyExpression != null) && (managedPropertyExpression.length() > 0)) { managedPropertyInjector.inject(managedBean, managedPropertyName, managedPropertyField.getType(), managedPropertyExpression); } } } }
protected String getManagedPropertyName(ManagedProperty managedProperty, Field field) { // Get the name of the managed-property from the @ManagedProperty annotation. String managedPropertyName = managedProperty.name(); // Since the name element of the @ManagedProperty annotation is optional, then if it is missing, use // the name of the field itself. if ((managedPropertyName == null) || (managedPropertyName.length() == 0)) { managedPropertyName = field.getName(); } return managedPropertyName; }
private final Logger log = LoggerFactory.getLogger(SystemSettingsBean.class); @ManagedProperty(value = "#{productionRepositoriesTreeController}") private ProductionRepositoriesTreeController productionRepositoriesTreeController; @ManagedProperty(value = "#{productionRepositoryFactoryProxy}") private ProductionRepositoryFactoryProxy productionRepositoryFactoryProxy; @ManagedProperty(value = "#{productionRepositoryConfigManagerFactory}") private ConfigurationManagerFactory productionConfigManagerFactory; @ManagedProperty(value = "#{deploymentManager}") private DeploymentManager deploymentManager; @ManagedProperty(value = "#{designTimeRepository}") private DesignTimeRepository designTimeRepository;
private Object resolveValueExpression(ManagedProperty property, Class<?> expectedType, Object injectionPoint) { FacesContext context = FacesContext.getCurrentInstance(); String expression = property.value(); try { ValueExpression valueExpression = context.getApplication().getExpressionFactory() .createValueExpression(context.getELContext(), expression, expectedType); return valueExpression.getValue(context.getELContext()); } catch (Exception e) { throw new IllegalStateException("Unable to resolve a value for @ManagedProperty(\"" + expression + "\") on " + injectionPoint + "\n" + e.getMessage(), e); } } }
private void collectAnnotatedFields(Class<?> baseClass, Map<String,Field> annotatedFields) { Field[] fields = baseClass.getDeclaredFields(); for (Field field : fields) { ManagedProperty property = field.getAnnotation(ManagedProperty.class); if (property != null) { String propName = property.name(); if (propName == null || propName.length() == 0) { propName = field.getName(); } // if the field has already been collected, don't replace the existing // value as that value represents an override. if (!annotatedFields.containsKey(propName)) { annotatedFields.put(propName, field); } } } Class<?> superClass = baseClass.getSuperclass(); if (!Object.class.equals(superClass)) { collectAnnotatedFields(superClass, annotatedFields); } }
@ManagedBean @SessionScoped public class ProductionRepositoriesTreeState { @ManagedProperty(value = "#{repositorySelectNodeStateHolder}") private RepositorySelectNodeStateHolder repositorySelectNodeStateHolder; @ManagedProperty(value = "#{deploymentManager}") private DeploymentManager deploymentManager; @ManagedProperty(value = "#{productionRepositoryConfigManagerFactory}") private ConfigurationManagerFactory productionConfigManagerFactory; @ManagedProperty(value = "#{productionRepositoryFactoryProxy}") private ProductionRepositoryFactoryProxy productionRepositoryFactoryProxy;
new ManagedBeanInfo.ManagedProperty(entry.getKey(), f.getType().getName(), property.value(), null, null);
private void collectAnnotatedFields(Class<?> baseClass, Map<String,Field> annotatedFields) { Field[] fields = baseClass.getDeclaredFields(); for (Field field : fields) { ManagedProperty property = field.getAnnotation(ManagedProperty.class); if (property != null) { String propName = property.name(); if (propName == null || propName.length() == 0) { propName = field.getName(); } // if the field has already been collected, don't replace the existing // value as that value represents an override. if (!annotatedFields.containsKey(propName)) { annotatedFields.put(propName, field); } } } Class<?> superClass = baseClass.getSuperclass(); if (!Object.class.equals(superClass)) { collectAnnotatedFields(superClass, annotatedFields); } }
@ManagedBean @SessionScoped public class ProductionRepositoriesTreeState { @ManagedProperty(value = "#{repositorySelectNodeStateHolder}") private RepositorySelectNodeStateHolder repositorySelectNodeStateHolder; @ManagedProperty(value = "#{deploymentManager}") private DeploymentManager deploymentManager; @ManagedProperty(value = "#{productionRepositoryConfigManagerFactory}") private ConfigurationManagerFactory productionConfigManagerFactory; @ManagedProperty(value = "#{productionRepositoryFactoryProxy}") private ProductionRepositoryFactoryProxy productionRepositoryFactoryProxy;
new ManagedBeanInfo.ManagedProperty(entry.getKey(), f.getType().getName(), property.value(), null, null);