Author: drobiazko
Date: Fri Feb  6 22:09:19 2009
New Revision: 741757

URL: http://svn.apache.org/viewvc?rev=741757&view=rev
Log:
TAP5-503: Make Live Class and Template Reloading feature work in OSGi

Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceCacheImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ValidationMessagesSourceImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/util/URLChangeTracker.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DuplicateIds.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImplTest.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImplTest.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ResourceCacheImplTest.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ValidationMessagesSourceImplTest.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/util/URLChangeTrackerTest.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
 Fri Feb  6 22:09:19 2009
@@ -24,6 +24,7 @@
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
 import org.apache.tapestry5.ioc.internal.util.Defense;
 import org.apache.tapestry5.ioc.services.ClassFactory;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 import org.apache.tapestry5.services.InvalidationEventHub;
 import org.apache.tapestry5.services.UpdateListener;
 import org.slf4j.Logger;
@@ -46,7 +47,7 @@
 
     private final Set<String> controlledPackageNames = 
CollectionFactory.newSet();
 
-    private final URLChangeTracker changeTracker = new URLChangeTracker();
+    private final URLChangeTracker changeTracker;
 
     private final ClassLoader parent;
 
@@ -100,12 +101,13 @@
     }
 
     public ComponentInstantiatorSourceImpl(Logger logger, ClassLoader parent, 
ComponentClassTransformer transformer,
-                                           InternalRequestGlobals 
internalRequestGlobals)
+                                           InternalRequestGlobals 
internalRequestGlobals, ClasspathURLConverter classpathURLConverter)
     {
         this.parent = parent;
         this.transformer = transformer;
         this.logger = logger;
         this.internalRequestGlobals = internalRequestGlobals;
+        this.changeTracker = new URLChangeTracker(classpathURLConverter);
 
         initializeService();
     }

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java
 Fri Feb  6 22:09:19 2009
@@ -17,6 +17,7 @@
 import org.apache.tapestry5.internal.util.URLChangeTracker;
 import org.apache.tapestry5.ioc.Messages;
 import org.apache.tapestry5.ioc.Resource;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 import org.apache.tapestry5.model.ComponentModel;
 import org.apache.tapestry5.services.InvalidationEventHub;
 import org.apache.tapestry5.services.UpdateListener;
@@ -63,9 +64,9 @@
         }
     }
 
-    public ComponentMessagesSourceImpl(Resource rootResource, String 
appCatalog)
+    public ComponentMessagesSourceImpl(Resource rootResource, String 
appCatalog, ClasspathURLConverter classpathURLConverter)
     {
-        this(rootResource, appCatalog, new URLChangeTracker());
+        this(rootResource, appCatalog, new 
URLChangeTracker(classpathURLConverter));
     }
 
     ComponentMessagesSourceImpl(Resource rootResource, String appCatalog, 
URLChangeTracker tracker)

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java
 Fri Feb  6 22:09:19 2009
@@ -23,6 +23,7 @@
 import org.apache.tapestry5.ioc.Location;
 import org.apache.tapestry5.ioc.Resource;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 import org.apache.tapestry5.model.ComponentModel;
 import org.apache.tapestry5.services.InvalidationEventHub;
 import org.apache.tapestry5.services.UpdateListener;
@@ -78,9 +79,9 @@
         }
     };
 
-    public ComponentTemplateSourceImpl(TemplateParser parser, 
PageTemplateLocator locator)
+    public ComponentTemplateSourceImpl(TemplateParser parser, 
PageTemplateLocator locator, ClasspathURLConverter classpathURLConverter)
     {
-        this(parser, locator, new URLChangeTracker());
+        this(parser, locator, new URLChangeTracker(classpathURLConverter));
     }
 
     ComponentTemplateSourceImpl(TemplateParser parser, PageTemplateLocator 
locator, URLChangeTracker tracker)

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalModule.java
 Fri Feb  6 22:09:19 2009
@@ -24,6 +24,7 @@
 import org.apache.tapestry5.ioc.internal.services.CtClassSource;
 import org.apache.tapestry5.ioc.services.Builtin;
 import org.apache.tapestry5.ioc.services.ClassFactory;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 import org.apache.tapestry5.ioc.services.PerthreadManager;
 import org.apache.tapestry5.ioc.services.PropertyShadowBuilder;
 import org.apache.tapestry5.services.*;
@@ -117,10 +118,12 @@
 
             @Inject
             @Symbol(SymbolConstants.APPLICATION_CATALOG)
-            String appCatalog)
+            String appCatalog,
+            
+            ClasspathURLConverter classpathURLConverter)
     {
         ComponentMessagesSourceImpl service = new 
ComponentMessagesSourceImpl(contextAssetFactory
-                .getRootResource(), appCatalog);
+                .getRootResource(), appCatalog, classpathURLConverter);
 
         updateListenerHub.addUpdateListener(service);
 
@@ -133,10 +136,12 @@
 
                                                                         Logger 
logger,
 
-                                                                        
InternalRequestGlobals internalRequestGlobals)
+                                                                        
InternalRequestGlobals internalRequestGlobals,
+                                                                        
+                                                                        
ClasspathURLConverter classpathURLConverter)
     {
         ComponentInstantiatorSourceImpl source = new 
ComponentInstantiatorSourceImpl(logger, classFactory
-                .getClassLoader(), transformer, internalRequestGlobals);
+                .getClassLoader(), transformer, internalRequestGlobals, 
classpathURLConverter);
 
         updateListenerHub.addUpdateListener(source);
 
@@ -222,9 +227,11 @@
     }
 
 
-    public ComponentTemplateSource buildComponentTemplateSource(TemplateParser 
parser, PageTemplateLocator locator)
+    public ComponentTemplateSource buildComponentTemplateSource(TemplateParser 
parser,
+                                                                
PageTemplateLocator locator,
+                                                                
ClasspathURLConverter classpathURLConverter)
     {
-        ComponentTemplateSourceImpl service = new 
ComponentTemplateSourceImpl(parser, locator);
+        ComponentTemplateSourceImpl service = new 
ComponentTemplateSourceImpl(parser, locator, classpathURLConverter);
 
         updateListenerHub.addUpdateListener(service);
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceCacheImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceCacheImpl.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceCacheImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceCacheImpl.java
 Fri Feb  6 22:09:19 2009
@@ -18,6 +18,7 @@
 import org.apache.tapestry5.internal.util.URLChangeTracker;
 import org.apache.tapestry5.ioc.Resource;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 import org.apache.tapestry5.services.ResourceDigestGenerator;
 import org.apache.tapestry5.services.UpdateListener;
 
@@ -66,10 +67,10 @@
         }
     }
 
-    public ResourceCacheImpl(final ResourceDigestGenerator digestGenerator)
+    public ResourceCacheImpl(final ResourceDigestGenerator digestGenerator, 
ClasspathURLConverter classpathURLConverter)
     {
         this.digestGenerator = digestGenerator;
-        tracker = new URLChangeTracker(true);
+        tracker = new URLChangeTracker(classpathURLConverter,true);
     }
 
     public void checkForUpdates()

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ValidationMessagesSourceImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ValidationMessagesSourceImpl.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ValidationMessagesSourceImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ValidationMessagesSourceImpl.java
 Fri Feb  6 22:09:19 2009
@@ -19,6 +19,7 @@
 import org.apache.tapestry5.ioc.Messages;
 import org.apache.tapestry5.ioc.Resource;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 import org.apache.tapestry5.services.UpdateListener;
 import org.apache.tapestry5.services.ValidationMessagesSource;
 
@@ -107,9 +108,9 @@
         }
     }
 
-    public ValidationMessagesSourceImpl(List<String> bundles, Resource 
classpathRoot)
+    public ValidationMessagesSourceImpl(List<String> bundles, Resource 
classpathRoot, ClasspathURLConverter classpathURLConverter)
     {
-        this(bundles, classpathRoot, new URLChangeTracker());
+        this(bundles, classpathRoot, new 
URLChangeTracker(classpathURLConverter));
     }
 
     ValidationMessagesSourceImpl(List<String> bundles, Resource classpathRoot, 
URLChangeTracker tracker)

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/util/URLChangeTracker.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/util/URLChangeTracker.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/util/URLChangeTracker.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/util/URLChangeTracker.java
 Fri Feb  6 22:09:19 2009
@@ -15,6 +15,7 @@
 package org.apache.tapestry5.internal.util;
 
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 
 import java.io.File;
 import java.io.IOException;
@@ -36,23 +37,31 @@
     private final Map<File, Long> fileToTimestamp = 
CollectionFactory.newConcurrentMap();
 
     private final boolean granularitySeconds;
+    
+    private ClasspathURLConverter classpathURLConverter; 
 
     /**
      * Creates a new URL change tracker with millisecond-level granularity.
+     * 
+     * @param classpathURLConverter used to convert URLs from one protocol to 
another
      */
-    public URLChangeTracker()
+    public URLChangeTracker(ClasspathURLConverter classpathURLConverter)
     {
-        this(false);
+        this(classpathURLConverter, false);
+        
     }
 
     /**
      * Creates a new URL change tracker, using either millisecond-level 
granularity or second-level granularity.
      *
+     * @param classpathURLConverter used to convert URLs from one protocol to 
another
      * @param granularitySeconds whether or not to use second granularity (as 
opposed to millisecond granularity)
      */
-    public URLChangeTracker(boolean granularitySeconds)
+    public URLChangeTracker(ClasspathURLConverter classpathURLConverter, 
boolean granularitySeconds)
     {
         this.granularitySeconds = granularitySeconds;
+        
+        this.classpathURLConverter = classpathURLConverter;
     }
 
     /**
@@ -66,10 +75,12 @@
     public long add(URL url)
     {
         if (url == null) return 0;
+        
+        URL converted = classpathURLConverter.convert(url);
 
-        if (!url.getProtocol().equals("file")) return 
timestampForNonFileURL(url);
+        if (!converted.getProtocol().equals("file")) return 
timestampForNonFileURL(converted);
 
-        File resourceFile = toFile(url);
+        File resourceFile = toFile(converted);
 
         if (fileToTimestamp.containsKey(resourceFile)) return 
fileToTimestamp.get(resourceFile);
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
 Fri Feb  6 22:09:19 2009
@@ -1025,10 +1025,13 @@
 
                                                                   
UpdateListenerHub updateListenerHub,
 
-                                                                  
@ClasspathProvider AssetFactory classpathAssetFactory)
+                                                                  
@ClasspathProvider AssetFactory classpathAssetFactory,
+                                                                  
+                                                                  
ClasspathURLConverter classpathURLConverter)
     {
         ValidationMessagesSourceImpl service = new 
ValidationMessagesSourceImpl(configuration,
-                                                                               
 classpathAssetFactory.getRootResource());
+                                                                               
 classpathAssetFactory.getRootResource(),
+                                                                               
 classpathURLConverter);
         updateListenerHub.addUpdateListener(service);
 
         return service;

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DuplicateIds.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DuplicateIds.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DuplicateIds.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DuplicateIds.java
 Fri Feb  6 22:09:19 2009
@@ -14,9 +14,6 @@
 
 package org.apache.tapestry5.integration.app1.pages;
 
-import org.apache.tapestry5.annotations.Component;
-import org.apache.tapestry5.corelib.components.BeanEditForm;
-
 public class DuplicateIds
 {
 }

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImplTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImplTest.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImplTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImplTest.java
 Fri Feb  6 22:09:19 2009
@@ -23,6 +23,8 @@
 import org.apache.tapestry5.ioc.RegistryBuilder;
 import org.apache.tapestry5.ioc.def.ContributionDef;
 import org.apache.tapestry5.ioc.def.ModuleDef;
+import org.apache.tapestry5.ioc.internal.services.ClasspathURLConverterImpl;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 import org.apache.tapestry5.ioc.services.PropertyAccess;
 import org.apache.tapestry5.ioc.services.SymbolProvider;
 import org.apache.tapestry5.runtime.Component;
@@ -49,6 +51,8 @@
     private static final ClassLoader contextLoader = 
Thread.currentThread().getContextClassLoader();
 
     private static final String SYNTH_COMPONENT_CLASSNAME = 
"org.apache.tapestry5.internal.transform.pages.SynthComponent";
+    
+    private final ClasspathURLConverter converter = new 
ClasspathURLConverterImpl();
 
     private File extraClasspath;
 
@@ -71,7 +75,7 @@
         replay();
 
         ComponentInstantiatorSourceImpl e = new 
ComponentInstantiatorSourceImpl(logger, contextLoader, transformer,
-                                                                               
 null);
+                                                                               
 null, converter);
 
         assertEquals(e.inControlledPackage("foo.bar.Baz"), false);
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java
 Fri Feb  6 22:09:19 2009
@@ -18,7 +18,9 @@
 import org.apache.tapestry5.internal.util.URLChangeTracker;
 import org.apache.tapestry5.ioc.Messages;
 import org.apache.tapestry5.ioc.Resource;
+import org.apache.tapestry5.ioc.internal.services.ClasspathURLConverterImpl;
 import org.apache.tapestry5.ioc.internal.util.ClasspathResource;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 import org.apache.tapestry5.model.ComponentModel;
 import org.testng.annotations.Test;
 
@@ -34,8 +36,10 @@
     // With control of the tracker, we can force changes as if underlying 
files were changed.
 
     private static final String SIMPLE_COMPONENT_CLASS_NAME = 
"org.apache.tapestry5.internal.services.SimpleComponent";
+    
+    private final ClasspathURLConverter converter = new 
ClasspathURLConverterImpl();
 
-    private final URLChangeTracker tracker = new URLChangeTracker();
+    private final URLChangeTracker tracker = new URLChangeTracker(converter);
 
     private final Resource simpleComponentResource = new ClasspathResource(
             "org/apache/tapestry5/internal/services/SimpleComponent.class");
@@ -205,7 +209,8 @@
         forceCacheClear();
 
         ComponentMessagesSource source = new 
ComponentMessagesSourceImpl(simpleComponentResource,
-                                                                         
"NoSuchAppCatalog.properties");
+                                                                         
"NoSuchAppCatalog.properties",
+                                                                         
converter);
 
         Messages messages = source.getMessages(model, Locale.ENGLISH);
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImplTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImplTest.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImplTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImplTest.java
 Fri Feb  6 22:09:19 2009
@@ -18,7 +18,9 @@
 import org.apache.tapestry5.internal.parser.ComponentTemplate;
 import org.apache.tapestry5.internal.test.InternalBaseTestCase;
 import org.apache.tapestry5.ioc.Resource;
+import org.apache.tapestry5.ioc.internal.services.ClasspathURLConverterImpl;
 import org.apache.tapestry5.ioc.internal.util.ClasspathResource;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 import org.apache.tapestry5.model.ComponentModel;
 import org.apache.tapestry5.services.InvalidationListener;
 import org.testng.annotations.Test;
@@ -37,6 +39,8 @@
     static public final String PATH = "org/apache/tapestry5/internal/pageload";
 
     private final ClassLoader loader = 
Thread.currentThread().getContextClassLoader();
+    
+    private final ClasspathURLConverter converter = new 
ClasspathURLConverterImpl();
 
     /**
      * Creates a new class loader, whose parent is the thread's context class 
loader, but adds a single classpath root
@@ -86,7 +90,7 @@
 
         replay();
 
-        ComponentTemplateSource source = new 
ComponentTemplateSourceImpl(parser, null);
+        ComponentTemplateSource source = new 
ComponentTemplateSourceImpl(parser, null, converter);
 
         assertSame(source.getTemplate(model, Locale.ENGLISH), template);
 
@@ -130,7 +134,7 @@
 
         replay();
 
-        ComponentTemplateSourceImpl source = new 
ComponentTemplateSourceImpl(parser, null);
+        ComponentTemplateSourceImpl source = new 
ComponentTemplateSourceImpl(parser, null, converter);
         source.addInvalidationListener(listener);
 
         assertSame(source.getTemplate(model, Locale.ENGLISH), template);
@@ -194,7 +198,7 @@
 
         replay();
 
-        ComponentTemplateSourceImpl source = new 
ComponentTemplateSourceImpl(parser, null);
+        ComponentTemplateSourceImpl source = new 
ComponentTemplateSourceImpl(parser, null, converter);
 
         assertSame(source.getTemplate(model, Locale.ENGLISH), template);
 
@@ -235,7 +239,7 @@
 
         replay();
 
-        ComponentTemplateSourceImpl source = new 
ComponentTemplateSourceImpl(parser, locator);
+        ComponentTemplateSourceImpl source = new 
ComponentTemplateSourceImpl(parser, locator, converter);
 
         assertSame(source.getTemplate(model, locale), template);
 
@@ -261,7 +265,7 @@
 
         replay();
 
-        ComponentTemplateSourceImpl source = new 
ComponentTemplateSourceImpl(parser, locator);
+        ComponentTemplateSourceImpl source = new 
ComponentTemplateSourceImpl(parser, locator, converter);
 
         ComponentTemplate template = source.getTemplate(model, Locale.ENGLISH);
 
@@ -299,7 +303,7 @@
 
         replay();
 
-        ComponentTemplateSource source = new 
ComponentTemplateSourceImpl(parser, locator);
+        ComponentTemplateSource source = new 
ComponentTemplateSourceImpl(parser, locator, converter);
 
         assertSame(source.getTemplate(model, Locale.ENGLISH), template);
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ResourceCacheImplTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ResourceCacheImplTest.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ResourceCacheImplTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ResourceCacheImplTest.java
 Fri Feb  6 22:09:19 2009
@@ -16,6 +16,8 @@
 
 import org.apache.tapestry5.internal.test.InternalBaseTestCase;
 import org.apache.tapestry5.ioc.Resource;
+import org.apache.tapestry5.ioc.internal.services.ClasspathURLConverterImpl;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 import org.apache.tapestry5.services.InvalidationListener;
 import org.apache.tapestry5.services.ResourceDigestGenerator;
 import org.testng.annotations.Test;
@@ -29,6 +31,8 @@
     private static final String PATH = "foo/Bar.gif";
 
     private static final String DIGEST = "abc123";
+    
+    private final ClasspathURLConverter converter = new 
ClasspathURLConverterImpl();
 
     @Test
     public void properties_for_simple_resource() throws Exception
@@ -49,7 +53,7 @@
 
         replay();
 
-        ResourceCacheImpl cache = new ResourceCacheImpl(generator);
+        ResourceCacheImpl cache = new ResourceCacheImpl(generator, converter);
 
         assertEquals(cache.requiresDigest(r), false);
         assertEquals(cache.getTimeModified(r), lastUpdated);
@@ -72,7 +76,7 @@
 
         replay();
 
-        ResourceCacheImpl cache = new ResourceCacheImpl(generator);
+        ResourceCacheImpl cache = new ResourceCacheImpl(generator, converter);
 
         assertEquals(cache.requiresDigest(r), true);
         assertEquals(cache.getTimeModified(r), 
ResourceCacheImpl.MISSING_RESOURCE_TIME_MODIFIED);
@@ -101,7 +105,7 @@
 
         replay();
 
-        ResourceCacheImpl cache = new ResourceCacheImpl(generator);
+        ResourceCacheImpl cache = new ResourceCacheImpl(generator, converter);
 
         assertEquals(cache.requiresDigest(r), true);
         assertEquals(cache.getTimeModified(r), lastUpdated);
@@ -130,7 +134,7 @@
 
         replay();
 
-        ResourceCacheImpl cache = new ResourceCacheImpl(generator);
+        ResourceCacheImpl cache = new ResourceCacheImpl(generator, converter);
         cache.addInvalidationListener(listener);
 
         assertEquals(cache.requiresDigest(r), true);

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ValidationMessagesSourceImplTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ValidationMessagesSourceImplTest.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ValidationMessagesSourceImplTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ValidationMessagesSourceImplTest.java
 Fri Feb  6 22:09:19 2009
@@ -17,6 +17,7 @@
 import org.apache.tapestry5.ioc.MessageFormatter;
 import org.apache.tapestry5.ioc.Messages;
 import org.apache.tapestry5.ioc.Resource;
+import org.apache.tapestry5.ioc.internal.services.ClasspathURLConverterImpl;
 import org.apache.tapestry5.ioc.internal.util.ClasspathResource;
 import org.apache.tapestry5.services.ValidationMessagesSource;
 import org.testng.Assert;
@@ -36,7 +37,9 @@
         Resource rootResource = new ClasspathResource("/");
         source = new ValidationMessagesSourceImpl(Arrays.asList(
                 "org/apache/tapestry5/internal/ValidationMessages",
-                "org/apache/tapestry5/internal/ValidationTestMessages"), 
rootResource);
+                "org/apache/tapestry5/internal/ValidationTestMessages"), 
+                rootResource,
+                new ClasspathURLConverterImpl());
     }
 
     @Test

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/util/URLChangeTrackerTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/util/URLChangeTrackerTest.java?rev=741757&r1=741756&r2=741757&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/util/URLChangeTrackerTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/util/URLChangeTrackerTest.java
 Fri Feb  6 22:09:19 2009
@@ -14,6 +14,8 @@
 
 package org.apache.tapestry5.internal.util;
 
+import org.apache.tapestry5.ioc.internal.services.ClasspathURLConverterImpl;
+import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
 import org.apache.tapestry5.test.TapestryTestCase;
 import org.testng.annotations.Test;
 
@@ -22,10 +24,12 @@
 
 public class URLChangeTrackerTest extends TapestryTestCase
 {
+    private final ClasspathURLConverter converter = new 
ClasspathURLConverterImpl();
+    
     @Test
     public void contains_change_when_empty()
     {
-        URLChangeTracker t = new URLChangeTracker();
+        URLChangeTracker t = new URLChangeTracker(converter);
 
         assertFalse(t.containsChanges());
     }
@@ -33,7 +37,7 @@
     @Test
     public void add_null_returns_zero()
     {
-        URLChangeTracker t = new URLChangeTracker();
+        URLChangeTracker t = new URLChangeTracker(converter);
 
         assertEquals(t.add(null), 0l);
     }
@@ -41,7 +45,7 @@
     @Test
     public void contains_changes() throws Exception
     {
-        URLChangeTracker t = new URLChangeTracker();
+        URLChangeTracker t = new URLChangeTracker(converter);
 
         File f = File.createTempFile("changetracker0", ".tmp");
         URL url = f.toURL();
@@ -79,7 +83,7 @@
     @Test
     public void creating_a_new_file_is_a_change() throws Exception
     {
-        URLChangeTracker t = new URLChangeTracker();
+        URLChangeTracker t = new URLChangeTracker(converter);
 
         File f = File.createTempFile("changetracker0", ".tmp");
         URL url = f.toURL();
@@ -113,7 +117,7 @@
     @Test
     public void non_file_URLs_are_ignored() throws Exception
     {
-        URLChangeTracker t = new URLChangeTracker();
+        URLChangeTracker t = new URLChangeTracker(converter);
 
         URL url = new URL("ftp://breeblebrox.com";);
 
@@ -125,7 +129,7 @@
     @Test
     public void caching() throws Exception
     {
-        URLChangeTracker t = new URLChangeTracker();
+        URLChangeTracker t = new URLChangeTracker(converter);
 
         File f = File.createTempFile("changetracker0", ".tmp");
         URL url = f.toURL();
@@ -153,7 +157,7 @@
         File f = File.createTempFile("changetracker0", ".tmp");
         URL url = f.toURL();
 
-        URLChangeTracker t = new URLChangeTracker();
+        URLChangeTracker t = new URLChangeTracker(converter);
 
         long timeModified = t.add(url);
 
@@ -172,7 +176,7 @@
     @Test
     public void second_level_granularity() throws Exception
     {
-        URLChangeTracker t = new URLChangeTracker(true);
+        URLChangeTracker t = new URLChangeTracker(converter, true);
 
         File f = File.createTempFile("changetracker0", ".tmp");
         URL url = f.toURL();


Reply via email to