protected Class < ? > determineContextClass ( PortletContext portletContext ) { String contextClassName = portletContext . getInitParameter ( CONTEXT_CLASS_PARAM ) ; if ( contextClassName != null ) { try { return ClassUtils . forName ( contextClassName , ClassUtils . getDefaultClassLoader ( ) ) ; } catch ( ClassNotFoundException ex ) { throw new ApplicationContextException ( "Failed to load custom context class [" + contextClassName + "]" , ex ) ; } } else { contextClassName = defaultStrategies . getProperty ( PortletApplicationContext . class . getName ( ) ) ; try { return ClassUtils . forName ( contextClassName , PortletContextLoader . class . getClassLoader ( ) ) ; } catch ( ClassNotFoundException ex ) { throw new ApplicationContextException ( "Failed to load default context class [" + contextClassName + "]" , ex ) ; } } }
Return the PortletApplicationContext implementation class to use either the default XmlPortletApplicationContext or a custom context class if specified .