CVS: TapestryBook/examples/src/java/examples/upload UploadResults.java,NONE,1.1 Upload.java,NONE,1.1
Howard Lewis Ship <[email protected]> Fri, 11 Jul 2003 21:16:48 -0700
| Newsgroups | gmane.comp.java.tapestry.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/tapestry/TapestryBook/examples/src/java/examples/upload
In directory sc8-pr-cvs1:/tmp/cvs-serv6871/examples/src/java/examples/upload
Added Files:
UploadResults.java Upload.java
Log Message:
Reorganize examples application to reflect standard organization
--- NEW FILE: UploadResults.java ---
package examples.upload;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.StringWriter;
import org.apache.tapestry.ApplicationRuntimeException;
import org.apache.tapestry.IMarkupWriter;
import org.apache.tapestry.IRender;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.request.IUploadFile;
import org.apache.tapestry.util.io.BinaryDumpOutputStream;
public abstract class UploadResults extends BasePage
{
public abstract void setFile(IUploadFile file);
public abstract IUploadFile getFile();
private static class ContentRenderer implements IRender
{
private IUploadFile _file;
ContentRenderer(IUploadFile file)
{
_file = file;
}
public void render(IMarkupWriter writer, IRequestCycle cycle)
{
try
{
StringWriter buffer = new StringWriter();
BinaryDumpOutputStream out = new BinaryDumpOutputStream(buffer);
out.setBytesPerLine(32);
out.setShowAscii(true);
InputStream in = _file.getStream();
copy(in, out);
in.close();
out.close();
writer.print(buffer.getBuffer().toString());
}
catch (IOException ex)
{
throw new ApplicationRuntimeException("Unable to generate binary output.", ex);
}
}
private void copy(InputStream in, OutputStream out) throws IOException
{
byte[] buffer = new byte[1000];
while (true)
{
int length = in.read(buffer);
if (length < 0)
return;
out.write(buffer, 0, length);
}
}
}
public IRender getContentRenderer()
{
return new ContentRenderer(getFile());
}
}
--- NEW FILE: Upload.java ---
package examples.upload;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.request.IUploadFile;
public abstract class Upload extends BasePage
{
public abstract IUploadFile getFile();
public void formSubmit(IRequestCycle cycle)
{
IUploadFile file = getFile();
if (file == null)
return;
UploadResults next = (UploadResults) cycle.getPage("UploadResults");
next.setFile(file);
cycle.activate(next);
}
}
-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1