You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by ap...@apache.org on 2008/02/04 19:53:03 UTC

svn commit: r618376 - in /tiles/framework/trunk: tiles-api/src/main/java/org/apache/tiles/ tiles-api/src/test/java/org/apache/tiles/ tiles-core/src/main/java/org/apache/tiles/definition/ tiles-core/src/main/java/org/apache/tiles/impl/ tiles-core/src/ma...

Author: apetrelli
Date: Mon Feb  4 10:53:02 2008
New Revision: 618376

URL: http://svn.apache.org/viewvc?rev=618376&view=rev
Log:
TILES-245
Deprecated one last method in AttributeContext.
Removed references to deprecated methods.

Modified:
    tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/AttributeContext.java
    tiles/framework/trunk/tiles-api/src/test/java/org/apache/tiles/TestDefinition.java
    tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsImpl.java
    tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java
    tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/DefinitionManager.java
    tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinitions.java

Modified: tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/AttributeContext.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/AttributeContext.java?rev=618376&r1=618375&r2=618376&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/AttributeContext.java (original)
+++ tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/AttributeContext.java Mon Feb  4 10:53:02 2008
@@ -92,6 +92,8 @@
      * Iterator of all attribute names.
      *
      * @return iterator of all names.
+     * @deprecated Use {@link AttributeContext#getLocalAttributeNames()} or
+     * {@link AttributeContext#getCascadedAttributeNames()}.
      */
     @Deprecated
     Iterator<String> getAttributeNames();

Modified: tiles/framework/trunk/tiles-api/src/test/java/org/apache/tiles/TestDefinition.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/test/java/org/apache/tiles/TestDefinition.java?rev=618376&r1=618375&r2=618376&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-api/src/test/java/org/apache/tiles/TestDefinition.java (original)
+++ tiles/framework/trunk/tiles-api/src/test/java/org/apache/tiles/TestDefinition.java Mon Feb  4 10:53:02 2008
@@ -71,10 +71,10 @@
         Definition def = new Definition();
         def.setName("test1");
         def.setTemplate("/page1.jsp");
-        def.put("attr1", "test.definition.name", AttributeType.DEFINITION,
-                null);
+        Attribute attr1 = new Attribute("test.definition.name", null, AttributeType.DEFINITION);
+        def.putAttribute("attr1",  attr1);
 
-        Attribute attr1 = def.getAttribute("attr1");
+        attr1 = def.getAttribute("attr1");
         assertNotNull("Null attribute.", attr1);
         assertTrue("Wrong attribute type",
                 attr1.getType() == AttributeType.DEFINITION);

Modified: tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsImpl.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsImpl.java?rev=618376&r1=618375&r2=618376&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsImpl.java (original)
+++ tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsImpl.java Mon Feb  4 10:53:02 2008
@@ -244,7 +244,7 @@
 
         resolveInheritance(parent, locale, alreadyResolvedDefinitions);
 
-        overload(parent, definition);
+        definition.inherit(parent);
     }
 
     /**
@@ -256,24 +256,10 @@
      *
      * @param parent The parent definition.
      * @param child  The child that will be overloaded.
+     * @deprecated Use {@link Definition#inherit(org.apache.tiles.AttributeContext)}.
      */
-    // FIXME This is the same as DefinitionManager.overload.
+    @Deprecated
     protected void overload(Definition parent, Definition child) {
-        // Iterate on each parent's attribute and add it if not defined in child.
-        for (Map.Entry<String, Attribute> entry : parent.getAttributes().entrySet()) {
-            if (!child.hasAttributeValue(entry.getKey())) {
-                child.putAttribute(entry.getKey(), new Attribute(entry.getValue()));
-            }
-        }
-        // Set template and role if not setted
-        if (child.getTemplate() == null) {
-            child.setTemplate(parent.getTemplate());
-        }
-        if (child.getRoles() == null) {
-            child.setRoles(parent.getRoles());
-        }
-        if (child.getPreparer() == null) {
-            child.setPreparer(parent.getPreparer());
-        }
+        child.inherit(parent);
     }
 }

Modified: tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java?rev=618376&r1=618375&r2=618376&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java (original)
+++ tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java Mon Feb  4 10:53:02 2008
@@ -590,7 +590,7 @@
 
         AttributeContext originalContext = getAttributeContext(request);
         BasicAttributeContext subContext = new BasicAttributeContext(originalContext);
-        subContext.addMissing(definition.getAttributes());
+        subContext.inherit(definition);
         pushContext(subContext, request);
 
         try {

Modified: tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/DefinitionManager.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/DefinitionManager.java?rev=618376&r1=618375&r2=618376&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/DefinitionManager.java (original)
+++ tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/DefinitionManager.java Mon Feb  4 10:53:02 2008
@@ -31,6 +31,7 @@
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * Manages custom and configured definitions, so they can be used by the
@@ -145,10 +146,24 @@
      * @param definition The definition to validate.
      */
     private void validate(Definition definition) {
-        Map<String, Attribute> attrs = definition.getAttributes();
-        for (Attribute attribute : attrs.values()) {
-            if (attribute.getValue() == null) {
-                throw new IllegalArgumentException("Attribute value not defined");
+        Set<String> names = definition.getLocalAttributeNames();
+        if (names != null) {
+            for (String name : names) {
+                Attribute attribute = definition.getLocalAttribute(name);
+                if (attribute.getValue() == null) {
+                    throw new IllegalArgumentException(
+                            "Attribute '" + name + "' value not defined");
+                }
+            }
+        }
+        names = definition.getCascadedAttributeNames();
+        if (names != null) {
+            for (String name : names) {
+                Attribute attribute = definition.getCascadedAttribute(name);
+                if (attribute.getValue() == null) {
+                    throw new IllegalArgumentException(
+                            "Attribute '" + name + "' value not defined");
+                }
             }
         }
     }
@@ -210,27 +225,10 @@
      *
      * @param parent The parent definition.
      * @param child  The child that will be overloaded.
+     * @deprecated Use {@link Definition#inherit(Definition)}.
      */
-    // FIXME This is the same as DefinitionsImpl.overload.
     protected void overload(Definition parent, Definition child) {
-        // Iterate on each parent's attribute and add it if not defined in child.
-        for (Map.Entry<String, Attribute> entry : parent.getAttributes().entrySet()) {
-            if (!child.hasAttributeValue(entry.getKey())) {
-                child.putAttribute(entry.getKey(), new Attribute(entry.getValue()));
-            }
-        }
-
-        if (child.getTemplate() == null) {
-            child.setTemplate(parent.getTemplate());
-        }
-
-        if (child.getRoles() == null) {
-            child.setRoles(parent.getRoles());
-        }
-
-        if (child.getPreparer() == null) {
-            child.setPreparer(parent.getPreparer());
-        }
+        child.inherit(parent);
     }
 
     /**

Modified: tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinitions.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinitions.java?rev=618376&r1=618375&r2=618376&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinitions.java (original)
+++ tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinitions.java Mon Feb  4 10:53:02 2008
@@ -116,11 +116,11 @@
         assertEquals("Incorrect attr1 value", "value1", def
                 .getAttribute("attr1").getValue());
 
-        attr = def.getAttributes().get("attr1");
+        attr = def.getAttribute("attr1");
         assertNotNull("Dependent attribute not found.", attr);
-        attr = def.getAttributes().get("attr2");
+        attr = def.getAttribute("attr2");
         assertNotNull("Dependent attribute not found.", attr);
-        attr = def.getAttributes().get("attr3");
+        attr = def.getAttribute("attr3");
         assertNotNull("Dependent attribute not found.", attr);
         assertTrue("The attribute 'attr3' should be of type STRING", attr
                 .getType() == AttributeType.STRING);
@@ -134,11 +134,11 @@
         assertEquals("Incorrect attr1 value", "New value", definitions
                 .getDefinition("child.def1").getAttribute("attr1").getValue());
 
-        attr = def.getAttributes().get("attr1");
+        attr = def.getAttribute("attr1");
         assertNotNull("Dependent attribute not found.", attr);
-        attr = def.getAttributes().get("attr2");
+        attr = def.getAttribute("attr2");
         assertNotNull("Dependent attribute not found.", attr);
-        attr = def.getAttributes().get("attr3");
+        attr = def.getAttribute("attr3");
         assertNotNull("Dependent attribute not found.", attr);
         assertTrue("The attribute 'attr3' should be of type STRING", attr
                 .getType() == AttributeType.STRING);
@@ -342,7 +342,7 @@
         newDef = definitions.getDefinition("parent.def2", Locale.ITALIAN);
         assertNotNull("Parent definition not found.", newDef);
 
-        attr = newDef.getAttributes().get("attr1");
+        attr = newDef.getAttribute("attr1");
         assertNotNull("Dependent attribute not found.", attr);
     }
 }