You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by dl...@apache.org on 2001/03/06 08:54:57 UTC

cvs commit: jakarta-turbine/src/java/org/apache/turbine/services/webmacro TurbineTemplateProvider.java TurbineWebMacroService.java

dlr         01/03/05 23:54:56

  Modified:    src/java/org/apache/turbine/services/webmacro
                        TurbineTemplateProvider.java
                        TurbineWebMacroService.java
  Log:
  Better support for multiple template paths.
  
  Revision  Changes    Path
  1.8       +18 -15    jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineTemplateProvider.java
  
  Index: TurbineTemplateProvider.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineTemplateProvider.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TurbineTemplateProvider.java	2001/03/06 06:12:58	1.7
  +++ TurbineTemplateProvider.java	2001/03/06 07:54:53	1.8
  @@ -65,6 +65,7 @@
   
   // Turbine stuff.
   import org.apache.turbine.util.Log;
  +import org.apache.turbine.util.StringUtils;
   import org.apache.turbine.services.*;
   
   /**
  @@ -77,7 +78,7 @@
    *
    * @author <a href="mailto:Rafal.Krzewski@e-point.pl">Rafal Krzewski</a>
    * @author <a href="mailto:dlr@collab.net">Daniel Rall</a>
  - * @version $Id: TurbineTemplateProvider.java,v 1.7 2001/03/06 06:12:58 chrise Exp $
  + * @version $Id: TurbineTemplateProvider.java,v 1.8 2001/03/06 07:54:53 dlr Exp $
    */
   public class TurbineTemplateProvider
       implements ResourceProvider
  @@ -142,11 +143,9 @@
       public void init(ResourceBroker broker)
           throws ResourceInitException
       {
  +        Log.info("TurbineTemplateProvider initializing");
           this.broker = broker;
   
  -        Log.info("TurbineTemplateProvider starting!");
  -
  -        String separator = System.getProperty("path.separator", ";");
           try
           {
               try
  @@ -172,24 +171,26 @@
                   templatePaths = (String)broker.getValue(Config.TYPE,
                                                           Config.TEMPLATE_DIR);
               }
  +
  +            String separator = TurbineWebMacroService.getPathSeparator();
  +            paths = StringUtils.split(templatePaths, separator);
   
  -            StringTokenizer st = new StringTokenizer(templatePaths,
  -                                                     separator);
  -            paths = new String[st.countTokens()];
  -            int pos=0;
  -            while(st.hasMoreTokens())
  +            StringBuffer pathMsg =
  +                new StringBuffer("TurbineTemplateProvider path(s):");
  +            for (int i = 0; i < paths.length; i++)
               {
  -                paths[pos++] = st.nextToken();
  -                Log.info("TurbineTemplateProvider uses "+paths[pos-1]);
  +                pathMsg.append('\n').append(paths[i]);
               }
  +            Log.info(pathMsg.toString());
           }
           catch(Exception e)
           {
               Log.error("TurbineTemplateProvider failed to initialize");
               Log.error(e);
  -            throw new ResourceInitException("failed to initialize");
  +            throw new ResourceInitException
  +                ("TurbineTemplateProvider failed to initialize");
           }
  -        Log.info("TurbineTemplateProvider started!");
  +        Log.info("TurbineTemplateProvider initialized");
       }
   
       /**
  @@ -197,7 +198,8 @@
        */
       public void destroy()
       {
  -        // Do nothing.
  +        broker = null;
  +        paths = null;
       }
   
       /**
  @@ -211,7 +213,6 @@
           throws NotFoundException,
                  InterruptedException
       {
  -
           Template t = findTemplate(request.getName());
           if (t == null)
           {
  @@ -280,6 +281,8 @@
           {
               Template template;
               File file = new File(paths[i], name);
  +            //Log.debug("Looking for WebMacro template: path=" + paths[i] +
  +            //          ", name=" + name);
               if (file.canRead())
               {
                   try
  
  
  
  1.25      +48 -15    jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineWebMacroService.java
  
  Index: TurbineWebMacroService.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineWebMacroService.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- TurbineWebMacroService.java	2001/03/06 06:12:59	1.24
  +++ TurbineWebMacroService.java	2001/03/06 07:54:54	1.25
  @@ -88,7 +88,7 @@
    * @author <a href="mailto:mbryson@mont.mindspring.com">Dave Bryson</a>
    * @author <a href="mailto:krzewski@e-point.pl">Rafal Krzewski</a>
    * @author <a href="mailto:dlr@collab.net">Daniel Rall</a>
  - * @version $Id: TurbineWebMacroService.java,v 1.24 2001/03/06 06:12:59 chrise Exp $
  + * @version $Id: TurbineWebMacroService.java,v 1.25 2001/03/06 07:54:54 dlr Exp $
    */
   public class TurbineWebMacroService
       extends TurbineBaseService
  @@ -308,15 +308,15 @@
           String WMTemplateProvider =
               props.getProperty("templates.provider", null);
   
  -        StringBuffer buf = new StringBuffer("WebMacroService properties:\n");
  +        StringBuffer buf = new StringBuffer("WebMacroService properties:");
           Enumeration keys = props.propertyNames();
           while (keys.hasMoreElements())
           {
               String key = (String)keys.nextElement();
  -            buf.append("  ").append(key).append('=')
  -                .append(props.getProperty(key)).append('\n');
  +            buf.append("\n  ").append(key).append('=')
  +                .append(props.getProperty(key));
           }
  -        Log.debug(buf.toString());
  +        Log.info(buf.toString());
   
           if (WMProperties != null)
           {
  @@ -345,15 +345,23 @@
           try
           {
               // If possible, transform paths to be webapp root relative.
  -            WMTemplates = ServletUtils.expandRelative(config, WMTemplates);
  +            String separator = getPathSeparator();
  +            String[] paths = StringUtils.split(WMTemplates, separator);
  +            for (int i = 0; i < paths.length; i++)
  +            {
  +                paths[i] = ServletUtils.expandRelative(config, paths[i]);
  +            }
  +            WMTemplates = StringUtils.join(paths, separator);
   
               // Store the converted path in service properties for
               // Turbine based providers.
               props.put("templates", WMTemplates);
   
  +            ResourceBroker resourceBroker = (ResourceBroker)broker;
  +
               // Create a resource map to access WebMacro configuration
               // entries.
  -            ResourceMap map = ((ResourceBroker)broker).get(Config.TYPE);
  +            ResourceMap map = resourceBroker.get(Config.TYPE);
   
               // Update templates path in WebMacro config broker, for
               // WebMacro based providers.
  @@ -364,13 +372,28 @@
               // http://suokong.e-point.pl/turbine.
               //
               // Rafal
  -
  -            // Instantiate template provider.
  -            ResourceProvider provider =
  -                (ResourceProvider)Class.forName(WMTemplateProvider).newInstance();
   
  -            // Add the provider to the broker.
  -            ((ResourceBroker)broker).join(provider);
  +            // Replace WM's TemplateProvider with Turbine's.
  +            try
  +            {
  +                // Instantiate Turbine's TemplateProvider.
  +                Log.debug("Loading TurbineTemplateProvider");
  +                Class c = Class.forName(WMTemplateProvider);
  +                ResourceProvider provider = (ResourceProvider)c.newInstance();
  +
  +                // Register the provider with the broker.
  +                Log.debug("Registering TurbineTemplateProvider with WebMacro");
  +                resourceBroker.join(provider);
  +                /* TODO: Find WM template provider instance and remove it.
  +                   ResourceProvider wmProvier = null;
  +                   resourceBroker.leave(wmProvider);
  +                */
  +            }
  +            catch (Exception e)
  +            {
  +                throw new TurbineException
  +                    ("Unable to register TurbineTemplateProvider", e);
  +            }
   
               // Note that WebMacro.properties shouldn't contain
               // org.webmacro.resource.TemplateProvider in the Providers
  @@ -393,10 +416,20 @@
               //
               // Rafal
           }
  -        catch(Exception e)
  +        catch (Exception e)
           {
  -            throw new InitializationException("Failed to set up WebMacro templates", e);
  +            throw new InitializationException
  +                ("Failed to set up WebMacro templates", e);
           }
  +    }
  +
  +    /**
  +     * Returns the system property <code>path.separator</code>, defaulting to
  +     * <code>;</code>.
  +     */
  +    protected static final String getPathSeparator()
  +    {
  +        return System.getProperty("path.separator", ";");
       }
   
       /**
  
  
  

Re: cvs commit: jakarta-turbine/src/java/org/apache/turbine/services/webmacro TurbineTemplateProvider.java TurbineWebMacroService.java

Posted by Daniel Rall <dl...@collab.net>.
If you take another look at the commit, you'll notice that I didn't
modify the TurbineTemplateService (only TurbineWebMacroService and
TurbineTemplateProvider).  The TurbineTemplateProvider is specific to
the TurbineWebMacroService (it's loaded into WM by the service).

Thanks for looking out for me.  ;) 


John McNally <jm...@collab.net> writes:

> TurbineTemplateService should not have WebMacro specific stuff in it. 
> It is used for Velocity templates (and possibly jsp) as well. So the
> getPathSeparator method should be in TurbineTemplateService.  And there
> is a commented out Log.
> 
> John McNally
> 
> 
> dlr@apache.org wrote:
> > 
> > dlr         01/03/05 23:54:56
> > 
> >   Modified:    src/java/org/apache/turbine/services/webmacro
> >                         TurbineTemplateProvider.java
> >                         TurbineWebMacroService.java
> >   Log:
> >   Better support for multiple template paths.
> > 
> >   Revision  Changes    Path
> >   1.8       +18 -15    jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineTemplateProvider.java
> > 
> >   Index: TurbineTemplateProvider.java
> >   ===================================================================
> >   RCS file: /home/cvs/jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineTemplateProvider.java,v
> >   retrieving revision 1.7
> >   retrieving revision 1.8
> >   diff -u -r1.7 -r1.8
> >   --- TurbineTemplateProvider.java      2001/03/06 06:12:58     1.7
> >   +++ TurbineTemplateProvider.java      2001/03/06 07:54:53     1.8
> >   @@ -65,6 +65,7 @@
> > 
> >    // Turbine stuff.
> >    import org.apache.turbine.util.Log;
> >   +import org.apache.turbine.util.StringUtils;
> >    import org.apache.turbine.services.*;
> > 
> >    /**
> >   @@ -77,7 +78,7 @@
> >     *
> >     * @author <a href="mailto:Rafal.Krzewski@e-point.pl">Rafal Krzewski</a>
> >     * @author <a href="mailto:dlr@collab.net">Daniel Rall</a>
> >   - * @version $Id: TurbineTemplateProvider.java,v 1.7 2001/03/06 06:12:58 chrise Exp $
> >   + * @version $Id: TurbineTemplateProvider.java,v 1.8 2001/03/06 07:54:53 dlr Exp $
> >     */
> >    public class TurbineTemplateProvider
> >        implements ResourceProvider
> >   @@ -142,11 +143,9 @@
> >        public void init(ResourceBroker broker)
> >            throws ResourceInitException
> >        {
> >   +        Log.info("TurbineTemplateProvider initializing");
> >            this.broker = broker;
> > 
> >   -        Log.info("TurbineTemplateProvider starting!");
> >   -
> >   -        String separator = System.getProperty("path.separator", ";");
> >            try
> >            {
> >                try
> >   @@ -172,24 +171,26 @@
> >                    templatePaths = (String)broker.getValue(Config.TYPE,
> >                                                            Config.TEMPLATE_DIR);
> >                }
> >   +
> >   +            String separator = TurbineWebMacroService.getPathSeparator();
> >   +            paths = StringUtils.split(templatePaths, separator);
> > 
> >   -            StringTokenizer st = new StringTokenizer(templatePaths,
> >   -                                                     separator);
> >   -            paths = new String[st.countTokens()];
> >   -            int pos=0;
> >   -            while(st.hasMoreTokens())
> >   +            StringBuffer pathMsg =
> >   +                new StringBuffer("TurbineTemplateProvider path(s):");
> >   +            for (int i = 0; i < paths.length; i++)
> >                {
> >   -                paths[pos++] = st.nextToken();
> >   -                Log.info("TurbineTemplateProvider uses "+paths[pos-1]);
> >   +                pathMsg.append('\n').append(paths[i]);
> >                }
> >   +            Log.info(pathMsg.toString());
> >            }
> >            catch(Exception e)
> >            {
> >                Log.error("TurbineTemplateProvider failed to initialize");
> >                Log.error(e);
> >   -            throw new ResourceInitException("failed to initialize");
> >   +            throw new ResourceInitException
> >   +                ("TurbineTemplateProvider failed to initialize");
> >            }
> >   -        Log.info("TurbineTemplateProvider started!");
> >   +        Log.info("TurbineTemplateProvider initialized");
> >        }
> > 
> >        /**
> >   @@ -197,7 +198,8 @@
> >         */
> >        public void destroy()
> >        {
> >   -        // Do nothing.
> >   +        broker = null;
> >   +        paths = null;
> >        }
> > 
> >        /**
> >   @@ -211,7 +213,6 @@
> >            throws NotFoundException,
> >                   InterruptedException
> >        {
> >   -
> >            Template t = findTemplate(request.getName());
> >            if (t == null)
> >            {
> >   @@ -280,6 +281,8 @@
> >            {
> >                Template template;
> >                File file = new File(paths[i], name);
> >   +            //Log.debug("Looking for WebMacro template: path=" + paths[i] +
> >   +            //          ", name=" + name);
> >                if (file.canRead())
> >                {
> >                    try
> > 
> > 
> > 
> >   1.25      +48 -15    jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineWebMacroService.java
> > 
> >   Index: TurbineWebMacroService.java
> >   ===================================================================
> >   RCS file: /home/cvs/jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineWebMacroService.java,v
> >   retrieving revision 1.24
> >   retrieving revision 1.25
> >   diff -u -r1.24 -r1.25
> >   --- TurbineWebMacroService.java       2001/03/06 06:12:59     1.24
> >   +++ TurbineWebMacroService.java       2001/03/06 07:54:54     1.25
> >   @@ -88,7 +88,7 @@
> >     * @author <a href="mailto:mbryson@mont.mindspring.com">Dave Bryson</a>
> >     * @author <a href="mailto:krzewski@e-point.pl">Rafal Krzewski</a>
> >     * @author <a href="mailto:dlr@collab.net">Daniel Rall</a>
> >   - * @version $Id: TurbineWebMacroService.java,v 1.24 2001/03/06 06:12:59 chrise Exp $
> >   + * @version $Id: TurbineWebMacroService.java,v 1.25 2001/03/06 07:54:54 dlr Exp $
> >     */
> >    public class TurbineWebMacroService
> >        extends TurbineBaseService
> >   @@ -308,15 +308,15 @@
> >            String WMTemplateProvider =
> >                props.getProperty("templates.provider", null);
> > 
> >   -        StringBuffer buf = new StringBuffer("WebMacroService properties:\n");
> >   +        StringBuffer buf = new StringBuffer("WebMacroService properties:");
> >            Enumeration keys = props.propertyNames();
> >            while (keys.hasMoreElements())
> >            {
> >                String key = (String)keys.nextElement();
> >   -            buf.append("  ").append(key).append('=')
> >   -                .append(props.getProperty(key)).append('\n');
> >   +            buf.append("\n  ").append(key).append('=')
> >   +                .append(props.getProperty(key));
> >            }
> >   -        Log.debug(buf.toString());
> >   +        Log.info(buf.toString());
> > 
> >            if (WMProperties != null)
> >            {
> >   @@ -345,15 +345,23 @@
> >            try
> >            {
> >                // If possible, transform paths to be webapp root relative.
> >   -            WMTemplates = ServletUtils.expandRelative(config, WMTemplates);
> >   +            String separator = getPathSeparator();
> >   +            String[] paths = StringUtils.split(WMTemplates, separator);
> >   +            for (int i = 0; i < paths.length; i++)
> >   +            {
> >   +                paths[i] = ServletUtils.expandRelative(config, paths[i]);
> >   +            }
> >   +            WMTemplates = StringUtils.join(paths, separator);
> > 
> >                // Store the converted path in service properties for
> >                // Turbine based providers.
> >                props.put("templates", WMTemplates);
> > 
> >   +            ResourceBroker resourceBroker = (ResourceBroker)broker;
> >   +
> >                // Create a resource map to access WebMacro configuration
> >                // entries.
> >   -            ResourceMap map = ((ResourceBroker)broker).get(Config.TYPE);
> >   +            ResourceMap map = resourceBroker.get(Config.TYPE);
> > 
> >                // Update templates path in WebMacro config broker, for
> >                // WebMacro based providers.
> >   @@ -364,13 +372,28 @@
> >                // http://suokong.e-point.pl/turbine.
> >                //
> >                // Rafal
> >   -
> >   -            // Instantiate template provider.
> >   -            ResourceProvider provider =
> >   -                (ResourceProvider)Class.forName(WMTemplateProvider).newInstance();
> > 
> >   -            // Add the provider to the broker.
> >   -            ((ResourceBroker)broker).join(provider);
> >   +            // Replace WM's TemplateProvider with Turbine's.
> >   +            try
> >   +            {
> >   +                // Instantiate Turbine's TemplateProvider.
> >   +                Log.debug("Loading TurbineTemplateProvider");
> >   +                Class c = Class.forName(WMTemplateProvider);
> >   +                ResourceProvider provider = (ResourceProvider)c.newInstance();
> >   +
> >   +                // Register the provider with the broker.
> >   +                Log.debug("Registering TurbineTemplateProvider with WebMacro");
> >   +                resourceBroker.join(provider);
> >   +                /* TODO: Find WM template provider instance and remove it.
> >   +                   ResourceProvider wmProvier = null;
> >   +                   resourceBroker.leave(wmProvider);
> >   +                */
> >   +            }
> >   +            catch (Exception e)
> >   +            {
> >   +                throw new TurbineException
> >   +                    ("Unable to register TurbineTemplateProvider", e);
> >   +            }
> > 
> >                // Note that WebMacro.properties shouldn't contain
> >                // org.webmacro.resource.TemplateProvider in the Providers
> >   @@ -393,10 +416,20 @@
> >                //
> >                // Rafal
> >            }
> >   -        catch(Exception e)
> >   +        catch (Exception e)
> >            {
> >   -            throw new InitializationException("Failed to set up WebMacro templates", e);
> >   +            throw new InitializationException
> >   +                ("Failed to set up WebMacro templates", e);
> >            }
> >   +    }
> >   +
> >   +    /**
> >   +     * Returns the system property <code>path.separator</code>, defaulting to
> >   +     * <code>;</code>.
> >   +     */
> >   +    protected static final String getPathSeparator()
> >   +    {
> >   +        return System.getProperty("path.separator", ";");
> >        }
> > 
> >        /**
-- 

Daniel Rall <dl...@collab.net>

Re: cvs commit: jakarta-turbine/src/java/org/apache/turbine/services/webmacro TurbineTemplateProvider.java TurbineWebMacroService.java

Posted by John McNally <jm...@collab.net>.
TurbineTemplateService should not have WebMacro specific stuff in it. 
It is used for Velocity templates (and possibly jsp) as well. So the
getPathSeparator method should be in TurbineTemplateService.  And there
is a commented out Log.

John McNally


dlr@apache.org wrote:
> 
> dlr         01/03/05 23:54:56
> 
>   Modified:    src/java/org/apache/turbine/services/webmacro
>                         TurbineTemplateProvider.java
>                         TurbineWebMacroService.java
>   Log:
>   Better support for multiple template paths.
> 
>   Revision  Changes    Path
>   1.8       +18 -15    jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineTemplateProvider.java
> 
>   Index: TurbineTemplateProvider.java
>   ===================================================================
>   RCS file: /home/cvs/jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineTemplateProvider.java,v
>   retrieving revision 1.7
>   retrieving revision 1.8
>   diff -u -r1.7 -r1.8
>   --- TurbineTemplateProvider.java      2001/03/06 06:12:58     1.7
>   +++ TurbineTemplateProvider.java      2001/03/06 07:54:53     1.8
>   @@ -65,6 +65,7 @@
> 
>    // Turbine stuff.
>    import org.apache.turbine.util.Log;
>   +import org.apache.turbine.util.StringUtils;
>    import org.apache.turbine.services.*;
> 
>    /**
>   @@ -77,7 +78,7 @@
>     *
>     * @author <a href="mailto:Rafal.Krzewski@e-point.pl">Rafal Krzewski</a>
>     * @author <a href="mailto:dlr@collab.net">Daniel Rall</a>
>   - * @version $Id: TurbineTemplateProvider.java,v 1.7 2001/03/06 06:12:58 chrise Exp $
>   + * @version $Id: TurbineTemplateProvider.java,v 1.8 2001/03/06 07:54:53 dlr Exp $
>     */
>    public class TurbineTemplateProvider
>        implements ResourceProvider
>   @@ -142,11 +143,9 @@
>        public void init(ResourceBroker broker)
>            throws ResourceInitException
>        {
>   +        Log.info("TurbineTemplateProvider initializing");
>            this.broker = broker;
> 
>   -        Log.info("TurbineTemplateProvider starting!");
>   -
>   -        String separator = System.getProperty("path.separator", ";");
>            try
>            {
>                try
>   @@ -172,24 +171,26 @@
>                    templatePaths = (String)broker.getValue(Config.TYPE,
>                                                            Config.TEMPLATE_DIR);
>                }
>   +
>   +            String separator = TurbineWebMacroService.getPathSeparator();
>   +            paths = StringUtils.split(templatePaths, separator);
> 
>   -            StringTokenizer st = new StringTokenizer(templatePaths,
>   -                                                     separator);
>   -            paths = new String[st.countTokens()];
>   -            int pos=0;
>   -            while(st.hasMoreTokens())
>   +            StringBuffer pathMsg =
>   +                new StringBuffer("TurbineTemplateProvider path(s):");
>   +            for (int i = 0; i < paths.length; i++)
>                {
>   -                paths[pos++] = st.nextToken();
>   -                Log.info("TurbineTemplateProvider uses "+paths[pos-1]);
>   +                pathMsg.append('\n').append(paths[i]);
>                }
>   +            Log.info(pathMsg.toString());
>            }
>            catch(Exception e)
>            {
>                Log.error("TurbineTemplateProvider failed to initialize");
>                Log.error(e);
>   -            throw new ResourceInitException("failed to initialize");
>   +            throw new ResourceInitException
>   +                ("TurbineTemplateProvider failed to initialize");
>            }
>   -        Log.info("TurbineTemplateProvider started!");
>   +        Log.info("TurbineTemplateProvider initialized");
>        }
> 
>        /**
>   @@ -197,7 +198,8 @@
>         */
>        public void destroy()
>        {
>   -        // Do nothing.
>   +        broker = null;
>   +        paths = null;
>        }
> 
>        /**
>   @@ -211,7 +213,6 @@
>            throws NotFoundException,
>                   InterruptedException
>        {
>   -
>            Template t = findTemplate(request.getName());
>            if (t == null)
>            {
>   @@ -280,6 +281,8 @@
>            {
>                Template template;
>                File file = new File(paths[i], name);
>   +            //Log.debug("Looking for WebMacro template: path=" + paths[i] +
>   +            //          ", name=" + name);
>                if (file.canRead())
>                {
>                    try
> 
> 
> 
>   1.25      +48 -15    jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineWebMacroService.java
> 
>   Index: TurbineWebMacroService.java
>   ===================================================================
>   RCS file: /home/cvs/jakarta-turbine/src/java/org/apache/turbine/services/webmacro/TurbineWebMacroService.java,v
>   retrieving revision 1.24
>   retrieving revision 1.25
>   diff -u -r1.24 -r1.25
>   --- TurbineWebMacroService.java       2001/03/06 06:12:59     1.24
>   +++ TurbineWebMacroService.java       2001/03/06 07:54:54     1.25
>   @@ -88,7 +88,7 @@
>     * @author <a href="mailto:mbryson@mont.mindspring.com">Dave Bryson</a>
>     * @author <a href="mailto:krzewski@e-point.pl">Rafal Krzewski</a>
>     * @author <a href="mailto:dlr@collab.net">Daniel Rall</a>
>   - * @version $Id: TurbineWebMacroService.java,v 1.24 2001/03/06 06:12:59 chrise Exp $
>   + * @version $Id: TurbineWebMacroService.java,v 1.25 2001/03/06 07:54:54 dlr Exp $
>     */
>    public class TurbineWebMacroService
>        extends TurbineBaseService
>   @@ -308,15 +308,15 @@
>            String WMTemplateProvider =
>                props.getProperty("templates.provider", null);
> 
>   -        StringBuffer buf = new StringBuffer("WebMacroService properties:\n");
>   +        StringBuffer buf = new StringBuffer("WebMacroService properties:");
>            Enumeration keys = props.propertyNames();
>            while (keys.hasMoreElements())
>            {
>                String key = (String)keys.nextElement();
>   -            buf.append("  ").append(key).append('=')
>   -                .append(props.getProperty(key)).append('\n');
>   +            buf.append("\n  ").append(key).append('=')
>   +                .append(props.getProperty(key));
>            }
>   -        Log.debug(buf.toString());
>   +        Log.info(buf.toString());
> 
>            if (WMProperties != null)
>            {
>   @@ -345,15 +345,23 @@
>            try
>            {
>                // If possible, transform paths to be webapp root relative.
>   -            WMTemplates = ServletUtils.expandRelative(config, WMTemplates);
>   +            String separator = getPathSeparator();
>   +            String[] paths = StringUtils.split(WMTemplates, separator);
>   +            for (int i = 0; i < paths.length; i++)
>   +            {
>   +                paths[i] = ServletUtils.expandRelative(config, paths[i]);
>   +            }
>   +            WMTemplates = StringUtils.join(paths, separator);
> 
>                // Store the converted path in service properties for
>                // Turbine based providers.
>                props.put("templates", WMTemplates);
> 
>   +            ResourceBroker resourceBroker = (ResourceBroker)broker;
>   +
>                // Create a resource map to access WebMacro configuration
>                // entries.
>   -            ResourceMap map = ((ResourceBroker)broker).get(Config.TYPE);
>   +            ResourceMap map = resourceBroker.get(Config.TYPE);
> 
>                // Update templates path in WebMacro config broker, for
>                // WebMacro based providers.
>   @@ -364,13 +372,28 @@
>                // http://suokong.e-point.pl/turbine.
>                //
>                // Rafal
>   -
>   -            // Instantiate template provider.
>   -            ResourceProvider provider =
>   -                (ResourceProvider)Class.forName(WMTemplateProvider).newInstance();
> 
>   -            // Add the provider to the broker.
>   -            ((ResourceBroker)broker).join(provider);
>   +            // Replace WM's TemplateProvider with Turbine's.
>   +            try
>   +            {
>   +                // Instantiate Turbine's TemplateProvider.
>   +                Log.debug("Loading TurbineTemplateProvider");
>   +                Class c = Class.forName(WMTemplateProvider);
>   +                ResourceProvider provider = (ResourceProvider)c.newInstance();
>   +
>   +                // Register the provider with the broker.
>   +                Log.debug("Registering TurbineTemplateProvider with WebMacro");
>   +                resourceBroker.join(provider);
>   +                /* TODO: Find WM template provider instance and remove it.
>   +                   ResourceProvider wmProvier = null;
>   +                   resourceBroker.leave(wmProvider);
>   +                */
>   +            }
>   +            catch (Exception e)
>   +            {
>   +                throw new TurbineException
>   +                    ("Unable to register TurbineTemplateProvider", e);
>   +            }
> 
>                // Note that WebMacro.properties shouldn't contain
>                // org.webmacro.resource.TemplateProvider in the Providers
>   @@ -393,10 +416,20 @@
>                //
>                // Rafal
>            }
>   -        catch(Exception e)
>   +        catch (Exception e)
>            {
>   -            throw new InitializationException("Failed to set up WebMacro templates", e);
>   +            throw new InitializationException
>   +                ("Failed to set up WebMacro templates", e);
>            }
>   +    }
>   +
>   +    /**
>   +     * Returns the system property <code>path.separator</code>, defaulting to
>   +     * <code>;</code>.
>   +     */
>   +    protected static final String getPathSeparator()
>   +    {
>   +        return System.getProperty("path.separator", ";");
>        }
> 
>        /**
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: turbine-dev-help@jakarta.apache.org