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/01/30 20:58:54 UTC

svn commit: r616874 - in /tiles/framework/trunk: tiles-api/src/main/java/org/apache/tiles/ tiles-core/src/main/java/org/apache/tiles/definition/digester/ tiles-core/src/main/java/org/apache/tiles/impl/ tiles-core/src/main/java/org/apache/tiles/impl/mgm...

Author: apetrelli
Date: Wed Jan 30 11:58:46 2008
New Revision: 616874

URL: http://svn.apache.org/viewvc?rev=616874&view=rev
Log:
TILES-244
Deprecated the "name" property of Attribute, Definition.addAttribute and modified calling code.

Modified:
    tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Attribute.java
    tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Definition.java
    tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.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/main/java/org/apache/tiles/web/util/TilesDecorationFilter.java
    tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinitions.java
    tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java

Modified: tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Attribute.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Attribute.java?rev=616874&r1=616873&r2=616874&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Attribute.java (original)
+++ tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Attribute.java Wed Jan 30 11:58:46 2008
@@ -129,7 +129,9 @@
     /**
      * The name of the attribute. If it is <code>null</code>, it should be used
      * as an element of a list attribute.
+     * @deprecated It is not used.
      */
+    @Deprecated
     private String name = null;
 
     /**
@@ -317,9 +319,11 @@
      * Returns the name of the attribute.
      *
      * @return The name of the attribute. It can be <code>null</code>, but in
-     * this case it should be used as an element of
-     * <code>ListAttribute</code>
+     * this case it should be used as an element of <code>ListAttribute</code>
+     * @deprecated Use the <code>getName</code> methods in object that contain
+     * attributes.
      */
+    @Deprecated
     public String getName() {
         return name;
     }
@@ -330,7 +334,10 @@
      * @param name The name of the attribute. It can be <code>null</code>,
      * but in this case it should be used as an element of
      * <code>ListAttribute</code>
+     * @deprecated Use the <code>setName</code> methods in object that contain
+     * attributes.
      */
+    @Deprecated
     public void setName(String name) {
         this.name = name;
     }

Modified: tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Definition.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Definition.java?rev=616874&r1=616873&r2=616874&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Definition.java (original)
+++ tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Definition.java Wed Jan 30 11:58:46 2008
@@ -235,7 +235,9 @@
      * This method is used by Digester to load definitions.
      *
      * @param attribute Attribute to add.
+     * @deprecated Use {@link Definition#putAttribute(String, Attribute)}.
      */
+    @Deprecated
     public void addAttribute(Attribute attribute) {
         putAttribute(attribute.getName(), attribute);
     }

Modified: tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java?rev=616874&r1=616873&r2=616874&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java (original)
+++ tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java Wed Jan 30 11:58:46 2008
@@ -142,17 +142,11 @@
      */
     public static class FillAttributeRule extends Rule {
 
-        /**
-         * Constructor.
-         */
-        public FillAttributeRule() { };
-
         /** {@inheritDoc} */
         @Override
         public void begin(String namespace, String name, Attributes attributes)
                 throws Exception {
             Attribute attribute = (Attribute) digester.peek();
-            attribute.setName(attributes.getValue("name"));
             attribute.setValue(attributes.getValue("value"));
             attribute.setRole(attributes.getValue("role"));
             attribute.setType(AttributeType
@@ -161,6 +155,22 @@
     }
 
     /**
+     * Digester rule to manage assignment of the attribute to the parent
+     * element.
+     */
+    public static class PutAttributeRule extends Rule {
+
+        /** {@inheritDoc} */
+        @Override
+        public void begin(String namespace, String name, Attributes attributes)
+                throws Exception {
+            Attribute attribute = (Attribute) digester.peek(0);
+            Definition definition = (Definition) digester.peek(1);
+            definition.putAttribute(attributes.getValue("name"), attribute);
+        }
+    }
+
+    /**
      * <code>Digester</code> object used to read Definition data
      * from the source.
      */
@@ -319,13 +329,13 @@
         // first position ensure it will be called last (sic).
         digester.addObjectCreate(PUT_TAG, PUT_ATTRIBUTE_HANDLER_CLASS);
         digester.addRule(PUT_TAG, new FillAttributeRule());
-        digester.addSetNext(PUT_TAG, "addAttribute", PUT_ATTRIBUTE_HANDLER_CLASS);
+        digester.addRule(PUT_TAG, new PutAttributeRule());
         digester.addCallMethod(PUT_TAG, "setBody", 0);
         // Definition level list rules
         // This is rules for lists nested in a definition
         digester.addObjectCreate(DEF_LIST_TAG, LIST_HANDLER_CLASS);
         digester.addSetProperties(DEF_LIST_TAG);
-        digester.addSetNext(DEF_LIST_TAG, "addAttribute", PUT_ATTRIBUTE_HANDLER_CLASS);
+        digester.addRule(DEF_LIST_TAG, new PutAttributeRule());
         // list elements rules
         // We use Attribute class to avoid rewriting a new class.
         // Name part can't be used in listElement attribute.

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=616874&r1=616873&r2=616874&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 Wed Jan 30 11:58:46 2008
@@ -257,8 +257,8 @@
 
         if (!isPermitted(request, attr.getRoles())) {
             if (LOG.isDebugEnabled()) {
-                LOG.debug("Access to attribute '" + attr.getName()
-                        + "' denied.  User not in role '" + attr.getRoles());
+                LOG.debug("Access to attribute denied.  User not in role '"
+                        + attr.getRoles() + "'");
             }
             return;
         }

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=616874&r1=616873&r2=616874&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 Wed Jan 30 11:58:46 2008
@@ -147,10 +147,6 @@
     private void validate(Definition definition) {
         Map<String, Attribute> attrs = definition.getAttributes();
         for (Attribute attribute : attrs.values()) {
-            if (attribute.getName() == null) {
-                throw new IllegalArgumentException("Attribute name not defined");
-            }
-
             if (attribute.getValue() == null) {
                 throw new IllegalArgumentException("Attribute value not defined");
             }

Modified: tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/web/util/TilesDecorationFilter.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/web/util/TilesDecorationFilter.java?rev=616874&r1=616873&r2=616874&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/web/util/TilesDecorationFilter.java (original)
+++ tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/web/util/TilesDecorationFilter.java Wed Jan 30 11:58:46 2008
@@ -274,7 +274,6 @@
         public void mutate(AttributeContext ctx, ServletRequest req) {
             Attribute attr = new Attribute();
             attr.setType(AttributeType.TEMPLATE);
-            attr.setName(definitionAttributeName);
             attr.setValue(getRequestBase(req));
             ctx.putAttribute(definitionAttributeName, attr);
         }

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=616874&r1=616873&r2=616874&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 Wed Jan 30 11:58:46 2008
@@ -75,20 +75,17 @@
         def.setName("parent.def1");
         def.setTemplate("/test1.jsp");
         Attribute attr = new Attribute();
-        attr.setName("attr1");
         attr.setValue("value1");
-        def.addAttribute(attr);
+        def.putAttribute("attr1", attr);
         attr = new Attribute();
-        attr.setName("attr2");
         attr.setValue("tiles.def1");
         // No type set
-        def.addAttribute(attr);
+        def.putAttribute("attr2", attr);
         defs.put(def.getName(), def);
         attr = new Attribute();
-        attr.setName("attr3");
         attr.setValue("tiles.def1");
         attr.setType(AttributeType.STRING);
-        def.addAttribute(attr);
+        def.putAttribute("attr3", attr);
         defs.put(def.getName(), def);
 
         def = new Definition();
@@ -100,9 +97,8 @@
         def.setName("child.def1");
         def.setExtends("parent.def1");
         attr = new Attribute();
-        attr.setName("attr1");
         attr.setValue("New value");
-        def.addAttribute(attr);
+        def.putAttribute("attr1", attr);
         defs.put(def.getName(), def);
 
         Definitions definitions = new DefinitionsImpl();
@@ -157,18 +153,16 @@
         def.setName("parent.def1");
         def.setTemplate("/test1.jsp");
         Attribute attr = new Attribute();
-        attr.setName("attr1");
         attr.setValue("value1");
-        def.addAttribute(attr);
+        def.putAttribute("attr1", attr);
         defs.put(def.getName(), def);
 
         def = new Definition();
         def.setName("child.def1");
         def.setExtends("parent.def1");
         attr = new Attribute();
-        attr.setName("attr1");
         attr.setValue("New value");
-        def.addAttribute(attr);
+        def.putAttribute("attr1", attr);
         defs.put(def.getName(), def);
 
         Map<String, Definition> localDefs = new HashMap<String, Definition>();
@@ -176,9 +170,8 @@
         def.setName("child.def1");
         def.setExtends("parent.def1");
         attr = new Attribute();
-        attr.setName("attr1");
         attr.setValue("US Value");
-        def.addAttribute(attr);
+        def.putAttribute("attr1", attr);
         localDefs.put(def.getName(), def);
 
         Definitions definitions = new DefinitionsImpl();
@@ -230,18 +223,16 @@
         def.setName("parent.def1");
         def.setTemplate("/test1.jsp");
         Attribute attr = new Attribute();
-        attr.setName("attr1");
         attr.setValue("value1");
-        def.addAttribute(attr);
+        def.putAttribute("attr1", attr);
         defs.put(def.getName(), def);
 
         def = new Definition();
         def.setName("child.def1");
         def.setExtends("parent.def1");
         attr = new Attribute();
-        attr.setName("attr1");
         attr.setValue("New value");
-        def.addAttribute(attr);
+        def.putAttribute("attr1", attr);
         defs.put(def.getName(), def);
 
         Definitions definitions = new DefinitionsImpl();
@@ -273,20 +264,18 @@
         def.setName("parent.def1");
         def.setTemplate("/test1.jsp");
         Attribute attr = new Attribute();
-        attr.setName("attr1");
         attr.setValue("tiles.def2");
         attr.setType(AttributeType.DEFINITION);
-        def.addAttribute(attr);
+        def.putAttribute("attr1", attr);
         defs.put(def.getName(), def);
 
         def = new Definition();
         def.setName("parent.notype.def1");
         def.setTemplate("/test1.jsp");
         attr = new Attribute();
-        attr.setName("attr1");
         attr.setValue("tiles.def2");
         // Don't set the type
-        def.addAttribute(attr);
+        def.putAttribute("attr1", attr);
         defs.put(def.getName(), def);
 
         def = new Definition();
@@ -305,9 +294,8 @@
         def.setName("parent.def2");
         def.setTemplate("/test1.jsp");
         attr = new Attribute();
-        attr.setName("attr1");
         attr.setValue("tiles.def3");
-        def.addAttribute(attr);
+        def.putAttribute("attr1", attr);
         defs.put(def.getName(), def);
         def = new Definition();
         def.setName("tiles.def3");

Modified: tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java?rev=616874&r1=616873&r2=616874&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java (original)
+++ tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java Wed Jan 30 11:58:46 2008
@@ -232,7 +232,6 @@
     public void processNestedTag(PutAttributeTag nestedTag) throws JspException {
         Attribute attr = new Attribute(nestedTag.getValue(),
             nestedTag.getRole(), AttributeType.getType(nestedTag.getType()));
-        attr.setName(nestedTag.getName());
         attributes.put(nestedTag.getName(), attr);
     }
 }