You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ki...@apache.org on 2002/11/26 02:25:29 UTC
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler Generator.java Node.java TagPluginManager.java
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: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>