List of usage examples for org.springframework.beans.factory BeanFactory containsBean
boolean containsBean(String name);
From source file:org.toobsframework.pres.doit.DoItRunner.java
/** * Called upon receipt of a validation error. Iterates over all the * actions for this DoIt, retrieving an object of appropriate type out * of the posted request. All such objects are put in the response parameter * mapping under the "ValidationErrorObjects" key. *///from ww w . j a v a 2 s . c o m @SuppressWarnings("unchecked") private void pullErrorObjectsIntoRequest(IRequest request, DoIt doIt, Map<String, Object> paramMap, Map<String, Object> responseMap, String multipleActionsKey, String[] multipleActionsAry, ValidationException ve) throws Exception { if (log.isDebugEnabled()) { log.debug("ENTER pullErrorObjectsIntoRequest"); } Action thisAction = null; Collection globalErrorObjects = new ArrayList(); Collection<String> globalErrorMessages = new ArrayList<String>(); BeanFactory beanFactory = BeanMonkey.getBeanFactoryInstance(); if (doIt.getActions() != null) { paramMap.remove("guid"); //Actions actionsObj = doIt.getActions(); for (int i = 0; i < multipleActionsAry.length; i++) { HashMap actionParams = new HashMap(paramMap); responseMap.clear(); actionParams.put(multipleActionsKey, multipleActionsAry[i]); actionParams.put(PlatformConstants.MULTI_ACTION_INSTANCE, new Integer(i)); Collection instanceErrorObjects = new ArrayList(); Collection instanceErrorMessages = new ArrayList(); if (ve != null) { Iterator errIter = ve.getErrors().iterator(); while (errIter.hasNext()) { Errors err = (Errors) errIter.next(); instanceErrorMessages.addAll(err.getAllErrors()); } } // iterate over the create and update actions Enumeration actions = doIt.getActions().enumerateAction(); while (actions.hasMoreElements()) { // for each, retrieve the object of appropriate type thisAction = (Action) actions.nextElement(); // get parameters from action object String actionStr = thisAction.getAction(); // for now, only do error object handling for creates and updates.. if (!actionStr.startsWith("create") && !actionStr.startsWith("update")) { continue; } //retrieve the input object for this action Object inputObject = constructInputObjectFromAction(request, thisAction, actionParams); //if there's an input object if (inputObject != null || actionStr.endsWith("Collection")) { if (thisAction.getNamespace() != null && !"".equals(thisAction.getNamespace())) { actionParams.put("namespace", thisAction.getNamespace()); } // before calling the getSafeBean method, have to // stick this action's returnObjectType in the paramMap String objectReturnType = ((String[]) ParameterUtil.resolveParam(request, thisAction.getReturnObjectType(), actionParams))[0]; actionParams.put("returnObjectType", objectReturnType); // use the bean monkey to populate that object // (pass false in as last arg to block validation) boolean collection = false; String className = null; if (actionStr.endsWith("Collection")) { String beanClazz = ((String[]) ParameterUtil.resolveParam(request, thisAction.getInputObjectType(), actionParams))[0]; inputObject = BeanMonkey.populateCollection(beanClazz, thisAction.getIndexParam(), actionParams, false, thisAction.getValidationErrorMode(), instanceErrorMessages); collection = true; className = beanClazz.substring(beanClazz.lastIndexOf(".") + 1); } else { try { BeanMonkey.populate(inputObject, actionParams, instanceErrorMessages); } catch (ValidationException e) { Iterator errIter = e.getErrors().iterator(); while (errIter.hasNext()) { Errors err = (Errors) errIter.next(); instanceErrorMessages.addAll(err.getAllErrors()); } } className = inputObject.getClass().getName(); } // If there are no error messages for the object don't produce an error object //if (instanceErrorMessages.size() == 0) continue; // and get the validator for the input object IValidator v = null; className = className.substring(className.lastIndexOf(".") + 1); String validatorName = className + "Validator"; if (beanFactory.containsBean(validatorName)) { v = (IValidator) beanFactory.getBean(validatorName); } else { log.warn("No validator " + validatorName + " for " + className); } // if there's no validator, then just continue... if (v == null) continue; // call the validator's prepare method, // pipe the populated bean through the validator's getSafeBean method // and, finally dump the populated object into the error objects map actionParams.put("doit.validation.error.mode", new Boolean(true)); v.prepare(inputObject, actionParams); if (collection && inputObject != null && inputObject instanceof Collection) { Iterator iter = ((Collection) inputObject).iterator(); while (iter.hasNext()) { instanceErrorObjects.add(v.getSafeBean(iter.next(), actionParams)); } } else { instanceErrorObjects.add(v.getSafeBean(inputObject, actionParams)); } } continue; } globalErrorMessages.addAll(instanceErrorMessages); globalErrorObjects.addAll(instanceErrorObjects); } // put the populated error objs in the request scope. responseMap.put(ForwardStrategy.VALIDATION_ERROR_OBJECTS, globalErrorObjects); responseMap.put(ForwardStrategy.VALIDATION_ERROR_MESSAGES, globalErrorMessages); } if (log.isDebugEnabled()) { log.debug("EXIT pullErrorObjectsIntoRequest"); } }
From source file:org.apache.cocoon.core.xml.impl.AbstractJaxpParser.java
/** * @see org.springframework.beans.factory.BeanFactoryAware#setBeanFactory(org.springframework.beans.factory.BeanFactory) *///from ww w .j a v a 2s.com public void setBeanFactory(BeanFactory factory) throws BeansException { // we search for a resolver if we don't have one already if (this.resolver == null && this.searchResolver) { if (this.getLogger().isDebugEnabled()) { this.getLogger().debug("Searching for entity resolver in factory: " + factory); } if (factory.containsBean(EntityResolver.class.getName())) { this.resolver = (EntityResolver) factory.getBean(EntityResolver.class.getName()); if (this.getLogger().isDebugEnabled()) { this.getLogger().debug("Set resolver to: " + this.resolver); } } } }
From source file:org.codehaus.groovy.grails.context.annotation.ClosureClassIgnoringComponentScanBeanDefinitionParser.java
@Override protected ClassPathBeanDefinitionScanner createScanner(XmlReaderContext readerContext, boolean useDefaultFilters) { final ClassPathBeanDefinitionScanner scanner = super.createScanner(readerContext, useDefaultFilters); BeanDefinitionRegistry beanDefinitionRegistry = readerContext.getRegistry(); GrailsPluginManager pluginManager = null; if (beanDefinitionRegistry instanceof HierarchicalBeanFactory) { HierarchicalBeanFactory beanFactory = (HierarchicalBeanFactory) beanDefinitionRegistry; BeanFactory parent = beanFactory.getParentBeanFactory(); if (parent != null && parent.containsBean(GrailsPluginManager.BEAN_NAME)) { pluginManager = parent.getBean(GrailsPluginManager.BEAN_NAME, GrailsPluginManager.class); }//w w w . java 2s .co m } if (pluginManager != null) { List<TypeFilter> typeFilters = pluginManager.getTypeFilters(); for (TypeFilter typeFilter : typeFilters) { scanner.addIncludeFilter(typeFilter); } } return scanner; }
From source file:org.impalaframework.spring.service.SpringServiceBeanUtils.java
/** * Checks that the bean with given name contained in the specified bean factory is a singleton. * Will return true if bean represented by a bean registered under the scope <code>singletone</code>. * If the bean is also a factory bean (see {@link FactoryBean}), then the {@link FactoryBean} * instance also needs to be a singleton. * /*from w w w.ja va 2 s . c o m*/ * Note that in order to work properly the {@link BeanFactory} must be able to recover the {@link BeanDefinition} * for a particular bean name. This in particular must mean implementing {@link BeanDefinitionRegistry} or * {@link BeanDefinitionExposing}. In the latter case, if null is returned, then the bean will be treated as a singleton. * * @return true if bean is singleton registered bean and, if applicable, a singleton {@link FactoryBean}. */ public static boolean isSingleton(BeanFactory beanFactory, String beanName) { Assert.notNull(beanFactory, "beanFactory cannot be null"); Assert.notNull(beanName, "beanName cannot be null"); boolean singleton = true; boolean isBeanFactory = beanFactory.containsBean(BeanFactory.FACTORY_BEAN_PREFIX + beanName); if (isBeanFactory) { FactoryBean<?> factoryBean = (FactoryBean<?>) beanFactory .getBean(BeanFactory.FACTORY_BEAN_PREFIX + beanName); singleton = factoryBean.isSingleton(); } if (singleton) { //ApplicationContext implements this implements this ListableBeanFactory registry = (ListableBeanFactory) beanFactory; //we're only interested in top level definitions //inner beans won't appear here, so boolean containsBeanDefinition = registry.containsBeanDefinition(beanName); if (containsBeanDefinition) { BeanDefinition beanDefinition = getBeanDefinition(registry, beanName); if (beanDefinition != null) { singleton = beanDefinition.isSingleton(); } } else { if (logger.isDebugEnabled()) { logger.debug("Cannot check whether bean definition " + beanName + " is singleton as it is not available as a top level bean"); } } } return singleton; }
From source file:org.kuali.rice.test.CompositeBeanFactory.java
@Override public boolean containsBean(String name) { for (BeanFactory f : factories) { try {/*w w w . j ava 2 s. c om*/ boolean b = f.containsBean(name); if (b) { return b; } } catch (BeansException e) { LOG.info("bean exception", e); } } return false; }
From source file:org.springframework.beans.factory.access.el.SpringBeanELResolver.java
@Override public Object getValue(ELContext elContext, Object base, Object property) throws ELException { if (base == null) { String beanName = property.toString(); BeanFactory bf = getBeanFactory(elContext); if (bf.containsBean(beanName)) { if (logger.isTraceEnabled()) { logger.trace("Successfully resolved variable '" + beanName + "' in Spring BeanFactory"); }/*from w w w . j a v a 2s . c o m*/ elContext.setPropertyResolved(true); return bf.getBean(beanName); } } return null; }
From source file:org.springframework.beans.factory.support.AbstractBeanFactory.java
public boolean containsBean(String name) { if (containsLocalBean(name)) { return true; }/*from w ww .j av a2 s . c o m*/ // Not found -> check parent. BeanFactory parentBeanFactory = getParentBeanFactory(); if (parentBeanFactory != null) { return parentBeanFactory.containsBean(name); } return false; }
From source file:org.springframework.beans.factory.xml.XmlBeanFactoryTests.java
private void doTestAutowire(DefaultListableBeanFactory xbf) throws Exception { DependenciesBean rod1 = (DependenciesBean) xbf.getBean("rod1"); TestBean kerry = (TestBean) xbf.getBean("spouse"); // should have been autowired assertEquals(kerry, rod1.getSpouse()); DependenciesBean rod1a = (DependenciesBean) xbf.getBean("rod1a"); // should have been autowired assertEquals(kerry, rod1a.getSpouse()); DependenciesBean rod2 = (DependenciesBean) xbf.getBean("rod2"); // should have been autowired assertEquals(kerry, rod2.getSpouse()); DependenciesBean rod2a = (DependenciesBean) xbf.getBean("rod2a"); // should have been set explicitly assertEquals(kerry, rod2a.getSpouse()); ConstructorDependenciesBean rod3 = (ConstructorDependenciesBean) xbf.getBean("rod3"); IndexedTestBean other = (IndexedTestBean) xbf.getBean("other"); // should have been autowired assertEquals(kerry, rod3.getSpouse1()); assertEquals(kerry, rod3.getSpouse2()); assertEquals(other, rod3.getOther()); ConstructorDependenciesBean rod3a = (ConstructorDependenciesBean) xbf.getBean("rod3a"); // should have been autowired assertEquals(kerry, rod3a.getSpouse1()); assertEquals(kerry, rod3a.getSpouse2()); assertEquals(other, rod3a.getOther()); try {// ww w . j a va 2 s .c o m xbf.getBean("rod4", ConstructorDependenciesBean.class); fail("Must have thrown a FatalBeanException"); } catch (FatalBeanException expected) { // expected } DependenciesBean rod5 = (DependenciesBean) xbf.getBean("rod5"); // Should not have been autowired assertNull(rod5.getSpouse()); BeanFactory appCtx = (BeanFactory) xbf.getBean("childAppCtx"); assertTrue(appCtx.containsBean("rod1")); assertTrue(appCtx.containsBean("jenny")); }
From source file:org.springframework.boot.autoconfigure.AutoConfigurationPackages.java
/** * Determine if the auto-configuration base packages for the given bean factory are * available./* w w w. jav a2 s. c o m*/ * @param beanFactory the source bean factory * @return true if there are auto-config packages available */ public static boolean has(BeanFactory beanFactory) { return beanFactory.containsBean(BEAN) && !get(beanFactory).isEmpty(); }
From source file:org.springframework.integration.handler.support.MessagingMethodInvokerHelper.java
private synchronized void initialize() throws Exception { if (!this.initialized) { BeanFactory beanFactory = getBeanFactory(); if (beanFactory != null && beanFactory .containsBean(IntegrationContextUtils.ARGUMENT_RESOLVER_MESSAGE_CONVERTER_BEAN_NAME)) { try { MessageConverter messageConverter = beanFactory.getBean( IntegrationContextUtils.ARGUMENT_RESOLVER_MESSAGE_CONVERTER_BEAN_NAME, MessageConverter.class); this.messageHandlerMethodFactory.setMessageConverter(messageConverter); HandlerMethodArgumentResolversHolder handlerMethodArgumentResolversHolder = beanFactory.getBean( this.canProcessMessageList ? IntegrationContextUtils.LIST_ARGUMENT_RESOLVERS_BEAN_NAME : IntegrationContextUtils.ARGUMENT_RESOLVERS_BEAN_NAME, HandlerMethodArgumentResolversHolder.class); this.messageHandlerMethodFactory .setCustomArgumentResolvers(handlerMethodArgumentResolversHolder.getResolvers()); } catch (NoSuchBeanDefinitionException e) { configureLocalMessageHandlerFactory(); }//from ww w . java 2s . c o m } else { configureLocalMessageHandlerFactory(); } this.messageHandlerMethodFactory.afterPropertiesSet(); prepareEvaluationContext(); this.initialized = true; } }