You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2006/07/28 04:34:34 UTC

svn commit: r426361 - in /tapestry/tapestry4/trunk: tapestry-contrib/src/site/xdoc/ComponentReference/ tapestry-framework/src/descriptor/META-INF/ tapestry-framework/src/java/org/apache/tapestry/data/ tapestry-framework/src/test/org/apache/tapestry/data/

Author: jkuhnert
Date: Thu Jul 27 19:34:33 2006
New Revision: 426361

URL: http://svn.apache.org/viewvc?rev=426361&view=rev
Log:
Applied patch from TAPESTRY-971, removed incorrect documentation on SimpleTableColumn image css rules

Added:
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/AbstractDataSqueezerFilter.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/NullDataSqueezerFilter.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/package.html   (with props)
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/data/
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/data/TestNullDataSqueezerFilter.java
Modified:
    tapestry/tapestry4/trunk/tapestry-contrib/src/site/xdoc/ComponentReference/SimpleTableColumnComponent.xml
    tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.data.xml

Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/site/xdoc/ComponentReference/SimpleTableColumnComponent.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/site/xdoc/ComponentReference/SimpleTableColumnComponent.xml?rev=426361&r1=426360&r2=426361&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/site/xdoc/ComponentReference/SimpleTableColumnComponent.xml (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/site/xdoc/ComponentReference/SimpleTableColumnComponent.xml Thu Jul 27 19:34:33 2006
@@ -29,25 +29,6 @@
                 the sorting order to be reversed.
             </p>
 
-            <span class="info">
-                <strong>Note:</strong>
-                <p>
-                The column header rendered by this component has two main css class definitions. The
-                embedded table html markup within each
-                <code>td</code>
-                element for a sorted column has the class
-                <code>tableHeaderImage</code>
-                . The image used to sort table columns has an embedded style class definition for
-                <code>tableHeaderImage</code>
-                that defines
-                <code>align:center</code>
-                .
-                <br />
-
-                You may override these definitions with your own css rules.
-                </p>
-            </span>
-
             <p>
                 <strong>
                     See also:

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.data.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.data.xml?rev=426361&r1=426360&r2=426361&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.data.xml (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.data.xml Thu Jul 27 19:34:33 2006
@@ -36,6 +36,10 @@
   data squeezer.
   </configuration-point>
   
+  <contribution configuration-id="DataSqueezerFilters">
+        <filter name="NullDataSqueezerFilter" before="*" object="instance:org.apache.tapestry.data.NullDataSqueezerFilter" />
+  </contribution>
+  
   <service-point id="DataSqueezerTerminator" 
                  visibility="private" 
                  interface="org.apache.tapestry.services.DataSqueezer">

Added: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/AbstractDataSqueezerFilter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/AbstractDataSqueezerFilter.java?rev=426361&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/AbstractDataSqueezerFilter.java (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/AbstractDataSqueezerFilter.java Thu Jul 27 19:34:33 2006
@@ -0,0 +1,60 @@
+// Copyright May 31, 2006 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package org.apache.tapestry.data;
+
+import org.apache.tapestry.services.DataSqueezer;
+import org.apache.tapestry.services.DataSqueezerFilter;
+
+
+/**
+ * A useful superclass for data squeezer filters.  Subclasses only have
+ * to implement the single object versions of the squeeze/unsqueeze methods.
+ * 
+ * @author jcarman
+ */
+public abstract class AbstractDataSqueezerFilter implements DataSqueezerFilter
+{
+
+    /**
+     * Merely calls squeeze(Object,DataSqueezer) on each object in 
+     * the array. 
+     */
+    public String[] squeeze( Object[] objects, DataSqueezer next )
+    {
+        final String[] squeezed = new String[objects.length];
+        
+        for( int i = 0; i < squeezed.length; i++ ) {
+            
+            squeezed[i] = squeeze( objects[i], next );
+        }
+        
+        return squeezed;
+    }
+
+    /**
+     * Merely calls unsqueeze(String,DataSqueezer) on each object in
+     * the array. 
+     */
+    public Object[] unsqueeze( String[] strings, DataSqueezer next )
+    {
+        final Object[] unsqueezed = new Object[strings.length];
+        
+        for( int i = 0; i < unsqueezed.length; i++ ) {
+            
+            unsqueezed[i] = unsqueeze( strings[i], next );
+        }
+        
+        return unsqueezed;
+    }
+}

Added: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/NullDataSqueezerFilter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/NullDataSqueezerFilter.java?rev=426361&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/NullDataSqueezerFilter.java (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/NullDataSqueezerFilter.java Thu Jul 27 19:34:33 2006
@@ -0,0 +1,42 @@
+// Copyright May 31, 2006 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package org.apache.tapestry.data;
+
+import org.apache.tapestry.services.DataSqueezer;
+
+/**
+ * Handles null data assumedly?
+ * 
+ * @author jcarman
+ */
+public class NullDataSqueezerFilter extends AbstractDataSqueezerFilter
+{
+    private static final String NULL_STRING = "X";
+    
+    public String squeeze(Object data, DataSqueezer dataSqueezer)
+    {
+        if (data == null)
+            return NULL_STRING;
+        
+        return dataSqueezer.squeeze(data);
+    }
+
+    public Object unsqueeze(String string, DataSqueezer dataSqueezer)
+    {
+        if (NULL_STRING.equals(string))
+            return null;
+        
+        return dataSqueezer.unsqueeze(string);
+    }
+}

Added: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/package.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/package.html?rev=426361&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/package.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/package.html Thu Jul 27 19:34:33 2006
@@ -0,0 +1,15 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<title>Tapestry: Web Application Framework</title>
+</head>
+<body>
+
+<p>
+Data Squeezer filters.
+</p>
+
+@author James Carman
+
+</body>
+</html>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/data/package.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/data/TestNullDataSqueezerFilter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/data/TestNullDataSqueezerFilter.java?rev=426361&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/data/TestNullDataSqueezerFilter.java (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/data/TestNullDataSqueezerFilter.java Thu Jul 27 19:34:33 2006
@@ -0,0 +1,51 @@
+// Copyright May 31, 2006 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package org.apache.tapestry.data;
+
+import static org.easymock.EasyMock.expect;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
+
+import org.apache.tapestry.BaseComponentTestCase;
+import org.apache.tapestry.services.DataSqueezer;
+import org.testng.annotations.Test;
+
+
+/**
+ * 
+ * @author jcarman
+ */
+@Test
+public class TestNullDataSqueezerFilter extends BaseComponentTestCase
+{
+    public void testSqueezeNull()
+    {
+        final NullDataSqueezerFilter filter = new NullDataSqueezerFilter();
+        assertNull( filter.unsqueeze( filter.squeeze(( Object )null,null), null ) );
+    }
+    
+    public void testSqueezeNonNull()
+    {
+        final NullDataSqueezerFilter filter = new NullDataSqueezerFilter();
+        DataSqueezer mockSqueezer = newMock(DataSqueezer.class);
+        
+        expect(mockSqueezer.squeeze("Hello")).andReturn("World");
+        
+        replay();
+        
+        assertEquals("World", filter.squeeze("Hello", mockSqueezer));
+        
+        verify();
+    }
+}