diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/AvailableProjectsBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/AvailableProjectsBean.java index a3da612a20875bf2b1661a6bd3f81c309cb2f9b3..435f60632ba1305ff3629351d7298cd2fd5e0369 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/AvailableProjectsBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/AvailableProjectsBean.java @@ -96,7 +96,7 @@ public class AvailableProjectsBean { /** * Delivers the currently available projects as a tree root. * - * @returns The root of the currently available projects. + * @return The root of the currently available projects. */ public final synchronized TreeNode getProjectsRoot() { final TreeNode root = new DefaultTreeNode("Root", null); @@ -121,7 +121,7 @@ public class AvailableProjectsBean { * The project to be saved. */ public synchronized void saveProject(final MIProject project) { - + // TODO Fill method } /** @@ -131,7 +131,7 @@ public class AvailableProjectsBean { * The project to be removed. */ public synchronized void deleteProject(final MIProject project) { - + // TODO Fill method } /** @@ -142,6 +142,6 @@ public class AvailableProjectsBean { * The project to be reloaded. */ public synchronized void resetProject(final MIProject project) { - + // TODO Fill method } } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/SelectedDependenciesBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/SelectedDependenciesBean.java index 4b50c1223c61676ab70f75a6d6063e3d2a3378a4..e248b5dabc2c154fcc396c09d019070ede1219ce 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/SelectedDependenciesBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/SelectedDependenciesBean.java @@ -34,12 +34,26 @@ import kieker.webgui.beans.session.SelectedProjectBean; import org.primefaces.model.DualListModel; +/** + * This bean contains the currently choosen dependencies. + * + * @author Nils Christian Ehmke + */ @ManagedBean @RequestScoped public class SelectedDependenciesBean { + /** + * A dual model containing all available dependencies and the currently choosen one. + */ private DualListModel<MIDependency> dependencies; + /** + * The currently selected project. + */ private final MIProject project; + /** + * The faces context of this bean. + */ private final FacesContext context; /** 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 ad8d394bc136f881d9668fc6e897057bca1a4700..1f9cf3f2ab55692e5d8d7ddb63226566d2fd402c 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 @@ -32,6 +32,9 @@ import javax.faces.bean.RequestScoped; @RequestScoped public class StringBean { + /** + * The string instance stored within this bean. + */ private String string; /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentThemeBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentThemeBean.java index 851a03aea1778dfb0f54d9ccdb7d15acbb5fd054..fd015ad48aa8d06b0cec565118cb2136d83d8ad5 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentThemeBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentThemeBean.java @@ -42,7 +42,13 @@ import kieker.webgui.beans.application.ThemeSwitcherBean; @SessionScoped public class CurrentThemeBean { + /** + * The default theme used for all users. + */ private static final String DEFAULT_THEME = "glass-x"; + /** + * The current theme. + */ private String theme; /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DependencyUploadController.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DependencyUploadController.java index 68430d2933e52930ba5a6cc4de1c834f21991b3c..f88d4c87897efc14d2c60ee6de3cf4948c2ed16e 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DependencyUploadController.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DependencyUploadController.java @@ -36,12 +36,17 @@ import org.primefaces.model.UploadedFile; @SessionScoped public class DependencyUploadController { + /** + * The file stored within this bean. + */ private UploadedFile file; /** * Creates a new instance of this class. */ - public DependencyUploadController() {} + public DependencyUploadController() { + /* No code necessary. */ + } /** * Delivers the instance stored within this bean. diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/SelectedProjectBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/SelectedProjectBean.java index df3cb9841145781f71f7452b1400bf648173b92b..5e2eb636e76143d6c4db2ef89eadabd9d26747ca 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/SelectedProjectBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/SelectedProjectBean.java @@ -38,14 +38,25 @@ import org.primefaces.model.TreeNode; @SessionScoped public class SelectedProjectBean { + /** + * The currently selected node of the current user. + */ private TreeNode selectedNode; + /** + * The selected project of the current user. + */ private MIProject selectedProject; + /** + * The main project of the current user. + */ private MIProject mainProject; /** * Creates a new instance of this class. */ - public SelectedProjectBean() {} + public SelectedProjectBean() { + /* No code necessary. */ + } /** * Delivers the main project of the current user. It can be null. @@ -75,18 +86,44 @@ public class SelectedProjectBean { return this.selectedProject; } + /** + * Sets the currently selected project within the bean. + * + * @param selectedProject + * The selected project. + */ public final void setSelectedProject(final MIProject selectedProject) { this.selectedProject = selectedProject; } + /** + * Delivers the currently selected node. + * + * @return The selected node. + */ public final TreeNode getSelectedNode() { return this.selectedNode; } + /** + * This event should be triggered once a new node is selected + * to make sure that the newly selected node is stored within + * this bean. + * + * @param event + * The event that a node has been selected by the + * user. + */ public final void onNodeSelect(final NodeSelectEvent event) { this.setSelectedNode(event.getTreeNode()); } + /** + * Sets the currently selected node to a new value. + * + * @param selectedNode + * The selected node. + */ public final void setSelectedNode(final TreeNode selectedNode) { this.selectedNode = selectedNode; if (selectedNode != null && selectedNode.getData() instanceof MIProject) { diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java index 268defce4455bbce4a3161ca6c3dafe9309ae265..b611ea37f96495043054b40702b98decd3efefa2 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java @@ -49,14 +49,41 @@ import org.primefaces.model.UploadedFile; */ public final class FileManager { + /** + * The logger within this class. + */ private static final Log LOG = LogFactory.getLog(FileManager.class); + /** + * The root dir which contains all other directories. + */ private static final String ROOT_DIR = "data"; + /** + * The directory which contains the projects. + */ private static final String PROJECT_DIR = FileManager.ROOT_DIR + File.separator + "projects"; + /** + * The directory which contains the libraries. + */ private static final String LIB_DIR = FileManager.ROOT_DIR + File.separator + "libraries"; + /** + * The extension of the kieker analysis files. + */ private static final String EXTENSION = ".kax"; + /** + * The extension of jar-files. + */ private static final String JAR_EXTENSION = ".jar"; + /** + * The buffer size in bytes uses to upload dependencies. + */ private static final int BUF_SIZE = 1024; + /** + * The singleton instance of this class. + */ private static final FileManager INSTANCE = new FileManager(); + /** + * The factory used to create new objects of the meta model. + */ private final MAnalysisMetaModelFactory factory; /** @@ -238,7 +265,7 @@ public final class FileManager { out.close(); } } catch (final IOException ex) { - // Ignore + FileManager.LOG.warn("Error while uploading dependency '" + file.getFileName() + "'."); } } final MIDependency dependency = this.factory.createDependency(); @@ -251,7 +278,7 @@ public final class FileManager { * * @return The singleton instance of this class. */ - public final synchronized static FileManager getInstance() { + public static final synchronized FileManager getInstance() { return FileManager.INSTANCE; } @@ -268,12 +295,10 @@ public final class FileManager { final File[] files = new File(FileManager.LIB_DIR).listFiles(); if (files != null) { for (final File file : files) { - if (file.isFile()) { - if (file.getName().endsWith(FileManager.JAR_EXTENSION)) { - final MIDependency dependency = this.factory.createDependency(); - dependency.setFilePath(file.getAbsolutePath()); - resultList.add(dependency); - } + if (file.isFile() && file.getName().endsWith(FileManager.JAR_EXTENSION)) { + final MIDependency dependency = this.factory.createDependency(); + dependency.setFilePath(file.getAbsolutePath()); + resultList.add(dependency); } } } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginFinder.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginFinder.java index 40774f64ded60e27420bbed6f0e52aa017e7742c..3b1be94fe245e7a0211a182e68a5c3b91c04dbae 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginFinder.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginFinder.java @@ -30,12 +30,19 @@ import java.util.jar.JarEntry; import java.util.jar.JarFile; import kieker.analysis.plugin.port.Plugin; +import kieker.common.logging.Log; +import kieker.common.logging.LogFactory; /** * @author Nils Christian Ehmke */ public final class PluginFinder { + /** + * The logger of this class. + */ + private static final Log LOG = LogFactory.getLog(PluginFinder.class); + /** * Creates a new instance of this class. */ @@ -82,6 +89,7 @@ public final class PluginFinder { result.add(c); } } catch (final Throwable ex) { + PluginFinder.LOG.error("Error while scanning jar-file '" + url.getFile() + "'."); } } return result; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToCountPluginsConverter.java b/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToCountPluginsConverter.java index 0a6d726db42ddd8918c44e0e915b37f63eeb01f8..c16d8981d779bd03703dbad9829202c137d045c4 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToCountPluginsConverter.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToCountPluginsConverter.java @@ -39,24 +39,52 @@ import kieker.webgui.common.PluginFinder; @FacesConverter(value = MIDependencyToCountPluginsConverter.NAME) public class MIDependencyToCountPluginsConverter implements Converter { + /** + * The name of this class used by the xhtml-files. + */ public static final String NAME = "kieker.webgui.converter.MIDependencyToCountPluginsConverter"; /** * Creates a new instance of this class. */ - public MIDependencyToCountPluginsConverter() {} + public MIDependencyToCountPluginsConverter() { + /* No code necessary. */ + } /** - * Delivers always null + * Delivers always null. + * + * @param fc + * The FacesContext for the request being processed. + * @param uic + * The component with which this model object value is + * associated. + * @param string + * The string to be converted. + * @return Always null. */ @Override public Object getAsObject(final FacesContext fc, final UIComponent uic, final String string) { return null; } + /** + * Converts the given dependency to a human readable string + * containing the number of plugins within the jar. + * + * @param fc + * The FacesContext for the request being processed. + * @param uic + * The component with which this model object value is + * associated. + * @param o + * The object to be converted. + * @return The number of plugins within the jar. If this is + * not possible, an empty string will be returned. + */ @Override public String getAsString(final FacesContext fc, final UIComponent uic, final Object o) { - if (o == null || !(o instanceof MIDependency)) { + if (!(o instanceof MIDependency)) { return ""; } else { try { diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToSizeConverter.java b/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToSizeConverter.java index 107eeaef69ab32137e96a8a5ed261794d6e4d488..e811ce980a563b24cc46788c9e615f0c7a9d1f58 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToSizeConverter.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToSizeConverter.java @@ -37,26 +37,54 @@ import kieker.analysis.model.analysisMetaModel.MIDependency; */ @FacesConverter(value = MIDependencyToSizeConverter.NAME) public class MIDependencyToSizeConverter implements Converter { - + /** + * The name of this class used by the xhtml-files. + */ public static final String NAME = "kieker.webgui.converter.MIDependencyToSizeConverter"; + /** + * The factor used to convert the size into MiBytes. + */ private static final double FACTOR = 1.0 / 1024 / 1024; /** * Creates a new instance of this class. */ - public MIDependencyToSizeConverter() {} + public MIDependencyToSizeConverter() { + /* No code necessary. */ + } /** - * Delivers always null + * Delivers always null. + * + * @param fc + * The FacesContext for the request being processed. + * @param uic + * The component with which this model object value is + * associated. + * @param string + * The string to be converted. + * @return Always null. */ @Override public Object getAsObject(final FacesContext fc, final UIComponent uic, final String string) { return null; } + /** + * Delivers a string-representation of the size of the given dependency. + * + * @param fc + * The FacesContext for the request being processed. + * @param uic + * The component with which this model object value is + * associated. + * @param o + * The object to be converted. + * @return The size of the given object if it is a dependency and not null, an empty string otherwise. + */ @Override public String getAsString(final FacesContext fc, final UIComponent uic, final Object o) { - if (o == null || !(o instanceof MIDependency)) { + if (!(o instanceof MIDependency)) { return ""; } else { final long size = new File(((MIDependency) o).getFilePath()).length(); diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToStringConverter.java b/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToStringConverter.java index 6b210c3e7c7429d51fee3c281e6caab3dec14c95..240a44a28ed1718719d1fb980c823711d0a015be 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToStringConverter.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIDependencyToStringConverter.java @@ -45,7 +45,9 @@ public class MIDependencyToStringConverter implements Converter { /** * Creates a new instance of this class. */ - public MIDependencyToStringConverter() {} + public MIDependencyToStringConverter() { + /* No code necessary. */ + } /** * This method delivers always null and should not be used. @@ -83,7 +85,7 @@ public class MIDependencyToStringConverter implements Converter { /* * Make sure that the given object is well-defined. */ - if (o == null || !(o instanceof MIDependency)) { + if (!(o instanceof MIDependency)) { return ""; } else { return new File(((MIDependency) o).getFilePath()).getName(); diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIProjectToStringConverter.java b/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIProjectToStringConverter.java index 6f62b36333b42d33d184c9f0fcff97d825cf91c9..e0b6a480f6a2ee314dcf7b6d8e693df5388a4302 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIProjectToStringConverter.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/converter/MIProjectToStringConverter.java @@ -43,7 +43,9 @@ public class MIProjectToStringConverter implements Converter { /** * Creates a new instance of this class. */ - public MIProjectToStringConverter() {} + public MIProjectToStringConverter() { + /* No code necessary. */ + } /** * This method delivers always null and should not be used. @@ -81,7 +83,7 @@ public class MIProjectToStringConverter implements Converter { /* * Make sure that the given object is well-defined. */ - if (o == null || !(o instanceof MIProject)) { + if (!(o instanceof MIProject)) { return ""; } else { return ((MIProject) o).getName();