Skip to content
Snippets Groups Projects
Commit fccd268e authored by Nils Christian Ehmke's avatar Nils Christian Ehmke
Browse files

Modified some parts for the quality tools.

parent 7e3db7a9
No related branches found
No related tags found
No related merge requests found
......@@ -146,7 +146,7 @@ public final class FileManager {
// TODO Copy before saving as the controller destroys at least the dependencies.
final AnalysisController controller = new AnalysisController(project);
return controller.saveToFile(fileProject);
} catch (final Exception ex) {
} catch (final NullPointerException ex) {
FileManager.LOG.error("Could not save project '" + projectName + "'.", ex);
return false;
}
......@@ -202,7 +202,6 @@ public final class FileManager {
*/
final File projectFile = new File(directory, directory.getName() + FileManager.EXTENSION);
if (projectFile.exists()) {
try {
/*
* Try to load the project.
*/
......@@ -210,9 +209,6 @@ public final class FileManager {
if (project != null) {
resultList.add(project);
}
} catch (final Exception ex) {
FileManager.LOG.error("Could not load project '" + directory.getName() + "'.", ex);
}
}
}
}
......@@ -364,11 +360,7 @@ public final class FileManager {
final File projectFile = new File(FileManager.PROJECT_DIR + File.separator + projectName + File.separator + projectName + FileManager.EXTENSION);
if (projectFile.isFile()) {
try {
return AnalysisController.loadFromFile(projectFile);
} catch (final Exception ex) {
FileManager.LOG.warn("Error reloaded project '" + projectName + "'", ex);
}
}
return null;
......
......@@ -22,6 +22,8 @@ package kieker.webgui.common;
import java.net.URL;
import java.net.URLClassLoader;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
......@@ -46,7 +48,7 @@ public final class PluginClassLoader {
/**
* This list contains a class loader for each url added to this class loader.
*/
private final Map<URL, URLClassLoader> classLoaders = new HashMap<URL, URLClassLoader>();
private final Map<String, URLClassLoader> classLoaders = new HashMap<String, URLClassLoader>();
/**
* The default constructor of this class.
......@@ -62,10 +64,15 @@ public final class PluginClassLoader {
* The URL of the dependency to be added.
*/
public void addURL(final URL url) {
final URLClassLoader newClassLoader = new URLClassLoader(new URL[] { url }, AnalysisController.class.getClassLoader());
synchronized (this) {
this.classLoaders.put(url, newClassLoader);
/* Create the new class loader within a privileged block. */
final URLClassLoader newClassLoader = (URLClassLoader) AccessController.doPrivileged(new PrivilegedAction() {
@Override
public Object run() {
return new URLClassLoader(new URL[] { url }, AnalysisController.class.getClassLoader());
}
});
this.classLoaders.put(url.toString(), newClassLoader);
}
/**
......@@ -83,9 +90,11 @@ public final class PluginClassLoader {
*
* @return The singleton instance of this class.
*/
public static final synchronized PluginClassLoader getInstance() {
public static final PluginClassLoader getInstance() {
synchronized (PluginClassLoader.class) {
return PluginClassLoader.INSTANCE;
}
}
/**
* This method tries to load the class with the given name using the
......
......@@ -30,6 +30,7 @@ import javax.faces.convert.FacesConverter;
/**
*
* @author Nils Christian Ehmke
* @version 1.0
*/
@FacesConverter(value = ClassToStringConverter.NAME)
public class ClassToStringConverter implements Converter {
......@@ -39,6 +40,9 @@ public class ClassToStringConverter implements Converter {
*/
public static final String NAME = "kieker.webgui.converter.ClassToStringConverter";
/**
* This field stores the mapping between the classes as string and the actual classes.
*/
private final Map<String, Class<?>> mapping;
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment