From 10e2f8f0784279276aa928165e87fd0c447f0844 Mon Sep 17 00:00:00 2001 From: nie <nie@informatik.uni-kiel.de> Date: Wed, 11 Jan 2012 15:39:53 +0100 Subject: [PATCH] The project uses now prettyfaces as well; the projects are now saved; Corrected some minor things --- Kieker.WebGUI/pom.xml | 35 +++++++++++-------- .../webgui/beans/AvailableProjectsBean.java | 19 +++++++--- .../webgui/beans/SelectedProjectBean.java | 23 ++++++------ .../src/main/webapp/WEB-INF/pretty-config.xml | 12 +++++++ Kieker.WebGUI/src/main/webapp/WEB-INF/web.xml | 15 +++++++- Kieker.WebGUI/src/main/webapp/main.xhtml | 2 +- 6 files changed, 71 insertions(+), 35 deletions(-) create mode 100644 Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml diff --git a/Kieker.WebGUI/pom.xml b/Kieker.WebGUI/pom.xml index 7ad30430..599b848c 100644 --- a/Kieker.WebGUI/pom.xml +++ b/Kieker.WebGUI/pom.xml @@ -21,6 +21,11 @@ <artifactId>jetty-maven-plugin</artifactId> <version>8.1.0.RC1</version> </dependency> + <dependency> + <groupId>com.ocpsoft</groupId> + <artifactId>prettyfaces-jsf2</artifactId> + <version>3.3.2</version> + </dependency> <dependency> <groupId>com.sun.faces</groupId> <artifactId>jsf-api</artifactId> @@ -57,7 +62,7 @@ <artifactId>primefaces</artifactId> <version>3.0.RC1</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>black-tie</artifactId> <version>1.0.2</version> @@ -112,62 +117,62 @@ <artifactId>hot-sneaks</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>humanity</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>le-frog</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>midnight</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>mint-choc</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>overcast</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>pepper-grinder</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>redmond</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>rocket</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>sam</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>smoothness</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>south-street</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>start</artifactId> <version>1.0.2</version> @@ -197,12 +202,12 @@ <artifactId>ui-lightness</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>vader</artifactId> <version>1.0.2</version> </dependency> - <dependency> + <dependency> <groupId>org.primefaces.themes</groupId> <artifactId>glass-x</artifactId> <version>1.0.2</version> diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/AvailableProjectsBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/AvailableProjectsBean.java index b969c4ad..b10444f7 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/AvailableProjectsBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/AvailableProjectsBean.java @@ -1,11 +1,13 @@ package kieker.webgui.beans; import java.io.File; -import java.io.IOException; import java.util.ArrayList; +import java.util.Enumeration; import java.util.List; import javax.faces.bean.ApplicationScoped; import javax.faces.bean.ManagedBean; +import javax.faces.context.FacesContext; +import javax.servlet.http.HttpSession; import kieker.analysis.AnalysisController; import kieker.analysis.model.analysisMetaModel.MIProject; import kieker.analysis.model.analysisMetaModel.impl.MAnalysisMetaModelFactory; @@ -21,6 +23,7 @@ import org.primefaces.model.TreeNode; @ApplicationScoped public class AvailableProjectsBean { + private final String PROJECT_DIR = "projects"; private final List<MIProject> projects; private final MAnalysisMetaModelFactory factory; @@ -32,17 +35,23 @@ public class AvailableProjectsBean { public synchronized boolean addProject(final String projectName) { final MIProject project = factory.createProject(); project.setName(projectName); - try { - File f = new File(projectName + ".xml"); - System.out.println(f.getAbsolutePath()); + File dir = new File(PROJECT_DIR); + if (!dir.exists()) { + dir.mkdir(); + } + File f = new File(dir + "/" + projectName + ".xml"); new AnalysisController(project).saveToFile(f, projectName); } catch (Exception ex) { System.out.println(ex); } - + FacesContext context = FacesContext.getCurrentInstance(); + SelectedProjectBean bean = (SelectedProjectBean) context.getApplication().evaluateExpressionGet(context, "#{selectedProjectBean}", SelectedProjectBean.class); + if (bean.getMainProject() == null) { + bean.setMainProject(project); + } return projects.add(project); } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/SelectedProjectBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/SelectedProjectBean.java index 21060234..20877afc 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/SelectedProjectBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/SelectedProjectBean.java @@ -18,33 +18,31 @@ import org.primefaces.model.TreeNode; @ManagedBean @SessionScoped public class SelectedProjectBean { - + private TreeNode selectedNode; private MIProject selectedProject; private MIProject mainProject; - + public MIProject getMainProject() { return mainProject; } - + public void setMainProject(MIProject mainProject) { this.mainProject = mainProject; - System.out.println("Mainproject:" + mainProject); } - + public MIProject getSelectedProject() { return selectedProject; } - + public void setSelectedProject(MIProject selectedProject) { this.selectedProject = selectedProject; - System.out.println("SelectedProject:" + selectedProject); } - + public TreeNode getSelectedNode() { return selectedNode; } - + public void setSelectedNode(TreeNode selectedNode) { this.selectedNode = selectedNode; if (selectedNode != null && selectedNode.getData() instanceof MIProject) { @@ -52,10 +50,9 @@ public class SelectedProjectBean { } else { setSelectedProject(null); } - System.out.println("SelectedNode:" + selectedNode); } - - public String getColor(MIProject project) { - return (project == mainProject) ? "red" : "lightsteelblue"; + + public String getFontWeight(MIProject project) { + return (project == mainProject) ? "bold" : "normal"; } } diff --git a/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml b/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml new file mode 100644 index 00000000..5169bbe2 --- /dev/null +++ b/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml @@ -0,0 +1,12 @@ + +<pretty-config xmlns="http://ocpsoft.com/prettyfaces/3.3.2" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://ocpsoft.com/prettyfaces/3.3.2 + http://ocpsoft.com/xml/ns/prettyfaces/ocpsoft-pretty-faces-3.3.2.xsd"> + + <url-mapping id="home"> + <pattern value="/Kieker.WebGUI" /> + <view-id value="/faces/main.xhtml" /> + </url-mapping> + +</pretty-config> \ No newline at end of file diff --git a/Kieker.WebGUI/src/main/webapp/WEB-INF/web.xml b/Kieker.WebGUI/src/main/webapp/WEB-INF/web.xml index bf264934..94c40203 100644 --- a/Kieker.WebGUI/src/main/webapp/WEB-INF/web.xml +++ b/Kieker.WebGUI/src/main/webapp/WEB-INF/web.xml @@ -23,9 +23,22 @@ </session-timeout> </session-config> <welcome-file-list> - <welcome-file>faces/main.xhtml</welcome-file> + <welcome-file>faces/main.xhtml</welcome-file> </welcome-file-list> <listener> <listener-class>com.sun.faces.config.ConfigureListener</listener-class> </listener> + + <filter> + <filter-name>Pretty Filter</filter-name> + <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class> + </filter> + + <filter-mapping> + <filter-name>Pretty Filter</filter-name> + <url-pattern>/*</url-pattern> + <dispatcher>FORWARD</dispatcher> + <dispatcher>REQUEST</dispatcher> + <dispatcher>ERROR</dispatcher> + </filter-mapping> </web-app> diff --git a/Kieker.WebGUI/src/main/webapp/main.xhtml b/Kieker.WebGUI/src/main/webapp/main.xhtml index 13e92538..4cc583c0 100644 --- a/Kieker.WebGUI/src/main/webapp/main.xhtml +++ b/Kieker.WebGUI/src/main/webapp/main.xhtml @@ -38,7 +38,7 @@ <h:form id="ProjectsList"> <p:tree selection="#{selectedProjectBean.selectedNode}" id="ProjectsListTree" selectionMode="single" style="width: auto" value="#{availableProjectsBean.projectsRoot}" var="node" > <p:treeNode type="project"> - <h:outputText style="color: #{selectedProjectBean.getColor(node)}" value="#{node}"> + <h:outputText style="font-weight: #{selectedProjectBean.getFontWeight(node)}" value="#{node}"> <f:converter converterId="kieker.webgui.converter.MIProjectToStringConverter"/> </h:outputText> </p:treeNode> -- GitLab