You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2011/04/01 01:15:15 UTC
svn commit: r1087482 - in
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services:
ResourceStreamerImpl.java assets/StackAssetRequestHandler.java
Author: hlship
Date: Thu Mar 31 23:15:15 2011
New Revision: 1087482
URL: http://svn.apache.org/viewvc?rev=1087482&view=rev
Log:
TAP5-73: Change a couple of asset-related services to track their IOOperations
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StackAssetRequestHandler.java
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java?rev=1087482&r1=1087481&r2=1087482&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java Thu Mar 31 23:15:15 2011
@@ -16,12 +16,14 @@ package org.apache.tapestry5.internal.se
import java.io.IOException;
import java.io.OutputStream;
-import java.util.Set;
import javax.servlet.http.HttpServletResponse;
import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.internal.IOOperation;
import org.apache.tapestry5.internal.InternalConstants;
+import org.apache.tapestry5.internal.TapestryInternalUtils;
+import org.apache.tapestry5.ioc.OperationTracker;
import org.apache.tapestry5.ioc.Resource;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.Request;
@@ -46,6 +48,8 @@ public class ResourceStreamerImpl implem
private final boolean productionMode;
+ private final OperationTracker tracker;
+
public ResourceStreamerImpl(Request request,
Response response,
@@ -54,6 +58,8 @@ public class ResourceStreamerImpl implem
ResponseCompressionAnalyzer analyzer,
+ OperationTracker tracker,
+
@Symbol(SymbolConstants.PRODUCTION_MODE)
boolean productionMode)
{
@@ -62,10 +68,11 @@ public class ResourceStreamerImpl implem
this.streamableResourceSource = streamableResourceSource;
this.analyzer = analyzer;
+ this.tracker = tracker;
this.productionMode = productionMode;
}
- public void streamResource(Resource resource) throws IOException
+ public void streamResource(final Resource resource) throws IOException
{
if (!resource.exists())
{
@@ -73,12 +80,18 @@ public class ResourceStreamerImpl implem
return;
}
- StreamableResourceProcessing processing = analyzer.isGZipSupported() ? StreamableResourceProcessing.COMPRESSION_ENABLED
- : StreamableResourceProcessing.COMPRESSION_DISABLED;
+ TapestryInternalUtils.performIO(tracker, String.format("Streaming %s", resource), new IOOperation()
+ {
+ public void perform() throws IOException
+ {
+ StreamableResourceProcessing processing = analyzer.isGZipSupported() ? StreamableResourceProcessing.COMPRESSION_ENABLED
+ : StreamableResourceProcessing.COMPRESSION_DISABLED;
- StreamableResource streamable = streamableResourceSource.getStreamableResource(resource, processing);
+ StreamableResource streamable = streamableResourceSource.getStreamableResource(resource, processing);
- streamResource(streamable);
+ streamResource(streamable);
+ }
+ });
}
public void streamResource(StreamableResource streamable) throws IOException
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StackAssetRequestHandler.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StackAssetRequestHandler.java?rev=1087482&r1=1087481&r2=1087482&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StackAssetRequestHandler.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/StackAssetRequestHandler.java Thu Mar 31 23:15:15 2011
@@ -28,7 +28,10 @@ import java.util.zip.GZIPOutputStream;
import org.apache.tapestry5.Asset;
import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.internal.IOOperation;
+import org.apache.tapestry5.internal.TapestryInternalUtils;
import org.apache.tapestry5.internal.services.ResourceStreamer;
+import org.apache.tapestry5.ioc.OperationTracker;
import org.apache.tapestry5.ioc.Resource;
import org.apache.tapestry5.ioc.annotations.PostInjection;
import org.apache.tapestry5.ioc.annotations.Symbol;
@@ -71,12 +74,14 @@ public class StackAssetRequestHandler im
private final ResourceMinimizer resourceMinimizer;
+ private final OperationTracker tracker;
+
private final boolean minificationEnabled;
public StackAssetRequestHandler(StreamableResourceSource streamableResourceSource,
JavaScriptStackSource javascriptStackSource, LocalizationSetter localizationSetter,
ResponseCompressionAnalyzer compressionAnalyzer, ResourceStreamer resourceStreamer,
- ResourceMinimizer resourceMinimizer,
+ ResourceMinimizer resourceMinimizer, OperationTracker tracker,
@Symbol(SymbolConstants.MINIFICATION_ENABLED)
boolean minificationEnabled)
@@ -87,6 +92,7 @@ public class StackAssetRequestHandler im
this.compressionAnalyzer = compressionAnalyzer;
this.resourceStreamer = resourceStreamer;
this.resourceMinimizer = resourceMinimizer;
+ this.tracker = tracker;
this.minificationEnabled = minificationEnabled;
}
@@ -96,13 +102,19 @@ public class StackAssetRequestHandler im
resourceChangeTracker.addInvalidationListener(this);
}
- public boolean handleAssetRequest(Request request, Response response, String extraPath) throws IOException
+ public boolean handleAssetRequest(Request request, Response response, final String extraPath) throws IOException
{
- boolean compress = compressionAnalyzer.isGZipSupported();
-
- StreamableResource resource = getResource(extraPath, compress);
-
- resourceStreamer.streamResource(resource);
+ TapestryInternalUtils.performIO(tracker, String.format("Streaming asset stack %s", extraPath), new IOOperation()
+ {
+ public void perform() throws IOException
+ {
+ boolean compress = compressionAnalyzer.isGZipSupported();
+
+ StreamableResource resource = getResource(extraPath, compress);
+
+ resourceStreamer.streamResource(resource);
+ }
+ });
return true;
}