
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