kinman      2002/11/25 17:25:29

  Modified:    jasper2/src/share/org/apache/jasper/compiler Generator.java
                        Node.java TagPluginManager.java
  Log:
  - Revert changes for tag plugin work.  I changed my mind.  :-)
  
  Revision  Changes    Path
  1.131     +64 -80    
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.130
  retrieving revision 1.131
  diff -u -r1.130 -r1.131
  --- Generator.java    23 Nov 2002 01:36:49 -0000      1.130
  +++ Generator.java    26 Nov 2002 01:25:29 -0000      1.131
  @@ -1558,8 +1558,6 @@
                   generateLocalVariables( out, n );
               }
   
  -         prepareCustomAttributes(n, handlerInfo);
  -
            if (n.implementsSimpleTag()) {
                generateCustomDoTag(n, handlerInfo, tagHandlerVar);
            } else {
  @@ -1881,69 +1879,6 @@
            }
        }
   
  -     /**
  -      * Preprocess the attributes for the custom tag, except fragment
  -      * attributes.
  -      */
  -     private void prepareCustomAttributes(Node.CustomTag n,
  -                                          TagHandlerInfo handlerInfo)
  -                    throws JasperException {
  -
  -            Node.JspAttribute[] attrs = n.getJspAttributes();
  -            for (int i=0; i<attrs.length; i++) {
  -                String attrValue = attrs[i].getValue();
  -                if (attrValue == null) {
  -                    if (attrs[i].isNamedAttribute() ) {
  -                        if (!n.checkIfAttributeIsJspFragment(
  -                             attrs[i].getName())) {
  -                            attrValue = generateNamedAttributeValue(
  -                                attrs[i].getNamedAttributeNode() );
  -                        }
  -                    }
  -                    else {
  -                        continue;
  -                    }
  -                }
  -                String attrName = attrs[i].getName();
  -
  -                Method m = null;
  -                Class[] c = null;
  -                if (attrs[i].isDynamic()) {
  -                    c = OBJECT_CLASS;
  -                } else {
  -                    m = handlerInfo.getSetterMethod(attrName);
  -                    if (m == null) {
  -                        err.jspError(n, "jsp.error.unable.to_find_method",
  -                                     attrName);
  -                    }
  -                    c = m.getParameterTypes();
  -                    // XXX assert(c.length > 0)
  -                }
  -
  -                if (attrs[i].isExpression()) {
  -                    // Do nothing
  -                } else if (attrs[i].isNamedAttribute()) {
  -                    if (!n.checkIfAttributeIsJspFragment(attrs[i].getName())
  -                            && !attrs[i].isDynamic()) {
  -                        attrValue = convertString(
  -                                c[0], attrValue, attrName,
  -                                handlerInfo.getPropertyEditorClass(attrName),
  -                                false);
  -                    }
  -                } else if (attrs[i].isELInterpreterInput()) {
  -                    // run attrValue through the expression interpreter
  -                    attrValue = JspUtil.interpreterCall(this.isTagFile,
  -                        attrValue, c[0], n.getPrefix(), "_jspx_fnmap" );
  -                } else {
  -                    attrValue = convertString(
  -                                c[0], attrValue, attrName,
  -                                handlerInfo.getPropertyEditorClass(attrName),
  -                                true);
  -                }
  -             attrs[i].setProcessedValue(attrValue);
  -         }
  -     }
  -
        private void generateCustomStart(Node.CustomTag n,
                                         TagHandlerInfo handlerInfo,
                                         String tagHandlerVar,
  @@ -2449,20 +2384,70 @@
                out.println(");");
            }
   
  -            Node.JspAttribute[] attrs = n.getJspAttributes();
  -            for (int i=0; i<attrs.length; i++) {
  -                String attrValue = attrs[i].getProcessedValue();
  -             if (attrValue == null && attrs[i].isNamedAttribute() &&
  -                     n.checkIfAttributeIsJspFragment(attrs[i].getName())) {
  -                 // XXX - no need to generate temporary variable here
  -                 attrValue = generateNamedAttributeJspFragment(
  +         Node.JspAttribute[] attrs = n.getJspAttributes();
  +         for (int i=0; i<attrs.length; i++) {
  +             String attrValue = attrs[i].getValue();
  +             if (attrValue == null) {
  +                    if( attrs[i].isNamedAttribute() ) {
  +                        if( n.checkIfAttributeIsJspFragment( 
  +                            attrs[i].getName() ) ) 
  +                        {
  +                            // XXX - no need to generate temporary variable 
  +                            // here
  +                            attrValue = generateNamedAttributeJspFragment( 
                                   attrs[i].getNamedAttributeNode(),
  -                                tagHandlerVar);
  -                }
  -                if (attrs[i].isDynamic()) {
  -                    out.printin(tagHandlerVar);
  -                    out.print(".");
  -                    out.print("setDynamicAttribute(");
  +                                tagHandlerVar );
  +                        }
  +                        else {
  +                            attrValue = generateNamedAttributeValue( 
  +                                attrs[i].getNamedAttributeNode() );
  +                        }
  +                    } 
  +                    else {
  +                        continue;
  +                    }
  +             }
  +             String attrName = attrs[i].getName();
  +
  +             Method m = null;
  +             Class[] c = null;
  +             if (attrs[i].isDynamic()) {
  +                 c = OBJECT_CLASS;
  +             } else {
  +                 m = handlerInfo.getSetterMethod(attrName);
  +                 if (m == null) {
  +                     err.jspError(n, "jsp.error.unable.to_find_method",
  +                                  attrName);
  +                 }
  +                 c = m.getParameterTypes();
  +                 // XXX assert(c.length > 0)
  +             }
  +
  +             if (attrs[i].isExpression()) {
  +                 // Do nothing
  +             } else if (attrs[i].isNamedAttribute()) {
  +                 if (!n.checkIfAttributeIsJspFragment(attrs[i].getName())
  +                         && !attrs[i].isDynamic()) {
  +                     attrValue = convertString(
  +                                c[0], attrValue, attrName,
  +                             handlerInfo.getPropertyEditorClass(attrName),
  +                             false);
  +                 }
  +             } else if (attrs[i].isELInterpreterInput()) {
  +                    // run attrValue through the expression interpreter
  +                    attrValue = JspUtil.interpreterCall(this.isTagFile,
  +                        attrValue, c[0], n.getPrefix(), "_jspx_fnmap" );
  +                } else {
  +                 attrValue = convertString(
  +                                c[0], attrValue, attrName,
  +                             handlerInfo.getPropertyEditorClass(attrName),
  +                             true);
  +             }
  +             
  +             if (attrs[i].isDynamic()) {
  +                 out.printin(tagHandlerVar);
  +                 out.print(".");
  +                 out.print("setDynamicAttribute(");
                       String uri = attrs[i].getURI();
                       if( "".equals( uri ) || (uri == null) ) {
                           out.print( "null" );
  @@ -2470,7 +2455,6 @@
                       else {
                           out.print("\"" + attrs[i].getURI() + "\"");
                       }
  -
                    out.print(", \"");
                    out.print(attrs[i].getLocalName());
                    out.print("\", ");
  @@ -2479,7 +2463,7 @@
                } else {
                    out.printin(tagHandlerVar);
                    out.print(".");
  -                 
out.print(handlerInfo.getSetterMethod(attrs[i].getName()).getName());
  +                 out.print(m.getName());
                    out.print("(");
                    out.print(attrValue);
                    out.println(");");
  
  
  
  1.41      +0 -15     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java
  
  Index: Node.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- Node.java 23 Nov 2002 01:36:49 -0000      1.40
  +++ Node.java 26 Nov 2002 01:25:29 -0000      1.41
  @@ -1395,13 +1395,6 @@
        private String uri;
        private String localName;
        private String value;
  -     /**
  -      * Value of the attribute after being proccessed, so that it
  -      * represents a Java expression, and not arbitary statements.
  -      * Currently only for CustomTag 's.
  -      * TODO: Maybe it's a good idea that it should contain NO EL.
  -      */
  -     private String processedValue;
        private boolean expression;
           private boolean el;
        private boolean dynamic;
  @@ -1519,14 +1512,6 @@
         */
        public boolean isDynamic() {
            return dynamic;
  -     }
  -
  -     public String getProcessedValue() {
  -         return processedValue;
  -     }
  -
  -     public void setProcessedValue(String pv) {
  -         processedValue = pv;
        }
       }
   
  
  
  
  1.2       +4 -4      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java
  
  Index: TagPluginManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TagPluginManager.java     23 Nov 2002 01:36:49 -0000      1.1
  +++ TagPluginManager.java     26 Nov 2002 01:25:29 -0000      1.2
  @@ -179,7 +179,7 @@
            Node.JspAttribute[] attrs = node.getJspAttributes();
            for (int i=0; i < attrs.length; i++) {
                if (attrs[i].getName().equals(attribute)) {
  -                 return attrs[i].getProcessedValue();
  +//               return attrs[i].getProcessedValue();
                }
            }
            return null;
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to