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,16 +202,12 @@ public final class FileManager {
*/
final File projectFile = new File(directory, directory.getName() + FileManager.EXTENSION);
if (projectFile.exists()) {
try {
/*
* Try to load the project.
*/
final MIProject project = AnalysisController.loadFromFile(projectFile);
if (project != null) {
resultList.add(project);
}
} catch (final Exception ex) {
FileManager.LOG.error("Could not load project '" + directory.getName() + "'.", ex);
/*
* Try to load the project.
*/
final MIProject project = AnalysisController.loadFromFile(projectFile);
if (project != null) {
resultList.add(project);
}
}
}
......@@ -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 AnalysisController.loadFromFile(projectFile);
}
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,8 +90,10 @@ public final class PluginClassLoader {
*
* @return The singleton instance of this class.
*/
public static final synchronized PluginClassLoader getInstance() {
return PluginClassLoader.INSTANCE;
public static final PluginClassLoader getInstance() {
synchronized (PluginClassLoader.class) {
return PluginClassLoader.INSTANCE;
}
}
/**
......
......@@ -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.
Finish editing this message first!
Please register or to comment