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 2009/09/22 12:47:58 UTC
svn commit: r817592 -
/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/RendererImplementationListener.java
Author: werpu
Date: Tue Sep 22 10:47:57 2009
New Revision: 817592
URL: http://svn.apache.org/viewvc?rev=817592&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-18
adding implementations for validators and renderers
Modified:
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/RendererImplementationListener.java
Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/RendererImplementationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/RendererImplementationListener.java?rev=817592&r1=817591&r2=817592&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/RendererImplementationListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/RendererImplementationListener.java Tue Sep 22 10:47:57 2009
@@ -23,8 +23,13 @@
import java.util.Map;
import org.apache.myfaces.scripting.api.AnnotationScanListener;
+import org.apache.myfaces.scripting.core.util.ClassUtils;
import javax.faces.render.FacesRenderer;
+import javax.faces.render.RenderKitFactory;
+import javax.faces.render.RenderKit;
+import javax.faces.render.Renderer;
+import javax.faces.FactoryFinder;
/**
* @author Werner Punz (latest modification by $Author$)
@@ -97,23 +102,41 @@
String theDefault = (String) params.get(PAR_RENDERERTYPE);
String renderKitId = (String) params.get(PAR_RENDERKITID);
-
AnnotationEntry entry = new AnnotationEntry(value, theDefault, renderKitId);
_alreadyRegistered.put(clazz.getName(), entry);
//getApplication().getResourceBundle(entry.getComponentFamily(), clazz.getName()) ;
+ if (renderKitId == null) {
+ renderKitId = RenderKitFactory.HTML_BASIC_RENDER_KIT;
+ }
+ if (log.isTraceEnabled()) {
+ log.trace("addRenderer(" + renderKitId + ", "
+ + entry.getComponentFamily() + ", " + entry.getRendererType()
+ + ", " + clazz.getName() + ")");
+ }
+ RenderKit rk = renderKitFactory().getRenderKit(null,
+ renderKitId);
+ try {
+ rk.addRenderer(entry.getComponentFamily(), entry.getRendererType(), (Renderer) clazz.newInstance());
+ } catch (InstantiationException e) {
+ log.error(e);
+ } catch (IllegalAccessException e) {
+ log.error(e);
+ }
+ }
+
+ private RenderKitFactory renderKitFactory() {
+ return (RenderKitFactory) FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY);
}
@Override
protected void addEntity(JavaClass clazz, Map<String, Object> params) {
- String value = getAnnotatedStringParam(params, PAR_FAMILY);
- String theDefault = getAnnotatedStringParam(params, PAR_RENDERERTYPE);
- String renderKitId = (String) getAnnotatedStringParam(params, PAR_RENDERKITID);
+
+ //TODO map this into a compile time thing, we have to compile our source
+ //class referenced and then we can process here
+ //not possible at source scan time :-(
- AnnotationEntry entry = new AnnotationEntry(value, theDefault, renderKitId);
- _alreadyRegistered.put(clazz.getFullyQualifiedName(), entry);
- //getApplication().addConverter(entry.getComponentFamily(), clazz.getFullyQualifiedName());
}
@Override
@@ -122,7 +145,6 @@
String theDefault = (String) params.get(PAR_RENDERERTYPE);
String renderKitId = (String) params.get(PAR_RENDERKITID);
-
AnnotationEntry entry = new AnnotationEntry(value, theDefault, renderKitId);
AnnotationEntry alreadyRegistered = (AnnotationEntry) _alreadyRegistered.get(clazz.getName());