<commit_before>package org.verapdf.features;

import org.apache.log4j.Logger;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;

/**
 * @author <NAME>
 */
public class FeaturesPluginsLoader {
	private static final Logger LOGGER = Logger
			.getLogger(FeaturesPluginsLoader.class);


	private FeaturesPluginsLoader() {
	}

	/**
	 * Configurates features reporter
	 */
	static void loadExtractors() {
		String appHome = System.getProperty("app.home");
		if (appHome != null) {
			File dir = new File(appHome, "plugins");
			if (dir.isDirectory() && dir.canRead()) {
				List<FeaturesExtractor> extractors = getAllExtractors(dir);
				for (FeaturesExtractor ext : extractors) {
					FeaturesReporter.registerFeaturesExtractor(ext);
				}
			} else {
				LOGGER.error("Plugins folder is not exists or it can not be read.");
			}
		} else {
			LOGGER.error("Con not get system property \"app.home\"");
		}
	}<commit_msg>Corrected typo in case of missed system property app.home while loading features plugins (445 issue)<commit_after>package org.verapdf.features;

import org.apache.log4j.Logger;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;

/**
 * @author <NAME>zrukov
 */
public class FeaturesPluginsLoader {
	private static final Logger LOGGER = Logger
			.getLogger(FeaturesPluginsLoader.class);


	private FeaturesPluginsLoader() {
	}

	/**
	 * Configurates features reporter
	 */
	static void loadExtractors() {
		String appHome = System.getProperty("app.home");
		if (appHome != null) {
			File dir = new File(appHome, "plugins");
			if (dir.isDirectory() && dir.canRead()) {
				List<FeaturesExtractor> extractors = getAllExtractors(dir);
				for (FeaturesExtractor ext : extractors) {
					FeaturesReporter.registerFeaturesExtractor(ext);
				}
			} else {
				LOGGER.error("Plugins folder is not exists or it can not be read.");
			}
		} else {
			LOGGER.error("Can not get system property \"app.home\"");
		}
	}
{'fraction_non_alphanumeric': 0.11936127744510978, 'fraction_numerical': 0.001996007984031936, 'mean_word_length': 4.286919831223629, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6002448', 'n_tokens_mistral': 853, 'n_tokens_neox': 785, 'n_words': 192}