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 2006/04/21 17:19:15 UTC
svn commit: r395912 [3/3] - in /tapestry/tapestry5/tapestry-core/trunk: ./
.settings/ src/ src/main/ src/main/java/ src/main/java/org/
src/main/java/org/apache/ src/main/java/org/apache/tapestry/
src/main/java/org/apache/tapestry/annotations/ src/main/...
Added: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/worker/RetainWorkerTest.java
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/worker/RetainWorkerTest.java?rev=395912&view=auto
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/worker/RetainWorkerTest.java (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/worker/RetainWorkerTest.java Fri Apr 21 08:19:11 2006
@@ -0,0 +1,77 @@
+// Copyright 2006 The Howard M. Lewis Ship
+//
+// 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.internal.transform.worker;
+
+import static org.apache.tapestry.util.CollectionFactory.newList;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.tapestry.annotations.Retain;
+import org.apache.tapestry.model.MutableComponentModel;
+import org.apache.tapestry.test.BaseTestCase;
+import org.apache.tapestry.transform.ClassTransformation;
+import org.testng.annotations.Test;
+
+/**
+ * @author Howard M. Lewis Ship
+ */
+public class RetainWorkerTest extends BaseTestCase
+{
+ @Test
+ public void noFields()
+ {
+ ClassTransformation ct = newClassTransformation();
+ MutableComponentModel model = newMutableComponentModel();
+
+ // There are limits to the compiler's ability to infer types and generics.
+ // Assigning to an intermediate variable gets rid of warnings.
+ List<String> names = Collections.emptyList();
+ trainFindFieldsWithAnnotation(ct, Retain.class, names);
+
+ replay();
+
+ RetainWorker worker = new RetainWorker();
+
+ worker.transform(ct, model);
+
+ verify();
+ }
+
+ @Test
+ public void normal()
+ {
+ ClassTransformation ct = newClassTransformation();
+ MutableComponentModel model = newMutableComponentModel();
+ Retain annotation = newMock(Retain.class);
+
+ List<String> fieldNames = newList();
+ fieldNames.add("fred");
+
+ trainFindFieldsWithAnnotation(ct, Retain.class, fieldNames);
+
+ trainGetFieldAnnotation(ct, "fred", Retain.class, annotation);
+
+ ct.claimField("fred", annotation);
+
+ replay();
+
+ RetainWorker worker = new RetainWorker();
+
+ worker.transform(ct, model);
+
+ verify();
+ }
+}
Added: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/worker/UnclaimedFieldWorkerTest.java
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/worker/UnclaimedFieldWorkerTest.java?rev=395912&view=auto
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/worker/UnclaimedFieldWorkerTest.java (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/worker/UnclaimedFieldWorkerTest.java Fri Apr 21 08:19:11 2006
@@ -0,0 +1,94 @@
+// Copyright 2006 The Howard M. Lewis Ship
+//
+// 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.internal.transform.worker;
+
+import java.lang.reflect.Modifier;
+
+import org.apache.hivemind.service.BodyBuilder;
+import org.apache.tapestry.events.ComponentLifecycle;
+import org.apache.tapestry.internal.transform.TransformConstants;
+import org.apache.tapestry.model.MutableComponentModel;
+import org.apache.tapestry.test.BaseTestCase;
+import org.apache.tapestry.transform.ClassTransformation;
+import org.testng.annotations.Test;
+
+/**
+ * @author Howard M. Lewis Ship
+ */
+public class UnclaimedFieldWorkerTest extends BaseTestCase
+{
+ @Test
+ public void noFields()
+ {
+ ClassTransformation ct = newClassTransformation();
+ MutableComponentModel model = newMutableComponentModel();
+
+ trainFindUnclaimedFields(ct, new String[0]);
+
+ replay();
+
+ new UnclaimedFieldWorker().transform(ct, model);
+
+ verify();
+ }
+
+ protected final void trainFindUnclaimedFields(ClassTransformation transformation,
+ String[] fieldNames)
+ {
+ transformation.findUnclaimedFields();
+ setReturnValue(fieldNames);
+ }
+
+ @Test
+ public void normal()
+ {
+ ClassTransformation ct = newClassTransformation();
+ MutableComponentModel model = newMutableComponentModel();
+
+ trainFindUnclaimedFields(ct, new String[]
+ { "_fred" });
+
+ ct.getFieldType("_fred");
+ setReturnValue("foo.Bar");
+
+ ct.newField(Modifier.PRIVATE, "foo.Bar", "_fredDefault");
+ setReturnValue("_$fredDefault");
+
+ ct.addImplementedInterface(ComponentLifecycle.class);
+
+ BodyBuilder builder = new BodyBuilder();
+ builder.begin();
+ builder.addln("$proceed($$);");
+ builder.addln("_$fredDefault = _fred;");
+ builder.end();
+
+ ct.extendMethod(TransformConstants.CONTAINING_PAGE_DID_LOAD_SIGNATURE, builder.toString());
+
+ builder.clear();
+ builder.begin();
+ builder.addln("$proceed($$);");
+ builder.addln("_fred = _$fredDefault;");
+ builder.end();
+
+ ct.extendMethod(TransformConstants.CONTAINING_PAGE_DID_DETACH, builder.toString());
+
+ replay();
+
+ new UnclaimedFieldWorker().transform(ct, model);
+
+ verify();
+ }
+
+}
Added: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/transform/MethodSignatureTest.java
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/transform/MethodSignatureTest.java?rev=395912&view=auto
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/transform/MethodSignatureTest.java (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/transform/MethodSignatureTest.java Fri Apr 21 08:19:11 2006
@@ -0,0 +1,141 @@
+// Copyright 2006 The Howard M. Lewis Ship
+//
+// 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.transform;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+
+import java.lang.reflect.Modifier;
+
+import org.apache.tapestry.transform.MethodSignature;
+import org.testng.annotations.Test;
+
+/**
+ * @author Howard M. Lewis Ship
+ */
+public class MethodSignatureTest
+{
+
+ @Test
+ public void toStringTest()
+ {
+ MethodSignature sig = new MethodSignature(Modifier.PUBLIC, "int", "doSomething",
+ new String[]
+ { "java.lang.String", "int" }, new String[]
+ { "java.lang.RuntimeException", "org.foo.FredException" });
+
+ assertEquals(
+ sig.toString(),
+ "public int doSomething(java.lang.String, int) throws java.lang.RuntimeException, org.foo.FredException");
+
+ sig = new MethodSignature(Modifier.ABSTRACT + Modifier.PROTECTED, "boolean", "misoHapi",
+ new String[0], new String[0]);
+
+ assertEquals(sig.toString(), "protected abstract boolean misoHapi()");
+ }
+
+ @Test
+ public void gettersTest()
+ {
+ MethodSignature sig = new MethodSignature(Modifier.PUBLIC, "int", "doSomething",
+ new String[]
+ { "java.lang.String", "int" }, new String[]
+ { "java.lang.RuntimeException", "org.foo.FredException" });
+
+ assertEquals(sig.getModifiers(), Modifier.PUBLIC);
+ assertEquals(sig.getReturnType(), "int");
+ assertEquals(sig.getMethodName(), "doSomething");
+ assertEquals(sig.getParameterTypes(), new String[]
+ { "java.lang.String", "int" });
+ assertEquals(sig.getExceptionTypes(), new String[]
+ { "java.lang.RuntimeException", "org.foo.FredException" });
+ }
+
+ @Test
+ public void hashCodeAndEqualsTest()
+ {
+ MethodSignature sig1 = new MethodSignature(Modifier.PUBLIC, "int", "doSomething",
+ new String[]
+ { "int" }, new String[]
+ { "org.foo.BarException" });
+ int hashCode1 = sig1.hashCode();
+
+ // Check that same value returned each time.
+
+ assertEquals(sig1.hashCode(), hashCode1);
+
+ MethodSignature sig2 = new MethodSignature(Modifier.PUBLIC, "int", "doSomething",
+ new String[]
+ { "int" }, new String[]
+ { "org.foo.BarException" });
+
+ assertEquals(sig2.hashCode(), hashCode1);
+ assertEquals(sig2, sig1);
+
+ // Now work through the different properties, changing each one.
+
+ sig2 = new MethodSignature(Modifier.PRIVATE, "int", "doSomething", new String[]
+ { "int" }, new String[]
+ { "org.foo.BarException" });
+
+ assertFalse(sig2.hashCode() == hashCode1);
+ assertFalse(sig2.equals(sig1));
+
+ sig2 = new MethodSignature(Modifier.PUBLIC, "long", "doSomething", new String[]
+ { "int" }, new String[]
+ { "org.foo.BarException" });
+
+ assertFalse(sig2.hashCode() == hashCode1);
+ assertFalse(sig2.equals(sig1));
+
+ sig2 = new MethodSignature(Modifier.PUBLIC, "int", "doSomethingElse", new String[]
+ { "int" }, new String[]
+ { "org.foo.BarException" });
+
+ assertFalse(sig2.hashCode() == hashCode1);
+ assertFalse(sig2.equals(sig1));
+
+ sig2 = new MethodSignature(Modifier.PUBLIC, "int", "doSomething", new String[]
+ { "long" }, new String[]
+ { "org.foo.BarException" });
+
+ assertFalse(sig2.hashCode() == hashCode1);
+ assertFalse(sig2.equals(sig1));
+
+ sig2 = new MethodSignature(Modifier.PUBLIC, "int", "doSomething", new String[]
+ { "int" }, new String[0]);
+
+ assertFalse(sig2.hashCode() == hashCode1);
+ assertFalse(sig2.equals(sig1));
+
+ // Other equality checks
+
+ assertFalse(sig1.equals(null));
+ assertFalse(sig1.equals(""));
+ }
+
+ /** Tests the simple, no arguments constructor. */
+ @Test
+ public void shortConstructorTest()
+ {
+ MethodSignature sig = new MethodSignature("pageLoad");
+
+ assertEquals(sig.getModifiers(), Modifier.PUBLIC);
+ assertEquals(sig.getReturnType(), "void");
+ assertEquals(sig.getMethodName(), "pageLoad");
+ assertEquals(sig.getParameterTypes(), new String[0]);
+ assertEquals(sig.getExceptionTypes(), new String[0]);
+ }
+}
Added: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/CollectionFactoryTest.java
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/CollectionFactoryTest.java?rev=395912&view=auto
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/CollectionFactoryTest.java (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/CollectionFactoryTest.java Fri Apr 21 08:19:11 2006
@@ -0,0 +1,88 @@
+// Copyright 2006 The Howard M. Lewis Ship
+//
+// 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.util;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.testng.annotations.Test;
+
+import static org.apache.tapestry.util.CollectionFactory.newList;
+import static org.apache.tapestry.util.CollectionFactory.newMap;
+import static org.apache.tapestry.util.CollectionFactory.newSet;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertTrue;
+
+/**
+ * @author Howard M. Lewis Ship
+ */
+public class CollectionFactoryTest
+{
+
+ @Test
+ public void newMapTest()
+ {
+ Map<String, Class> map = newMap();
+
+ assertTrue(map instanceof HashMap);
+ }
+
+ @Test
+ public void copyMapTest()
+ {
+ Map<String, Class> map = newMap();
+
+ map.put("this", CollectionFactoryTest.class);
+
+ Map<String, Class> copy = CollectionFactory.copyMap(map);
+
+ assertEquals(copy, map);
+
+ map.put("other", Map.class);
+
+ assertFalse(copy.equals(map));
+ }
+
+ @Test
+ public void newSetTest()
+ {
+ Set<String> set = newSet();
+
+ assertTrue(set instanceof HashSet);
+ }
+
+ @Test
+ public void newListTest()
+ {
+ List<String> list = newList();
+
+ assertTrue(list instanceof ArrayList);
+ }
+
+ @Test
+ public void newListVarargs()
+ {
+ List<String> actual = newList("Fred", "Barney", "Wilma");
+
+ assertEquals(actual, Arrays.asList(new String[]
+ { "Fred", "Barney", "Wilma" }));
+ }
+}
Added: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/DefenseTest.java
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/DefenseTest.java?rev=395912&view=auto
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/DefenseTest.java (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/DefenseTest.java Fri Apr 21 08:19:11 2006
@@ -0,0 +1,92 @@
+// Copyright 2006 The Howard M. Lewis Ship
+//
+// 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.util;
+
+import static org.apache.tapestry.util.Defense.notBlank;
+import static org.apache.tapestry.util.Defense.notNull;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertSame;
+
+import org.apache.tapestry.test.TestBase;
+import org.testng.annotations.Test;
+
+/**
+ * @author Howard M. Lewis Ship
+ */
+public class DefenseTest extends TestBase
+{
+
+ /**
+ * Check that {@link Defense#notNull(T, String)} returns a non-null value.
+ */
+ @Test
+ public void parameterNotNull()
+ {
+ assertSame(this, notNull(this, "foo"));
+ }
+
+ /**
+ * Check that {@link Defense#notNull(T, String)} throws NPE when null, and
+ * check the message.
+ */
+
+ @Test
+ public void parameterIsNull()
+ {
+ try
+ {
+ notNull(null, "foo");
+ unreachable();
+ }
+ catch (NullPointerException ex)
+ {
+ assertEquals(ex.getMessage(), "Parameter foo was null.");
+ }
+ }
+
+ @Test
+ public void nonBlankParameterIsNull()
+ {
+ try
+ {
+ notBlank(null, "bar");
+ unreachable();
+ }
+ catch (IllegalArgumentException ex)
+ {
+ assertEquals(ex.getMessage(), "Parameter bar was null or contained only whitespace.");
+ }
+ }
+
+ @Test
+ public void nonBlankParameterIsOnlyWhitespace()
+ {
+ try
+ {
+ notBlank(" \t\n", "baz");
+ unreachable();
+ }
+ catch (IllegalArgumentException ex)
+ {
+ assertEquals(ex.getMessage(), "Parameter baz was null or contained only whitespace.");
+ }
+ }
+
+ @Test
+ public void nonBlankParameterIsValid()
+ {
+ assertEquals("fred", notBlank(" fred\n", "biff"));
+ }
+}
Added: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/IdAllocatorTest.java
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/IdAllocatorTest.java?rev=395912&view=auto
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/IdAllocatorTest.java (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/util/IdAllocatorTest.java Fri Apr 21 08:19:11 2006
@@ -0,0 +1,127 @@
+// Copyright 2004, 2005, 2006 The Howard M. Lewis Ship
+//
+// 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.util;
+
+import org.testng.annotations.Test;
+
+import static org.testng.Assert.assertEquals;
+
+/**
+ * Tests the {@link org.apache.tapestry.util.IdAllocator}class.
+ *
+ * @author Howard Lewis Ship
+ */
+public class IdAllocatorTest
+{
+
+ @Test
+ public void simple()
+ {
+ IdAllocator a = new IdAllocator();
+
+ assertEquals(a.allocateId("name"), "name");
+
+ for (int i = 0; i < 10; i++)
+ assertEquals(a.allocateId("name"), "name_" + i);
+ }
+
+ @Test
+ public void simpleNamespace()
+ {
+ IdAllocator a = new IdAllocator("_NS");
+
+ assertEquals(a.allocateId("name"), "name_NS");
+
+ for (int i = 0; i < 10; i++)
+ assertEquals(a.allocateId("name"), "name_NS_" + i);
+
+ // This is current behavior, but is probably something
+ // that could be improved.
+
+ assertEquals(a.allocateId("foo_NS"), "foo_NS_NS");
+ assertEquals(a.allocateId("foo_NS"), "foo_NS_NS_0");
+ }
+
+ @Test
+ public void degenerate()
+ {
+ IdAllocator a = new IdAllocator();
+
+ assertEquals(a.allocateId("d_1"), "d_1");
+
+ assertEquals(a.allocateId("d"), "d");
+ assertEquals(a.allocateId("d"), "d_0");
+ assertEquals(a.allocateId("d"), "d_2");
+
+ assertEquals(a.allocateId("d"), "d_3");
+ assertEquals(a.allocateId("d_1"), "d_1_0");
+ }
+
+ @Test
+ public void degenerateNamespace()
+ {
+ IdAllocator a = new IdAllocator("_NS");
+
+ assertEquals(a.allocateId("d_1"), "d_1_NS");
+
+ assertEquals(a.allocateId("d"), "d_NS");
+ assertEquals(a.allocateId("d"), "d_NS_0");
+ assertEquals(a.allocateId("d"), "d_NS_1");
+ assertEquals(a.allocateId("d"), "d_NS_2");
+ assertEquals(a.allocateId("d"), "d_NS_3");
+
+ assertEquals(a.allocateId("d_1"), "d_1_NS_0");
+
+ // This is very degenerate, and maybe something that needs fixing.
+
+ assertEquals(a.allocateId("d_1_NS"), "d_1_NS_NS");
+ }
+
+ @Test
+ public void clear()
+ {
+ IdAllocator a = new IdAllocator();
+
+ assertEquals(a.allocateId("foo"), "foo");
+ assertEquals(a.allocateId("foo_0"), "foo_0");
+
+ a.clear();
+
+ assertEquals(a.allocateId("foo"), "foo");
+ assertEquals(a.allocateId("foo_0"), "foo_0");
+ }
+
+ @Test
+ public void cloneTest()
+ {
+ IdAllocator a = new IdAllocator();
+
+ assertEquals(a.allocateId("foo"), "foo");
+ assertEquals(a.allocateId("foo_0"), "foo_0");
+ assertEquals(a.allocateId("foo"), "foo_1");
+
+ IdAllocator b = a.clone();
+
+ // After making a clone, parallel operations should return the same results.
+ // If anything under the covers was shared, then parallel operations would
+ // interfere with each other.
+
+ assertEquals(b.allocateId("bar"), a.allocateId("bar"));
+ assertEquals(b.allocateId("foo"), a.allocateId("foo"));
+ assertEquals(b.allocateId("foo_0"), a.allocateId("foo_0"));
+
+ }
+
+}
Added: tapestry/tapestry5/tapestry-core/trunk/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/test/resources/log4j.properties?rev=395912&view=auto
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/resources/log4j.properties (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/resources/log4j.properties Fri Apr 21 08:19:11 2006
@@ -0,0 +1,24 @@
+# Copyright 2005, 2006 The Howard M. Lewis Ship
+#
+# 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.
+
+log4j.rootCategory=WARN, A1
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%c{1} [%p] %m%n
+
+log4j.category.org.apache.tapestry5=debug
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org