diff --git a/Kieker.WebGUI/lib/kieker-1.6-SNAPSHOT_emf.jar b/Kieker.WebGUI/lib/kieker-1.6-SNAPSHOT_emf.jar index 8b468e7dd12f20c13bd4e2aa26748b32f50feaf1..4bab0db7f8106b5f4b24787dcd2987c9d0c41248 100644 Binary files a/Kieker.WebGUI/lib/kieker-1.6-SNAPSHOT_emf.jar and b/Kieker.WebGUI/lib/kieker-1.6-SNAPSHOT_emf.jar differ diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ProjectsBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ProjectsBean.java index a317bcda83ac28d24809472cf37493d6579f3e68..114b7c5177443dbd5a4c4c8688d64555b69a44a0 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ProjectsBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ProjectsBean.java @@ -19,7 +19,11 @@ ***************************************************************************/ package kieker.webgui.beans.application; +import java.io.File; +import java.io.IOException; import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; import javax.faces.application.FacesMessage; import javax.faces.bean.ApplicationScoped; @@ -30,6 +34,7 @@ import kieker.analysis.model.analysisMetaModel.MIDependency; import kieker.analysis.model.analysisMetaModel.MIPlugin; import kieker.analysis.model.analysisMetaModel.MIProject; import kieker.analysis.model.analysisMetaModel.impl.MAnalysisMetaModelFactory; +import kieker.common.logging.LogFactory; import kieker.webgui.common.FileManager; import org.primefaces.context.RequestContext; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/AnalysisControllerBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/AnalysisControllerBean.java index 909e7c5cbb094d35c3fdef93e3bbffacb122d09b..2004134bf2ae1fee9777fb79534b0aaa1c0237ad 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/AnalysisControllerBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/AnalysisControllerBean.java @@ -28,8 +28,7 @@ import javax.faces.bean.SessionScoped; import kieker.analysis.AnalysisController; import kieker.analysis.exception.AnalysisConfigurationException; import kieker.analysis.model.analysisMetaModel.MIProject; -import kieker.common.logging.Log; -import kieker.common.logging.LogFactory; +import kieker.common.logging.*; import kieker.webgui.common.PluginClassLoader; /** @@ -136,4 +135,8 @@ public class AnalysisControllerBean { }; thread.start(); } + + public String[] getLogEntries() { + return LogImplWebguiLogging.getEntries(AnalysisController.class.getName()); + } } diff --git a/Kieker.WebGUI/src/main/webapp/handleAnalysis.css b/Kieker.WebGUI/src/main/webapp/handleAnalysis.css index 4f9b12fd3116141d257c9ede86522175e40f977f..c59c077bfff0a0c6f6f032fd1c8ded9ba2cd8b9c 100644 --- a/Kieker.WebGUI/src/main/webapp/handleAnalysis.css +++ b/Kieker.WebGUI/src/main/webapp/handleAnalysis.css @@ -20,6 +20,9 @@ font-size: 15px; } +.ui-layout-east { + font-size: 15px; +} .ui-datatable { font-size: 15px; diff --git a/Kieker.WebGUI/src/main/webapp/handleAnalysis.xhtml b/Kieker.WebGUI/src/main/webapp/handleAnalysis.xhtml index 623e167256d2efe0c8a25bccf22373820181f317..c18e4d588c2189325cd29e8c25d729d26d42cf28 100644 --- a/Kieker.WebGUI/src/main/webapp/handleAnalysis.xhtml +++ b/Kieker.WebGUI/src/main/webapp/handleAnalysis.xhtml @@ -60,8 +60,26 @@ </h:form> </p:layoutUnit> + <p:layoutUnit position="east" size="300" resizable="true" collapsible="true" header="Plugin"> + <h:form > + <p:accordionPanel multiple="true" activeIndex=""> + <p:tab title="Details"> + <p:scrollPanel style="height: 150px"> + </p:scrollPanel> + </p:tab> + <p:tab title="Log"> + <p:scrollPanel style="height: 150px"> + </p:scrollPanel> + </p:tab> + <p:tab title="Visualization"> + <p:outputPanel style="height: 150px; width: 150px"> + </p:outputPanel> + </p:tab> + </p:accordionPanel> + </h:form> + </p:layoutUnit> - <p:layoutUnit position="south" header="Analysis" resizable="true" collapsible="true"> + <p:layoutUnit position="south" header="Analysis Control" resizable="true" collapsible="true"> <h:form id="analysisForm"> <p:commandButton value="Instantiate Analysis" action="#{analysisControllerBean.instantiate(selectedProjectBean.selectedProject)}" update=":analysisForm:analysisStateText"/> <p:commandButton id="startAnalysisButton" value="Start Analysis" async="true" action="#{analysisControllerBean.controller.run()}" disabled="#{empty analysisControllerBean.controller}"/> @@ -74,8 +92,15 @@ <c:otherwise> <h:outputText id="analysisStateText" value="Analysis State: #{analysisControllerBean.controller.state}"/> </c:otherwise> - </c:choose> - <p:poll interval="2" update=":analysisForm:analysisStateText :analysisForm:startAnalysisButton :analysisForm:stopAnalysisButton"/> + </c:choose> + <br/> + <p:spacer width="0px" height="5px"/> + <p:scrollPanel id="logPanel" style="height: 150px"> + <ui:repeat var="entry" value="#{analysisControllerBean.logEntries}"> + <h:outputText value="#{entry}" /><br/> + </ui:repeat> + </p:scrollPanel> + <p:poll interval="2" update=":analysisForm:logPanel :analysisForm:analysisStateText :analysisForm:startAnalysisButton :analysisForm:stopAnalysisButton"/> </h:form> </p:layoutUnit>