You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/07/01 23:40:34 UTC

svn commit: r208803 - in /incubator/beehive/trunk/netui: src/pageflow/org/apache/beehive/netui/pageflow/ src/pageflow/org/apache/beehive/netui/pageflow/internal/ src/util/org/apache/beehive/netui/core/urls/ src/util/org/apache/beehive/netui/core/urltem...

Author: rich
Date: Fri Jul  1 14:40:33 2005
New Revision: 208803

URL: http://svn.apache.org/viewcvs?rev=208803&view=rev
Log:
This is a patch from Carlin Rogers to address  http://issues.apache.org/jira/browse/BEEHIVE-835 : Make improvements to the support for URL templating.

Thanks Carlin!

tests: bvt in netui (WinXP)
BB: self (linux)


Added:
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultTemplatedURLFormatter.java
      - copied, changed from r208774, incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/DefaultTemplatedURLFormatter.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLTemplatesFactory.java
      - copied, changed from r208774, incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/DefaultURLTemplatesFactory.java
Removed:
    incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/DefaultTemplatedURLFormatter.java
    incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/DefaultURLTemplatesFactory.java
Modified:
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultServletContainerAdapter.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowContextListener.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java
    incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/TemplatedURLFormatter.java
    incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/URLRewriterService.java
    incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplateDescriptor.java
    incubator/beehive/trunk/netui/src/util/schema/netui-config/netui-config.xsd
    incubator/beehive/trunk/netui/src/util/schema/url-template-config/url-template-config.xsd
    incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/beehive-url-template-config.xml

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultServletContainerAdapter.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultServletContainerAdapter.java?rev=208803&r1=208802&r2=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultServletContainerAdapter.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultServletContainerAdapter.java Fri Jul  1 14:40:33 2005
@@ -19,8 +19,6 @@
 
 import org.apache.beehive.netui.core.Factory;
 import org.apache.beehive.netui.core.FactoryConfig;
-import org.apache.beehive.netui.core.urltemplates.DefaultURLTemplatesFactory;
-import org.apache.beehive.netui.core.urltemplates.URLTemplatesFactory;
 import org.apache.beehive.netui.pageflow.adapter.AdapterContext;
 import org.apache.beehive.netui.pageflow.internal.PageFlowBeanContext;
 import org.apache.beehive.netui.util.logging.Logger;
@@ -264,7 +262,7 @@
      * This method is called to get the following Factory implementations:
      * </p>
      * <ul>
-     *   <li>{@link URLTemplatesFactory}</li>
+     *   <li>{@link org.apache.beehive.netui.core.urltemplates.URLTemplatesFactory}</li>
      * </ul>
      *
      * @param factoryType the class type that the factory should extend or implement
@@ -275,19 +273,6 @@
      */
     public Factory getFactory( Class factoryType, String id, FactoryConfig config)
     {
-        Factory factory = null;
-
-        if ( ! Factory.class.isAssignableFrom( factoryType ) )
-        {
-            throw new IllegalArgumentException( "The class, " + factoryType + ", does not extend "
-                                                + Factory.class.getName() );
-        }
-
-        if ( URLTemplatesFactory.class.equals( factoryType ) )
-        {
-            factory = Factory.getFactory( getServletContext(), DefaultURLTemplatesFactory.class, null );
-        }
-
-        return factory;
+        return null;
     }
 }

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowContextListener.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowContextListener.java?rev=208803&r1=208802&r2=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowContextListener.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowContextListener.java Fri Jul  1 14:40:33 2005
@@ -23,6 +23,8 @@
 import org.apache.beehive.netui.pageflow.internal.AdapterManager;
 import org.apache.beehive.netui.pageflow.internal.InternalConstants;
 import org.apache.beehive.netui.pageflow.internal.LegacySettings;
+import org.apache.beehive.netui.pageflow.internal.DefaultTemplatedURLFormatter;
+import org.apache.beehive.netui.pageflow.internal.DefaultURLTemplatesFactory;
 import org.apache.beehive.netui.util.config.ConfigInitializationException;
 import org.apache.beehive.netui.util.config.ConfigUtil;
 import org.apache.beehive.netui.util.config.bean.PrefixHandlers;
@@ -184,7 +186,7 @@
             // if there's no TemplatedURLFormatter in the config file, use our default impl.
             if ( formatter == null )
             {
-                formatter = new org.apache.beehive.netui.core.urls.DefaultTemplatedURLFormatter();
+                formatter = new DefaultTemplatedURLFormatter();
             }
 
             // set the TemplatedURLFormatter attribute on the context.
@@ -196,13 +198,7 @@
         {
             // URLTemplatesFactory has not been initialized,
             // get a URLTemplatesFactory object from the containerAdapter.
-            templatesFactory = getURLTemplatesFactory( servletContext );
-
-            // if there's no URLTemplatesFactory, use our default impl.
-            if ( templatesFactory == null )
-            {
-                templatesFactory = new org.apache.beehive.netui.core.urltemplates.DefaultURLTemplatesFactory();
-            }
+            templatesFactory = PageFlowUtils.createURLTemplatesFactory( servletContext );
 
             // get the known/req tokens from the default formatter for the factory to use to verify templates
             templatesFactory.setKnownTokens( formatter.getKnownTokens() );
@@ -259,12 +255,5 @@
         }
 
         return formatter;
-    }
-
-    private static URLTemplatesFactory getURLTemplatesFactory( ServletContext servletContext )
-    {
-        // get the URLTemplatesFactory from the containerAdapter.
-        ServletContainerAdapter containerAdapter = AdapterManager.getServletContainerAdapter( servletContext );
-        return (URLTemplatesFactory) containerAdapter.getFactory( URLTemplatesFactory.class, null, null );
     }
 }

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java?rev=208803&r1=208802&r2=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java Fri Jul  1 14:40:33 2005
@@ -32,6 +32,7 @@
 import org.apache.beehive.netui.pageflow.internal.PageFlowRequestWrapper;
 import org.apache.beehive.netui.pageflow.internal.URIContextFactory;
 import org.apache.beehive.netui.pageflow.internal.DeferredSessionStorageHandler;
+import org.apache.beehive.netui.pageflow.internal.DefaultURLTemplatesFactory;
 import org.apache.beehive.netui.pageflow.scoping.ScopedRequest;
 import org.apache.beehive.netui.pageflow.scoping.ScopedResponse;
 import org.apache.beehive.netui.pageflow.scoping.ScopedServletUtils;
@@ -1662,5 +1663,38 @@
         }
 
         return key;
+    }
+
+    /**
+     * Get an uninitialized instance of a container specific URLTemplatesFactory
+     * from the ServletContainerAdapter. If none exists, this returns an instance
+     * of {@link DefaultURLTemplatesFactory}. Caller should then set the known
+     * and required tokens, call the {@link URLTemplatesFactory#load(javax.servlet.ServletContext)}
+     * method and {@link URLTemplatesFactory#initServletContext(javax.servlet.ServletContext,
+     * org.apache.beehive.netui.core.urltemplates.URLTemplatesFactory)}. 
+     *
+     * <p>
+     * IMPORTANT NOTE - Always try to get the application instance from the ServletContext
+     * by calling {@link URLTemplatesFactory#getURLTemplatesFactory(javax.servlet.ServletContext)}.
+     * Then, if a new URLTemplatesFactory must be created, call this method.
+     * </p>
+     *
+     * @param servletContext
+     * @return a container specific implementation of URLTemplatesFactory, or
+     *         {@link DefaultURLTemplatesFactory}.
+     */
+    public static URLTemplatesFactory createURLTemplatesFactory( ServletContext servletContext )
+    {
+        // get the URLTemplatesFactory from the containerAdapter.
+        ServletContainerAdapter containerAdapter = AdapterManager.getServletContainerAdapter( servletContext );
+        URLTemplatesFactory factory = (URLTemplatesFactory) containerAdapter.getFactory( URLTemplatesFactory.class, null, null );
+
+        // if there's no URLTemplatesFactory, use our default impl.
+        if ( factory == null )
+        {
+            factory = new DefaultURLTemplatesFactory();
+        }
+
+        return factory;
     }
 }

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java?rev=208803&r1=208802&r2=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java Fri Jul  1 14:40:33 2005
@@ -192,6 +192,13 @@
     /**
      * Generic method to get a Factory class that may be container dependent.
      *
+     * <p>
+     * This method is called to get the following Factory implementations:
+     * </p>
+     * <ul>
+     *   <li>{@link org.apache.beehive.netui.core.urltemplates.URLTemplatesFactory}</li>
+     * </ul>
+     *
      * @param classType the class type that the factory should extend or implement.
      * @param id can be used for the case where there is more than one possible Factory
      *           that extends or implaments the class type.

Copied: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultTemplatedURLFormatter.java (from r208774, incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/DefaultTemplatedURLFormatter.java)
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultTemplatedURLFormatter.java?p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultTemplatedURLFormatter.java&p1=incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/DefaultTemplatedURLFormatter.java&r1=208774&r2=208803&rev=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/DefaultTemplatedURLFormatter.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultTemplatedURLFormatter.java Fri Jul  1 14:40:33 2005
@@ -15,8 +15,11 @@
  *
  * $Header:$
  */
-package org.apache.beehive.netui.core.urls;
+package org.apache.beehive.netui.pageflow.internal;
 
+import org.apache.beehive.netui.core.urls.URIContext;
+import org.apache.beehive.netui.core.urls.MutableURI;
+import org.apache.beehive.netui.core.urls.TemplatedURLFormatter;
 import org.apache.beehive.netui.core.urltemplates.URLTemplate;
 import org.apache.beehive.netui.core.urltemplates.URLTemplatesFactory;
 
@@ -35,11 +38,9 @@
  */
 public class DefaultTemplatedURLFormatter extends TemplatedURLFormatter
 {
-    protected static final String DEFAULT_TEMPLATE_REF = "jpf-url-templates";
-
     /**
      * Format the given URL using a URL template, if defined in a URL
-     * template config file. The {@link URIContext}
+     * template config file. The {@link org.apache.beehive.netui.core.urls.URIContext}
      * encapsulates some additional data needed to write out the string form.
      * E.g. It defines if the &quot;&amp;amp;&quot; entity or the
      * '&amp;' character should be used to separate quary parameters.

Copied: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLTemplatesFactory.java (from r208774, incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/DefaultURLTemplatesFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLTemplatesFactory.java?p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLTemplatesFactory.java&p1=incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/DefaultURLTemplatesFactory.java&r1=208774&r2=208803&rev=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/DefaultURLTemplatesFactory.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLTemplatesFactory.java Fri Jul  1 14:40:33 2005
@@ -15,8 +15,11 @@
  *
  * $Header:$
  */
-package org.apache.beehive.netui.core.urltemplates;
+package org.apache.beehive.netui.pageflow.internal;
 
+import org.apache.beehive.netui.core.urltemplates.URLTemplate;
+import org.apache.beehive.netui.core.urltemplates.URLTemplates;
+import org.apache.beehive.netui.core.urltemplates.URLTemplatesFactory;
 import org.apache.beehive.netui.core.urltemplates.schema.UrlTemplateConfigDocument;
 import org.apache.beehive.netui.core.urltemplates.schema.UrlTemplateConfigDocument.UrlTemplateConfig;
 import org.apache.beehive.netui.core.urltemplates.schema.UrlTemplateDocument;
@@ -24,15 +27,12 @@
 import org.apache.beehive.netui.core.urltemplates.schema.UrlTemplateRefGroupDocument;
 import org.apache.beehive.netui.util.internal.InternalStringBuilder;
 import org.apache.beehive.netui.util.logging.Logger;
-import org.apache.xmlbeans.XmlError;
 import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlOptions;
 
 import javax.servlet.ServletContext;
 import java.io.InputStream;
 import java.io.IOException;
 import java.util.HashMap;
-import java.util.ArrayList;
 
 /**
  * Methods for configuring and retrieving the URLTemplate object.
@@ -227,30 +227,11 @@
             UrlTemplateRefDocument.UrlTemplateRef[] templateRefs = templateRefGroups[i].getUrlTemplateRefArray();
             for ( int j = 0; j < templateRefs.length; j++ )
             {
-                // Validate the XML.
-                ArrayList errorList = new ArrayList();
-                XmlOptions validateOptions = new XmlOptions();
-                validateOptions.setErrorListener( errorList );
-                UrlTemplateRefDocument.UrlTemplateRef.Key keyObj = templateRefs[j].xgetKey();
-
-                if ( keyObj != null )
-                {
-                    // Check that the key has a valid value.
-                    boolean isValid = templateRefs[j].xgetKey().validate( validateOptions );
-
-                    // If not, loop through the listener's contents, logging contained messages.
-                    if ( !isValid )
-                    {
-                        InternalStringBuilder message = new InternalStringBuilder( "Malformed URL template descriptor in " );
-                        message.append( _configFilePath );
-                        for ( int k = 0; k < errorList.size(); k++ )
-                        {
-                            XmlError error = ( XmlError ) errorList.get( k );
-                            message.append( ": " ).append( error.getMessage() );
-                        }
-                        _log.error( message.toString() );
-                        continue;
-                    }
+                String key = templateRefs[j].getKey();
+
+                if ( key != null )
+                {
+                    key = key.trim();
                 }
                 else
                 {
@@ -259,7 +240,6 @@
                     continue;
                 }
 
-                String key = templateRefs[j].getKey().toString();
                 String name = templateRefs[j].getTemplateName();
                 if ( name != null )
                 {

Modified: incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/TemplatedURLFormatter.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/TemplatedURLFormatter.java?rev=208803&r1=208802&r2=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/TemplatedURLFormatter.java (original)
+++ incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/TemplatedURLFormatter.java Fri Jul  1 14:40:33 2005
@@ -50,6 +50,9 @@
 {
     private static final String TEMPLATED_URL_FORMATTER_ATTR = "_netui:templatedURLFormatter";
 
+    /** The default name for a reference group. */
+    public static final String DEFAULT_TEMPLATE_REF = "default-url-templates";
+
     // Base set of tokens
     public static final String SCHEME_TOKEN = "{url:scheme}";
     public static final String DOMAIN_TOKEN = "{url:domain}";

Modified: incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/URLRewriterService.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/URLRewriterService.java?rev=208803&r1=208802&r2=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/URLRewriterService.java (original)
+++ incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/URLRewriterService.java Fri Jul  1 14:40:33 2005
@@ -56,7 +56,6 @@
 
     private static final String URL_REWRITERS_KEY = "url_rewriters";
     private static final String TEMPLATTED_URL_FORMATTER_KEY = "templated_url_formatter";
-    private static final DefaultTemplatedURLFormatter defaultFormatter = new DefaultTemplatedURLFormatter();
 
     /**
      * Get the prefix to use when rewriting a query parameter name.
@@ -358,9 +357,10 @@
      * '&amp;' character should be used to separate quary parameters.
      *
      * <p>First try to use ther per-request registered <code>TemplatedURLFormatter</code>.
-     * If one is note registered, try to use the per-webapp default
+     * If one is not registered, try to use the per-webapp default
      * <code>TemplatedURLFormatter</code>, defined in beehive-netui-config.xml
-     * (with a class name). Otherwise, use the {@link DefaultTemplatedURLFormatter}.
+     * (with a class name) and set as an attribute of the ServletContext. Otherwise,
+     * with no formatter, just return {@link MutableURI#getURIString(URIContext)}.
      *
      * @param servletContext the current ServletContext.
      * @param request the current ServletRequest.
@@ -379,7 +379,7 @@
             formatter = TemplatedURLFormatter.getTemplatedURLFormatter( servletContext );
             if ( formatter == null )
             {
-                formatter = defaultFormatter;
+                return uri.getURIString( uriContext );
             }
         }
 

Modified: incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplateDescriptor.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplateDescriptor.java?rev=208803&r1=208802&r2=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplateDescriptor.java (original)
+++ incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplateDescriptor.java Fri Jul  1 14:40:33 2005
@@ -59,10 +59,8 @@
     private static final List REQUIRED_TEMPLATE_TOKENS =
             Arrays.asList( new String[]{ PATH_TOKEN, QUERY_STRING_TOKEN } );
 
-    // URL templates
-    private URLTemplatesFactory _urlTemplatesFactory;
-
-    private boolean _loaded = false;
+    // We now get URL templates from the URLTemplatesFactory of the ServletContext
+    private ServletContext _servletContext;
 
     /**
      * Constructs an instance.
@@ -81,9 +79,13 @@
     {
         URLTemplate urlTemplate = null;
 
-        if ( _urlTemplatesFactory != null )
+        if ( _servletContext != null )
         {
-            urlTemplate =_urlTemplatesFactory.getURLTemplate( name );
+            URLTemplatesFactory urlTemplatesFactory = URLTemplatesFactory.getURLTemplatesFactory( _servletContext );
+            if ( urlTemplatesFactory != null )
+            {
+                urlTemplate = urlTemplatesFactory.getURLTemplate( name );
+            }
         }
 
         return urlTemplate;
@@ -100,9 +102,13 @@
     {
         String ref = null;
 
-        if ( _urlTemplatesFactory != null )
+        if ( _servletContext != null )
         {
-            ref = _urlTemplatesFactory.getTemplateNameByRef( refGroupName, key );
+            URLTemplatesFactory urlTemplatesFactory = URLTemplatesFactory.getURLTemplatesFactory( _servletContext );
+            if ( urlTemplatesFactory != null )
+            {
+                ref = urlTemplatesFactory.getTemplateNameByRef( refGroupName, key );
+            }
         }
 
         return ref;
@@ -120,21 +126,11 @@
 
     public synchronized void load( ServletContext servletContext )
     {
-        if ( _loaded )
+        if ( _servletContext != null )
         {
             return;
         }
 
-        _urlTemplatesFactory = URLTemplatesFactory.getURLTemplatesFactory( servletContext );
-
-        if ( _urlTemplatesFactory == null )
-        {
-            _urlTemplatesFactory = new DefaultURLTemplatesFactory();
-            _urlTemplatesFactory.setKnownTokens( KNOWN_TEMPLATE_TOKENS );
-            _urlTemplatesFactory.setRequiredTokens( REQUIRED_TEMPLATE_TOKENS );
-            _urlTemplatesFactory.load( servletContext );
-        }
-
-        _loaded = true;
+        _servletContext = servletContext;
     }
 }

Modified: incubator/beehive/trunk/netui/src/util/schema/netui-config/netui-config.xsd
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/schema/netui-config/netui-config.xsd?rev=208803&r1=208802&r2=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/util/schema/netui-config/netui-config.xsd (original)
+++ incubator/beehive/trunk/netui/src/util/schema/netui-config/netui-config.xsd Fri Jul  1 14:40:33 2005
@@ -207,7 +207,7 @@
         <xsd:sequence>
             <xsd:element name="url-encode-urls" type="xsd:boolean" minOccurs="0" maxOccurs="1" default="true"/>
             <xsd:element name="html-amp-entity" type="xsd:boolean" minOccurs="0" maxOccurs="1" default="true"/>
-            <xsd:element name="templated-url-formatter-class" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="templated-url-formatter-class" type="xsd:string" minOccurs="0" maxOccurs="1" default="org.apache.beehive.netui.core.urls.DefaultTemplatedURLFormatter"/>
         </xsd:sequence>
     </xsd:complexType>
 

Modified: incubator/beehive/trunk/netui/src/util/schema/url-template-config/url-template-config.xsd
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/schema/url-template-config/url-template-config.xsd?rev=208803&r1=208802&r2=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/util/schema/url-template-config/url-template-config.xsd (original)
+++ incubator/beehive/trunk/netui/src/util/schema/url-template-config/url-template-config.xsd Fri Jul  1 14:40:33 2005
@@ -5,14 +5,14 @@
            elementFormDefault="qualified">
 
 
-	<xs:element name="url-template-config">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="netui:url-template" maxOccurs="unbounded"/>
-				<xs:element ref="netui:url-template-ref-group" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <xs:element name="url-template-config">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="netui:url-template" maxOccurs="unbounded"/>
+                <xs:element ref="netui:url-template-ref-group" maxOccurs="unbounded"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
     <xs:element name="url-template">
         <xs:annotation>
@@ -28,19 +28,19 @@
         </xs:complexType>
     </xs:element>
 
-	<xs:element name="url-template-ref-group">
+    <xs:element name="url-template-ref-group">
         <xs:annotation>
             <xs:documentation>
                 A group of references to url-template elements.
             </xs:documentation>
         </xs:annotation>
-		<xs:complexType>
-			<xs:sequence>
+        <xs:complexType>
+            <xs:sequence>
                 <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
-				<xs:element ref="netui:url-template-ref" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+                <xs:element ref="netui:url-template-ref" minOccurs="1" maxOccurs="unbounded"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
     <xs:element name="url-template-ref">
         <xs:annotation>
@@ -50,18 +50,7 @@
         </xs:annotation>
         <xs:complexType>
             <xs:sequence>
-                <xs:element name="key" minOccurs="1" maxOccurs="1">
-                    <xs:simpleType>
-                        <xs:restriction base="xs:string">
-                            <xs:enumeration value="action"/>
-                            <xs:enumeration value="secure-action"/>
-                            <xs:enumeration value="resource"/>
-                            <xs:enumeration value="secure-resource"/>
-                            <xs:enumeration value="render"/>
-                            <xs:enumeration value="secure-render"/>
-                        </xs:restriction>
-                    </xs:simpleType>
-                </xs:element>
+                <xs:element name="key" type="xs:string" minOccurs="1" maxOccurs="1"/>
                 <xs:element name="template-name" type="xs:string" minOccurs="1" maxOccurs="1"/>
             </xs:sequence>
         </xs:complexType>

Modified: incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/beehive-url-template-config.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/beehive-url-template-config.xml?rev=208803&r1=208802&r2=208803&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/beehive-url-template-config.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/beehive-url-template-config.xml Fri Jul  1 14:40:33 2005
@@ -32,7 +32,7 @@
         </value>
     </url-template>
     <url-template-ref-group>
-        <name>jpf-url-templates</name>
+        <name>default-url-templates</name>
         <url-template-ref>
             <key>action</key>
             <template-name>jpf-action</template-name>