Author: hlship
Date: Mon Apr 19 17:38:11 2010
New Revision: 935686

URL: http://svn.apache.org/viewvc?rev=935686&view=rev
Log:
TAP5-1068: RenderSupport.addScriptLink(String) deprecated and removed without 
replacement

Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/RenderSupport.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderSupportImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptSupport.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderSupportImplTest.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/RenderSupport.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/RenderSupport.java?rev=935686&r1=935685&r2=935686&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/RenderSupport.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/RenderSupport.java
 Mon Apr 19 17:38:11 2010
@@ -80,7 +80,7 @@ public interface RenderSupport
      * 
      * @param scriptURLs
      *            URL strings of scripts
-     * @deprecated Use {...@link 
JavascriptSupport#importJavascriptLibrary(Asset)} instead
+     * @deprecated Use {...@link 
JavascriptSupport#importJavascriptLibrary(String)} instead
      * @throws RuntimeException
      *             <strong>always</strong> as of 5.2.0
      */

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderSupportImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderSupportImpl.java?rev=935686&r1=935685&r2=935686&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderSupportImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderSupportImpl.java
 Mon Apr 19 17:38:11 2010
@@ -76,8 +76,8 @@ public class RenderSupportImpl implement
 
     public void addScriptLink(String... scriptURLs)
     {
-        throw new RuntimeException(
-                "RenderSupport.addScriptLink(String...) is no longer 
supported, starting in Tapestry 5.2.");
+        for (String url : scriptURLs)
+            javascriptSupport.importJavascriptLibrary(url);
     }
 
     public void addClasspathScriptLink(String... classpaths)

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java?rev=935686&r1=935685&r2=935686&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java
 Mon Apr 19 17:38:11 2010
@@ -285,14 +285,17 @@ public class JavascriptSupportImpl imple
     {
         Defense.notNull(asset, "asset");
 
-        addCoreStackIfNeeded();
+        importJavascriptLibrary(asset.toClientURL());
+    }
 
-        String path = asset.toClientURL();
+    public void importJavascriptLibrary(String libraryURL)
+    {
+        addCoreStackIfNeeded();
 
-        if (otherLibraries.contains(path))
+        if (otherLibraries.contains(libraryURL))
             return;
 
-        otherLibraries.add(path);
+        otherLibraries.add(libraryURL);
     }
 
     private void addCoreStackIfNeeded()

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptSupport.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptSupport.java?rev=935686&r1=935685&r2=935686&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptSupport.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavascriptSupport.java
 Mon Apr 19 17:38:11 2010
@@ -177,4 +177,9 @@ public interface JavascriptSupport
      *            the name of the stack (case is ignored); the stack must exist
      */
     void importStack(String stackName);
+
+    /**
+     * Import a Javascript library with an arbitrary URL.
+     */
+    void importJavascriptLibrary(String libraryURL);
 }

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderSupportImplTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderSupportImplTest.java?rev=935686&r1=935685&r2=935686&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderSupportImplTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderSupportImplTest.java
 Mon Apr 19 17:38:11 2010
@@ -47,19 +47,19 @@ public class RenderSupportImplTest exten
     }
 
     @Test
-    public void add_script_link_by_url_fails()
+    public void add_script_link_by_url()
     {
-        RenderSupport support = new RenderSupportImpl(null, null, null);
+        JavascriptSupport jss = mockJavascriptSupport();
 
-        try
-        {
-            support.addScriptLink(ASSET_URL);
-            unreachable();
-        }
-        catch (RuntimeException ex)
-        {
-            assertMessageContains(ex, "no longer supported");
-        }
+        RenderSupport support = new RenderSupportImpl(null, null, jss);
+
+        jss.importJavascriptLibrary(ASSET_URL);
+
+        replay();
+
+        support.addScriptLink(ASSET_URL);
+
+        verify();
     }
 
     @Test


Reply via email to