All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ojbc.util.osgi.SubstitutableObjectFactoryBean Maven / Gradle / Ivy

The newest version!
/*
 * Unless explicitly acquired and licensed from Licensor under another license, the contents of
 * this file are subject to the Reciprocal Public License ("RPL") Version 1.5, or subsequent
 * versions as allowed by the RPL, and You may not copy or use this file in either source code
 * or executable form, except in compliance with the terms and conditions of the RPL
 *
 * All software distributed under the RPL is provided strictly on an "AS IS" basis, WITHOUT
 * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND LICENSOR HEREBY DISCLAIMS ALL SUCH
 * WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
 * PARTICULAR PURPOSE, QUIET ENJOYMENT, OR NON-INFRINGEMENT. See the RPL for specific language
 * governing rights and limitations under the RPL.
 *
 * http://opensource.org/licenses/RPL-1.5
 *
 * Copyright 2012-2015 Open Justice Broker Consortium
 */
package org.ojbc.util.osgi;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * A Spring Factory Bean that uses an OjbcContext to look up a "substitute" bean in the OSGi service.  If it finds one, it returns it; if it doesn't, it returns
 * the specified default.
 *
 * This needs to be moved into the main OJBC codebase.
 *
 */
public class SubstitutableObjectFactoryBean {
	
	private static final Log LOGGER = LogFactory.getLog(SubstitutableObjectFactoryBean.class);
	
	public static Object getObject(String beanName, OjbcContext ojbcContext, Object defaultObject) {
		Object ret = ojbcContext.getExposedBeans().get(beanName);
		if (ret != null) {
			LOGGER.info("Substituting for object " + beanName);
		}
		return ret == null ? defaultObject : ret;
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy