From: Ales J. <ale...@ge...> - 2006-07-09 13:18:55
|
User: alesj Date: 06/07/09 09:18:48 Modified: src/main/org/jboss/spring/factory AbstractBeanFactoryLoader.java ApplicationContextLoaderImpl.java BeanFactoryLoader.java BeanFactoryLoaderImpl.java Instantiable.java Nameable.java NamedXmlApplicationContext.java NamedXmlBeanDefinitionParser.java NamedXmlBeanDefinitionReader.java NamedXmlBeanFactory.java Log: Reformat code + Spring-MC fix. Revision Changes Path 1.3 +61 -31 jboss-spring/src/main/org/jboss/spring/factory/AbstractBeanFactoryLoader.java (In the diff below, changes in quantity of whitespace are not shown.) Index: AbstractBeanFactoryLoader.java =================================================================== RCS file: /cvsroot/jboss/jboss-spring/src/main/org/jboss/spring/factory/AbstractBeanFactoryLoader.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -b -r1.2 -r1.3 --- AbstractBeanFactoryLoader.java 4 Nov 2005 19:47:34 -0000 1.2 +++ AbstractBeanFactoryLoader.java 9 Jul 2006 13:18:48 -0000 1.3 @@ -43,50 +43,60 @@ /** * @author <a href="mailto:ale...@ge...">Ales Justin</a> */ -public abstract class AbstractBeanFactoryLoader implements BeanFactoryLoader { +public abstract class AbstractBeanFactoryLoader implements BeanFactoryLoader +{ private final Logger log = Logger.getLogger(getClass()); protected Map beanFactoryNamesMap = new TreeMap(); - private URL getDocUrl(DeploymentInfo di) throws DeploymentException { + private URL getDocUrl(DeploymentInfo di) throws DeploymentException + { URL docURL = di.localUrl; - if (!di.isXML) { + if (!di.isXML) + { URLClassLoader localCL = di.localCl; docURL = localCL.findResource("META-INF/jboss-spring.xml"); } // Validate that the descriptor was found - if (docURL == null) { + if (docURL == null) + { throw new DeploymentException("Failed to find META-INF/jboss-spring.xml"); } return docURL; } - private String getDefaultName(DeploymentInfo di) { + private String getDefaultName(DeploymentInfo di) + { String shortName = di.shortName; int p = shortName.indexOf(".spring"); - if (p > 0) { + if (p > 0) + { return shortName.substring(0, p); } p = shortName.indexOf("-spring.xml"); - if (p > 0) { + if (p > 0) + { return shortName.substring(0, p); } return null; } - public void create(DeploymentInfo di) throws DeploymentException { + public void create(DeploymentInfo di) throws DeploymentException + { URL docURL = getDocUrl(di); String defaultName = getDefaultName(di); BeanFactory beanFactory = null; ClassLoader cl = Thread.currentThread().getContextClassLoader(); - try { + try + { Thread.currentThread().setContextClassLoader(di.ucl); beanFactory = createBeanFactory(defaultName, new UrlResource(docURL)); - } finally { + } finally + { Thread.currentThread().setContextClassLoader(cl); } - String name = ((Nameable)beanFactory).getName(); + String name = ((Nameable) beanFactory).getName(); bind(beanFactory, name); log.info("Bean factory [" + name + "] binded to local JNDI."); beanFactoryNamesMap.put(docURL.toString(), name); @@ -94,65 +104,85 @@ protected abstract BeanFactory createBeanFactory(String defaultName, Resource resource); - public void start(DeploymentInfo di) throws DeploymentException { + public void start(DeploymentInfo di) throws DeploymentException + { } - public void stop(DeploymentInfo di) throws DeploymentException { - try { + public void stop(DeploymentInfo di) throws DeploymentException + { + try + { URL docURL = getDocUrl(di); String name = (String) beanFactoryNamesMap.remove(docURL.toString()); BeanFactory beanFactory = lookup(name); doClose(beanFactory); unbind(name); log.info("Bean factory [" + name + "] unbinded from local JNDI."); - } catch (Exception e) { + } catch (Exception e) + { throw new DeploymentException(e); } } protected abstract void doClose(BeanFactory beanFactory); - public void destroy(DeploymentInfo di) throws DeploymentException { + public void destroy(DeploymentInfo di) throws DeploymentException + { } // JNDI stuff - public static void bind(BeanFactory beanFactory, String name) throws BeansException { + public static void bind(BeanFactory beanFactory, String name) throws BeansException + { InitialContext ctx = null; - try { + try + { ctx = new InitialContext(); NonSerializableFactory.rebind(ctx, name, beanFactory); - } catch (NamingException e) { + } catch (NamingException e) + { throw new FatalBeanException("Unable to bind BeanFactory into JNDI", e); - } finally { - if (ctx != null) { - try { + } finally + { + if (ctx != null) + { + try + { ctx.close(); - } catch (Throwable ignored) { + } catch (Throwable ignored) + { } } } } - public static void unbind(String name) throws BeansException { + public static void unbind(String name) throws BeansException + { InitialContext ctx = null; - try { + try + { ctx = new InitialContext(); ctx.unbind(name); NonSerializableFactory.unbind(name); - } catch (NamingException e) { + } catch (NamingException e) + { throw new FatalBeanException("Unable to unbind BeanFactory from JNDI", e); - } finally { - if (ctx != null) { - try { + } finally + { + if (ctx != null) + { + try + { ctx.close(); - } catch (Throwable ignored) { + } catch (Throwable ignored) + { } } } } - public BeanFactory lookup(String name) throws Exception { + public BeanFactory lookup(String name) throws Exception + { BeanFactory beanFactory = (BeanFactory) Util.lookup(name, getExactBeanFactoryClass()); log.debug("Found Spring bean factory [" + name + "]: " + beanFactory); return beanFactory; 1.3 +9 -5 jboss-spring/src/main/org/jboss/spring/factory/ApplicationContextLoaderImpl.java (In the diff below, changes in quantity of whitespace are not shown.) Index: ApplicationContextLoaderImpl.java =================================================================== RCS file: /cvsroot/jboss/jboss-spring/src/main/org/jboss/spring/factory/ApplicationContextLoaderImpl.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -b -r1.2 -r1.3 --- ApplicationContextLoaderImpl.java 4 Nov 2005 19:47:34 -0000 1.2 +++ ApplicationContextLoaderImpl.java 9 Jul 2006 13:18:48 -0000 1.3 @@ -30,17 +30,21 @@ /** * @author <a href="mailto:ale...@ge...">Ales Justin</a> */ -public class ApplicationContextLoaderImpl extends AbstractBeanFactoryLoader { +public class ApplicationContextLoaderImpl extends AbstractBeanFactoryLoader +{ - protected BeanFactory createBeanFactory(String defaultName, Resource resource) { + protected BeanFactory createBeanFactory(String defaultName, Resource resource) + { return new NamedXmlApplicationContext(defaultName, resource); } - protected void doClose(BeanFactory beanFactory) { - ((ConfigurableApplicationContext)beanFactory).close(); + protected void doClose(BeanFactory beanFactory) + { + ((ConfigurableApplicationContext) beanFactory).close(); } - protected Class getExactBeanFactoryClass() { + protected Class getExactBeanFactoryClass() + { return ApplicationContext.class; } 1.3 +3 -2 jboss-spring/src/main/org/jboss/spring/factory/BeanFactoryLoader.java (In the diff below, changes in quantity of whitespace are not shown.) Index: BeanFactoryLoader.java =================================================================== RCS file: /cvsroot/jboss/jboss-spring/src/main/org/jboss/spring/factory/BeanFactoryLoader.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -b -r1.2 -r1.3 --- BeanFactoryLoader.java 29 Oct 2005 23:58:11 -0000 1.2 +++ BeanFactoryLoader.java 9 Jul 2006 13:18:48 -0000 1.3 @@ -22,13 +22,14 @@ package org.jboss.spring.factory; -import org.jboss.deployment.DeploymentInfo; import org.jboss.deployment.DeploymentException; +import org.jboss.deployment.DeploymentInfo; /** * @author <a href="mailto:ale...@ge...">Ales Justin</a> */ -public interface BeanFactoryLoader { +public interface BeanFactoryLoader +{ void create(DeploymentInfo di) throws DeploymentException; 1.5 +9 -5 jboss-spring/src/main/org/jboss/spring/factory/BeanFactoryLoaderImpl.java (In the diff below, changes in quantity of whitespace are not shown.) Index: BeanFactoryLoaderImpl.java =================================================================== RCS file: /cvsroot/jboss/jboss-spring/src/main/org/jboss/spring/factory/BeanFactoryLoaderImpl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -b -r1.4 -r1.5 --- BeanFactoryLoaderImpl.java 4 Nov 2005 15:41:45 -0000 1.4 +++ BeanFactoryLoaderImpl.java 9 Jul 2006 13:18:48 -0000 1.5 @@ -29,17 +29,21 @@ /** * @author <a href="mailto:ale...@ge...">Ales Justin</a> */ -public class BeanFactoryLoaderImpl extends AbstractBeanFactoryLoader { +public class BeanFactoryLoaderImpl extends AbstractBeanFactoryLoader +{ - protected BeanFactory createBeanFactory(String defaultName, Resource resource) { + protected BeanFactory createBeanFactory(String defaultName, Resource resource) + { return new NamedXmlBeanFactory(defaultName, resource); } - protected void doClose(BeanFactory beanFactory) { - ((ConfigurableBeanFactory)beanFactory).destroySingletons(); + protected void doClose(BeanFactory beanFactory) + { + ((ConfigurableBeanFactory) beanFactory).destroySingletons(); } - protected Class getExactBeanFactoryClass() { + protected Class getExactBeanFactoryClass() + { return BeanFactory.class; } 1.3 +2 -1 jboss-spring/src/main/org/jboss/spring/factory/Instantiable.java (In the diff below, changes in quantity of whitespace are not shown.) Index: Instantiable.java =================================================================== RCS file: /cvsroot/jboss/jboss-spring/src/main/org/jboss/spring/factory/Instantiable.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -b -r1.2 -r1.3 --- Instantiable.java 29 Oct 2005 23:58:11 -0000 1.2 +++ Instantiable.java 9 Jul 2006 13:18:48 -0000 1.3 @@ -25,7 +25,8 @@ /** * @author <a href="mailto:ale...@ge...">Ales Justin</a> */ -public interface Instantiable { +public interface Instantiable +{ boolean doInstantiate(); 1.3 +2 -1 jboss-spring/src/main/org/jboss/spring/factory/Nameable.java (In the diff below, changes in quantity of whitespace are not shown.) Index: Nameable.java =================================================================== RCS file: /cvsroot/jboss/jboss-spring/src/main/org/jboss/spring/factory/Nameable.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -b -r1.2 -r1.3 --- Nameable.java 29 Oct 2005 23:58:11 -0000 1.2 +++ Nameable.java 9 Jul 2006 13:18:48 -0000 1.3 @@ -25,7 +25,8 @@ /** * @author <a href="mailto:ale...@ge...">Ales Justin</a> */ -public interface Nameable { +public interface Nameable +{ String getName(); 1.4 +16 -8 jboss-spring/src/main/org/jboss/spring/factory/NamedXmlApplicationContext.java (In the diff below, changes in quantity of whitespace are not shown.) Index: NamedXmlApplicationContext.java =================================================================== RCS file: /cvsroot/jboss/jboss-spring/src/main/org/jboss/spring/factory/NamedXmlApplicationContext.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -b -r1.3 -r1.4 --- NamedXmlApplicationContext.java 18 Apr 2006 12:14:37 -0000 1.3 +++ NamedXmlApplicationContext.java 9 Jul 2006 13:18:48 -0000 1.4 @@ -35,7 +35,8 @@ * @author <a href="mailto:ale...@ge...">Ales Justin</a> */ public class NamedXmlApplicationContext extends ClassPathXmlApplicationContext - implements Nameable { + implements Nameable +{ private String defaultName; private Resource resource; @@ -44,11 +45,13 @@ /** * @see org.springframework.beans.factory.xml.XmlBeanFactory */ - public NamedXmlApplicationContext(String defaultName, Resource resource) throws BeansException { + public NamedXmlApplicationContext(String defaultName, Resource resource) throws BeansException + { this(defaultName, resource, true); } - public NamedXmlApplicationContext(String defaultName, Resource resource, boolean refresh) throws BeansException { + public NamedXmlApplicationContext(String defaultName, Resource resource, boolean refresh) throws BeansException + { //loading config from Resource super(new String[]{}, false); this.defaultName = defaultName; @@ -59,14 +62,16 @@ } } - protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws IOException { + protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws IOException + { // Create a new XmlBeanDefinitionReader for the given BeanFactory. beanDefinitionReader = new NamedXmlBeanDefinitionReader(beanFactory); // Configure the bean definition reader with this context's // resource loading environment. beanDefinitionReader.setResourceLoader(this); - if (getClassLoader() != null) { + if (getClassLoader() != null) + { beanDefinitionReader.setBeanClassLoader(getClassLoader()); } beanDefinitionReader.setEntityResolver(new ResourceEntityResolver(this)); @@ -77,13 +82,16 @@ loadBeanDefinitions(beanDefinitionReader); } - protected void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws BeansException, IOException { + protected void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws BeansException, IOException + { reader.loadBeanDefinitions(resource); } - public String getName() { + public String getName() + { String name = beanDefinitionReader.getName() != null ? beanDefinitionReader.getName() : defaultName; - if (name == null) { + if (name == null) + { throw new IllegalArgumentException("Bean factory JNDI name must be set!"); } return name; 1.8 +29 -15 jboss-spring/src/main/org/jboss/spring/factory/NamedXmlBeanDefinitionParser.java (In the diff below, changes in quantity of whitespace are not shown.) Index: NamedXmlBeanDefinitionParser.java =================================================================== RCS file: /cvsroot/jboss/jboss-spring/src/main/org/jboss/spring/factory/NamedXmlBeanDefinitionParser.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -b -r1.7 -r1.8 --- NamedXmlBeanDefinitionParser.java 19 Apr 2006 09:08:31 -0000 1.7 +++ NamedXmlBeanDefinitionParser.java 9 Jul 2006 13:18:48 -0000 1.8 @@ -39,7 +39,8 @@ * @author <a href="mailto:ale...@ge...">Ales Justin</a> */ public class NamedXmlBeanDefinitionParser extends DefaultXmlBeanDefinitionParser - implements Nameable, Instantiable { + implements Nameable, Instantiable +{ private static final Logger log = Logger.getLogger(NamedXmlBeanDefinitionParser.class); private static final String DESCRIPTION_ELEMENT = "description"; @@ -51,34 +52,44 @@ private String beanFactoryName; private boolean instantiate; - public NamedXmlBeanDefinitionParser(ConfigurableBeanFactory beanFactory) { + public NamedXmlBeanDefinitionParser(ConfigurableBeanFactory beanFactory) + { this.beanFactory = beanFactory; } - protected void preProcessXml(Element root) throws BeanDefinitionStoreException { + protected void preProcessXml(Element root) throws BeanDefinitionStoreException + { NodeList nl = root.getChildNodes(); - for (int i = 0; i < nl.getLength(); i++) { + for (int i = 0; i < nl.getLength(); i++) + { Node node = nl.item(i); - if (node instanceof Element) { + if (node instanceof Element) + { Element ele = (Element) node; - if (DESCRIPTION_ELEMENT.equals(node.getNodeName())) { + if (DESCRIPTION_ELEMENT.equals(node.getNodeName())) + { String nodeValue = ele.getFirstChild().getNodeValue(); log.info("Bean names [description tag]: " + nodeValue); Matcher bfm = parse(nodeValue, BEAN_FACTORY_ELEMENT); - if (bfm.find()) { + if (bfm.find()) + { beanFactoryName = bfm.group(1); } Matcher pbfm = parse(nodeValue, PARENT_BEAN_FACTORY_ELEMENT); - if (pbfm.find()) { + if (pbfm.find()) + { String parentBeanFactoryName = pbfm.group(1); - try { - beanFactory.setParentBeanFactory((BeanFactory)Util.lookup(parentBeanFactoryName, BeanFactory.class)); - } catch (Exception e) { + try + { + beanFactory.setParentBeanFactory((BeanFactory) Util.lookup(parentBeanFactoryName, BeanFactory.class)); + } catch (Exception e) + { throw new BeanDefinitionStoreException("Failure during parent bean factory JNDI lookup: " + parentBeanFactoryName, e); } } Matcher inst = parse(nodeValue, INSTANTIATION_ELEMENT); - if (inst.find()) { + if (inst.find()) + { instantiate = Boolean.parseBoolean(inst.group(1)); } } @@ -86,15 +97,18 @@ } } - public String getName() { + public String getName() + { return beanFactoryName; } - public boolean doInstantiate() { + public boolean doInstantiate() + { return instantiate; } - private static Matcher parse(String value, String regexp) { + private static Matcher parse(String value, String regexp) + { Pattern pattern = Pattern.compile(regexp); return pattern.matcher(value); } 1.6 +15 -9 jboss-spring/src/main/org/jboss/spring/factory/NamedXmlBeanDefinitionReader.java (In the diff below, changes in quantity of whitespace are not shown.) Index: NamedXmlBeanDefinitionReader.java =================================================================== RCS file: /cvsroot/jboss/jboss-spring/src/main/org/jboss/spring/factory/NamedXmlBeanDefinitionReader.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -b -r1.5 -r1.6 --- NamedXmlBeanDefinitionReader.java 19 Apr 2006 09:09:14 -0000 1.5 +++ NamedXmlBeanDefinitionReader.java 9 Jul 2006 13:18:48 -0000 1.6 @@ -22,10 +22,10 @@ package org.jboss.spring.factory; -import org.springframework.beans.factory.xml.XmlBeanDefinitionReader; -import org.springframework.beans.factory.support.BeanDefinitionRegistry; -import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.beans.factory.support.BeanDefinitionRegistry; +import org.springframework.beans.factory.xml.XmlBeanDefinitionReader; import org.springframework.core.io.Resource; import org.w3c.dom.Document; @@ -33,29 +33,35 @@ * @author <a href="mailto:ale...@ge...">Ales Justin</a> */ public class NamedXmlBeanDefinitionReader extends XmlBeanDefinitionReader - implements Nameable, Instantiable { + implements Nameable, Instantiable +{ private NamedXmlBeanDefinitionParser parser; - public NamedXmlBeanDefinitionReader(BeanDefinitionRegistry beanFactory) { + public NamedXmlBeanDefinitionReader(BeanDefinitionRegistry beanFactory) + { super(beanFactory); - if (!(beanFactory instanceof ConfigurableBeanFactory)) { + if (!(beanFactory instanceof ConfigurableBeanFactory)) + { throw new IllegalArgumentException("BeanFactory must implement ConfigurableBeanFactory!"); } parser = new NamedXmlBeanDefinitionParser((ConfigurableBeanFactory) beanFactory); } - public int registerBeanDefinitions(Document doc, Resource resource) throws BeansException { + public int registerBeanDefinitions(Document doc, Resource resource) throws BeansException + { int countBefore = this.getBeanFactory().getBeanDefinitionCount(); parser.registerBeanDefinitions(doc, createReaderContext(resource)); return this.getBeanFactory().getBeanDefinitionCount() - countBefore; } - public String getName() { + public String getName() + { return parser.getName(); } - public boolean doInstantiate() { + public boolean doInstantiate() + { return parser.doInstantiate(); } 1.5 +10 -5 jboss-spring/src/main/org/jboss/spring/factory/NamedXmlBeanFactory.java (In the diff below, changes in quantity of whitespace are not shown.) Index: NamedXmlBeanFactory.java =================================================================== RCS file: /cvsroot/jboss/jboss-spring/src/main/org/jboss/spring/factory/NamedXmlBeanFactory.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -b -r1.4 -r1.5 --- NamedXmlBeanFactory.java 29 Oct 2005 23:58:11 -0000 1.4 +++ NamedXmlBeanFactory.java 9 Jul 2006 13:18:48 -0000 1.5 @@ -30,7 +30,8 @@ * @author <a href="mailto:ale...@ge...">Ales Justin</a> */ public class NamedXmlBeanFactory extends DefaultListableBeanFactory - implements Nameable, Instantiable { + implements Nameable, Instantiable +{ private String defaultName; private final NamedXmlBeanDefinitionReader reader = new NamedXmlBeanDefinitionReader(this); @@ -38,20 +39,24 @@ /** * @see org.springframework.beans.factory.xml.XmlBeanFactory */ - public NamedXmlBeanFactory(String defaultName, Resource resource) throws BeansException { + public NamedXmlBeanFactory(String defaultName, Resource resource) throws BeansException + { this.reader.loadBeanDefinitions(resource); this.defaultName = defaultName; } - public String getName() { + public String getName() + { String name = reader.getName() != null ? reader.getName() : defaultName; - if (name == null) { + if (name == null) + { throw new IllegalArgumentException("Bean factory JNDI name must be set!"); } return name; } - public boolean doInstantiate() { + public boolean doInstantiate() + { return reader.doInstantiate(); } |