--- /dev/null
+### Librerie ###
+- installare: apache, php5, php5-mysql, mysql-server, openjdk-8-jdk
+
+### Database ###
+- aggiungere a logintesi.sql USE logintesi; se non c'e'
+- mysql -u root -p
+ create database logintesi;
+- mysql < ~claudio/tesi_applet/logintesi.sql -u root -p
+
+### Php server ###
+- mkdir Server && cd Server && tar -zxvf ../Server.tar.gz
+- cp -R ~claudio/tesi_applet/Server/webApp/* /var/www/html/
+- chown -R www-data:www-data esercizi
+- serverRequest.php: /localhost, impostare password
+- login.php: /localhost, impostare password
+- username e password admin sono nel db, tabella admin
+ mysql -u root -p logintesi
+ mysql> insert into admin values("admin","AdMin#@");
+- xmlPharse.php: ~claudio/tesi_applet/Server/server/tesi/src/com/company/esercizi.xml
+
+### Java server ###
+- vim ~/tesi_applet/Server/server/tesi/src/com/company/global.java
+ editare home, servername, ...
+- cp ~claudio/tesi_applet/Server/java-8-oracle/jre/lib/ext/* /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/
+ PERCHE' IL CLASSPATH NON FUNZIONA??
+- javac *.java
+- cd /home/claudio/tesi_applet/Server/server/tesi/src
+ java com.company.superServer
+++ /dev/null
-### Librerie ###
-- installare: apache, php5, php5-mysql, mysql-server, openjdk-8-jdk
-
-### Database ###
-- aggiungere a logintesi.sql USE logintesi; se non c'e'
-- mysql -u root -p
- create database logintesi;
-- mysql < ~claudio/tesi_applet/logintesi.sql -u root -p
-
-### Php server ###
-- mkdir Server && cd Server && tar -zxvf ../Server.tar.gz
-- cp -R ~claudio/tesi_applet/Server/webApp/* /var/www/html/
-- chown -R www-data:www-data esercizi
-- serverRequest.php: /localhost, impostare password
-- login.php: /localhost, impostare password
-- username e password admin sono nel db, tabella admin
- mysql -u root -p logintesi
- mysql> insert into admin values("admin","AdMin#@");
-- xmlPharse.php: ~claudio/tesi_applet/Server/server/tesi/src/com/company/esercizi.xml
-
-### Java server ###
-- vim ~/tesi_applet/Server/server/tesi/src/com/company/global.java
- editare home, servername, ...
-- cp ~claudio/tesi_applet/Server/java-8-oracle/jre/lib/ext/* /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/
- PERCHE' IL CLASSPATH NON FUNZIONA??
-- javac *.java
-- cd /home/claudio/tesi_applet/Server/server/tesi/src
- java com.company.superServer
+++ /dev/null
--- phpMyAdmin SQL Dump
--- version 4.0.10deb1
--- http://www.phpmyadmin.net
---
--- Host: localhost
--- Generato il: Nov 14, 2014 alle 16:45
--- Versione del server: 5.5.38-0ubuntu0.14.04.1
--- Versione PHP: 5.5.9-1ubuntu4.4
-
-USE logintesi;
-
-SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
-SET time_zone = "+00:00";
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-
---
--- Database: `logintesi`
---
-
--- --------------------------------------------------------
-
---
--- Struttura della tabella `admin`
---
-
-CREATE TABLE IF NOT EXISTS `admin` (
- `username` varchar(30) COLLATE utf8_bin NOT NULL,
- `password` varchar(30) COLLATE utf8_bin NOT NULL,
- UNIQUE KEY `username` (`username`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
---
--- Dump dei dati per la tabella `admin`
---
-
-INSERT INTO `admin` (`username`, `password`) VALUES
-('danilo.berardinelli', '123stella');
-
--- --------------------------------------------------------
-
---
--- Struttura della tabella `aggprova`
---
-
-CREATE TABLE IF NOT EXISTS `aggprova` (
- `chiave` varchar(50) COLLATE utf8_bin NOT NULL,
- `time` double NOT NULL,
- `checks` int(11) NOT NULL,
- PRIMARY KEY (`chiave`),
- UNIQUE KEY `key` (`chiave`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
---
--- Dump dei dati per la tabella `aggprova`
---
-
-INSERT INTO `aggprova` (`chiave`, `time`, `checks`) VALUES
-('10157426982320510', 1415145803639, 1),
-('10244937857444543', 1415284664538, 1),
-('10308106918353456', 1415243065790, 1),
-('10385651273134167', 1415289922479, 1),
-('10414239987472834', 1415285560312, 1),
-('1097785784725414', 1415284853312, 1),
-('10983265112121106', 1415242393295, 1),
-('1286713061377424', 1415036978051, 1),
-('1408285479764558', 1415278883075, 1),
-('1490801371315190', 1415285333816, 1),
-('1741331087669285', 1415811578318, 1),
-('18516070104459806', 1415276863684, 1),
-('2217380018747176', 1415145507080, 1),
-('2260502250327125', 1415284745047, 1),
-('2473377684156933', 1415284628252, 1),
-('2504043195911198', 1415285115955, 1),
-('2686774762838581', 1415278911038, 1),
-('2744239278608085', 1415036291300, 1),
-('2956509786688513', 1415271435934, 1),
-('2961042458190883', 1415277033282, 1),
-('3109253928772677', 1415284540445, 1),
-('3311335330604631', 1415237862686, 1),
-('3486758220086141', 1415242975878, 1),
-('3571361357113219', 1415285156048, 1),
-('4091389111256716', 1415025754182, 1),
-('42848425102166715', 1415242068918, 1),
-('4457124515989723', 1415811050681, 1),
-('4577865146663611', 1415285170075, 1),
-('4796791993070257', 1415288554998, 1),
-('5005653368852396', 1415285312682, 1),
-('5226217037177487', 1415145721770, 1),
-('5308112899337743', 1415037335958, 1),
-('5362524692721963', 1415811381242, 1),
-('5382075363462279', 1415272904986, 1),
-('5650512812480934', 1415271249954, 1),
-('5735648814288922', 1415036889526, 1),
-('62029084106069252', 1415241839377, 1),
-('6712150141518271', 1415285510994, 1),
-('6786243849285602', 1415811389915, 1),
-('6992436366972266', 1415242705239, 1),
-('7106071695334106', 1415811170493, 1),
-('7158700078303143', 1415284726466, 1),
-('7307203380313108', 1415819825863, 1),
-('75372031101482498', 1415284519581, 1),
-('7703030541673651', 1415272914342, 1),
-('8065501483698608', 1415819808393, 1),
-('8468895456378674', 1415241733824, 1),
-('8760904545449404', 1415285230458, 1),
-('8838732364680254', 1415271877269, 1),
-('9576830372163956', 1415283251776, 1);
-
--- --------------------------------------------------------
-
---
--- Struttura della tabella `confmail`
---
-
-CREATE TABLE IF NOT EXISTS `confmail` (
- `user` varchar(50) COLLATE utf8_bin NOT NULL,
- `pass` varchar(50) COLLATE utf8_bin NOT NULL,
- `hash` varchar(50) COLLATE utf8_bin NOT NULL,
- `time` double DEFAULT NULL,
- UNIQUE KEY `user` (`user`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
--- --------------------------------------------------------
-
---
--- Struttura della tabella `connessi`
---
-
-CREATE TABLE IF NOT EXISTS `connessi` (
- `user` varchar(50) COLLATE utf8_bin NOT NULL,
- `tempkey` varchar(50) COLLATE utf8_bin NOT NULL,
- `thread` tinyint(1) NOT NULL,
- `time` double NOT NULL,
- UNIQUE KEY `tempkey` (`tempkey`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
---
--- Dump dei dati per la tabella `connessi`
---
-
-INSERT INTO `connessi` (`user`, `tempkey`, `thread`, `time`) VALUES
-('danilo.berardinelli@studio.unibo.it', '2545550210880139', 0, 1415975986391);
-
--- --------------------------------------------------------
-
---
--- Struttura della tabella `esercizi`
---
-
-CREATE TABLE IF NOT EXISTS `esercizi` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `esercizio` varchar(20) COLLATE utf8_bin NOT NULL,
- `utente` varchar(50) COLLATE utf8_bin NOT NULL,
- `click` int(11) NOT NULL,
- `time` double NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `id` (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=4 ;
-
---
--- Dump dei dati per la tabella `esercizi`
---
-
-INSERT INTO `esercizi` (`id`, `esercizio`, `utente`, `click`, `time`) VALUES
-(1, 'tautologia.xml', 'danilo.berardinelli@studio.unibo.it', 1, 1415923860705),
-(2, 'tautologia.xml', 'danilo.berardinelli@studio.unibo.it', 1, 1415975624027),
-(3, 'tautologia.xml', 'danilo.berardinelli@studio.unibo.it', 3, 1415975983857);
-
--- --------------------------------------------------------
-
---
--- Struttura della tabella `utenti`
---
-
-CREATE TABLE IF NOT EXISTS `utenti` (
- `user` varchar(50) COLLATE utf8_bin NOT NULL,
- `pass` varchar(15) COLLATE utf8_bin NOT NULL,
- UNIQUE KEY `user` (`user`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
---
--- Dump dei dati per la tabella `utenti`
---
-
-INSERT INTO `utenti` (`user`, `pass`) VALUES
-('danilo.berardinelli@studio.unibo.it', '123stella');
-
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="CompilerConfiguration">
- <option name="DEFAULT_COMPILER" value="Javac" />
- <resourceExtensions />
- <wildcardResourcePatterns>
- <entry name="!?*.java" />
- <entry name="!?*.form" />
- <entry name="!?*.class" />
- <entry name="!?*.groovy" />
- <entry name="!?*.scala" />
- <entry name="!?*.flex" />
- <entry name="!?*.kt" />
- <entry name="!?*.clj" />
- </wildcardResourcePatterns>
- <annotationProcessing>
- <profile default="true" name="Default" enabled="false">
- <processorPath useClasspath="true" />
- </profile>
- </annotationProcessing>
- </component>
-</project>
\ No newline at end of file
+++ /dev/null
-<component name="CopyrightManager">
- <settings default="" />
-</component>
\ No newline at end of file
+++ /dev/null
-<html>Simple <b>Java</b> application that includes a class with <code>main()</code> method</html>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="EntryPointsManager">
- <entry_points version="2.0" />
- </component>
- <component name="ProjectKey">
- <option name="state" value="project://e2804f05-5315-4fc6-a121-c522a6c26470" />
- </component>
- <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true">
- <output url="file://$PROJECT_DIR$/out" />
- </component>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="ProjectModuleManager">
- <modules>
- <module fileurl="file://$PROJECT_DIR$/tesi.iml" filepath="$PROJECT_DIR$/tesi.iml" />
- </modules>
- </component>
-</project>
\ No newline at end of file
+++ /dev/null
-<template>
- <input-field default="com.company">IJ_BASE_PACKAGE</input-field>
-</template>
\ No newline at end of file
+++ /dev/null
-<component name="DependencyValidationManager">
- <state>
- <option name="SKIP_IMPORT_STATEMENTS" value="false" />
- </state>
-</component>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="Palette2">
- <group name="Swing">
- <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
- </item>
- <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
- </item>
- <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
- </item>
- <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
- <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
- </item>
- <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
- <initial-values>
- <property name="text" value="Button" />
- </initial-values>
- </item>
- <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
- <initial-values>
- <property name="text" value="RadioButton" />
- </initial-values>
- </item>
- <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
- <initial-values>
- <property name="text" value="CheckBox" />
- </initial-values>
- </item>
- <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
- <initial-values>
- <property name="text" value="Label" />
- </initial-values>
- </item>
- <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
- <preferred-size width="150" height="-1" />
- </default-constraints>
- </item>
- <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
- <preferred-size width="150" height="-1" />
- </default-constraints>
- </item>
- <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
- <preferred-size width="150" height="-1" />
- </default-constraints>
- </item>
- <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
- </item>
- <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
- <preferred-size width="200" height="200" />
- </default-constraints>
- </item>
- <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
- <preferred-size width="200" height="200" />
- </default-constraints>
- </item>
- <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
- </item>
- <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
- </item>
- <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
- </item>
- <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
- </item>
- <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
- <preferred-size width="-1" height="20" />
- </default-constraints>
- </item>
- <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
- </item>
- <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
- </item>
- </group>
- </component>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="VcsDirectoryMappings">
- <mapping directory="" vcs="" />
- </component>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="ChangeListManager">
- <list default="true" id="f9bf9f33-b4ab-4b7e-835e-3aefbf8ab14e" name="Default" comment="" />
- <ignored path="testi.iws" />
- <ignored path=".idea/workspace.xml" />
- <ignored path="$PROJECT_DIR$/out/" />
- <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
- <option name="TRACKING_ENABLED" value="true" />
- <option name="SHOW_DIALOG" value="false" />
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
- <option name="LAST_RESOLUTION" value="IGNORE" />
- </component>
- <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
- <component name="CreatePatchCommitExecutor">
- <option name="PATCH_PATH" value="" />
- </component>
- <component name="DaemonCodeAnalyzer">
- <disable_hints />
- </component>
- <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
- <component name="FavoritesManager">
- <favorites_list name="testi" />
- </component>
- <component name="FileEditorManager">
- <leaf>
- <file leaf-file-name="EsNameParser.java" pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="90" max-vertical-offset="2466">
- <caret line="17" column="19" selection-start-line="17" selection-start-column="19" selection-end-line="17" selection-end-column="19" />
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="DirectoryWhatcer.java" pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1980">
- <caret line="25" column="42" selection-start-line="25" selection-start-column="42" selection-end-line="25" selection-end-column="42" />
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="esercizi.xml" pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/com/company/esercizi.xml">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="198">
- <caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="global.java" pinned="false" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/src/com/company/global.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.3452055" vertical-offset="0" max-vertical-offset="730">
- <caret line="14" column="0" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="personalServer.java" pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/com/company/personalServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="234" max-vertical-offset="990">
- <caret line="20" column="12" selection-start-line="20" selection-start-column="12" selection-end-line="20" selection-end-column="12" />
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="dbConnect.java" pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/com/company/dbConnect.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="2160" max-vertical-offset="5724">
- <caret line="226" column="19" selection-start-line="226" selection-start-column="19" selection-end-line="226" selection-end-column="19" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="suString.java" pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/com/company/suString.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="324" max-vertical-offset="1296">
- <caret line="18" column="13" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="superServer.java" pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="38" max-vertical-offset="1044">
- <caret line="16" column="24" selection-start-line="16" selection-start-column="24" selection-end-line="16" selection-end-column="43" />
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="guestServer.java" pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/com/company/guestServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="1242" max-vertical-offset="1404">
- <caret line="74" column="0" selection-start-line="74" selection-start-column="0" selection-end-line="74" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- </leaf>
- </component>
- <component name="IdeDocumentHistory">
- <option name="CHANGED_PATHS">
- <list>
- <option value="$PROJECT_DIR$/src/com/company/testEsname.java" />
- <option value="$PROJECT_DIR$/src/com/company/DeleteFileExample.java" />
- <option value="$PROJECT_DIR$/src/com/server/superServer.java" />
- <option value="$PROJECT_DIR$/src/com/server/xmlOperation.java" />
- <option value="$PROJECT_DIR$/src/com/server/DirectoryWhatcer.java" />
- <option value="$PROJECT_DIR$/src/com/company/hash.java" />
- <option value="$PROJECT_DIR$/src/com/company/gommo.java" />
- <option value="$PROJECT_DIR$/src/com/company/xmlOperation.java" />
- <option value="$PROJECT_DIR$/src/com/company/MD5.java" />
- <option value="$PROJECT_DIR$/src/com/company/guestServer.java" />
- <option value="$PROJECT_DIR$/src/com/company/EmailSender.java" />
- <option value="$PROJECT_DIR$/src/com/company/suString.java" />
- <option value="$PROJECT_DIR$/src/com/company/httpget.java" />
- <option value="$PROJECT_DIR$/src/com/company/personalServer.java" />
- <option value="$PROJECT_DIR$/src/com/company/dbConnect.java" />
- <option value="$PROJECT_DIR$/src/com/company/EsNameParser.java" />
- <option value="$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java" />
- <option value="$PROJECT_DIR$/src/com/company/superServer.java" />
- <option value="$PROJECT_DIR$/src/com/company/global.java" />
- </list>
- </option>
- </component>
- <component name="ProjectFrameBounds">
- <option name="x" value="-1" />
- <option name="y" value="26" />
- <option name="width" value="1442" />
- <option name="height" value="875" />
- </component>
- <component name="ProjectInspectionProfilesVisibleTreeState">
- <entry key="Project Default">
- <profile-state>
- <expanded-state>
- <State>
- <id />
- </State>
- <State>
- <id>Control flow issues</id>
- </State>
- </expanded-state>
- <selected-state>
- <State>
- <id>InfiniteLoopStatement</id>
- </State>
- </selected-state>
- </profile-state>
- </entry>
- </component>
- <component name="ProjectLevelVcsManager" settingsEditedManually="false">
- <OptionsSetting value="true" id="Add" />
- <OptionsSetting value="true" id="Remove" />
- <OptionsSetting value="true" id="Checkout" />
- <OptionsSetting value="true" id="Update" />
- <OptionsSetting value="true" id="Status" />
- <OptionsSetting value="true" id="Edit" />
- <ConfirmationsSetting value="0" id="Add" />
- <ConfirmationsSetting value="0" id="Remove" />
- </component>
- <component name="ProjectView">
- <navigator currentView="ProjectPane" proportions="" version="1">
- <flattenPackages />
- <showMembers />
- <showModules />
- <showLibraryContents />
- <hideEmptyPackages />
- <abbreviatePackageNames />
- <autoscrollToSource />
- <autoscrollFromSource />
- <sortByType />
- </navigator>
- <panes>
- <pane id="Scope" />
- <pane id="PackagesPane" />
- <pane id="ProjectPane">
- <subPane>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="testi" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="testi" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="testi" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="testi" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="testi" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="company" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="testi" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="testi" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="company" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="DirectoryWhatcer.java" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.ClassesTreeStructureProvider$PsiClassOwnerTreeNode" />
- </PATH_ELEMENT>
- </PATH>
- </subPane>
- </pane>
- </panes>
- </component>
- <component name="PropertiesComponent">
- <property name="GoToClass.includeLibraries" value="false" />
- <property name="GoToClass.toSaveIncludeLibraries" value="false" />
- <property name="GoToFile.includeJavaFiles" value="false" />
- <property name="MemberChooser.sorted" value="false" />
- <property name="MemberChooser.showClasses" value="true" />
- <property name="MemberChooser.copyJavadoc" value="false" />
- <property name="recentsLimit" value="5" />
- <property name="restartRequiresConfirmation" value="true" />
- <property name="FullScreen" value="false" />
- <property name="last_opened_file_path" value="$PROJECT_DIR$" />
- <property name="options.lastSelected" value="editor.preferences.appearance" />
- <property name="options.splitter.main.proportions" value="0.3" />
- <property name="options.splitter.details.proportions" value="0.2" />
- <property name="project.structure.last.edited" value="SDKs" />
- <property name="project.structure.proportion" value="0.15" />
- <property name="project.structure.side.proportion" value="0.2" />
- <property name="dynamic.classpath" value="false" />
- </component>
- <component name="RunManager" selected="Application.Main">
- <configuration default="true" type="JUnit" factoryName="JUnit">
- <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
- <module name="" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- <option name="PACKAGE_NAME" />
- <option name="MAIN_CLASS_NAME" />
- <option name="METHOD_NAME" />
- <option name="TEST_OBJECT" value="class" />
- <option name="VM_PARAMETERS" />
- <option name="PARAMETERS" />
- <option name="WORKING_DIRECTORY" />
- <option name="ENV_VARIABLES" />
- <option name="PASS_PARENT_ENVS" value="true" />
- <option name="TEST_SEARCH_SCOPE">
- <value defaultName="singleModule" />
- </option>
- <envs />
- <patterns />
- <method />
- </configuration>
- <configuration default="true" type="AndroidRunConfigurationType" factoryName="Android Application">
- <module name="" />
- <option name="ACTIVITY_CLASS" value="" />
- <option name="MODE" value="default_activity" />
- <option name="DEPLOY" value="true" />
- <option name="ARTIFACT_NAME" value="" />
- <option name="TARGET_SELECTION_MODE" value="EMULATOR" />
- <option name="USE_LAST_SELECTED_DEVICE" value="false" />
- <option name="PREFERRED_AVD" value="" />
- <option name="USE_COMMAND_LINE" value="true" />
- <option name="COMMAND_LINE" value="" />
- <option name="WIPE_USER_DATA" value="false" />
- <option name="DISABLE_BOOT_ANIMATION" value="false" />
- <option name="NETWORK_SPEED" value="full" />
- <option name="NETWORK_LATENCY" value="none" />
- <option name="CLEAR_LOGCAT" value="false" />
- <option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
- <option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
- <method />
- </configuration>
- <configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Tests">
- <module name="" />
- <option name="TESTING_TYPE" value="0" />
- <option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
- <option name="METHOD_NAME" value="" />
- <option name="CLASS_NAME" value="" />
- <option name="PACKAGE_NAME" value="" />
- <option name="TARGET_SELECTION_MODE" value="EMULATOR" />
- <option name="USE_LAST_SELECTED_DEVICE" value="false" />
- <option name="PREFERRED_AVD" value="" />
- <option name="USE_COMMAND_LINE" value="true" />
- <option name="COMMAND_LINE" value="" />
- <option name="WIPE_USER_DATA" value="false" />
- <option name="DISABLE_BOOT_ANIMATION" value="false" />
- <option name="NETWORK_SPEED" value="full" />
- <option name="NETWORK_LATENCY" value="none" />
- <option name="CLEAR_LOGCAT" value="false" />
- <option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
- <option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
- <method />
- </configuration>
- <configuration default="true" type="GradleRunConfiguration" factoryName="Gradle">
- <ExternalSystemSettings>
- <option name="executionName" />
- <option name="externalProjectPath" />
- <option name="externalSystemIdString" value="GRADLE" />
- <option name="scriptParameters" />
- <option name="taskDescriptions">
- <list />
- </option>
- <option name="taskNames">
- <list />
- </option>
- <option name="vmOptions" />
- </ExternalSystemSettings>
- <method />
- </configuration>
- <configuration default="true" type="JarApplication" factoryName="JAR Application">
- <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
- <envs />
- <method />
- </configuration>
- <configuration default="true" type="Application" factoryName="Application">
- <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
- <option name="MAIN_CLASS_NAME" />
- <option name="VM_PARAMETERS" />
- <option name="PROGRAM_PARAMETERS" />
- <option name="WORKING_DIRECTORY" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- <option name="ENABLE_SWING_INSPECTOR" value="false" />
- <option name="ENV_VARIABLES" />
- <option name="PASS_PARENT_ENVS" value="true" />
- <module name="" />
- <envs />
- <method />
- </configuration>
- <configuration default="true" type="TestNG" factoryName="TestNG">
- <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
- <module name="" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- <option name="SUITE_NAME" />
- <option name="PACKAGE_NAME" />
- <option name="MAIN_CLASS_NAME" />
- <option name="METHOD_NAME" />
- <option name="GROUP_NAME" />
- <option name="TEST_OBJECT" value="CLASS" />
- <option name="VM_PARAMETERS" />
- <option name="PARAMETERS" />
- <option name="WORKING_DIRECTORY" />
- <option name="OUTPUT_DIRECTORY" />
- <option name="ANNOTATION_TYPE" />
- <option name="ENV_VARIABLES" />
- <option name="PASS_PARENT_ENVS" value="true" />
- <option name="TEST_SEARCH_SCOPE">
- <value defaultName="singleModule" />
- </option>
- <option name="USE_DEFAULT_REPORTERS" value="false" />
- <option name="PROPERTIES_FILE" />
- <envs />
- <properties />
- <listeners />
- <method />
- </configuration>
- <configuration default="false" name="Main" type="Application" factoryName="Application">
- <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
- <option name="MAIN_CLASS_NAME" value="com.company.superServer" />
- <option name="VM_PARAMETERS" value="" />
- <option name="PROGRAM_PARAMETERS" value="" />
- <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" value="" />
- <option name="ENABLE_SWING_INSPECTOR" value="false" />
- <option name="ENV_VARIABLES" />
- <option name="PASS_PARENT_ENVS" value="true" />
- <module name="tesi" />
- <envs />
- <RunnerSettings RunnerId="Debug">
- <option name="DEBUG_PORT" value="" />
- <option name="TRANSPORT" value="0" />
- <option name="LOCAL" value="true" />
- </RunnerSettings>
- <RunnerSettings RunnerId="Run" />
- <ConfigurationWrapper RunnerId="Debug" />
- <ConfigurationWrapper RunnerId="Run" />
- <method />
- </configuration>
- <list size="1">
- <item index="0" class="java.lang.String" itemvalue="Application.Main" />
- </list>
- </component>
- <component name="ShelveChangesManager" show_recycled="false" />
- <component name="SvnConfiguration">
- <configuration />
- </component>
- <component name="TaskManager">
- <task active="true" id="Default" summary="Default task">
- <changelist id="f9bf9f33-b4ab-4b7e-835e-3aefbf8ab14e" name="Default" comment="" />
- <created>1415700559063</created>
- <option name="number" value="Default" />
- <updated>1415700559063</updated>
- </task>
- <servers />
- </component>
- <component name="ToolWindowManager">
- <frame x="-1" y="26" width="1442" height="875" extended-state="6" />
- <editor active="false" />
- <layout>
- <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
- <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
- <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
- <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32820514" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
- <window_info id="Palette	" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
- <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
- <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3992298" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
- <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
- <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
- <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
- <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32760897" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
- <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
- <window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25679544" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
- <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
- <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
- <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
- <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
- <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3976222" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
- <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
- <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
- <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32991013" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
- <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
- <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32962447" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
- <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
- <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32991013" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
- </layout>
- </component>
- <component name="Vcs.Log.UiProperties">
- <option name="RECENTLY_FILTERED_USER_GROUPS">
- <collection />
- </option>
- <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
- <collection />
- </option>
- </component>
- <component name="VcsContentAnnotationSettings">
- <option name="myLimit" value="2678400000" />
- </component>
- <component name="VcsManagerConfiguration">
- <option name="myTodoPanelSettings">
- <TodoPanelSettings />
- </option>
- </component>
- <component name="XDebuggerManager">
- <breakpoint-manager>
- <option name="time" value="5" />
- </breakpoint-manager>
- <watches-manager />
- </component>
- <component name="antWorkspaceConfiguration">
- <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
- <option name="FILTER_TARGETS" value="false" />
- </component>
- <component name="editorHistoryManager">
- <entry file="file://$PROJECT_DIR$/src/com/company/guestServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="1242" max-vertical-offset="1404">
- <caret line="74" column="0" selection-start-line="74" selection-start-column="0" selection-end-line="74" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="1548" max-vertical-offset="2466">
- <caret line="98" column="21" selection-start-line="98" selection-start-column="21" selection-end-line="98" selection-end-column="21" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/global.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="144" max-vertical-offset="252">
- <caret line="8" column="0" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/EmailSender.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="43" max-vertical-offset="2088">
- <caret line="15" column="0" selection-start-line="15" selection-start-column="0" selection-end-line="15" selection-end-column="0" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/suString.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1296">
- <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/guestServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="905" max-vertical-offset="1404">
- <caret line="74" column="0" selection-start-line="74" selection-start-column="0" selection-end-line="74" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="162" max-vertical-offset="1638">
- <caret line="29" column="62" selection-start-line="29" selection-start-column="37" selection-end-line="29" selection-end-column="62" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/xmlOperation.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="1059" max-vertical-offset="2556">
- <caret line="71" column="9" selection-start-line="71" selection-start-column="9" selection-end-line="71" selection-end-column="9" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="291" max-vertical-offset="1044">
- <caret line="41" column="0" selection-start-line="41" selection-start-column="0" selection-end-line="41" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="180" max-vertical-offset="2466">
- <caret line="22" column="80" selection-start-line="22" selection-start-column="80" selection-end-line="22" selection-end-column="80" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/httpget.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="646" max-vertical-offset="1386">
- <caret line="59" column="59" selection-start-line="59" selection-start-column="59" selection-end-line="59" selection-end-column="59" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/personalServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="1098">
- <caret line="22" column="30" selection-start-line="22" selection-start-column="30" selection-end-line="22" selection-end-column="30" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/dbConnect.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="7131" max-vertical-offset="8262">
- <caret line="449" column="45" selection-start-line="449" selection-start-column="45" selection-end-line="449" selection-end-column="45" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/MD5.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="16" max-vertical-offset="756">
- <caret line="19" column="71" selection-start-line="19" selection-start-column="71" selection-end-line="19" selection-end-column="71" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="162" max-vertical-offset="1638">
- <caret line="29" column="62" selection-start-line="29" selection-start-column="37" selection-end-line="29" selection-end-column="62" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/xmlOperation.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="826" max-vertical-offset="2592">
- <caret line="55" column="97" selection-start-line="55" selection-start-column="97" selection-end-line="55" selection-end-column="97" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="291" max-vertical-offset="1044">
- <caret line="41" column="0" selection-start-line="41" selection-start-column="0" selection-end-line="41" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2466">
- <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/httpget.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="486" max-vertical-offset="1350">
- <caret line="57" column="20" selection-start-line="57" selection-start-column="20" selection-end-line="57" selection-end-column="20" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/guestServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="1548">
- <caret line="23" column="41" selection-start-line="23" selection-start-column="41" selection-end-line="23" selection-end-column="41" />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/personalServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="363" max-vertical-offset="1116">
- <caret line="11" column="6" selection-start-line="11" selection-start-column="6" selection-end-line="11" selection-end-column="6" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/dbConnect.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="6928" max-vertical-offset="7668">
- <caret line="15" column="5" selection-start-line="15" selection-start-column="5" selection-end-line="15" selection-end-column="5" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/MD5.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="16" max-vertical-offset="756">
- <caret line="13" column="16" selection-start-line="13" selection-start-column="16" selection-end-line="13" selection-end-column="16" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/xmlOperation.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="1317" max-vertical-offset="2592">
- <caret line="98" column="20" selection-start-line="98" selection-start-column="20" selection-end-line="98" selection-end-column="20" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="549" max-vertical-offset="1044">
- <caret line="41" column="0" selection-start-line="41" selection-start-column="0" selection-end-line="41" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="558" max-vertical-offset="2466">
- <caret line="59" column="13" selection-start-line="59" selection-start-column="13" selection-end-line="59" selection-end-column="13" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/httpget.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1350">
- <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="162" max-vertical-offset="1530">
- <caret line="40" column="61" selection-start-line="40" selection-start-column="61" selection-end-line="40" selection-end-column="61" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/xmlOperation.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="657" max-vertical-offset="2016">
- <caret line="51" column="0" selection-start-line="51" selection-start-column="0" selection-end-line="52" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="342" max-vertical-offset="1044">
- <caret line="35" column="44" selection-start-line="35" selection-start-column="44" selection-end-line="35" selection-end-column="44" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2466">
- <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/httpget.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="126" max-vertical-offset="1350">
- <caret line="16" column="0" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="76" max-vertical-offset="1422">
- <caret line="34" column="20" selection-start-line="34" selection-start-column="20" selection-end-line="34" selection-end-column="20" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="jar:///usr/lib/jvm/java-8-oracle/src.zip!/java/lang/ClassLoader.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.33333334" vertical-offset="5109" max-vertical-offset="38286">
- <caret line="356" column="0" selection-start-line="356" selection-start-column="0" selection-end-line="356" selection-end-column="0" />
- </state>
- </provider>
- </entry>
- <entry file="jar:///usr/lib/jvm/java-8-oracle/src.zip!/java/lang/Class.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.33333334" vertical-offset="3273" max-vertical-offset="63540">
- <caret line="258" column="0" selection-start-line="258" selection-start-column="0" selection-end-line="258" selection-end-column="0" />
- </state>
- </provider>
- </entry>
- <entry file="jar:///usr/lib/jvm/java-8-oracle/src.zip!/java/lang/Thread.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="12201" max-vertical-offset="35352">
- <caret line="744" column="0" selection-start-line="744" selection-start-column="0" selection-end-line="744" selection-end-column="0" />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/tesi.iml">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="753">
- <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
- </state>
- </provider>
- </entry>
- <entry file="jar:///usr/lib/jvm/java-8-oracle/jre/lib/ext/commons-codec-1.10.jar!/org/apache/commons/codec/binary/Hex.class">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.27197802" vertical-offset="0" max-vertical-offset="1998">
- <caret line="19" column="23" selection-start-line="0" selection-start-column="0" selection-end-line="131" selection-end-column="0" />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/xmlOperation.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.19672132" vertical-offset="0" max-vertical-offset="2376">
- <caret line="18" column="55" selection-start-line="18" selection-start-column="35" selection-end-line="18" selection-end-column="55" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/MD5.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.051460363" vertical-offset="161" max-vertical-offset="936">
- <caret line="11" column="11" selection-start-line="11" selection-start-column="11" selection-end-line="11" selection-end-column="11" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/suString.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="324" max-vertical-offset="1296">
- <caret line="18" column="13" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/EmailSender.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.21311475" vertical-offset="1302" max-vertical-offset="2088">
- <caret line="81" column="37" selection-start-line="81" selection-start-column="37" selection-end-line="81" selection-end-column="37" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/httpget.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.5757997" vertical-offset="0" max-vertical-offset="1386">
- <caret line="31" column="94" selection-start-line="31" selection-start-column="94" selection-end-line="31" selection-end-column="94" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/guestServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="905" max-vertical-offset="1404">
- <caret line="74" column="0" selection-start-line="74" selection-start-column="0" selection-end-line="74" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/personalServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="990">
- <caret line="20" column="12" selection-start-line="20" selection-start-column="12" selection-end-line="20" selection-end-column="12" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="38" max-vertical-offset="1044">
- <caret line="16" column="24" selection-start-line="16" selection-start-column="24" selection-end-line="16" selection-end-column="43" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/dbConnect.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="2160" max-vertical-offset="5724">
- <caret line="226" column="19" selection-start-line="226" selection-start-column="19" selection-end-line="226" selection-end-column="19" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1980">
- <caret line="25" column="42" selection-start-line="25" selection-start-column="42" selection-end-line="25" selection-end-column="42" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/esercizi.xml">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="198">
- <caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2466">
- <caret line="17" column="19" selection-start-line="17" selection-start-column="19" selection-end-line="17" selection-end-column="19" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/com/company/global.java">
- <provider selected="true" editor-type-id="text-editor">
- <state vertical-scroll-proportion="0.3452055" vertical-offset="0" max-vertical-offset="730">
- <caret line="14" column="0" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
- <folding />
- </state>
- </provider>
- </entry>
- </component>
- <component name="masterDetails">
- <states>
- <state key="ArtifactsStructureConfigurable.UI">
- <settings>
- <artifact-editor />
- <splitter-proportions>
- <option name="proportions">
- <list>
- <option value="0.2" />
- </list>
- </option>
- </splitter-proportions>
- </settings>
- </state>
- <state key="FacetStructureConfigurable.UI">
- <settings>
- <last-edited>No facets are configured</last-edited>
- <splitter-proportions>
- <option name="proportions">
- <list>
- <option value="0.2" />
- </list>
- </option>
- </splitter-proportions>
- </settings>
- </state>
- <state key="GlobalLibrariesConfigurable.UI">
- <settings>
- <splitter-proportions>
- <option name="proportions">
- <list>
- <option value="0.2" />
- </list>
- </option>
- </splitter-proportions>
- </settings>
- </state>
- <state key="JdkListConfigurable.UI">
- <settings>
- <last-edited>1.8</last-edited>
- <splitter-proportions>
- <option name="proportions">
- <list>
- <option value="0.2" />
- </list>
- </option>
- </splitter-proportions>
- </settings>
- </state>
- <state key="ModuleStructureConfigurable.UI">
- <settings>
- <last-edited>tesi</last-edited>
- <splitter-proportions>
- <option name="proportions">
- <list>
- <option value="0.2" />
- </list>
- </option>
- </splitter-proportions>
- </settings>
- </state>
- <state key="ProjectLibrariesConfigurable.UI">
- <settings>
- <splitter-proportions>
- <option name="proportions">
- <list>
- <option value="0.2" />
- </list>
- </option>
- </splitter-proportions>
- </settings>
- </state>
- </states>
- </component>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<esercizi>\r
- <esercizio md5="e687f326a904946f498421a0409916bf">aalbero.xml</esercizio>\r
- <esercizio md5="d3d4772339c39d408a1b92a24d3c9311">tautologia.xml</esercizio>\r
-</esercizi>\r
+++ /dev/null
-<esercizi>
- <esercizio>albero.xml</esercizio>
-</esercizi>
\ No newline at end of file
+++ /dev/null
-package com.company;
-
-import java.io.*;
-import java.nio.file.Path;
-import java.nio.file.StandardWatchEventKinds;
-import java.nio.file.WatchEvent;
-import java.nio.file.WatchEvent.Kind;
-import java.nio.file.WatchKey;
-import java.nio.file.WatchService;
-import java.security.NoSuchAlgorithmException;
-import java.sql.SQLException;
-import java.util.ArrayList;
-
-// Simple class to watch directory events.
-class DirectoryWatcher implements Runnable {
-
- private Path path;
-
- public DirectoryWatcher(Path path) {
- this.path = path;
- }
-
- //rimuove tutti gli elementi non validi
- private void pulisciCartella() {
- File dir = new File(global.locationEsercizi);
- String[] lista=dir.list();
- for(String name : lista)
- {
- if (!EsNameParser.check(name))
- {
- File file = new File(global.locationEsercizi+name);
- if (file.delete())
- System.out.println("eliminato: "+name);
- else
- System.out.println("problema di eliminazione file");
- }
- else
- {
- xmlOperation es=new xmlOperation();
- File car=new File(global.listaEsercizi);
- if (car.exists()) {
- dbConnect db=new dbConnect();
- try {
- ArrayList<String> esercizi=suString.stringToArrayList(db.dbQuery("4"));
- boolean add=true;
- for(String esercizio : esercizi)
- {
- if(esercizio.equals(name))
- add=false;
- }
- if(add)
- es.add(name);
- } catch (SQLException e) {
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InstantiationException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
-
- // print the events and the affected file
- private void printEvent(WatchEvent<?> event) throws IOException {
- Kind<?> kind = event.kind();
- if (kind.equals(StandardWatchEventKinds.ENTRY_CREATE))
- {
- Path pathCreated = (Path) event.context();
- System.out.println("Entry created:" + pathCreated);
- boolean check = EsNameParser.check(pathCreated.getFileName().toString());
- if(!check)
- {
- File file = new File(global.locationEsercizi+pathCreated.getFileName().toString());
- if(file.delete())
- System.out.println("eliminato");
- else
- System.out.println("problema di eliminazione file");
- }
- else
- {
- xmlOperation es=new xmlOperation();
- File dir=new File(global.listaEsercizi);
- if (dir.exists())
- es.add(pathCreated.getFileName().toString());
- }
- }
- else if (kind.equals(StandardWatchEventKinds.ENTRY_DELETE))
- {
- Path pathDeleted = (Path) event.context();
- System.out.println("Entry deleted:" + pathDeleted);
- xmlOperation es=new xmlOperation();
- File dir=new File(global.listaEsercizi);
- if (dir.exists())
- es.remove(pathDeleted.getFileName().toString());
- }
- else if (kind.equals(StandardWatchEventKinds.ENTRY_MODIFY))
- {
- Path pathModified = (Path) event.context();
- System.out.println("Entry modified:" + pathModified);
- }
- }
-
- @Override
- public void run() {
- try {
- pulisciCartella();
- WatchService watchService = path.getFileSystem().newWatchService();
- path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE,
- StandardWatchEventKinds.ENTRY_MODIFY, StandardWatchEventKinds.ENTRY_DELETE);
-
- // loop forever to watch directory
- while (true) {
- WatchKey watchKey;
- watchKey = watchService.take(); // this call is blocking until events are present
-
- // poll for file system events on the WatchKey
- for (final WatchEvent<?> event : watchKey.pollEvents()) {
- printEvent(event);
- }
-
- // if the watched directed gets deleted, get out of run method
- if (!watchKey.reset()) {
- System.out.println("No longer valid");
- watchKey.cancel();
- watchService.close();
- break;
- }
- }
-
- } catch (InterruptedException ex) {
- System.out.println("interrupted. Goodbye");
- return;
- } catch (IOException ex) {
- ex.printStackTrace(); // don't do this in production code. Use a loggin framework
- return;
- }
- }
-
-}
+++ /dev/null
-package com.company;
-
-import java.util.Date;
-import java.util.Properties;
-import javax.mail.Message;
-import javax.mail.MessagingException;
-import javax.mail.Multipart;
-import javax.mail.NoSuchProviderException;
-import javax.mail.Session;
-import javax.mail.Transport;
-import javax.mail.internet.AddressException;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-
-
-
-public class EmailSender {
- private String user;
- private String password;
- private String host;
- private String mittente;
- private String destinatario;
- private String oggetto;
- private String mess;
-
-
- EmailSender(String user, String password, String host,
- String mittente, String destinatario,
- String oggetto, String mess){
-
- this.user = user;
- this.password = password;
- this.host = host;
- this.mittente = mittente;
- this.destinatario = destinatario;
- this.oggetto = oggetto;
- this.mess=mess;
- }
-
-
- // Metodo che si occupa dell'invio effettivo della mail
- public void inviaEmail() {
- int port = 465; //porta 25 per non usare SSL
-
- Properties props = new Properties();
- props.put("mail.smtp.auth", "true");
- props.put("mail.smtp.user", mittente);
- props.put("mail.smtp.host", host);
- props.put("mail.smtp.port", port);
-
- // commentare la riga seguente per non usare SSL
- props.put("mail.smtp.starttls.enable","true");
- props.put("mail.smtp.socketFactory.port", port);
-
- // commentare la riga seguente per non usare SSL
- props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
- props.put("mail.smtp.socketFactory.fallback", "false");
-
- Session session = Session.getInstance(props, null);
- session.setDebug(true);
-
- // Creazione delle BodyParts del messaggio
- MimeBodyPart messageBodyPart1 = new MimeBodyPart();
-
- try{
- // COSTRUZIONE DEL MESSAGGIO
- Multipart multipart = new MimeMultipart();
- MimeMessage msg = new MimeMessage(session);
-
- // header del messaggio
- msg.setSubject(oggetto);
- msg.setSentDate(new Date());
- msg.setFrom(new InternetAddress(mittente));
-
- // destinatario
- msg.addRecipient(Message.RecipientType.TO,
- new InternetAddress(destinatario));
-
- // corpo del messaggio
- messageBodyPart1.setText(mess);
- multipart.addBodyPart(messageBodyPart1);
-
- // allegato al messaggio
- /*DataSource source = new FileDataSource(allegato);
- messageBodyPart2.setDataHandler(new DataHandler(source));
- messageBodyPart2.setFileName(allegato);
- multipart.addBodyPart(messageBodyPart2);*/
-
- // inserimento delle parti nel messaggio
- msg.setContent(multipart);
-
- Transport transport = session.getTransport("smtps"); //("smtp") per non usare SSL
- transport.connect(host, user, password);
- transport.sendMessage(msg, msg.getAllRecipients());
- transport.close();
-
- System.out.println("Invio dell'email Terminato");
-
- }catch(AddressException ae) {
- ae.printStackTrace();
- }catch(NoSuchProviderException nspe){
- nspe.printStackTrace();
- }catch(MessagingException me){
- me.printStackTrace();
- }
-
- }
-}
+++ /dev/null
-package com.company;
-
-import java.io.File;
-import java.io.FileInputStream;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathFactory;
-
-import org.w3c.dom.Document;
-
-import java.lang.Integer;
-import java.io.FileReader;
-import java.io.BufferedReader;
-
-public class EsNameParser {
- EsNameParser(){}
-
- static public String esName()
- {
- try {
- FileInputStream file = new FileInputStream(new File(global.listaEsercizi));
- DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = builderFactory.newDocumentBuilder();
- Document xmlDocument = builder.parse(file);
- XPath xPath = XPathFactory.newInstance().newXPath();
- int esNumber = Integer.parseInt(xPath.compile("count(/esercizi/esercizio)").evaluate(xmlDocument));
- String returnValue = null;
- for (int i = 1; i <= esNumber; i++) {
- String name = xPath.compile("/esercizi/esercizio[" + i + "]").evaluate(xmlDocument);
- if (name == null || name.isEmpty())
- continue;
- else {
- if(returnValue==null)
- returnValue=name;
- else
- returnValue = returnValue + "/" + name;
- }
- }
- file.close();
- return returnValue;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public static boolean check(String esercizio)
- {
- boolean value=false;
- try
- {
- String cartellaEs=global.locationEsercizi;
-
- BufferedReader br = new BufferedReader(new FileReader(cartellaEs+esercizio));
- if (br.readLine() == null) {
- br.close();
- return false;
- }
- FileInputStream file = new FileInputStream(new File(cartellaEs+"/"+esercizio));
- DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = builderFactory.newDocumentBuilder();
- Document xmlDocument = builder.parse(file);
- value=checkFormula(xmlDocument,"/esercizio/tesi/formula[1]");
- if(value)
- value=checkIpotesi(xmlDocument);
- file.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return value;
- }
-
- static public boolean checkFormula(Document xmlDocument, String position) {
- try
- {
- XPath xPath = XPathFactory.newInstance().newXPath();
- if(Integer.parseInt(xPath.compile("count(" + position + ")").evaluate(xmlDocument))==1) {
- String type = xPath.compile(position + "/@type").evaluate(xmlDocument);
- int numbOfElements = 5;
- if (type.contentEquals("and") || type.contentEquals("or") || type.contentEquals("impl"))
- numbOfElements = 2;
- else if (type.contentEquals("not"))
- numbOfElements = 1;
- else if (type.contentEquals("literal") || type.contentEquals("atomic"))
- numbOfElements = 0;
- int count = Integer.parseInt(xPath.compile("count(" + position + "/formula)").evaluate(xmlDocument));
- if (count == numbOfElements) {
- if (numbOfElements == 2) {
- boolean firstChild = checkFormula(xmlDocument, position + "/formula[1]");
- boolean secondChild = checkFormula(xmlDocument, position + "/formula[2]");
- if (!firstChild || !secondChild)
- return false;
- else
- return true;
- }
- else if (numbOfElements == 1)
- {
- boolean child = checkFormula(xmlDocument, position + "/formula[1]");
- if (!child)
- return false;
- return true;
- }
- else if (numbOfElements == 0)
- {
- String child = xPath.compile(position).evaluate(xmlDocument);
- if (child == null || child.isEmpty())
- return false;
- else
- return true;
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return false;
- }
-
- static public boolean checkIpotesi(Document xmlDocument)
- {
- XPath xPath = XPathFactory.newInstance().newXPath();
- boolean returnValue=false;
- try
- {
- int count = Integer.parseInt(xPath.compile("count(/esercizio/ipotesi)").evaluate(xmlDocument));
- int numberHp=Integer.parseInt(xPath.compile("count(/esercizio/ipotesi/formula)").evaluate(xmlDocument));
- if(count==1 && numberHp==0)//se non ci sono ipotesi
- return true;
- for(int i=1;i<=numberHp;i++)
- {
- boolean valore = checkFormula(xmlDocument, "/esercizio/ipotesi/formula["+i+"]");
- if(!valore)
- return false;
- else
- returnValue=true;
- }
- }catch (Exception e) {
- e.printStackTrace();
- }
- return returnValue;
- }
-}
+++ /dev/null
-package com.company;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-
-public class MD5 {
-
- MD5(){}
- public static String digest(String filePath) {
- InputStream inputStream = null;
- try {
- inputStream = new FileInputStream(global.locationEsercizi+filePath);
- byte[] buffer = new byte[1024];
- MessageDigest digest = MessageDigest.getInstance("MD5");
- int numRead = 0;
- while (numRead != -1) {
- numRead = inputStream.read(buffer);
- if (numRead > 0)
- digest.update(buffer, 0, numRead);
- }
- byte [] md5Bytes = digest.digest();
- System.out.println(convertHashToString(md5Bytes));
- return convertHashToString(md5Bytes);
- } catch (Exception e) {
- return null;
- } finally {
- if (inputStream != null) {
- try {
- inputStream.close();
- } catch (Exception e) { }
- }
- }
- }
-
- private static String convertHashToString(byte[] md5Bytes) {
- String returnVal = "";
- for (int i = 0; i < md5Bytes.length; i++) {
- returnVal += Integer.toString(( md5Bytes[i] & 0xff ) + 0x100, 16).substring(1);
- }
- return returnVal;
- }
-}
+++ /dev/null
-all:
- javac -cp "/tmp/ext/mysql-connector-java.jar:/tmp/ext/jdom-2.0.5.jar:/tmp/ext/mail-1.4.1.jar:." *.java
+++ /dev/null
-package com.company;
-
-import java.sql.*;
-import java.io.IOException;
-
-import java.math.BigInteger;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-import java.util.Random;
-
-import java.sql.Timestamp;
-
-import java.util.ArrayList;
-
-import java.lang.Double;
-
-public class dbConnect
-{
- private static Connection db;
- private static Statement stmt;
- dbConnect()
- {}
-
-
- public static Long time()
- {
- java.util.Date date= new java.util.Date();
- Timestamp now=new Timestamp(date.getTime());
- return now.getTime();
- }
-
- //pulisce confmail e connessi da tutte le richieste maggiori di 10 minuti
- private static void deletetmp() throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
- {
- PreparedStatement preparedStmt = db.prepareStatement("DELETE FROM confmail WHERE time<=?");
- preparedStmt.setLong (1,(time()-600000));
- preparedStmt.execute();
- preparedStmt = db.prepareStatement("DELETE FROM connessi WHERE time<=?");
- preparedStmt.setLong (1,(time()-600000));
- preparedStmt.execute();
- }
-
- //divide la stringa in user e password
- private static String splitUsrPass(String userAndPass, int code) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
- {
- String user=null;
- String pass=null;
- ArrayList<String> userPass= suString.stringToArrayList(userAndPass);
- if(userPass.size()>=1)
- user=userPass.get(0);
- if(userPass.size()>=2)
- pass=userPass.get(1);
-
- assert user != null;
- if(!user.contains("@studio.unibo.it") && user.length()<16)
- return "mail-error";
- else {
- assert pass != null;
- if(code==0)
- return registration(user, pass);
- else if(code==1)
- return login(user, pass);
- else if(code==2)
- return recupero(user);
- else
- return "error";
- }
- }
-
- //routin di gestione recupero pass
- private static String recupero(String user) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
- {
- ResultSet returnQuery=stmt.executeQuery("SELECT * FROM utenti where user='"+user+"'");
- if(returnQuery!=null)
- {
- if(returnQuery.next())
- {
- EmailSender email = new EmailSender(global.email,
- global.emailPass,
- "smtp.gmail.com",
- global.email,
- user,
- "OGGETTO: recupero password",
- "la tua password è "+returnQuery.getString("pass"));
- email.inviaEmail();
- return "mail-pass-ok";
- }
- else
- return "user-error";
- }
- else
- return "user-error";
- }
-
-
- //routin di gestione della registrazione
- private static String registration(String user, String pass) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
- {
- String ran;
- ResultSet returnQuery=stmt.executeQuery("SELECT * FROM utenti where user='"+user+"'");
- if(returnQuery!=null)
- {
- if(returnQuery.next())
- {
- if(returnQuery.getString("user").compareTo(user)==0 && returnQuery.getString("pass").compareTo(pass)==0)
- return "già -registrato";
- }
- }
- returnQuery=stmt.executeQuery("SELECT * FROM confmail where user='"+user+"'");
- if(returnQuery!=null)
- {
- if(returnQuery.next())
- {
- ran=returnQuery.getString("hash");
- if(returnQuery.getString("pass").compareTo(pass)!=0)
- {
- PreparedStatement preparedStmt = db.prepareStatement("UPDATE confmail SET pass =? where user=?");
- preparedStmt.setString (1,pass);
- preparedStmt.setString (2,user);
- preparedStmt.execute();
- }
- }
- else
- {
- Random random = new Random();
- ran=String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000);
- //returnQuery=stmt.executeQuery("INSERT INTO confmail VALUES('"+user+"','"+pass+"',"+hash+"')");
- PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO confmail (user,pass,hash,time) VALUES(?,?,?,?)");
- preparedStmt.setString (1,user);
- preparedStmt.setString (2,pass);
- preparedStmt.setString (3,ran);
- preparedStmt.setDouble (4,(double)time());
- preparedStmt.execute();
- }
- }
- else
- {
- Random random = new Random();
- ran=String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000);
- //returnQuery=stmt.executeQuery("INSERT INTO confmail VALUES('"+user+"','"+pass+"',"+hash+"')");
- PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO confmail (user,pass,hash,time) VALUES(?,?,?,?)");
- preparedStmt.setString (1,user);
- preparedStmt.setString (2,pass);
- preparedStmt.setString (3,ran);
- preparedStmt.setDouble (4,(double)time());
- preparedStmt.execute();
- }
- EmailSender email = new EmailSender(global.email,
- global.emailPass,
- "smtp.gmail.com",
- global.email,
- user,
- "OGGETTO: Registrazione App",
- "per confermare la tua email clicka sul link: http://"+global.serverName+"/test?id="+ran);
- email.inviaEmail();
- return "mail-reg-ok";
- }
-
- //routin conferma registrazione
- private static String confirmRegistration(String hash) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
- {
- ResultSet returnQuery=stmt.executeQuery("SELECT * FROM confmail where hash='"+hash+"'");
- if(returnQuery!=null)
- {
- if(returnQuery.next())
- {
- PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO utenti (user,pass) VALUES(?,?)");
- preparedStmt.setString (1,returnQuery.getString("user"));
- preparedStmt.setString (2,returnQuery.getString("pass"));
- preparedStmt.execute();
- preparedStmt = db.prepareStatement("DELETE FROM confmail WHERE hash=?");
- preparedStmt.setString (1,hash);
- preparedStmt.execute();
- return "registrazione-ok";
- }
- }
- return "registrazione-error";
- }
-
- //routin di gestione login
- private static String login(String user, String pass) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
- {
-
- ResultSet returnQuery=stmt.executeQuery("SELECT * FROM utenti where user='"+user+"' and pass='"+pass+"'");
- if(returnQuery!=null)
- {
- if(returnQuery.next())
- {
- if(returnQuery.getString("user").compareTo(user)==0 && returnQuery.getString("pass").compareTo(pass)==0)
- return putConnessi(user);
- }
- }
- return "login-error";
- }
-
-
- //informazioni sulla connessione dell'utente
- private String infoConnessi(String message) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
- {
- ArrayList<String> split= suString.stringToArrayList(message);
- if(split.size()>=1)
- {
- ResultSet returnQuery=stmt.executeQuery("SELECT * FROM connessi WHERE tempkey='"+split.get(1)+"'");
- if(returnQuery!=null)
- {
- if(returnQuery.next())
- {
- return "loggato";
- }
- }
- }
- return "request-login";
- }
-
- //inserisce l'utente in connessi
- private static String putConnessi(String user) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
- {
- Random random = new Random();
- String ran=String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000);
- PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO connessi (user,tempkey,thread,time) VALUES(?,?,?,?)");
- preparedStmt.setString (1,user);
- preparedStmt.setString (2,ran);
- preparedStmt.setBoolean (3,false);
- preparedStmt.setDouble (4,(double)time());
- preparedStmt.execute();
- return ran;
- }
-
- //segnalare morte di un thread
- private String threadDead(String key) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
- {
- PreparedStatement preparedStmt = db.prepareStatement("DELETE FROM confmail WHERE tempkey=?");
- preparedStmt.setString (1,key);
- preparedStmt.execute();
- return "kill-ok";
- }
-
- //remposta il rimer dell'utente nella tabella connessi
- private String connessiTimer(String key) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
- {
- PreparedStatement preparedStmt = db.prepareStatement("UPDATE connessi SET time =? where tempkey=?");
- preparedStmt.setDouble (1,(double)time());
- preparedStmt.setString (2,key);
- preparedStmt.execute();
- return "timer-settato";
- }
-
- private String exerciseAccept(String request) throws SQLException, IOException, NoSuchAlgorithmException {
- ArrayList<String> input=suString.stringToArrayList(request);
- ResultSet returnQuery=stmt.executeQuery("SELECT * FROM connessi where tempkey='"+input.get(0)+"'");
- String utente=null;
- if(returnQuery!=null)
- {
- if(returnQuery.next())
- utente=returnQuery.getString("user");
- }
- if(utente!=null)
- {
- String[] esercizi=suString.stringToVectorString(EsNameParser.esName());
- for(String esercizio : esercizi)
- {
- if(esercizio.contentEquals(input.get(1)))//se l'esercizio esiste
- {
- if(MD5.digest(esercizio).contentEquals(input.get(2)))//se il digest è uguale
- {
- PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO esercizi (esercizio,utente,click,time) VALUES(?,?,?,?)");
- preparedStmt.setDouble(4, Double.parseDouble(input.get(3)));
- preparedStmt.setInt (3,Integer.valueOf(input.get(4)));
- preparedStmt.setString (2,utente);
- preparedStmt.setString (1,input.get(1));
- preparedStmt.execute();
- return "es-ok";
- }
- }
- }
- }
- return "es-err";
- }
-
- private String userExercise(String request) throws SQLException {
- ArrayList<String> arrayResult=new ArrayList<String>();
- ArrayList<String> input=suString.stringToArrayList(request);
- String result=null;
- ResultSet returnQuery=stmt.executeQuery("SELECT * FROM connessi where tempkey='"+input.get(0)+"'");
- String utente=null;
- if(returnQuery!=null)
- {
- if(returnQuery.next())
- utente=returnQuery.getString("user");
- }
- if(utente!=null)
- {
- returnQuery=stmt.executeQuery("SELECT * FROM esercizi where utente='"+utente+"'");
- while(returnQuery.next())
- {
- arrayResult.add(returnQuery.getString("esercizio")+"/"+MD5.digest(returnQuery.getString("esercizio"))+"/"+returnQuery.getDouble("time")+"/"+returnQuery.getInt("click"));
- }
- result=suString.multiToString(arrayResult);
- }
- return result;
- }
-
- private String cambiaPass(String request) throws ClassNotFoundException, SQLException, InstantiationException, IOException, IllegalAccessException {
- ArrayList<String> input=suString.stringToArrayList(request);
- if(input.size()>=3) {
- String result = login(input.get(0), input.get(1));
- if(!result.contains("err"))
- {
- PreparedStatement preparedStmt = db.prepareStatement("UPDATE utenti SET pass =? where user=?");
- preparedStmt.setString (1,input.get(2));
- preparedStmt.setString (2,input.get(0));
- preparedStmt.execute();
- return "cambiata";
- }
- }
- return "error";
- }
-
- public String dbQuery(String input) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException, NoSuchAlgorithmException {
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- db = DriverManager.getConnection("jdbc:mysql://localhost/logintesi", "root", "csc@CerCo!");
- stmt = db.createStatement();
- deletetmp();
- if (input.charAt(0) == '0')
- return splitUsrPass(input.substring(2), 0);
- else if (input.charAt(0) == '1')
- return splitUsrPass(input.substring(2), 1);
- else if (input.charAt(0) == '2')
- return recupero(input.substring(2));
- else if (input.charAt(0) == '3')
- return confirmRegistration(input.substring(1));
- else if (input.charAt(0) == '4')
- return EsNameParser.esName();
- else if (input.charAt(0) == '5')
- return infoConnessi(input.substring(2));
- else if (input.charAt(0) == '6')
- return connessiTimer(input.substring(2));
- /*else if (input.charAt(0) == '7')
- return threadDead(input.substring(2));*/
- /*else if(input.charAt(0)=='8')
- return aggToClient(input.substring(2));
- else if(input.charAt(0)=='9')
- return aggForClient(input.substring(2));
- else if(input.charAt(0)=='a' && input.charAt(1)=='0')
- return check(input.substring(3));*/
- else if (input.charAt(0) == '8')
- return exerciseAccept(input.substring(2));
- else if (input.charAt(0) == '9')
- return userExercise(input.substring(2));
- else if(input.charAt(0)=='a' && input.charAt(1)=='0')
- return cambiaPass(input.substring(3));
- return "error";
- }
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<esercizi>\r
- <esercizio md5="e687f326a904946f498421a0409916bf">aalbero.xml</esercizio>\r
- <esercizio md5="d3d4772339c39d408a1b92a24d3c9311">tautologia.xml</esercizio>\r
- <esercizio md5="2a54f15678d8b0fa3b2d1f3824dfd7b6">demorgan.xml</esercizio>\r
- <esercizio md5="4bfe78fb51248594a8b98ba51eff769f">triviale.xml</esercizio>\r
- <esercizio md5="97c0cdde7504597040d100cfe3aa1644">test.xml</esercizio>\r
- <esercizio md5="3c217b2132e40729b6c56c39073a356a">risolvibile.xml</esercizio>\r
- <esercizio md5="62b5ca97fbf8a5845185ae6010e26828">demorgan2.xml</esercizio>\r
-</esercizi>\r
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<esercizi>\r
- <esercizio>aalbero.xml</esercizio>\r
-</esercizi>\r
+++ /dev/null
-package com.company;
-
-
-public class global {
- public static final String listaEsercizi="/projects/logicplayer/Server/server/tesi/src/com/company/esercizi.xml";
- public static final String locationEsercizi="/projects/logicplayer/public_html/esercizi/";
- public static String home="/projects/logicplayer/Server/server/tesi/src/com/company/";
- public static String keyStorePass="123456";
- public static String keyStoreName="keystore.jks";
- public static String serverName="130.136.129.1";
- public static String email="confermaiscrizioneserver@gmail.com";
- public static String emailPass="tes6phev8n";
- public static int portaServer=25000;
- public static int portaHttpServer=8000;
-
-}
+++ /dev/null
-package com.company;
-
-import java.io.*;
-
-import javax.net.ssl.*;
-
-class guestServer implements Runnable
-{
- private SSLSocket socket;
-
- guestServer(SSLSocket client)
- {
- socket=client;
- }
-
- public void run()
- {
- try
- {
-
- //Reading the message from the client
- InputStream is = socket.getInputStream();
- InputStreamReader isr = new InputStreamReader(is);
- BufferedReader br = new BufferedReader(isr);
- String requestMessage = br.readLine();
- System.out.println("ho ricevuto: "+requestMessage);
- /*System.out.println("Message received from client is "+returnMessage);
- dbConnect request=new dbConnect();
- String returnQuery=request.dbQuery(returnMessage);
- OutputStream os = socket.getOutputStream();
- OutputStreamWriter osw = new OutputStreamWriter(os);
- BufferedWriter bw = new BufferedWriter(osw);
- System.out.println(returnQuery);
- bw.write(returnQuery+"\n");
- bw.flush();*/
- if(requestMessage!=null)
- {
- dbConnect request = new dbConnect();
- String returnQuery;
- if ( requestMessage.charAt(0) == '0' ||
- requestMessage.charAt(0) == '1' ||
- requestMessage.charAt(0) == '2' ||
- (requestMessage.charAt(0) == 'a' && requestMessage.charAt(1) == '0')) {
- returnQuery = request.dbQuery(requestMessage);
- OutputStream os = socket.getOutputStream();
- OutputStreamWriter osw = new OutputStreamWriter(os);
- BufferedWriter bw = new BufferedWriter(osw);
- bw.write(returnQuery + "\n");
- bw.flush();
- System.out.println("ho inviato: " + returnQuery);
- }
- else
- {
- returnQuery = request.dbQuery("5/" + requestMessage);
- if (returnQuery.contains("request-login") || returnQuery.contains("request-error"))
- {
- OutputStream os = socket.getOutputStream();
- OutputStreamWriter osw = new OutputStreamWriter(os);
- BufferedWriter bw = new BufferedWriter(osw);
- bw.write(returnQuery + "\n");
- bw.flush();
- System.out.println("ho inviato: " + returnQuery);
- }
- else if (returnQuery.contains("loggato"))
- {
- personalServer nuovaConnessione = new personalServer(socket, requestMessage);
- Thread t = new Thread(nuovaConnessione);
- t.start();
- }
- }
- }
-
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
-
- }
-}
+++ /dev/null
-package com.company;
-
-import java.io.*;
-import java.net.*;
-import java.security.NoSuchAlgorithmException;
-import java.util.*;
-
-import com.sun.net.httpserver.HttpExchange;
-import com.sun.net.httpserver.HttpHandler;
-import com.sun.net.httpserver.HttpServer;
-import java.sql.*;
-
-public class httpget implements Runnable {
-
- httpget(){}
-
- public static Map<String, String> splitQuery(String query) throws UnsupportedEncodingException
- {
- Map<String, String> query_pairs = new LinkedHashMap<String, String>();
- String[] pairs = query.split("&");
- for (String pair : pairs)
- {
- int idx = pair.indexOf("=");
- query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
- }
- return query_pairs;
- }
-
- @Override
- public void run() {
- try {
- HttpServer server = HttpServer.create(new InetSocketAddress(global.portaHttpServer), 0);
- server.createContext("/test", new MyHandler());
- server.setExecutor(null); // creates a default executor
- server.start();
- }catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
- static class MyHandler implements HttpHandler
- {
- public void handle(HttpExchange t) throws IOException
- {
-
- /*String response = "This is the response";
- System.out.println("mannaggia santa");
- t.sendResponseHeaders(200, response.length());
- OutputStream os = t.getResponseBody();
- os.write(response.getBytes());*/
- URI req=t.getRequestURI();
- String query=req.getQuery();
- Map<String, String> result=splitQuery(query);
- String id=result.get("id");
- //System.out.println(id);
- try
- {
- dbConnect request=new dbConnect();
- String returnQuery=request.dbQuery("3"+id);
- t.sendResponseHeaders(200, returnQuery.length());
- OutputStream os = t.getResponseBody();
- os.write(returnQuery.getBytes());
- os.close();
- }
- catch(SQLException e)
- {}
- catch(ClassNotFoundException c)
- {}
- catch(IllegalAccessException a)
- {}
- catch(InstantiationException i)
- {} catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- }
- }
-
-}
+++ /dev/null
-package com.company;
-
-import java.io.BufferedWriter;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-
-import javax.net.ssl.*;
-
-
-import java.util.ArrayList;
-
-class personalServer implements Runnable
-{
- private SSLSocket socket;
- private String key;
- private String requestMessage;
-
- personalServer(SSLSocket client, String message)
- {
- socket=client;
- ArrayList<String> split= suString.stringToArrayList(message);
- key=split.get(1);
- requestMessage=message;
- }
-
- public void run()
- {
- try
- {
- dbConnect request=new dbConnect();
- String returnQuery=request.dbQuery(requestMessage);
- OutputStream os = socket.getOutputStream();
- OutputStreamWriter osw = new OutputStreamWriter(os);
- BufferedWriter bw = new BufferedWriter(osw);
- bw.write(returnQuery+"\n");
- bw.flush();
- System.out.println("ho inviato: "+returnQuery);
- request.dbQuery("6/"+key);
- socket.close();
- }
- catch (Exception e)
- {
- try
- {
- e.printStackTrace();
- dbConnect request=new dbConnect();
- request.dbQuery("7/"+key);
- }
- catch (Exception k)
- {
- //k.printStackTrace();
- System.out.println("PANIC!");
- }
- }
- }
-}
+++ /dev/null
-package com.company;
-
-import java.util.ArrayList;
-import java.util.Collections;
-
-public class suString
-{
- suString()
- {}
-
-
- public static ArrayList<String> stringToArrayList(String string)
- {
- ArrayList<String> returnValue=new ArrayList<String>();
- int j=0;
- for(int i=0;i<string.length();i++)
- {
- if(string.charAt(i)=='/')
- {
- returnValue.add(string.substring(j,i));
- j=i+1;
- }
- else if(i==string.length()-1)
- returnValue.add(string.substring(j));
- }
- return returnValue;
- }
-
- public static ArrayList<String> vectorStringToArrayList(String[] vectorString)
- {
- ArrayList<String> returnValue=new ArrayList<String>();
- Collections.addAll(returnValue, vectorString);
- return returnValue;
- }
-
- public static String arrayListToString (ArrayList<String> arraylist)
- {
- String returnValue= "";
- for(int i=0;i<arraylist.size();i++)
- {
- if(i<arraylist.size()-1)
- returnValue=returnValue+arraylist.get(i)+"/";
- else
- returnValue=returnValue+arraylist.get(i);
- }
- return returnValue;
- }
-
- public static String vectorStringToString(String[] vectorString)
- {
- return arrayListToString(vectorStringToArrayList(vectorString));
- }
-
- public static String[] arrayListToVectorString (ArrayList<String> arraylist)
- {
- String[] returnValue=new String[arraylist.size()];
- for(int i=0;i<arraylist.size();i++)
- returnValue[i]=arraylist.get(i);
- return returnValue;
- }
-
- public static String[] stringToVectorString(String string)
- {
- return arrayListToVectorString(stringToArrayList(string));
- }
-
- public static String multiToString(ArrayList<String> input)
- {
- String returnValue=null;
- int size=input.size();
- for(int i=0;i<size;i++)
- {
- if(i==0)
- returnValue=input.get(i);
- else
- returnValue=returnValue+"//"+input.get(i);
- }
- return returnValue;
- }
-
- public static ArrayList<String> stringToMultiArray(String input)
- {
- ArrayList<String> result=new ArrayList<String>();
- int j=0;
- for(int i=0;i<input.length();i++)
- {
- if(input.charAt(i)=='/') {
- if (input.charAt(i + 1) == '/') {
- result.add(input.substring(j, i));
- j=i+2;
- }
- }
- }
- return result;
- }
-}
+++ /dev/null
-package com.company;
-
-import java.io.*;
-import java.lang.Thread;
-import java.security.*;
-import javax.net.ssl.*;
-
-import java.nio.file.FileSystems;
-import java.nio.file.Path;
-
-
-class superServer
-{
- public static void main(String[] args)
- {
- String ksName = global.home+global.keyStoreName;
- char ksPass[] = global.keyStorePass.toCharArray();
- char ctPass[] = global.keyStorePass.toCharArray();
-
- //thread di controllo directory esercizi
- Path pathToWatch = FileSystems.getDefault().getPath(global.locationEsercizi);
- DirectoryWatcher dirWatcher = new DirectoryWatcher(pathToWatch);
- Thread dirWatcherThread = new Thread(dirWatcher);
- dirWatcherThread.start();
-
- //thread che si occupa del lato http
- httpget regServer=new httpget();
- Thread httpServer=new Thread(regServer);
- httpServer.start();
-
- while(true)
- {
- try
- {
- KeyStore ks = KeyStore.getInstance("JKS");
- ks.load(new FileInputStream(ksName), ksPass);
- KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
- kmf.init(ks, ctPass);
- SSLContext sc = SSLContext.getInstance("TLS");
- sc.init(kmf.getKeyManagers(), null, null);
- SSLServerSocketFactory ssf = sc.getServerSocketFactory();
- SSLServerSocket s= (SSLServerSocket) ssf.createServerSocket(global.portaServer);
- System.out.println("Server started:");
- while(true)
- {
- SSLSocket c = (SSLSocket) s.accept();
- System.out.println("CSC: debug 1");
- guestServer guest=new guestServer(c);
- Thread t=new Thread(guest);
- t.start();
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- }
-}
+++ /dev/null
-package com.company;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.security.NoSuchAlgorithmException;
-
-import org.jdom2.Document;
-import org.jdom2.Element;
-import org.jdom2.JDOMException;
-import org.jdom2.input.SAXBuilder;
-import org.jdom2.output.Format;
-import org.jdom2.output.XMLOutputter;
-
-
-public class xmlOperation {
-
- xmlOperation(){}
- static private String pathName=global.listaEsercizi;
-
- public void create() {
-
- try {
-
- Element company = new Element("esercizi");
- Document doc = new Document(company);
- doc.setRootElement(company);
-
- // new XMLOutputter().output(doc, System.out);
- XMLOutputter xmlOutput = new XMLOutputter();
-
- // display nice nice
- xmlOutput.setFormat(Format.getPrettyFormat());
- xmlOutput.output(doc, new FileWriter(pathName));
-
- System.out.println("File Saved!");
- } catch (IOException io) {
- System.out.println(io.getMessage());
- }
- }
-
-
-
- public void add(String name)
- {
- try {
-
- SAXBuilder builder = new SAXBuilder();
- File xmlFile = new File(pathName);
-
- Document doc = (Document) builder.build(xmlFile);
- Element rootNode = doc.getRootElement();
-
-
- // add new age element
- Element newEs = new Element("esercizio").setText(name).setAttribute("md5",MD5.digest(name));
- rootNode.addContent(newEs);
-
- XMLOutputter xmlOutput = new XMLOutputter();
-
- // display nice nice
- xmlOutput.setFormat(Format.getPrettyFormat());
- xmlOutput.output(doc, new FileWriter(pathName));
-
- // xmlOutput.output(doc, System.out);
-
- System.out.println("File updated!");
- } catch (IOException io) {
- io.printStackTrace();
- } catch (JDOMException e) {
- e.printStackTrace();
- }
- }
-
- public String getMD5(String name)
- {
- try {
-
- SAXBuilder builder = new SAXBuilder();
- File xmlFile = new File(pathName);
-
- Document doc = (Document) builder.build(xmlFile);
- Element rootNode = doc.getRootElement();
-
- for(Element esercizio:rootNode.getChildren())
- {
- if(esercizio.getText().contentEquals(name))
- {
- return esercizio.getAttribute("md5").toString();
- }
- }
- } catch (IOException io) {
- io.printStackTrace();
- } catch (JDOMException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public void remove(String name)
- {
- try {
-
- SAXBuilder builder = new SAXBuilder();
- File xmlFile = new File(pathName);
-
- Document doc = (Document) builder.build(xmlFile);
- Element rootNode = doc.getRootElement();
-
- for(Element esercizio:rootNode.getChildren())
- {
- if(esercizio.getText().contentEquals(name))
- {
- System.out.println("trovato");
- rootNode.removeContent(esercizio);
- }
- }
-
- XMLOutputter xmlOutput = new XMLOutputter();
-
- // display nice nice
- xmlOutput.setFormat(Format.getPrettyFormat());
- xmlOutput.output(doc, new FileWriter(pathName));
-
- // xmlOutput.output(doc, System.out);
-
- System.out.println("File updated!");
- } catch (IOException io) {
- io.printStackTrace();
- } catch (JDOMException e) {
- e.printStackTrace();
- }
- }
-
-
-}
+++ /dev/null
-#!/bin/bash
-
-java -cp "/tmp/ext/mysql-connector-java.jar:/tmp/ext/jdom-2.0.5.jar:/tmp/ext/mail-1.4.1.jar:." com.company.superServer
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
- <component name="NewModuleRootManager" inherit-compiler-output="true">
- <exclude-output />
- <content url="file://$MODULE_DIR$">
- <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
- </content>
- <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
- <orderEntry type="sourceFolder" forTests="false" />
- </component>
-</module>
\ No newline at end of file
+++ /dev/null
-<esercizio>
- <ipotesi>
- </ipotesi>
- <tesi>
- <formula type="or">
- <formula type="and">
- <formula type="literal">a</formula>
- <formula type="literal">b</formula>
- </formula>
- <formula type="and">
- <formula type="literal">c</formula>
- <formula type="literal">d</formula>
- </formula>
- </formula>
- </tesi>
-</esercizio>
+++ /dev/null
-<esercizio>
- <ipotesi>
- </ipotesi>
- <tesi>
- <formula type="impl">
- <formula type="or">
- <formula type="literal">A</formula>
- <formula type="literal">B</formula>
- </formula>
- <formula type="not">
- <formula type="and">
- <formula type="not">
- <formula type="literal">A</formula>
- </formula>
- <formula type="not">
- <formula type="literal">B</formula>
- </formula>
- </formula>
- </formula>
- </formula>
- </tesi>
- <valutazione>
- <click>13</click>
- <tempo>60</tempo>
- <altezza>5</altezza>
- </valutazione>
-</esercizio>
+++ /dev/null
-<esercizio>
- <ipotesi>
- </ipotesi>
- <tesi>
- <formula type="impl">
- <formula type="or">
- <formula type="literal">A</formula>
- <formula type="literal">B</formula>
- </formula>
- <formula type="not">
- <formula type="and">
- <formula type="not">
- <formula type="literal">A</formula>
- </formula>
- <formula type="not">
- <formula type="literal">B</formula>
- </formula>
- </formula>
- </formula>
- </formula>
- </tesi>
- <valutazione>
- <click>13</click>
- <tempo>60</tempo>
- <altezza>5</altezza>
- </valutazione>
-</esercizio>
+++ /dev/null
-<esercizio>
- <ipotesi>
- <formula type="impl">
- <formula type="and">
- <formula type="literal">A</formula>
- <formula type="not">
- <formula type="literal">B</formula>
- </formula>
- </formula>
- <formula type="literal">R</formula>
- </formula>
- <formula type="impl">
- <formula type="or">
- <formula type="literal">A</formula>
- <formula type="literal">B</formula>
- </formula>
- <formula type="not">
- <formula type="literal">R</formula>
- </formula>
- </formula>
- <formula type="not">
- <formula type="not">
- <formula type="literal">A</formula>
- </formula>
- </formula>
- </ipotesi>
- <tesi>
- <formula type="literal">B</formula>
- </tesi>
- <valutazione>
- <click>13</click>
- <tempo>60</tempo>
- <altezza>5</altezza>
- </valutazione>
-</esercizio>
+++ /dev/null
-<esercizio>
- <ipotesi>
- </ipotesi>
- <tesi>
- <formula type="impl">
- <formula type="literal">A</formula>
- <formula type="literal">A</formula>
- </formula>
- </tesi>
- <valutazione>
- <click>13</click>
- <tempo>60</tempo>
- <altezza>5</altezza>
- </valutazione>
-</esercizio>
+++ /dev/null
-<esercizio>
- <ipotesi>
- </ipotesi>
- <tesi>
- <formula type="atomic">top</formula>
- </tesi>
- <valutazione>
- <click></click>
- <tempo></tempo>
- <altezza></altezza>
- </valutazione>
-</esercizio>
+++ /dev/null
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8"/>
- <link rel="stylesheet" type="text/css" media="all" href="login.css"/>
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
- <script type="text/javascript" src="./login.js"></script>
- </head>
- <body>
- <h1>Benvenuto nella pagina di amministazione</h1>
- <form id="login">
- <input type="text" id="username" class="form-control" placeholder="Username">
- <input type="password" id="password" class="form-control" placeholder="Password">
- <button type="button" id="loginForm" class="btn btn-success">accedi</button>
- </form>
- </body>
-</html>
+++ /dev/null
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8"/>
- <link rel="stylesheet" type="text/css" media="all" href="./login.css"/>
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
- <script type="text/javascript" src="login.js"></script>
- </head>
- <body>
- <h1>Benvenuto nella pagina di amministazione</h1>
- <form id="login">
- <input type="text" id="username" class="form-control" placeholder="Username">
- <input type="password" id="password" class="form-control" placeholder="Password">
- <button type="button" id="loginForm" class="btn btn-success">accedi</button>
- </form>
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-#login
-{
- width:100%;
- display:inline-block;
- text-align:center;
-}
-#esTable
-{
- display:block;
- float:left;
-}
-#tabella
-{
- display:block;
- float:left;
-}
+++ /dev/null
-function change()
-{
-/*Quando viene chiamata, modifica il campo "location" di document*/
-/*effettuando un redirect sulla pagina main.php*/
-document.location.href="./main.php";
-}
-
-
-
-
-function login()
-{
- var jsonlogin=new Object();
- jsonlogin.username=$('#username').val(); //recupero i dati di login dai rispettivi campi dell'HTML
- jsonlogin.password=$('#password').val();
- var sendstr = JSON.stringify(jsonlogin); //creo il JSON di invio al server
- $.ajax
- ({
- type: 'POST',
- url: 'login.php',
- async: false,
- contentType: 'application/json; charset=utf-8',
- dataType: 'json',
- data: sendstr,
- success: function(response)
- { //in caso di successo della richiesta viene eseguita questa funzione
- if (response['result']=="login effettuato con successo")
- //cioè se il server ha ritornato che l'utente è stato trovato con successo
- change();
- else
- $("#errlogin").fadeIn();
- setTimeout(function(){$("#errlogin").fadeOut()}, 2000);
-
- }
- });
-}
-
-
-
-
-
-$(document).ready
-(
- function ()
- {
- $("#errlogin").hide(); //nasconde i div di errore del login
- //funzione che effettua login se bottone viene cliccato
- $("#loginForm").click
- (
- function()
- {
- login();
- }
- );
- //funzione che effettua login se tasto "INVIO" viene cliccato
- $("#password").keyup(
- function(invio)
- {
- if(invio.keyCode == 13) {
- login();
- }
-
- });
- }
-);
+++ /dev/null
-function change()
-{
-/*Quando viene chiamata, modifica il campo "location" di document*/
-/*effettuando un redirect sulla pagina main.php*/
-document.location.href="./prova.html";
-}
-
-
-
-
-function login()
-{
- var jsonlogin=new Object();
- jsonlogin.username=$('#username').val(); //recupero i dati di login dai rispettivi campi dell'HTML
- jsonlogin.password=$('#password').val();
- window.alert($('#username').val()+$('#password').val());
- var sendstr = JSON.stringify(jsonlogin); //creo il JSON di invio al server
- $.ajax
- ({
- type: 'POST',
- url: 'login.php',
- async: false,
- contentType: 'application/json; charset=utf-8',
- dataType: 'json',
- data: sendstr,
- success: function(response)
- { //in caso di successo della richiesta viene eseguita questa funzione
- if (response['result']=="login effettuato con successo")
- //cioè se il server ha ritornato che l'utente è stato trovato con successo
- change();
- else
- $("#errlogin").fadeIn();
- setTimeout(function(){$("#errlogin").fadeOut()}, 2000);
-
- }
- });
-}
-
-
-
-
-
-$(document).ready
-(
- function ()
- {
- $("#errlogin").hide(); //nasconde i div di errore del login
- //funzione che effettua login se bottone viene cliccato
- $("#loginForm").click
- (
- function()
- {
- login();
- }
- );
- //funzione che effettua login se tasto "INVIO" viene cliccato
- $("#password").keyup(
- function(invio)
- {
- if(invio.keyCode == 13) {
- login();
- }
-
- });
- }
-);
+++ /dev/null
-<?php\r
- session_start(); /*Inizia una sessione*/\r
- $data = file_get_contents('php://input'); /*file_get_contents:data una stringa, recupera i parametri di query. In questo caso viene presa la stringa inviata come dato dal JS*/\r
- $result = json_decode($data);\r
- $con=mysqli_connect("localhost","root","cscroot","logintesi");\r
- if ($con==false)\r
- {\r
- $arr=array('result'=>"errore nella connessione al database");\r
- $ris=json_encode($arr);\r
- echo $ris;\r
- die;\r
- }\r
- else\r
- {\r
- $str="SELECT * FROM admin WHERE username='".$result->username."' AND password='".$result->password."';";\r
- $exists= mysqli_query($con,$str);\r
- if (!($exists))\r
- {\r
- $arr=array('result'=>"errore nella ricerca all'interno del database");\r
- $ris=json_encode($arr);\r
- echo $ris;\r
- die;\r
- }\r
- $res=mysqli_num_rows($exists);\r
- if ($res==1)\r
- {\r
- $ID=mysqli_fetch_array($exists);\r
- $_SESSION["username"]=$result->username;\r
- $arr = array('result'=>"login effettuato con successo");\r
- $ris=json_encode($arr);\r
- echo $ris;\r
- }\r
- else\r
- {\r
- $arr= array('result'=>"Utente non trovato");\r
- $ris=json_encode($arr);\r
- echo $ris;\r
- } \r
- }\r
- mysqli_close($con)\r
-?>\r
+++ /dev/null
-<?php\r
- session_start(); /*Inizia una sessione*/\r
- $data = file_get_contents('php://input'); /*file_get_contents:data una stringa, recupera i parametri di query. In questo caso viene presa la stringa inviata come dato dal JS*/\r
- $result = json_decode($data);\r
- $con=mysqli_connect("localhost","root","123stella","logintesi");\r
- if ($con==false)\r
- {\r
- $arr=array('result'=>"errore nella connessione al database");\r
- $ris=json_encode($arr);\r
- echo $ris;\r
- die;\r
- }\r
- else\r
- {\r
- $str="SELECT * FROM admin WHERE username='danilo.berardinelli' AND password='123stella';";\r
- $exists= mysqli_query($con,$str);\r
- if (!($exists))\r
- {\r
- $arr=array('result'=>"errore nella ricerca all'interno del database");\r
- $ris=json_encode($arr);\r
- echo $ris;\r
- die;\r
- }\r
- $res=mysqli_num_rows($exists);\r
- if ($res==1)\r
- {\r
- $ID=mysqli_fetch_array($exists);\r
- $_SESSION["username"]=$result->username;\r
- $arr = array('result'=>"login effettuato con successo");\r
- $ris=json_encode($arr);\r
- echo $ris;\r
- }\r
- else\r
- {\r
- $arr= array('result'=>"Utente non trovato");\r
- $ris=json_encode($arr);\r
- echo $ris;\r
- }\r
- \r
- }\r
- mysqli_close($con)\r
-?>\r
+++ /dev/null
-function change()
-{
- document.location.href="index.html";
-}
-function logout()
-{
- $.ajax({
- type: 'POST',
- url: 'logout.php',
- async: false
- }).success
- (
- function(response)
- {
- change();
- }
- );
-}
+++ /dev/null
-<?php
- session_start();
- unset($_SESSION['ID']);
- $arr=array('result'=>"logout effettuato con successo");
- $ris=json_encode($arr);
- echo $ris;
-?>
+++ /dev/null
-<?php
- session_start();
-//se non c'è la sessione registrata
-
- if (!isset($_SESSION['username']))
- {
- header("location: index.html");
- }
-?>
-
-
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8"/>
- <link rel="stylesheet" type="text/css" media="all" href="login.css"/>
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
- <script type="text/javascript" src="./prova.js"></script>
- </head>
- <body>
- <form action="upload.php" method="post" enctype="multipart/form-data">
- Select file to upload:
- <input type="file" name="fileToUpload" id="fileToUpload">
- <input type="submit" value="Upload" name="submit">
- </form>
- <br/>
- <div>
- <table id="esTable">
- <tr>
- <th>Lista Esercizi</th>
- </tr>
- </table>
- <table id="tabella">
- <tr id="intestazione">
- <th>Nome Esercizio</th>
- <th>Studente</th>
- <th>click</th>
- </tr>
- </div>
- </body>
-</html>
+++ /dev/null
-<?php
- if ($handle = opendir('/var/www/html/esercizi'))
- {
- echo "File:<br/>";
-
- while (false !== ($file = readdir($handle))) {
- if($file!="." && $file!="..")
- echo "$file<br/>";
- }
-
- closedir($handle);
- }
-?>
+++ /dev/null
-<!DOCTYPE html>
-<html>
- <head>
- </head>
- <body>
- <form action="upload.php" method="post" enctype="multipart/form-data">
- <input type="file" name="upfile">
- <input type="hidden" name="MAX_FILE_SIZE" value="10000">
- <input type="submit" value="Invia il file">
- </form>
- </body>
-</html>
+++ /dev/null
-function update(event)
-{
- var str;
- if (event==null)
- str='all';
- else{
- var object=event.target;
- str=object.getAttribute("esercizio");
- }
- var query="./serverRequest.php";
- var request=new Object();
- request.name=str;
- var sendstr=JSON.stringify(request);
- $.ajax({
- url:query,
- type:"POST",
- async: "true",
- dataType: "json",
- data:sendstr,
- contentType: "application/json; charset=utf-8",
- success:function(val)
- {
- $("#tabella").empty();
- $("#tabella").append("<tr><th>Nome Esercizio</th><th>Studente</th><th>Click</th>");
- $.each(val.esercizi, function(i, item) {
- var id="es"+i;
- for(j=0;j<item.risultati.length;j++)
- {
- var id_i=id+j;
- $("#tabella").append($('<tr>').attr('id',id_i));
- id_i="#"+id_i;
- $(id_i).append($('<td>').text(item.esercizio));
- $(id_i).append($('<td>').text(item.risultati[j].utente));
- $(id_i).append($('<td>').text(item.risultati[j].click));
- $(id_i).append($('<input class="eliminaRis" type="submit" value="elimina">').attr('risultato',item.risultati[j].click));
- }
- });
- },
- });
-}
-
-function esList()
-{
- var query="./xmlPharse.php";
- $.ajax({
- url:query,
- type:"GET",
- async: "true",
- dataType: "json",
- accepts: {json:"application/json"},
- success:function(val)
- {
- $("#esTable").empty();
- $("#esTable").append("<tr><th>Nome Esercizio</th>");
- $.each(val.esercizi, function(i, item) {
- var id="ex"+i;
- $("#esTable").append($('<tr>').attr('id',id));
- $("#ex"+i).append($('<td>').text(item));
- $("#ex"+i).append($('<input class="seleziona" type="submit" value="seleziona">').attr('esercizio',item));
- $("#ex"+i).append($('<input class="elimina" type="submit" value="elimina">').attr('esercizio',item));
- });
- $("#esTable").append('<button type="button" esercizio="all" class="seleziona">seleziona tutti</button>');
- $(".seleziona").click(function(event){update(event);});
- },
- });
-}
-
-$(document).ready(function(){
- esList();
- update();
- $(".seleziona").click(function(event){update(event);});
-});
+++ /dev/null
-<?php
- $target_dir = "esercizi/";
- $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
- $uploadOk = 1;
- $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
- // Check if file already exists
- if (file_exists($target_file)) {
- echo "Sorry, file already exists.";
- $uploadOk = 0;
- }
- // Check file size
- if ($_FILES["fileToUpload"]["size"] > 500000) {
- echo "Sorry, your file is too large.";
- $uploadOk = 0;
- }
- // Check if $uploadOk is set to 0 by an error
- if ($uploadOk == 0) {
- echo "Sorry, your file was not uploaded.";
- // if everything is ok, try to upload file
- } else {
- if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
- echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
- } else {
- echo "Sorry, there was an error uploading your file.";
- }
- }
- echo exec("php-cli main.php");
-?>
-<!DOCTYPE html>
-<html>
-<head>
-</head>
-<body>
- <form action="upload.php" method="post" enctype="multipart/form-data">
- Select file to upload:
- <input type="file" name="fileToUpload" id="fileToUpload">
- <input type="submit" value="Upload" name="submit">
- </form>
-</body>
+++ /dev/null
-<?php
- $target_dir = "esercizi/";
- $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
- $uploadOk = 1;
- $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
- // Check if image file is a actual image or fake image
- /*if(isset($_POST["submit"])) {
- $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
- if($check !== false) {
- echo "File is an image - " . $check["mime"] . ".";
- $uploadOk = 1;
- } else {
- echo "File is not an image.";
- $uploadOk = 0;
- }
- }*/
- // Check if file already exists
- if (file_exists($target_file)) {
- echo "Sorry, file already exists.";
- $uploadOk = 0;
- }
- // Check file size
- if ($_FILES["fileToUpload"]["size"] > 500000) {
- echo "Sorry, your file is too large.";
- $uploadOk = 0;
- }
- // Allow certain file formats
- /*if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
- && $imageFileType != "gif" ) {
- echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
- $uploadOk = 0;
- }*/
- // Check if $uploadOk is set to 0 by an error
- if ($uploadOk == 0) {
- echo "Sorry, your file was not uploaded.";
- // if everything is ok, try to upload file
- } else {
- if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
- echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
- } else {
- echo "Sorry, there was an error uploading your file.";
- }
- }
-?>
+++ /dev/null
-mi sei riuscito a scaricare
-
+++ /dev/null
-<?php
- include 'util.php';
- $data = file_get_contents('php://input'); /*file_get_contents:data una stringa, recupera i parametri di query. In questo caso viene presa la stringa inviata come dato dal JS*/
- $result = json_decode($data);
- $con=mysqli_connect("localhost","root","cscroot","logintesi");
- if ($con==false)
- {
- $arr=array('result'=>"errore nella connessione al database");
- $ris=json_encode($arr);
- echo $ris;
- die;
- }
- if($result->name=='all')
- $str="SELECT * FROM esercizi;";
- else
- $str="SELECT * FROM esercizi WHERE esercizio='".$result->name."' ORDER BY esercizio;";
- $str=mysqli_query($con,$str);
- if (!$str)
- {
- $arr= array('result'=>"nessun elemento presente");
- $ris=json_encode($arr);
- echo $ris;
- die;
- }
- $esercizi;
- $risp=mysqli_fetch_array($str);
- $risultati;
- $esercizio['esercizio']=$risp['esercizio'];
- do
- {
- if($esercizio['esercizio']==$risp['esercizio'])
- {
- //aggiungo utenti e click ell'es corrente
- $risultati[]=array('id'=>$risp['id'],'utente'=>$risp['utente'],'click'=>$risp['click']);
- }
- else
- {
- //reimposto i campi per un nuovo esercizio
- $esercizio['risultati']=$risultati;
- $esercizi[]=$esercizio;
- unset($esercizio);
- unset($risultati);
- $esercizio['esercizio']=$risp['esercizio'];
- $risultati[]=array('id'=>$risp['id'],'utente'=>$risp['utente'],'click'=>$risp['click']);
- }
- }while($risp=mysqli_fetch_array($str));
- $esercizio['risultati']=$risultati;
- $esercizi[]=$esercizio;
- $ex=array('esercizi'=>$esercizi);
- unset($esercizio);
- unset($risultati);
- $return_json=__json_encode($ex);
- echo $return_json;
-?>
+++ /dev/null
-<?php
- $target_dir = "esercizi/";
- $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
- $uploadOk = 1;
- $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
- // Check if image file is a actual image or fake image
- /*if(isset($_POST["submit"])) {
- $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
- if($check !== false) {
- echo "File is an image - " . $check["mime"] . ".";
- $uploadOk = 1;
- } else {
- echo "File is not an image.";
- $uploadOk = 0;
- }
- }*/
- // Check if file already exists
- if (file_exists($target_file)) {
- echo "Sorry, file already exists.";
- $uploadOk = 0;
- }
- // Check file size
- if ($_FILES["fileToUpload"]["size"] > 500000) {
- echo "Sorry, your file is too large.";
- $uploadOk = 0;
- }
- // Allow certain file formats
- /*if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
- && $imageFileType != "gif" ) {
- echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
- $uploadOk = 0;
- }*/
- // Check if $uploadOk is set to 0 by an error
- if ($uploadOk == 0) {
- echo "Sorry, your file was not uploaded.";
- // if everything is ok, try to upload file
- } else {
- if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
- echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
- } else {
- echo "Sorry, there was an error uploading your file.";
- }
- }
-?>
-<!DOCTYPE html>
-<html>
-<head>
-</head>
-<body>
- <form action="main.php">
- <input type="submit" value="indietro" name="submit">
- </form>
-</body>
+++ /dev/null
-<?
- // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
- // DI PHP PRECEDENTI ALLA 4.1.0
- if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
- if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;
- /********************* VARIABILI DA SETTARE ********************/
- // Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
- $upload_dir = "/home/furt/brogetto/data";
-
- // Eventuale nuovo nome da dare al file uploadato
- $new_name = "";
-
- // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
- $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
-
- if(trim($_FILES["upfile"]["name"]) == "")
- {
- die("Non hai indicato il file da uploadare !");
- }
-
- if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
-
- @move_uploaded_file($_FILES["upfile"]["tmp_name"], $upload_dir."/".$file_name)
- or die("Impossibile spostare il file, controlla l’esistenza o i permessi della directory dove fare l’upload.");
-
- } else {
-
- die("Problemi nell’upload del file" . $_FILES["upfile"]["name"]);
-
- }
-
- echo "L’upload del file" . $_FILES["upfile"]["name"] . "è avvenuto correttamente";
-?>
+++ /dev/null
-<?php
-function __json_encode($data) {
- if (is_array ( $data ) || is_object ( $data )) {
- $islist = is_array ( $data ) && (empty ( $data ) || array_keys ( $data ) === range ( 0, count ( $data ) - 1 ));
-
- if ($islist) {
- $json = '[' . implode ( ',', array_map ( '__json_encode', $data ) ) . ']';
- } else {
- $items = Array ();
- foreach ( $data as $key => $value ) {
- $items [] = __json_encode ( "$key" ) . ':' . __json_encode ( $value );
- }
- $json = '{' . implode ( ',', $items ) . '}';
- }
- } elseif (is_string ( $data )) {
- $json = '"' . addcslashes ( $data, '\\"' ) . '"';
- } else {
- // int, floats, bools, null
- $json = strtolower ( var_export ( $data, true ) );
- }
- return $json;
-}
-
-function GET_check()
-{
-if (!isset($_GET['scope']) or !isset($_GET['type']) or !($_GET['lat']) or !isset($_GET['lng']) or !isset($_GET['radius']) or !isset($_GET['timemin']) or !isset($_GET['timemax']) or !isset($_GET['status']))
- return false;
-else return true;
-}
-function POST_check($params)
-{
-if (!$params->type or !$params->lat or !$params->lng) return false;
-else return true;
-}
-
-function NOTIFY_check($params)
-{
-if (!$params->event_id or !$params->lat or !$params->lng or !$params->status) return false;
-else return true;
-}
-?>
+++ /dev/null
-<?php
- include 'util.php';
- $xml = simplexml_load_file('/home/claudio/tesi_applet/Server/server/tesi/src/com/company/esercizi.xml');
- $esercizi;
- foreach($xml->esercizio as $esercizio)
- {
- $esercizi['esercizi'][]="$esercizio";
- }
- $return_json=__json_encode($esercizi);
- echo $return_json;
-?>
--- /dev/null
+-- phpMyAdmin SQL Dump
+-- version 4.0.10deb1
+-- http://www.phpmyadmin.net
+--
+-- Host: localhost
+-- Generato il: Nov 14, 2014 alle 16:45
+-- Versione del server: 5.5.38-0ubuntu0.14.04.1
+-- Versione PHP: 5.5.9-1ubuntu4.4
+
+USE logintesi;
+
+SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+SET time_zone = "+00:00";
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+
+--
+-- Database: `logintesi`
+--
+
+-- --------------------------------------------------------
+
+--
+-- Struttura della tabella `admin`
+--
+
+CREATE TABLE IF NOT EXISTS `admin` (
+ `username` varchar(30) COLLATE utf8_bin NOT NULL,
+ `password` varchar(30) COLLATE utf8_bin NOT NULL,
+ UNIQUE KEY `username` (`username`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
+
+--
+-- Dump dei dati per la tabella `admin`
+--
+
+INSERT INTO `admin` (`username`, `password`) VALUES
+('danilo.berardinelli', '123stella');
+
+-- --------------------------------------------------------
+
+--
+-- Struttura della tabella `aggprova`
+--
+
+CREATE TABLE IF NOT EXISTS `aggprova` (
+ `chiave` varchar(50) COLLATE utf8_bin NOT NULL,
+ `time` double NOT NULL,
+ `checks` int(11) NOT NULL,
+ PRIMARY KEY (`chiave`),
+ UNIQUE KEY `key` (`chiave`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
+
+--
+-- Dump dei dati per la tabella `aggprova`
+--
+
+INSERT INTO `aggprova` (`chiave`, `time`, `checks`) VALUES
+('10157426982320510', 1415145803639, 1),
+('10244937857444543', 1415284664538, 1),
+('10308106918353456', 1415243065790, 1),
+('10385651273134167', 1415289922479, 1),
+('10414239987472834', 1415285560312, 1),
+('1097785784725414', 1415284853312, 1),
+('10983265112121106', 1415242393295, 1),
+('1286713061377424', 1415036978051, 1),
+('1408285479764558', 1415278883075, 1),
+('1490801371315190', 1415285333816, 1),
+('1741331087669285', 1415811578318, 1),
+('18516070104459806', 1415276863684, 1),
+('2217380018747176', 1415145507080, 1),
+('2260502250327125', 1415284745047, 1),
+('2473377684156933', 1415284628252, 1),
+('2504043195911198', 1415285115955, 1),
+('2686774762838581', 1415278911038, 1),
+('2744239278608085', 1415036291300, 1),
+('2956509786688513', 1415271435934, 1),
+('2961042458190883', 1415277033282, 1),
+('3109253928772677', 1415284540445, 1),
+('3311335330604631', 1415237862686, 1),
+('3486758220086141', 1415242975878, 1),
+('3571361357113219', 1415285156048, 1),
+('4091389111256716', 1415025754182, 1),
+('42848425102166715', 1415242068918, 1),
+('4457124515989723', 1415811050681, 1),
+('4577865146663611', 1415285170075, 1),
+('4796791993070257', 1415288554998, 1),
+('5005653368852396', 1415285312682, 1),
+('5226217037177487', 1415145721770, 1),
+('5308112899337743', 1415037335958, 1),
+('5362524692721963', 1415811381242, 1),
+('5382075363462279', 1415272904986, 1),
+('5650512812480934', 1415271249954, 1),
+('5735648814288922', 1415036889526, 1),
+('62029084106069252', 1415241839377, 1),
+('6712150141518271', 1415285510994, 1),
+('6786243849285602', 1415811389915, 1),
+('6992436366972266', 1415242705239, 1),
+('7106071695334106', 1415811170493, 1),
+('7158700078303143', 1415284726466, 1),
+('7307203380313108', 1415819825863, 1),
+('75372031101482498', 1415284519581, 1),
+('7703030541673651', 1415272914342, 1),
+('8065501483698608', 1415819808393, 1),
+('8468895456378674', 1415241733824, 1),
+('8760904545449404', 1415285230458, 1),
+('8838732364680254', 1415271877269, 1),
+('9576830372163956', 1415283251776, 1);
+
+-- --------------------------------------------------------
+
+--
+-- Struttura della tabella `confmail`
+--
+
+CREATE TABLE IF NOT EXISTS `confmail` (
+ `user` varchar(50) COLLATE utf8_bin NOT NULL,
+ `pass` varchar(50) COLLATE utf8_bin NOT NULL,
+ `hash` varchar(50) COLLATE utf8_bin NOT NULL,
+ `time` double DEFAULT NULL,
+ UNIQUE KEY `user` (`user`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
+
+-- --------------------------------------------------------
+
+--
+-- Struttura della tabella `connessi`
+--
+
+CREATE TABLE IF NOT EXISTS `connessi` (
+ `user` varchar(50) COLLATE utf8_bin NOT NULL,
+ `tempkey` varchar(50) COLLATE utf8_bin NOT NULL,
+ `thread` tinyint(1) NOT NULL,
+ `time` double NOT NULL,
+ UNIQUE KEY `tempkey` (`tempkey`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
+
+--
+-- Dump dei dati per la tabella `connessi`
+--
+
+INSERT INTO `connessi` (`user`, `tempkey`, `thread`, `time`) VALUES
+('danilo.berardinelli@studio.unibo.it', '2545550210880139', 0, 1415975986391);
+
+-- --------------------------------------------------------
+
+--
+-- Struttura della tabella `esercizi`
+--
+
+CREATE TABLE IF NOT EXISTS `esercizi` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `esercizio` varchar(20) COLLATE utf8_bin NOT NULL,
+ `utente` varchar(50) COLLATE utf8_bin NOT NULL,
+ `click` int(11) NOT NULL,
+ `time` double NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `id` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=4 ;
+
+--
+-- Dump dei dati per la tabella `esercizi`
+--
+
+INSERT INTO `esercizi` (`id`, `esercizio`, `utente`, `click`, `time`) VALUES
+(1, 'tautologia.xml', 'danilo.berardinelli@studio.unibo.it', 1, 1415923860705),
+(2, 'tautologia.xml', 'danilo.berardinelli@studio.unibo.it', 1, 1415975624027),
+(3, 'tautologia.xml', 'danilo.berardinelli@studio.unibo.it', 3, 1415975983857);
+
+-- --------------------------------------------------------
+
+--
+-- Struttura della tabella `utenti`
+--
+
+CREATE TABLE IF NOT EXISTS `utenti` (
+ `user` varchar(50) COLLATE utf8_bin NOT NULL,
+ `pass` varchar(15) COLLATE utf8_bin NOT NULL,
+ UNIQUE KEY `user` (`user`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
+
+--
+-- Dump dei dati per la tabella `utenti`
+--
+
+INSERT INTO `utenti` (`user`, `pass`) VALUES
+('danilo.berardinelli@studio.unibo.it', '123stella');
+
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="CompilerConfiguration">
+ <option name="DEFAULT_COMPILER" value="Javac" />
+ <resourceExtensions />
+ <wildcardResourcePatterns>
+ <entry name="!?*.java" />
+ <entry name="!?*.form" />
+ <entry name="!?*.class" />
+ <entry name="!?*.groovy" />
+ <entry name="!?*.scala" />
+ <entry name="!?*.flex" />
+ <entry name="!?*.kt" />
+ <entry name="!?*.clj" />
+ </wildcardResourcePatterns>
+ <annotationProcessing>
+ <profile default="true" name="Default" enabled="false">
+ <processorPath useClasspath="true" />
+ </profile>
+ </annotationProcessing>
+ </component>
+</project>
\ No newline at end of file
--- /dev/null
+<component name="CopyrightManager">
+ <settings default="" />
+</component>
\ No newline at end of file
--- /dev/null
+<html>Simple <b>Java</b> application that includes a class with <code>main()</code> method</html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="EntryPointsManager">
+ <entry_points version="2.0" />
+ </component>
+ <component name="ProjectKey">
+ <option name="state" value="project://e2804f05-5315-4fc6-a121-c522a6c26470" />
+ </component>
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true">
+ <output url="file://$PROJECT_DIR$/out" />
+ </component>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://$PROJECT_DIR$/tesi.iml" filepath="$PROJECT_DIR$/tesi.iml" />
+ </modules>
+ </component>
+</project>
\ No newline at end of file
--- /dev/null
+<template>
+ <input-field default="com.company">IJ_BASE_PACKAGE</input-field>
+</template>
\ No newline at end of file
--- /dev/null
+<component name="DependencyValidationManager">
+ <state>
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
+ </state>
+</component>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Palette2">
+ <group name="Swing">
+ <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+ </item>
+ <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+ <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+ <initial-values>
+ <property name="text" value="Button" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="RadioButton" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="CheckBox" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="Label" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+ <preferred-size width="-1" height="20" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+ </item>
+ </group>
+ </component>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="VcsDirectoryMappings">
+ <mapping directory="" vcs="" />
+ </component>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ChangeListManager">
+ <list default="true" id="f9bf9f33-b4ab-4b7e-835e-3aefbf8ab14e" name="Default" comment="" />
+ <ignored path="testi.iws" />
+ <ignored path=".idea/workspace.xml" />
+ <ignored path="$PROJECT_DIR$/out/" />
+ <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
+ <option name="TRACKING_ENABLED" value="true" />
+ <option name="SHOW_DIALOG" value="false" />
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+ <option name="LAST_RESOLUTION" value="IGNORE" />
+ </component>
+ <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
+ <component name="CreatePatchCommitExecutor">
+ <option name="PATCH_PATH" value="" />
+ </component>
+ <component name="DaemonCodeAnalyzer">
+ <disable_hints />
+ </component>
+ <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
+ <component name="FavoritesManager">
+ <favorites_list name="testi" />
+ </component>
+ <component name="FileEditorManager">
+ <leaf>
+ <file leaf-file-name="EsNameParser.java" pinned="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="90" max-vertical-offset="2466">
+ <caret line="17" column="19" selection-start-line="17" selection-start-column="19" selection-end-line="17" selection-end-column="19" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="DirectoryWhatcer.java" pinned="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1980">
+ <caret line="25" column="42" selection-start-line="25" selection-start-column="42" selection-end-line="25" selection-end-column="42" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="esercizi.xml" pinned="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/com/company/esercizi.xml">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="198">
+ <caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="global.java" pinned="false" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/src/com/company/global.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.3452055" vertical-offset="0" max-vertical-offset="730">
+ <caret line="14" column="0" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="personalServer.java" pinned="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/com/company/personalServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="234" max-vertical-offset="990">
+ <caret line="20" column="12" selection-start-line="20" selection-start-column="12" selection-end-line="20" selection-end-column="12" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="dbConnect.java" pinned="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/com/company/dbConnect.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="2160" max-vertical-offset="5724">
+ <caret line="226" column="19" selection-start-line="226" selection-start-column="19" selection-end-line="226" selection-end-column="19" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="suString.java" pinned="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/com/company/suString.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="324" max-vertical-offset="1296">
+ <caret line="18" column="13" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="superServer.java" pinned="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="38" max-vertical-offset="1044">
+ <caret line="16" column="24" selection-start-line="16" selection-start-column="24" selection-end-line="16" selection-end-column="43" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="guestServer.java" pinned="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/com/company/guestServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="1242" max-vertical-offset="1404">
+ <caret line="74" column="0" selection-start-line="74" selection-start-column="0" selection-end-line="74" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ </leaf>
+ </component>
+ <component name="IdeDocumentHistory">
+ <option name="CHANGED_PATHS">
+ <list>
+ <option value="$PROJECT_DIR$/src/com/company/testEsname.java" />
+ <option value="$PROJECT_DIR$/src/com/company/DeleteFileExample.java" />
+ <option value="$PROJECT_DIR$/src/com/server/superServer.java" />
+ <option value="$PROJECT_DIR$/src/com/server/xmlOperation.java" />
+ <option value="$PROJECT_DIR$/src/com/server/DirectoryWhatcer.java" />
+ <option value="$PROJECT_DIR$/src/com/company/hash.java" />
+ <option value="$PROJECT_DIR$/src/com/company/gommo.java" />
+ <option value="$PROJECT_DIR$/src/com/company/xmlOperation.java" />
+ <option value="$PROJECT_DIR$/src/com/company/MD5.java" />
+ <option value="$PROJECT_DIR$/src/com/company/guestServer.java" />
+ <option value="$PROJECT_DIR$/src/com/company/EmailSender.java" />
+ <option value="$PROJECT_DIR$/src/com/company/suString.java" />
+ <option value="$PROJECT_DIR$/src/com/company/httpget.java" />
+ <option value="$PROJECT_DIR$/src/com/company/personalServer.java" />
+ <option value="$PROJECT_DIR$/src/com/company/dbConnect.java" />
+ <option value="$PROJECT_DIR$/src/com/company/EsNameParser.java" />
+ <option value="$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java" />
+ <option value="$PROJECT_DIR$/src/com/company/superServer.java" />
+ <option value="$PROJECT_DIR$/src/com/company/global.java" />
+ </list>
+ </option>
+ </component>
+ <component name="ProjectFrameBounds">
+ <option name="x" value="-1" />
+ <option name="y" value="26" />
+ <option name="width" value="1442" />
+ <option name="height" value="875" />
+ </component>
+ <component name="ProjectInspectionProfilesVisibleTreeState">
+ <entry key="Project Default">
+ <profile-state>
+ <expanded-state>
+ <State>
+ <id />
+ </State>
+ <State>
+ <id>Control flow issues</id>
+ </State>
+ </expanded-state>
+ <selected-state>
+ <State>
+ <id>InfiniteLoopStatement</id>
+ </State>
+ </selected-state>
+ </profile-state>
+ </entry>
+ </component>
+ <component name="ProjectLevelVcsManager" settingsEditedManually="false">
+ <OptionsSetting value="true" id="Add" />
+ <OptionsSetting value="true" id="Remove" />
+ <OptionsSetting value="true" id="Checkout" />
+ <OptionsSetting value="true" id="Update" />
+ <OptionsSetting value="true" id="Status" />
+ <OptionsSetting value="true" id="Edit" />
+ <ConfirmationsSetting value="0" id="Add" />
+ <ConfirmationsSetting value="0" id="Remove" />
+ </component>
+ <component name="ProjectView">
+ <navigator currentView="ProjectPane" proportions="" version="1">
+ <flattenPackages />
+ <showMembers />
+ <showModules />
+ <showLibraryContents />
+ <hideEmptyPackages />
+ <abbreviatePackageNames />
+ <autoscrollToSource />
+ <autoscrollFromSource />
+ <sortByType />
+ </navigator>
+ <panes>
+ <pane id="Scope" />
+ <pane id="PackagesPane" />
+ <pane id="ProjectPane">
+ <subPane>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="testi" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="testi" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="testi" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="testi" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="testi" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="company" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="testi" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="testi" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="company" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="DirectoryWhatcer.java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.ClassesTreeStructureProvider$PsiClassOwnerTreeNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </pane>
+ </panes>
+ </component>
+ <component name="PropertiesComponent">
+ <property name="GoToClass.includeLibraries" value="false" />
+ <property name="GoToClass.toSaveIncludeLibraries" value="false" />
+ <property name="GoToFile.includeJavaFiles" value="false" />
+ <property name="MemberChooser.sorted" value="false" />
+ <property name="MemberChooser.showClasses" value="true" />
+ <property name="MemberChooser.copyJavadoc" value="false" />
+ <property name="recentsLimit" value="5" />
+ <property name="restartRequiresConfirmation" value="true" />
+ <property name="FullScreen" value="false" />
+ <property name="last_opened_file_path" value="$PROJECT_DIR$" />
+ <property name="options.lastSelected" value="editor.preferences.appearance" />
+ <property name="options.splitter.main.proportions" value="0.3" />
+ <property name="options.splitter.details.proportions" value="0.2" />
+ <property name="project.structure.last.edited" value="SDKs" />
+ <property name="project.structure.proportion" value="0.15" />
+ <property name="project.structure.side.proportion" value="0.2" />
+ <property name="dynamic.classpath" value="false" />
+ </component>
+ <component name="RunManager" selected="Application.Main">
+ <configuration default="true" type="JUnit" factoryName="JUnit">
+ <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+ <module name="" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="PACKAGE_NAME" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="METHOD_NAME" />
+ <option name="TEST_OBJECT" value="class" />
+ <option name="VM_PARAMETERS" />
+ <option name="PARAMETERS" />
+ <option name="WORKING_DIRECTORY" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <option name="TEST_SEARCH_SCOPE">
+ <value defaultName="singleModule" />
+ </option>
+ <envs />
+ <patterns />
+ <method />
+ </configuration>
+ <configuration default="true" type="AndroidRunConfigurationType" factoryName="Android Application">
+ <module name="" />
+ <option name="ACTIVITY_CLASS" value="" />
+ <option name="MODE" value="default_activity" />
+ <option name="DEPLOY" value="true" />
+ <option name="ARTIFACT_NAME" value="" />
+ <option name="TARGET_SELECTION_MODE" value="EMULATOR" />
+ <option name="USE_LAST_SELECTED_DEVICE" value="false" />
+ <option name="PREFERRED_AVD" value="" />
+ <option name="USE_COMMAND_LINE" value="true" />
+ <option name="COMMAND_LINE" value="" />
+ <option name="WIPE_USER_DATA" value="false" />
+ <option name="DISABLE_BOOT_ANIMATION" value="false" />
+ <option name="NETWORK_SPEED" value="full" />
+ <option name="NETWORK_LATENCY" value="none" />
+ <option name="CLEAR_LOGCAT" value="false" />
+ <option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
+ <option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
+ <method />
+ </configuration>
+ <configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Tests">
+ <module name="" />
+ <option name="TESTING_TYPE" value="0" />
+ <option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
+ <option name="METHOD_NAME" value="" />
+ <option name="CLASS_NAME" value="" />
+ <option name="PACKAGE_NAME" value="" />
+ <option name="TARGET_SELECTION_MODE" value="EMULATOR" />
+ <option name="USE_LAST_SELECTED_DEVICE" value="false" />
+ <option name="PREFERRED_AVD" value="" />
+ <option name="USE_COMMAND_LINE" value="true" />
+ <option name="COMMAND_LINE" value="" />
+ <option name="WIPE_USER_DATA" value="false" />
+ <option name="DISABLE_BOOT_ANIMATION" value="false" />
+ <option name="NETWORK_SPEED" value="full" />
+ <option name="NETWORK_LATENCY" value="none" />
+ <option name="CLEAR_LOGCAT" value="false" />
+ <option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
+ <option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
+ <method />
+ </configuration>
+ <configuration default="true" type="GradleRunConfiguration" factoryName="Gradle">
+ <ExternalSystemSettings>
+ <option name="executionName" />
+ <option name="externalProjectPath" />
+ <option name="externalSystemIdString" value="GRADLE" />
+ <option name="scriptParameters" />
+ <option name="taskDescriptions">
+ <list />
+ </option>
+ <option name="taskNames">
+ <list />
+ </option>
+ <option name="vmOptions" />
+ </ExternalSystemSettings>
+ <method />
+ </configuration>
+ <configuration default="true" type="JarApplication" factoryName="JAR Application">
+ <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+ <envs />
+ <method />
+ </configuration>
+ <configuration default="true" type="Application" factoryName="Application">
+ <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="VM_PARAMETERS" />
+ <option name="PROGRAM_PARAMETERS" />
+ <option name="WORKING_DIRECTORY" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="ENABLE_SWING_INSPECTOR" value="false" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <module name="" />
+ <envs />
+ <method />
+ </configuration>
+ <configuration default="true" type="TestNG" factoryName="TestNG">
+ <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+ <module name="" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="SUITE_NAME" />
+ <option name="PACKAGE_NAME" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="METHOD_NAME" />
+ <option name="GROUP_NAME" />
+ <option name="TEST_OBJECT" value="CLASS" />
+ <option name="VM_PARAMETERS" />
+ <option name="PARAMETERS" />
+ <option name="WORKING_DIRECTORY" />
+ <option name="OUTPUT_DIRECTORY" />
+ <option name="ANNOTATION_TYPE" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <option name="TEST_SEARCH_SCOPE">
+ <value defaultName="singleModule" />
+ </option>
+ <option name="USE_DEFAULT_REPORTERS" value="false" />
+ <option name="PROPERTIES_FILE" />
+ <envs />
+ <properties />
+ <listeners />
+ <method />
+ </configuration>
+ <configuration default="false" name="Main" type="Application" factoryName="Application">
+ <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+ <option name="MAIN_CLASS_NAME" value="com.company.superServer" />
+ <option name="VM_PARAMETERS" value="" />
+ <option name="PROGRAM_PARAMETERS" value="" />
+ <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" value="" />
+ <option name="ENABLE_SWING_INSPECTOR" value="false" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <module name="tesi" />
+ <envs />
+ <RunnerSettings RunnerId="Debug">
+ <option name="DEBUG_PORT" value="" />
+ <option name="TRANSPORT" value="0" />
+ <option name="LOCAL" value="true" />
+ </RunnerSettings>
+ <RunnerSettings RunnerId="Run" />
+ <ConfigurationWrapper RunnerId="Debug" />
+ <ConfigurationWrapper RunnerId="Run" />
+ <method />
+ </configuration>
+ <list size="1">
+ <item index="0" class="java.lang.String" itemvalue="Application.Main" />
+ </list>
+ </component>
+ <component name="ShelveChangesManager" show_recycled="false" />
+ <component name="SvnConfiguration">
+ <configuration />
+ </component>
+ <component name="TaskManager">
+ <task active="true" id="Default" summary="Default task">
+ <changelist id="f9bf9f33-b4ab-4b7e-835e-3aefbf8ab14e" name="Default" comment="" />
+ <created>1415700559063</created>
+ <option name="number" value="Default" />
+ <updated>1415700559063</updated>
+ </task>
+ <servers />
+ </component>
+ <component name="ToolWindowManager">
+ <frame x="-1" y="26" width="1442" height="875" extended-state="6" />
+ <editor active="false" />
+ <layout>
+ <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
+ <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32820514" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="Palette	" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+ <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3992298" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
+ <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32760897" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+ <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25679544" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+ <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+ <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+ <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3976222" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
+ <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+ <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32991013" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
+ <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
+ <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32962447" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
+ <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
+ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32991013" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+ </layout>
+ </component>
+ <component name="Vcs.Log.UiProperties">
+ <option name="RECENTLY_FILTERED_USER_GROUPS">
+ <collection />
+ </option>
+ <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
+ <collection />
+ </option>
+ </component>
+ <component name="VcsContentAnnotationSettings">
+ <option name="myLimit" value="2678400000" />
+ </component>
+ <component name="VcsManagerConfiguration">
+ <option name="myTodoPanelSettings">
+ <TodoPanelSettings />
+ </option>
+ </component>
+ <component name="XDebuggerManager">
+ <breakpoint-manager>
+ <option name="time" value="5" />
+ </breakpoint-manager>
+ <watches-manager />
+ </component>
+ <component name="antWorkspaceConfiguration">
+ <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+ <option name="FILTER_TARGETS" value="false" />
+ </component>
+ <component name="editorHistoryManager">
+ <entry file="file://$PROJECT_DIR$/src/com/company/guestServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="1242" max-vertical-offset="1404">
+ <caret line="74" column="0" selection-start-line="74" selection-start-column="0" selection-end-line="74" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="1548" max-vertical-offset="2466">
+ <caret line="98" column="21" selection-start-line="98" selection-start-column="21" selection-end-line="98" selection-end-column="21" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/global.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="144" max-vertical-offset="252">
+ <caret line="8" column="0" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/EmailSender.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="43" max-vertical-offset="2088">
+ <caret line="15" column="0" selection-start-line="15" selection-start-column="0" selection-end-line="15" selection-end-column="0" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/suString.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1296">
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/guestServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="905" max-vertical-offset="1404">
+ <caret line="74" column="0" selection-start-line="74" selection-start-column="0" selection-end-line="74" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="162" max-vertical-offset="1638">
+ <caret line="29" column="62" selection-start-line="29" selection-start-column="37" selection-end-line="29" selection-end-column="62" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/xmlOperation.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="1059" max-vertical-offset="2556">
+ <caret line="71" column="9" selection-start-line="71" selection-start-column="9" selection-end-line="71" selection-end-column="9" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="291" max-vertical-offset="1044">
+ <caret line="41" column="0" selection-start-line="41" selection-start-column="0" selection-end-line="41" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="180" max-vertical-offset="2466">
+ <caret line="22" column="80" selection-start-line="22" selection-start-column="80" selection-end-line="22" selection-end-column="80" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/httpget.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="646" max-vertical-offset="1386">
+ <caret line="59" column="59" selection-start-line="59" selection-start-column="59" selection-end-line="59" selection-end-column="59" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/personalServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="1098">
+ <caret line="22" column="30" selection-start-line="22" selection-start-column="30" selection-end-line="22" selection-end-column="30" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/dbConnect.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="7131" max-vertical-offset="8262">
+ <caret line="449" column="45" selection-start-line="449" selection-start-column="45" selection-end-line="449" selection-end-column="45" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/MD5.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="16" max-vertical-offset="756">
+ <caret line="19" column="71" selection-start-line="19" selection-start-column="71" selection-end-line="19" selection-end-column="71" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="162" max-vertical-offset="1638">
+ <caret line="29" column="62" selection-start-line="29" selection-start-column="37" selection-end-line="29" selection-end-column="62" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/xmlOperation.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="826" max-vertical-offset="2592">
+ <caret line="55" column="97" selection-start-line="55" selection-start-column="97" selection-end-line="55" selection-end-column="97" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="291" max-vertical-offset="1044">
+ <caret line="41" column="0" selection-start-line="41" selection-start-column="0" selection-end-line="41" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2466">
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/httpget.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="486" max-vertical-offset="1350">
+ <caret line="57" column="20" selection-start-line="57" selection-start-column="20" selection-end-line="57" selection-end-column="20" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/guestServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="1548">
+ <caret line="23" column="41" selection-start-line="23" selection-start-column="41" selection-end-line="23" selection-end-column="41" />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/personalServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="363" max-vertical-offset="1116">
+ <caret line="11" column="6" selection-start-line="11" selection-start-column="6" selection-end-line="11" selection-end-column="6" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/dbConnect.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="6928" max-vertical-offset="7668">
+ <caret line="15" column="5" selection-start-line="15" selection-start-column="5" selection-end-line="15" selection-end-column="5" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/MD5.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="16" max-vertical-offset="756">
+ <caret line="13" column="16" selection-start-line="13" selection-start-column="16" selection-end-line="13" selection-end-column="16" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/xmlOperation.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="1317" max-vertical-offset="2592">
+ <caret line="98" column="20" selection-start-line="98" selection-start-column="20" selection-end-line="98" selection-end-column="20" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="549" max-vertical-offset="1044">
+ <caret line="41" column="0" selection-start-line="41" selection-start-column="0" selection-end-line="41" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="558" max-vertical-offset="2466">
+ <caret line="59" column="13" selection-start-line="59" selection-start-column="13" selection-end-line="59" selection-end-column="13" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/httpget.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1350">
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="162" max-vertical-offset="1530">
+ <caret line="40" column="61" selection-start-line="40" selection-start-column="61" selection-end-line="40" selection-end-column="61" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/xmlOperation.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="657" max-vertical-offset="2016">
+ <caret line="51" column="0" selection-start-line="51" selection-start-column="0" selection-end-line="52" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="342" max-vertical-offset="1044">
+ <caret line="35" column="44" selection-start-line="35" selection-start-column="44" selection-end-line="35" selection-end-column="44" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2466">
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/httpget.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="126" max-vertical-offset="1350">
+ <caret line="16" column="0" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="76" max-vertical-offset="1422">
+ <caret line="34" column="20" selection-start-line="34" selection-start-column="20" selection-end-line="34" selection-end-column="20" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="jar:///usr/lib/jvm/java-8-oracle/src.zip!/java/lang/ClassLoader.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.33333334" vertical-offset="5109" max-vertical-offset="38286">
+ <caret line="356" column="0" selection-start-line="356" selection-start-column="0" selection-end-line="356" selection-end-column="0" />
+ </state>
+ </provider>
+ </entry>
+ <entry file="jar:///usr/lib/jvm/java-8-oracle/src.zip!/java/lang/Class.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.33333334" vertical-offset="3273" max-vertical-offset="63540">
+ <caret line="258" column="0" selection-start-line="258" selection-start-column="0" selection-end-line="258" selection-end-column="0" />
+ </state>
+ </provider>
+ </entry>
+ <entry file="jar:///usr/lib/jvm/java-8-oracle/src.zip!/java/lang/Thread.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="12201" max-vertical-offset="35352">
+ <caret line="744" column="0" selection-start-line="744" selection-start-column="0" selection-end-line="744" selection-end-column="0" />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/tesi.iml">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="753">
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+ </state>
+ </provider>
+ </entry>
+ <entry file="jar:///usr/lib/jvm/java-8-oracle/jre/lib/ext/commons-codec-1.10.jar!/org/apache/commons/codec/binary/Hex.class">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.27197802" vertical-offset="0" max-vertical-offset="1998">
+ <caret line="19" column="23" selection-start-line="0" selection-start-column="0" selection-end-line="131" selection-end-column="0" />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/xmlOperation.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.19672132" vertical-offset="0" max-vertical-offset="2376">
+ <caret line="18" column="55" selection-start-line="18" selection-start-column="35" selection-end-line="18" selection-end-column="55" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/MD5.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.051460363" vertical-offset="161" max-vertical-offset="936">
+ <caret line="11" column="11" selection-start-line="11" selection-start-column="11" selection-end-line="11" selection-end-column="11" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/suString.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="324" max-vertical-offset="1296">
+ <caret line="18" column="13" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/EmailSender.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.21311475" vertical-offset="1302" max-vertical-offset="2088">
+ <caret line="81" column="37" selection-start-line="81" selection-start-column="37" selection-end-line="81" selection-end-column="37" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/httpget.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.5757997" vertical-offset="0" max-vertical-offset="1386">
+ <caret line="31" column="94" selection-start-line="31" selection-start-column="94" selection-end-line="31" selection-end-column="94" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/guestServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="905" max-vertical-offset="1404">
+ <caret line="74" column="0" selection-start-line="74" selection-start-column="0" selection-end-line="74" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/personalServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="990">
+ <caret line="20" column="12" selection-start-line="20" selection-start-column="12" selection-end-line="20" selection-end-column="12" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/superServer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="38" max-vertical-offset="1044">
+ <caret line="16" column="24" selection-start-line="16" selection-start-column="24" selection-end-line="16" selection-end-column="43" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/dbConnect.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="2160" max-vertical-offset="5724">
+ <caret line="226" column="19" selection-start-line="226" selection-start-column="19" selection-end-line="226" selection-end-column="19" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/DirectoryWhatcer.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1980">
+ <caret line="25" column="42" selection-start-line="25" selection-start-column="42" selection-end-line="25" selection-end-column="42" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/esercizi.xml">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="198">
+ <caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/EsNameParser.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2466">
+ <caret line="17" column="19" selection-start-line="17" selection-start-column="19" selection-end-line="17" selection-end-column="19" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/com/company/global.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state vertical-scroll-proportion="0.3452055" vertical-offset="0" max-vertical-offset="730">
+ <caret line="14" column="0" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </component>
+ <component name="masterDetails">
+ <states>
+ <state key="ArtifactsStructureConfigurable.UI">
+ <settings>
+ <artifact-editor />
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ <state key="FacetStructureConfigurable.UI">
+ <settings>
+ <last-edited>No facets are configured</last-edited>
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ <state key="GlobalLibrariesConfigurable.UI">
+ <settings>
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ <state key="JdkListConfigurable.UI">
+ <settings>
+ <last-edited>1.8</last-edited>
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ <state key="ModuleStructureConfigurable.UI">
+ <settings>
+ <last-edited>tesi</last-edited>
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ <state key="ProjectLibrariesConfigurable.UI">
+ <settings>
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ </states>
+ </component>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<esercizi>\r
+ <esercizio md5="e687f326a904946f498421a0409916bf">aalbero.xml</esercizio>\r
+ <esercizio md5="d3d4772339c39d408a1b92a24d3c9311">tautologia.xml</esercizio>\r
+</esercizi>\r
--- /dev/null
+<esercizi>
+ <esercizio>albero.xml</esercizio>
+</esercizi>
\ No newline at end of file
--- /dev/null
+package com.company;
+
+import java.io.*;
+import java.nio.file.Path;
+import java.nio.file.StandardWatchEventKinds;
+import java.nio.file.WatchEvent;
+import java.nio.file.WatchEvent.Kind;
+import java.nio.file.WatchKey;
+import java.nio.file.WatchService;
+import java.security.NoSuchAlgorithmException;
+import java.sql.SQLException;
+import java.util.ArrayList;
+
+// Simple class to watch directory events.
+class DirectoryWatcher implements Runnable {
+
+ private Path path;
+
+ public DirectoryWatcher(Path path) {
+ this.path = path;
+ }
+
+ //rimuove tutti gli elementi non validi
+ private void pulisciCartella() {
+ File dir = new File(global.locationEsercizi);
+ String[] lista=dir.list();
+ for(String name : lista)
+ {
+ if (!EsNameParser.check(name))
+ {
+ File file = new File(global.locationEsercizi+name);
+ if (file.delete())
+ System.out.println("eliminato: "+name);
+ else
+ System.out.println("problema di eliminazione file");
+ }
+ else
+ {
+ xmlOperation es=new xmlOperation();
+ File car=new File(global.listaEsercizi);
+ if (car.exists()) {
+ dbConnect db=new dbConnect();
+ try {
+ ArrayList<String> esercizi=suString.stringToArrayList(db.dbQuery("4"));
+ boolean add=true;
+ for(String esercizio : esercizi)
+ {
+ if(esercizio.equals(name))
+ add=false;
+ }
+ if(add)
+ es.add(name);
+ } catch (SQLException e) {
+ e.printStackTrace();
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ } catch (InstantiationException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ }
+
+ // print the events and the affected file
+ private void printEvent(WatchEvent<?> event) throws IOException {
+ Kind<?> kind = event.kind();
+ if (kind.equals(StandardWatchEventKinds.ENTRY_CREATE))
+ {
+ Path pathCreated = (Path) event.context();
+ System.out.println("Entry created:" + pathCreated);
+ boolean check = EsNameParser.check(pathCreated.getFileName().toString());
+ if(!check)
+ {
+ File file = new File(global.locationEsercizi+pathCreated.getFileName().toString());
+ if(file.delete())
+ System.out.println("eliminato");
+ else
+ System.out.println("problema di eliminazione file");
+ }
+ else
+ {
+ xmlOperation es=new xmlOperation();
+ File dir=new File(global.listaEsercizi);
+ if (dir.exists())
+ es.add(pathCreated.getFileName().toString());
+ }
+ }
+ else if (kind.equals(StandardWatchEventKinds.ENTRY_DELETE))
+ {
+ Path pathDeleted = (Path) event.context();
+ System.out.println("Entry deleted:" + pathDeleted);
+ xmlOperation es=new xmlOperation();
+ File dir=new File(global.listaEsercizi);
+ if (dir.exists())
+ es.remove(pathDeleted.getFileName().toString());
+ }
+ else if (kind.equals(StandardWatchEventKinds.ENTRY_MODIFY))
+ {
+ Path pathModified = (Path) event.context();
+ System.out.println("Entry modified:" + pathModified);
+ }
+ }
+
+ @Override
+ public void run() {
+ try {
+ pulisciCartella();
+ WatchService watchService = path.getFileSystem().newWatchService();
+ path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE,
+ StandardWatchEventKinds.ENTRY_MODIFY, StandardWatchEventKinds.ENTRY_DELETE);
+
+ // loop forever to watch directory
+ while (true) {
+ WatchKey watchKey;
+ watchKey = watchService.take(); // this call is blocking until events are present
+
+ // poll for file system events on the WatchKey
+ for (final WatchEvent<?> event : watchKey.pollEvents()) {
+ printEvent(event);
+ }
+
+ // if the watched directed gets deleted, get out of run method
+ if (!watchKey.reset()) {
+ System.out.println("No longer valid");
+ watchKey.cancel();
+ watchService.close();
+ break;
+ }
+ }
+
+ } catch (InterruptedException ex) {
+ System.out.println("interrupted. Goodbye");
+ return;
+ } catch (IOException ex) {
+ ex.printStackTrace(); // don't do this in production code. Use a loggin framework
+ return;
+ }
+ }
+
+}
--- /dev/null
+package com.company;
+
+import java.util.Date;
+import java.util.Properties;
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.Multipart;
+import javax.mail.NoSuchProviderException;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+
+
+
+public class EmailSender {
+ private String user;
+ private String password;
+ private String host;
+ private String mittente;
+ private String destinatario;
+ private String oggetto;
+ private String mess;
+
+
+ EmailSender(String user, String password, String host,
+ String mittente, String destinatario,
+ String oggetto, String mess){
+
+ this.user = user;
+ this.password = password;
+ this.host = host;
+ this.mittente = mittente;
+ this.destinatario = destinatario;
+ this.oggetto = oggetto;
+ this.mess=mess;
+ }
+
+
+ // Metodo che si occupa dell'invio effettivo della mail
+ public void inviaEmail() {
+ int port = 465; //porta 25 per non usare SSL
+
+ Properties props = new Properties();
+ props.put("mail.smtp.auth", "true");
+ props.put("mail.smtp.user", mittente);
+ props.put("mail.smtp.host", host);
+ props.put("mail.smtp.port", port);
+
+ // commentare la riga seguente per non usare SSL
+ props.put("mail.smtp.starttls.enable","true");
+ props.put("mail.smtp.socketFactory.port", port);
+
+ // commentare la riga seguente per non usare SSL
+ props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
+ props.put("mail.smtp.socketFactory.fallback", "false");
+
+ Session session = Session.getInstance(props, null);
+ session.setDebug(true);
+
+ // Creazione delle BodyParts del messaggio
+ MimeBodyPart messageBodyPart1 = new MimeBodyPart();
+
+ try{
+ // COSTRUZIONE DEL MESSAGGIO
+ Multipart multipart = new MimeMultipart();
+ MimeMessage msg = new MimeMessage(session);
+
+ // header del messaggio
+ msg.setSubject(oggetto);
+ msg.setSentDate(new Date());
+ msg.setFrom(new InternetAddress(mittente));
+
+ // destinatario
+ msg.addRecipient(Message.RecipientType.TO,
+ new InternetAddress(destinatario));
+
+ // corpo del messaggio
+ messageBodyPart1.setText(mess);
+ multipart.addBodyPart(messageBodyPart1);
+
+ // allegato al messaggio
+ /*DataSource source = new FileDataSource(allegato);
+ messageBodyPart2.setDataHandler(new DataHandler(source));
+ messageBodyPart2.setFileName(allegato);
+ multipart.addBodyPart(messageBodyPart2);*/
+
+ // inserimento delle parti nel messaggio
+ msg.setContent(multipart);
+
+ Transport transport = session.getTransport("smtps"); //("smtp") per non usare SSL
+ transport.connect(host, user, password);
+ transport.sendMessage(msg, msg.getAllRecipients());
+ transport.close();
+
+ System.out.println("Invio dell'email Terminato");
+
+ }catch(AddressException ae) {
+ ae.printStackTrace();
+ }catch(NoSuchProviderException nspe){
+ nspe.printStackTrace();
+ }catch(MessagingException me){
+ me.printStackTrace();
+ }
+
+ }
+}
--- /dev/null
+package com.company;
+
+import java.io.File;
+import java.io.FileInputStream;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathFactory;
+
+import org.w3c.dom.Document;
+
+import java.lang.Integer;
+import java.io.FileReader;
+import java.io.BufferedReader;
+
+public class EsNameParser {
+ EsNameParser(){}
+
+ static public String esName()
+ {
+ try {
+ FileInputStream file = new FileInputStream(new File(global.listaEsercizi));
+ DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder builder = builderFactory.newDocumentBuilder();
+ Document xmlDocument = builder.parse(file);
+ XPath xPath = XPathFactory.newInstance().newXPath();
+ int esNumber = Integer.parseInt(xPath.compile("count(/esercizi/esercizio)").evaluate(xmlDocument));
+ String returnValue = null;
+ for (int i = 1; i <= esNumber; i++) {
+ String name = xPath.compile("/esercizi/esercizio[" + i + "]").evaluate(xmlDocument);
+ if (name == null || name.isEmpty())
+ continue;
+ else {
+ if(returnValue==null)
+ returnValue=name;
+ else
+ returnValue = returnValue + "/" + name;
+ }
+ }
+ file.close();
+ return returnValue;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static boolean check(String esercizio)
+ {
+ boolean value=false;
+ try
+ {
+ String cartellaEs=global.locationEsercizi;
+
+ BufferedReader br = new BufferedReader(new FileReader(cartellaEs+esercizio));
+ if (br.readLine() == null) {
+ br.close();
+ return false;
+ }
+ FileInputStream file = new FileInputStream(new File(cartellaEs+"/"+esercizio));
+ DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder builder = builderFactory.newDocumentBuilder();
+ Document xmlDocument = builder.parse(file);
+ value=checkFormula(xmlDocument,"/esercizio/tesi/formula[1]");
+ if(value)
+ value=checkIpotesi(xmlDocument);
+ file.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return value;
+ }
+
+ static public boolean checkFormula(Document xmlDocument, String position) {
+ try
+ {
+ XPath xPath = XPathFactory.newInstance().newXPath();
+ if(Integer.parseInt(xPath.compile("count(" + position + ")").evaluate(xmlDocument))==1) {
+ String type = xPath.compile(position + "/@type").evaluate(xmlDocument);
+ int numbOfElements = 5;
+ if (type.contentEquals("and") || type.contentEquals("or") || type.contentEquals("impl"))
+ numbOfElements = 2;
+ else if (type.contentEquals("not"))
+ numbOfElements = 1;
+ else if (type.contentEquals("literal") || type.contentEquals("atomic"))
+ numbOfElements = 0;
+ int count = Integer.parseInt(xPath.compile("count(" + position + "/formula)").evaluate(xmlDocument));
+ if (count == numbOfElements) {
+ if (numbOfElements == 2) {
+ boolean firstChild = checkFormula(xmlDocument, position + "/formula[1]");
+ boolean secondChild = checkFormula(xmlDocument, position + "/formula[2]");
+ if (!firstChild || !secondChild)
+ return false;
+ else
+ return true;
+ }
+ else if (numbOfElements == 1)
+ {
+ boolean child = checkFormula(xmlDocument, position + "/formula[1]");
+ if (!child)
+ return false;
+ return true;
+ }
+ else if (numbOfElements == 0)
+ {
+ String child = xPath.compile(position).evaluate(xmlDocument);
+ if (child == null || child.isEmpty())
+ return false;
+ else
+ return true;
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return false;
+ }
+
+ static public boolean checkIpotesi(Document xmlDocument)
+ {
+ XPath xPath = XPathFactory.newInstance().newXPath();
+ boolean returnValue=false;
+ try
+ {
+ int count = Integer.parseInt(xPath.compile("count(/esercizio/ipotesi)").evaluate(xmlDocument));
+ int numberHp=Integer.parseInt(xPath.compile("count(/esercizio/ipotesi/formula)").evaluate(xmlDocument));
+ if(count==1 && numberHp==0)//se non ci sono ipotesi
+ return true;
+ for(int i=1;i<=numberHp;i++)
+ {
+ boolean valore = checkFormula(xmlDocument, "/esercizio/ipotesi/formula["+i+"]");
+ if(!valore)
+ return false;
+ else
+ returnValue=true;
+ }
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
+ return returnValue;
+ }
+}
--- /dev/null
+package com.company;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+
+public class MD5 {
+
+ MD5(){}
+ public static String digest(String filePath) {
+ InputStream inputStream = null;
+ try {
+ inputStream = new FileInputStream(global.locationEsercizi+filePath);
+ byte[] buffer = new byte[1024];
+ MessageDigest digest = MessageDigest.getInstance("MD5");
+ int numRead = 0;
+ while (numRead != -1) {
+ numRead = inputStream.read(buffer);
+ if (numRead > 0)
+ digest.update(buffer, 0, numRead);
+ }
+ byte [] md5Bytes = digest.digest();
+ System.out.println(convertHashToString(md5Bytes));
+ return convertHashToString(md5Bytes);
+ } catch (Exception e) {
+ return null;
+ } finally {
+ if (inputStream != null) {
+ try {
+ inputStream.close();
+ } catch (Exception e) { }
+ }
+ }
+ }
+
+ private static String convertHashToString(byte[] md5Bytes) {
+ String returnVal = "";
+ for (int i = 0; i < md5Bytes.length; i++) {
+ returnVal += Integer.toString(( md5Bytes[i] & 0xff ) + 0x100, 16).substring(1);
+ }
+ return returnVal;
+ }
+}
--- /dev/null
+all:
+ javac -cp "/tmp/ext/mysql-connector-java.jar:/tmp/ext/jdom-2.0.5.jar:/tmp/ext/mail-1.4.1.jar:." *.java
--- /dev/null
+package com.company;
+
+import java.sql.*;
+import java.io.IOException;
+
+import java.math.BigInteger;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+import java.util.Random;
+
+import java.sql.Timestamp;
+
+import java.util.ArrayList;
+
+import java.lang.Double;
+
+public class dbConnect
+{
+ private static Connection db;
+ private static Statement stmt;
+ dbConnect()
+ {}
+
+
+ public static Long time()
+ {
+ java.util.Date date= new java.util.Date();
+ Timestamp now=new Timestamp(date.getTime());
+ return now.getTime();
+ }
+
+ //pulisce confmail e connessi da tutte le richieste maggiori di 10 minuti
+ private static void deletetmp() throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
+ {
+ PreparedStatement preparedStmt = db.prepareStatement("DELETE FROM confmail WHERE time<=?");
+ preparedStmt.setLong (1,(time()-600000));
+ preparedStmt.execute();
+ preparedStmt = db.prepareStatement("DELETE FROM connessi WHERE time<=?");
+ preparedStmt.setLong (1,(time()-600000));
+ preparedStmt.execute();
+ }
+
+ //divide la stringa in user e password
+ private static String splitUsrPass(String userAndPass, int code) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
+ {
+ String user=null;
+ String pass=null;
+ ArrayList<String> userPass= suString.stringToArrayList(userAndPass);
+ if(userPass.size()>=1)
+ user=userPass.get(0);
+ if(userPass.size()>=2)
+ pass=userPass.get(1);
+
+ assert user != null;
+ if(!user.contains("@studio.unibo.it") && user.length()<16)
+ return "mail-error";
+ else {
+ assert pass != null;
+ if(code==0)
+ return registration(user, pass);
+ else if(code==1)
+ return login(user, pass);
+ else if(code==2)
+ return recupero(user);
+ else
+ return "error";
+ }
+ }
+
+ //routin di gestione recupero pass
+ private static String recupero(String user) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
+ {
+ ResultSet returnQuery=stmt.executeQuery("SELECT * FROM utenti where user='"+user+"'");
+ if(returnQuery!=null)
+ {
+ if(returnQuery.next())
+ {
+ EmailSender email = new EmailSender(global.email,
+ global.emailPass,
+ "smtp.gmail.com",
+ global.email,
+ user,
+ "OGGETTO: recupero password",
+ "la tua password è "+returnQuery.getString("pass"));
+ email.inviaEmail();
+ return "mail-pass-ok";
+ }
+ else
+ return "user-error";
+ }
+ else
+ return "user-error";
+ }
+
+
+ //routin di gestione della registrazione
+ private static String registration(String user, String pass) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
+ {
+ String ran;
+ ResultSet returnQuery=stmt.executeQuery("SELECT * FROM utenti where user='"+user+"'");
+ if(returnQuery!=null)
+ {
+ if(returnQuery.next())
+ {
+ if(returnQuery.getString("user").compareTo(user)==0 && returnQuery.getString("pass").compareTo(pass)==0)
+ return "già -registrato";
+ }
+ }
+ returnQuery=stmt.executeQuery("SELECT * FROM confmail where user='"+user+"'");
+ if(returnQuery!=null)
+ {
+ if(returnQuery.next())
+ {
+ ran=returnQuery.getString("hash");
+ if(returnQuery.getString("pass").compareTo(pass)!=0)
+ {
+ PreparedStatement preparedStmt = db.prepareStatement("UPDATE confmail SET pass =? where user=?");
+ preparedStmt.setString (1,pass);
+ preparedStmt.setString (2,user);
+ preparedStmt.execute();
+ }
+ }
+ else
+ {
+ Random random = new Random();
+ ran=String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000);
+ //returnQuery=stmt.executeQuery("INSERT INTO confmail VALUES('"+user+"','"+pass+"',"+hash+"')");
+ PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO confmail (user,pass,hash,time) VALUES(?,?,?,?)");
+ preparedStmt.setString (1,user);
+ preparedStmt.setString (2,pass);
+ preparedStmt.setString (3,ran);
+ preparedStmt.setDouble (4,(double)time());
+ preparedStmt.execute();
+ }
+ }
+ else
+ {
+ Random random = new Random();
+ ran=String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000);
+ //returnQuery=stmt.executeQuery("INSERT INTO confmail VALUES('"+user+"','"+pass+"',"+hash+"')");
+ PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO confmail (user,pass,hash,time) VALUES(?,?,?,?)");
+ preparedStmt.setString (1,user);
+ preparedStmt.setString (2,pass);
+ preparedStmt.setString (3,ran);
+ preparedStmt.setDouble (4,(double)time());
+ preparedStmt.execute();
+ }
+ EmailSender email = new EmailSender(global.email,
+ global.emailPass,
+ "smtp.gmail.com",
+ global.email,
+ user,
+ "OGGETTO: Registrazione App",
+ "per confermare la tua email clicka sul link: http://"+global.serverName+"/test?id="+ran);
+ email.inviaEmail();
+ return "mail-reg-ok";
+ }
+
+ //routin conferma registrazione
+ private static String confirmRegistration(String hash) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
+ {
+ ResultSet returnQuery=stmt.executeQuery("SELECT * FROM confmail where hash='"+hash+"'");
+ if(returnQuery!=null)
+ {
+ if(returnQuery.next())
+ {
+ PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO utenti (user,pass) VALUES(?,?)");
+ preparedStmt.setString (1,returnQuery.getString("user"));
+ preparedStmt.setString (2,returnQuery.getString("pass"));
+ preparedStmt.execute();
+ preparedStmt = db.prepareStatement("DELETE FROM confmail WHERE hash=?");
+ preparedStmt.setString (1,hash);
+ preparedStmt.execute();
+ return "registrazione-ok";
+ }
+ }
+ return "registrazione-error";
+ }
+
+ //routin di gestione login
+ private static String login(String user, String pass) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
+ {
+
+ ResultSet returnQuery=stmt.executeQuery("SELECT * FROM utenti where user='"+user+"' and pass='"+pass+"'");
+ if(returnQuery!=null)
+ {
+ if(returnQuery.next())
+ {
+ if(returnQuery.getString("user").compareTo(user)==0 && returnQuery.getString("pass").compareTo(pass)==0)
+ return putConnessi(user);
+ }
+ }
+ return "login-error";
+ }
+
+
+ //informazioni sulla connessione dell'utente
+ private String infoConnessi(String message) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
+ {
+ ArrayList<String> split= suString.stringToArrayList(message);
+ if(split.size()>=1)
+ {
+ ResultSet returnQuery=stmt.executeQuery("SELECT * FROM connessi WHERE tempkey='"+split.get(1)+"'");
+ if(returnQuery!=null)
+ {
+ if(returnQuery.next())
+ {
+ return "loggato";
+ }
+ }
+ }
+ return "request-login";
+ }
+
+ //inserisce l'utente in connessi
+ private static String putConnessi(String user) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
+ {
+ Random random = new Random();
+ String ran=String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000);
+ PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO connessi (user,tempkey,thread,time) VALUES(?,?,?,?)");
+ preparedStmt.setString (1,user);
+ preparedStmt.setString (2,ran);
+ preparedStmt.setBoolean (3,false);
+ preparedStmt.setDouble (4,(double)time());
+ preparedStmt.execute();
+ return ran;
+ }
+
+ //segnalare morte di un thread
+ private String threadDead(String key) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
+ {
+ PreparedStatement preparedStmt = db.prepareStatement("DELETE FROM confmail WHERE tempkey=?");
+ preparedStmt.setString (1,key);
+ preparedStmt.execute();
+ return "kill-ok";
+ }
+
+ //remposta il rimer dell'utente nella tabella connessi
+ private String connessiTimer(String key) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
+ {
+ PreparedStatement preparedStmt = db.prepareStatement("UPDATE connessi SET time =? where tempkey=?");
+ preparedStmt.setDouble (1,(double)time());
+ preparedStmt.setString (2,key);
+ preparedStmt.execute();
+ return "timer-settato";
+ }
+
+ private String exerciseAccept(String request) throws SQLException, IOException, NoSuchAlgorithmException {
+ ArrayList<String> input=suString.stringToArrayList(request);
+ ResultSet returnQuery=stmt.executeQuery("SELECT * FROM connessi where tempkey='"+input.get(0)+"'");
+ String utente=null;
+ if(returnQuery!=null)
+ {
+ if(returnQuery.next())
+ utente=returnQuery.getString("user");
+ }
+ if(utente!=null)
+ {
+ String[] esercizi=suString.stringToVectorString(EsNameParser.esName());
+ for(String esercizio : esercizi)
+ {
+ if(esercizio.contentEquals(input.get(1)))//se l'esercizio esiste
+ {
+ if(MD5.digest(esercizio).contentEquals(input.get(2)))//se il digest è uguale
+ {
+ PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO esercizi (esercizio,utente,click,time) VALUES(?,?,?,?)");
+ preparedStmt.setDouble(4, Double.parseDouble(input.get(3)));
+ preparedStmt.setInt (3,Integer.valueOf(input.get(4)));
+ preparedStmt.setString (2,utente);
+ preparedStmt.setString (1,input.get(1));
+ preparedStmt.execute();
+ return "es-ok";
+ }
+ }
+ }
+ }
+ return "es-err";
+ }
+
+ private String userExercise(String request) throws SQLException {
+ ArrayList<String> arrayResult=new ArrayList<String>();
+ ArrayList<String> input=suString.stringToArrayList(request);
+ String result=null;
+ ResultSet returnQuery=stmt.executeQuery("SELECT * FROM connessi where tempkey='"+input.get(0)+"'");
+ String utente=null;
+ if(returnQuery!=null)
+ {
+ if(returnQuery.next())
+ utente=returnQuery.getString("user");
+ }
+ if(utente!=null)
+ {
+ returnQuery=stmt.executeQuery("SELECT * FROM esercizi where utente='"+utente+"'");
+ while(returnQuery.next())
+ {
+ arrayResult.add(returnQuery.getString("esercizio")+"/"+MD5.digest(returnQuery.getString("esercizio"))+"/"+returnQuery.getDouble("time")+"/"+returnQuery.getInt("click"));
+ }
+ result=suString.multiToString(arrayResult);
+ }
+ return result;
+ }
+
+ private String cambiaPass(String request) throws ClassNotFoundException, SQLException, InstantiationException, IOException, IllegalAccessException {
+ ArrayList<String> input=suString.stringToArrayList(request);
+ if(input.size()>=3) {
+ String result = login(input.get(0), input.get(1));
+ if(!result.contains("err"))
+ {
+ PreparedStatement preparedStmt = db.prepareStatement("UPDATE utenti SET pass =? where user=?");
+ preparedStmt.setString (1,input.get(2));
+ preparedStmt.setString (2,input.get(0));
+ preparedStmt.execute();
+ return "cambiata";
+ }
+ }
+ return "error";
+ }
+
+ public String dbQuery(String input) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException, NoSuchAlgorithmException {
+ Class.forName("com.mysql.jdbc.Driver").newInstance();
+ db = DriverManager.getConnection("jdbc:mysql://localhost/logintesi", "root", "csc@CerCo!");
+ stmt = db.createStatement();
+ deletetmp();
+ if (input.charAt(0) == '0')
+ return splitUsrPass(input.substring(2), 0);
+ else if (input.charAt(0) == '1')
+ return splitUsrPass(input.substring(2), 1);
+ else if (input.charAt(0) == '2')
+ return recupero(input.substring(2));
+ else if (input.charAt(0) == '3')
+ return confirmRegistration(input.substring(1));
+ else if (input.charAt(0) == '4')
+ return EsNameParser.esName();
+ else if (input.charAt(0) == '5')
+ return infoConnessi(input.substring(2));
+ else if (input.charAt(0) == '6')
+ return connessiTimer(input.substring(2));
+ /*else if (input.charAt(0) == '7')
+ return threadDead(input.substring(2));*/
+ /*else if(input.charAt(0)=='8')
+ return aggToClient(input.substring(2));
+ else if(input.charAt(0)=='9')
+ return aggForClient(input.substring(2));
+ else if(input.charAt(0)=='a' && input.charAt(1)=='0')
+ return check(input.substring(3));*/
+ else if (input.charAt(0) == '8')
+ return exerciseAccept(input.substring(2));
+ else if (input.charAt(0) == '9')
+ return userExercise(input.substring(2));
+ else if(input.charAt(0)=='a' && input.charAt(1)=='0')
+ return cambiaPass(input.substring(3));
+ return "error";
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<esercizi>\r
+ <esercizio md5="e687f326a904946f498421a0409916bf">aalbero.xml</esercizio>\r
+ <esercizio md5="d3d4772339c39d408a1b92a24d3c9311">tautologia.xml</esercizio>\r
+ <esercizio md5="2a54f15678d8b0fa3b2d1f3824dfd7b6">demorgan.xml</esercizio>\r
+ <esercizio md5="4bfe78fb51248594a8b98ba51eff769f">triviale.xml</esercizio>\r
+ <esercizio md5="97c0cdde7504597040d100cfe3aa1644">test.xml</esercizio>\r
+ <esercizio md5="3c217b2132e40729b6c56c39073a356a">risolvibile.xml</esercizio>\r
+ <esercizio md5="62b5ca97fbf8a5845185ae6010e26828">demorgan2.xml</esercizio>\r
+</esercizi>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<esercizi>\r
+ <esercizio>aalbero.xml</esercizio>\r
+</esercizi>\r
--- /dev/null
+package com.company;
+
+
+public class global {
+ public static final String listaEsercizi="/projects/logicplayer/Server/server/tesi/src/com/company/esercizi.xml";
+ public static final String locationEsercizi="/projects/logicplayer/public_html/esercizi/";
+ public static String home="/projects/logicplayer/Server/server/tesi/src/com/company/";
+ public static String keyStorePass="123456";
+ public static String keyStoreName="keystore.jks";
+ public static String serverName="130.136.129.1";
+ public static String email="confermaiscrizioneserver@gmail.com";
+ public static String emailPass="tes6phev8n";
+ public static int portaServer=25000;
+ public static int portaHttpServer=8000;
+
+}
--- /dev/null
+package com.company;
+
+import java.io.*;
+
+import javax.net.ssl.*;
+
+class guestServer implements Runnable
+{
+ private SSLSocket socket;
+
+ guestServer(SSLSocket client)
+ {
+ socket=client;
+ }
+
+ public void run()
+ {
+ try
+ {
+
+ //Reading the message from the client
+ InputStream is = socket.getInputStream();
+ InputStreamReader isr = new InputStreamReader(is);
+ BufferedReader br = new BufferedReader(isr);
+ String requestMessage = br.readLine();
+ System.out.println("ho ricevuto: "+requestMessage);
+ /*System.out.println("Message received from client is "+returnMessage);
+ dbConnect request=new dbConnect();
+ String returnQuery=request.dbQuery(returnMessage);
+ OutputStream os = socket.getOutputStream();
+ OutputStreamWriter osw = new OutputStreamWriter(os);
+ BufferedWriter bw = new BufferedWriter(osw);
+ System.out.println(returnQuery);
+ bw.write(returnQuery+"\n");
+ bw.flush();*/
+ if(requestMessage!=null)
+ {
+ dbConnect request = new dbConnect();
+ String returnQuery;
+ if ( requestMessage.charAt(0) == '0' ||
+ requestMessage.charAt(0) == '1' ||
+ requestMessage.charAt(0) == '2' ||
+ (requestMessage.charAt(0) == 'a' && requestMessage.charAt(1) == '0')) {
+ returnQuery = request.dbQuery(requestMessage);
+ OutputStream os = socket.getOutputStream();
+ OutputStreamWriter osw = new OutputStreamWriter(os);
+ BufferedWriter bw = new BufferedWriter(osw);
+ bw.write(returnQuery + "\n");
+ bw.flush();
+ System.out.println("ho inviato: " + returnQuery);
+ }
+ else
+ {
+ returnQuery = request.dbQuery("5/" + requestMessage);
+ if (returnQuery.contains("request-login") || returnQuery.contains("request-error"))
+ {
+ OutputStream os = socket.getOutputStream();
+ OutputStreamWriter osw = new OutputStreamWriter(os);
+ BufferedWriter bw = new BufferedWriter(osw);
+ bw.write(returnQuery + "\n");
+ bw.flush();
+ System.out.println("ho inviato: " + returnQuery);
+ }
+ else if (returnQuery.contains("loggato"))
+ {
+ personalServer nuovaConnessione = new personalServer(socket, requestMessage);
+ Thread t = new Thread(nuovaConnessione);
+ t.start();
+ }
+ }
+ }
+
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ }
+}
--- /dev/null
+package com.company;
+
+import java.io.*;
+import java.net.*;
+import java.security.NoSuchAlgorithmException;
+import java.util.*;
+
+import com.sun.net.httpserver.HttpExchange;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpServer;
+import java.sql.*;
+
+public class httpget implements Runnable {
+
+ httpget(){}
+
+ public static Map<String, String> splitQuery(String query) throws UnsupportedEncodingException
+ {
+ Map<String, String> query_pairs = new LinkedHashMap<String, String>();
+ String[] pairs = query.split("&");
+ for (String pair : pairs)
+ {
+ int idx = pair.indexOf("=");
+ query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
+ }
+ return query_pairs;
+ }
+
+ @Override
+ public void run() {
+ try {
+ HttpServer server = HttpServer.create(new InetSocketAddress(global.portaHttpServer), 0);
+ server.createContext("/test", new MyHandler());
+ server.setExecutor(null); // creates a default executor
+ server.start();
+ }catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ static class MyHandler implements HttpHandler
+ {
+ public void handle(HttpExchange t) throws IOException
+ {
+
+ /*String response = "This is the response";
+ System.out.println("mannaggia santa");
+ t.sendResponseHeaders(200, response.length());
+ OutputStream os = t.getResponseBody();
+ os.write(response.getBytes());*/
+ URI req=t.getRequestURI();
+ String query=req.getQuery();
+ Map<String, String> result=splitQuery(query);
+ String id=result.get("id");
+ //System.out.println(id);
+ try
+ {
+ dbConnect request=new dbConnect();
+ String returnQuery=request.dbQuery("3"+id);
+ t.sendResponseHeaders(200, returnQuery.length());
+ OutputStream os = t.getResponseBody();
+ os.write(returnQuery.getBytes());
+ os.close();
+ }
+ catch(SQLException e)
+ {}
+ catch(ClassNotFoundException c)
+ {}
+ catch(IllegalAccessException a)
+ {}
+ catch(InstantiationException i)
+ {} catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+}
--- /dev/null
+package com.company;
+
+import java.io.BufferedWriter;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+
+import javax.net.ssl.*;
+
+
+import java.util.ArrayList;
+
+class personalServer implements Runnable
+{
+ private SSLSocket socket;
+ private String key;
+ private String requestMessage;
+
+ personalServer(SSLSocket client, String message)
+ {
+ socket=client;
+ ArrayList<String> split= suString.stringToArrayList(message);
+ key=split.get(1);
+ requestMessage=message;
+ }
+
+ public void run()
+ {
+ try
+ {
+ dbConnect request=new dbConnect();
+ String returnQuery=request.dbQuery(requestMessage);
+ OutputStream os = socket.getOutputStream();
+ OutputStreamWriter osw = new OutputStreamWriter(os);
+ BufferedWriter bw = new BufferedWriter(osw);
+ bw.write(returnQuery+"\n");
+ bw.flush();
+ System.out.println("ho inviato: "+returnQuery);
+ request.dbQuery("6/"+key);
+ socket.close();
+ }
+ catch (Exception e)
+ {
+ try
+ {
+ e.printStackTrace();
+ dbConnect request=new dbConnect();
+ request.dbQuery("7/"+key);
+ }
+ catch (Exception k)
+ {
+ //k.printStackTrace();
+ System.out.println("PANIC!");
+ }
+ }
+ }
+}
--- /dev/null
+package com.company;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+public class suString
+{
+ suString()
+ {}
+
+
+ public static ArrayList<String> stringToArrayList(String string)
+ {
+ ArrayList<String> returnValue=new ArrayList<String>();
+ int j=0;
+ for(int i=0;i<string.length();i++)
+ {
+ if(string.charAt(i)=='/')
+ {
+ returnValue.add(string.substring(j,i));
+ j=i+1;
+ }
+ else if(i==string.length()-1)
+ returnValue.add(string.substring(j));
+ }
+ return returnValue;
+ }
+
+ public static ArrayList<String> vectorStringToArrayList(String[] vectorString)
+ {
+ ArrayList<String> returnValue=new ArrayList<String>();
+ Collections.addAll(returnValue, vectorString);
+ return returnValue;
+ }
+
+ public static String arrayListToString (ArrayList<String> arraylist)
+ {
+ String returnValue= "";
+ for(int i=0;i<arraylist.size();i++)
+ {
+ if(i<arraylist.size()-1)
+ returnValue=returnValue+arraylist.get(i)+"/";
+ else
+ returnValue=returnValue+arraylist.get(i);
+ }
+ return returnValue;
+ }
+
+ public static String vectorStringToString(String[] vectorString)
+ {
+ return arrayListToString(vectorStringToArrayList(vectorString));
+ }
+
+ public static String[] arrayListToVectorString (ArrayList<String> arraylist)
+ {
+ String[] returnValue=new String[arraylist.size()];
+ for(int i=0;i<arraylist.size();i++)
+ returnValue[i]=arraylist.get(i);
+ return returnValue;
+ }
+
+ public static String[] stringToVectorString(String string)
+ {
+ return arrayListToVectorString(stringToArrayList(string));
+ }
+
+ public static String multiToString(ArrayList<String> input)
+ {
+ String returnValue=null;
+ int size=input.size();
+ for(int i=0;i<size;i++)
+ {
+ if(i==0)
+ returnValue=input.get(i);
+ else
+ returnValue=returnValue+"//"+input.get(i);
+ }
+ return returnValue;
+ }
+
+ public static ArrayList<String> stringToMultiArray(String input)
+ {
+ ArrayList<String> result=new ArrayList<String>();
+ int j=0;
+ for(int i=0;i<input.length();i++)
+ {
+ if(input.charAt(i)=='/') {
+ if (input.charAt(i + 1) == '/') {
+ result.add(input.substring(j, i));
+ j=i+2;
+ }
+ }
+ }
+ return result;
+ }
+}
--- /dev/null
+package com.company;
+
+import java.io.*;
+import java.lang.Thread;
+import java.security.*;
+import javax.net.ssl.*;
+
+import java.nio.file.FileSystems;
+import java.nio.file.Path;
+
+
+class superServer
+{
+ public static void main(String[] args)
+ {
+ String ksName = global.home+global.keyStoreName;
+ char ksPass[] = global.keyStorePass.toCharArray();
+ char ctPass[] = global.keyStorePass.toCharArray();
+
+ //thread di controllo directory esercizi
+ Path pathToWatch = FileSystems.getDefault().getPath(global.locationEsercizi);
+ DirectoryWatcher dirWatcher = new DirectoryWatcher(pathToWatch);
+ Thread dirWatcherThread = new Thread(dirWatcher);
+ dirWatcherThread.start();
+
+ //thread che si occupa del lato http
+ httpget regServer=new httpget();
+ Thread httpServer=new Thread(regServer);
+ httpServer.start();
+
+ while(true)
+ {
+ try
+ {
+ KeyStore ks = KeyStore.getInstance("JKS");
+ ks.load(new FileInputStream(ksName), ksPass);
+ KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
+ kmf.init(ks, ctPass);
+ SSLContext sc = SSLContext.getInstance("TLS");
+ sc.init(kmf.getKeyManagers(), null, null);
+ SSLServerSocketFactory ssf = sc.getServerSocketFactory();
+ SSLServerSocket s= (SSLServerSocket) ssf.createServerSocket(global.portaServer);
+ System.out.println("Server started:");
+ while(true)
+ {
+ SSLSocket c = (SSLSocket) s.accept();
+ System.out.println("CSC: debug 1");
+ guestServer guest=new guestServer(c);
+ Thread t=new Thread(guest);
+ t.start();
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+}
--- /dev/null
+package com.company;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
+
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.JDOMException;
+import org.jdom2.input.SAXBuilder;
+import org.jdom2.output.Format;
+import org.jdom2.output.XMLOutputter;
+
+
+public class xmlOperation {
+
+ xmlOperation(){}
+ static private String pathName=global.listaEsercizi;
+
+ public void create() {
+
+ try {
+
+ Element company = new Element("esercizi");
+ Document doc = new Document(company);
+ doc.setRootElement(company);
+
+ // new XMLOutputter().output(doc, System.out);
+ XMLOutputter xmlOutput = new XMLOutputter();
+
+ // display nice nice
+ xmlOutput.setFormat(Format.getPrettyFormat());
+ xmlOutput.output(doc, new FileWriter(pathName));
+
+ System.out.println("File Saved!");
+ } catch (IOException io) {
+ System.out.println(io.getMessage());
+ }
+ }
+
+
+
+ public void add(String name)
+ {
+ try {
+
+ SAXBuilder builder = new SAXBuilder();
+ File xmlFile = new File(pathName);
+
+ Document doc = (Document) builder.build(xmlFile);
+ Element rootNode = doc.getRootElement();
+
+
+ // add new age element
+ Element newEs = new Element("esercizio").setText(name).setAttribute("md5",MD5.digest(name));
+ rootNode.addContent(newEs);
+
+ XMLOutputter xmlOutput = new XMLOutputter();
+
+ // display nice nice
+ xmlOutput.setFormat(Format.getPrettyFormat());
+ xmlOutput.output(doc, new FileWriter(pathName));
+
+ // xmlOutput.output(doc, System.out);
+
+ System.out.println("File updated!");
+ } catch (IOException io) {
+ io.printStackTrace();
+ } catch (JDOMException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public String getMD5(String name)
+ {
+ try {
+
+ SAXBuilder builder = new SAXBuilder();
+ File xmlFile = new File(pathName);
+
+ Document doc = (Document) builder.build(xmlFile);
+ Element rootNode = doc.getRootElement();
+
+ for(Element esercizio:rootNode.getChildren())
+ {
+ if(esercizio.getText().contentEquals(name))
+ {
+ return esercizio.getAttribute("md5").toString();
+ }
+ }
+ } catch (IOException io) {
+ io.printStackTrace();
+ } catch (JDOMException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public void remove(String name)
+ {
+ try {
+
+ SAXBuilder builder = new SAXBuilder();
+ File xmlFile = new File(pathName);
+
+ Document doc = (Document) builder.build(xmlFile);
+ Element rootNode = doc.getRootElement();
+
+ for(Element esercizio:rootNode.getChildren())
+ {
+ if(esercizio.getText().contentEquals(name))
+ {
+ System.out.println("trovato");
+ rootNode.removeContent(esercizio);
+ }
+ }
+
+ XMLOutputter xmlOutput = new XMLOutputter();
+
+ // display nice nice
+ xmlOutput.setFormat(Format.getPrettyFormat());
+ xmlOutput.output(doc, new FileWriter(pathName));
+
+ // xmlOutput.output(doc, System.out);
+
+ System.out.println("File updated!");
+ } catch (IOException io) {
+ io.printStackTrace();
+ } catch (JDOMException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+}
--- /dev/null
+#!/bin/bash
+
+java -cp "/tmp/ext/mysql-connector-java.jar:/tmp/ext/jdom-2.0.5.jar:/tmp/ext/mail-1.4.1.jar:." com.company.superServer
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+ </content>
+ <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ </component>
+</module>
\ No newline at end of file