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 2007/02/15 01:40:57 UTC
svn commit: r507757 - in /tapestry/tapestry4/trunk:
tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/
tapestry-framework/src/java/org/apache/tapestry/multipart/
tapestry-framework/src/test/org/apache/tapestry/multipart/
Author: jkuhnert
Date: Wed Feb 14 16:40:56 2007
New Revision: 507757
URL: http://svn.apache.org/viewvc?view=rev&rev=507757
Log:
Resolves TAPESTRY-1227.
UploadPart was incorrectly reporting the fileName uploaded to be the full path string given on windows client platforms.
Added:
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/multipart/TestUploadPart.java
Modified:
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortImage.java
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortLink.java
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/multipart/UploadPart.java
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortImage.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortImage.java?view=diff&rev=507757&r1=507756&r2=507757
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortImage.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortImage.java Wed Feb 14 16:40:56 2007
@@ -14,15 +14,12 @@
package org.apache.tapestry.contrib.table.components.inserted;
-import org.apache.hivemind.ApplicationRuntimeException;
-import org.apache.hivemind.ApplicationRuntimeException;
import org.apache.tapestry.BaseComponent;
import org.apache.tapestry.IAsset;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.Tapestry;
import org.apache.tapestry.contrib.table.components.Table;
import org.apache.tapestry.contrib.table.components.TableColumns;
-import org.apache.tapestry.contrib.table.components.TableMessages;
import org.apache.tapestry.contrib.table.model.ITableColumn;
import org.apache.tapestry.contrib.table.model.ITableModel;
import org.apache.tapestry.contrib.table.model.ITableModelSource;
@@ -40,17 +37,17 @@
public abstract class SimpleTableColumnSortImage extends BaseComponent
implements PageDetachListener, ITableRendererListener
{
- public abstract Table getTable();
-
// transient
private ITableModelSource m_objModelSource;
private ITableColumn m_objColumn;
-
+
public SimpleTableColumnSortImage()
{
init();
}
+ public abstract Table getTable();
+
/**
* @see org.apache.tapestry.event.PageDetachListener#pageDetached(PageEvent)
*/
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortLink.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortLink.java?view=diff&rev=507757&r1=507756&r2=507757
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortLink.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortLink.java Wed Feb 14 16:40:56 2007
@@ -35,8 +35,6 @@
public abstract class SimpleTableColumnSortLink extends BaseComponent
implements ITableRendererListener, PageDetachListener
{
- public abstract Table getTable();
-
// transient
private ITableColumn m_objColumn;
private ITableModelSource m_objModelSource;
@@ -46,6 +44,8 @@
init();
}
+ public abstract Table getTable();
+
/**
* @see org.apache.tapestry.event.PageDetachListener#pageDetached(PageEvent)
*/
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/multipart/UploadPart.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/multipart/UploadPart.java?view=diff&rev=507757&r1=507756&r2=507757
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/multipart/UploadPart.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/multipart/UploadPart.java Wed Feb 14 16:40:56 2007
@@ -19,6 +19,7 @@
import java.io.InputStream;
import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.io.FilenameUtils;
import org.apache.hivemind.ApplicationRuntimeException;
import org.apache.hivemind.util.Defense;
import org.apache.tapestry.Tapestry;
@@ -53,7 +54,7 @@
*/
public String getFileName()
{
- File file = new File(this.getFilePath());
+ File file = new File(FilenameUtils.separatorsToSystem(getFilePath()));
return file.getName();
}
Added: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/multipart/TestUploadPart.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/multipart/TestUploadPart.java?view=auto&rev=507757
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/multipart/TestUploadPart.java (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/multipart/TestUploadPart.java Wed Feb 14 16:40:56 2007
@@ -0,0 +1,58 @@
+// Copyright 2004, 2005 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.multipart;
+
+import static org.easymock.EasyMock.*;
+
+import org.apache.commons.fileupload.FileItem;
+import org.testng.annotations.Test;
+
+import com.javaforge.tapestry.testng.TestBase;
+
+
+/**
+ * Tests functionality of {@link UploadPart}.
+ */
+@Test
+public class TestUploadPart extends TestBase
+{
+
+ public void test_Windows_File_Name()
+ {
+ FileItem item = newMock(FileItem.class);
+
+ expect(item.getName()).andReturn("C:\\\\documents\\things\\image.png");
+
+ replay();
+
+ UploadPart part = new UploadPart(item);
+ assertEquals(part.getFileName(), "image.png");
+
+ verify();
+ }
+
+ public void test_Windows_File_Path()
+ {
+ FileItem item = newMock(FileItem.class);
+
+ expect(item.getName()).andReturn("C:\\\\documents\\things\\image.png");
+
+ replay();
+
+ UploadPart part = new UploadPart(item);
+ assertEquals(part.getFilePath(), "C:\\\\documents\\things\\image.png");
+
+ verify();
+ }
+}