Author: apetrelli
Date: Mon Feb 9 13:05:45 2009
New Revision: 742467
URL: http://svn.apache.org/viewvc?rev=742467&view=rev
Log:
TILESSB-4
Fixed DefinitionModel (to work with not-nested definitions) and
PutAttributeModel (to work with DefinitionModel).
Modified:
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/template/DefinitionModel.java
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/template/PutAttributeModel.java
Modified:
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/template/DefinitionModel.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/template/DefinitionModel.java?rev=742467&r1=742466&r2=742467&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/template/DefinitionModel.java
(original)
+++
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/template/DefinitionModel.java
Mon Feb 9 13:05:45 2009
@@ -25,6 +25,11 @@
Stack<Object> composeStack, String name, Object... requestItems) {
Definition definition = (Definition) composeStack.pop();
container.register(definition, requestItems);
+
+ if (composeStack.isEmpty()) {
+ return;
+ }
+
Object obj = composeStack.peek();
if (obj instanceof Attribute) {
Attribute attribute = (Attribute) obj;
Modified:
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/template/PutAttributeModel.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/template/PutAttributeModel.java?rev=742467&r1=742466&r2=742467&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/template/PutAttributeModel.java
(original)
+++
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/template/PutAttributeModel.java
Mon Feb 9 13:05:45 2009
@@ -4,6 +4,7 @@
import org.apache.tiles.Attribute;
import org.apache.tiles.AttributeContext;
+import org.apache.tiles.Definition;
import org.apache.tiles.TilesContainer;
public class PutAttributeModel {
@@ -16,9 +17,17 @@
public void end(TilesContainer container, Stack<Object> composeStack,
String name, Object value, String expression, String body,
String role, String type, boolean cascade, Object... requestItems)
{
- AttributeContext attributeContext = container
- .getAttributeContext(requestItems);
Attribute attribute = (Attribute) composeStack.pop();
+ AttributeContext attributeContext = null;
+ if (!composeStack.isEmpty()) {
+ Object obj = composeStack.peek();
+ if (obj instanceof Definition) {
+ attributeContext = (AttributeContext) obj;
+ }
+ }
+ if (attributeContext == null) {
+ attributeContext = container.getAttributeContext(requestItems);
+ }
if(value != null) {
attribute.setValue(value);
} else if (body != null) {