From c285e042628fbc4e8837fff5f234dc950ca8717f Mon Sep 17 00:00:00 2001 From: Nils Christian Ehmke <nie@informatik.uni-kiel.de> Date: Sat, 13 Oct 2012 14:10:10 +0200 Subject: [PATCH] Modifications for quality reasons. --- .../application/GlobalPropertiesBean.java | 99 ++++++++++++++++--- .../beans/application/ProjectsBean.java | 30 ++---- .../beans/application/ThemeSwitcherBean.java | 1 - .../webgui/beans/request/StringBean.java | 1 - .../session/CurrentConfigurationBean.java | 1 - .../kieker/webgui/beans/session/UserBean.java | 12 ++- .../beans/view/CurrentAnalysisEditorBean.java | 81 ++++++++------- .../view/CurrentAnalysisEditorGraphBean.java | 1 - .../webgui/beans/view/CurrentCockpitBean.java | 22 +---- .../beans/view/CurrentCockpitEditorBean.java | 27 ++--- .../beans/view/CurrentControllerBean.java | 8 +- .../view/CurrentProjectOverviewBean.java | 3 +- .../common/ClassAndMethodContainer.java | 25 ++++- .../common/EnvironmentLoaderListener.java | 13 +++ .../webgui/common/IProjectManagerFacade.java | 10 +- .../webgui/common/ProjectManagerFacade.java | 1 - .../AbstractKiekerWebGUIException.java | 1 - .../AnalysisInitializationException.java | 1 - .../exception/AnalysisStateException.java | 1 - .../exception/DisplayNotFoundException.java | 1 - .../LibraryAlreadyExistingException.java | 1 - .../exception/LibraryLoadException.java | 1 - .../exception/NewerProjectException.java | 1 - .../ProjectAlreadyExistingException.java | 1 - .../exception/ProjectLoadException.java | 1 - .../ProjectNotExistingException.java | 1 - .../kieker/webgui/common/util/ACManager.java | 10 +- .../kieker/webgui/common/util/Analysis.java | 72 ++------------ .../kieker/webgui/common/util/FSManager.java | 1 - .../webgui/common/util/PluginFinder.java | 1 - .../main/resources/lang/Common_en.properties | 2 +- .../src/main/webapp/CockpitEditorPage.xhtml | 3 +- .../src/main/webapp/CockpitPage.xhtml | 3 +- Kieker.WebGUI/src/main/webapp/LoginPage.xhtml | 2 +- .../src/main/webapp/WEB-INF/faces-config.xml | 8 +- .../src/main/webapp/WEB-INF/pretty-config.xml | 4 +- Kieker.WebGUI/src/main/webapp/WEB-INF/web.xml | 7 +- .../main/webapp/css/AnalysisEditorPage.css | 12 +-- .../src/main/webapp/css/FlowEditor.css | 2 + Kieker.WebGUI/src/main/webapp/css/Icons.css | 2 + .../dialogs/AnalysisEditorPageDialogs.xhtml | 5 +- .../dialogs/CockpitEditorPageDialogs.xhtml | 6 +- .../dialogs/ProjectOverviewPageDialogs.xhtml | 4 +- .../main/webapp/dialogs/settingsDialog.xhtml | 3 +- 44 files changed, 251 insertions(+), 241 deletions(-) diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/GlobalPropertiesBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/GlobalPropertiesBean.java index 3ea423fd..7ce21852 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/GlobalPropertiesBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/GlobalPropertiesBean.java @@ -20,6 +20,8 @@ import java.io.IOException; import java.util.Properties; import java.util.ResourceBundle; +import javax.faces.application.FacesMessage; +import javax.faces.application.FacesMessage.Severity; import javax.faces.bean.ApplicationScoped; import javax.faces.bean.ManagedBean; import javax.faces.context.FacesContext; @@ -29,11 +31,11 @@ import kieker.common.logging.LogFactory; /** * The class {@link GlobalPropertiesBean} is an application-scoped JSF bean, containing the necessary properties and constants for the application. It reads them - * from one or more properties-files to allow the simple modification of parameters without a necessary recompiling of the whole application.<br> + * from one or more properties-files and resource bundles to allow the simple modification of parameters without a necessary recompiling of the whole + * application.<br> * It is application-scoped as only one instance of this class is necessary. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @ApplicationScoped @@ -77,12 +79,12 @@ public final class GlobalPropertiesBean { } catch (final IOException ex) { // If this exception occurs there isn't much we can do. This means the resource isn't available. We can't shutdown the whole application, so instead we // log the error. - GlobalPropertiesBean.LOG.error("An error occured during the loading of the properties", ex); + GlobalPropertiesBean.LOG.error("An error occured during the initialization of the propertiess.", ex); } } /** - * Delivers the default theme. + * This method delivers the default theme stored in the properties file. * * @return The value of the property. */ @@ -91,7 +93,8 @@ public final class GlobalPropertiesBean { } /** - * Delivers the name of the theme cookie. + * This method delivers the name of the theme cookie stored in the properties file. This cookie name should only be used to (re)store the current user's look and + * feel. * * @return The value of the property. */ @@ -100,7 +103,7 @@ public final class GlobalPropertiesBean { } /** - * Delivers the key name of the theme within the faces context. + * This method delivers the key name of the theme within the faces context. This key can be used to load the default theme from the faces context if necessary. * * @return The value of the property. */ @@ -109,7 +112,7 @@ public final class GlobalPropertiesBean { } /** - * Delivers the redirecting-link to the project overview page. + * This method delivers the redirecting-link to the project overview page. * * @return The value of the property. */ @@ -118,7 +121,7 @@ public final class GlobalPropertiesBean { } /** - * Delivers the name of the cookie for the grid size within the analysis editor. + * This method delivers the name of the cookie for the grid size within the analysis editor. * * @return The value of the property. */ @@ -127,7 +130,7 @@ public final class GlobalPropertiesBean { } /** - * Delivers the name of the cookie for the grid color within the analysis editor. + * This method delivers the name of the cookie for the grid color within the analysis editor. * * @return The value of the property. */ @@ -136,7 +139,7 @@ public final class GlobalPropertiesBean { } /** - * Delivers the default grid size within the analysis editor. + * This method delivers the default grid size within the analysis editor. * * @return The value of the property. */ @@ -145,7 +148,7 @@ public final class GlobalPropertiesBean { } /** - * Delivers the default grid color within the analysis editor. + * This method delivers the default grid color within the analysis editor. * * @return The value of the property. */ @@ -153,52 +156,126 @@ public final class GlobalPropertiesBean { return this.globalProperties.getProperty(GlobalPropertiesBean.PROPERTY_ANALYSIS_EDITOR_DEFAULT_GRID_COLOR); } + /** + * This method delivers the localized message, which can be used if the loading of a project resulted in an exception. + * + * @return The value of the property. + */ public String getMsgProjectLoadingException() { return GlobalPropertiesBean.getLocalizedString(GlobalPropertiesBean.PROPERTY_MSG_PROJECT_LOADING_EXCEPTION); } + /** + * This method delivers the localized message, which can be used if a project has been saved. + * + * @return The value of the property. + */ public String getMsgProjectSaved() { return GlobalPropertiesBean.getLocalizedString(GlobalPropertiesBean.PROPERTY_MSG_PROJECT_SAVED); } + /** + * This method delivers the localized message, which can be used if the creation of a plugin resulted in an exception. + * + * @return The value of the property. + */ public String getMsgPluginCreationException() { return GlobalPropertiesBean.getLocalizedString(GlobalPropertiesBean.PROPERTY_MSG_PLUGIN_CREATION_EXCEPTION); } + /** + * This method delivers the localized message, which can be used if he creation of a repository resulted in an exception. + * + * @return The value of the property. + */ public String getMsgRepositoryCreationException() { return GlobalPropertiesBean.getLocalizedString(GlobalPropertiesBean.PROPERTY_MSG_REPOSITORY_CREATION_EXCEPTION); } + /** + * This method delivers the localized message, which can be used if a library has been uploaded. + * + * @return The value of the property. + */ public String getMsgLibraryUploaded() { return GlobalPropertiesBean.getLocalizedString(GlobalPropertiesBean.PROPERTY_MSG_LIBRARY_UPLOADED); } + /** + * This method delivers the localized message, which can be used if a project has been created. + * + * @return The value of the property. + */ public String getMsgProjectCreated() { return GlobalPropertiesBean.getLocalizedString(GlobalPropertiesBean.PROPERTY_MSG_PROJECT_CREATED); } + /** + * This method delivers the localized message, which can be used if the saving of a project failed. + * + * @return The value of the property. + */ public String getMsgProjectSavingException() { return GlobalPropertiesBean.getLocalizedString(GlobalPropertiesBean.PROPERTY_MSG_PROJECT_SAVING_EXCEPTION); } + /** + * This method delivers the localized message, which can be used if a project does not exist. + * + * @return The value of the property. + */ public String getMsgProjectNotExistingException() { return GlobalPropertiesBean.getLocalizedString(GlobalPropertiesBean.PROPERTY_MSG_PROJECT_NOT_EXISTING_EXCEPTION); } + /** + * This method delivers the localized message, which can be used if a project has been modified externally. + * + * @return The value of the property. + */ public String getMsgProjectModified() { return GlobalPropertiesBean.getLocalizedString(GlobalPropertiesBean.PROPERTY_MSG_PROJECT_MODIFIED); } + /** + * This method delivers the localized message, which can be used if a library does not exist. + * + * @return The value of the property. + */ public String getMsgLibraryExistingException() { return GlobalPropertiesBean.getLocalizedString(GlobalPropertiesBean.PROPERTY_MSG_LIBRARY_EXISTING_EXCEPTION); } + /** + * This method delivers the localized message, which can be used if the uploading of a library failed. + * + * @return The value of the property. + */ public String getMsgLibraryUploadingException() { return GlobalPropertiesBean.getLocalizedString(GlobalPropertiesBean.PROPERTY_MSG_LIBRARY_UPLOADING_EXCEPTION); } + /** + * Delivers the localized property for the given key. + * + * @param key + * They key of the property. + * @return The value for the current locale (in the current faces context) from the common resource bundle. + */ private static String getLocalizedString(final String key) { // Get the correct resource bundle for the current language (taken from the current context) and search it for the given key return ResourceBundle.getBundle(GlobalPropertiesBean.RESOURCE_BUNDLE_NAME, FacesContext.getCurrentInstance().getELContext().getLocale()).getString(key); } + + /** + * This method shows the current user a message by using the growl-component of PrimeFaces. + * + * @param severity + * The severity of the message. + * @param msg + * The message itself. + */ + public static void showMessage(final Severity severity, final String msg) { + FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(severity, "", msg)); + } } 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 d2273bd0..233d1cf2 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 @@ -24,10 +24,8 @@ import java.util.List; import javax.annotation.PostConstruct; import javax.faces.application.FacesMessage; -import javax.faces.application.FacesMessage.Severity; import javax.faces.bean.ApplicationScoped; import javax.faces.bean.ManagedBean; -import javax.faces.context.FacesContext; import kieker.analysis.model.analysisMetaModel.MIProject; import kieker.common.logging.Log; @@ -47,7 +45,6 @@ import kieker.webgui.common.exception.ProjectNotExistingException; * As this bean contains the whole list of the available projects, it is application scoped. There is no reason for multiple instances of this class. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @ApplicationScoped @@ -59,6 +56,7 @@ public final class ProjectsBean { private static final String DEFAULT_ANALYSIS_STATE = ""; private final List<String> projects = Collections.synchronizedList(new ArrayList<String>()); + private final IProjectManagerFacade projectManagerFacade = ProjectManagerFacade.getInstance(); /** @@ -95,15 +93,15 @@ public final class ProjectsBean { // If there were no exception, everything went well. We can add the project to our list. this.projects.add(project); // Inform the user - ProjectsBean.showMessage(FacesMessage.SEVERITY_INFO, "Project created."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_INFO, "Project created."); // Update the list of the "calling" bean CurrentProjectOverviewBean.getCurrentInstance().updateLists(); } catch (final IOException ex) { ProjectsBean.LOG.error("An error occured while creating the project.", ex); - ProjectsBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while creating the project."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while creating the project."); } catch (final ProjectAlreadyExistingException ex) { ProjectsBean.LOG.info("A project with the same name exists already.", ex); - ProjectsBean.showMessage(FacesMessage.SEVERITY_WARN, "A project with the same name exists already."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_WARN, "A project with the same name exists already."); } } @@ -126,19 +124,19 @@ public final class ProjectsBean { // If there were no exception, everything went well. We can add the project to our list. this.projects.add(destinationProject); // Inform the user - ProjectsBean.showMessage(FacesMessage.SEVERITY_INFO, "Project created."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_INFO, "Project created."); // Update the list of the "calling" bean CurrentProjectOverviewBean.getCurrentInstance().updateLists(); } catch (final IOException ex) { ProjectsBean.LOG.error("An error occured while creating the project.", ex); - ProjectsBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while creating the project."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while creating the project."); ex.printStackTrace(); } catch (final ProjectAlreadyExistingException ex) { ProjectsBean.LOG.info("A project with the same name exists already.", ex); - ProjectsBean.showMessage(FacesMessage.SEVERITY_WARN, "A project with the same name exists already."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_WARN, "A project with the same name exists already."); } catch (final ProjectNotExistingException ex) { ProjectsBean.LOG.info("A project with the given name does not exist.", ex); - ProjectsBean.showMessage(FacesMessage.SEVERITY_WARN, "A project with the given name does not exist."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_WARN, "A project with the given name does not exist."); } } @@ -213,16 +211,4 @@ public final class ProjectsBean { return ProjectsBean.DEFAULT_ANALYSIS_STATE; } } - - /** - * This method shows the current user a message by using the growl-component of PrimeFaces. - * - * @param severity - * The severity of the message. - * @param msg - * The message itself. - */ - private static void showMessage(final Severity severity, final String msg) { - FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(severity, "", msg)); - } } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ThemeSwitcherBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ThemeSwitcherBean.java index 1edbb59b..a07118a6 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ThemeSwitcherBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ThemeSwitcherBean.java @@ -30,7 +30,6 @@ import javax.faces.bean.ManagedBean; * As the list with the available themes is a static list, this class is an application scoped JSF managed bean. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @ApplicationScoped diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/StringBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/StringBean.java index 670ede8f..bc613022 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/StringBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/StringBean.java @@ -25,7 +25,6 @@ import javax.faces.bean.RequestScoped; * For technical reasons this bean is a request scoped bean. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @RequestScoped diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentConfigurationBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentConfigurationBean.java index 76c67761..02994fee 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentConfigurationBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentConfigurationBean.java @@ -33,7 +33,6 @@ import kieker.webgui.beans.application.GlobalPropertiesBean; * It is session-scoped as only one instance per user is necessary. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @SessionScoped diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/UserBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/UserBean.java index a8234979..04fa8a0d 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/UserBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/UserBean.java @@ -27,7 +27,6 @@ import kieker.webgui.beans.application.GlobalPropertiesBean; * This class is a JSF managed bean with session scope. This means also that it is possible to login the same user multiple times. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @SessionScoped @@ -65,10 +64,21 @@ public final class UserBean { this.userName = name; } + /** + * Delivers the stored password. + * + * @return The password. + */ public String getPassword() { return this.password; } + /** + * Sets the password which should be stored in this bean. + * + * @param password + * The new value for the password. + */ public void setPassword(final String password) { this.password = password; } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorBean.java index a86b2db7..948bdda9 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorBean.java @@ -26,7 +26,6 @@ import java.util.Collections; import java.util.List; import javax.faces.application.FacesMessage; -import javax.faces.application.FacesMessage.Severity; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.ViewScoped; @@ -83,7 +82,6 @@ import org.eclipse.emf.ecore.EObject; * the type {@link Object} instead of more specific types to avoid incompatibilities between the multiple loaded classes. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @ViewScoped @@ -141,6 +139,7 @@ public final class CurrentAnalysisEditorBean { */ private EObject selectedComponent; private final IProjectManagerFacade projectManagerFacade = ProjectManagerFacade.getInstance(); + @ManagedProperty(value = "#{projectsBean}") private ProjectsBean projectsBean; @@ -245,11 +244,11 @@ public final class CurrentAnalysisEditorBean { } } catch (final ProjectLoadException ex) { CurrentAnalysisEditorBean.LOG.error("An error occured while loading the project.", ex); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgProjectLoadingException()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgProjectLoadingException()); } catch (final NullPointerException ex) { // This exception can occur, when a property has not been initialized CurrentAnalysisEditorBean.LOG.error("An error occured while loading the project.", ex); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgProjectLoadingException()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgProjectLoadingException()); } } } @@ -345,24 +344,23 @@ public final class CurrentAnalysisEditorBean { } for (final Class<?> plugin : plugins) { - if (!Modifier.isAbstract(plugin.getModifiers())) { - // Make also sure that the current plugin is not "programmaticOnly" - final Annotation annotationPlugin = plugin.getAnnotation(this.classAndMethodContainer.getPluginAnnotationClass()); - final boolean programmaticOnly = (Boolean) ClassAndMethodContainer.invokeMethod(this.classAndMethodContainer.getPluginProgrammaticOnlyMethod(), - annotationPlugin, false); - if (!programmaticOnly) { - // The following cast results in the unchecked-cast-warnings, but we know that the cast should be correct. - if (this.classAndMethodContainer.getAbstractFilterPluginClass().isAssignableFrom(plugin)) { - this.availableFilters.add((Class<AbstractFilterPlugin>) plugin); - } else { - if (this.classAndMethodContainer.getAbstractReaderPluginClass().isAssignableFrom(plugin)) { - this.availableReaders.add((Class<AbstractReaderPlugin>) plugin); - } + // Make sure that the current plugin is neither abstract nor "programmaticOnly" + final Annotation annotationPlugin = plugin.getAnnotation(this.classAndMethodContainer.getPluginAnnotationClass()); + final boolean programmaticOnly = (Boolean) ClassAndMethodContainer.invokeMethod(this.classAndMethodContainer.getPluginProgrammaticOnlyMethod(), + annotationPlugin, false); + final boolean isAbstract = Modifier.isAbstract(plugin.getModifiers()); + + if (!isAbstract && !programmaticOnly) { + // The following cast results in the unchecked-cast-warnings, but we know that the cast should be correct. + if (this.classAndMethodContainer.getAbstractFilterPluginClass().isAssignableFrom(plugin)) { + this.availableFilters.add((Class<AbstractFilterPlugin>) plugin); + } else { + if (this.classAndMethodContainer.getAbstractReaderPluginClass().isAssignableFrom(plugin)) { + this.availableReaders.add((Class<AbstractReaderPlugin>) plugin); } } } } - } } @@ -676,7 +674,7 @@ public final class CurrentAnalysisEditorBean { final MIDependency lib; synchronized (this) { this.projectManagerFacade.uploadLibrary(file, this.projectName); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_INFO, this.globalPropertiesBean.getMsgLibraryUploaded()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_INFO, this.globalPropertiesBean.getMsgLibraryUploaded()); // As it seem to have worked, we can add the library to our model. lib = this.factory.createDependency(); lib.setFilePath(file.getFileName()); @@ -690,19 +688,19 @@ public final class CurrentAnalysisEditorBean { this.initializeToolPalette(); } catch (final LibraryAlreadyExistingException ex) { CurrentAnalysisEditorBean.LOG.info("A library with the same name exists already.", ex); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_WARN, this.globalPropertiesBean.getMsgLibraryExistingException()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_WARN, this.globalPropertiesBean.getMsgLibraryExistingException()); } catch (final IOException ex) { CurrentAnalysisEditorBean.LOG.error("An error occured while uploading the library.", ex); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgLibraryUploadingException()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgLibraryUploadingException()); } catch (final ProjectLoadException ex) { CurrentAnalysisEditorBean.LOG.error("An error occured while uploading the library.", ex); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgLibraryUploadingException()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgLibraryUploadingException()); } catch (final ProjectNotExistingException ex) { CurrentAnalysisEditorBean.LOG.error("Project does not exist.", ex); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgProjectNotExistingException()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgProjectNotExistingException()); } catch (final LibraryLoadException ex) { CurrentAnalysisEditorBean.LOG.error("An error occured while uploading the library.", ex); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgLibraryUploadingException()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgLibraryUploadingException()); } } @@ -767,20 +765,20 @@ public final class CurrentAnalysisEditorBean { synchronized (this) { try { this.projectManagerFacade.saveProject(this.projectName, this.project, this.timeStamp, overwriteNewerProject); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_INFO, this.globalPropertiesBean.getMsgProjectSaved()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_INFO, this.globalPropertiesBean.getMsgProjectSaved()); // Update the time stamp! this.resetTimeStamp(); } catch (final IOException ex) { CurrentAnalysisEditorBean.LOG.error("An error occured while saving the project.", ex); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgProjectSavingException()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgProjectSavingException()); } catch (final NewerProjectException ex) { CurrentAnalysisEditorBean.LOG.info("The project has been modified externally in the meanwhile.", ex); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_WARN, this.globalPropertiesBean.getMsgProjectModified()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_WARN, this.globalPropertiesBean.getMsgProjectModified()); // Give the user the possibility to force-save the project RequestContext.getCurrentInstance().execute("forceSaveDlg.show()"); } catch (final ProjectNotExistingException ex) { CurrentAnalysisEditorBean.LOG.error("The project does not exist.", ex); - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgProjectNotExistingException()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgProjectNotExistingException()); } } } @@ -898,7 +896,7 @@ public final class CurrentAnalysisEditorBean { } } catch (final NoClassDefFoundError ex) { // This exception can occur if (for example) a class is missing - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgRepositoryCreationException()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgRepositoryCreationException()); CurrentAnalysisEditorBean.LOG.error("An error occured during the creation of the repository. Check the dependencies.", ex); } } @@ -939,7 +937,7 @@ public final class CurrentAnalysisEditorBean { } } catch (final NoClassDefFoundError ex) { // This exception can occur if (for example) a class is missing - CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgPluginCreationException()); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, this.globalPropertiesBean.getMsgPluginCreationException()); CurrentAnalysisEditorBean.LOG.error("An error occured during the creation of the plugin. Check the dependencies.", ex); } } @@ -1032,18 +1030,6 @@ public final class CurrentAnalysisEditorBean { } } - /** - * This method shows the current user a message by using the growl-component of PrimeFaces. - * - * @param severity - * The severity of the message. - * @param msg - * The message itself. - */ - private static void showMessage(final Severity severity, final String msg) { - FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(severity, "", msg)); - } - /** * The getter for the property {@link CurrentAnalysisEditorBean#currentConfigurationBean}. * @@ -1194,10 +1180,21 @@ public final class CurrentAnalysisEditorBean { } } + /** + * The getter for the property {@link CurrentAnalysisEditorBean#globalPropertiesBean}. + * + * @return The current value of the property. + */ public GlobalPropertiesBean getGlobalPropertiesBean() { return this.globalPropertiesBean; } + /** + * The setter for the property {@link CurrentAnalysisEditorBean#globalPropertiesBean}. + * + * @param globalPropertiesBean + * The new value of the property. + */ public void setGlobalPropertiesBean(final GlobalPropertiesBean globalPropertiesBean) { this.globalPropertiesBean = globalPropertiesBean; } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorGraphBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorGraphBean.java index 030cab75..bb3d0bd5 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorGraphBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorGraphBean.java @@ -46,7 +46,6 @@ import org.eclipse.emf.ecore.EObject; * problems. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @ViewScoped diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitBean.java index 7ec0410a..fa600e62 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitBean.java @@ -19,7 +19,6 @@ package kieker.webgui.beans.view; import java.io.IOException; import javax.faces.application.FacesMessage; -import javax.faces.application.FacesMessage.Severity; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.ViewScoped; @@ -29,6 +28,7 @@ import kieker.analysis.model.analysisMetaModel.MIProject; import kieker.analysis.model.analysisMetaModel.MIView; import kieker.common.logging.Log; import kieker.common.logging.LogFactory; +import kieker.webgui.beans.application.GlobalPropertiesBean; import kieker.webgui.beans.application.ProjectsBean; import kieker.webgui.common.ClassAndMethodContainer; import kieker.webgui.common.IProjectManagerFacade; @@ -43,7 +43,6 @@ import kieker.webgui.common.exception.ProjectNotExistingException; * problems. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @ViewScoped @@ -56,6 +55,7 @@ public final class CurrentCockpitBean { private MIProject project; private MIView activeView; private ClassAndMethodContainer classAndMethodContainer; + @ManagedProperty(value = "#{projectsBean}") private ProjectsBean projectsBean; @@ -132,14 +132,14 @@ public final class CurrentCockpitBean { } } catch (final ProjectNotExistingException ex) { CurrentCockpitBean.LOG.error("An error occured while loading the project.", ex); - CurrentCockpitBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the project."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the project."); } catch (final IOException ex) { CurrentCockpitBean.LOG.error("An error occured while loading the project.", ex); - CurrentCockpitBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the project."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the project."); } catch (final NullPointerException ex) { // This exception occurs, when the projectsBean has not been initialized CurrentCockpitBean.LOG.error("An error occured while loading the project.", ex); - CurrentCockpitBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the project."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the project."); } } } @@ -219,16 +219,4 @@ public final class CurrentCockpitBean { this.activeView = activeView; } } - - /** - * This method shows the current user a message by using the growl-component of PrimeFaces. - * - * @param severity - * The severity of the message. - * @param msg - * The message itself. - */ - private static void showMessage(final Severity severity, final String msg) { - FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(severity, "", msg)); - } } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitEditorBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitEditorBean.java index c680b71e..929d33c2 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitEditorBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitEditorBean.java @@ -24,7 +24,6 @@ import java.util.List; import java.util.UUID; import javax.faces.application.FacesMessage; -import javax.faces.application.FacesMessage.Severity; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.ViewScoped; @@ -42,6 +41,7 @@ import kieker.analysis.model.analysisMetaModel.impl.MAnalysisMetaModelFactory; import kieker.analysis.plugin.AbstractPlugin; import kieker.common.logging.Log; import kieker.common.logging.LogFactory; +import kieker.webgui.beans.application.GlobalPropertiesBean; import kieker.webgui.beans.application.ProjectsBean; import kieker.webgui.common.ClassAndMethodContainer; import kieker.webgui.common.IProjectManagerFacade; @@ -59,7 +59,6 @@ import org.primefaces.event.TabChangeEvent; * problems. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @ViewScoped @@ -88,8 +87,10 @@ public final class CurrentCockpitEditorBean { * This is the currently selected view. */ private MIView activeView; + @ManagedProperty(value = "#{projectsBean}") private ProjectsBean projectsBean; + private final IProjectManagerFacade projectManagerFacade = ProjectManagerFacade.getInstance(); private ClassAndMethodContainer classAndMethodContainer; private ClassLoader classLoader; @@ -141,7 +142,7 @@ public final class CurrentCockpitEditorBean { } } catch (final ProjectLoadException ex) { CurrentCockpitEditorBean.LOG.error("An error occured while loading the project.", ex); - CurrentCockpitEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the project."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the project."); } } } @@ -256,36 +257,24 @@ public final class CurrentCockpitEditorBean { synchronized (this) { try { this.projectManagerFacade.saveProject(this.projectName, this.project, this.timeStamp, overwriteNewerProject); - CurrentCockpitEditorBean.showMessage(FacesMessage.SEVERITY_INFO, "Project saved."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_INFO, "Project saved."); // Update the time stamp! this.resetTimeStamp(); } catch (final IOException ex) { CurrentCockpitEditorBean.LOG.error("An error occured while saving the projet.", ex); - CurrentCockpitEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while saving the project."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while saving the project."); } catch (final NewerProjectException ex) { CurrentCockpitEditorBean.LOG.info("The project has been modified externally in the meanwhile.", ex); - CurrentCockpitEditorBean.showMessage(FacesMessage.SEVERITY_WARN, "The project has been modified externally in the meanwhile."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_WARN, "The project has been modified externally in the meanwhile."); // Give the user the possibility to force-save the project RequestContext.getCurrentInstance().execute("forceSaveDlg.show()"); } catch (final ProjectNotExistingException ex) { CurrentCockpitEditorBean.LOG.error("A project with the given name does not exist.", ex); - CurrentCockpitEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "A project with the given name does not exist."); + GlobalPropertiesBean.showMessage(FacesMessage.SEVERITY_ERROR, "A project with the given name does not exist."); } } } - /** - * This method shows the current user a message by using the growl-component of PrimeFaces. - * - * @param severity - * The severity of the message. - * @param msg - * The message itself. - */ - private static void showMessage(final Severity severity, final String msg) { - FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(severity, "", msg)); - } - /** * This method sets the time stamp to the current system time. */ diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentControllerBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentControllerBean.java index c115ae78..864df7ce 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentControllerBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentControllerBean.java @@ -45,7 +45,6 @@ import kieker.webgui.common.exception.ProjectNotExistingException; * make sure that one user (even in one session) can open multiple projects at a time without causing any problems. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @ViewScoped @@ -288,7 +287,7 @@ public final class CurrentControllerBean { } /** - * Delivers the available log entries. + * Delivers the available log entries of the current analysis controller instance. * * @return The current log entries. */ @@ -301,6 +300,11 @@ public final class CurrentControllerBean { } } + /** + * Delivers the available log entries of the current view. + * + * @return The current log entries. + */ public Collection<String> getViewLog() { return this.logEntries; } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentProjectOverviewBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentProjectOverviewBean.java index 50865909..fdefb1fc 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentProjectOverviewBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentProjectOverviewBean.java @@ -35,7 +35,6 @@ import org.primefaces.event.SelectEvent; * The class is a JSF managed bean with view scope. * * @author Nils Christian Ehmke - * @version 1.0 */ @ManagedBean @ViewScoped @@ -90,7 +89,7 @@ public final class CurrentProjectOverviewBean { * This method should only be called automatically by the JVM to update the projects list. */ @PostConstruct - protected void init() { + protected void initialialize() { this.updateLists(); } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/ClassAndMethodContainer.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/ClassAndMethodContainer.java index 267dd7f7..db1936b2 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/ClassAndMethodContainer.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/ClassAndMethodContainer.java @@ -51,7 +51,6 @@ import kieker.webgui.common.exception.ProjectLoadException; * loader. This will result in multiple version of one and the same class and therefore in problems, if one doesn't use the correct class version. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class ClassAndMethodContainer { @@ -244,6 +243,7 @@ public final class ClassAndMethodContainer { @SuppressWarnings("unchecked") public ClassAndMethodContainer(final ClassLoader classLoader) throws ProjectLoadException { try { + // For the first: Use the classloader the load all classes we will need. this.logImplWebguiLoggingClass = classLoader.loadClass(LogImplWebguiLogging.class.getName()); this.analysisControllerWithMappingClass = classLoader.loadClass(AnalysisControllerWithMapping.class.getName()); @@ -258,6 +258,7 @@ public final class ClassAndMethodContainer { this.plainTextClass = classLoader.loadClass(PlainText.class.getName()); this.imageClass = classLoader.loadClass(Image.class.getName()); + // Now we load the more specific annotation classes this.pluginAnnotationClass = (Class<? extends Annotation>) classLoader.loadClass(Plugin.class.getName()); this.repositoryAnnotationClass = (Class<? extends Annotation>) classLoader.loadClass(Repository.class.getName()); this.propertyAnnotationClass = (Class<? extends Annotation>) classLoader.loadClass(Property.class.getName()); @@ -266,6 +267,7 @@ public final class ClassAndMethodContainer { this.repositoryPortAnnotationClass = (Class<? extends Annotation>) classLoader.loadClass(RepositoryPort.class.getName()); this.displayAnnotationClass = (Class<? extends Annotation>) classLoader.loadClass(Display.class.getName()); + // The following part has to be done carefully: The methods will be loaded via the name this.pluginDescriptionMethod = this.pluginAnnotationClass.getMethod("description", new Class<?>[0]); this.repositoryDescriptionMethod = this.repositoryAnnotationClass.getMethod("description", new Class<?>[0]); this.pluginConfigurationMethod = this.pluginAnnotationClass.getMethod("configuration", new Class<?>[0]); @@ -308,6 +310,7 @@ public final class ClassAndMethodContainer { } this.analysisControllerThreadJoin = joinMethod; + // Now the constructors this.analysisControllerThreadConstructor = this.analysisControllerThreadClass.getConstructor(this.analysisControllerClass); } catch (final ClassNotFoundException ex) { ClassAndMethodContainer.LOG.error(ClassAndMethodContainer.MSG_LOAD_EXCEPTION, ex); @@ -711,18 +714,38 @@ public final class ClassAndMethodContainer { return this.repositoryDependenciesMethod; } + /** + * The getter-method for the field {@link ClassAndMethodContainer#pluginProgrammaticOnlyMethod}. + * + * @return The value of the field. + */ public Method getPluginProgrammaticOnlyMethod() { return this.pluginProgrammaticOnlyMethod; } + /** + * The getter-method for the field {@link ClassAndMethodContainer#repositoryProgrammaticOnlyMethod}. + * + * @return The value of the field. + */ public Method getRepositoryProgrammaticOnlyMethod() { return this.repositoryProgrammaticOnlyMethod; } + /** + * The getter-method for the field {@link ClassAndMethodContainer#logImplWebguiLoggingClass}. + * + * @return The value of the field. + */ public Class<?> getLogImplWebguiLoggingClass() { return this.logImplWebguiLoggingClass; } + /** + * The getter-method for the field {@link ClassAndMethodContainer#logImplWebguiLoggingClassGetEntriesMethod}. + * + * @return The value of the field. + */ public Method getLogImplWebguiLoggingClassGetEntriesMethod() { return this.logImplWebguiLoggingClassGetEntriesMethod; } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/EnvironmentLoaderListener.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/EnvironmentLoaderListener.java index e80a1126..8ad0da88 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/EnvironmentLoaderListener.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/EnvironmentLoaderListener.java @@ -19,8 +19,21 @@ package kieker.webgui.common; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; +/** + * The {@link EnvironmentLoaderListener} is a context listener, which will be activated during the initialization of the application. It is used to initialize some + * environment properties for the webgui. + * + * @author Nils Christian Ehmke + */ public class EnvironmentLoaderListener implements ServletContextListener { + /** + * Creates a new instance of this class. <b>Do not call this constructor manually. It will only be accessed by the servlet container.</b> + */ + public EnvironmentLoaderListener() { + // No code necessary + } + @Override public void contextDestroyed(final ServletContextEvent event) { // No code necessary diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/IProjectManagerFacade.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/IProjectManagerFacade.java index ea8c5fac..32f40780 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/IProjectManagerFacade.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/IProjectManagerFacade.java @@ -42,7 +42,6 @@ import org.primefaces.model.UploadedFile; * synchronization. Latter should be guaranteed by the facade, which means that multiple requests for the same project do not go wrong. * * @author Nils Christian Ehmke - * @version 1.0 */ public interface IProjectManagerFacade { @@ -336,5 +335,14 @@ public interface IProjectManagerFacade { */ public STATE getCurrentState(final String projectName) throws ProjectNotExistingException; + /** + * This method delivers the available log entries of the analysis controller of the given project. + * + * @param projectName + * The name of the project. + * @return An array containing the entries of the log. + * @throws AnalysisStateException + * If the analysis is in an invalid state to deliver the entries. + */ public Object[] getLogEntries(final String projectName) throws AnalysisStateException; } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/ProjectManagerFacade.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/ProjectManagerFacade.java index c9e22cf7..45836656 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/ProjectManagerFacade.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/ProjectManagerFacade.java @@ -45,7 +45,6 @@ import org.primefaces.model.UploadedFile; * This is an implemented facade for the project management. For technical reasons it is a singleton class. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class ProjectManagerFacade implements IProjectManagerFacade { diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AbstractKiekerWebGUIException.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AbstractKiekerWebGUIException.java index 95aebd5f..129d007a 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AbstractKiekerWebGUIException.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AbstractKiekerWebGUIException.java @@ -20,7 +20,6 @@ package kieker.webgui.common.exception; * This is the abstract base for all other exceptions used in this application. * * @author Nils Christian Ehmke - * @version 1.0 */ public abstract class AbstractKiekerWebGUIException extends RuntimeException { diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AnalysisInitializationException.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AnalysisInitializationException.java index c856fb2e..735ea76c 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AnalysisInitializationException.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AnalysisInitializationException.java @@ -20,7 +20,6 @@ package kieker.webgui.common.exception; * This class represents an exception occurring when the analysis is instantiated. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class AnalysisInitializationException extends AbstractKiekerWebGUIException { /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AnalysisStateException.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AnalysisStateException.java index e16168db..e9b2aa18 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AnalysisStateException.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AnalysisStateException.java @@ -20,7 +20,6 @@ package kieker.webgui.common.exception; * This class represents an exception occurring when the analysis is in an invalid state for the ordered method. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class AnalysisStateException extends AbstractKiekerWebGUIException { /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/DisplayNotFoundException.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/DisplayNotFoundException.java index 0245fade..8733d7e2 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/DisplayNotFoundException.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/DisplayNotFoundException.java @@ -20,7 +20,6 @@ package kieker.webgui.common.exception; * This exception occurs when a display object has been ordered, which is not available. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class DisplayNotFoundException extends AbstractKiekerWebGUIException { /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/LibraryAlreadyExistingException.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/LibraryAlreadyExistingException.java index f8df52c5..e00ee053 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/LibraryAlreadyExistingException.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/LibraryAlreadyExistingException.java @@ -20,7 +20,6 @@ package kieker.webgui.common.exception; * This exception shows that a library with the same name exists already. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class LibraryAlreadyExistingException extends AbstractKiekerWebGUIException { /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/LibraryLoadException.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/LibraryLoadException.java index b0ce67b5..cc1e81aa 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/LibraryLoadException.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/LibraryLoadException.java @@ -20,7 +20,6 @@ package kieker.webgui.common.exception; * This exception shows that an error occurred while loading a library. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class LibraryLoadException extends AbstractKiekerWebGUIException { /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/NewerProjectException.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/NewerProjectException.java index f00af814..1e01d3f4 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/NewerProjectException.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/NewerProjectException.java @@ -21,7 +21,6 @@ package kieker.webgui.common.exception; * meanwhile. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class NewerProjectException extends AbstractKiekerWebGUIException { /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectAlreadyExistingException.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectAlreadyExistingException.java index 38ee0319..ed759df6 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectAlreadyExistingException.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectAlreadyExistingException.java @@ -20,7 +20,6 @@ package kieker.webgui.common.exception; * This exception shows that an project with the same name exists already. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class ProjectAlreadyExistingException extends AbstractKiekerWebGUIException { /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectLoadException.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectLoadException.java index fb596d09..c1f7d74f 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectLoadException.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectLoadException.java @@ -19,7 +19,6 @@ package kieker.webgui.common.exception; * This exception ocurs when something goes wrong during the loading/opening of a given project. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class ProjectLoadException extends AbstractKiekerWebGUIException { /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectNotExistingException.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectNotExistingException.java index 613edfba..7432e277 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectNotExistingException.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/ProjectNotExistingException.java @@ -20,7 +20,6 @@ package kieker.webgui.common.exception; * This exception shows that a project with the given name does not exist or does no longer exist. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class ProjectNotExistingException extends AbstractKiekerWebGUIException { /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/ACManager.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/ACManager.java index 469c7ade..1605ec1a 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/ACManager.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/ACManager.java @@ -29,7 +29,6 @@ import kieker.webgui.common.exception.ProjectNotExistingException; * instantiate, start and to stop them. This is also a singleton instance. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class ACManager { /** @@ -148,6 +147,15 @@ public final class ACManager { analysis.stop(); } + /** + * This method delivers the available log entries of the analysis controller of the given project. + * + * @param projectName + * The name of the project. + * @return An array containing the entries of the log. + * @throws AnalysisStateException + * If the analysis is in an invalid state to deliver the entries. + */ public Object[] getLogEntries(final String projectName) throws AnalysisStateException { // The analysis for the given project must exist! if (!this.analyses.containsKey(projectName)) { diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/Analysis.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/Analysis.java index 91302501..74180ef3 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/Analysis.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/Analysis.java @@ -22,8 +22,6 @@ import java.lang.reflect.Method; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import javax.annotation.PostConstruct; - import kieker.analysis.AnalysisController; import kieker.common.logging.Log; import kieker.common.logging.LogFactory; @@ -36,7 +34,6 @@ import kieker.webgui.common.exception.ProjectLoadException; * An analysis within the web gui. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class Analysis { private static final Log LOG = LogFactory.getLog(Analysis.class); @@ -155,6 +152,11 @@ public final class Analysis { return this.updateDisplaysThread.getDisplay(viewName, displayName); } + /** + * Delivers the log entries for the current analysis. + * + * @return An array containing the log entries (if available). + */ public Object[] getLogEntries() { return (Object[]) ClassAndMethodContainer.invokeClassMethod(Analysis.this.classAndMethodContainer.getLogImplWebguiLoggingClassGetEntriesMethod(), null, AnalysisController.class.getName()); @@ -167,7 +169,7 @@ public final class Analysis { * @author Nils Christian Ehmke * @version 1.0 */ - private class UpdateDisplaysThread extends Thread { + private static class UpdateDisplaysThread extends Thread { private static final long SLEEP_TIME_MS = 2 * 1000; // private final Object pluginMap; @@ -182,48 +184,6 @@ public final class Analysis { // this.pluginMap = object; } - /** - * This method initializes the class. <b>Do not call this method. The method is managed by the class loader.</b> - */ - @PostConstruct - protected void initialize() { - // Initialize the hashmaps and the necessary objects - // for (final MIView view : Analysis.this.modelProject.getViews()) { - // final Map<String, Object> viewMap = new ConcurrentHashMap<String, Object>(); // NOPMD (Use of concurrent hash map) - // this.displayObjects.put(view.getName(), viewMap); - // for (final MIDisplayConnector displayConnector : view.getDisplayConnectors()) { - // final Method displayMethod = this.getDisplayMethod(this.pluginMap.get(displayConnector.getDisplay().getParent()).getClass(), - // displayConnector.getDisplay().getName()); - - // Make sure that the method really exists and that is has the correct parameters - /* - * if ((displayMethod != null) && (displayMethod.getParameterTypes().length == 1)) { - * final Class<?> parameterType = displayMethod.getParameterTypes()[0]; - * final Object displayObject; - * // Get the correct type - * if (Analysis.this.classAndMethodContainer.getImageClass().isAssignableFrom(parameterType)) { - * displayObject = new Image(); - * } else { - * if (Analysis.this.classAndMethodContainer.getPlainTextClass().isAssignableFrom(parameterType)) { - * displayObject = new PlainText(); - * } else { - * if (Analysis.this.classAndMethodContainer.getHtmlTextClass().isAssignableFrom(parameterType)) { - * displayObject = new HtmlText(); - * } else { - * displayObject = null; - * } - * } - * } - * if (displayObject != null) { - * viewMap.put(displayConnector.getName(), displayObject); - * this.methodMap.put(displayObject, displayMethod); - * } - * } - */ - // } - // } - } - /** * Delivers the correct method to be invoked for an update of the display. * @@ -276,26 +236,6 @@ public final class Analysis { public void run() { // Run until we final have been interrupted while (!this.terminated) { - // for (final MIView view : Analysis.this.modelProject.getViews()) { - // this.displayObjects.get(view.getName()); - // for (final MIDisplayConnector displayConnector : view.getDisplayConnectors()) { - // final Object displayObject = viewMap.get(displayConnector.getName()); - // final Object pluginObject = this.pluginMap.get(displayConnector.getDisplay().getParent()); - // Update the display object - // try { - // this.methodMap.get(displayObject).invoke(pluginObject, displayObject); - // } catch (final IllegalAccessException ex) { - // Analysis.LOG.error("An error occured while updating the display.", ex); - // } catch (final IllegalArgumentException ex) { - // Analysis.LOG.error("An error occured while updating the display.", ex); - // } catch (final InvocationTargetException ex) { - // Analysis.LOG.error("An error occured while updating the display.", ex); - // } catch (final NullPointerException ex) { // NOPMD - // Analysis.LOG.error("An error occured while updating the display.", ex); - // } - // } - // } - // Wait a little bit. try { Thread.sleep(UpdateDisplaysThread.SLEEP_TIME_MS); diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/FSManager.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/FSManager.java index 9471f215..4c1d148a 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/FSManager.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/FSManager.java @@ -55,7 +55,6 @@ import org.primefaces.model.UploadedFile; * This class <b>does not</b> use any kind of synchronization to handle the access to the projects. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class FSManager { /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/PluginFinder.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/PluginFinder.java index 44f4d7e2..3f95ce29 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/PluginFinder.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/PluginFinder.java @@ -30,7 +30,6 @@ import kieker.webgui.common.ClassAndMethodContainer; * This tool class can be used to find all plugins and repositories within a given jar file - assuming that the given class loader knows these jars. * * @author Nils Christian Ehmke - * @version 1.0 */ public final class PluginFinder { diff --git a/Kieker.WebGUI/src/main/resources/lang/Common_en.properties b/Kieker.WebGUI/src/main/resources/lang/Common_en.properties index c6c2733f..5b4af740 100644 --- a/Kieker.WebGUI/src/main/resources/lang/Common_en.properties +++ b/Kieker.WebGUI/src/main/resources/lang/Common_en.properties @@ -63,4 +63,4 @@ msgProjectSavingException = An error occured while saving the project. msgProjectNotExistingException = The project does not exist. msgProjectModified = The project has been modified externally in the meanwhile. msgLibraryExistingException = A library with the same name exists already. -msgLibraryUploadingException = "An error occured while uploading the library. \ No newline at end of file +msgLibraryUploadingException = An error occured while uploading the library. \ No newline at end of file diff --git a/Kieker.WebGUI/src/main/webapp/CockpitEditorPage.xhtml b/Kieker.WebGUI/src/main/webapp/CockpitEditorPage.xhtml index b6e59eba..4d185292 100644 --- a/Kieker.WebGUI/src/main/webapp/CockpitEditorPage.xhtml +++ b/Kieker.WebGUI/src/main/webapp/CockpitEditorPage.xhtml @@ -4,8 +4,7 @@ xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" - xmlns:p="http://primefaces.org/ui" - xmlns:c="http://java.sun.com/jsp/jstl/core"> + xmlns:p="http://primefaces.org/ui"> <f:metadata> <f:viewParam name="projectName" value="#{currentCockpitEditorBean.projectName}"/> diff --git a/Kieker.WebGUI/src/main/webapp/CockpitPage.xhtml b/Kieker.WebGUI/src/main/webapp/CockpitPage.xhtml index 87be9c1a..23237ab0 100644 --- a/Kieker.WebGUI/src/main/webapp/CockpitPage.xhtml +++ b/Kieker.WebGUI/src/main/webapp/CockpitPage.xhtml @@ -4,8 +4,7 @@ xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" - xmlns:p="http://primefaces.org/ui" - xmlns:c="http://java.sun.com/jsp/jstl/core"> + xmlns:p="http://primefaces.org/ui"> <f:metadata> <f:viewParam name="projectName" value="#{currentCockpitBean.projectName}"/> diff --git a/Kieker.WebGUI/src/main/webapp/LoginPage.xhtml b/Kieker.WebGUI/src/main/webapp/LoginPage.xhtml index 654ffa44..2d773815 100644 --- a/Kieker.WebGUI/src/main/webapp/LoginPage.xhtml +++ b/Kieker.WebGUI/src/main/webapp/LoginPage.xhtml @@ -46,7 +46,7 @@ <div class="hint-panel"> <h:outputText value="#{localizedLoginMessages.hint}"/> </div> - + <p:growl sticky="true" autoUpdate="true" widgetVar="growlComp"/> </div> </h:form> diff --git a/Kieker.WebGUI/src/main/webapp/WEB-INF/faces-config.xml b/Kieker.WebGUI/src/main/webapp/WEB-INF/faces-config.xml index 47d8e1ab..3dbdab73 100644 --- a/Kieker.WebGUI/src/main/webapp/WEB-INF/faces-config.xml +++ b/Kieker.WebGUI/src/main/webapp/WEB-INF/faces-config.xml @@ -1,11 +1,9 @@ <?xml version='1.0' encoding='UTF-8'?> -<!-- =========== FULL CONFIGURATION FILE ================================== --> - <faces-config version="2.1" - xmlns="http://java.sun.com/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd"> + xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd"> <application> <locale-config> diff --git a/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml b/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml index 4555ca09..cec5a14c 100644 --- a/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml +++ b/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml @@ -1,8 +1,6 @@ - <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"> + 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/" /> diff --git a/Kieker.WebGUI/src/main/webapp/WEB-INF/web.xml b/Kieker.WebGUI/src/main/webapp/WEB-INF/web.xml index f296c05d..c58433e5 100644 --- a/Kieker.WebGUI/src/main/webapp/WEB-INF/web.xml +++ b/Kieker.WebGUI/src/main/webapp/WEB-INF/web.xml @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> +<web-app version="3.0" + xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <!-- This parameter determines that the state is saved on the server. --> <context-param> @@ -45,6 +48,7 @@ <url-pattern>/faces/*</url-pattern> </servlet-mapping> + <!-- Session timeout is 30 minutes. --> <session-config> <session-timeout> 30 @@ -92,6 +96,7 @@ <dispatcher>ERROR</dispatcher> </filter-mapping> + <!-- This listener will be used by the webgui itself to initialize the environment. --> <listener> <listener-class>kieker.webgui.common.EnvironmentLoaderListener</listener-class> </listener> diff --git a/Kieker.WebGUI/src/main/webapp/css/AnalysisEditorPage.css b/Kieker.WebGUI/src/main/webapp/css/AnalysisEditorPage.css index ad5c6237..1889c5a7 100644 --- a/Kieker.WebGUI/src/main/webapp/css/AnalysisEditorPage.css +++ b/Kieker.WebGUI/src/main/webapp/css/AnalysisEditorPage.css @@ -1,23 +1,13 @@ @charset "UTF-8"; -/* The following parts are necessary for the configuration of the graph. */ -.block { - position: absolute; -} -.connector { - background-color: #FF9900; -} - /* This is necessary to remove the border from the datalist */ .ui-datalist * { border : 0px !important; } +/* The following parts are necessary for the configuration of the graph. */ #center-container { height:100%; -} - -#center-container { width:100%; } diff --git a/Kieker.WebGUI/src/main/webapp/css/FlowEditor.css b/Kieker.WebGUI/src/main/webapp/css/FlowEditor.css index e442b7aa..eb0b8e77 100644 --- a/Kieker.WebGUI/src/main/webapp/css/FlowEditor.css +++ b/Kieker.WebGUI/src/main/webapp/css/FlowEditor.css @@ -1,3 +1,5 @@ +@charset "UTF-8"; + #inner-details { font-size:12px; } diff --git a/Kieker.WebGUI/src/main/webapp/css/Icons.css b/Kieker.WebGUI/src/main/webapp/css/Icons.css index 9e575ab1..5349a4a1 100644 --- a/Kieker.WebGUI/src/main/webapp/css/Icons.css +++ b/Kieker.WebGUI/src/main/webapp/css/Icons.css @@ -1,3 +1,5 @@ +@charset "UTF-8"; + .ui-icon-close { background: url('../img/icons/Close.png') no-repeat !important; height:16px; diff --git a/Kieker.WebGUI/src/main/webapp/dialogs/AnalysisEditorPageDialogs.xhtml b/Kieker.WebGUI/src/main/webapp/dialogs/AnalysisEditorPageDialogs.xhtml index 1e0a36fe..910b0873 100644 --- a/Kieker.WebGUI/src/main/webapp/dialogs/AnalysisEditorPageDialogs.xhtml +++ b/Kieker.WebGUI/src/main/webapp/dialogs/AnalysisEditorPageDialogs.xhtml @@ -2,12 +2,9 @@ xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" - xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"> - <p:dialog id="manageLibrariesDlg" header="#{localizedMessages.libraries}" resizable="false" - modal="true" widgetVar="manageLibrariesDialog"> - + <p:dialog id="manageLibrariesDlg" header="#{localizedMessages.libraries}" resizable="false" modal="true" widgetVar="manageLibrariesDialog"> <h:form id="dependenciesForm"> <p:dataTable id="currentDependencies" value="#{currentAnalysisEditorBean.libraries}" var="dependency" paginator="true" rows="10" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" > diff --git a/Kieker.WebGUI/src/main/webapp/dialogs/CockpitEditorPageDialogs.xhtml b/Kieker.WebGUI/src/main/webapp/dialogs/CockpitEditorPageDialogs.xhtml index 7cf24bef..7e8beecc 100644 --- a/Kieker.WebGUI/src/main/webapp/dialogs/CockpitEditorPageDialogs.xhtml +++ b/Kieker.WebGUI/src/main/webapp/dialogs/CockpitEditorPageDialogs.xhtml @@ -2,14 +2,12 @@ xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" - xmlns:f="http://java.sun.com/jsf/core" - xmlns:p="http://primefaces.org/ui" - xmlns:c="http://java.sun.com/jsp/jstl/core"> + xmlns:p="http://primefaces.org/ui"> <!-- ******************************************************************************** --> <!-- This is the dialog to create a new view. --> <p:dialog id="newViewDlg" header="New View" resizable="false" modal="true" widgetVar="newViewDialog"> - <!-- Make sure that closing of the dialog also clears the input field. --> + <!-- Make sure that closing the dialog also clears the input field. --> <p:ajax event="close" update="newViewDialogForm:newViewInputText" /> <h:form id="newViewDialogForm"> diff --git a/Kieker.WebGUI/src/main/webapp/dialogs/ProjectOverviewPageDialogs.xhtml b/Kieker.WebGUI/src/main/webapp/dialogs/ProjectOverviewPageDialogs.xhtml index 5325a06e..f9f0b4aa 100644 --- a/Kieker.WebGUI/src/main/webapp/dialogs/ProjectOverviewPageDialogs.xhtml +++ b/Kieker.WebGUI/src/main/webapp/dialogs/ProjectOverviewPageDialogs.xhtml @@ -2,9 +2,7 @@ xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" - xmlns:f="http://java.sun.com/jsf/core" - xmlns:p="http://primefaces.org/ui" - xmlns:c="http://java.sun.com/jsp/jstl/core"> + xmlns:p="http://primefaces.org/ui"> <!-- ******************************************************************************** --> <!-- This is the dialog to create a new project. --> diff --git a/Kieker.WebGUI/src/main/webapp/dialogs/settingsDialog.xhtml b/Kieker.WebGUI/src/main/webapp/dialogs/settingsDialog.xhtml index 6fd5eb51..f13fd987 100644 --- a/Kieker.WebGUI/src/main/webapp/dialogs/settingsDialog.xhtml +++ b/Kieker.WebGUI/src/main/webapp/dialogs/settingsDialog.xhtml @@ -5,8 +5,7 @@ xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"> - <p:dialog id="settingsDialog" header="#{localizedMessages.settings}" resizable="false" - modal="true" widgetVar="settingsDlg"> + <p:dialog id="settingsDialog" header="#{localizedMessages.settings}" resizable="false" modal="true" widgetVar="settingsDlg"> <h:form> <p:tabView> <p:tab title="#{localizedMessages.common}"> -- GitLab