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();