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 2008/01/07 19:50:21 UTC
svn commit: r609736 - in /tapestry/tapestry5/trunk: ./
tapestry-core/src/main/java/org/apache/tapestry/internal/services/
tapestry-core/src/main/java/org/apache/tapestry/services/
tapestry-core/src/test/java/org/apache/tapestry/internal/services/ tapes...
Author: hlship
Date: Mon Jan 7 10:50:13 2008
New Revision: 609736
URL: http://svn.apache.org/viewvc?rev=609736&view=rev
Log:
TAPESTRY-1823: It is not possible to create a reasonable implementation of RequestExceptionHandler without importing internal interfaces and services
Added:
tapestry/tapestry5/trunk/intellij-settings.jar (with props)
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/MasterObjectProvider.java
- copied, changed from r594319, tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/services/MasterObjectProvider.java
Removed:
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/services/MasterObjectProvider.java
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/DefaultInjectionProvider.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/InjectPageWorker.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResponseRenderer.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResponseRendererImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Alias.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ApplicationStatePersistenceStrategy.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ApplicationStatePersistenceStrategySource.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/AssetFactory.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/AssetSource.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BeanBlockSource.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BeanModelSource.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BindingFactory.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BindingSource.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ClassTransformation.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ClasspathProvider.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentActionRequestFilter.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentClassResolver.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentEventResultProcessor.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentLayer.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ContextProvider.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Core.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/DataTypeAnalyzer.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Dispatcher.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Environment.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/FieldValidatorDefaultSource.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/FormSupport.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Heartbeat.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/LibraryMapping.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MarkupRendererFilter.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MarkupWriterFactory.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MetaDataLocator.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PartialMarkupRendererFilter.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PersistentFieldManager.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PersistentFieldStrategy.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyConduitSource.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyEditContext.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyOutputContext.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/RequestFilter.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/RequestGlobals.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ServletApplicationInitializerFilter.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/DefaultInjectionProviderTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ResponseRendererImplTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/log4j.properties
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/ObjectLocator.java
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/RegistryImpl.java
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/services/MasterObjectProviderImpl.java
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/TapestryIOCModule.java
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/test/IOCTestCase.java
tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProviderImplTest.java
Added: tapestry/tapestry5/trunk/intellij-settings.jar
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/intellij-settings.jar?rev=609736&view=auto
==============================================================================
Binary file - no diff available.
Propchange: tapestry/tapestry5/trunk/intellij-settings.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/DefaultInjectionProvider.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/DefaultInjectionProvider.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/DefaultInjectionProvider.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/DefaultInjectionProvider.java Mon Jan 7 10:50:13 2008
@@ -16,20 +16,20 @@
import org.apache.tapestry.ioc.AnnotationProvider;
import org.apache.tapestry.ioc.ObjectLocator;
+import org.apache.tapestry.ioc.services.MasterObjectProvider;
import org.apache.tapestry.model.MutableComponentModel;
import org.apache.tapestry.services.ClassTransformation;
import org.apache.tapestry.services.InjectionProvider;
-import org.apache.tapestry.services.MasterObjectProvider;
import java.lang.annotation.Annotation;
/**
* Worker for the {@link org.apache.tapestry.ioc.annotations.Inject} annotation that delegates out to
- * the master {@link MasterObjectProvider} to access the value. This worker must be scheduled after
+ * the master {@link org.apache.tapestry.ioc.services.MasterObjectProvider} to access the value. This worker must be scheduled after
* certain other workers, such as {@link BlockInjectionProvider} (which is keyed off a combination of
* type and the Inject annotation).
*
- * @see org.apache.tapestry.services.MasterObjectProvider
+ * @see org.apache.tapestry.ioc.services.MasterObjectProvider
*/
public class DefaultInjectionProvider implements InjectionProvider
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/InjectPageWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/InjectPageWorker.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/InjectPageWorker.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/InjectPageWorker.java Mon Jan 7 10:50:13 2008
@@ -50,18 +50,15 @@
if (names.isEmpty()) return;
- String cacheFieldName = transformation.addInjectedField(
- RequestPageCache.class,
- "_requestPageCache",
- _requestPageCache);
+ String cacheFieldName = transformation.addInjectedField(RequestPageCache.class, "_requestPageCache",
+ _requestPageCache);
for (String name : names)
addInjectedPage(transformation, name, cacheFieldName);
}
- private void addInjectedPage(ClassTransformation transformation, String fieldName,
- String cacheFieldName)
+ private void addInjectedPage(ClassTransformation transformation, String fieldName, String cacheFieldName)
{
InjectPage annotation = transformation.getFieldAnnotation(fieldName, InjectPage.class);
@@ -79,11 +76,7 @@
BodyBuilder builder = new BodyBuilder();
builder.begin();
- builder.add(
- "%s page = %s.get(\"%s\");",
- Page.class.getName(),
- cacheFieldName,
- injectedPageName);
+ builder.addln("%s page = %s.get(\"%s\");", Page.class.getName(), cacheFieldName, injectedPageName);
builder.addln("return (%s) page.getRootElement().getComponent();", fieldType);
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResponseRenderer.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResponseRenderer.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResponseRenderer.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResponseRenderer.java Mon Jan 7 10:50:13 2008
@@ -16,11 +16,21 @@
import org.apache.tapestry.ContentType;
+import java.io.IOException;
+
/**
* Public facade around internal services related to rendering a markup response.
*/
public interface ResponseRenderer
{
+ /**
+ * Renders a markup response by rendering the named page.
+ *
+ * @param pageName logical name of page to provide the markup
+ */
+ void renderPageMarkupResponse(String pageName) throws IOException;
+
+
/**
* Finds the content type for the page containing the indicated component.
*
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResponseRendererImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResponseRendererImpl.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResponseRendererImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResponseRendererImpl.java Mon Jan 7 10:50:13 2008
@@ -18,6 +18,9 @@
import org.apache.tapestry.internal.structure.Page;
import org.apache.tapestry.ioc.internal.util.Defense;
import org.apache.tapestry.runtime.Component;
+import org.apache.tapestry.services.Response;
+
+import java.io.IOException;
public class ResponseRendererImpl implements ResponseRenderer
{
@@ -25,10 +28,17 @@
private final PageContentTypeAnalyzer _pageContentAnalyzer;
- public ResponseRendererImpl(RequestPageCache pageCache, PageContentTypeAnalyzer pageContentAnalyzer)
+ private final PageResponseRenderer _renderer;
+
+ private final Response _response;
+
+ public ResponseRendererImpl(RequestPageCache pageCache, PageContentTypeAnalyzer pageContentAnalyzer,
+ PageResponseRenderer renderer, Response response)
{
_pageCache = pageCache;
_pageContentAnalyzer = pageContentAnalyzer;
+ _renderer = renderer;
+ _response = response;
}
public ContentType findContentType(Object component)
@@ -40,5 +50,12 @@
Page page = _pageCache.get(pageName);
return _pageContentAnalyzer.findContentType(page);
+ }
+
+ public void renderPageMarkupResponse(String pageName) throws IOException
+ {
+ Page page = _pageCache.get(pageName);
+
+ _renderer.renderPageResponse(page, _response);
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Alias.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Alias.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Alias.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Alias.java Mon Jan 7 10:50:13 2008
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007 The Apache Software Foundation
+// Copyright 2006, 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -17,16 +17,21 @@
import org.apache.tapestry.ioc.ObjectProvider;
/**
- * Primarily, the Alias service is an ObjectProvider that fits into the command chain and
- * disambiguates injections on type. Contributions to the Alias service identify the normal service
+ * The Alias service provides an ObjectProvider that fits into the MasterObjectProvider command chain and
+ * disambiguates injections based on type. {@linkplain org.apache.tapestry.services.AliasContribution Contibutions}
+ * to the Alias service identify the desired service
* to inject for a particular service interface; this is only necessary when there is more than one
* service implementing the same interface.
+ * <p/>
+ * The {@linkplain AliasManager AliasOverrides}
+ * service also takes an unordered configuration of {@link org.apache.tapestry.services.AliasContribution}; such
+ * contributions override the "factory" contributions to the Alias service itself. This is often used
+ * to replace built-in service implementations with ones that are specific to a particular application.
*/
public interface Alias
{
/**
- * Returns an object that can provide objects based on contributions into the Alias (and
- * AliasOverrides) service.
+ * Returns an object provideer that checks the desired type against the service's contributions.
*/
ObjectProvider getObjectProvider();
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ApplicationStatePersistenceStrategy.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ApplicationStatePersistenceStrategy.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ApplicationStatePersistenceStrategy.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ApplicationStatePersistenceStrategy.java Mon Jan 7 10:50:13 2008
@@ -1,4 +1,4 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -17,6 +17,8 @@
/**
* Used by {@link ApplicationStateManager} to manage a specific kind of ASO persistence. The stategy
* is responsible for managing ASO instances within its domain.
+ *
+ * @see org.apache.tapestry.services.ApplicationStatePersistenceStrategySource
*/
public interface ApplicationStatePersistenceStrategy
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ApplicationStatePersistenceStrategySource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ApplicationStatePersistenceStrategySource.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ApplicationStatePersistenceStrategySource.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ApplicationStatePersistenceStrategySource.java Mon Jan 7 10:50:13 2008
@@ -1,4 +1,4 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,10 +16,8 @@
/**
* Used to provide access to stategies via a logical name for the stategy, such as "session".
- * <p/>
- * Note: Ideally, this would just be internal to {@link ApplicationStateManager}, but Tapestry
- * IOC's one-configuration-per-service makes that awkward, so this part of that functionality
- * becomes its own service.
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributeApplicationStatePersistenceStrategySource(org.apache.tapestry.ioc.MappedConfiguration, Request)
*/
public interface ApplicationStatePersistenceStrategySource
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/AssetFactory.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/AssetFactory.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/AssetFactory.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/AssetFactory.java Mon Jan 7 10:50:13 2008
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007 The Apache Software Foundation
+// Copyright 2006, 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -19,6 +19,8 @@
/**
* Used by {@link AssetSource} to create new {@link Asset}s as needed.
+ *
+ * @see org.apache.tapestry.services.AssetSource
*/
public interface AssetFactory
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/AssetSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/AssetSource.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/AssetSource.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/AssetSource.java Mon Jan 7 10:50:13 2008
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007 The Apache Software Foundation
+// Copyright 2006, 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -22,6 +22,11 @@
/**
* Used to find or create an {@link Asset} with a given path.
+ * <p/>
+ * Assets are defined with a domain, and the domain is indicated by a prefix. The two builtin domains are "context:" (for files inside
+ * the web application context) and "classpath:" for files stored on the classpath (typically, inside a JAR, such as a component library).
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributeAssetSource(org.apache.tapestry.ioc.MappedConfiguration, AssetFactory, AssetFactory)
*/
public interface AssetSource
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BeanBlockSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BeanBlockSource.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BeanBlockSource.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BeanBlockSource.java Mon Jan 7 10:50:13 2008
@@ -1,4 +1,4 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -22,8 +22,13 @@
* A source of {@link Block}s used to display the properties of a bean (used by the {@link Grid}
* component), or to edit the properties of a bean (used by the {@link BeanEditForm} component).
* Contributions to this service define what properties may be editted.
+ * <p/>
+ * <p/>
+ * Blocks are accessed in terms of a <strong>data type</strong> a string that identifies the type
+ * of data to be editted, such as "string", "date", "boolean", etc.
*
* @see DataTypeAnalyzer
+ * @see org.apache.tapestry.services.TapestryModule#contributeBeanBlockSource(org.apache.tapestry.ioc.Configuration)
*/
public interface BeanBlockSource
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BeanModelSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BeanModelSource.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BeanModelSource.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BeanModelSource.java Mon Jan 7 10:50:13 2008
@@ -1,4 +1,4 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -21,6 +21,10 @@
/**
* Used by a component to create a default {@link BeanModel} for a particular bean class. Also
* provides support to the model by generating validation information for individual fields.
+ * <p/>
+ * <p/>
+ * BeanModels are the basis for the {@link org.apache.tapestry.corelib.components.BeanEditor} and
+ * {@link org.apache.tapestry.corelib.components.Grid} comopnents.
*/
public interface BeanModelSource
{
@@ -42,6 +46,5 @@
* labels)
* @return a model
*/
- BeanModel create(Class beanClass, boolean filterReadOnlyProperties,
- ComponentResources resources);
+ BeanModel create(Class beanClass, boolean filterReadOnlyProperties, ComponentResources resources);
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BindingFactory.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BindingFactory.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BindingFactory.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BindingFactory.java Mon Jan 7 10:50:13 2008
@@ -19,7 +19,7 @@
import org.apache.tapestry.ioc.Location;
/**
- * Creates a binding of a particular type.
+ * Creates a binding of a particular type. This is usually invoked from the {@link org.apache.tapestry.services.BindingSource} service.
*/
public interface BindingFactory
{
@@ -40,6 +40,6 @@
* @param location from which the binding was generate, or null if not known
* @return the new binding instance
*/
- Binding newBinding(String description, ComponentResources container,
- ComponentResources component, String expression, Location location);
+ Binding newBinding(String description, ComponentResources container, ComponentResources component,
+ String expression, Location location);
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BindingSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BindingSource.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BindingSource.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/BindingSource.java Mon Jan 7 10:50:13 2008
@@ -19,7 +19,10 @@
import org.apache.tapestry.ioc.Location;
/**
- * Used to acquire bindings for component parameters.
+ * Used to acquire bindings for component parameters. The BindingSource service strips off the binding prefix
+ * to locate a {@link org.apache.tapestry.services.BindingFactory}.
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributeBindingSource(org.apache.tapestry.ioc.MappedConfiguration, AssetSource, BindingFactory, FieldValidatorSource, TranslatorSource)
*/
public interface BindingSource
{
@@ -42,8 +45,8 @@
* @param location location assigned to the binding (or null if not known)
* @return a binding
*/
- Binding newBinding(String description, ComponentResources container,
- ComponentResources component, String defaultPrefix, String expression, Location location);
+ Binding newBinding(String description, ComponentResources container, ComponentResources component,
+ String defaultPrefix, String expression, Location location);
/**
* A simpler version of
@@ -59,6 +62,5 @@
* @param expression the binding
* @return a binding
*/
- Binding newBinding(String description, ComponentResources container, String defaultPrefix,
- String expression);
+ Binding newBinding(String description, ComponentResources container, String defaultPrefix, String expression);
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ClassTransformation.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ClassTransformation.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ClassTransformation.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ClassTransformation.java Mon Jan 7 10:50:13 2008
@@ -22,7 +22,12 @@
import java.util.List;
/**
- * Contains class-specific information used when transforming an raw class into an executable class.
+ * Contains class-specific information used when transforming a raw component class into an executable component class.
+ * An executable class is one that has been transformed to work within Tapestry. This includes
+ * adding interfaces ({@link org.apache.tapestry.runtime.Component}) but also transforming access to fields, based
+ * on annotations and naming conventions. Most of the changes are provided by different implementations of
+ * {@link ComponentClassTransformWorker}.
+ * <p/>
* Much of this information is somewhat like ordinary reflection, but applies to a class that has
* not yet been loaded.
* <p/>
@@ -39,6 +44,8 @@
* <p/>
* The majority of methods concern the <em>declared</em> members (field and methods) of a specific
* class, rather than any fields or methods inherited from a base class.
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributeComponentClassTransformWorker(org.apache.tapestry.ioc.OrderedConfiguration, org.apache.tapestry.ioc.ObjectLocator, InjectionProvider, Environment, ComponentClassResolver, org.apache.tapestry.internal.services.RequestPageCache, BindingSource, ApplicationStateManager)
*/
public interface ClassTransformation extends AnnotationProvider
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ClasspathProvider.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ClasspathProvider.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ClasspathProvider.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ClasspathProvider.java Mon Jan 7 10:50:13 2008
@@ -23,7 +23,7 @@
/**
- * Used to select the correct {@link AssetFactory} for injection. The marked interface will service
+ * A marker annotation used to select the correct {@link AssetFactory} for injection. The marked interface will provide
* assets located on the classpath.
*/
@Target(
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentActionRequestFilter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentActionRequestFilter.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentActionRequestFilter.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentActionRequestFilter.java Mon Jan 7 10:50:13 2008
@@ -18,6 +18,8 @@
/**
* Filter interface for {@link ComponentActionRequestHandler}.
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributeComponentActionRequestHandler(org.apache.tapestry.ioc.OrderedConfiguration, org.apache.tapestry.internal.services.RequestEncodingInitializer, ComponentActionRequestHandler)
*/
public interface ComponentActionRequestFilter
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentClassResolver.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentClassResolver.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentClassResolver.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentClassResolver.java Mon Jan 7 10:50:13 2008
@@ -27,7 +27,7 @@
* package is expected to have sub-packages: "pages", "components", "mixins" and "base" ("base" is
* for base classes).
* <p/>
- * The resolver performs a search of the classpath (via {@link ClassNameLocator}, to build up a set
+ * The resolver performs a search of the classpath (via {@link ClassNameLocator}), to build up a set
* of case-insensitive maps from logical page name, component type, or mixin type to fully qualified
* class name.
* <p/>
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentEventResultProcessor.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentEventResultProcessor.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentEventResultProcessor.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentEventResultProcessor.java Mon Jan 7 10:50:13 2008
@@ -19,7 +19,7 @@
import java.io.IOException;
/**
- * Responsible for handling the return value provided by a component event handler.
+ * Responsible for handling the return value provided by a component event handler method.
*
* @param <T>
*/
@@ -31,8 +31,7 @@
* @param value the value returned from a method
* @param component the component on which a method was invoked
* @param methodDescripion a description of method which provided the value
- * @return an object that can send the request to the client
- * @throws RuntimeException if the value can not be converted into a response
+ * @throws RuntimeException if the value can not handled
*/
void processComponentEvent(T value, Component component, String methodDescripion) throws IOException;
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentLayer.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentLayer.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentLayer.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentLayer.java Mon Jan 7 10:50:13 2008
@@ -14,8 +14,6 @@
package org.apache.tapestry.services;
-import org.apache.tapestry.ioc.services.Builtin;
-
import java.lang.annotation.Documented;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.PARAMETER;
@@ -24,9 +22,9 @@
import java.lang.annotation.Target;
/**
- * Used to identify a service from the component layer that conflicts, in terms of service
+ * Marker annotation used to identify a service from the component layer that conflicts, in terms of service
* interface, with a service from elsewhere. In particular, this is used to disambiguate
- * {@link org.apache.tapestry.ioc.services.ClassFactory} which has one implementation (marked with {@link Builtin} and
+ * {@link org.apache.tapestry.ioc.services.ClassFactory} which has one implementation (marked with {@link org.apache.tapestry.ioc.services.Builtin} and
* another with this annotation.
*/
@Target(
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ContextProvider.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ContextProvider.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ContextProvider.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ContextProvider.java Mon Jan 7 10:50:13 2008
@@ -22,7 +22,7 @@
import java.lang.annotation.Target;
/**
- * Used to select the correct {@link AssetFactory} for injection. The marked interface will service
+ * Marker annotation to select the correct {@link AssetFactory} for injection. The marked interface will provide
* assets located in the web application context.
*/
@Target(
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Core.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Core.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Core.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Core.java Mon Jan 7 10:50:13 2008
@@ -22,7 +22,7 @@
import java.lang.annotation.Target;
/**
- * Marker for services that are provided by the Tapestry core module.
+ * Marker annotation for services that are provided by the Tapestry core module.
*/
@Target(
{PARAMETER, FIELD})
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/DataTypeAnalyzer.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/DataTypeAnalyzer.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/DataTypeAnalyzer.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/DataTypeAnalyzer.java Mon Jan 7 10:50:13 2008
@@ -24,10 +24,14 @@
* what kind of interface to use for displaying the value of the property, or what kind of interface
* to use for editing the value of the property. Common property types are "text", "enum",
* "checkbox", but the list is extensible.
+ * <p/>
+ * <p>Different strategies for identifying the data type are encapsulated in the DataTypeAnalyzer service, forming
+ * a chain of command.
*
* @see Grid
* @see BeanEditForm
* @see BeanBlockSource
+ * @see org.apache.tapestry.services.TapestryModule#contributeDataTypeAnalyzer(org.apache.tapestry.ioc.OrderedConfiguration, DataTypeAnalyzer)
*/
public interface DataTypeAnalyzer
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Dispatcher.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Dispatcher.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Dispatcher.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Dispatcher.java Mon Jan 7 10:50:13 2008
@@ -19,6 +19,8 @@
/**
* A dispatcher is responsible for recognizing an incoming request. Dispatchers form an ordered
* chain of command, with each dispatcher responsible for recognizing requests that it can process.
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributeMasterDispatcher(org.apache.tapestry.ioc.OrderedConfiguration, ClasspathAssetAliasManager, org.apache.tapestry.internal.services.ResourceCache, org.apache.tapestry.internal.services.ResourceStreamer, PageRenderRequestHandler, ComponentActionRequestHandler, ComponentClassResolver, String)
*/
public interface Dispatcher
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Environment.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Environment.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Environment.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Environment.java Mon Jan 7 10:50:13 2008
@@ -22,10 +22,15 @@
* <p/>
* The Environment acts like a collection of stacks. Each stack contains environmental service
* providers of a given type.
+ *
+ * @see org.apache.tapestry.annotations.Environmental
+ * @see org.apache.tapestry.services.EnvironmentalShadowBuilder
*/
public interface Environment
{
/**
+ * Peeks at the current top of the indicated stack.
+ *
* @param <T> the type of environmental service
* @param type class used to select a service
* @return the current service of that type, or null if no service of that type has been added
@@ -33,6 +38,8 @@
<T> T peek(Class<T> type);
/**
+ * Peeks at the current top of the indicated stack (which must have a non-null value).
+ *
* @param <T> the type of environmental service
* @param type class used to select a service
* @return the current service
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/FieldValidatorDefaultSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/FieldValidatorDefaultSource.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/FieldValidatorDefaultSource.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/FieldValidatorDefaultSource.java Mon Jan 7 10:50:13 2008
@@ -22,7 +22,7 @@
import java.util.Locale;
/**
- * For a particular field, geenerates the default validation for the field, in accordance with a
+ * For a particular field, generates the default validation for the field, in accordance with a
* number of factors and contributions.
*/
public interface FieldValidatorDefaultSource
@@ -39,7 +39,6 @@
* @param propertyAnnotations
* @return
*/
- FieldValidator createDefaultValidator(Field field, String overrideId,
- Messages overrideMessages, Locale locale, Class propertyType,
- AnnotationProvider propertyAnnotations);
+ FieldValidator createDefaultValidator(Field field, String overrideId, Messages overrideMessages, Locale locale,
+ Class propertyType, AnnotationProvider propertyAnnotations);
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/FormSupport.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/FormSupport.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/FormSupport.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/FormSupport.java Mon Jan 7 10:50:13 2008
@@ -20,7 +20,7 @@
/**
* Services provided by an enclosing Form control component to the various form element components
- * it encloses. Implement {@link ClientElement}, to share the id of the enclosing form.
+ * it encloses. Implements {@link ClientElement}, to share the id of the enclosing form.
*/
public interface FormSupport extends ClientElement
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Heartbeat.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Heartbeat.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Heartbeat.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Heartbeat.java Mon Jan 7 10:50:13 2008
@@ -15,10 +15,12 @@
package org.apache.tapestry.services;
/**
- * Allow for deferred execution of logic, useful when trying to get multiple components to
+ * Allows for deferred execution of logic, useful when trying to get multiple components to
* coordinate behavior. A component may add a command to be executed "{@link #end() at the end of the heartbeat}".
* The classic example of this is a Label and the field it labels; since we don't know which order
* the two will render, we can't tell if the field's id is correct until after both have rendered.
+ * <p/>
+ * The Heartbeat is injected into components via the {@link org.apache.tapestry.annotations.Environmental} annotation.
*/
public interface Heartbeat
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/LibraryMapping.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/LibraryMapping.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/LibraryMapping.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/LibraryMapping.java Mon Jan 7 10:50:13 2008
@@ -1,25 +1,34 @@
-// Copyright 2006 The Apache Software Foundation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
+// Copyright 2006 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
package org.apache.tapestry.services;
/**
* Used to configure the {@link ComponentClassResolver}, to allow it to map prefixes to library
* root packages (the application namespace is a special case of this). In each case, a prefix on
- * the path is mapped to a package. Prefixes should start with a character and end with a slash, as
- * in "core". The root package name should have two sub-packages: "pages" to contain named pages,
- * and "components" to contain named components.
+ * the path is mapped to a package. Prefixes should start and end with characters, such as "core".
+ * It is allowed for a prefix to contain a slash, though it is not recommended.
+ * <p/>
+ * The root package name should have a number of sub-packages:
+ * <dl>
+ * <dt>pages</dt> <dd>contains named pages</dd>
+ * <dt>components</dt> <dd>contains components</dd>
+ * <dt>mixins</dt> <dd>contains component mixins</dd>
+ * <dt>base</dt> <dd>contains base classes</dd>
+ * </dl>
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributeComponentClassResolver(org.apache.tapestry.ioc.Configuration)
*/
public final class LibraryMapping
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MarkupRendererFilter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MarkupRendererFilter.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MarkupRendererFilter.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MarkupRendererFilter.java Mon Jan 7 10:50:13 2008
@@ -20,6 +20,8 @@
* Filter interface for {@link org.apache.tapestry.services.MarkupRenderer}, which allows
* for code to execute before and/or after the main rendering process. Typically, this is to
* allow for the placement of {@linkplain org.apache.tapestry.services.Environment environmental services}.
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributeMarkupRenderer(org.apache.tapestry.ioc.OrderedConfiguration, org.apache.tapestry.Asset, org.apache.tapestry.Asset, ValidationMessagesSource, org.apache.tapestry.ioc.services.SymbolSource, AssetSource)
*/
public interface MarkupRendererFilter
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MarkupWriterFactory.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MarkupWriterFactory.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MarkupWriterFactory.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MarkupWriterFactory.java Mon Jan 7 10:50:13 2008
@@ -1,17 +1,17 @@
-// Copyright 2006, 2007 The Apache Software Foundation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
+// Copyright 2006, 2007 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
package org.apache.tapestry.services;
import org.apache.tapestry.ContentType;
@@ -23,9 +23,11 @@
public interface MarkupWriterFactory
{
/**
- * This will likely expand in the future to control things like output format and encoding, etc.
+ * Creates a markup writer for a particular content type.
*
- * @param contentType
+ * @param contentType type of content generated by the markup write; used to control the type of
+ * {@link org.apache.tapestry.dom.MarkupModel} used with the {@link org.apache.tapestry.dom.Document}
+ * the backs the markup writer.
*/
MarkupWriter newMarkupWriter(ContentType contentType);
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MetaDataLocator.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MetaDataLocator.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MetaDataLocator.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/MetaDataLocator.java Mon Jan 7 10:50:13 2008
@@ -22,8 +22,10 @@
* the meta data defined for the component, accessed via {@link ComponentModel#getMeta(String)}.
* This includes meta data defined by base classes. When meta-data for a particular component can
* not be found, a search works up the containment hierarchy (to the component's container, and the
- * container's containter, and so on). If <em>that</em> proves unfruitful, a system of defaults is
+ * container's container, and so on). If <em>that</em> proves unfruitful, a system of defaults is
* provided by configuration and matched against the containing page's logical name.
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributeMetaDataLocator(org.apache.tapestry.ioc.MappedConfiguration)
*/
public interface MetaDataLocator
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PartialMarkupRendererFilter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PartialMarkupRendererFilter.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PartialMarkupRendererFilter.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PartialMarkupRendererFilter.java Mon Jan 7 10:50:13 2008
@@ -21,6 +21,8 @@
* A filter (the main interface being {@link PartialMarkupRenderer}) applied when performing a partial page render as part of an Ajax-oriented request. This is similar
* to {@link org.apache.tapestry.services.MarkupRendererFilter} and filters are often in place so as
* to contribute {@link org.apache.tapestry.annotations.Environmental} services to the pages and components that render.
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributePartialMarkupRenderer(org.apache.tapestry.ioc.OrderedConfiguration, org.apache.tapestry.Asset, ValidationMessagesSource, org.apache.tapestry.ioc.services.SymbolSource, AssetSource)
*/
public interface PartialMarkupRendererFilter
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PersistentFieldManager.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PersistentFieldManager.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PersistentFieldManager.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PersistentFieldManager.java Mon Jan 7 10:50:13 2008
@@ -19,6 +19,8 @@
/**
* Handle persistent property changes. Primarily, delegates to a number of
* {@link PersistentFieldStrategy} instances.
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributePersistentFieldManager(org.apache.tapestry.ioc.MappedConfiguration, Request, PersistentFieldStrategy)
*/
public interface PersistentFieldManager
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PersistentFieldStrategy.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PersistentFieldStrategy.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PersistentFieldStrategy.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PersistentFieldStrategy.java Mon Jan 7 10:50:13 2008
@@ -1,21 +1,28 @@
-// Copyright 2006 The Apache Software Foundation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
+// Copyright 2006 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
package org.apache.tapestry.services;
import java.util.Collection;
+/**
+ * Defines how changes to fields (within components, within pages) may have their values persisted between requests.
+ * Different implementations store the field values
+ * {@linkplain org.apache.tapestry.internal.services.SessionPersistentFieldStrategy in the session},
+ * {@linkplain org.apache.tapestry.internal.services.ClientPersistentFieldStrategy on the client}, or
+ * elsewhere.
+ */
public interface PersistentFieldStrategy
{
/**
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyConduitSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyConduitSource.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyConduitSource.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyConduitSource.java Mon Jan 7 10:50:13 2008
@@ -26,6 +26,10 @@
* name of a JavaBean property, or the name of a method (a method that takes no parameters). Method
* names are distinguished from property names by appending empty parens. Using a method term as the
* final term will make the expression read-only.
+ * <p/>
+ * Alternately, the seperator between property names may be "?." (i.e., "user?.name"). This allows
+ * an "if not null" connection: if the term is null, then the expression evaluates to null, otherwise,
+ * the expression continues to the next property. The helps avoid NullPointerExpressions.
*/
public interface PropertyConduitSource
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyEditContext.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyEditContext.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyEditContext.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyEditContext.java Mon Jan 7 10:50:13 2008
@@ -24,7 +24,7 @@
import org.apache.tapestry.ioc.Messages;
/**
- * Defines a context for editing a property of a bean via {@link BeanEditForm}. This value is made
+ * Defines a context for editing a property of a bean via {@link org.apache.tapestry.corelib.components.BeanEditor}. This value is made
* available to blocks via the {@link Environmental} annotation.
*
* @see BeanBlockSource
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyOutputContext.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyOutputContext.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyOutputContext.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/PropertyOutputContext.java Mon Jan 7 10:50:13 2008
@@ -19,7 +19,8 @@
/**
* Provides context information needed when displaying a value. This interface is an integral part
- * of the {@link Grid} and similar output components.
+ * of the {@link Grid} and similar output components. It is made available to
+ * components via an {@link org.apache.tapestry.annotations.Environmental} annotation.
*/
public interface PropertyOutputContext
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/RequestFilter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/RequestFilter.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/RequestFilter.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/RequestFilter.java Mon Jan 7 10:50:13 2008
@@ -19,6 +19,8 @@
/**
* Filter interface for {@link org.apache.tapestry.services.RequestHandler}. Implementations of
* this interface may be contributed into the RequestHandler service configuration.
+ *
+ * @see org.apache.tapestry.services.TapestryModule#contributeRequestHandler(org.apache.tapestry.ioc.OrderedConfiguration, Context, RequestExceptionHandler, long, long, org.apache.tapestry.internal.services.LocalizationSetter)
*/
public interface RequestFilter
{
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/RequestGlobals.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/RequestGlobals.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/RequestGlobals.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/RequestGlobals.java Mon Jan 7 10:50:13 2008
@@ -1,17 +1,17 @@
-// Copyright 2006, 2007 The Apache Software Foundation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
+// Copyright 2006, 2007 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
package org.apache.tapestry.services;
import javax.servlet.http.HttpServletRequest;
@@ -19,7 +19,7 @@
/**
* Service used to store the current request objects, both the Servlet API versions, and the
- * Tapestry generic versions.
+ * Tapestry generic versions. The service has a per-thread scope.
*/
public interface RequestGlobals
{
@@ -35,12 +35,12 @@
void store(Request request, Response response);
/**
- * Accessible as injected object "alias:Request".
+ * The current request. This is exposed as service Request.
*/
Request getRequest();
/**
- * Accessible as injected object "alias:Response".
+ * The current response. This is exposed as service Response.
*/
Response getResponse();
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ServletApplicationInitializerFilter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ServletApplicationInitializerFilter.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ServletApplicationInitializerFilter.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ServletApplicationInitializerFilter.java Mon Jan 7 10:50:13 2008
@@ -1,17 +1,17 @@
-// Copyright 2006 The Apache Software Foundation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
+// Copyright 2006 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
package org.apache.tapestry.services;
import javax.servlet.ServletContext;
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java Mon Jan 7 10:50:13 2008
@@ -462,9 +462,15 @@
}
/**
- * Contributes filter "StaticFilesFilter" that identifies requests for static resources and
- * terminates the pipeline by returning false. Generally, most filters should be ordered after
- * this filter.
+ * Continues a number of filters into the RequestHandler service:
+ * <dl>
+ * <dt>StaticFiles</dt> <dd>Checks to see if the request is for an actual file, if so, returns true to let
+ * the servlet container process the request</dd>
+ * <dt>CheckForUpdates</dt> <dd>Periodically fires events that checks to see if the file system sources
+ * for any cached data has changed (see {@link org.apache.tapestry.internal.services.CheckForUpdatesFilter}).
+ * <dt>ErrorFilter</dt> <dd>Catches request errors and lets the {@link org.apache.tapestry.services.RequestExceptionHandler} handle them</dd>
+ * <dt>Localization</dt> <dd>Determines the locale for the current request from header data or cookies in the request</dd>
+ * </dl>
*/
public void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, Context context,
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/DefaultInjectionProviderTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/DefaultInjectionProviderTest.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/DefaultInjectionProviderTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/DefaultInjectionProviderTest.java Mon Jan 7 10:50:13 2008
@@ -17,9 +17,9 @@
import org.apache.tapestry.internal.test.InternalBaseTestCase;
import org.apache.tapestry.ioc.AnnotationProvider;
import org.apache.tapestry.ioc.ObjectLocator;
+import org.apache.tapestry.ioc.services.MasterObjectProvider;
import org.apache.tapestry.model.MutableComponentModel;
import org.apache.tapestry.services.ClassTransformation;
-import org.apache.tapestry.services.MasterObjectProvider;
import org.apache.tapestry.services.Request;
import static org.easymock.EasyMock.eq;
import static org.easymock.EasyMock.isA;
@@ -36,12 +36,8 @@
MutableComponentModel model = mockMutableComponentModel();
Request injected = mockRequest();
- expect(
- master.provide(
- eq(Request.class),
- isA(AnnotationProvider.class),
- eq(locator),
- eq(false))).andReturn(injected);
+ expect(master.provide(eq(Request.class), isA(AnnotationProvider.class), eq(locator), eq(false))).andReturn(
+ injected);
ct.injectField("myfield", injected);
@@ -62,12 +58,8 @@
ClassTransformation ct = mockClassTransformation();
MutableComponentModel model = mockMutableComponentModel();
- expect(
- master.provide(
- eq(Request.class),
- isA(AnnotationProvider.class),
- eq(locator),
- eq(false))).andReturn(null);
+ expect(master.provide(eq(Request.class), isA(AnnotationProvider.class), eq(locator), eq(false))).andReturn(
+ null);
replay();
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ResponseRendererImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ResponseRendererImplTest.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ResponseRendererImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ResponseRendererImplTest.java Mon Jan 7 10:50:13 2008
@@ -19,6 +19,7 @@
import org.apache.tapestry.internal.structure.Page;
import org.apache.tapestry.internal.test.InternalBaseTestCase;
import org.apache.tapestry.runtime.Component;
+import org.apache.tapestry.services.Response;
import org.testng.annotations.Test;
public class ResponseRendererImplTest extends InternalBaseTestCase
@@ -42,9 +43,32 @@
replay();
- ResponseRenderer renderer = new ResponseRendererImpl(cache, analyzer);
+ ResponseRenderer renderer = new ResponseRendererImpl(cache, analyzer, null, null);
assertSame(renderer.findContentType(component), contentType);
+
+ verify();
+ }
+
+ @Test
+ public void render_page_markup() throws Exception
+ {
+ RequestPageCache cache = mockRequestPageCache();
+ PageContentTypeAnalyzer analyzer = mockPageContentTypeAnalyzer();
+ String pageName = "foo/bar";
+ Page page = mockPage();
+ PageResponseRenderer pageResponseRenderer = mockPageResponseRenderer();
+ Response response = mockResponse();
+
+ train_get(cache, pageName, page);
+
+ pageResponseRenderer.renderPageResponse(page, response);
+
+ replay();
+
+ ResponseRenderer renderer = new ResponseRendererImpl(cache, analyzer, pageResponseRenderer, response);
+
+ renderer.renderPageMarkupResponse(pageName);
verify();
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/log4j.properties?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/resources/log4j.properties (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/resources/log4j.properties Mon Jan 7 10:50:13 2008
@@ -23,4 +23,7 @@
# log4j.category.org.apache.tapestry.services.TapestryModule.ComponentInstantiatorSource=debug
+log4j.category.org.apache.tapestry.integration.app1.pages=debug
+
+
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/ObjectLocator.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/ObjectLocator.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/ObjectLocator.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/ObjectLocator.java Mon Jan 7 10:50:13 2008
@@ -14,7 +14,7 @@
package org.apache.tapestry.ioc;
-import org.apache.tapestry.services.MasterObjectProvider;
+import org.apache.tapestry.ioc.services.MasterObjectProvider;
/**
* Defines an object which can provide access to services defined within a
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/RegistryImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/RegistryImpl.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/RegistryImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/RegistryImpl.java Mon Jan 7 10:50:13 2008
@@ -28,7 +28,6 @@
import org.apache.tapestry.ioc.internal.util.OneShotLock;
import org.apache.tapestry.ioc.internal.util.Orderer;
import org.apache.tapestry.ioc.services.*;
-import org.apache.tapestry.services.MasterObjectProvider;
import org.slf4j.Logger;
import java.lang.reflect.Constructor;
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/services/MasterObjectProviderImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/services/MasterObjectProviderImpl.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/services/MasterObjectProviderImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/services/MasterObjectProviderImpl.java Mon Jan 7 10:50:13 2008
@@ -17,7 +17,7 @@
import org.apache.tapestry.ioc.AnnotationProvider;
import org.apache.tapestry.ioc.ObjectLocator;
import org.apache.tapestry.ioc.ObjectProvider;
-import org.apache.tapestry.services.MasterObjectProvider;
+import org.apache.tapestry.ioc.services.MasterObjectProvider;
import java.util.List;
@@ -30,8 +30,8 @@
_configuration = configuration;
}
- public <T> T provide(Class<T> objectType, AnnotationProvider annotationProvider,
- ObjectLocator locator, boolean required)
+ public <T> T provide(Class<T> objectType, AnnotationProvider annotationProvider, ObjectLocator locator,
+ boolean required)
{
for (ObjectProvider provider : _configuration)
{
Copied: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/MasterObjectProvider.java (from r594319, tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/services/MasterObjectProvider.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/MasterObjectProvider.java?p2=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/MasterObjectProvider.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/services/MasterObjectProvider.java&r1=594319&r2=609736&rev=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/services/MasterObjectProvider.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/MasterObjectProvider.java Mon Jan 7 10:50:13 2008
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry.services;
+package org.apache.tapestry.ioc.services;
import org.apache.tapestry.ioc.AnnotationProvider;
import org.apache.tapestry.ioc.ObjectLocator;
@@ -47,6 +47,5 @@
* @throws RuntimeException if the expression can not be evaluated, or the type of object identified is not
* assignable to the type specified by the objectType parameter
*/
- <T> T provide(Class<T> objectType, AnnotationProvider annotationProvider,
- ObjectLocator locator, boolean required);
+ <T> T provide(Class<T> objectType, AnnotationProvider annotationProvider, ObjectLocator locator, boolean required);
}
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/TapestryIOCModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/TapestryIOCModule.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/TapestryIOCModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/TapestryIOCModule.java Mon Jan 7 10:50:13 2008
@@ -20,7 +20,6 @@
import org.apache.tapestry.ioc.annotations.Value;
import org.apache.tapestry.ioc.internal.services.*;
import org.apache.tapestry.ioc.util.TimePeriod;
-import org.apache.tapestry.services.MasterObjectProvider;
import java.io.File;
import java.lang.reflect.Array;
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/test/IOCTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/test/IOCTestCase.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/test/IOCTestCase.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/test/IOCTestCase.java Mon Jan 7 10:50:13 2008
@@ -20,10 +20,10 @@
import org.apache.tapestry.ioc.def.DecoratorDef;
import org.apache.tapestry.ioc.def.ModuleDef;
import org.apache.tapestry.ioc.def.ServiceDef;
+import org.apache.tapestry.ioc.services.MasterObjectProvider;
import org.apache.tapestry.ioc.services.SymbolSource;
import org.apache.tapestry.ioc.services.ThreadLocale;
import org.apache.tapestry.ioc.services.TypeCoercer;
-import org.apache.tapestry.services.MasterObjectProvider;
import static org.easymock.EasyMock.isA;
import org.slf4j.Logger;
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProviderImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProviderImplTest.java?rev=609736&r1=609735&r2=609736&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProviderImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProviderImplTest.java Mon Jan 7 10:50:13 2008
@@ -17,8 +17,8 @@
import org.apache.tapestry.ioc.AnnotationProvider;
import org.apache.tapestry.ioc.ObjectLocator;
import org.apache.tapestry.ioc.ObjectProvider;
+import org.apache.tapestry.ioc.services.MasterObjectProvider;
import org.apache.tapestry.ioc.test.IOCTestCase;
-import org.apache.tapestry.services.MasterObjectProvider;
import org.testng.annotations.Test;
import java.util.Arrays;