Title: [1334] trunk/web/web-runner/src/main/webapp/ftl/data: JBEHAVE-188: Allow viewing of unarchived file contents.

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:

http://xircles.codehaus.org/manage_email

Reply via email to