private void init() {

		/*
		 * Citire fisier de configurare
		 * 
		 * Daca apar erori la citire, atunci utilizatorul va fi informat
		 * printr-un Message Dialog si metoda va face return, fara alte operatii
		 * (practic trebuie repornita aplicatia)
		 * 
		 * sau putem face o facilitate: un dialog window, in care intrebam daca
		 * se doreste iar citirea fisierului; daca da, atunci se reapeleaza
		 * getPath()
		 */

		String res1 = getPath("XSD:");
		String res2 = getPath("EXEC:");

		if (res1.equals(XSD_ERROR) || res2.equals(XSD_ERROR)) {

			JOptionPane.showMessageDialog(this, XSD_ERROR, this.getTitle(),
					JOptionPane.ERROR_MESSAGE);
			System.exit(1);
		}

		if (res1.equals(XSD_NOPATH) || res2.equals(XSD_NOPATH)) {

			JOptionPane.showMessageDialog(this, XSD_NOPATH, this.getTitle(),
					JOptionPane.ERROR_MESSAGE);
			System.exit(1);
		}

                /*
                 * Construire folder XMLs daca el nu exista
                 */
                File f = new File("XMLs");
                
                if(!f.exists())
                {
                    if(f.mkdir());                    
                }
                
		/*
		 * Rulare parser
		 * 
		 * Parserul citeste toate fisierele xsd dintr-un folder specificat (hard
		 * coded) Intoarce un set de Operatii abstracte - execTypes
		 */
		execTypes = Parser.getExecTypes();

		/*
		 * Pasare lista executabile de binarizare/preprocesare catre ferestrele
		 * aferente; Aici fac deosebirea tipurilor generale de executabile:
		 * preprocesare / binarizare
		 */
		for (Operation execType : execTypes) {
			// tip preprocesare
			if (execType.getType() == 0) {
				preprocessingWindow.addListElement(execType);
			} // tip binarizare
			else if (execType.getType() == 1) {
				binarizationWindow.addListElement(execType);
			}
		}

		// Se afiseaza fereastra principala (se da drumul aplicatiei)
		this.setVisible(true);
	}