You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by dr...@apache.org on 2009/12/31 13:50:08 UTC

svn commit: r894834 - in /tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src: main/java/org/apache/tapestry5/services/ test/app6/ test/java/org/apache/tapestry5/integration/ test/java/org/example/pages/ test/java/org/example/services/ test/resou...

Author: drobiazko
Date: Thu Dec 31 12:50:08 2009
New Revision: 894834

URL: http://svn.apache.org/viewvc?rev=894834&view=rev
Log:
TAP5-963: Allow access to static resources (css, js, jpg, jpeg, png, gif) inside the app package

Added:
    tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css   (with props)
Modified:
    tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
    tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app6/AssetProtectionDemo.tml
    tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/CutomAppPackageIntegrationTests.java
    tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/pages/AssetProtectionDemo.java
    tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/services/AppModule.java

Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java?rev=894834&r1=894833&r2=894834&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java (original)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java Thu Dec 31 12:50:08 2009
@@ -2436,11 +2436,19 @@
     }
 
     public void contributeRegexAuthorizer(Configuration<String> regex,
+            
                 @Symbol("tapestry.scriptaculous.path") String scriptPath,
+                
                 @Symbol("tapestry.blackbird.path") String blackbirdPath,
+                
                 @Symbol("tapestry.datepicker.path") String datepickerPath,
+                
                 @Symbol(SymbolConstants.CONTEXT_ASSETS_AVAILABLE) boolean contextAvailable,
-                @Symbol(SymbolConstants.APPLICATION_VERSION) String appVersion)
+                
+                @Symbol(SymbolConstants.APPLICATION_VERSION) String appVersion,
+                
+                @Symbol(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM) 
+                final String appPackageName)
 
     {
         //allow any js, jpg, jpeg, png, or css under org/apache/tapstry5. The funky bit of ([^/.]+/)* is what allows
@@ -2456,6 +2464,8 @@
         //allow access to virtual assets. Critical for tapestry-combined js files.
         regex.add("virtual/" + pathPattern);
 
+        regex.add("^" + appPackageName.replace(".", "/") + "/" + pathPattern);
+
         if (contextAvailable) 
         {
             //we allow everything underneath the context folder, as long as it's not

Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app6/AssetProtectionDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app6/AssetProtectionDemo.tml?rev=894834&r1=894833&r2=894834&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app6/AssetProtectionDemo.tml (original)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app6/AssetProtectionDemo.tml Thu Dec 31 12:50:08 2009
@@ -1,5 +1,6 @@
 <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">
 	<body>
-		<a href="${style}">Show CSS</a>
+		<p><a href="${style}">Show CSS</a></p>
+		<p><a href="${nonaccessible}">Non accessible</a></p>
 	</body>
 </html>

Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/CutomAppPackageIntegrationTests.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/CutomAppPackageIntegrationTests.java?rev=894834&r1=894833&r2=894834&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/CutomAppPackageIntegrationTests.java (original)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/CutomAppPackageIntegrationTests.java Thu Dec 31 12:50:08 2009
@@ -37,6 +37,10 @@
        start("Asset Protection Demo");
        clickAndWait("link=Show CSS");
        assertTextPresent("//Some CSS");
+       
+       start("Asset Protection Demo");
+       clickAndWait("link=Non accessible");
+       assertTextPresent("HTTP ERROR: 404");
     }
 
 }

Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/pages/AssetProtectionDemo.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/pages/AssetProtectionDemo.java?rev=894834&r1=894833&r2=894834&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/pages/AssetProtectionDemo.java (original)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/pages/AssetProtectionDemo.java Thu Dec 31 12:50:08 2009
@@ -25,4 +25,9 @@
     @Path("style.css")
     @Property
     private Asset style;
+    
+    @Inject
+    @Path("classpath:nonaccessible.css")
+    @Property
+    private Asset nonaccessible;
 }

Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/services/AppModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/services/AppModule.java?rev=894834&r1=894833&r2=894834&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/services/AppModule.java (original)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/example/services/AppModule.java Thu Dec 31 12:50:08 2009
@@ -14,21 +14,8 @@
 
 package org.example.services;
 
-import org.apache.tapestry5.internal.InternalConstants;
-import org.apache.tapestry5.ioc.Configuration;
-import org.apache.tapestry5.ioc.annotations.Symbol;
 
 public class AppModule
 {
 
-    public void contributeRegexAuthorizer(final Configuration<String> regex,
-            @Symbol(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM) 
-            final String appPackageName) 
-    {
-
-        final String pattern = "([^/.]+/)*[^/.]+\\.((css)|(js)|(jpg)|(jpeg)|(png)|(gif))$";
-
-        regex.add("^" + appPackageName.replace(".", "/") + "/" + pattern);
-
-      }
 }

Added: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css?rev=894834&view=auto
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css (added)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css Thu Dec 31 12:50:08 2009
@@ -0,0 +1 @@
+//Bla
\ No newline at end of file

Propchange: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/resources/nonaccessible.css
------------------------------------------------------------------------------
    svn:mime-type = text/plain