[java-identity-provider COMMIT] in /trunk/idp-core/src/main/java/net/shibboleth/idp/spring: SchemaTypeAwareBeanDefini...

noreply at shibboleth.net noreply at shibboleth.net
Thu Mar 7 18:03:46 EST 2013


Author: tzeller
Date: Thu Mar  7 18:03:45 2013
New Revision: 4306

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4306&view=rev
Log:
Moved inner classes out of the custom bean definition reader since spring was having some problems during runtime, this may be reverted in the future.

Added:
    trunk/idp-core/src/main/java/net/shibboleth/idp/spring/SchemaTypeAwareBeanDefinitionDocumentReader.java   (with props)
    trunk/idp-core/src/main/java/net/shibboleth/idp/spring/SchemaTypeAwareBeanDefinitionParserDelegate.java   (with props)
Modified:
    trunk/idp-core/src/main/java/net/shibboleth/idp/spring/SchemaTypeAwareXMLBeanDefinitionReader.java

Modified: trunk/idp-core/src/main/java/net/shibboleth/idp/spring/SchemaTypeAwareXMLBeanDefinitionReader.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-core/src/main/java/net/shibboleth/idp/spring/SchemaTypeAwareXMLBeanDefinitionReader.java?rev=4306&r1=4305&r2=4306&view=diff
==============================================================================
--- trunk/idp-core/src/main/java/net/shibboleth/idp/spring/SchemaTypeAwareXMLBeanDefinitionReader.java (original)
+++ trunk/idp-core/src/main/java/net/shibboleth/idp/spring/SchemaTypeAwareXMLBeanDefinitionReader.java Thu Mar  7 18:03:45 2013
@@ -17,22 +17,13 @@
 
 package net.shibboleth.idp.spring;
 
-import net.shibboleth.utilities.java.support.xml.DomTypeSupport;
-
-import org.springframework.beans.factory.config.BeanDefinition;
 import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-import org.springframework.beans.factory.xml.BeanDefinitionParserDelegate;
-import org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader;
-import org.springframework.beans.factory.xml.NamespaceHandler;
-import org.springframework.beans.factory.xml.ParserContext;
 import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
-import org.springframework.beans.factory.xml.XmlReaderContext;
-import org.w3c.dom.Element;
 
 /**
  * An extension to the standard {@link XmlBeanDefinitionReader} that defaults some settings.
  * <ul>
- * <li>documentReaderClass property is set to {@link SchemaTypeAwareBeanDefinitionDocmentReader}</li>
+ * <li>documentReaderClass property is set to {@link SchemaTypeAwareBeanDefinitionDocumentReader}</li>
  * <li>namespaceAware property is set to true</li>
  * <li>validating property is set to false</li>
  * </ul>
@@ -47,62 +38,9 @@
     public SchemaTypeAwareXMLBeanDefinitionReader(BeanDefinitionRegistry beanRegistry) {
         super(beanRegistry);
 
-        setDocumentReaderClass(SchemaTypeAwareBeanDefinitionDocmentReader.class);
+        setDocumentReaderClass(SchemaTypeAwareBeanDefinitionDocumentReader.class);
 
         // this also sets namespaceAware to true
         setValidating(false);
     }
-
-    /**
-     * An extension to the standard {@link DefaultBeanDefinitionDocumentReader} that uses the
-     * {@link SchemaTypeAwareBeanDefinitionParserDelegate} delegate for processing bean definitions.
-     */
-    protected class SchemaTypeAwareBeanDefinitionDocmentReader extends DefaultBeanDefinitionDocumentReader {
-
-        /** {@inheritDoc} */
-        protected BeanDefinitionParserDelegate createHelper(XmlReaderContext readerContext, Element root) {
-            BeanDefinitionParserDelegate delegate = new SchemaTypeAwareBeanDefinitionParserDelegate(readerContext);
-            delegate.initDefaults(root);
-            return delegate;
-        }
-    }
-
-    /**
-     * An extension to the standard {@link BeanDefinitionParserDelegate} that adds support for retrieving
-     * {@link NamespaceHandler} by schema type, as well as element QName, when resolving custom elements. In the case
-     * where a {@link NamespaceHandler} is registered for both the schema type and element QName for a custom element
-     * the schema registered handler is preferred.
-     */
-    protected class SchemaTypeAwareBeanDefinitionParserDelegate extends BeanDefinitionParserDelegate {
-
-        /**
-         * Constructor.
-         * 
-         * @param readerContext current XML reader context
-         */
-        public SchemaTypeAwareBeanDefinitionParserDelegate(XmlReaderContext readerContext) {
-            super(readerContext);
-        }
-
-        /** {@inheritDoc} */
-        public BeanDefinition parseCustomElement(Element element) {
-            return parseCustomElement(element, null);
-        }
-
-        /** {@inheritDoc} */
-        public BeanDefinition parseCustomElement(Element element, BeanDefinition containingBd) {
-            String namespaceUri = element.getNamespaceURI();
-            if (DomTypeSupport.hasXSIType(element)) {
-                namespaceUri = DomTypeSupport.getXSIType(element).getNamespaceURI();
-            }
-
-            NamespaceHandler handler = getReaderContext().getNamespaceHandlerResolver().resolve(namespaceUri);
-            if (handler == null) {
-                error("Unable to locate NamespaceHandler for namespace [" + namespaceUri + "]", element);
-                return null;
-            }
-

[... 5 lines stripped ...]


More information about the commits mailing list