[seam-commits] Seam SVN: r7434 - trunk/ui/src/main/java/org/jboss/seam/ui/facelet.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Mon Feb 18 13:26:15 EST 2008


Author: pete.muir at jboss.org
Date: 2008-02-18 13:26:15 -0500 (Mon, 18 Feb 2008)
New Revision: 7434

Added:
   trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletCompiler.java
Modified:
   trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletsRenderer.java
Log:
JBSEAM-2625

Added: trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletCompiler.java
===================================================================
--- trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletCompiler.java	                        (rev 0)
+++ trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletCompiler.java	2008-02-18 18:26:15 UTC (rev 7434)
@@ -0,0 +1,50 @@
+package org.jboss.seam.ui.facelet;
+
+import static org.jboss.seam.ScopeType.APPLICATION;
+
+import org.jboss.seam.Component;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.annotations.Create;
+import org.jboss.seam.annotations.Install;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.Unwrap;
+import org.jboss.seam.annotations.intercept.BypassInterceptors;
+import org.jboss.seam.contexts.Contexts;
+
+import com.sun.facelets.compiler.Compiler;
+import com.sun.facelets.compiler.SAXCompiler;
+
+ at Name("org.jboss.seam.ui.facelet.faceletCompiler")
+ at Scope(APPLICATION)
+ at BypassInterceptors
+ at AutoCreate
+ at Install(value = true, precedence = Install.BUILT_IN, classDependencies="com.sun.facelets.Facelet")
+public class FaceletCompiler
+{
+
+   private Compiler compiler;
+   
+   @Create
+   public void create()
+   {
+      compiler = new SAXCompiler();
+   }
+   
+   @Unwrap
+   public Compiler unwrap()
+   {
+      return compiler;
+   }
+   
+   public static Compiler instance()
+   {
+      if ( !Contexts.isApplicationContextActive() )
+      {
+         throw new IllegalStateException("No active application scope");
+      }
+      return (Compiler) Component.getInstance(FaceletCompiler.class, ScopeType.APPLICATION);
+   }
+   
+}


Property changes on: trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletCompiler.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletsRenderer.java
===================================================================
--- trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletsRenderer.java	2008-02-18 15:23:50 UTC (rev 7433)
+++ trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletsRenderer.java	2008-02-18 18:26:15 UTC (rev 7434)
@@ -21,7 +21,6 @@
 import org.jboss.seam.ui.util.JSF;
 
 import com.sun.facelets.Facelet;
-import com.sun.facelets.compiler.SAXCompiler;
 import com.sun.facelets.impl.DefaultFaceletFactory;
 import com.sun.facelets.impl.DefaultResourceResolver;
 
@@ -192,7 +191,7 @@
     */
    protected Facelet faceletForURL(URL url) throws IOException
    {
-      return new DefaultFaceletFactory(new SAXCompiler(), new DefaultResourceResolver())
+      return new DefaultFaceletFactory(FaceletCompiler.instance(), new DefaultResourceResolver())
                .getFacelet(url);
    }
 




More information about the seam-commits mailing list