List of usage examples for org.springframework.beans.factory.config ConstructorArgumentValues addGenericArgumentValue
public void addGenericArgumentValue(ValueHolder newValue)
From source file:hudson.util.spring.DefaultBeanConfiguration.java
protected AbstractBeanDefinition createBeanDefinition() { AbstractBeanDefinition bd;// w ww.j a v a 2s. c o m if (constructorArgs.size() > 0) { ConstructorArgumentValues cav = new ConstructorArgumentValues(); for (Object constructorArg : constructorArgs) { cav.addGenericArgumentValue(constructorArg); } if (StringUtils.isBlank(parentName)) { bd = new RootBeanDefinition(clazz, cav, null); } else { bd = new ChildBeanDefinition(parentName, clazz, cav, null); } bd.setSingleton(singleton); } else { if (StringUtils.isBlank(parentName)) { bd = new RootBeanDefinition(clazz, singleton); } else { bd = new ChildBeanDefinition(parentName, clazz, null, null); bd.setSingleton(singleton); } } wrapper = new BeanWrapperImpl(bd); return bd; }
From source file:hudson.util.spring.DefaultBeanConfiguration.java
public void setProperty(String property, Object newValue) { if (PARENT.equals(property)) { setParent(newValue);/*from w w w. ja v a 2 s . c o m*/ } else { AbstractBeanDefinition bd = getBeanDefinition(); if (AUTOWIRE.equals(property)) { if (BY_NAME.equals(newValue)) { bd.setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_BY_NAME); } else if (BY_TYPE.equals(newValue)) { bd.setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE); } else if (Boolean.TRUE.equals(newValue)) { bd.setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_BY_NAME); } else if (BY_CONSTRUCTOR.equals(newValue)) { bd.setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR); } } // constructorArgs else if (CONSTRUCTOR_ARGS.equals(property) && newValue instanceof List) { ConstructorArgumentValues cav = new ConstructorArgumentValues(); List args = (List) newValue; for (Object e : args) { cav.addGenericArgumentValue(e); } bd.setConstructorArgumentValues(cav); } // destroyMethod else if (DESTROY_METHOD.equals(property)) { if (newValue != null) bd.setDestroyMethodName(newValue.toString()); } // factoryBean else if (FACTORY_BEAN.equals(property)) { if (newValue != null) bd.setFactoryBeanName(newValue.toString()); } // factoryMethod else if (FACTORY_METHOD.equals(property)) { if (newValue != null) bd.setFactoryMethodName(newValue.toString()); } // initMethod else if (INIT_METHOD.equals(property)) { if (newValue != null) bd.setInitMethodName(newValue.toString()); } else if (wrapper.isWritableProperty(property)) { wrapper.setPropertyValue(property, newValue); } // autowire else { super.setProperty(property, newValue); } } }
From source file:org.atomserver.utils.test.TestingAtomServer.java
private Server createServer(int port, String atomserverServletContext) { // set up the server and the atomserver web application context Server server = new Server(port); Context context = new Context(server, "/" + atomserverServletContext, true /*sessions*/, false /*no security*/); // we need to hard-code certain system properties to get the behavior we want here - we // will re-set them when we're done Properties properties = (Properties) System.getProperties().clone(); System.setProperty("atomserver.env", "asdev-hsql-mem"); System.setProperty("atomserver.servlet.context", atomserverServletContext); // TODO: this should be removed System.setProperty("atomserver.servlet.mapping", "v1"); // our Spring application context will start off by loading the basic built-in bean // definitions appContext = new GenericWebApplicationContext(); XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(appContext); xmlReader.loadBeanDefinitions(new ClassPathResource("org/atomserver/spring/propertyConfigurerBeans.xml")); xmlReader.loadBeanDefinitions(new ClassPathResource("org/atomserver/spring/databaseBeans.xml")); xmlReader.loadBeanDefinitions(new ClassPathResource("org/atomserver/spring/logBeans.xml")); xmlReader.loadBeanDefinitions(new ClassPathResource("org/atomserver/spring/storageBeans.xml")); xmlReader.loadBeanDefinitions(new ClassPathResource("org/atomserver/spring/abderaBeans.xml")); // if we were given a Spring config location, we use that -- otherwise we configure the // workspaces that were set up through the API if (springBeansLocation != null) { xmlReader.loadBeanDefinitions(new ClassPathResource(springBeansLocation)); } else {/*from ww w.j av a 2 s .com*/ RootBeanDefinition workspaces = new RootBeanDefinition(HashSet.class); ConstructorArgumentValues constructorArgumentValues = new ConstructorArgumentValues(); constructorArgumentValues.addGenericArgumentValue(workspaceSet); workspaces.setConstructorArgumentValues(constructorArgumentValues); appContext.registerBeanDefinition("org.atomserver-workspaces", workspaces); } // override the base content storage to use DB-based storage RootBeanDefinition storage = new RootBeanDefinition(DBBasedContentStorage.class); MutablePropertyValues propertyValues = new MutablePropertyValues(); propertyValues.addPropertyValue("contentDAO", new RuntimeBeanReference("org.atomserver-contentDAO")); propertyValues.addPropertyValue("entriesDAO", new RuntimeBeanReference("org.atomserver-entriesDAO")); storage.setPropertyValues(propertyValues); appContext.registerBeanDefinition("org.atomserver-contentStorage", storage); // clear the existing ENV ConfigurationAwareClassLoader.invalidateENV(); // refresh the context to actually instantiate everything. appContext.refresh(); // re-set the system properties System.setProperties(properties); // clear the update ENV ConfigurationAwareClassLoader.invalidateENV(); // put our app context into the servlet context context.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, appContext); // load and init the service context for v1 final ServiceContext serviceContext = (ServiceContext) appContext.getBean(ServiceContext.class.getName()); serviceContext.init(new Abdera(), Collections.EMPTY_MAP); // create a new AtomServerServlet - but override the createServiceContext method AtomServerServlet servlet = new AtomServerServlet() { protected ServiceContext createServiceContext() { return serviceContext; } }; // load and init the service context for v2 final ServiceContext serviceContextV2 = (ServiceContext) appContext .getBean("org.atomserver-serviceContext.v2"); serviceContextV2.init(new Abdera(), Collections.EMPTY_MAP); // create a new AtomServerServlet - but override the createServiceContext method AtomServerServlet servletV2 = new AtomServerServlet() { protected ServiceContext createServiceContext() { return serviceContextV2; } }; // register the servlets context.addServlet(new ServletHolder(servlet), "/v1/*"); context.addServlet(new ServletHolder(servletV2), "/v2/*"); EntriesDAOiBatisImpl entriesDAO = (EntriesDAOiBatisImpl) appContext.getBean("org.atomserver-entriesDAO"); entriesDAO.setUseWorkspaceCollectionCache(false); // ready to be started return server; }
From source file:org.solmix.runtime.support.spring.ContainerPostProcessor.java
private void insertConstructorArg(ConstructorArgumentValues constructorArgs, Object valueToInsert) { List<ValueHolder> genericArgs = new ArrayList<ValueHolder>((constructorArgs.getGenericArgumentValues())); Map<Integer, ValueHolder> indexedArgs = new HashMap<Integer, ValueHolder>( constructorArgs.getIndexedArgumentValues()); constructorArgs.clear();/*from w w w .ja v a2s . co m*/ for (ValueHolder genericValue : genericArgs) { constructorArgs.addGenericArgumentValue(genericValue); } for (Map.Entry<Integer, ValueHolder> entry : indexedArgs.entrySet()) { constructorArgs.addIndexedArgumentValue(entry.getKey() + 1, entry.getValue()); } constructorArgs.addIndexedArgumentValue(0, valueToInsert); }
From source file:net.firejack.platform.model.config.hibernate.HibernateFactoryBean.java
private void buildHibernateTransactionManager() { for (Map.Entry<String, Database> entry : databases.entrySet()) { String name = entry.getKey(); Database database = entry.getValue(); BasicDataSource dataSource = null; try {//from w w w . j av a 2s . co m dataSource = context.getBean(name + HIBERNATE_DATA_SOURCE_SUFFIX, BasicDataSource.class); } catch (BeansException e) { logger.info("Manual Hibernate DataSource: " + name + HIBERNATE_DATA_SOURCE_SUFFIX + " not found use default"); } if (dataSource == null) { dataSource = defaultHibernate.getBean(HIBERNATE_DEFAULT_PREFIX + HIBERNATE_DATA_SOURCE_SUFFIX, BasicDataSource.class); dataSource.setDriverClassName(database.type.getDriver()); dataSource.setUrl(database.getUrl()); dataSource.setUsername(database.getUsername()); dataSource.setPassword(database.getPassword()); dataSource.setValidationQuery(database.getType().getValidate()); context.getBeanFactory().registerSingleton(name + HIBERNATE_DATA_SOURCE_SUFFIX, dataSource); } Properties properties = null; try { properties = context.getBean(name + HIBERNATE_PROPERTIES_SUFFIX, Properties.class); } catch (BeansException e) { logger.info("Manual Hibernate properties: " + name + HIBERNATE_PROPERTIES_SUFFIX + " not found use default"); } if (properties == null) { properties = defaultHibernate.getBean(HIBERNATE_DEFAULT_PREFIX + HIBERNATE_PROPERTIES_SUFFIX, Properties.class); properties.put(Environment.DIALECT, database.getType().getDialect()); context.getBeanFactory().registerSingleton(name + HIBERNATE_PROPERTIES_SUFFIX, properties); } SessionFactory sessionFactory = null; try { sessionFactory = context.getBean(name + HIBERNATE_SESSION_FACTORY_SUFFIX, SessionFactory.class); } catch (BeansException e) { logger.info("Manual Hibernate Session Factory: " + name + HIBERNATE_SESSION_FACTORY_SUFFIX + " not found use default"); } if (sessionFactory == null) { try { AnnotationSessionFactoryBean annotationSessionFactoryBean = new AnnotationSessionFactoryBean(); annotationSessionFactoryBean.setAnnotatedClasses(new Class[] { BaseEntityModel.class }); annotationSessionFactoryBean.setDataSource(dataSource); annotationSessionFactoryBean.setHibernateProperties(properties); annotationSessionFactoryBean.setPackagesToScan(database.getScanPackages()); annotationSessionFactoryBean.setNamingStrategy(new OpenFlameNamingStrategy(database.getType())); if (database.getType() == DatabaseName.MySQL || database.getType() == DatabaseName.MSSQL) { annotationSessionFactoryBean.setLobHandler(new DefaultLobHandler()); } else if (database.getType() == DatabaseName.Oracle) { annotationSessionFactoryBean.setLobHandler(new OracleLobHandler()); } disposableBeans.add(annotationSessionFactoryBean); annotationSessionFactoryBean.afterPropertiesSet(); sessionFactory = annotationSessionFactoryBean.getObject(); } catch (Exception e) { logger.error(e, e); } } HibernateTemplate template = new HibernateTemplate(); template.setSessionFactory(sessionFactory); context.getBeanFactory().registerSingleton(name + HIBERNATE_TEMPLATE_PREFIX, template); database.setHibernateSupport(template); logger.info("Initialize Hibernate support for stories: " + database); String beanName = name + HIBERNATE_TRANSACTION_MANAGER_SUFFIX; ConstructorArgumentValues values = new ConstructorArgumentValues(); values.addGenericArgumentValue(sessionFactory); RootBeanDefinition definition = new RootBeanDefinition(HibernateTransactionManager.class); definition.setConstructorArgumentValues(values); registers.put(beanName, definition); Collection<HibernateSupport> stores = database.getStores(); for (HibernateSupport store : stores) { targets.put(((Advised) store).getTargetClass(), beanName); } } }
From source file:net.firejack.platform.model.config.hibernate.HibernateFactoryBean.java
private void buildXAHibernateTransactionManager() { if (xaDatabases.size() == 0) return;//from w ww .j a v a2 s.co m String beanName = XA + HIBERNATE_TRANSACTION_MANAGER_SUFFIX; for (Map.Entry<String, Database> entry : xaDatabases.entrySet()) { String name = entry.getKey(); Database database = entry.getValue(); AtomikosDataSourceBean dataSource = null; try { dataSource = context.getBean(name + HIBERNATE_DATA_SOURCE_SUFFIX, AtomikosDataSourceBean.class); } catch (BeansException e) { logger.info("Manual XA Hibernate DataSource: " + name + HIBERNATE_DATA_SOURCE_SUFFIX + " not found use default"); } if (dataSource == null) { try { dataSource = defaultHibernate.getBean( HIBERNATE_DEFAULT_PREFIX + XA + HIBERNATE_DATA_SOURCE_SUFFIX, AtomikosDataSourceBean.class); dataSource.setUniqueResourceName(name); dataSource.setXaDataSourceClassName(database.getType().getXads()); dataSource.setTestQuery(database.getType().getValidate()); Properties xaProperties = new Properties(); xaProperties.put("URL", database.getUrl()); xaProperties.put("user", database.getUsername()); xaProperties.put("password", database.getPassword()); if (database.getType() == DatabaseName.MySQL) { xaProperties.put("pinGlobalTxToPhysicalConnection", true); } dataSource.setXaProperties(xaProperties); dataSource.init(); context.getBeanFactory().registerSingleton(name + HIBERNATE_DATA_SOURCE_SUFFIX, dataSource); } catch (AtomikosSQLException e) { logger.error(e, e); } } Properties properties = null; try { properties = context.getBean(name + HIBERNATE_PROPERTIES_SUFFIX, Properties.class); } catch (BeansException e) { logger.info("Manual XA Hibernate properties: " + name + HIBERNATE_PROPERTIES_SUFFIX + " not found use default"); } if (properties == null) { properties = defaultHibernate.getBean(HIBERNATE_DEFAULT_PREFIX + HIBERNATE_PROPERTIES_SUFFIX, Properties.class); properties.put(Environment.DIALECT, database.getType().getDialect()); properties.put(Environment.TRANSACTION_STRATEGY, TRANSACTION_STRATEGY); properties.put(Environment.TRANSACTION_MANAGER_STRATEGY, TRANSACTION_MANAGER_STRATEGY); context.getBeanFactory().registerSingleton(name + HIBERNATE_PROPERTIES_SUFFIX, properties); } SessionFactory sessionFactory = null; try { sessionFactory = context.getBean(name + HIBERNATE_SESSION_FACTORY_SUFFIX, SessionFactory.class); } catch (BeansException e) { logger.info("Manual XA Hibernate Session Factory: " + name + HIBERNATE_SESSION_FACTORY_SUFFIX + " not found use default"); } if (sessionFactory == null) { try { AnnotationSessionFactoryBean annotationSessionFactoryBean = new AnnotationSessionFactoryBean(); annotationSessionFactoryBean.setAnnotatedClasses(new Class[] { BaseEntityModel.class }); annotationSessionFactoryBean.setDataSource(dataSource); annotationSessionFactoryBean.setHibernateProperties(properties); annotationSessionFactoryBean.setPackagesToScan(database.getScanPackages()); annotationSessionFactoryBean.setNamingStrategy(new OpenFlameNamingStrategy(database.getType())); if (database.getType() == DatabaseName.MySQL || database.getType() == DatabaseName.MSSQL) { annotationSessionFactoryBean.setLobHandler(new DefaultLobHandler()); } else if (database.getType() == DatabaseName.Oracle) { annotationSessionFactoryBean.setLobHandler(new OracleLobHandler()); } disposableBeans.add(annotationSessionFactoryBean); annotationSessionFactoryBean.afterPropertiesSet(); sessionFactory = annotationSessionFactoryBean.getObject(); } catch (Exception e) { logger.error(e, e); } Collection<HibernateSupport> stores = database.getStores(); for (HibernateSupport store : stores) { targets.put(((Advised) store).getTargetClass(), beanName); } } HibernateTemplate template = new HibernateTemplate(); template.setSessionFactory(sessionFactory); context.getBeanFactory().registerSingleton(HIBERNATE_TEMPLATE_PREFIX + name, template); database.setHibernateSupport(template); logger.info("Initialize Hibernate :" + HIBERNATE_TEMPLATE_PREFIX + name + " for stories:" + database); } ConstructorArgumentValues values = new ConstructorArgumentValues(); values.addGenericArgumentValue(new UserTransactionImp()); values.addGenericArgumentValue(new UserTransactionManager()); RootBeanDefinition definition = new RootBeanDefinition(JtaTransactionManager.class); definition.setConstructorArgumentValues(values); registers.put(beanName, definition); }
From source file:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java
private BeanDefinition createMetadataGeneratorFilter() { BeanDefinitionBuilder generator = createBean(CloudSealMetadataGenerator.class); /*/* w w w .j a v a 2 s. co m*/ * When first request is performed, metadata generator will generate * service provider metadata which will contain supported bindings. By * default it will add all bindings to metadata and select a first one * to put into request unless there is assertionConsumerIndex set * pointing at the preferred binding method. CloudSeal IDP supports POST * binding and it is NOT the one metadata generator will select by default. * So we pass the assertionConsumerIndex parameter, but it will break if the * order of bindings will change in future versions. */ generator.addPropertyValue("assertionConsumerIndex", 1); generator.addPropertyValue("includeDiscovery", false); BeanDefinition generatorBean = generator.getBeanDefinition(); registerBean(generatorBean); ConstructorArgumentValues constructorArgs = new ConstructorArgumentValues(); constructorArgs.addGenericArgumentValue(generatorBean); BeanDefinition bean = getExistingOrCreateBean(getAttribute(ROOT_METADATA_GENERATOR_FILTER_REF_ATTRIBUTE), MetadataGeneratorFilter.class); bean.getConstructorArgumentValues().addArgumentValues(constructorArgs); return bean; }
From source file:com.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java
/** * Register {@link CacheService} definition. * DefaultCacheServiceProxy delegates the DefaultCacheService on behalf of the cache hit-rate statistics. *///from ww w . j a v a 2 s. com protected GenericBeanDefinition initCacheServiceDefinition(Element element, BeanDefinitionRegistry beanDefinitionRegistry) { GenericBeanDefinition cacheDefinition = new GenericBeanDefinition(); cacheDefinition.setBeanClass(DefaultCacheService.class); cacheDefinition.setAutowireCandidate(false); //JDK proxy not available, as the objects are managed by the Spring IOC /* DefaultCacheService cacheServiceProxy = (DefaultCacheService)Proxy.newProxyInstance(DefaultCacheService.class.getClassLoader(),new Class<?>[]{DefaultCacheService.class}, new CacheServiceInvokerHandler()); definition.setBeanClass(cacheServiceProxy.getClass());*/ cacheServiceId = element.getAttribute(CACHE_SERVICE_ID_ATTR); if (!StringUtils.hasText(cacheServiceId)) { cacheServiceId = DEFAULT_CACHE_SERVICE_ID; } // Add reference to CacheFactory ConstructorArgumentValues constructorArgumentValues = cacheDefinition.getConstructorArgumentValues(); String cacheClientFactoryId = element.getAttribute(CACHE_CLIENT_FACTORY_ID_ATTR); cacheItemConfigManager = element.getAttribute(CACHE_ITEM_MANAGER_ID_ATTR); if (!StringUtils.hasText(cacheClientFactoryId) || !StringUtils.hasText(cacheItemConfigManager)) { registerCacheRelatedWebService(beanDefinitionRegistry); } if (!StringUtils.hasText(cacheClientFactoryId)) { cacheClientFactoryId = DEFAULT_CACHE_CLIENT_FACTORY_ID; // Register default cache client factory registerDefaultCacheClientFactory(beanDefinitionRegistry); } constructorArgumentValues.addGenericArgumentValue(new RuntimeBeanReference(cacheClientFactoryId)); constructorArgumentValues .addGenericArgumentValue(new RuntimeBeanReference(ONEWAY_CACHE_MANAGE_WEB_SERVICE_ID)); if (!StringUtils.hasText(cacheItemConfigManager)) { cacheItemConfigManager = DEFAULT_ITEM_CONFIG_MANAGER_ID; // Register default cache item config manager registerDefaultCacheItemConfigManager(beanDefinitionRegistry); } constructorArgumentValues.addGenericArgumentValue(new RuntimeBeanReference(cacheItemConfigManager)); return cacheDefinition; /* BeanDefinitionHolder holder = new BeanDefinitionHolder(cacheDefinition, this.cacheServiceId); BeanDefinitionReaderUtils.registerBeanDefinition(holder, beanDefinitionRegistry);*/ }
From source file:ome.client.utests.Preferences3Test.java
@Test public void test_makeOurOwnDefault() throws Exception { // Others:// ww w.j a v a2s . c om // new ManagedMap(); // BeanWrapper bw = new BeanWrapperImpl( defaultMap ); Map defaultMap = new HashMap(); defaultMap.put("omero.user", "foo"); ConstructorArgumentValues cav = new ConstructorArgumentValues(); cav.addGenericArgumentValue(defaultMap); BeanDefinition def = new RootBeanDefinition(HashMap.class, cav, null); StaticApplicationContext ac = new StaticApplicationContext(); ac.registerBeanDefinition("map", def); ac.refresh(); ConstructorArgumentValues testCav = new ConstructorArgumentValues(); testCav.addGenericArgumentValue(new RuntimeBeanReference("map")); BeanDefinition testDef = new RootBeanDefinition(HashMap.class, testCav, null); StaticApplicationContext defaultTest = new StaticApplicationContext(ac); defaultTest.registerBeanDefinition("test", testDef); defaultTest.refresh(); assertTrue("foo".equals(((Map) defaultTest.getBean("test")).get("omero.user"))); }
From source file:ome.client.utests.Preferences3Test.java
@Test public void test_makeOurOwnRuntime() throws Exception { // use properties // if no Properties given, then is static (global) Map runtimeMap = new HashMap(); runtimeMap.put("omero.user", "bar"); ConstructorArgumentValues cav2 = new ConstructorArgumentValues(); cav2.addGenericArgumentValue(runtimeMap); BeanDefinition def2 = new RootBeanDefinition(HashMap.class, cav2, null); StaticApplicationContext ac2 = new StaticApplicationContext(); ac2.registerBeanDefinition("map", def2); ac2.refresh();// w w w .j a va 2 s . c o m ConstructorArgumentValues testCav2 = new ConstructorArgumentValues(); testCav2.addGenericArgumentValue(new RuntimeBeanReference("map")); BeanDefinition testDef2 = new RootBeanDefinition(HashMap.class, testCav2, null); StaticApplicationContext defaultTest2 = new StaticApplicationContext(ac2); defaultTest2.registerBeanDefinition("test", testDef2); defaultTest2.refresh(); assertTrue("bar".equals(((Map) defaultTest2.getBean("test")).get("omero.user"))); }