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 1508)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/FCKeditor.java	(revision 1509)
@@ -41,5 +41,5 @@
 	private String instanceName;
 	private String value;
-	private String basePath = ConfigurationHandler.getFckEditorDir();
+	private String basePath = ConfigurationHandler.getBasePath();
 	private String toolbarSet = ConfigurationHandler.getFckEditorToolbarSet();
 	private String width = ConfigurationHandler.getFckEditorWidth();
@@ -51,5 +51,5 @@
 	 * Initialize the object setting all basic configurations.<br>
 	 * 
-	 * The basePath is context root + {@link ConfigurationHandler#getFckEditorDir()}.
+	 * The basePath is context root + {@link ConfigurationHandler#getBasePath()}.
 	 * 
 	 * @param request
@@ -82,5 +82,5 @@
 		else
 			this.basePath = request.getContextPath()
-					+ ConfigurationHandler.getFckEditorDir();
+					+ ConfigurationHandler.getBasePath();
 
 		config = new FCKeditorConfig();
Index: Keditor.Java/branches/2.4/src/main/java/net/fckeditor/FileType.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/FileType.java	(revision 1508)
+++ 	(revision )
@@ -1,34 +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;
-
-
-/**
- * The different types of files to work with.
- *
- * @version $Id$
- */
-public enum FileType {
-	FILE,		// the defaults
-	IMAGE,
-	FLASH,
-	MEDIA
-}
Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/ResourceType.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/ResourceType.java	(revision 1509)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/ResourceType.java	(revision 1509)
@@ -0,0 +1,59 @@
+/*
+ * 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;
+
+/**
+ * The different types of files to work with.
+ * 
+ * @version $Id$
+ */
+public enum ResourceType {
+
+	Image, File, Flash, Media;
+
+	public String getPath() {
+		return "/" + name().toLowerCase();
+	}
+
+	public static ResourceType getDefaultResourceType(String name) {
+
+		ResourceType rt = getResourceType(name);
+
+		return rt == null ? File : rt;
+
+	}
+
+	public static ResourceType getResourceType(String name) {
+
+		try {
+			return ResourceType.valueOf(name);
+		} catch (IllegalArgumentException e) {
+			return null;
+		} catch (NullPointerException e) {
+			return null;
+		}
+	}
+
+	public static boolean isValid(final String name) {
+		return getResourceType(name) == null ? false : true;
+	}
+
+}
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 1508)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/connector/ConnectorServlet.java	(revision 1509)
@@ -45,8 +45,7 @@
 import javax.xml.transform.stream.StreamResult;
 
-import net.fckeditor.FileType;
+import net.fckeditor.ResourceType;
 import net.fckeditor.handlers.ConfigurationHandler;
 import net.fckeditor.handlers.ExtensionsHandler;
-import net.fckeditor.handlers.FileTypeHandler;
 import net.fckeditor.tool.UploadResponse;
 import net.fckeditor.tool.Utils;
@@ -96,19 +95,19 @@
 		// read the optional parameters
 		ConfigurationHandler.setForceSingleExtension(getInitParameter("ForceSingleExtension"));
-		if (getInitParameter("baseDir") != null) // TODO should 'baseDir' contains '..' ??
-			ConfigurationHandler.setBaseDir(getInitParameter("baseDir"));
-
-		setExtension(FileType.FILE, getInitParameter("AllowedExtensionsFile"),
+		if (getInitParameter("UserFilesPath") != null) // TODO should 'baseDir' contains '..' ??
+			ConfigurationHandler.setUserFilesPath(getInitParameter("UserFilesPath"));
+
+		setExtension(ResourceType.File, getInitParameter("AllowedExtensionsFile"),
 		        getInitParameter("DeniedExtensionsFile"));
-		setExtension(FileType.IMAGE, getInitParameter("AllowedExtensionsImage"),
+		setExtension(ResourceType.Image, getInitParameter("AllowedExtensionsImage"),
 		        getInitParameter("DeniedExtensionsImage"));
-		setExtension(FileType.FLASH, getInitParameter("AllowedExtensionsFlash"),
+		setExtension(ResourceType.Flash, getInitParameter("AllowedExtensionsFlash"),
 		        getInitParameter("DeniedExtensionsFlash"));
-		setExtension(FileType.MEDIA, getInitParameter("AllowedExtensionsMedia"),
+		setExtension(ResourceType.Media, getInitParameter("AllowedExtensionsMedia"),
 		        getInitParameter("DeniedExtensionsMedia"));
 
 		// check, if 'baseDir' exists
 		String realBaseDir = getServletContext().getRealPath(
-		        ConfigurationHandler.getDefaultBaseDir());
+		        ConfigurationHandler.getDefaultUserFilesPath());
 		File baseFile = new File(realBaseDir);
 		if (!baseFile.exists()) {
@@ -140,5 +139,5 @@
 		String typeStr = request.getParameter("Type");
 		String currentFolderStr = request.getParameter("CurrentFolder");
-		FileType fileType = FileTypeHandler.getTypeDefault(typeStr);
+		ResourceType fileType = ResourceType.getDefaultResourceType(typeStr);
 
 		logger.debug("Parameter Command: {}", commandStr);
@@ -239,5 +238,5 @@
 		String typeStr = request.getParameter("Type");
 		String currentFolderStr = request.getParameter("CurrentFolder");
-		if (!FileTypeHandler.isValid(typeStr))
+		if (!ResourceType.isValid(typeStr))
 			logger.warn("Unknown Type requested: {}", typeStr);
 
@@ -251,5 +250,5 @@
 		}
 
-		FileType fileType = FileTypeHandler.getTypeDefault(typeStr);
+		ResourceType fileType = ResourceType.getDefaultResourceType(typeStr);
 
 		UploadResponse ur = null;
@@ -283,6 +282,5 @@
 					String extension = FilenameUtils.getExtension(filename);
 
-					boolean validExtension = ExtensionsHandler.isAllowed(FileTypeHandler
-					        .getType(typeStr), extension);
+					boolean validExtension = ExtensionsHandler.isAllowed(fileType, extension);
 
 					if (!validExtension)
@@ -378,9 +376,9 @@
 	}
 
-	private String constructTypeBasedFolderString(final FileType fileType,
+	private String constructTypeBasedFolderString(final ResourceType fileType,
 	        final String currentFolderString, final HttpServletRequest request) {
 		StringWriter retval = new StringWriter();
-		retval.append(ConfigurationHandler.getBaseDir(request));
-		retval.append(FileTypeHandler.getSubDirForType(fileType));
+		retval.append(ConfigurationHandler.getUserFilesPath(request));
+		retval.append(fileType.getPath());
 		retval.append(currentFolderString);
 		return replaceAll(retval.toString(), "//", "/");
@@ -397,5 +395,5 @@
 	 *             if allowed and denied extensions are set.
 	 */
-	private void setExtension(final FileType type, final String allowedList, final String deniedList) {
+	private void setExtension(final ResourceType type, final String allowedList, final String deniedList) {
 		// if both lists are set, we have to throw an error, because only one list should be set
 		if (Utils.isNotEmpty(allowedList) && Utils.isNotEmpty(deniedList)) {
Index: /FCKeditor.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 1508)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/ConfigurationHandler.java	(revision 1509)
@@ -48,5 +48,5 @@
  * Something special is {@link ISessionData}. The implemented class provides some session based data.
  * See {@link ISessionData} for additional informations. For example, to get a user based base dir,
- * for each request {@link #getBaseDir(HttpServletRequest)} is calling. If 'sessionData' is set,
+ * for each request {@link #getUserFilesPath(HttpServletRequest)} is calling. If 'sessionData' is set,
  * {@link ISessionData#getBaseDir(HttpServletRequest)} will be returned, otherwise the default base
  * dir.
@@ -58,7 +58,7 @@
 
 	private static Properties defaultProperties = new Properties();
-	private static String baseDir;
+	private static String userFilesPath;
 	private static ISessionData sessionData = null;
-	private static String fckEditorDir;
+	private static String basePath;
 	private static String fckEditorHeight;
 	private static String fckEditorWidth;
@@ -82,11 +82,11 @@
 			throw new RuntimeException("Can't load default properties!", e);
 		}
-		baseDir = defaultProperties.getProperty("fckeditor.basedir");
-		fckEditorDir = defaultProperties.getProperty("fckeditor.dir");
+		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");
+		fckEditorToolbarSet = defaultProperties.getProperty("fckeditor.toolbarSet");
 		forceSingleExtension = Boolean.valueOf(defaultProperties
-		        .getProperty("fckeditor.forcesingleextension"));
+		        .getProperty("connector.forceSingleExtension"));
 
 		logger.info("Default properties loaded and initialized successfully.");
@@ -99,29 +99,29 @@
 	 *         {@link ISessionData}} isn't set.
 	 */
-	public static String getBaseDir(final HttpServletRequest servletRequest) {
+	public static String getUserFilesPath(final HttpServletRequest servletRequest) {
 		if (sessionData == null || sessionData.getBaseDir(servletRequest) == null)
-			return getDefaultBaseDir();
+			return getDefaultUserFilesPath();
 		return sessionData.getBaseDir(servletRequest);
 	}
 
 	/**
-	 * Getter for the default baseDir.
+	 * Getter for the default userFilesPath.
 	 * 
 	 * @return
 	 */
-	public static String getDefaultBaseDir() {
-		return baseDir;
-	}
-
-	/**
-	 * Setter for the base dir (using for user files). If param 'baseDir' is empty, the property
+	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 baseDir
+	 * @param userFilesPath
 	 *            relative to the context root (no leading or ending /).
 	 */
-	public static void setBaseDir(final String baseDir) {
-		if (Utils.isNotEmpty(baseDir))
-			ConfigurationHandler.baseDir = baseDir;
+	public static void setUserFilesPath(final String userFilesPath) {
+		if (Utils.isNotEmpty(userFilesPath))
+			ConfigurationHandler.userFilesPath = userFilesPath;
 	}
 
@@ -154,6 +154,6 @@
 	 * @return Dir of the fckeditor relative to the context root.
 	 */
-	public static String getFckEditorDir() {
-		return fckEditorDir;
+	public static String getBasePath() {
+		return basePath;
 	}
 
@@ -161,9 +161,9 @@
 	 * Setter for the dir of the fckeditor.
 	 * 
-	 * @param fckEditorDir
+	 * @param basePath
 	 *            relative to the context root (no leading or ending /).
 	 */
 	public static void setFckEditorDir(final String fckEditorDir) {
-		ConfigurationHandler.fckEditorDir = fckEditorDir;
+		ConfigurationHandler.basePath = fckEditorDir;
 	}
 
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 1508)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/ExtensionsHandler.java	(revision 1509)
@@ -25,5 +25,5 @@
 import java.util.Set;
 
-import net.fckeditor.FileType;
+import net.fckeditor.ResourceType;
 import net.fckeditor.tool.Utils;
 
@@ -40,25 +40,25 @@
 public class ExtensionsHandler {
 
-	private static Map<FileType, Set<String>> extensionsAllowed = new HashMap<FileType, Set<String>>();
-	private static Map<FileType, Set<String>> extensionsDenied = new HashMap<FileType, Set<String>>();
+	private static Map<ResourceType, Set<String>> extensionsAllowed = new HashMap<ResourceType, Set<String>>();
+	private static Map<ResourceType, Set<String>> extensionsDenied = new HashMap<ResourceType, Set<String>>();
 
 	static {
 		// load defaults
-		extensionsAllowed.put(FileType.FILE, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("fckeditor.file.extensions.allowed")));
-		extensionsDenied.put(FileType.FILE, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("fckeditor.file.extensions.denied")));
-		extensionsAllowed.put(FileType.MEDIA, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("fckeditor.media.extensions.allowed")));
-		extensionsDenied.put(FileType.MEDIA, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("fckeditor.media.extensions.denied")));
-		extensionsAllowed.put(FileType.IMAGE, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("fckeditor.image.extensions.allowed")));
-		extensionsDenied.put(FileType.IMAGE, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("fckeditor.image.extensions.denied")));
-		extensionsAllowed.put(FileType.FLASH, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("fckeditor.flash.extensions.allowed")));
-		extensionsDenied.put(FileType.FLASH, Utils.getSet(ConfigurationHandler
-		    .getDefaultProperty("fckeditor.flash.extensions.denied")));
+		extensionsAllowed.put(ResourceType.File, Utils.getSet(ConfigurationHandler
+		    .getDefaultProperty("connector.extensions.file.allowed")));
+		extensionsDenied.put(ResourceType.File, Utils.getSet(ConfigurationHandler
+		    .getDefaultProperty("connector.extensions.file.denied")));
+		extensionsAllowed.put(ResourceType.Media, Utils.getSet(ConfigurationHandler
+		    .getDefaultProperty("connector.extensions.media.allowed")));
+		extensionsDenied.put(ResourceType.Media, Utils.getSet(ConfigurationHandler
+		    .getDefaultProperty("connector.extensions.media.denied")));
+		extensionsAllowed.put(ResourceType.Image, Utils.getSet(ConfigurationHandler
+		    .getDefaultProperty("connector.extensions.image.allowed")));
+		extensionsDenied.put(ResourceType.Image, Utils.getSet(ConfigurationHandler
+		    .getDefaultProperty("connector.extensions.image.denied")));
+		extensionsAllowed.put(ResourceType.Flash, Utils.getSet(ConfigurationHandler
+		    .getDefaultProperty("connector.extensions.flash.allowed")));
+		extensionsDenied.put(ResourceType.Flash, Utils.getSet(ConfigurationHandler
+		    .getDefaultProperty("connector.extensions.flash.denied")));
 	}
 
@@ -70,5 +70,5 @@
 	 * @return Set of allowed extensions or an empty set.
 	 */
-	public static Set<String> getExtensionsAllowed(final FileType type) {
+	public static Set<String> getExtensionsAllowed(final ResourceType type) {
 		return extensionsAllowed.get(type);
 	}
@@ -83,5 +83,5 @@
 	 *          Required format: <code>ext1&#124;ext2&#124;ext3</code>
 	 */
-	public static void setExtensionsAllowed(final FileType type, final String extensionsList) {
+	public static void setExtensionsAllowed(final ResourceType type, final String extensionsList) {
 		if (extensionsList != null) {
 			extensionsAllowed.put(type, Utils.getSet(extensionsList));
@@ -97,5 +97,5 @@
 	 * @return Set of denied extensions or an empty set.
 	 */
-	public static Set<String> getExtensionsDenied(final FileType type) {
+	public static Set<String> getExtensionsDenied(final ResourceType type) {
 		return extensionsDenied.get(type);
 	}
@@ -110,5 +110,5 @@
 	 *          Required format: <code>ext1&#124;ext2&#124;ext3</code>
 	 */
-	public static void setExtensionsDenied(final FileType type, final String extensionsList) {
+	public static void setExtensionsDenied(final ResourceType type, final String extensionsList) {
 		if (extensionsList != null) {
 			extensionsDenied.put(type, Utils.getSet(extensionsList));
@@ -124,5 +124,5 @@
 	 * @return True, false. False is returned too, if 'type' or 'extensions' is null.
 	 */
-	public static boolean isAllowed(final FileType type, final String extension) {
+	public static boolean isAllowed(final ResourceType type, final String extension) {
 		if (type == null || extension == null)
 			return false;
Index: Keditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/FileTypeHandler.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/handlers/FileTypeHandler.java	(revision 1508)
+++ 	(revision )
@@ -1,90 +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 net.fckeditor.FileType;
-import net.fckeditor.tool.Utils;
-
-/**
- * Collection of little helper methods for {@link FileType}.
- * 
- * @version $Id$
- */
-public class FileTypeHandler {
-
-	/**
-	 * Finds the right {@link FileType} for a string representation. The case sensitifity of 'type'
-	 * will be ignored.
-	 * 
-	 * @param type
-	 * @return <code>null</code> if 'type' is unknown or null, otherwise {@link FileType}.
-	 */
-	public static FileType getType(final String type) {
-		if (type == null)
-			return null;
-		for (FileType fileType : FileType.values()) {
-			if (fileType.name().equalsIgnoreCase(type))
-				return fileType;
-		}
-		return null;
-	}
-
-	/**
-	 * Checks if 'type' is a string representation of {@link FileType}.
-	 * 
-	 * @param type
-	 * @return
-	 */
-	public static boolean isValid(final String type) {
-		return (getType(type) != null);
-	}
-
-	/**
-	 * Just a wrapper to {@link #getType(String)}, but returns the default file type, if 'type' is unkown.
-	 * 
-	 * @param type
-	 * @return
-	 */
-	public static FileType getTypeDefault(final String type) {
-		FileType fileType = getType(type);
-		return (fileType == null) ? FileType.FILE : fileType;
-	}
-
-	/**
-	 * Getter for the sub dir name of a media type.<br>
-	 * 
-	 * Hint: Like  the path defaults in default.properties, the sub dir name starts with '/'.
-	 * 
-	 * @param type
-	 * @return The sub dir name of the requested type, or the default one ('file') if 'type' is null
-	 *         or the default value ist missing.
-	 */
-	public static String getSubDirForType(final FileType type) {
-		String defaultSubDir = ConfigurationHandler
-		        .getDefaultProperty("fckeditor.subdir.media.file");
-		if (type == null)
-			return defaultSubDir;
-		String subDir = ConfigurationHandler.getDefaultProperty("fckeditor.subdir.media."
-		        .concat(type.name().toLowerCase()));
-
-		return (Utils.isEmpty(subDir)) ? defaultSubDir : subDir;
-	}
-}
Index: /FCKeditor.Java/branches/2.4/src/main/resources/net/fckeditor/handlers/default.properties
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/resources/net/fckeditor/handlers/default.properties	(revision 1508)
+++ /FCKeditor.Java/branches/2.4/src/main/resources/net/fckeditor/handlers/default.properties	(revision 1509)
@@ -4,29 +4,24 @@
 ## @version $Id: default.properties 1184 2008-01-03 10:39:36Z th-schwarz $ 
 
+# default extensions settings
+connector.extensions.file.denied   = php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi
+connector.extensions.flash.allowed  = swf|fla
+connector.extensions.image.allowed = jpg|gif|jpeg|png|bmp
+connector.extensions.link.allowed = 7z|aiff|asf|avi|bmp|csv|doc|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xml|zip
+
+# Due to security issues with Apache modules, it is recommended to leave this setting enabled.
+connector.forceSingleExtension = true
+
 # base directory for the user files relative to the context root (starting / and no ending /)
-fckeditor.basedir = /userfiles
+connector.userFilesPath = /userfiles
 
 # directory of the editor relative to the context root according to fckeditor.js (trailing slashes!)
-fckeditor.dir = /fckeditor/
-
-# default extensions settings
-fckeditor.file.extensions.denied = php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi
-fckeditor.flash.extensions.denied = swf|fla
-fckeditor.image.extensions.allowed = jpg|gif|jpeg|png|bmp
-
-# Due to security issues with Apache modules, it is recommended to leave this setting enabled.
-fckeditor.forcesingleextension = true
+fckeditor.basePath = /fckeditor/
 
 # default height of the editor
 fckeditor.height = 200
 
-# sub-directories for each file type
-fckeditor.subdir.media.file  = /file
-fckeditor.subdir.media.flash = /flash
-fckeditor.subdir.media.image = /image
-fckeditor.subdir.media.media = /media
-
 # default toolbar set of the editor
-fckeditor.toolbarset = Default
+fckeditor.toolbarSet = Default
 
 # default width of the editor
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 1508)
+++ /FCKeditor.Java/branches/2.4/src/test/java/net/fckeditor/handlers/ExtensionsHandlerTest.java	(revision 1509)
@@ -23,5 +23,5 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import net.fckeditor.FileType;
+import net.fckeditor.ResourceType;
 
 import org.junit.Test;
@@ -36,5 +36,5 @@
 	@Test
 	public void testIsAllowed01() {
-		FileType type = FileType.FILE;
+		ResourceType type = ResourceType.File;
 		ExtensionsHandler.setExtensionsAllowed(type, "a");
 		ExtensionsHandler.setExtensionsDenied(type, "b");
@@ -48,5 +48,5 @@
 	@Test
 	public void testIsAllowed02() {
-		FileType type = FileType.FILE;
+		ResourceType type = ResourceType.File;
 		ExtensionsHandler.setExtensionsAllowed(type, "a|b|c");
 		assertTrue(ExtensionsHandler.isAllowed(type, "a"));
Index: Keditor.Java/branches/2.4/src/test/java/net/fckeditor/handlers/FileTypeHandlerTest.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/test/java/net/fckeditor/handlers/FileTypeHandlerTest.java	(revision 1508)
+++ 	(revision )
@@ -1,91 +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 static org.junit.Assert.*;
-
-import net.fckeditor.FileType;
-
-import org.junit.Test;
-
-/**
- * Tests for {@link FileTypeHandler}.
- *
- * @version $Id$
- */
-public class FileTypeHandlerTest {
-
-	
-	@Test
-    public void getType01() throws Exception {
-	    assertTrue(FileTypeHandler.getType("xyz") == null);
-    }
-
-	@Test
-    public void getType02() throws Exception {
-	    assertTrue(FileTypeHandler.getType("file") == FileType.FILE);
-    }
-
-	@Test
-    public void getType03() throws Exception {
-	    assertTrue(FileTypeHandler.getType("FiLe") == FileType.FILE);
-    }
-	
-	@Test
-    public void getType04() throws Exception {
-	    assertTrue(FileTypeHandler.getType("IMAGE") == FileType.IMAGE);
-    }
-	
-	@Test
-    public void isValid01() throws Exception {
-	    assertFalse(FileTypeHandler.isValid("1234"));
-    }
-	
-	@Test
-    public void isValid02() throws Exception {
-	    assertTrue(FileTypeHandler.isValid("fLash"));
-    }
-
-	@Test
-    public void isValid03() throws Exception {
-	    assertTrue(FileTypeHandler.isValid("MeDiA"));
-    }
-	
-	@Test
-    public void getTypeDefault01() throws Exception {
-	    assertTrue(FileTypeHandler.getTypeDefault("wrong-type").equals(FileType.FILE));
-    }
-
-	@Test
-    public void getTypeDefault02() throws Exception {
-	    assertTrue(FileTypeHandler.getTypeDefault("flAsh").equals(FileType.FLASH));
-    }
-	
-	@Test
-    public void getSubDirForType01() throws Exception {
-	    assertTrue(FileTypeHandler.getSubDirForType(null).equals("/file"));
-    }
-
-	@Test
-    public void getSubDirForType02() throws Exception {
-	    assertTrue(FileTypeHandler.getSubDirForType(FileType.FILE).equals("/file"));
-    }
-}
Index: /FCKeditor.Java/branches/2.4/src/test/java/net/fckeditor/handlers/ResourceTypeTest.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/test/java/net/fckeditor/handlers/ResourceTypeTest.java	(revision 1509)
+++ /FCKeditor.Java/branches/2.4/src/test/java/net/fckeditor/handlers/ResourceTypeTest.java	(revision 1509)
@@ -0,0 +1,87 @@
+/*
+ * 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 static org.junit.Assert.*;
+import net.fckeditor.ResourceType;
+
+import org.junit.Test;
+
+/**
+ * Tests for {@link FileTypeHandler}.
+ * 
+ * @version $Id$
+ */
+public class ResourceTypeTest {
+
+	@Test
+	public void getType01() throws Exception {
+		assertNull(ResourceType.getResourceType("xyz"));
+	}
+
+	@Test
+	public void getType02() throws Exception {
+		assertEquals(ResourceType.File, ResourceType.getResourceType("File"));
+	}
+
+	@Test
+	public void getType03() throws Exception {
+		assertEquals(ResourceType.Image, ResourceType.getResourceType("Image"));
+	}
+
+	@Test
+	public void isValid01() throws Exception {
+		assertFalse(ResourceType.isValid("1234"));
+	}
+
+	@Test
+	public void isValid02() throws Exception {
+		assertFalse(ResourceType.isValid("fLash"));
+	}
+
+	@Test
+	public void isValid03() throws Exception {
+		assertFalse(ResourceType.isValid("MeDiA"));
+	}
+
+	@Test
+	public void getTypeDefault01() throws Exception {
+		assertEquals(ResourceType.File, ResourceType
+				.getDefaultResourceType("wrong-type"));
+	}
+
+	@Test
+	public void getTypeDefault02() throws Exception {
+		assertNotSame(ResourceType.Flash, ResourceType
+				.getDefaultResourceType("flAsh"));
+	}
+
+	@Test
+	public void getSubDirForType01() throws Exception {
+		assertEquals("/file", ResourceType.getDefaultResourceType(null)
+				.getPath());
+	}
+
+	@Test
+	public void getSubDirForType02() throws Exception {
+		assertEquals("/image", ResourceType.getResourceType("Image").getPath());
+	}
+}
