<commit_before>package edu.kit.iks.Cryptographics.Vigenere;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;

import edu.kit.iks.Cryptographics.Vigenere.Demonstration.*;
import edu.kit.iks.Cryptographics.Vigenere.Experiment.FirstExperimentController;
import edu.kit.iks.Cryptographics.Vigenere.Experiment.SecondExperimentController;
import edu.kit.iks.Cryptographics.Vigenere.Explanation.FirstExplanationController;
import edu.kit.iks.Cryptographics.Vigenere.Explanation.SecondExplanationController;
import edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo;
import edu.kit.iks.CryptographicsLib.InformationController;
import edu.kit.iks.CryptographicsLib.VisualizationDifficulty;

public class VigenereVisualizationInfo extends AbstractVisualizationInfo {
	private Element vigenereResources;
	
	public VigenereVisualizationInfo() {
		SAXBuilder saxBuilder = new SAXBuilder();

		// obtain file object
		File file = new File(
				"./resources/vigenere/VigenereResources.xml");

		try {
			// converted file to document object
			Document document = saxBuilder.build(file);

			// get root node from xml
			this.vigenereResources = document.getRootElement().getChild("vigenere");
		} catch (JDOMException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public String getId() {
		return "vigenere";
	}
	
	public String getName() {
		return "Vigenère";
	}

	public String getDescription() {
		return "";
	}<commit_msg>Changed file access to use InputStream<commit_after>package edu.kit.iks.Cryptographics.Vigenere;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;

import edu.kit.iks.Cryptographics.Vigenere.Demonstration.*;
import edu.kit.iks.Cryptographics.Vigenere.Experiment.FirstExperimentController;
import edu.kit.iks.Cryptographics.Vigenere.Experiment.SecondExperimentController;
import edu.kit.iks.Cryptographics.Vigenere.Explanation.FirstExplanationController;
import edu.kit.iks.Cryptographics.Vigenere.Explanation.SecondExplanationController;
import edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo;
import edu.kit.iks.CryptographicsLib.InformationController;
import edu.kit.iks.CryptographicsLib.VisualizationDifficulty;

public class VigenereVisualizationInfo extends AbstractVisualizationInfo {
	private Element vigenereResources;
	
	public VigenereVisualizationInfo() {
		SAXBuilder saxBuilder = new SAXBuilder();

		InputStream is = this.getClass().getResourceAsStream("/vigenere/VigenereResources.xml");

		try {
			// converted file to document object
			Document document = saxBuilder.build(is);

			// get root node from xml
			this.vigenereResources = document.getRootElement().getChild("vigenere");
		} catch (JDOMException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public String getId() {
		return "vigenere";
	}
	
	public String getName() {
		return "Vigenère";
	}

	public String getDescription() {
		return "";
	}
{'fraction_non_alphanumeric': 0.10008653014133256, 'fraction_numerical': 0.0023074704355350445, 'mean_word_length': 5.170818505338079, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, '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': '1093903', 'n_tokens_mistral': 1183, 'n_tokens_neox': 1084, 'n_words': 206}