diff --git a/Kieker.WebGUI/lib/kieker-1.6-SNAPSHOT_emf.jar b/Kieker.WebGUI/lib/kieker-1.6-SNAPSHOT_emf.jar index 4bab0db7f8106b5f4b24787dcd2987c9d0c41248..3af732c1e3ebf8682eeb9b22f53f7e466e11f80d 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/session/AnalysisControllerBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/AnalysisControllerBean.java index 93481b8ae02f8a9aef141548f827ac337c5c6221..8fa3f4f78a00e2d34268c953e30c480f4d251245 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 @@ -21,13 +21,18 @@ package kieker.webgui.beans.session; import java.io.File; import java.io.IOException; +import java.util.HashMap; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import kieker.analysis.AnalysisController; import kieker.analysis.exception.AnalysisConfigurationException; +import kieker.analysis.model.analysisMetaModel.MIPlugin; import kieker.analysis.model.analysisMetaModel.MIProject; +import kieker.analysis.model.analysisMetaModel.MIRepository; +import kieker.analysis.plugin.AbstractPlugin; +import kieker.analysis.repository.AbstractRepository; import kieker.common.logging.Log; import kieker.common.logging.LogFactory; import kieker.common.logging.LogImplWebguiLogging; @@ -50,6 +55,8 @@ public class AnalysisControllerBean { * The controller instance stored within this bean. */ private AnalysisController controller; + private HashMap<MIPlugin, AbstractPlugin> pluginMap; + private HashMap<MIRepository, AbstractRepository> repositoryMap; /** * Creates a new instance of this class. @@ -86,17 +93,12 @@ public class AnalysisControllerBean { public void instantiate(final MIProject mProject) { if (mProject != null) { try { - // Create a temporary file and store the model instance in it. - final File tempFile = File.createTempFile("java", ".tmp"); - AnalysisController.saveToFile(tempFile, mProject); // Try to create the controller. - this.controller = new AnalysisController(tempFile, PluginClassLoader.getInstance()); - // Don't forget to remove the temporary file. - if (!tempFile.delete()) { - AnalysisControllerBean.LOG.warn("Could not remove temporary file."); - } - } catch (final IOException ex) { - AnalysisControllerBean.LOG.error("Could not create analysis controller.", ex); + 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(); } catch (final NullPointerException ex) { AnalysisControllerBean.LOG.error("Could not create analysis controller.", ex); } catch (final AnalysisConfigurationException ex) { diff --git a/Kieker.WebGUI/src/main/webapp/main.xhtml b/Kieker.WebGUI/src/main/webapp/main.xhtml index 597ee67b4b579a252424d59418603e33f69e98ca..56ab984981f25417be62aa7e14003653faa39e2c 100644 --- a/Kieker.WebGUI/src/main/webapp/main.xhtml +++ b/Kieker.WebGUI/src/main/webapp/main.xhtml @@ -153,7 +153,7 @@ </p:column> <p:column headerText="Value" style="width:125px"> - <p:cellEditor > + <p:cellEditor> <f:facet name="output"> <h:outputText value="#{property.value}" rendered="#{not stringBean.checkString(property)}"/> <h:outputText value="#{selectedPluginBean.plugin.name}" rendered="#{stringBean.checkString(property)}"/>