Author: hlship
Date: Fri Feb 19 18:51:47 2010
New Revision: 911906

URL: http://svn.apache.org/viewvc?rev=911906&view=rev
Log:
Recode IncludeJavascriptLibraryWorker using JavascriptSupport environmental

Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/AbstractIncludeAssetWorker.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeJavaScriptLibraryWorker.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/AbstractIncludeAssetWorker.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/AbstractIncludeAssetWorker.java?rev=911906&r1=911905&r2=911906&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/AbstractIncludeAssetWorker.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/AbstractIncludeAssetWorker.java
 Fri Feb 19 18:51:47 2010
@@ -30,6 +30,7 @@
 import org.apache.tapestry5.services.ComponentValueProvider;
 import org.apache.tapestry5.services.TransformConstants;
 import org.apache.tapestry5.services.TransformField;
+import org.apache.tapestry5.services.javascript.JavascriptSupport;
 
 /**
  * Base class for workers that automatically include assets in the page (via 
methods on
@@ -59,8 +60,8 @@
      * @param assetPaths
      *            raw paths to be converted to assets
      */
-    protected final void addOperationForAssetPaths(ClassTransformation 
transformation,
-            MutableComponentModel model, String[] assetPaths)
+    protected final void addOperationForAssetPaths(ClassTransformation 
transformation, MutableComponentModel model,
+            String[] assetPaths)
     {
         final Resource baseResource = model.getBaseResource();
         final List<String> paths = CollectionFactory.newList();
@@ -104,11 +105,11 @@
             }
         };
 
-        TransformField runnableField = 
transformation.addIndirectInjectedField(Runnable.class,
-                "includeAssets", provider);
+        TransformField runnableField = 
transformation.addIndirectInjectedField(Runnable.class, "includeAssets",
+                provider);
 
-        transformation.extendMethod(TransformConstants.SETUP_RENDER_SIGNATURE, 
String.format(
-                "%s.run();", runnableField.getName()));
+        transformation.extendMethod(TransformConstants.SETUP_RENDER_SIGNATURE, 
String.format("%s.run();", runnableField
+                .getName()));
 
         model.addRenderPhase(SetupRender.class);
     }
@@ -116,7 +117,8 @@
     /**
      * Invoked, from the component's setup render phase, for each asset. This 
method must be
      * threadsafe. Most
-     * implementations pass the asset to a particular method of {...@link 
org.apache.tapestry5.RenderSupport}.
+     * implementations pass the asset to a particular method of {...@link 
org.apache.tapestry5.RenderSupport} or
+     * {...@link JavascriptSupport}.
      * 
      * @param asset
      *            to be processed

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeJavaScriptLibraryWorker.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeJavaScriptLibraryWorker.java?rev=911906&r1=911905&r2=911906&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeJavaScriptLibraryWorker.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeJavaScriptLibraryWorker.java
 Fri Feb 19 18:51:47 2010
@@ -1,10 +1,10 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 2010 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
 //
-//     http://www.apache.org/licenses/LICENSE-2.0
+// http://www.apache.org/licenses/LICENSE-2.0
 //
 // Unless required by applicable law or agreed to in writing, software
 // distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,38 +15,39 @@
 package org.apache.tapestry5.internal.transform;
 
 import org.apache.tapestry5.Asset;
-import org.apache.tapestry5.RenderSupport;
 import org.apache.tapestry5.annotations.IncludeJavaScriptLibrary;
 import org.apache.tapestry5.ioc.services.SymbolSource;
 import org.apache.tapestry5.model.MutableComponentModel;
 import org.apache.tapestry5.services.AssetSource;
 import org.apache.tapestry5.services.ClassTransformation;
+import org.apache.tapestry5.services.javascript.JavascriptSupport;
 
 /**
- * Recognizes the {...@link 
org.apache.tapestry5.annotations.IncludeJavaScriptLibrary} annotation, and 
ensures that {...@link
- * 
org.apache.tapestry5.RenderSupport#addScriptLink(org.apache.tapestry5.Asset[])} 
is invoked.
+ * Recognizes the {...@link 
org.apache.tapestry5.annotations.IncludeJavaScriptLibrary} annotation, and 
ensures that
+ * {...@link JavascriptSupport#importJavascriptLibrary(Asset)} is invoked.
  */
 public class IncludeJavaScriptLibraryWorker extends AbstractIncludeAssetWorker
 {
-    private final RenderSupport renderSupport;
+    private final JavascriptSupport javascriptSupport;
 
-    public IncludeJavaScriptLibraryWorker(AssetSource assetSource, 
RenderSupport renderSupport,
-                                          SymbolSource symbolSource)
+    public IncludeJavaScriptLibraryWorker(AssetSource assetSource, 
JavascriptSupport renderSupport,
+            SymbolSource symbolSource)
     {
         super(assetSource, symbolSource);
 
-        this.renderSupport = renderSupport;
+        this.javascriptSupport = renderSupport;
     }
 
     public void transform(ClassTransformation transformation, final 
MutableComponentModel model)
     {
         IncludeJavaScriptLibrary annotation = 
transformation.getAnnotation(IncludeJavaScriptLibrary.class);
 
-        if (annotation != null) addOperationForAssetPaths(transformation, 
model, annotation.value());
+        if (annotation != null)
+            addOperationForAssetPaths(transformation, model, 
annotation.value());
     }
 
     protected void handleAsset(Asset asset)
     {
-        renderSupport.addScriptLink(asset);
+        javascriptSupport.importJavascriptLibrary(asset);
     }
 }


Reply via email to