diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/IUserDAO.java b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/IUserDAO.java index de790f129402c344081022565cf0b7870409f170..35fd8b1aaf2f4da8447b257316cdc56ff5e7aeb3 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/IUserDAO.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/IUserDAO.java @@ -25,7 +25,7 @@ import org.springframework.security.access.prepost.PreAuthorize; /** * This is the interface for the data access object(s) which will access for example a database to manage the available users. The methods within this interface are - * only accessible by administrators. Furthermore the methods should be transactional. + * only accessible by administrators. * * @author Nils Christian Ehmke */ diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/FSProjectDAOImpl.java b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/FSProjectDAOImpl.java index f93a98c97e6baba668d575031cd21924334aeac2..9e674b6151bc1b5669869cc8061f1a3d89032cbf 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/FSProjectDAOImpl.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/FSProjectDAOImpl.java @@ -882,7 +882,7 @@ public class FSProjectDAOImpl implements IProjectDAO, ReleaseListener { @Override public boolean apply(@Nullable final Class<? extends AbstractAnalysisComponent> elem) { - return !FSProjectDAOImpl.this.class2ModelInstanceConverter.isProgrammaticOnly(elem, this.classAndMethodContainer); + return (elem != null) && !FSProjectDAOImpl.this.class2ModelInstanceConverter.isProgrammaticOnly(elem, this.classAndMethodContainer); } } @@ -898,6 +898,9 @@ public class FSProjectDAOImpl implements IProjectDAO, ReleaseListener { @Override @Nullable public RepositoryDecorator apply(@Nullable final Class<AbstractRepository> repository) { + if (repository == null) { + return null; + } return FSProjectDAOImpl.this.class2ModelInstanceConverter.convertRepositoryClass2ModelInstance(repository, this.classAndMethodContainer); } @@ -913,8 +916,11 @@ public class FSProjectDAOImpl implements IProjectDAO, ReleaseListener { @Override @Nullable - public ReaderDecorator apply(@Nullable final Class<AbstractReaderPlugin> repository) { - return FSProjectDAOImpl.this.class2ModelInstanceConverter.convertReaderClass2ModelInstance(repository, this.classAndMethodContainer); + public ReaderDecorator apply(@Nullable final Class<AbstractReaderPlugin> reader) { + if (reader == null) { + return null; + } + return FSProjectDAOImpl.this.class2ModelInstanceConverter.convertReaderClass2ModelInstance(reader, this.classAndMethodContainer); } } @@ -929,8 +935,11 @@ public class FSProjectDAOImpl implements IProjectDAO, ReleaseListener { @Override @Nullable - public FilterDecorator apply(@Nullable final Class<AbstractFilterPlugin> repository) { - return FSProjectDAOImpl.this.class2ModelInstanceConverter.convertFilterClass2ModelInstance(repository, this.classAndMethodContainer); + public FilterDecorator apply(@Nullable final Class<AbstractFilterPlugin> filter) { + if (filter == null) { + return null; + } + return FSProjectDAOImpl.this.class2ModelInstanceConverter.convertFilterClass2ModelInstance(filter, this.classAndMethodContainer); } } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/util/PluginFinder.java b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/util/PluginFinder.java index 99e37ee60fc351246ad04f8ab7068e8cbe540aec..ad6db336daf100ad17940cddee231c3a2aea8371 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/util/PluginFinder.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/util/PluginFinder.java @@ -180,7 +180,7 @@ public class PluginFinder { @Override public boolean apply(@Nullable final Class<?> elem) { - return elem.isAnnotationPresent(this.classAndMethodContainer.getRepositoryAnnotationClass()) + return (elem != null) && elem.isAnnotationPresent(this.classAndMethodContainer.getRepositoryAnnotationClass()) && this.classAndMethodContainer.getAbstractRepositoryClass().isAssignableFrom(elem); } @@ -201,7 +201,7 @@ public class PluginFinder { @Override public boolean apply(@Nullable final Class<?> elem) { - return elem.isAnnotationPresent(this.classAndMethodContainer.getPluginAnnotationClass()) + return (elem != null) && elem.isAnnotationPresent(this.classAndMethodContainer.getPluginAnnotationClass()) && this.classAndMethodContainer.getAbstractReaderPluginClass().isAssignableFrom(elem); } @@ -222,7 +222,7 @@ public class PluginFinder { @Override public boolean apply(@Nullable final Class<?> elem) { - return elem.isAnnotationPresent(this.classAndMethodContainer.getPluginAnnotationClass()) + return (elem != null) && elem.isAnnotationPresent(this.classAndMethodContainer.getPluginAnnotationClass()) && this.classAndMethodContainer.getAbstractFilterPluginClass().isAssignableFrom(elem); } @@ -241,7 +241,7 @@ public class PluginFinder { @Override public boolean apply(@Nullable final Class<?> elem) { - return !Modifier.isAbstract(elem.getModifiers()); + return (elem != null) && !Modifier.isAbstract(elem.getModifiers()); } }