diff --git a/Kieker.WebGUI/pom.xml b/Kieker.WebGUI/pom.xml index 7ad3043025463d1cb973d6dfdd9cc01db0ab282d..599b848ca51ff2a0cc575e79beccf99b6618f534 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 b969c4ad949d8dd4b79d68b9012e2d3d5f019d5c..b10444f7370ffeb3dbf2c403e4e3efcc9239e0f7 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 210602348d11fb71b07fe52bc8a90826e549eca6..20877afc03ac5b0810d51448a81c8bab1c79871c 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 0000000000000000000000000000000000000000..5169bbe24d85a5cf29ef2da0b5ca8f3b1fc91cf3 --- /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 bf2649341ffb0c61f3fa7364b2b225b6f8d8434a..94c402033d6f7852425473a23a07da8c87fe3a13 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 13e925380418b6d488651177490009b0d472b43c..4cc583c00f007933f8d55b003eb70d9fd1749f68 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>