You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2010/07/14 17:51:34 UTC

svn commit: r964086 [1/4] - in /tapestry/tapestry5/trunk: tapestry-core/src/main/java/org/apache/tapestry5/ tapestry-core/src/main/java/org/apache/tapestry5/ajax/ tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ tapestry-core/src/ma...

Author: hlship
Date: Wed Jul 14 15:51:30 2010
New Revision: 964086

URL: http://svn.apache.org/viewvc?rev=964086&view=rev
Log:
TAP5-1197: Remove the Defense class and convert existing code to use Java's assert keyword

Removed:
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/Defense.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/DefenseTest.java
Modified:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ContentType.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/PageCallback.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ajax/MultiZoneUpdate.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/internal/ComponentActionSink.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/internal/FormSupportImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/AbstractMarkupModel.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Document.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Element.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Node.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/grid/SortConstraint.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/BeanModelImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/PropertyModelImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/grid/CollectionGridDataSource.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/model/MutableComponentModelImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/model/MutableEmbeddedComponentModelImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BasePropertyConduit.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BindingSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDefaultProviderImpl.java
    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/ComponentSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextPathEncoderImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextResource.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ContextValueEncoderImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/EventImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/FieldTranslatorSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/FieldValidationSupportImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/FieldValidatorSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/HeartbeatImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/HiddenFieldLocationRulesImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ImmediateActionRenderResponseGenerator.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalClassTransformationImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/MarkupWriterImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageRenderQueueImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentFieldChangeImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentLocaleImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderSupportImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RequestPageCacheImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseRendererImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/URLEncoderImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/URLRewriterImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/URLRewriterRequestFilter.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ValidationConstraintGeneratorImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ValueEncoderSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/JavascriptStackPathConstructorImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementResourcesSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/AliasContribution.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ApplicationStateContribution.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/BeanBlockContribution.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ComponentEventRequestParameters.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/DelegatingRequest.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/LibraryMapping.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/PageRenderRequestParameters.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TransformMethodSignature.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/StylesheetLink.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/meta/FixedExtractor.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/test/PageTester.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/urlrewriter/SimpleRequestWrapper.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/util/DefaultPrimaryKeyEncoder.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/util/EnumSelectModel.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/util/EnumValueEncoder.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/util/ResponseWrapper.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/util/TextStreamResponse.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/dom/DOMTest.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiZoneUpdateInsideForm.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/urlrewriter/SimpleRequestWrapperTest.java
    tapestry/tapestry5/trunk/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateTransactionDecoratorImpl.java
    tapestry/tapestry5/trunk/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/PackageNameHibernateConfigurer.java
    tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateGridDataSource.java
    tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateEntityValueEncoder.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/Orderable.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AbstractConfigurationImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AbstractServiceInstrumenter.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AdvisorDefImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DecoratorDefImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBinderImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceResourcesImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ValidatingOrderedConfigurationWrapper.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/AbstractInvocation.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/AspectDecoratorImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/AspectInterceptorBuilderImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClassFabImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClassFactoryImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ParallelExecutorImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ThreadLocaleImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ThunkCreatorImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/TypeCoercerImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/UpdateListenerHubImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/AbstractResource.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/ClasspathResource.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InternalUtils.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/UtilMessages.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/ClassFabUtils.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/CoercionTuple.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/MethodSignature.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/test/TestUtils.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/resources/org/apache/tapestry5/ioc/internal/util/UtilStrings.properties
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/AppModule.java

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ContentType.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ContentType.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ContentType.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ContentType.java Wed Jul 14 15:51:30 2010
@@ -1,4 +1,4 @@
-// Copyright 2007, 2008 The Apache Software Foundation
+// Copyright 2007, 2008, 2010 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.
@@ -14,15 +14,14 @@
 
 package org.apache.tapestry5;
 
-import org.apache.tapestry5.internal.InternalConstants;
-import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
-import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-
 import java.util.List;
 import java.util.Map;
 import java.util.StringTokenizer;
 
+import org.apache.tapestry5.internal.InternalConstants;
+import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
+
 /**
  * Represents an HTTP content type. Allows to set various elements like the mime type, the character set, and other
  * parameters. This is similar to a number of other implementations of the same concept in JAF, etc. We have created
@@ -93,8 +92,7 @@ public final class ContentType
      */
     public void setBaseType(String baseType)
     {
-        Defense.notNull(baseType, "baseType");
-
+        assert baseType != null;
         this.baseType = baseType;
     }
 
@@ -111,8 +109,7 @@ public final class ContentType
      */
     public void setSubType(String subType)
     {
-        Defense.notNull(subType, "subType");
-
+        assert subType != null;
         this.subType = subType;
     }
 
@@ -146,8 +143,7 @@ public final class ContentType
      */
     public String getParameter(String key)
     {
-        Defense.notNull(key, "key");
-
+        assert key != null;
         return parameters.get(key);
     }
 
@@ -157,9 +153,8 @@ public final class ContentType
      */
     public void setParameter(String key, String value)
     {
-        Defense.notNull(key, "key");
-        Defense.notNull(value, "value");
-
+        assert key != null;
+        assert value != null;
         parameters.put(key, value);
     }
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/PageCallback.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/PageCallback.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/PageCallback.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/PageCallback.java Wed Jul 14 15:51:30 2010
@@ -18,7 +18,7 @@ import java.io.Serializable;
 
 import org.apache.tapestry5.annotations.ImmutableSessionPersistedObject;
 import org.apache.tapestry5.internal.InternalConstants;
-import org.apache.tapestry5.ioc.internal.util.Defense;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.services.PageRenderLinkSource;
 
 /**
@@ -42,8 +42,10 @@ public class PageCallback implements Ser
 
     public PageCallback(String pageName, String[] activationContext)
     {
-        this.pageName = Defense.notBlank(pageName, "pageName");
-        this.activationContext = Defense.notNull(activationContext, "activationContext");
+        assert InternalUtils.isNonBlank(pageName);
+        this.pageName = pageName;
+        assert activationContext != null;
+        this.activationContext = activationContext;
     }
 
     public PageCallback(String pageName, EventContext activationContext)

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ajax/MultiZoneUpdate.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ajax/MultiZoneUpdate.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ajax/MultiZoneUpdate.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ajax/MultiZoneUpdate.java Wed Jul 14 15:51:30 2010
@@ -1,10 +1,10 @@
-// Copyright 2009 The Apache Software Foundation
+// Copyright 2009, 2010 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
+// 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,
@@ -14,21 +14,21 @@
 
 package org.apache.tapestry5.ajax;
 
-import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
-
 import java.util.Map;
 
+import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
+
 /**
  * A mapping from <em>client-side zone ids</em> to objects that can render the content for that zone on the client. An
- * event handler method may instantiate an instance and chain together a series of calls to {@link #add(String,
- * Object)}, and return the final result.
+ * event handler method may instantiate an instance and chain together a series of calls to {@link #add(String, Object)}
+ * , and return the final result.
  * <p/>
  * Remember that client-side element ids may not match server-side component ids, especially once Ajax is added to the
  * mix. Because of this, it is highly recommended that the client-side logic gather the actual component ids and include
  * those in the Ajax request, to ensure that the server generates updates that the client can process. Better yet, use
  * the Zone's id parameter to lock down the zone's id to a known, predictable value.
- *
+ * 
  * @since 5.1.0.1
  */
 public class MultiZoneUpdate
@@ -46,18 +46,22 @@ public class MultiZoneUpdate
 
     private MultiZoneUpdate(String zoneId, Object renderer, MultiZoneUpdate parent)
     {
-        this.zoneId = Defense.notBlank(zoneId, "zoneId");
-        this.renderer = Defense.notNull(renderer, "renderer");
+        assert renderer != null;
+        assert InternalUtils.isNonBlank(zoneId);
 
+        this.zoneId = zoneId;
+        this.renderer = renderer;
         this.parent = parent;
     }
 
     /**
      * Returns a <strong>new</strong> MultiZoneUpdate reflecting the mapping from the indicated zone to an object that
      * will render the content for that zone.
-     *
-     * @param zoneId   client id of zone to update
-     * @param renderer object that can provide the content for the zone
+     * 
+     * @param zoneId
+     *            client id of zone to update
+     * @param renderer
+     *            object that can provide the content for the zone
      * @return new MultiZoneUpdate
      */
     public MultiZoneUpdate add(String zoneId, Object renderer)
@@ -67,7 +71,7 @@ public class MultiZoneUpdate
 
     /**
      * Returns a mapping from client zone id to renderer object for that zone.
-     *
+     * 
      * @return string to renderer map
      */
     public Map<String, Object> getZoneToRenderMap()
@@ -92,4 +96,3 @@ public class MultiZoneUpdate
         return String.format("MultiZoneUpdate[%s]", getZoneToRenderMap());
     }
 }
-

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java Wed Jul 14 15:51:30 2010
@@ -1,10 +1,10 @@
-// Copyright 2008, 2009 The Apache Software Foundation
+// Copyright 2008, 2009, 2010 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
+// 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,
@@ -14,36 +14,47 @@
 
 package org.apache.tapestry5.corelib.components;
 
+import java.util.Collections;
+import java.util.Iterator;
+
 import org.apache.tapestry5.*;
-import org.apache.tapestry5.annotations.*;
+import org.apache.tapestry5.annotations.Environmental;
+import org.apache.tapestry5.annotations.Events;
+import org.apache.tapestry5.annotations.InjectComponent;
+import org.apache.tapestry5.annotations.Log;
+import org.apache.tapestry5.annotations.Parameter;
+import org.apache.tapestry5.annotations.Property;
 import org.apache.tapestry5.corelib.internal.AjaxFormLoopContext;
 import org.apache.tapestry5.internal.services.PageRenderQueue;
 import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.ioc.internal.util.Defense;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.services.TypeCoercer;
 import org.apache.tapestry5.json.JSONArray;
 import org.apache.tapestry5.json.JSONObject;
-import org.apache.tapestry5.services.*;
-
-import java.util.Collections;
-import java.util.Iterator;
+import org.apache.tapestry5.services.ComponentDefaultProvider;
+import org.apache.tapestry5.services.Environment;
+import org.apache.tapestry5.services.FormSupport;
+import org.apache.tapestry5.services.Heartbeat;
+import org.apache.tapestry5.services.PartialMarkupRenderer;
+import org.apache.tapestry5.services.PartialMarkupRendererFilter;
 
 /**
- * A special form of the {@link org.apache.tapestry5.corelib.components.Loop} component that adds  Ajax support to
- * handle adding new rows and removing existing rows dynamically.  Expects that the values being iterated over are
+ * A special form of the {@link org.apache.tapestry5.corelib.components.Loop} component that adds Ajax support to
+ * handle adding new rows and removing existing rows dynamically. Expects that the values being iterated over are
  * entities that can be identified via a {@link org.apache.tapestry5.ValueEncoder}.
  * <p/>
- * Works with {@link org.apache.tapestry5.corelib.components.AddRowLink} and {@link
- * org.apache.tapestry5.corelib.components.RemoveRowLink} components.
+ * Works with {@link org.apache.tapestry5.corelib.components.AddRowLink} and
+ * {@link org.apache.tapestry5.corelib.components.RemoveRowLink} components.
  * <p/>
  * The addRow event will receive the context specified by the context parameter.
  * <p/>
  * The removeRow event will receive the client-side value for the row being iterated.
- *
+ * 
  * @see EventConstants#ADD_ROW
  * @see EventConstants#REMOVE_ROW
  */
-@Events({ EventConstants.ADD_ROW, EventConstants.REMOVE_ROW })
+@Events(
+{ EventConstants.ADD_ROW, EventConstants.REMOVE_ROW })
 public class AjaxFormLoop
 {
     /**
@@ -68,7 +79,7 @@ public class AjaxFormLoop
 
     /**
      * Name of a function on the client-side Tapestry.ElementEffect object that is invoked to make added content
-     * visible.  This is used with the {@link FormInjector} component, when adding a new row to the loop. Leaving as
+     * visible. This is used with the {@link FormInjector} component, when adding a new row to the loop. Leaving as
      * null uses the default function, "highlight".
      */
     @Parameter(defaultPrefix = BindingConstants.LITERAL)
@@ -82,7 +93,6 @@ public class AjaxFormLoop
     @Parameter
     private Object[] context;
 
-
     /**
      * A block to render after the loop as the body of the {@link org.apache.tapestry5.corelib.components.FormInjector}.
      * This typically contains a {@link org.apache.tapestry5.corelib.components.AddRowLink}.
@@ -149,13 +159,11 @@ public class AjaxFormLoop
         return defaultProvider.defaultValueEncoder("value", resources);
     }
 
-
     private final AjaxFormLoopContext formLoopContext = new AjaxFormLoopContext()
     {
         public void addAddRowTrigger(String clientId)
         {
-            Defense.notBlank(clientId, "clientId");
-
+            assert InternalUtils.isNonBlank(clientId);
             addRowTriggers.put(clientId);
         }
 
@@ -181,13 +189,11 @@ public class AjaxFormLoop
         }
     };
 
-
     String defaultElement()
     {
         return resources.getElementName("div");
     }
 
-
     /**
      * Action for synchronizing the current element of the loop by recording its client value.
      */
@@ -277,15 +283,16 @@ public class AjaxFormLoop
         }
     };
 
-    @SuppressWarnings({ "unchecked" })
+    @SuppressWarnings(
+    { "unchecked" })
     @Log
     private void syncValue(String clientValue)
     {
         Object value = encoder.toValue(clientValue);
 
         if (value == null)
-            throw new RuntimeException(
-                    String.format("Unable to convert client value '%s' back into a server-side object.", clientValue));
+            throw new RuntimeException(String.format(
+                    "Unable to convert client value '%s' back into a server-side object.", clientValue));
 
         this.value = value;
     }
@@ -313,22 +320,20 @@ public class AjaxFormLoop
      * Uses the {@link org.apache.tapestry5.ValueEncoder} to convert the current server-side value to a client-side
      * value.
      */
-    @SuppressWarnings({ "unchecked" })
+    @SuppressWarnings(
+    { "unchecked" })
     private String toClientValue()
     {
         return encoder.toClient(value);
     }
 
-
     void setupRender()
     {
         addRowTriggers = new JSONArray();
 
         pushContext();
 
-        iterator = source == null
-                   ? Collections.EMPTY_LIST.iterator()
-                   : source.iterator();
+        iterator = source == null ? Collections.EMPTY_LIST.iterator() : source.iterator();
 
         renderingInjector = false;
     }
@@ -340,11 +345,12 @@ public class AjaxFormLoop
 
     boolean beginRender(MarkupWriter writer)
     {
-        if (!iterator.hasNext()) return false;
+        if (!iterator.hasNext())
+            return false;
 
         value = iterator.next();
 
-        return true;  // Render body, etc.
+        return true; // Render body, etc.
     }
 
     Object afterRender(MarkupWriter writer)
@@ -400,10 +406,9 @@ public class AjaxFormLoop
         resources.triggerContextEvent(EventConstants.ADD_ROW, context, callback);
 
         if (value == null)
-            throw new IllegalArgumentException(
-                    String.format("Event handler for event 'addRow' from %s should have returned a non-null value.",
-                                  resources.getCompleteId()));
-
+            throw new IllegalArgumentException(String.format(
+                    "Event handler for event 'addRow' from %s should have returned a non-null value.",
+                    resources.getCompleteId()));
 
         renderingInjector = true;
 
@@ -427,7 +432,8 @@ public class AjaxFormLoop
     {
         Object value = encoder.toValue(rowId);
 
-        resources.triggerEvent(EventConstants.REMOVE_ROW, new Object[] { value }, null);
+        resources.triggerEvent(EventConstants.REMOVE_ROW, new Object[]
+        { value }, null);
 
         return new JSONObject();
     }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java Wed Jul 14 15:51:30 2010
@@ -14,22 +14,44 @@
 
 package org.apache.tapestry5.corelib.components;
 
-import org.apache.tapestry5.*;
-import org.apache.tapestry5.annotations.*;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.tapestry5.Binding;
+import org.apache.tapestry5.BindingConstants;
+import org.apache.tapestry5.Block;
+import org.apache.tapestry5.ComponentAction;
+import org.apache.tapestry5.ComponentResources;
+import org.apache.tapestry5.MarkupWriter;
+import org.apache.tapestry5.PropertyOverrides;
+import org.apache.tapestry5.RenderSupport;
+import org.apache.tapestry5.ValueEncoder;
+import org.apache.tapestry5.annotations.Component;
+import org.apache.tapestry5.annotations.Environmental;
+import org.apache.tapestry5.annotations.Parameter;
+import org.apache.tapestry5.annotations.Persist;
+import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.annotations.SupportsInformalParameters;
 import org.apache.tapestry5.beaneditor.BeanModel;
 import org.apache.tapestry5.beaneditor.PropertyModel;
 import org.apache.tapestry5.corelib.data.GridPagerPosition;
-import org.apache.tapestry5.grid.*;
+import org.apache.tapestry5.grid.ColumnSort;
+import org.apache.tapestry5.grid.GridDataSource;
+import org.apache.tapestry5.grid.GridModel;
+import org.apache.tapestry5.grid.GridSortModel;
+import org.apache.tapestry5.grid.SortConstraint;
 import org.apache.tapestry5.internal.TapestryInternalUtils;
 import org.apache.tapestry5.internal.beaneditor.BeanModelUtils;
 import org.apache.tapestry5.internal.bindings.AbstractBinding;
 import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.ioc.internal.util.Defense;
-import org.apache.tapestry5.services.*;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.List;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
+import org.apache.tapestry5.services.BeanModelSource;
+import org.apache.tapestry5.services.ClientBehaviorSupport;
+import org.apache.tapestry5.services.ComponentDefaultProvider;
+import org.apache.tapestry5.services.ComponentEventResultProcessor;
+import org.apache.tapestry5.services.FormSupport;
+import org.apache.tapestry5.services.Request;
 
 /**
  * A grid presents tabular data. It is a composite component, created in terms of several sub-components. The
@@ -321,8 +343,7 @@ public class Grid implements GridModel
 
         public void updateSort(String columnId)
         {
-            Defense.notBlank(columnId, "columnId");
-
+            assert InternalUtils.isNonBlank(columnId);
             if (columnId.equals(sortColumnId))
             {
                 setSortAscending(!getSortAscending());

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/internal/ComponentActionSink.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/internal/ComponentActionSink.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/internal/ComponentActionSink.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/internal/ComponentActionSink.java Wed Jul 14 15:51:30 2010
@@ -1,4 +1,4 @@
-// Copyright 2008, 2009 The Apache Software Foundation
+// Copyright 2008, 2009, 2010 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.
@@ -14,16 +14,15 @@
 
 package org.apache.tapestry5.corelib.internal;
 
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+
 import org.apache.tapestry5.ComponentAction;
-import org.apache.tapestry5.ioc.internal.util.Defense;
 import org.apache.tapestry5.runtime.Component;
 import org.apache.tapestry5.services.ClientDataEncoder;
 import org.apache.tapestry5.services.ClientDataSink;
 import org.slf4j.Logger;
 
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-
 /**
  * Used to collection component actions, with the ultimate goal being the creation of a MIME-encoded string of the
  * serialization of those actions.
@@ -49,8 +48,8 @@ public class ComponentActionSink
 
     public <T> void store(T component, ComponentAction<T> action)
     {
-        Component castComponent = Defense.cast(component, Component.class, "component");
-        Defense.notNull(action, "action");
+        Component castComponent = (Component) component;
+        assert action != null;
 
         String completeId = castComponent.getComponentResources().getCompleteId();
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/internal/FormSupportImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/internal/FormSupportImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/internal/FormSupportImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/internal/FormSupportImpl.java Wed Jul 14 15:51:30 2010
@@ -1,10 +1,10 @@
-// Copyright 2006, 2007, 2008, 2009 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2009, 2010 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
+// 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,
@@ -14,18 +14,18 @@
 
 package org.apache.tapestry5.corelib.internal;
 
+import java.util.List;
+
 import org.apache.tapestry5.ComponentAction;
 import org.apache.tapestry5.ComponentResources;
 import org.apache.tapestry5.Field;
 import org.apache.tapestry5.ioc.Locatable;
 import org.apache.tapestry5.ioc.Location;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.util.IdAllocator;
 import org.apache.tapestry5.services.ClientBehaviorSupport;
 
-import java.util.List;
-
 /**
  * Provides support to components enclosed by a form when the form is rendering (allowing the components to registry
  * form submit callback commands), and also during form submission time.
@@ -64,8 +64,8 @@ public class FormSupportImpl implements 
      * Full constructor (specifically constructor for render time).
      */
     public FormSupportImpl(ComponentResources resources, String clientId, ComponentActionSink actionSink,
-                           ClientBehaviorSupport clientBehaviorSupport,
-                           boolean clientValidationEnabled, IdAllocator idAllocator, String formValidationId)
+            ClientBehaviorSupport clientBehaviorSupport, boolean clientValidationEnabled, IdAllocator idAllocator,
+            String formValidationId)
     {
         this.resources = resources;
         this.clientId = clientId;
@@ -105,14 +105,18 @@ public class FormSupportImpl implements 
 
     public void defer(Runnable command)
     {
-        if (commands == null) commands = CollectionFactory.newList();
+        assert command != null;
+
+        if (commands == null)
+            commands = CollectionFactory.newList();
 
-        commands.add(Defense.notNull(command, "command"));
+        commands.add(command);
     }
 
     public void executeDeferred()
     {
-        if (commands == null) return;
+        if (commands == null)
+            return;
 
         for (Runnable r : commands)
             r.run();
@@ -132,7 +136,7 @@ public class FormSupportImpl implements 
 
     public void setEncodingType(String encodingType)
     {
-        Defense.notBlank(encodingType, "encodingType");
+        assert InternalUtils.isNonBlank(encodingType);
 
         if (this.encodingType != null && !this.encodingType.equals(encodingType))
             throw new IllegalStateException(InternalMessages.conflictingEncodingType(this.encodingType, encodingType));

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/AbstractMarkupModel.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/AbstractMarkupModel.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/AbstractMarkupModel.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/AbstractMarkupModel.java Wed Jul 14 15:51:30 2010
@@ -1,4 +1,4 @@
-//  Copyright 2008, 2009 The Apache Software Foundation
+//  Copyright 2008, 2009, 2010 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.
@@ -14,8 +14,6 @@
 
 package org.apache.tapestry5.dom;
 
-import org.apache.tapestry5.ioc.internal.util.Defense;
-
 public abstract class AbstractMarkupModel implements MarkupModel
 {
     private final boolean useApostropheForAttributes;
@@ -93,8 +91,7 @@ public abstract class AbstractMarkupMode
 
     public void encodeQuoted(String content, StringBuilder builder)
     {
-        Defense.notNull(content, "content");
-
+        assert content != null;
         int length = content.length();
 
         for (int i = 0; i < length; i++)

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Document.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Document.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Document.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Document.java Wed Jul 14 15:51:30 2010
@@ -14,14 +14,14 @@
 
 package org.apache.tapestry5.dom;
 
-import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
-
 import java.io.PrintWriter;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
+
 /**
  * The root node of a DOM.
  */
@@ -59,7 +59,7 @@ public final class Document extends Node
     {
         super(null);
 
-        Defense.notNull(model, "model");
+        assert model != null;
 
         this.model = model;
         this.encoding = encoding;
@@ -81,7 +81,7 @@ public final class Document extends Node
      */
     public Element find(String path)
     {
-        Defense.notBlank(path, "path");
+        assert InternalUtils.isNonBlank(path);
 
         if (rootElement == null)
             return null;

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Element.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Element.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Element.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Element.java Wed Jul 14 15:51:30 2010
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008, 2009 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2009, 2010 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.
@@ -14,16 +14,21 @@
 
 package org.apache.tapestry5.dom;
 
+import java.io.PrintWriter;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 import org.apache.tapestry5.internal.TapestryInternalUtils;
 import org.apache.tapestry5.internal.util.PrintOutCollector;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
 import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.util.Stack;
 
-import java.io.PrintWriter;
-import java.util.*;
-
 /**
  * An element that will render with a begin tag and attributes, a body, and an end tag. Also acts as a factory for
  * enclosed Element, Text and Comment nodes.
@@ -117,8 +122,7 @@ public final class Element extends Node
      */
     public Element attribute(String namespace, String name, String value)
     {
-        Defense.notBlank(name, "name");
-
+        assert InternalUtils.isNonBlank(name);
         updateAttribute(namespace, name, value, false);
 
         return this;
@@ -211,8 +215,7 @@ public final class Element extends Node
      */
     public Element element(String name, String... namesAndValues)
     {
-        Defense.notBlank(name, "name");
-
+        assert InternalUtils.isNonBlank(name);
         Element child = newChild(new Element(this, null, name));
 
         child.attributes(namesAndValues);
@@ -229,15 +232,13 @@ public final class Element extends Node
      */
     public Element elementNS(String namespace, String name)
     {
-        Defense.notBlank(name, "name");
-
+        assert InternalUtils.isNonBlank(name);
         return newChild(new Element(this, namespace, name));
     }
 
     public Element elementAt(int index, String name, String... namesAndValues)
     {
-        Defense.notBlank(name, "name");
-
+        assert InternalUtils.isNonBlank(name);
         Element child = new Element(this, null, name);
         child.attributes(namesAndValues);
 
@@ -399,8 +400,7 @@ public final class Element extends Node
      */
     public Element getElementById(String id)
     {
-        Defense.notNull(id, "id");
-
+        assert id != null;
         LinkedList<Element> queue = CollectionFactory.newLinkedList();
 
         queue.add(this);
@@ -434,8 +434,7 @@ public final class Element extends Node
      */
     public Element find(String path)
     {
-        Defense.notBlank(path, "path");
-
+        assert InternalUtils.isNonBlank(path);
         Element search = this;
 
         for (String name : TapestryInternalUtils.splitPath(path))
@@ -564,12 +563,8 @@ public final class Element extends Node
      */
     public Element defineNamespace(String namespace, String namespacePrefix)
     {
-        Defense.notNull(namespace, "namespace");
-        Defense.notNull(namespacePrefix, "namespacePrefix");
-
-        // Don't allow an override of the XML namespace URI, per
-        // http://www.w3.org/TR/2006/REC-xml-names-20060816/#xmlReserved
-
+        assert namespace != null;
+        assert namespacePrefix != null;
         if (namespace.equals(Document.XML_NAMESPACE_URI))
             return this;
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Node.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Node.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Node.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Node.java Wed Jul 14 15:51:30 2010
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008, 2009 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2009, 2010 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.
@@ -14,12 +14,11 @@
 
 package org.apache.tapestry5.dom;
 
-import org.apache.tapestry5.internal.util.PrintOutCollector;
-import org.apache.tapestry5.ioc.internal.util.Defense;
-
 import java.io.PrintWriter;
 import java.util.Map;
 
+import org.apache.tapestry5.internal.util.PrintOutCollector;
+
 /**
  * A node within the DOM.
  */
@@ -163,7 +162,7 @@ public abstract class Node
 
     private void validateElement(Element element)
     {
-        Defense.notNull(element, "element");
+        assert element != null;
 
         Node search = element;
         while (search != null)

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/grid/SortConstraint.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/grid/SortConstraint.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/grid/SortConstraint.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/grid/SortConstraint.java Wed Jul 14 15:51:30 2010
@@ -1,4 +1,4 @@
-// Copyright 2008 The Apache Software Foundation
+// Copyright 2008, 2010 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.
@@ -15,7 +15,6 @@
 package org.apache.tapestry5.grid;
 
 import org.apache.tapestry5.beaneditor.PropertyModel;
-import org.apache.tapestry5.ioc.internal.util.Defense;
 
 /**
  * Identifies how a single column (identified as a {@link org.apache.tapestry5.beaneditor.PropertyModel}) is sorted.
@@ -28,8 +27,8 @@ public class SortConstraint
 
     public SortConstraint(PropertyModel propertyModel, ColumnSort columnSort)
     {
-        Defense.notNull(propertyModel, "propertyModel");
-        Defense.notNull(columnSort, "columnSort");
+        assert propertyModel != null;
+        assert columnSort != null;
 
         this.propertyModel = propertyModel;
         this.columnSort = columnSort;

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java Wed Jul 14 15:51:30 2010
@@ -35,7 +35,6 @@ import org.apache.tapestry5.ioc.Messages
 import org.apache.tapestry5.ioc.Orderable;
 import org.apache.tapestry5.ioc.Resource;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
 import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.services.ComponentEventRequestParameters;
 import org.apache.tapestry5.services.LinkCreationListener;
@@ -46,6 +45,7 @@ import org.apache.tapestry5.services.jav
 /**
  * Shared utility methods used by various implementation classes.
  */
+@SuppressWarnings("all")
 public class TapestryInternalUtils
 {
     private static final String SLASH = "/";
@@ -126,8 +126,7 @@ public class TapestryInternalUtils
      */
     public static OptionModel toOptionModel(String input)
     {
-        Defense.notNull(input, "input");
-
+        assert input != null;
         int equalsx = input.indexOf('=');
 
         if (equalsx < 0)
@@ -149,8 +148,7 @@ public class TapestryInternalUtils
      */
     public static List<OptionModel> toOptionModels(String input)
     {
-        Defense.notNull(input, "input");
-
+        assert input != null;
         List<OptionModel> result = CollectionFactory.newList();
 
         for (String term : input.split(","))
@@ -180,8 +178,7 @@ public class TapestryInternalUtils
      */
     public static OptionModel toOptionModel(Map.Entry input)
     {
-        Defense.notNull(input, "input");
-
+        assert input != null;
         String label = input.getValue() != null ? String.valueOf(input.getValue()) : "";
 
         return new OptionModelImpl(label, input.getKey());
@@ -196,8 +193,7 @@ public class TapestryInternalUtils
      */
     public static <K, V> List<OptionModel> toOptionModels(Map<K, V> input)
     {
-        Defense.notNull(input, "input");
-
+        assert input != null;
         List<OptionModel> result = CollectionFactory.newList();
 
         for (Map.Entry entry : input.entrySet())
@@ -241,8 +237,7 @@ public class TapestryInternalUtils
      */
     public static <E> List<OptionModel> toOptionModels(List<E> input)
     {
-        Defense.notNull(input, "input");
-
+        assert input != null;
         List<OptionModel> result = CollectionFactory.newList();
 
         for (E element : input)

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/BeanModelImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/BeanModelImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/BeanModelImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/BeanModelImpl.java Wed Jul 14 15:51:30 2010
@@ -25,7 +25,7 @@ import org.apache.tapestry5.internal.ser
 import org.apache.tapestry5.ioc.Messages;
 import org.apache.tapestry5.ioc.ObjectLocator;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.services.ClassFabUtils;
 import org.apache.tapestry5.ioc.services.TypeCoercer;
 import org.apache.tapestry5.ioc.util.AvailableValues;
@@ -80,8 +80,7 @@ public class BeanModelImpl<T> implements
 
     private void validateNewPropertyName(String propertyName)
     {
-        Defense.notBlank(propertyName, "propertyName");
-
+        assert InternalUtils.isNonBlank(propertyName);
         if (properties.containsKey(propertyName))
             throw new RuntimeException(String.format(
                     "Bean editor model for %s already contains a property model for property '%s'.",
@@ -91,8 +90,7 @@ public class BeanModelImpl<T> implements
     public PropertyModel add(RelativePosition position, String existingPropertyName, String propertyName,
             PropertyConduit conduit)
     {
-        Defense.notNull(position, "position");
-
+        assert position != null;
         validateNewPropertyName(propertyName);
 
         // Locate the existing one.

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/PropertyModelImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/PropertyModelImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/PropertyModelImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/PropertyModelImpl.java Wed Jul 14 15:51:30 2010
@@ -1,4 +1,4 @@
-// Copyright 2007, 2008 The Apache Software Foundation
+// Copyright 2007, 2008, 2010 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.
@@ -14,16 +14,17 @@
 
 package org.apache.tapestry5.internal.beaneditor;
 
+import java.lang.annotation.Annotation;
+
 import org.apache.tapestry5.PropertyConduit;
 import org.apache.tapestry5.beaneditor.BeanModel;
 import org.apache.tapestry5.beaneditor.PropertyModel;
 import org.apache.tapestry5.internal.TapestryInternalUtils;
 import org.apache.tapestry5.ioc.Messages;
-import org.apache.tapestry5.ioc.internal.util.Defense;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.services.ClassFabUtils;
 
-import java.lang.annotation.Annotation;
-
+@SuppressWarnings("all")
 public class PropertyModelImpl implements PropertyModel
 {
     private final BeanModel model;
@@ -75,8 +76,7 @@ public class PropertyModelImpl implement
 
     public PropertyModel label(String label)
     {
-        Defense.notBlank(label, "label");
-
+        assert InternalUtils.isNonBlank(label);
         this.label = label;
 
         return this;

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/grid/CollectionGridDataSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/grid/CollectionGridDataSource.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/grid/CollectionGridDataSource.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/grid/CollectionGridDataSource.java Wed Jul 14 15:51:30 2010
@@ -1,10 +1,10 @@
-// Copyright 2007, 2008 The Apache Software Foundation
+// Copyright 2007, 2008, 2010 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
+// 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,
@@ -14,29 +14,25 @@
 
 package org.apache.tapestry5.internal.grid;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
 import org.apache.tapestry5.PropertyConduit;
 import org.apache.tapestry5.grid.ColumnSort;
 import org.apache.tapestry5.grid.GridDataSource;
 import org.apache.tapestry5.grid.SortConstraint;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
 
+@SuppressWarnings("all")
 public class CollectionGridDataSource implements GridDataSource
 {
     private final List list;
 
-    @SuppressWarnings("unchecked")
     public CollectionGridDataSource(final Collection collection)
     {
-        Defense.notNull(collection, "collection");
-
-        // Copy the collection so that we can sort it without disturbing the original
-
+        assert collection != null;
         list = CollectionFactory.newList(collection);
     }
 
@@ -51,7 +47,8 @@ public class CollectionGridDataSource im
         {
             final ColumnSort sort = constraint.getColumnSort();
 
-            if (sort == ColumnSort.UNSORTED) continue;
+            if (sort == ColumnSort.UNSORTED)
+                continue;
 
             final PropertyConduit conduit = constraint.getPropertyModel().getConduit();
 
@@ -61,11 +58,14 @@ public class CollectionGridDataSource im
                 {
                     // Simplify comparison, and handle case where both are nulls.
 
-                    if (o1 == o2) return 0;
+                    if (o1 == o2)
+                        return 0;
 
-                    if (o2 == null) return 1;
+                    if (o2 == null)
+                        return 1;
 
-                    if (o1 == null) return -1;
+                    if (o1 == null)
+                        return -1;
 
                     return o1.compareTo(o2);
                 }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/model/MutableComponentModelImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/model/MutableComponentModelImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/model/MutableComponentModelImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/model/MutableComponentModelImpl.java Wed Jul 14 15:51:30 2010
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008, 2009 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2009, 2010 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,7 +22,6 @@ import java.util.Set;
 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.internal.util.Defense;
 import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.util.IdAllocator;
 import org.apache.tapestry5.model.ComponentModel;
@@ -113,11 +112,8 @@ public final class MutableComponentModel
     public void addParameter(String name, boolean required, boolean allowNull,
             String defaultBindingPrefix, boolean cached)
     {
-        Defense.notBlank(name, "name");
-        Defense.notBlank(defaultBindingPrefix, "defaultBindingPrefix");
-
-        // TODO: Check for conflict with base model
-
+        assert InternalUtils.isNonBlank(name);
+        assert InternalUtils.isNonBlank(defaultBindingPrefix);
         if (parameters == null)
             parameters = CollectionFactory.newCaseInsensitiveMap();
 
@@ -310,9 +306,8 @@ public final class MutableComponentModel
 
     public void setMeta(String key, String value)
     {
-        Defense.notBlank(key, "key");
-        Defense.notBlank(value, "value");
-
+        assert InternalUtils.isNonBlank(key);
+        assert InternalUtils.isNonBlank(value);
         if (metaData == null)
             metaData = CollectionFactory.newCaseInsensitiveMap();
 
@@ -323,8 +318,7 @@ public final class MutableComponentModel
 
     public void addRenderPhase(Class renderPhase)
     {
-        Defense.notNull(renderPhase, "renderPhase");
-
+        assert renderPhase != null;
         if (handledRenderPhases == null)
             handledRenderPhases = CollectionFactory.newSet();
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/model/MutableEmbeddedComponentModelImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/model/MutableEmbeddedComponentModelImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/model/MutableEmbeddedComponentModelImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/model/MutableEmbeddedComponentModelImpl.java Wed Jul 14 15:51:30 2010
@@ -1,10 +1,10 @@
-// Copyright 2006, 2008, 2009 The Apache Software Foundation
+// Copyright 2006, 2008, 2009, 2010 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
+// 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,
@@ -14,17 +14,16 @@
 
 package org.apache.tapestry5.internal.model;
 
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
 import org.apache.tapestry5.ioc.BaseLocatable;
 import org.apache.tapestry5.ioc.Location;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
 import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.model.MutableEmbeddedComponentModel;
 
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
 public class MutableEmbeddedComponentModelImpl extends BaseLocatable implements MutableEmbeddedComponentModel
 {
     private final String id;
@@ -46,10 +45,10 @@ public class MutableEmbeddedComponentMod
      */
     private List<String> mixinClassNames;
 
-    private Map<String,String[]> mixinConstraints;
+    private Map<String, String[]> mixinConstraints;
 
     public MutableEmbeddedComponentModelImpl(String id, String componentType, String componentClassName,
-                                             String declaredClass, boolean inheritInformalParameters, Location location)
+            String declaredClass, boolean inheritInformalParameters, Location location)
     {
         super(location);
 
@@ -69,12 +68,13 @@ public class MutableEmbeddedComponentMod
     public String toString()
     {
         return String.format("EmbeddedComponentModel[id=%s type=%s class=%s inheritInformals=%s]", id, componentType,
-                             componentClassName, inheritInformalParameters);
+                componentClassName, inheritInformalParameters);
     }
 
     public void addParameter(String name, String value)
     {
-        if (parameters == null) parameters = CollectionFactory.newMap();
+        if (parameters == null)
+            parameters = CollectionFactory.newMap();
         else if (parameters.containsKey(name))
             throw new IllegalArgumentException(ModelMessages.duplicateParameterValue(name, id, declaredClass));
 
@@ -103,7 +103,8 @@ public class MutableEmbeddedComponentMod
 
     public List<String> getMixinClassNames()
     {
-        if (mixinClassNames == null) return Collections.emptyList();
+        if (mixinClassNames == null)
+            return Collections.emptyList();
 
         return Collections.unmodifiableList(mixinClassNames);
     }
@@ -117,12 +118,12 @@ public class MutableEmbeddedComponentMod
         }
         else
         {
-            if (mixinClassNames.contains(mixinClassName)) throw new IllegalArgumentException(ModelMessages
-                    .duplicateMixin(mixinClassName, id));
+            if (mixinClassNames.contains(mixinClassName))
+                throw new IllegalArgumentException(ModelMessages.duplicateMixin(mixinClassName, id));
         }
 
         mixinClassNames.add(mixinClassName);
-        mixinConstraints.put(mixinClassName,constraints);
+        mixinConstraints.put(mixinClassName, constraints);
     }
 
     public boolean getInheritInformalParameters()
@@ -132,8 +133,7 @@ public class MutableEmbeddedComponentMod
 
     public void setPublishedParameters(List<String> parameterNames)
     {
-        Defense.notNull(parameterNames, "parameterNames");
-
+        assert parameterNames != null;
         publishedParameters = parameterNames;
     }
 
@@ -144,6 +144,6 @@ public class MutableEmbeddedComponentMod
 
     public String[] getConstraintsForMixin(String mixinClassName)
     {
-        return InternalUtils.get(mixinConstraints,mixinClassName);
+        return InternalUtils.get(mixinConstraints, mixinClassName);
     }
 }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java Wed Jul 14 15:51:30 2010
@@ -1,4 +1,4 @@
-// Copyright 2007, 2008 The Apache Software Foundation
+// Copyright 2007, 2008, 2010 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.
@@ -15,16 +15,17 @@
 package org.apache.tapestry5.internal.services;
 
 import static org.apache.tapestry5.ioc.internal.util.CollectionFactory.newList;
-import static org.apache.tapestry5.ioc.internal.util.Defense.notBlank;
-import org.apache.tapestry5.services.PersistentFieldChange;
-import org.apache.tapestry5.services.PersistentFieldStrategy;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Session;
 
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
+import org.apache.tapestry5.services.PersistentFieldChange;
+import org.apache.tapestry5.services.PersistentFieldStrategy;
+import org.apache.tapestry5.services.Request;
+import org.apache.tapestry5.services.Session;
+
 /**
  * Base class for strategies that store their values as keys in the session. Implements a uniform format for the keys,
  * based on a prefix to identify the particular strategy.
@@ -107,9 +108,8 @@ public abstract class AbstractSessionPer
     public final void postChange(String pageName, String componentId, String fieldName,
                                  Object newValue)
     {
-        notBlank(pageName, "pageName");
-        notBlank(fieldName, "fieldName");
-
+        assert InternalUtils.isNonBlank(pageName);
+        assert InternalUtils.isNonBlank(fieldName);
         Object persistedValue = newValue == null ? null : convertApplicationValueToPersisted(newValue);
 
         StringBuilder builder = new StringBuilder(prefix);

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java Wed Jul 14 15:51:30 2010
@@ -14,20 +14,21 @@
 
 package org.apache.tapestry5.internal.services;
 
+import java.util.Locale;
+import java.util.Map;
+
 import org.apache.tapestry5.Asset;
 import org.apache.tapestry5.internal.AssetConstants;
 import org.apache.tapestry5.ioc.Resource;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.services.SymbolSource;
 import org.apache.tapestry5.ioc.services.ThreadLocale;
 import org.apache.tapestry5.ioc.util.StrategyRegistry;
 import org.apache.tapestry5.services.AssetFactory;
 import org.apache.tapestry5.services.AssetSource;
 
-import java.util.Locale;
-import java.util.Map;
-
+@SuppressWarnings("all")
 public class AssetSourceImpl implements AssetSource
 {
     private final StrategyRegistry<AssetFactory> registry;
@@ -106,8 +107,7 @@ public class AssetSourceImpl implements 
 
     private Resource getUnlocalizedResource(Resource baseResource, String path)
     {
-        Defense.notBlank(path, "path");
-
+        assert InternalUtils.isNonBlank(path);
         int colonx = path.indexOf(':');
 
         if (colonx < 0)

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BasePropertyConduit.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BasePropertyConduit.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BasePropertyConduit.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BasePropertyConduit.java Wed Jul 14 15:51:30 2010
@@ -1,4 +1,4 @@
-// Copyright 2007, 2008, 2009 The Apache Software Foundation
+// Copyright 2007, 2008, 2009, 2010 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,13 +19,14 @@ import java.lang.annotation.Annotation;
 import org.apache.tapestry5.internal.InternalPropertyConduit;
 import org.apache.tapestry5.internal.util.IntegerRange;
 import org.apache.tapestry5.ioc.AnnotationProvider;
-import org.apache.tapestry5.ioc.internal.util.Defense;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.services.TypeCoercer;
 
 /**
  * Base class for {@link org.apache.tapestry5.PropertyConduit} instances created by the {@link
  * org.apache.tapestry5.services.PropertyConduitSource}.
  */
+@SuppressWarnings("all")
 public abstract class BasePropertyConduit implements InternalPropertyConduit
 {
     private final Class propertyType;
@@ -41,11 +42,10 @@ public abstract class BasePropertyCondui
     public BasePropertyConduit(Class propertyType, String propertyName, AnnotationProvider annotationProvider, String description,
                                TypeCoercer typeCoercer)
     {
-        Defense.notNull(propertyType, "propertyType");
-        Defense.notNull(annotationProvider, "annotationProvider");
-        Defense.notBlank(description, "description");
-        Defense.notNull(typeCoercer, "typeCoercer");
-
+        assert propertyType != null;
+        assert annotationProvider != null;
+        assert typeCoercer != null;
+        assert InternalUtils.isNonBlank(description);
         this.propertyType = propertyType;
         this.propertyName = propertyName;
         this.annotationProvider = annotationProvider;

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java Wed Jul 14 15:51:30 2010
@@ -26,10 +26,8 @@ import org.apache.tapestry5.internal.bea
 import org.apache.tapestry5.ioc.Location;
 import org.apache.tapestry5.ioc.Messages;
 import org.apache.tapestry5.ioc.ObjectLocator;
-import org.apache.tapestry5.ioc.ServiceResources;
 import org.apache.tapestry5.ioc.annotations.Primary;
 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.ClassPropertyAdapter;
 import org.apache.tapestry5.ioc.services.PropertyAccess;
@@ -157,9 +155,8 @@ public class BeanModelSourceImpl impleme
 
     public <T> BeanModel<T> create(Class<T> beanClass, boolean filterReadOnlyProperties, Messages messages)
     {
-        Defense.notNull(beanClass, "beanClass");
-        Defense.notNull(messages, "messages");
-
+        assert beanClass != null;
+        assert messages != null;
         ClassPropertyAdapter adapter = propertyAccess.getAdapter(beanClass);
 
         BeanModel<T> model = new BeanModelImpl<T>(beanClass, propertyConduitSource, typeCoercer, messages, locator);

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BindingSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BindingSourceImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BindingSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BindingSourceImpl.java Wed Jul 14 15:51:30 2010
@@ -1,10 +1,10 @@
-// Copyright 2006, 2007, 2008, 2009 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2009, 2010 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
+// 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,
@@ -14,17 +14,16 @@
 
 package org.apache.tapestry5.internal.services;
 
+import java.util.Map;
+
 import org.apache.tapestry5.Binding;
 import org.apache.tapestry5.ComponentResources;
 import org.apache.tapestry5.ioc.Location;
-import org.apache.tapestry5.ioc.internal.util.Defense;
 import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.internal.util.TapestryException;
 import org.apache.tapestry5.services.BindingFactory;
 import org.apache.tapestry5.services.BindingSource;
 
-import java.util.Map;
-
 public class BindingSourceImpl implements BindingSource
 {
     private final Map<String, BindingFactory> factories;
@@ -37,20 +36,18 @@ public class BindingSourceImpl implement
         this.interner = interner;
     }
 
-    public Binding newBinding(String description, ComponentResources container,
-                              String defaultPrefix, String expression)
+    public Binding newBinding(String description, ComponentResources container, String defaultPrefix, String expression)
     {
         return newBinding(description, container, container, defaultPrefix, expression, null);
     }
 
-    public Binding newBinding(String description, ComponentResources container,
-                              ComponentResources component, String defaultPrefix, String expression, Location location)
+    public Binding newBinding(String description, ComponentResources container, ComponentResources component,
+            String defaultPrefix, String expression, Location location)
     {
-        Defense.notBlank(description, "description");
-        Defense.notNull(container, "container");
-        Defense.notNull(component, "component");
-        Defense.notBlank(defaultPrefix, "defaultPrefix");
-
+        assert InternalUtils.isNonBlank(description);
+        assert container != null;
+        assert InternalUtils.isNonBlank(defaultPrefix);
+        assert component != null;
         if (InternalUtils.isBlank(expression))
             throw new TapestryException(ServicesMessages.emptyBinding(description), location, null);
 
@@ -82,8 +79,7 @@ public class BindingSourceImpl implement
         }
         catch (Exception ex)
         {
-            throw new TapestryException(ServicesMessages.bindingSourceFailure(expression, ex),
-                                        location, ex);
+            throw new TapestryException(ServicesMessages.bindingSourceFailure(expression, ex), location, ex);
         }
     }
 }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDefaultProviderImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDefaultProviderImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDefaultProviderImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDefaultProviderImpl.java Wed Jul 14 15:51:30 2010
@@ -1,4 +1,4 @@
-// Copyright 2007, 2008, 2009 The Apache Software Foundation
+// Copyright 2007, 2008, 2009, 2010 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.
@@ -14,14 +14,25 @@
 
 package org.apache.tapestry5.internal.services;
 
-import org.apache.tapestry5.*;
+import org.apache.tapestry5.Binding;
+import org.apache.tapestry5.BindingConstants;
+import org.apache.tapestry5.ComponentResources;
+import org.apache.tapestry5.FieldTranslator;
+import org.apache.tapestry5.FieldValidator;
+import org.apache.tapestry5.MarkupWriter;
+import org.apache.tapestry5.ValidationException;
+import org.apache.tapestry5.ValueEncoder;
 import org.apache.tapestry5.internal.TapestryInternalUtils;
 import org.apache.tapestry5.internal.bindings.InvariantBinding;
 import org.apache.tapestry5.ioc.Messages;
-import org.apache.tapestry5.ioc.internal.util.Defense;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.services.PropertyAccess;
 import org.apache.tapestry5.runtime.Component;
-import org.apache.tapestry5.services.*;
+import org.apache.tapestry5.services.BindingSource;
+import org.apache.tapestry5.services.ComponentDefaultProvider;
+import org.apache.tapestry5.services.FieldTranslatorSource;
+import org.apache.tapestry5.services.FieldValidatorDefaultSource;
+import org.apache.tapestry5.services.ValueEncoderSource;
 
 public class ComponentDefaultProviderImpl implements ComponentDefaultProvider
 {
@@ -66,8 +77,7 @@ public class ComponentDefaultProviderImp
 
     public String defaultLabel(ComponentResources resources)
     {
-        Defense.notNull(resources, "resources");
-
+        assert resources != null;
         String componentId = resources.getId();
         String key = componentId + "-label";
 
@@ -80,9 +90,8 @@ public class ComponentDefaultProviderImp
 
     public Binding defaultBinding(String parameterName, ComponentResources resources)
     {
-        Defense.notBlank(parameterName, "parameterName");
-        Defense.notNull(resources, "resources");
-
+        assert InternalUtils.isNonBlank(parameterName);
+        assert resources != null;
         String componentId = resources.getId();
 
         Component container = resources.getContainer();
@@ -106,9 +115,8 @@ public class ComponentDefaultProviderImp
     @SuppressWarnings({ "unchecked" })
     public ValueEncoder defaultValueEncoder(String parameterName, ComponentResources resources)
     {
-        Defense.notBlank(parameterName, "parameterName");
-        Defense.notNull(resources, "resources");
-
+        assert InternalUtils.isNonBlank(parameterName);
+        assert resources != null;
         Class parameterType = resources.getBoundType(parameterName);
 
         if (parameterType == null) return null;

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=964086&r1=964085&r2=964086&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 Wed Jul 14 15:51:30 2010
@@ -14,7 +14,20 @@
 
 package org.apache.tapestry5.internal.services;
 
-import javassist.*;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.Map;
+import java.util.Set;
+
+import javassist.CannotCompileException;
+import javassist.ClassPath;
+import javassist.ClassPool;
+import javassist.CtClass;
+import javassist.Loader;
+import javassist.LoaderClassPath;
+import javassist.NotFoundException;
+import javassist.Translator;
+
 import org.apache.tapestry5.internal.event.InvalidationEventHubImpl;
 import org.apache.tapestry5.internal.util.URLChangeTracker;
 import org.apache.tapestry5.ioc.internal.services.ClassFactoryClassPool;
@@ -22,7 +35,7 @@ import org.apache.tapestry5.ioc.internal
 import org.apache.tapestry5.ioc.internal.services.CtClassSource;
 import org.apache.tapestry5.ioc.internal.services.CtClassSourceImpl;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.services.ClassFabUtils;
 import org.apache.tapestry5.ioc.services.ClassFactory;
 import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
@@ -30,11 +43,6 @@ import org.apache.tapestry5.services.Inv
 import org.apache.tapestry5.services.UpdateListener;
 import org.slf4j.Logger;
 
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Map;
-import java.util.Set;
-
 /**
  * A wrapper around a Javassist class loader that allows certain classes to be modified as they are loaded.
  */
@@ -335,10 +343,7 @@ public final class ComponentInstantiator
     // synchronized may be overkill, but that's ok.
     public synchronized void addPackage(String packageName)
     {
-        Defense.notBlank(packageName, "packageName");
-
-        // TODO: Should we check that packages are not nested?
-
+        assert InternalUtils.isNonBlank(packageName);
         controlledPackageNames.add(packageName);
     }
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentSourceImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentSourceImpl.java Wed Jul 14 15:51:30 2010
@@ -17,12 +17,13 @@ package org.apache.tapestry5.internal.se
 import org.apache.tapestry5.ComponentResources;
 import org.apache.tapestry5.internal.structure.ComponentPageElement;
 import org.apache.tapestry5.internal.structure.Page;
-import org.apache.tapestry5.ioc.internal.util.Defense;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.runtime.Component;
 import org.apache.tapestry5.services.ComponentClassResolver;
 import org.apache.tapestry5.services.ComponentSource;
 import org.apache.tapestry5.services.RequestGlobals;
 
+@SuppressWarnings("all")
 public class ComponentSourceImpl implements ComponentSource
 {
     private final RequestPageCache pageCache;
@@ -40,7 +41,7 @@ public class ComponentSourceImpl impleme
 
     public Component getComponent(String completeId)
     {
-        Defense.notBlank(completeId, "completeId");
+        assert InternalUtils.isNonBlank(completeId);
 
         int colonx = completeId.indexOf(':');
 
@@ -77,7 +78,7 @@ public class ComponentSourceImpl impleme
 
     public Component getPage(String pageName)
     {
-        Defense.notNull(pageName, "pageName");
+        assert pageName != null;
 
         Page page = pageCache.get(pageName);
 
@@ -86,7 +87,7 @@ public class ComponentSourceImpl impleme
 
     public Component getPage(Class pageClass)
     {
-        Defense.notNull(pageClass, "pageClass");
+        assert pageClass != null;
 
         String pageName = resolver.resolvePageClassNameToPageName(pageClass.getName());