Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/FCKeditor.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/FCKeditor.java	(revision 1584)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/FCKeditor.java	(revision 1585)
@@ -24,5 +24,6 @@
 import javax.servlet.http.HttpServletRequest;
 
-import net.fckeditor.handlers.ConfigurationHandler;
+import net.fckeditor.handlers.FCKEditorHandler;
+import net.fckeditor.handlers.PropertiesLoader;
 import net.fckeditor.tool.Compatibility;
 import net.fckeditor.tool.Utils;
@@ -42,14 +43,16 @@
 	private String value;
 	private String basePath;
-	private String toolbarSet = ConfigurationHandler.getFckEditorToolbarSet();
-	private String width = ConfigurationHandler.getFckEditorWidth();
-	private String height = ConfigurationHandler.getFckEditorHeight();
-
 	private HttpServletRequest request;
+	
+	//defaults
+	private String toolbarSet = PropertiesLoader.getProperty("fckeditor.toolbarSet");
+	private String width = PropertiesLoader.getProperty("fckeditor.width");
+	private String height = PropertiesLoader.getProperty("fckeditor.height");
+	private String defaultBasePath = PropertiesLoader.getProperty("fckeditor.basePath");
 
 	/**
 	 * Initialize the object setting all basic configurations.<br>
 	 * 
-	 * The basePath is context root + {@link ConfigurationHandler#getFckEditorBasePath()}.
+	 * The basePath is context root + {@link FCKEditorHandler#getFckEditorBasePath()}.
 	 * 
 	 * @param request
@@ -78,8 +81,7 @@
 			this.value = value;
 		if (Utils.isNotEmpty(basePath))
-			this.basePath = request.getContextPath() + basePath;
+			this.basePath = request.getContextPath().concat(basePath);
 		else
-			this.basePath = request.getContextPath()
-					+ ConfigurationHandler.getFckEditorBasePath();
+			this.basePath = request.getContextPath().concat(defaultBasePath);
 
 		config = new FCKeditorConfig();
Index: Keditor.Java/branches/2.4/src/main/java/net/fckeditor/ResourceType.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/ResourceType.java	(revision 1584)
+++ 	(revision )
@@ -1,109 +1,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2008 Frederico Caldeira Knabben
- * 
- * == BEGIN LICENSE ==
- * 
- * Licensed under the terms of any of the following licenses at your
- * choice:
- * 
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- * 
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- * 
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- * 
- * == END LICENSE ==
- */
-package net.fckeditor;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class ResourceType {
-
-	private String name;
-	private static Map<String, ResourceType> types = new HashMap<String, ResourceType>(
-			4);
-	public static final ResourceType FILE = new ResourceType("File");
-	public static final ResourceType IMAGE = new ResourceType("Image");
-	public static final ResourceType FLASH = new ResourceType("Flash");
-	public static final ResourceType MEDIA = new ResourceType("Media");
-
-	static {
-		types.put(FILE.getName(), FILE);
-		types.put(IMAGE.getName(), IMAGE);
-		types.put(FLASH.getName(), FLASH);
-		types.put(MEDIA.getName(), MEDIA);
-	}
-
-	public ResourceType(final String name) {
-		this.name = name;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	@Override
-	public String toString() {
-
-		return name;
-	}
-
-	public String getPath() {
-		return "/" + name.toLowerCase();
-	}
-
-	public static ResourceType valueOf(final String name)
-			throws NullPointerException, IllegalArgumentException {
-
-		if (name == null)
-			throw new NullPointerException();
-
-		ResourceType rt = types.get(name);
-
-		if (rt == null)
-			throw new IllegalArgumentException();
-
-		return rt;
-	}
-
-	public static boolean isValid(final String name) {
-		return types.containsKey(name);
-	}
-	
-	public static ResourceType getDefaultResourceType(final String name) {
-
-		ResourceType rt = getResourceType(name);
-
-		return rt == null ? FILE : rt;
-
-	}
-
-	public static ResourceType getResourceType(final String name) {
-
-		try {
-			return ResourceType.valueOf(name);
-		} catch (IllegalArgumentException e) {
-			return null;
-		} catch (NullPointerException e) {
-			return null;
-		}
-	}
-	
-	@Override
-	public boolean equals(Object obj) {
-		
-		try {
-			ResourceType rt = (ResourceType) obj;
-			return name.equals(rt.getName());
-		} catch (ClassCastException e) {
-			return false;
-		}
-	}
-
-}
Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/SessionData.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/SessionData.java	(revision 1584)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/SessionData.java	(revision 1585)
@@ -23,6 +23,4 @@
 import javax.servlet.http.HttpServletRequest;
 
-import net.fckeditor.handlers.ConfigurationHandler;
-
 /**
  * Interface to provide session or request based functionality to
@@ -44,5 +42,5 @@
  * <br />
  * <b>Warning for commiters: </b>You have to awake that every change of this
- * interface could break all classes which implemented this interface. Therfore
+ * interface could break all classes which implemented this interface. Therefore
  * you should change this interface for milestone releases only!
  * 
Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/connector/ConnectorServlet.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/connector/ConnectorServlet.java	(revision 1584)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/connector/ConnectorServlet.java	(revision 1585)
@@ -37,7 +37,8 @@
 import javax.servlet.http.HttpServletResponse;
 
-import net.fckeditor.ResourceType;
-import net.fckeditor.handlers.ConfigurationHandler;
 import net.fckeditor.handlers.ExtensionsHandler;
+import net.fckeditor.handlers.FCKEditorHandler;
+import net.fckeditor.handlers.ResourceTypeHandler;
+import net.fckeditor.handlers.SessionDataHandler;
 import net.fckeditor.response.UploadResponse;
 import net.fckeditor.response.XmlResponse;
@@ -80,32 +81,7 @@
 	 */
 	public void init() throws ServletException, IllegalArgumentException {
-		// read the required parameters
-		ConfigurationHandler.constructSessionDataObject(getInitParameter("SessionDataImpl"));
-
-		// read the optional parameters
-		ConfigurationHandler.setForceSingleExtension(getInitParameter("ForceSingleExtension"));
-		if (getInitParameter("UserFilesPath") != null) {
-			if (!Utils.isValidPath(getInitParameter("UserFilesPath"))) {
-				logger
-						.warn("UserFilesPath is an illegal reference, using default path");
-				ConfigurationHandler.setUserFilesPath(ConfigurationHandler
-						.getDefaultUserFilesPath());
-			}
-		} else
-			ConfigurationHandler
-					.setUserFilesPath(getInitParameter("UserFilesPath"));
-
-		setExtension(ResourceType.FILE, getInitParameter("AllowedExtensionsFile"),
-		        getInitParameter("DeniedExtensionsFile"));
-		setExtension(ResourceType.IMAGE, getInitParameter("AllowedExtensionsImage"),
-		        getInitParameter("DeniedExtensionsImage"));
-		setExtension(ResourceType.FLASH, getInitParameter("AllowedExtensionsFlash"),
-		        getInitParameter("DeniedExtensionsFlash"));
-		setExtension(ResourceType.MEDIA, getInitParameter("AllowedExtensionsMedia"),
-		        getInitParameter("DeniedExtensionsMedia"));
-
 		// check, if 'baseDir' exists
 		String realBaseDir = getServletContext().getRealPath(
-		        ConfigurationHandler.getDefaultUserFilesPath());
+		        FCKEditorHandler.getDefaultUserFilesPath());
 		File baseFile = new File(realBaseDir);
 		if (!baseFile.exists()) {
@@ -113,5 +89,5 @@
 		}
 
-		logger.info("Init parameters successfully set!");
+		logger.info("ConnectorServlet successfull initialized!");
 	}
 
@@ -138,5 +114,5 @@
 		String typeStr = request.getParameter("Type");
 		String currentFolderStr = request.getParameter("CurrentFolder");
-		ResourceType fileType = ResourceType.getDefaultResourceType(typeStr);
+		ResourceTypeHandler fileType = ResourceTypeHandler.getDefaultResourceType(typeStr);
 
 		logger.debug("Parameter Command: {}", commandStr);
@@ -150,5 +126,5 @@
 		File currentDir = new File(currentDirPath);
 		if (!currentDir.exists()
-				&& ConfigurationHandler.isEnabledForFileBrowsing(request)) {
+				&& SessionDataHandler.isEnabledForFileBrowsing(request)) {
 			currentDir.mkdirs();
 			logger.debug("Dir successfully created: {}", currentDirPath);
@@ -157,5 +133,5 @@
 		XmlResponse xr = new XmlResponse(commandStr, fileType, currentFolderStr, currentPath, request);
 		
-		if (!ConfigurationHandler.isEnabledForFileBrowsing(request)) {
+		if (!SessionDataHandler.isEnabledForFileBrowsing(request)) {
 			xr.setError(1, "The current user isn't authorized for file browsing!");
 		} else if (commandStr.equals("GetFolders")) {
@@ -219,5 +195,5 @@
 		logger.debug("Parameter Type: {}", typeStr);
 
-		if (!ResourceType.isValid(typeStr))
+		if (!ResourceTypeHandler.isValid(typeStr))
 			logger.warn("Unknown Type requested: {}", typeStr);
 
@@ -227,9 +203,9 @@
 		}
 
-		ResourceType fileType = ResourceType.getDefaultResourceType(typeStr);
+		ResourceTypeHandler fileType = ResourceTypeHandler.getDefaultResourceType(typeStr);
 
 		UploadResponse ur = null;
 
-		if (!ConfigurationHandler.isEnabledForFileUpload(request)) {
+		if (!SessionDataHandler.isEnabledForFileUpload(request)) {
 			ur = new UploadResponse(UploadResponse.EN_SECURITY_ERROR, null,
 					null,
@@ -271,5 +247,5 @@
 					else {
 
-						if (ConfigurationHandler.isForceSingleExtension()) {
+						if (FCKEditorHandler.isForceSingleExtension()) {
 							filename = forceSingleExtension(filename);
 							baseName = FilenameUtils.removeExtension(filename);
@@ -310,8 +286,8 @@
 	}
 
-	private String constructTypeBasedFolderString(final ResourceType fileType,
+	private String constructTypeBasedFolderString(final ResourceTypeHandler fileType,
 			final String currentFolderString, final HttpServletRequest request) {
 		StringWriter sw = new StringWriter();
-		sw.write(ConfigurationHandler.getUserFilesPath(request));
+		sw.write(FCKEditorHandler.getUserFilesPath(request));
 		sw.write(fileType.getPath());
 		sw.write(currentFolderString);
@@ -329,5 +305,5 @@
 	 *             if allowed and denied extensions are set.
 	 */
-	private void setExtension(final ResourceType type,
+	private void setExtension(final ResourceTypeHandler type,
 			final String allowedList, final String deniedList) {
 		// if both lists are set, we have to throw an error, because only one
Index: Keditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/ConfigurationHandler.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/ConfigurationHandler.java	(revision 1584)
+++ 	(revision )
@@ -1,304 +1,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2008 Frederico Caldeira Knabben
- * 
- * == BEGIN LICENSE ==
- * 
- * Licensed under the terms of any of the following licenses at your
- * choice:
- * 
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- * 
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- * 
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- * 
- * == END LICENSE ==
- */
-package net.fckeditor.handlers;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.util.Properties;
-
-import javax.servlet.http.HttpServletRequest;
-
-import net.fckeditor.SessionData;
-import net.fckeditor.tool.Utils;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * This is a static configuration object, which provides access to the following default values:
- * <ul>
- * <li>The directory of the fckeditor.</li>
- * <li>The width and height of the fckeditor.</li>
- * <li>The toolbar of the fckeditor.</li>
- * <li>The base dir (user dir).</li>
- * <li>Some session based method calls. See comment above!</li>
- * </ul>
- * These values are preset by the defaults defined in default.properties and can be changed by
- * calling its corresponding setters. Keep in mind, that these values are applied to ALL instances
- * of the editor, except they are overwritten by the editor's tags of course. <br />
- * <br />
- * Something special is {@link SessionData}. The implemented class provides some session based data.
- * See {@link SessionData} for additional informations. For example, to get a user based base dir,
- * for each request {@link #getUserFilesPath(HttpServletRequest)} is calling. If 'sessionData' is set,
- * {@link SessionData#getUserFilesPath(HttpServletRequest)} will be returned, otherwise the default base
- * dir.
- * 
- * @version $Id:ConfigurationHandler.java 1099 2008-11-06 15:01:50Z th-schwarz $
- */
-public class ConfigurationHandler {
-	private static final Logger logger = LoggerFactory.getLogger(ConfigurationHandler.class);
-
-	private static Properties defaultProperties = new Properties();
-	private static String userFilesPath;
-	private static SessionData sessionData = null;
-	private static String basePath;
-	private static String fckEditorHeight;
-	private static String fckEditorWidth;
-	private static String fckEditorToolbarSet;
-	private static boolean forceSingleExtension;
-	private static boolean fullUrl;
-	
-	public static final String PROPERTY_MESSAGE_COMPATIBLE_BROWSER = "message.enabled_tag.compatible_browser.yes";
-	public static final String PROPERTY_MESSAGE_NOT_COMPATIBLE_BROWSER = "message.enabled_tag.compatible_browser.no";
-	public static final String PROPERTY_MESSAGE_FILE_UPLOAD_ENABLED = "message.enabled_tag.connector.file_upload.enabled";
-	public static final String PROPERTY_MESSAGE_FILE_UPLOAD_DISABLED = "message.enabled_tag.connector.file_upload.disalbed";
-	public static final String PROPERTY_MESSAGE_FILE_BROWSING_ENABLED = "message.enabled_tag.connector.file_browsing.enabled";
-	public static final String PROPERTY_MESSAGE_FILE_BROWSING_DISABLED = "message.enabled_tag.connector.file_browsing.disabled";
-
-	static {
-		// load defaults
-		try {
-			defaultProperties.load(new BufferedInputStream(ConfigurationHandler.class
-			        .getResourceAsStream("default.properties")));
-		} catch (IOException e) {
-			logger.error("Error while loading default properties!", e);
-			throw new RuntimeException("Can't load default properties!", e);
-		}
-		userFilesPath = defaultProperties.getProperty("connector.userFilesPath");
-		basePath = defaultProperties.getProperty("fckeditor.basePath");
-		fckEditorWidth = defaultProperties.getProperty("fckeditor.width");
-		fckEditorHeight = defaultProperties.getProperty("fckeditor.height");
-		fckEditorToolbarSet = defaultProperties.getProperty("fckeditor.toolbarSet");
-		forceSingleExtension = Boolean.valueOf(defaultProperties
-		        .getProperty("connector.forceSingleExtension"));
-		fullUrl = Boolean.valueOf(defaultProperties
-		        .getProperty("connector.fullUrl"));
-
-		logger.info("Default properties loaded and initialized successfully.");
-	}
-
-	/**
-	 * Getter for the base dir (using for user files).
-	 * 
-	 * @return {@link SessionData#getUserFilesPath(HttpServletRequest)} or the default base dir, if
-	 *         {@link SessionData}} isn't set.
-	 */
-	public static String getUserFilesPath(final HttpServletRequest servletRequest) {
-		if (sessionData == null || sessionData.getUserFilesPath(servletRequest) == null)
-			return getDefaultUserFilesPath();
-		return sessionData.getUserFilesPath(servletRequest);
-	}
-
-	/**
-	 * Getter for the default userFilesPath.
-	 * 
-	 * @return Default userfiles path (/userfiles)
-	 */
-	public static String getDefaultUserFilesPath() {
-		return userFilesPath;
-	}
-
-	/**
-	 * Setter for the base dir (using for user files). If param 'userFilesPath' is empty, the property
-	 * leaves untouched.
-	 * 
-	 * @param userFilesPath
-	 *            absolute to the context root (e.g. /userfiles)
-	 */
-	public static void setUserFilesPath(final String userFilesPath) {
-		if (Utils.isNotEmpty(userFilesPath))
-			ConfigurationHandler.userFilesPath = userFilesPath;
-	}
-
-	/**
-	 * Constructs an object which implemented the interface {@link SessionData}. If the
-	 * constuction fails, any user action of the connector is disabled.
-	 * 
-	 * @param fqcn
-	 *            The fully-qualified class name.
-	 */
-	public static void constructSessionDataObject(final String fqcn) {
-		if (Utils.isEmpty(fqcn)) {
-			logger
-			        .warn("Class name is empty, any user action of the ConnectorServlet is disabled!");
-			return;
-		}
-		try {
-			@SuppressWarnings("unchecked")
-			Class clazz = Class.forName(fqcn);
-			sessionData = (SessionData) clazz.newInstance();
-		} catch (Exception e) {
-			logger.error("Couldn't instanciate the class [".concat(fqcn).concat(
-			        "], any user action of the ConnectorServlet is disabled!"), e);
-		}
-	}
-
-	/**
-	 * Getter for the dir of the fckeditor.
-	 * 
-	 * @return Dir of the fckeditor relative to the context root.
-	 */
-	public static String getFckEditorBasePath() {
-		return basePath;
-	}
-
-	/**
-	 * Setter for the dir of the fckeditor.
-	 * 
-	 * @param basePath
-	 *            relative to the context root (no leading or ending /).
-	 */
-	public static void setFckEditorBasePath(final String basePath) {
-		ConfigurationHandler.basePath = basePath;
-	}
-
-	/**
-	 * Getter for the default height of the fckeditor.
-	 * 
-	 * @return Default height of the fckeditor.
-	 */
-	public static String getFckEditorHeight() {
-		return fckEditorHeight;
-	}
-
-	/**
-	 * Setter for the default height of the fckeditor.
-	 * 
-	 * @param fckEditorHeight
-	 *            the default height of the fckeditor.
-	 */
-	public static void setFckEditorHeight(final String fckEditorHeight) {
-		ConfigurationHandler.fckEditorHeight = fckEditorHeight;
-	}
-
-	/**
-	 * Getter for the default width of the fckeditor.
-	 * 
-	 * @return Default width of the fckeditor.
-	 */
-	public static String getFckEditorWidth() {
-		return fckEditorWidth;
-	}
-
-	/**
-	 * Setter for the default width of the fckeditor.
-	 * 
-	 * @param fckEditorWidth
-	 *            the default width of the fckeditor.
-	 */
-	public static void setFckEditorWidth(final String fckEditorWidth) {
-		ConfigurationHandler.fckEditorWidth = fckEditorWidth;
-	}
-
-	/**
-	 * Getter of the name of the default toolbarset of the fckeditor.
-	 * 
-	 * @return Name of the default toolbar set.
-	 */
-	public static String getFckEditorToolbarSet() {
-		return fckEditorToolbarSet;
-	}
-
-	/**
-	 * Getter of the name of the default toolbarset of the fckeditor.
-	 * 
-	 * @param fckEditorToolbarSet
-	 *            the name of the toolbarset.
-	 */
-	public static void setFckEditorToolbarSet(final String fckEditorToolbarSet) {
-		ConfigurationHandler.fckEditorToolbarSet = fckEditorToolbarSet;
-	}
-
-	/**
-	 * Getter for the default handling of single extensions.
-	 * 
-	 * @return the forceSingleExtension
-	 */
-	public static boolean isForceSingleExtension() {
-		return forceSingleExtension;
-	}
-	
-	public static boolean isFullUrl() {
-		return fullUrl;
-	}
-
-	/**
-	 * Setter for the default handling of single extensions.
-	 * 
-	 * @param forceSingleExtension
-	 *            the forceSingleExtension to set
-	 */
-	public static void setForceSingleExtension(boolean forceSingleExtension) {
-		ConfigurationHandler.forceSingleExtension = forceSingleExtension;
-	}
-
-	/**
-	 * Just a wrapper to {@link #setForceSingleExtension(boolean)}. If argument
-	 * 'forceSingleExtension' is empty, the property leaves untouched.
-	 * 
-	 * @param forceSingleExtension
-	 */
-	public static void setForceSingleExtension(final String forceSingleExtension) {
-		if (Utils.isNotEmpty(forceSingleExtension))
-			setForceSingleExtension(Boolean.parseBoolean(forceSingleExtension));
-	}
-
-	/**
-	 * Getter for a default property with the name 'key'.
-	 * 
-	 * @param key
-	 * @return The required property or null, if doesn't exists.
-	 */
-	public static String getDefaultProperty(final String key) {
-		return defaultProperties.getProperty(key);
-	}
-
-	/**
-	 * Getter for the dafault properties.
-	 * 
-	 * @return Default properties.
-	 */
-	public static Properties getDefaultProperties() {
-		return defaultProperties;
-	}
-
-	/**
-	 * Just a wrapper to {@link SessionData#isEnabledForFileUpload(HttpServletRequest)}.
-	 * 
-	 * @param request
-	 * @return {@link SessionData#isEnabledForFileUpload(HttpServletRequest)} or false, if
-	 *         sessionData isn't set.
-	 */
-	public static boolean isEnabledForFileUpload(final HttpServletRequest request) {
-		return (sessionData != null && sessionData.isEnabledForFileUpload(request));
-	}
-
-	/**
-	 * Just a wrapper to {@link SessionData#isEnabledForFileBrowsing(HttpServletRequest)}.
-	 * 
-	 * @param servletRequest
-	 * @return {@link SessionData#isEnabledForFileBrowsing(HttpServletRequest)} or false, if
-	 *         sessionData isn't set.
-	 */
-	public static boolean isEnabledForFileBrowsing(final HttpServletRequest servletRequest) {
-		return (sessionData != null && sessionData.isEnabledForFileBrowsing(servletRequest));
-	}
-}
Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/ExtensionsHandler.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/ExtensionsHandler.java	(revision 1584)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/ExtensionsHandler.java	(revision 1585)
@@ -25,5 +25,4 @@
 import java.util.Set;
 
-import net.fckeditor.ResourceType;
 import net.fckeditor.tool.Utils;
 
@@ -40,25 +39,25 @@
 public class ExtensionsHandler {
 
-	private static Map<ResourceType, Set<String>> extensionsAllowed = new HashMap<ResourceType, Set<String>>();
-	private static Map<ResourceType, Set<String>> extensionsDenied = new HashMap<ResourceType, Set<String>>();
+	private static Map<ResourceTypeHandler, Set<String>> extensionsAllowed = new HashMap<ResourceTypeHandler, Set<String>>();
+	private static Map<ResourceTypeHandler, Set<String>> extensionsDenied = new HashMap<ResourceTypeHandler, Set<String>>();
 
 	static {
 		// load defaults
-		extensionsAllowed.put(ResourceType.FILE, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("connector.resourceType.file.extensions.allowed")));
-		extensionsDenied.put(ResourceType.FILE, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("connector.resourceType.file.extensions.denied")));
-		extensionsAllowed.put(ResourceType.MEDIA, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("connector.resourceType.media.extensions.allowed")));
-		extensionsDenied.put(ResourceType.MEDIA, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("connector.resourceType.media.extensions.denied")));
-		extensionsAllowed.put(ResourceType.IMAGE, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("connector.resourceType.image.extensions.allowed")));
-		extensionsDenied.put(ResourceType.IMAGE, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("connector.resourceType.image.extensions.denied")));
-		extensionsAllowed.put(ResourceType.FLASH, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("connector.resourceType.flash.extensions.allowed")));
-		extensionsDenied.put(ResourceType.FLASH, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("connector.resourceType.flash.extensions.denied")));
+		extensionsAllowed.put(ResourceTypeHandler.FILE, Utils.getSet(PropertiesLoader
+		    .getProperty("connector.resourceType.file.extensions.allowed")));
+		extensionsDenied.put(ResourceTypeHandler.FILE, Utils.getSet(PropertiesLoader
+		    .getProperty("connector.resourceType.file.extensions.denied")));
+		extensionsAllowed.put(ResourceTypeHandler.MEDIA, Utils.getSet(PropertiesLoader
+		    .getProperty("connector.resourceType.media.extensions.allowed")));
+		extensionsDenied.put(ResourceTypeHandler.MEDIA, Utils.getSet(PropertiesLoader
+		    .getProperty("connector.resourceType.media.extensions.denied")));
+		extensionsAllowed.put(ResourceTypeHandler.IMAGE, Utils.getSet(PropertiesLoader
+		    .getProperty("connector.resourceType.image.extensions.allowed")));
+		extensionsDenied.put(ResourceTypeHandler.IMAGE, Utils.getSet(PropertiesLoader
+		    .getProperty("connector.resourceType.image.extensions.denied")));
+		extensionsAllowed.put(ResourceTypeHandler.FLASH, Utils.getSet(PropertiesLoader
+		    .getProperty("connector.resourceType.flash.extensions.allowed")));
+		extensionsDenied.put(ResourceTypeHandler.FLASH, Utils.getSet(PropertiesLoader
+		    .getProperty("connector.resourceType.flash.extensions.denied")));
 	}
 
@@ -70,5 +69,5 @@
 	 * @return Set of allowed extensions or an empty set.
 	 */
-	public static Set<String> getExtensionsAllowed(final ResourceType type) {
+	public static Set<String> getExtensionsAllowed(final ResourceTypeHandler type) {
 		return extensionsAllowed.get(type);
 	}
@@ -83,5 +82,5 @@
 	 *          Required format: <code>ext1&#124;ext2&#124;ext3</code>
 	 */
-	public static void setExtensionsAllowed(final ResourceType type, final String extensionsList) {
+	public static void setExtensionsAllowed(final ResourceTypeHandler type, final String extensionsList) {
 		if (extensionsList != null) {
 			extensionsAllowed.put(type, Utils.getSet(extensionsList));
@@ -97,5 +96,5 @@
 	 * @return Set of denied extensions or an empty set.
 	 */
-	public static Set<String> getExtensionsDenied(final ResourceType type) {
+	public static Set<String> getExtensionsDenied(final ResourceTypeHandler type) {
 		return extensionsDenied.get(type);
 	}
@@ -110,5 +109,5 @@
 	 *          Required format: <code>ext1&#124;ext2&#124;ext3</code>
 	 */
-	public static void setExtensionsDenied(final ResourceType type, final String extensionsList) {
+	public static void setExtensionsDenied(final ResourceTypeHandler type, final String extensionsList) {
 		if (extensionsList != null) {
 			extensionsDenied.put(type, Utils.getSet(extensionsList));
@@ -124,5 +123,5 @@
 	 * @return True, false. False is returned too, if 'type' or 'extensions' is null.
 	 */
-	public static boolean isAllowed(final ResourceType type, final String extension) {
+	public static boolean isAllowed(final ResourceTypeHandler type, final String extension) {
 		if (type == null || extension == null)
 			return false;
Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/FCKEditorHandler.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/FCKEditorHandler.java	(revision 1585)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/FCKEditorHandler.java	(revision 1585)
@@ -0,0 +1,72 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ * 
+ * == BEGIN LICENSE ==
+ * 
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ * 
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ * 
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ * 
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ * 
+ * == END LICENSE ==
+ */
+package net.fckeditor.handlers;
+
+import javax.servlet.http.HttpServletRequest;
+
+import net.fckeditor.SessionData;
+
+/**
+ * Handeler for some base properties.
+ * 
+ * @version $Id$
+ */
+public class FCKEditorHandler {
+
+	/**
+     * Getter for the base dir (using for user files).
+     * 
+     * @return {@link SessionData#getUserFilesPath(HttpServletRequest)} or the default base dir, if
+     *         {@link SessionData}} isn't set.
+     */
+    public static String getUserFilesPath(final HttpServletRequest servletRequest) {
+    	String userFilePath = SessionDataHandler.getUserFilePath(servletRequest);
+    	return (userFilePath != null) ? userFilePath : getDefaultUserFilesPath();
+    }
+
+	/**
+	 * Getter for the default handling of single extensions.
+	 * 
+	 * @return the forceSingleExtension
+	 */
+	public static boolean isForceSingleExtension() {
+		return Boolean.valueOf(PropertiesLoader.getProperty("connector.forceSingleExtension"));
+	}
+
+	/**
+	 * Getter for the value to instruct the connector to return the full URL of a file/folder in the
+	 * XML response rather than the absolute URL.
+	 * 
+	 * @return
+	 */
+	public static boolean isFullUrl() {
+		return Boolean.valueOf(PropertiesLoader.getProperty("connector.fullUrl"));
+	}
+
+	/**
+	 * Getter for the default userFilesPath.
+	 * 
+	 * @return Default userfiles path (/userfiles)
+	 */
+	public static String getDefaultUserFilesPath() {
+		return PropertiesLoader.getProperty("connector.userFilesPath");
+	}
+}
Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/PropertiesLoader.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/PropertiesLoader.java	(revision 1585)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/PropertiesLoader.java	(revision 1585)
@@ -0,0 +1,68 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ * 
+ * == BEGIN LICENSE ==
+ * 
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ * 
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ * 
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ * 
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ * 
+ * == END LICENSE ==
+ */
+package net.fckeditor.handlers;
+
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * PropertiesHandler.java - TODO DOCUMENTME!
+ * 
+ * @version $Id$
+ */
+public class PropertiesLoader {
+	private static final Logger logger = LoggerFactory.getLogger(PropertiesLoader.class);
+	private static Properties properties = new Properties();
+
+	static {
+		try {
+			// 1. load system defaults
+			properties.load(new BufferedInputStream(PropertiesLoader.class
+			        .getResourceAsStream("default.properties")));
+
+			// 2. load user defaults
+			InputStream in = PropertiesLoader.class.getResourceAsStream("/fckeditor.properties");
+			if (in == null)
+				logger.warn("Can't find user properties!");
+			else {
+				try {
+					properties.load(new BufferedInputStream(in));
+					logger.info("User's properties successfull loaded!");
+				} catch (IOException e) {
+					logger.error("Error while loading user properties!", e);
+					throw new RuntimeException("Can't load user properties!", e);
+				}
+			}
+		} catch (IOException e) {
+			logger.error("Error while loading default properties!", e);
+			throw new RuntimeException("Can't load default properties!", e);
+		}
+	}
+
+	public static String getProperty(final String key) {
+		return properties.getProperty(key);
+	}
+}
Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/ResourceTypeHandler.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/ResourceTypeHandler.java	(revision 1585)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/ResourceTypeHandler.java	(revision 1585)
@@ -0,0 +1,109 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ * 
+ * == BEGIN LICENSE ==
+ * 
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ * 
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ * 
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ * 
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ * 
+ * == END LICENSE ==
+ */
+package net.fckeditor.handlers;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import net.fckeditor.tool.Utils;
+
+/**
+ * Handler for the different resource types.
+ *
+ * @version $Id$
+ */
+public class ResourceTypeHandler {
+
+	private String name;
+	private static Map<String, ResourceTypeHandler> types = new HashMap<String, ResourceTypeHandler>(
+			4);
+	public static final ResourceTypeHandler FILE = new ResourceTypeHandler("File");
+	public static final ResourceTypeHandler IMAGE = new ResourceTypeHandler("Image");
+	public static final ResourceTypeHandler FLASH = new ResourceTypeHandler("Flash");
+	public static final ResourceTypeHandler MEDIA = new ResourceTypeHandler("Media");
+	
+
+	static {
+		types.put(FILE.getName(), FILE);
+		types.put(IMAGE.getName(), IMAGE);
+		types.put(FLASH.getName(), FLASH);
+		types.put(MEDIA.getName(), MEDIA);
+	}
+
+	private ResourceTypeHandler(final String name) {
+		this.name = name;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public String getPath() {
+		String propKey = "connector.resourceType.".concat(name.toLowerCase()).concat(".path");
+		String propVal = PropertiesLoader.getProperty(propKey);
+		if (Utils.isEmpty(propVal))  // can't be, if properties settings are valid
+			throw new IllegalArgumentException("No property found for: ".concat(propKey));
+		return propVal;
+	}
+
+	public static ResourceTypeHandler valueOf(final String name)
+			throws NullPointerException, IllegalArgumentException {
+		if (name == null)
+			throw new NullPointerException();
+
+		ResourceTypeHandler rt = types.get(name);
+		if (rt == null)
+			throw new IllegalArgumentException();
+		return rt;
+	}
+
+	public static boolean isValid(final String name) {
+		return types.containsKey(name);
+	}
+	
+	public static ResourceTypeHandler getDefaultResourceType(final String name) {
+		ResourceTypeHandler rt = getResourceType(name);
+		return rt == null ? FILE : rt;
+	}
+
+	public static ResourceTypeHandler getResourceType(final String name) {
+		try {
+			return ResourceTypeHandler.valueOf(name);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+	
+	@Override
+	public boolean equals(Object obj) {
+		try {
+			ResourceTypeHandler rt = (ResourceTypeHandler) obj;
+			return name.equals(rt.getName());
+		} catch (ClassCastException e) {
+			return false;
+		}
+	}
+	
+	@Override
+	public String toString() {
+		return name;
+	}
+}
Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/SessionDataHandler.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/SessionDataHandler.java	(revision 1585)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/SessionDataHandler.java	(revision 1585)
@@ -0,0 +1,90 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ * 
+ * == BEGIN LICENSE ==
+ * 
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ * 
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ * 
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ * 
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ * 
+ * == END LICENSE ==
+ */
+package net.fckeditor.handlers;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import net.fckeditor.SessionData;
+
+/**
+ * Handler for session based data provided by {@link SessionData}.
+ * 
+ * @version $Id$
+ */
+public class SessionDataHandler {
+	private static Logger logger = LoggerFactory.getLogger(SessionDataHandler.class);
+	static SessionData sessionData = null;
+
+	static {
+		// try to initialze the SessionData object
+		String fqcn = PropertiesLoader.getProperty("connector.sesiondataImpl");
+		if (fqcn == null)
+			logger
+			        .warn("No property found for SessionData implemetation, any user action is disabled!");
+		else {
+			try {
+				@SuppressWarnings("unchecked")
+				Class clazz = Class.forName(fqcn);
+				sessionData = (SessionData) clazz.newInstance();
+			} catch (Exception e) {
+				logger.error("Couldn't instanciate the class [".concat(fqcn).concat(
+				        "], any user action of the ConnectorServlet is disabled!"), e);
+			}
+		}
+	}
+
+	/**
+	 * Just a wrapper to {@link SessionData#isEnabledForFileBrowsing(HttpServletRequest)}.
+	 * 
+	 * @param servletRequest
+	 * @return {@link SessionData#isEnabledForFileBrowsing(HttpServletRequest)} or false, if
+	 *         sessionData isn't set.
+	 */
+	public static boolean isEnabledForFileBrowsing(final HttpServletRequest servletRequest) {
+		return (sessionData != null && sessionData.isEnabledForFileBrowsing(servletRequest));
+	}
+
+	/**
+	 * Just a wrapper to {@link SessionData#isEnabledForFileUpload(HttpServletRequest)}.
+	 * 
+	 * @param request
+	 * @return {@link SessionData#isEnabledForFileUpload(HttpServletRequest)} or false, if
+	 *         sessionData isn't set.
+	 */
+	public static boolean isEnabledForFileUpload(final HttpServletRequest request) {
+		return (sessionData != null && sessionData.isEnabledForFileUpload(request));
+	}
+
+	/**
+	 * Getter for the user's file path.<br>
+	 * Method is used by other handlers only!
+	 * 
+	 * @param request
+	 * @return {@link SessionData#getUserFilesPath(HttpServletRequest} or null, if sessionData is
+	 *         null.
+	 */
+	protected static String getUserFilePath(final HttpServletRequest request) {
+		return (sessionData != null) ? sessionData.getUserFilesPath(request) : null;
+	}
+}
Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/response/XmlResponse.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/response/XmlResponse.java	(revision 1584)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/response/XmlResponse.java	(revision 1585)
@@ -35,5 +35,5 @@
 import javax.xml.transform.stream.StreamResult;
 
-import net.fckeditor.ResourceType;
+import net.fckeditor.handlers.ResourceTypeHandler;
 import net.fckeditor.tool.Utils;
 
@@ -56,5 +56,5 @@
 	 *            TODO
 	 */
-	public XmlResponse(String command, ResourceType type, String currentFolder,
+	public XmlResponse(String command, ResourceTypeHandler type, String currentFolder,
 			String constructedUrl, HttpServletRequest request) {
 
Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/tags/CheckTag.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/tags/CheckTag.java	(revision 1584)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/tags/CheckTag.java	(revision 1585)
@@ -11,5 +11,6 @@
 import javax.servlet.jsp.tagext.TagSupport;
 
-import net.fckeditor.handlers.ConfigurationHandler;
+import net.fckeditor.handlers.PropertiesLoader;
+import net.fckeditor.handlers.SessionDataHandler;
 import net.fckeditor.tool.Compatibility;
 
@@ -21,4 +22,10 @@
 	private static final String FILE_BROWSING = "FileBrowsing";
 	private static final String COMPATIBLE_BROWSER = "CompatibleBrowser";
+	private static final String PROPERTY_MESSAGE_FILE_BROWSING_DISABLED = "message.enabled_tag.connector.file_browsing.disabled";
+	private static final String PROPERTY_MESSAGE_FILE_BROWSING_ENABLED = "message.enabled_tag.connector.file_browsing.enabled";
+	private static final String PROPERTY_MESSAGE_FILE_UPLOAD_DISABLED = "message.enabled_tag.connector.file_upload.disalbed";
+	private static final String PROPERTY_MESSAGE_FILE_UPLOAD_ENABLED = "message.enabled_tag.connector.file_upload.enabled";
+	private static final String PROPERTY_MESSAGE_NOT_COMPATIBLE_BROWSER = "message.enabled_tag.compatible_browser.no";
+	private static final String PROPERTY_MESSAGE_COMPATIBLE_BROWSER = "message.enabled_tag.compatible_browser.yes";
 	private static Set<String> commands = new HashSet<String>(3);
 
@@ -33,7 +40,6 @@
 	public void setCommand(String command) throws JspTagException {
 		if (!commands.contains(command))
-			throw new JspTagException(
-					"You have to provide one of the following commands: "
-							+ commands);
+			throw new JspTagException("You have to provide one of the following commands: "
+			        + commands);
 		this.command = command;
 	}
@@ -43,32 +49,31 @@
 		JspWriter out = pageContext.getOut();
 
-		HttpServletRequest request = (HttpServletRequest) pageContext
-				.getRequest();
+		HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
 		String response = new String();
 
 		if (command.equals(FILE_UPLOAD)) {
-			if (ConfigurationHandler.isEnabledForFileUpload(request))
-				response = ConfigurationHandler
-						.getDefaultProperty(ConfigurationHandler.PROPERTY_MESSAGE_FILE_UPLOAD_ENABLED);
+			if (SessionDataHandler.isEnabledForFileUpload(request))
+				response = PropertiesLoader
+				        .getProperty(CheckTag.PROPERTY_MESSAGE_FILE_UPLOAD_ENABLED);
 			else
-				response = ConfigurationHandler
-						.getDefaultProperty(ConfigurationHandler.PROPERTY_MESSAGE_FILE_UPLOAD_DISABLED);
+				response = PropertiesLoader
+				        .getProperty(CheckTag.PROPERTY_MESSAGE_FILE_UPLOAD_DISABLED);
 		}
 
 		if (command.equals(FILE_BROWSING)) {
-			if (ConfigurationHandler.isEnabledForFileBrowsing(request))
-				response = ConfigurationHandler
-						.getDefaultProperty(ConfigurationHandler.PROPERTY_MESSAGE_FILE_BROWSING_ENABLED);
+			if (SessionDataHandler.isEnabledForFileBrowsing(request))
+				response = PropertiesLoader
+				        .getProperty(CheckTag.PROPERTY_MESSAGE_FILE_BROWSING_ENABLED);
 			else
-				response = ConfigurationHandler
-						.getDefaultProperty(ConfigurationHandler.PROPERTY_MESSAGE_FILE_BROWSING_DISABLED);
+				response = PropertiesLoader
+				        .getProperty(CheckTag.PROPERTY_MESSAGE_FILE_BROWSING_DISABLED);
 		}
 		if (command.equals(COMPATIBLE_BROWSER)) {
 			if (Compatibility.isCompatibleBrowser(request))
-				response = ConfigurationHandler
-						.getDefaultProperty(ConfigurationHandler.PROPERTY_MESSAGE_COMPATIBLE_BROWSER);
+				response = PropertiesLoader
+				        .getProperty(CheckTag.PROPERTY_MESSAGE_COMPATIBLE_BROWSER);
 			else
-				response = ConfigurationHandler
-						.getDefaultProperty(ConfigurationHandler.PROPERTY_MESSAGE_NOT_COMPATIBLE_BROWSER);
+				response = PropertiesLoader
+				        .getProperty(CheckTag.PROPERTY_MESSAGE_NOT_COMPATIBLE_BROWSER);
 		}
 
Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/tool/Utils.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/tool/Utils.java	(revision 1584)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/tool/Utils.java	(revision 1585)
@@ -27,5 +27,5 @@
 import javax.servlet.http.HttpServletRequest;
 
-import net.fckeditor.handlers.ConfigurationHandler;
+import net.fckeditor.handlers.FCKEditorHandler;
 
 import org.apache.commons.io.FilenameUtils;
@@ -185,5 +185,5 @@
 		String address = request.getRequestURL().toString();
 
-		if (ConfigurationHandler.isFullUrl())
+		if (FCKEditorHandler.isFullUrl())
 			return address.substring(0, address.indexOf('/', 8))
 					+ request.getContextPath() + url;
Index: /FCKeditor.Java/branches/2.4/src/test/java/net/fckeditor/ResourceTypeTest.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/test/java/net/fckeditor/ResourceTypeTest.java	(revision 1584)
+++ /FCKeditor.Java/branches/2.4/src/test/java/net/fckeditor/ResourceTypeTest.java	(revision 1585)
@@ -22,8 +22,11 @@
 
 import static org.junit.Assert.*;
+import net.fckeditor.handlers.PropertiesLoader;
+import net.fckeditor.handlers.ResourceTypeHandler;
+
 import org.junit.Test;
 
 /**
- * Tests for {@link ResourceType}.
+ * Tests for {@link ResourceTypeHandler}.
  * 
  * @version $Id$
@@ -33,35 +36,35 @@
 	@Test
 	public void getType01() throws Exception {
-		assertNull(ResourceType.getResourceType("xyz"));
+		assertNull(ResourceTypeHandler.getResourceType("xyz"));
 	}
 
 	@Test
 	public void getType02() throws Exception {
-		assertEquals(ResourceType.FILE, ResourceType.getResourceType("File"));
+		assertEquals(ResourceTypeHandler.FILE, ResourceTypeHandler.getResourceType("File"));
 	}
 
 	@Test
 	public void getType03() throws Exception {
-		assertEquals(ResourceType.IMAGE, ResourceType.getResourceType("Image"));
+		assertEquals(ResourceTypeHandler.IMAGE, ResourceTypeHandler.getResourceType("Image"));
 	}
 
 	@Test
 	public void isValid01() throws Exception {
-		assertFalse(ResourceType.isValid("1234"));
+		assertFalse(ResourceTypeHandler.isValid("1234"));
 	}
 
 	@Test
 	public void isValid02() throws Exception {
-		assertFalse(ResourceType.isValid("fLash"));
+		assertFalse(ResourceTypeHandler.isValid("fLash"));
 	}
 
 	@Test
 	public void isValid03() throws Exception {
-		assertFalse(ResourceType.isValid("MeDiA"));
+		assertFalse(ResourceTypeHandler.isValid("MeDiA"));
 	}
 
 	@Test
 	public void getTypeDefault01() throws Exception {
-		assertEquals(ResourceType.FILE, ResourceType
+		assertEquals(ResourceTypeHandler.FILE, ResourceTypeHandler
 				.getDefaultResourceType("wrong-type"));
 	}
@@ -69,5 +72,5 @@
 	@Test
 	public void getTypeDefault02() throws Exception {
-		assertNotSame(ResourceType.FLASH, ResourceType
+		assertNotSame(ResourceTypeHandler.FLASH, ResourceTypeHandler
 				.getDefaultResourceType("flAsh"));
 	}
@@ -75,11 +78,12 @@
 	@Test
 	public void getSubDirForType01() throws Exception {
-		assertEquals("/file", ResourceType.getDefaultResourceType(null)
-				.getPath());
+		assertEquals(PropertiesLoader.getProperty("connector.resourceType.file.path"), 
+				ResourceTypeHandler.getDefaultResourceType(null).getPath());
 	}
 
 	@Test
 	public void getSubDirForType02() throws Exception {
-		assertEquals("/image", ResourceType.getResourceType("Image").getPath());
+		assertEquals(PropertiesLoader.getProperty("connector.resourceType.image.path"), 
+				ResourceTypeHandler.getResourceType("Image").getPath());
 	}
 }
Index: /FCKeditor.Java/branches/2.4/src/test/java/net/fckeditor/handlers/ExtensionsHandlerTest.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/test/java/net/fckeditor/handlers/ExtensionsHandlerTest.java	(revision 1584)
+++ /FCKeditor.Java/branches/2.4/src/test/java/net/fckeditor/handlers/ExtensionsHandlerTest.java	(revision 1585)
@@ -23,5 +23,4 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import net.fckeditor.ResourceType;
 
 import org.junit.Test;
@@ -36,5 +35,5 @@
 	@Test
 	public void testIsAllowed01() {
-		ResourceType type = ResourceType.FILE;
+		ResourceTypeHandler type = ResourceTypeHandler.FILE;
 		ExtensionsHandler.setExtensionsAllowed(type, "a");
 		ExtensionsHandler.setExtensionsDenied(type, "b");
@@ -48,5 +47,5 @@
 	@Test
 	public void testIsAllowed02() {
-		ResourceType type = ResourceType.FILE;
+		ResourceTypeHandler type = ResourceTypeHandler.FILE;
 		ExtensionsHandler.setExtensionsAllowed(type, "a|b|c");
 		assertTrue(ExtensionsHandler.isAllowed(type, "a"));
