public String checkAppCtxRoots(String appFolderPath, String appName, String filter) {
		StringBuffer result = new StringBuffer();
		if (filter.equals("*")) {
			logger.log(LogLevel.WARNING, "The application '" + appName + "' won't be checked since all modules are filtered.");
		}
		else {
			String appFileName = appFolderPath + File.separator
					+ appName + File.separator
					+ "deployments" + File.separator
					+ appName.replace(".ear", "") + File.separator
					+ "META-INF" + File.separator
					+ "application.xml";
			try {
				HashMap<String, String> webModuleMap = Application.getWebModuleCtxRoot(appFileName);
				Iterator<Map.Entry<String, String>> it = webModuleMap.entrySet().iterator();
				while (it.hasNext()) {
					Map.Entry<String, String> entry = (Map.Entry<String, String>)it.next();
					String webModule = entry.getKey();
					if (!webModule.equals(filter)) {
						String ctxRoot = entry.getValue();
						if (ctxRoot.startsWith("/" + this.getData() + "/")) {
							result.append(appName + ":" + webModule 
									+ "@" + ctxRoot 
									+ " is correct." + System.getProperty("line.separator"));
							logger.log(LogLevel.INFO, "Applicaiton '" + appName
									+ ", Web Module '" + webModule 
									+ "', ContextRoot '" + ctxRoot 
									+ "' is correct." + System.getProperty("line.separator"));
							successPoints++;
						}
						else {
							result.append(appName + " : " + webModule 
									+ " @ " + ctxRoot 
									+ " is WRONG!" + System.getProperty("line.separator"));
							logger.log(LogLevel.ERROR, "Applicaiton '" + appName 
									+ "', Web Module '" + webModule 
									+ "', ContextRoot '" + ctxRoot 
									+ "' is WRONG!" + System.getProperty("line.separator"));
							failedPoints++;
						}
					}
					else {
						result.append(appName + ":" + webModule
								+ "' will be ignored" + System.getProperty("line.separator"));
						logger.log(LogLevel.INFO, "Applicaiton '" + appName 
								+ "', Web Module '" + webModule 
								+ "' will be ignored" + System.getProperty("line.separator"));
					}
				}
			} catch (Exception e) {
				result.append("Failed to extract context root of application '" + appName + "'." + System.getProperty("line.separator"));
				logger.log(LogLevel.ERROR, "Failed to extract context root of application '" + appName + "'.", e);
				failedPoints ++;
			}
		}
		return result.toString();
	}