From e0d04ce932da5c27f9d3aec95a68511fa6532ce1 Mon Sep 17 00:00:00 2001 From: Nils Christian Ehmke <nie@informatik.uni-kiel.de> Date: Tue, 8 May 2012 10:55:08 +0200 Subject: [PATCH] Updated the kieker-jar; Added code for the display of running filters. --- Kieker.WebGUI/lib/kieker-1.6-SNAPSHOT_emf.jar | Bin 2029551 -> 2029684 bytes .../beans/application/ProjectsBean.java | 98 ++++++++++++++++-- .../webgui/beans/request/StringToIDBean.java | 2 +- .../beans/session/AnalysisControllerBean.java | 24 +++-- .../webgui/beans/session/DashboardBean.java | 78 ++++++++++++++ .../src/main/webapp/handleAnalysis.css | 4 + .../src/main/webapp/handleAnalysis.xhtml | 41 +++----- 7 files changed, 203 insertions(+), 44 deletions(-) create mode 100644 Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DashboardBean.java diff --git a/Kieker.WebGUI/lib/kieker-1.6-SNAPSHOT_emf.jar b/Kieker.WebGUI/lib/kieker-1.6-SNAPSHOT_emf.jar index 3af732c1e3ebf8682eeb9b22f53f7e466e11f80d..1226fc8a09fb8bb0570d5a8abf6d61b9fa8cd500 100644 GIT binary patch delta 56963 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 delta 56813 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 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 e735c371..5968a7f3 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,6 +19,8 @@ ***************************************************************************/ package kieker.webgui.beans.application; +import java.lang.reflect.Method; +import java.util.ArrayList; import java.util.List; import java.util.Observable; @@ -27,12 +29,17 @@ import javax.faces.bean.ApplicationScoped; import javax.faces.bean.ManagedBean; import javax.faces.context.FacesContext; +import kieker.analysis.display.HtmlText; +import kieker.analysis.display.Image; +import kieker.analysis.display.PlainText; +import kieker.analysis.display.annotation.Display; 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.analysis.plugin.AbstractPlugin; import kieker.analysis.plugin.annotation.Plugin; +import kieker.analysis.repository.AbstractRepository; import kieker.webgui.common.FileManager; import org.primefaces.context.RequestContext; @@ -172,15 +179,88 @@ public class ProjectsBean extends Observable { } } - public String getDescription(final Class<? super AbstractPlugin> pluginClass) { - Plugin annotation = pluginClass.getAnnotation(Plugin.class); - if (annotation == null || annotation.description().isEmpty()) { - return "No description available"; - } else { - return annotation.description(); - } - } - + /** + * This method can be used to get the description of an {@link AbstractPlugin}- or an {@link AbstractRepository}-class. The description is read via the + * annotation. + * + * @param clazz + * The class whose description should be extracted. + * @return The description for the class or a substitute if none is available. + */ + public String getDescription(final Class<?> clazz) { + final Plugin annotation = clazz.getAnnotation(Plugin.class); + if (annotation == null || annotation.description().isEmpty()) { + return "No description available"; + } else { + return annotation.description(); + } + } + + public List<Widget> getWidgets(final Class<?> clazz) { + // TODO Cache + final List<Widget> widgets = new ArrayList<ProjectsBean.Widget>(); + if (clazz != null) { + // Run through all methods and check them + final Method[] methods = clazz.getMethods(); + for (final Method method : methods) { + // If the method does have the right annotation, we use it. + final Display displayAnnot = method.getAnnotation(Display.class); + if (displayAnnot != null) { + // Get the correct type of the method + final Class<?> returnType = method.getReturnType(); + final Widget.WidgetType type; + // TODO This should be done better. + if (returnType.isAssignableFrom(PlainText.class) && PlainText.class.isAssignableFrom(returnType)) { + type = Widget.WidgetType.PlainText; + } else { + if (returnType.isAssignableFrom(HtmlText.class) && HtmlText.class.isAssignableFrom(returnType)) { + type = Widget.WidgetType.HtmlText; + } else { + if (returnType.isAssignableFrom(Image.class) && Image.class.isAssignableFrom(returnType)) { + type = Widget.WidgetType.Image; + } else { + // Unknown type! + continue; + } + } + } + + final Widget widget = new Widget(method, type, displayAnnot.name()); + widgets.add(widget); + } + } + } + return widgets; + } + + public static class Widget { + private final Method widgetMethod; + private final WidgetType type; + private final String name; + + public static enum WidgetType { + PlainText, HtmlText, Image + } + + public Widget(final Method widgetMethod, final WidgetType type, final String name) { + this.widgetMethod = widgetMethod; + this.type = type; + this.name = name; + } + + public Method getWidgetMethod() { + return this.widgetMethod; + } + + public WidgetType getType() { + return this.type; + } + + public String getName() { + return this.name; + } + } + /** * This helper class is a wrapper for a project and can be send to the observers as a message that a project just has been removed. It contains * the removed project. diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/StringToIDBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/StringToIDBean.java index c842a9c5..78b84789 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/StringToIDBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/StringToIDBean.java @@ -48,6 +48,6 @@ public class StringToIDBean { * @return The given string without space characters. */ public String stringToID(final String string) { - return string.replace(" ", ""); + return string.replace(" ", "").replace("$", "").replace("@", ""); } } 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 8fa3f4f7..1996b791 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 @@ -19,9 +19,8 @@ ***************************************************************************/ package kieker.webgui.beans.session; -import java.io.File; -import java.io.IOException; import java.util.HashMap; +import java.util.Map; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @@ -55,8 +54,8 @@ public class AnalysisControllerBean { * The controller instance stored within this bean. */ private AnalysisController controller; - private HashMap<MIPlugin, AbstractPlugin> pluginMap; - private HashMap<MIRepository, AbstractRepository> repositoryMap; + private Map<MIPlugin, AbstractPlugin> pluginMap; + private Map<MIRepository, AbstractRepository> repositoryMap; /** * Creates a new instance of this class. @@ -65,6 +64,14 @@ public class AnalysisControllerBean { // No code necessary. } + public Map<MIPlugin, AbstractPlugin> getPluginMap() { + return this.pluginMap; + } + + public Map<MIRepository, AbstractRepository> getRepositoryMap() { + return this.repositoryMap; + } + /** * Delivers the controller stored within this bean. * @@ -94,11 +101,12 @@ public class AnalysisControllerBean { if (mProject != null) { try { // Try to create the controller. - final AnalysisController.AnalysisControllerWithMapping controllerAndMapping = AnalysisController.createAnalysisController(mProject, PluginClassLoader.getInstance()); + final AnalysisController.AnalysisControllerWithMapping controllerAndMapping = AnalysisController.createAnalysisController(mProject, + PluginClassLoader.getInstance()); // Extract everything that is necessary. - this.controller = controllerAndMapping.getController(); - this.pluginMap = controllerAndMapping.getPluginMap(); - this.repositoryMap = controllerAndMapping.getRepositoryMap(); + this.controller = controllerAndMapping.getController(); + this.pluginMap = controllerAndMapping.getPluginMap(); + this.repositoryMap = controllerAndMapping.getRepositoryMap(); } catch (final NullPointerException ex) { AnalysisControllerBean.LOG.error("Could not create analysis controller.", ex); } catch (final AnalysisConfigurationException ex) { diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DashboardBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DashboardBean.java new file mode 100644 index 00000000..4ba2fc9a --- /dev/null +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DashboardBean.java @@ -0,0 +1,78 @@ +/*************************************************************************** + * Copyright 2012 by + * + Christian-Albrechts-University of Kiel + * + Department of Computer Science + * + Software Engineering Group + * and others. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***************************************************************************/ +package kieker.webgui.beans.session; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.faces.context.FacesContext; + +import kieker.webgui.beans.application.ProjectsBean; +import kieker.webgui.beans.request.StringToIDBean; + +import org.primefaces.model.DashboardColumn; +import org.primefaces.model.DashboardModel; +import org.primefaces.model.DefaultDashboardColumn; +import org.primefaces.model.DefaultDashboardModel; + +/** + * + * @author Nils Christian Ehmke + */ +@ManagedBean +@SessionScoped +public class DashboardBean implements Serializable { + + private final DashboardModel model; + private final List<ProjectsBean.Widget> widgets; + + public DashboardBean() { + this.model = new DefaultDashboardModel(); + this.widgets = new ArrayList<ProjectsBean.Widget>(); + + final DashboardColumn column1 = new DefaultDashboardColumn(); + final DashboardColumn column2 = new DefaultDashboardColumn(); + final DashboardColumn column3 = new DefaultDashboardColumn(); + + this.model.addColumn(column1); + this.model.addColumn(column2); + this.model.addColumn(column3); + } + + public DashboardModel getModel() { + return this.model; + } + + public void addWidget(final ProjectsBean.Widget widget) { + final FacesContext context = FacesContext.getCurrentInstance(); + final StringToIDBean idBean = context.getApplication().evaluateExpressionGet(context, "#{stringToIDBean}", StringToIDBean.class); + synchronized (this.widgets) { + this.widgets.add(widget); + this.model.getColumn(0).addWidget(idBean.stringToID(widget.toString())); + } + } + + public List<ProjectsBean.Widget> getWidgets() { + return this.widgets; + } +} diff --git a/Kieker.WebGUI/src/main/webapp/handleAnalysis.css b/Kieker.WebGUI/src/main/webapp/handleAnalysis.css index c59c077b..0bb60d77 100644 --- a/Kieker.WebGUI/src/main/webapp/handleAnalysis.css +++ b/Kieker.WebGUI/src/main/webapp/handleAnalysis.css @@ -24,6 +24,10 @@ font-size: 15px; } +.ui-layout-west { + 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 c18e4d58..792a458b 100644 --- a/Kieker.WebGUI/src/main/webapp/handleAnalysis.xhtml +++ b/Kieker.WebGUI/src/main/webapp/handleAnalysis.xhtml @@ -45,35 +45,24 @@ </c:when> <c:otherwise> - <p:layoutUnit position="center" > + <p:layoutUnit position="center"> <h:form id="centerForm"> - <div class="canvas" id="mainCanvas" style="width: auto; height: 500px"> - <c:forEach items="#{selectedProjectBean.selectedProject.plugins}" var="plugin"> - <div class="ui-panel ui-widget ui-widget-content ui-corner-all block draggable" id="#{stringToIDBean.stringToID(plugin)}"> - <div class="ui-panel-titlebar ui-widget-header ui-corner-all"> - <h:outputText style="font-weight: bold" value="#{plugin.name}"/> - </div> - <p:commandLink ajax="true" value="Show Data"/> - </div> - </c:forEach> - </div> + <ui:repeat value="#{dashboardBean.widgets}" var="widget"> + <p:panel id="widget" header="#{widget.name}"> + + </p:panel> + <p:poll interval="2" update="widget"/> + </ui:repeat> </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:layoutUnit style="overflow:visible;" position="west" size="200" resizable="true" collapsible="true" header="Plugins"> + <h:form id="pluginsForm"> + <p:accordionPanel value="#{analysisControllerBean.pluginMap.keySet().toArray()}" var="plugin" multiple="true" activeIndex=""> + <p:tab title="#{plugin.name}"> + <ui:repeat value="#{projectsBean.getWidgets(analysisControllerBean.pluginMap.get(plugin).getClass())}" var="widget"> + <p:commandLink value="#{widget.name}" ajax="true" update=":centerForm" action="#{dashboardBean.addWidget(widget)}"/><br/> + </ui:repeat> </p:tab> </p:accordionPanel> </h:form> @@ -81,7 +70,7 @@ <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 value="Instantiate Analysis" action="#{analysisControllerBean.instantiate(selectedProjectBean.selectedProject)}" update=":analysisForm:analysisStateText :pluginsForm"/> <p:commandButton id="startAnalysisButton" value="Start Analysis" async="true" action="#{analysisControllerBean.controller.run()}" disabled="#{empty analysisControllerBean.controller}"/> <p:commandButton id="stopAnalysisButton" value="Stop Analysis" async="true" action="#{analysisControllerBean.controller.terminate()}" disabled="#{empty analysisControllerBean.controller}"/> <p:spacer height="0px" width="150px"/> -- GitLab