You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2010/03/23 11:44:03 UTC
svn commit: r926524 - in /myfaces/extensions/scripting/trunk:
core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/
examples/myfaces20-example/src/main/webapp/
examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/a...
Author: werpu
Date: Tue Mar 23 10:44:03 2010
New Revision: 926524
URL: http://svn.apache.org/viewvc?rev=926524&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-97
fixed
Modified:
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java
myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/instantbean/HelloBean.java
myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/helloWorld2.xhtml
Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java?rev=926524&r1=926523&r2=926524&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java Tue Mar 23 10:44:03 2010
@@ -18,6 +18,7 @@
*/
package org.apache.myfaces.scripting.jsf2.annotation;
+import org.apache.commons.lang.StringUtils;
import org.apache.myfaces.config.RuntimeConfig;
import org.apache.myfaces.config.element.NavigationRule;
import org.apache.myfaces.config.impl.digester.elements.ManagedBean;
@@ -54,7 +55,6 @@ public class BeanImplementationListener
return annotation.equals(javax.faces.bean.ManagedBean.class);
}
-
public void register(Class clazz, java.lang.annotation.Annotation ann) {
String annotationName = ann.getClass().getName();
@@ -63,6 +63,9 @@ public class BeanImplementationListener
javax.faces.bean.ManagedBean annCasted = (javax.faces.bean.ManagedBean) ann;
String beanName = annCasted.name();
+ if (StringUtils.isBlank(beanName)) {
+ beanName = normalizeName(clazz.getName());
+ }
beanName = beanName.replaceAll("\"", "");
//we need to reregister for every bean due to possible managed prop
@@ -105,13 +108,13 @@ public class BeanImplementationListener
private void handleManagedpropertiesCompiled(ManagedBean mbean, Field[] fields) {
for (Field field : fields) {
if (log.isLoggable(Level.FINEST)) {
- log.log(Level.FINEST," Scanning field '" + field.getName() + "'");
+ log.log(Level.FINEST, " Scanning field '" + field.getName() + "'");
}
javax.faces.bean.ManagedProperty property = (javax.faces.bean.ManagedProperty) field
.getAnnotation(javax.faces.bean.ManagedProperty.class);
if (property != null) {
if (log.isLoggable(Level.FINE)) {
- log.log(Level.FINE," Field '" + field.getName()
+ log.log(Level.FINE, " Field '" + field.getName()
+ "' has a @ManagedProperty annotation");
}
@@ -156,6 +159,19 @@ public class BeanImplementationListener
return mbean == null || !mbean.getManagedBeanClassName().equals(clazz.getName());
}
+ /**
+ * name normalizer for automated name mapping
+ * (aka if no name attribute is given in the annotation)
+ *
+ * @param className the classname to be mapped (can be with package=
+ * @return the normalized jsf bean name
+ */
+ private String normalizeName(String className) {
+ String name = className.substring(className.lastIndexOf(".") + 1);
+
+ return name.substring(0, 1).toLowerCase() + name.substring(1);
+ }
+
@SuppressWarnings("unchecked")
public void purge(String className) {
RuntimeConfig config = getRuntimeConfig();
Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/instantbean/HelloBean.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/instantbean/HelloBean.java?rev=926524&r1=926523&r2=926524&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/instantbean/HelloBean.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/instantbean/HelloBean.java Tue Mar 23 10:44:03 2010
@@ -27,7 +27,7 @@ import javax.faces.bean.RequestScoped;
* @version $Revision$ $Date$
*/
-@ManagedBean(name="hello")
+@ManagedBean
@RequestScoped
public class HelloBean {
private String hello = "Hello world from an instant bean";
@@ -37,7 +37,7 @@ public class HelloBean {
}
public String getHello() {
- return hello + addedMethod();
+ return hello;
}
public void setHello(String hello) {
Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/helloWorld2.xhtml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/helloWorld2.xhtml?rev=926524&r1=926523&r2=926524&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/helloWorld2.xhtml (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/helloWorld2.xhtml Tue Mar 23 10:44:03 2010
@@ -10,7 +10,7 @@
<ui:composition template="/template.xhtml">
<ui:define name="body">
<h1 style="color: yellow;">
- <h:outputText value="#{hello.hello}" />
+ <h:outputText value="#{helloBean.hello}" />
</h1>
</ui:define>
</ui:composition>