Author: apetrelli
Date: Sat Feb  7 22:42:00 2009
New Revision: 741976

URL: http://svn.apache.org/viewvc?rev=741976&view=rev
Log:
TILESSB-4
Storing the Tiles models under a non-default key.

Added:
    
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
   (with props)
Modified:
    
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/servlet/TilesFreemarkerServlet.java
    
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
    tiles/sandbox/trunk/tiles-test-sandbox/src/main/webapp/layout.ftl

Modified: 
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/servlet/TilesFreemarkerServlet.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/servlet/TilesFreemarkerServlet.java?rev=741976&r1=741975&r2=741976&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/servlet/TilesFreemarkerServlet.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/servlet/TilesFreemarkerServlet.java
 Sat Feb  7 22:42:00 2009
@@ -1,29 +1,9 @@
 package org.apache.tiles.freemarker.servlet;
 
-import org.apache.tiles.freemarker.template.AddAttributeFMModel;
-import org.apache.tiles.freemarker.template.AddListAttributeFMModel;
-import org.apache.tiles.freemarker.template.DefinitionFMModel;
-import org.apache.tiles.freemarker.template.GetAsStringFMModel;
-import org.apache.tiles.freemarker.template.ImportAttributeFMModel;
-import org.apache.tiles.freemarker.template.InsertAttributeFMModel;
-import org.apache.tiles.freemarker.template.InsertDefinitionFMModel;
-import org.apache.tiles.freemarker.template.InsertTemplateFMModel;
-import org.apache.tiles.freemarker.template.PutAttributeFMModel;
-import org.apache.tiles.freemarker.template.PutListAttributeFMModel;
-import org.apache.tiles.freemarker.template.SetCurrentContainerFMModel;
-import org.apache.tiles.template.AddAttributeModel;
-import org.apache.tiles.template.AddListAttributeModel;
-import org.apache.tiles.template.AttributeResolver;
-import org.apache.tiles.template.DefaultAttributeResolver;
-import org.apache.tiles.template.DefinitionModel;
-import org.apache.tiles.template.GetAsStringModel;
-import org.apache.tiles.template.ImportAttributeModel;
-import org.apache.tiles.template.InsertAttributeModel;
-import org.apache.tiles.template.InsertDefinitionModel;
-import org.apache.tiles.template.InsertTemplateModel;
-import org.apache.tiles.template.PutAttributeModel;
-import org.apache.tiles.template.PutListAttributeModel;
+import org.apache.tiles.freemarker.template.TilesFMModelRepository;
 
+import freemarker.ext.beans.BeanModel;
+import freemarker.ext.beans.BeansWrapper;
 import freemarker.ext.servlet.FreemarkerServlet;
 import freemarker.template.Configuration;
 
@@ -38,30 +18,9 @@
     protected Configuration createConfiguration() {
         Configuration configuration = super.createConfiguration();
 
-        configuration.setSharedVariable("addAttribute",
-                new AddAttributeFMModel(new AddAttributeModel()));
-        configuration.setSharedVariable("addListAttribute",
-                new AddListAttributeFMModel(new AddListAttributeModel()));
-        configuration.setSharedVariable("definition", new DefinitionFMModel(
-                new DefinitionModel()));
-        AttributeResolver attributeResolver = new DefaultAttributeResolver();
-        configuration.setSharedVariable("getAsString", new GetAsStringFMModel(
-                new GetAsStringModel(attributeResolver)));
-        configuration.setSharedVariable("importAttribute",
-                new ImportAttributeFMModel(new ImportAttributeModel()));
-        configuration.setSharedVariable("insertAttribute",
-                new InsertAttributeFMModel(new InsertAttributeModel(
-                        attributeResolver)));
-        configuration.setSharedVariable("insertDefinition",
-                new InsertDefinitionFMModel(new InsertDefinitionModel()));
-        configuration.setSharedVariable("insertTemplate",
-                new InsertTemplateFMModel(new InsertTemplateModel()));
-        configuration.setSharedVariable("putAttribute",
-                new PutAttributeFMModel(new PutAttributeModel()));
-        configuration.setSharedVariable("putListAttribute",
-                new PutListAttributeFMModel(new PutListAttributeModel()));
-        configuration.setSharedVariable("setCurrentContainer",
-                new SetCurrentContainerFMModel());
+        BeanModel tilesBeanModel = new BeanModel(new TilesFMModelRepository(),
+                BeansWrapper.getDefaultInstance());
+        configuration.setSharedVariable("tiles", tilesBeanModel);
         return configuration;
     }
 

Modified: 
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java?rev=741976&r1=741975&r2=741976&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
 Sat Feb  7 22:42:00 2009
@@ -26,6 +26,7 @@
         Map<String, TemplateModel> parms = (Map<String, TemplateModel>) params;
         model.start(FreeMarkerUtil.getCurrentContainer(env), env);
         FreeMarkerUtil.evaluateBody(body);
+        FreeMarkerUtil.setForceInclude(env, true);
         model.end(FreeMarkerUtil.getCurrentContainer(env), FreeMarkerUtil
                 .getAsString(parms.get("template")), FreeMarkerUtil
                 .getAsString(parms.get("role")), FreeMarkerUtil

Added: 
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java?rev=741976&view=auto
==============================================================================
--- 
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
 (added)
+++ 
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
 Sat Feb  7 22:42:00 2009
@@ -0,0 +1,136 @@
+package org.apache.tiles.freemarker.template;
+
+import org.apache.tiles.template.AddAttributeModel;
+import org.apache.tiles.template.AddListAttributeModel;
+import org.apache.tiles.template.AttributeResolver;
+import org.apache.tiles.template.DefaultAttributeResolver;
+import org.apache.tiles.template.DefinitionModel;
+import org.apache.tiles.template.GetAsStringModel;
+import org.apache.tiles.template.ImportAttributeModel;
+import org.apache.tiles.template.InsertAttributeModel;
+import org.apache.tiles.template.InsertDefinitionModel;
+import org.apache.tiles.template.InsertTemplateModel;
+import org.apache.tiles.template.PutAttributeModel;
+import org.apache.tiles.template.PutListAttributeModel;
+
+public class TilesFMModelRepository {
+
+    private AddAttributeFMModel addAttribute;
+
+    private AddListAttributeFMModel addListAttribute;
+
+    private DefinitionFMModel definition;
+
+    private GetAsStringFMModel getAsString;
+
+    private ImportAttributeFMModel importAttribute;
+
+    private InsertAttributeFMModel insertAttribute;
+
+    private InsertDefinitionFMModel insertDefinition;
+
+    private InsertTemplateFMModel insertTemplate;
+
+    private PutAttributeFMModel putAttribute;
+
+    private PutListAttributeFMModel putListAttribute;
+
+    private SetCurrentContainerFMModel setCurrentContainer;
+
+    public TilesFMModelRepository() {
+        addAttribute = new AddAttributeFMModel(new AddAttributeModel());
+        addListAttribute = new AddListAttributeFMModel(
+                new AddListAttributeModel());
+        definition = new DefinitionFMModel(new DefinitionModel());
+        AttributeResolver attributeResolver = new DefaultAttributeResolver();
+        getAsString = new GetAsStringFMModel(new GetAsStringModel(
+                attributeResolver));
+        importAttribute = new ImportAttributeFMModel(new 
ImportAttributeModel());
+        insertAttribute = new InsertAttributeFMModel(new InsertAttributeModel(
+                attributeResolver));
+        insertDefinition = new InsertDefinitionFMModel(
+                new InsertDefinitionModel());
+        insertTemplate = new InsertTemplateFMModel(new InsertTemplateModel());
+        putAttribute = new PutAttributeFMModel(new PutAttributeModel());
+        putListAttribute = new PutListAttributeFMModel(
+                new PutListAttributeModel());
+        setCurrentContainer = new SetCurrentContainerFMModel();
+    }
+
+    /**
+     * @return the addAttribute
+     */
+    public AddAttributeFMModel getAddAttribute() {
+        return addAttribute;
+    }
+
+    /**
+     * @return the addListAttribute
+     */
+    public AddListAttributeFMModel getAddListAttribute() {
+        return addListAttribute;
+    }
+
+    /**
+     * @return the definition
+     */
+    public DefinitionFMModel getDefinition() {
+        return definition;
+    }
+
+    /**
+     * @return the getAsString
+     */
+    public GetAsStringFMModel getGetAsString() {
+        return getAsString;
+    }
+
+    /**
+     * @return the importAttribute
+     */
+    public ImportAttributeFMModel getImportAttribute() {
+        return importAttribute;
+    }
+
+    /**
+     * @return the insertAttribute
+     */
+    public InsertAttributeFMModel getInsertAttribute() {
+        return insertAttribute;
+    }
+
+    /**
+     * @return the insertDefinition
+     */
+    public InsertDefinitionFMModel getInsertDefinition() {
+        return insertDefinition;
+    }
+
+    /**
+     * @return the insertTemplate
+     */
+    public InsertTemplateFMModel getInsertTemplate() {
+        return insertTemplate;
+    }
+
+    /**
+     * @return the putAttribute
+     */
+    public PutAttributeFMModel getPutAttribute() {
+        return putAttribute;
+    }
+
+    /**
+     * @return the putListAttribute
+     */
+    public PutListAttributeFMModel getPutListAttribute() {
+        return putListAttribute;
+    }
+
+    /**
+     * @return the setCurrentContainer
+     */
+    public SetCurrentContainerFMModel getSetCurrentContainer() {
+        return setCurrentContainer;
+    }
+}

Propchange: 
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: tiles/sandbox/trunk/tiles-test-sandbox/src/main/webapp/layout.ftl
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-test-sandbox/src/main/webapp/layout.ftl?rev=741976&r1=741975&r2=741976&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-test-sandbox/src/main/webapp/layout.ftl (original)
+++ tiles/sandbox/trunk/tiles-test-sandbox/src/main/webapp/layout.ftl Sat Feb  
7 22:42:00 2009
@@ -23,13 +23,13 @@
 -->
 <table  border="2"  width="300"  bordercolor="Gray">
   <tr>
-    <td  bgcolor="Blue"><strong><@getAsString name="title"/></strong></td>
+    <td  bgcolor="Blue"><strong><@tiles.getAsString 
name="title"/></strong></td>
   </tr>
   <tr>
-    <td><@insertAttribute name="header"/></td>
+    <td><@tiles.insertAttribute name="header"/></td>
   </tr>
   <tr>
-    <td><@insertAttribute name="body"/></td>
+    <td><@tiles.insertAttribute name="body"/></td>
   </tr>
   <tr>
     <td>This layout is made in FreeMarker.</td>


Reply via email to