- Revision
- 1334
- Author
- mauro
- Date
- 2009-10-14 07:57:59 -0500 (Wed, 14 Oct 2009)
Log Message
JBEHAVE-188: Allow viewing of unarchived file contents.
Modified Paths
- trunk/web/examples/trader-web/src/main/java/org/jbehave/web/examples/trader/runner/TraderRegistrar.java
- trunk/web/web-runner/src/main/java/org/jbehave/web/runner/waffle/JBehaveRegistrar.java
- trunk/web/web-runner/src/main/java/org/jbehave/web/runner/waffle/controllers/FilesController.java
- trunk/web/web-runner/src/main/webapp/ftl/data/files.ftl
- trunk/web/web-runner/src/main/webapp/ftl/data/upload.ftl
- trunk/web/web-runner/src/test/java/org/jbehave/web/runner/waffle/controllers/FilesControllerTest.java
Added Paths
Diff
Modified: trunk/web/examples/trader-web/src/main/java/org/jbehave/web/examples/trader/runner/TraderRegistrar.java (1333 => 1334)
--- trunk/web/examples/trader-web/src/main/java/org/jbehave/web/examples/trader/runner/TraderRegistrar.java 2009-10-14 11:56:37 UTC (rev 1333) +++ trunk/web/examples/trader-web/src/main/java/org/jbehave/web/examples/trader/runner/TraderRegistrar.java 2009-10-14 12:57:59 UTC (rev 1334) @@ -1,5 +1,7 @@ package org.jbehave.web.examples.trader.runner; +import java.io.File; + import org.codehaus.waffle.registrar.Registrar; import org.jbehave.web.examples.trader.scenarios.StockExchangeSteps; import org.jbehave.web.examples.trader.scenarios.TraderSteps; @@ -17,4 +19,7 @@ registerInstance(new StockExchangeSteps()); } + protected File uploadDirectory() { + return new File("/tmp/upload"); + } }
Modified: trunk/web/web-runner/src/main/java/org/jbehave/web/runner/waffle/JBehaveRegistrar.java (1333 => 1334)
--- trunk/web/web-runner/src/main/java/org/jbehave/web/runner/waffle/JBehaveRegistrar.java 2009-10-14 11:56:37 UTC (rev 1333) +++ trunk/web/web-runner/src/main/java/org/jbehave/web/runner/waffle/JBehaveRegistrar.java 2009-10-14 12:57:59 UTC (rev 1334) @@ -1,7 +1,5 @@ package org.jbehave.web.runner.waffle; -import static java.io.File.separator; -import static java.lang.System.getProperty; import static java.util.Arrays.asList; import java.io.File; @@ -23,6 +21,7 @@ import org.jbehave.scenario.steps.Steps; import org.jbehave.web.io.ArchivingFileManager; import org.jbehave.web.io.ZipFileArchiver; +import org.jbehave.web.runner.waffle.controllers.FileController; import org.jbehave.web.runner.waffle.controllers.FileUploadController; import org.jbehave.web.runner.waffle.controllers.FilesController; import org.jbehave.web.runner.waffle.controllers.ScenarioController; @@ -43,6 +42,7 @@ registerSteps(); registerStepdocGenerator(); registerFileManager(); + register("data/file", FileController.class); register("data/files", FilesController.class); configureViews(); } @@ -74,6 +74,7 @@ protected void configureViews() { ViewResolver viewResolver = getComponentRegistry().locateByKey(ViewResolver.class); viewResolver.configureView("home", "ftl/home"); + viewResolver.configureView("data/file", "ftl/data/file"); viewResolver.configureView("data/files", "ftl/data/files"); viewResolver.configureView("data/upload", "ftl/data/upload"); viewResolver.configureView("scenario/scenario", "ftl/scenario/scenario"); @@ -103,7 +104,11 @@ protected void registerFileManager() { register(ZipFileArchiver.class); register(ArchivingFileManager.class); - registerInstance("uploadDirectory", new File(getProperty("java.io.tmpdir")+separator+"upload")); + registerInstance("uploadDirectory", uploadDirectory()); } + protected File uploadDirectory() { + return new File(System.getProperty("java.io.tmpdir"), "upload"); + } + }
Added: trunk/web/web-runner/src/main/java/org/jbehave/web/runner/waffle/controllers/FileController.java (0 => 1334)
--- trunk/web/web-runner/src/main/java/org/jbehave/web/runner/waffle/controllers/FileController.java (rev 0) +++ trunk/web/web-runner/src/main/java/org/jbehave/web/runner/waffle/controllers/FileController.java 2009-10-14 12:57:59 UTC (rev 1334) @@ -0,0 +1,35 @@ +package org.jbehave.web.runner.waffle.controllers; + +import org.codehaus.waffle.action.annotation.ActionMethod; +import org.codehaus.waffle.menu.Menu; +import org.codehaus.waffle.menu.MenuAwareController; +import org.jbehave.web.io.ResourceFinder; + +public class FileController extends MenuAwareController { + + private ResourceFinder resourceFinder; + private String selectedPath = ""; + private String fileContent; + + public FileController(Menu menu) { + super(menu); + this.resourceFinder = new ResourceFinder(""); + } + + @ActionMethod(asDefault=true) + public void viewContent() { + this.fileContent = resourceFinder.resourceAsString(selectedPath); + } + + public String getSelectedPath() { + return selectedPath; + } + + public void setSelectedPath(String selectedPath) { + this.selectedPath = selectedPath; + } + + public String getFileContent(){ + return fileContent; + } +}
Modified: trunk/web/web-runner/src/main/java/org/jbehave/web/runner/waffle/controllers/FilesController.java (1333 => 1334)
--- trunk/web/web-runner/src/main/java/org/jbehave/web/runner/waffle/controllers/FilesController.java 2009-10-14 11:56:37 UTC (rev 1333) +++ trunk/web/web-runner/src/main/java/org/jbehave/web/runner/waffle/controllers/FilesController.java 2009-10-14 12:57:59 UTC (rev 1334) @@ -32,7 +32,10 @@ public void showContent() { contentFiles.clear(); for (String path : selectedPaths) { - contentFiles.put(path, manager.listContent(path)); + List<File> content = manager.listContent(path); + if ( content.size() > 0 ){ + contentFiles.put(content.get(0).getPath(), content); + } } }
Added: trunk/web/web-runner/src/main/webapp/ftl/data/file.ftl (0 => 1334)
--- trunk/web/web-runner/src/main/webapp/ftl/data/file.ftl (rev 0) +++ trunk/web/web-runner/src/main/webapp/ftl/data/file.ftl 2009-10-14 12:57:59 UTC (rev 1334) @@ -0,0 +1,31 @@ +<#import "/ftl/waffle/i18n.ftl" as i> +<#import "/ftl/waffle/form.ftl" as w> +<html xmlns="http://www.w3.org/1999/xhtml"> +<body> +<head> + <title><@i.messageFor "fileContent" "File Content"/></title> +</head> +<#include "/ftl/navigation.ftl" parse="true"> +<div id="content"> + + <div id="fileContent"> + <fieldset> + <legend><@i.messageFor "fileContent" "File Content"/></legend> + <p><b>${selectedPath}</b></p> + <#if controller.fileContent?? > + <#assign type="plain"> + <#if (selectedPath?ends_with("java"))> + <#assign type="java"> + <#elseif (selectedPath?ends_with("xml"))> + <#assign type="xml"> + </#if> + <pre class="brush: ${type}">${controller.fileContent}</pre> + <#else> + <p><@i.messageFor "fileContentNotFound" "File content not found"/></legend></p> + </#if> + </fieldset> + </div> + +</div> +</body> +</html> \ No newline at end of file
Modified: trunk/web/web-runner/src/main/webapp/ftl/data/files.ftl (1333 => 1334)
--- trunk/web/web-runner/src/main/webapp/ftl/data/files.ftl 2009-10-14 11:56:37 UTC (rev 1333) +++ trunk/web/web-runner/src/main/webapp/ftl/data/files.ftl 2009-10-14 12:57:59 UTC (rev 1334) @@ -34,9 +34,15 @@ <table> <#list contentFiles.keySet() as path> <#assign files=contentFiles.get(path)> - <tr><td>${path}</td></tr> <#list files as file> - <tr><td class="contentFilePath">${file.path}</td></tr> + <tr> + <td> + <#if (file.getPath().matches(".*\\.[a-z]+")) > + <a class="buttonView" "viewContent" "View"/></a> + </#if> + </td> + <td class="contentFilePath">${file.path}</td> + </tr> </#list> </#list> </table>
Modified: trunk/web/web-runner/src/main/webapp/ftl/data/upload.ftl (1333 => 1334)
--- trunk/web/web-runner/src/main/webapp/ftl/data/upload.ftl 2009-10-14 11:56:37 UTC (rev 1333) +++ trunk/web/web-runner/src/main/webapp/ftl/data/upload.ftl 2009-10-14 12:57:59 UTC (rev 1334) @@ -48,7 +48,7 @@ <table> <#list uploadedFiles as file> <tr> - <td>${file.absolutePath}</td> + <td>${file.path}</td> </tr> </#list> </table>
Modified: trunk/web/web-runner/src/test/java/org/jbehave/web/runner/waffle/controllers/FilesControllerTest.java (1333 => 1334)
--- trunk/web/web-runner/src/test/java/org/jbehave/web/runner/waffle/controllers/FilesControllerTest.java 2009-10-14 11:56:37 UTC (rev 1333) +++ trunk/web/web-runner/src/test/java/org/jbehave/web/runner/waffle/controllers/FilesControllerTest.java 2009-10-14 12:57:59 UTC (rev 1334) @@ -39,8 +39,8 @@ @Test public void canListContentFiles() { - final List<String> paths = asList("archive1"); - final List<File> files = asList(new File("file1"), new File("file2")); + final List<String> paths = asList("archive1.zip"); + final List<File> files = asList(new File("archive1"), new File("file1"), new File("file2")); mockery.checking(new Expectations() { { for ( String path : paths ){
To unsubscribe from this list please visit:
