Invio del token obbligatorio e gestione dell'errore nel caso non venga inviato

This commit is contained in:
Lorenzo Iovino 2017-07-11 11:16:12 +02:00
parent 4a29569052
commit 406a5647b8
8 changed files with 533 additions and 422 deletions

765
.idea/workspace.xml generated
View file

@ -5,20 +5,12 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="eb36c2e9-c6c6-48da-b007-cd41eccd9e5a" name="Default" comment=""> <list default="true" id="eb36c2e9-c6c6-48da-b007-cd41eccd9e5a" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/TokenInvalid.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Client/src/com/texttwist/client/models/Game.java" afterPath="$PROJECT_DIR$/Client/src/com/texttwist/client/models/Game.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/SendWords.java" afterPath="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/SendWords.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/GamePage.java" afterPath="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/GamePage.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/components/GameServer.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/components/GameServer.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/FetchHighscore.java" afterPath="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/FetchHighscore.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/StartGame.java" afterPath="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/StartGame.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.java" afterPath="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForScore.java" afterPath="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForScore.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTLetter.java" afterPath="$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTLetter.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Commons/src/constants/Config.java" afterPath="$PROJECT_DIR$/Commons/src/constants/Config.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Commons/src/constants/Palette.java" afterPath="$PROJECT_DIR$/Commons/src/constants/Palette.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/components/NotificationServer.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/components/NotificationServer.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/components/ThreadProxy.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/components/ThreadProxy.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/components/ThreadProxy.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/components/ThreadProxy.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeHighscores.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeHighscores.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWords.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWords.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeScore.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeScore.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/client_1.log" afterPath="$PROJECT_DIR$/client_1.log" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/client_1.log" afterPath="$PROJECT_DIR$/client_1.log" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/server.log" afterPath="$PROJECT_DIR$/server.log" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/server.log" afterPath="$PROJECT_DIR$/server.log" />
</list> </list>
@ -41,21 +33,11 @@
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="375"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="375">
<file leaf-file-name="GameServer.java" pinned="false" current-in-tab="false"> <file leaf-file-name="GameServer.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/GameServer.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/GameServer.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-214"> <state relative-caret-position="525">
<caret line="85" column="39" lean-forward="true" selection-start-line="85" selection-start-column="39" selection-end-line="85" selection-end-column="39" /> <caret line="91" column="28" lean-forward="false" selection-start-line="91" selection-start-column="28" selection-end-line="91" selection-end-column="28" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ComputeScore.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeScore.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="672">
<caret line="59" column="26" lean-forward="true" selection-start-line="59" selection-start-column="26" selection-end-line="59" selection-end-column="26" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -64,83 +46,90 @@
<file leaf-file-name="Match.java" pinned="false" current-in-tab="false"> <file leaf-file-name="Match.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="269"> <state relative-caret-position="416">
<caret line="48" column="0" lean-forward="true" selection-start-line="48" selection-start-column="0" selection-end-line="48" selection-end-column="0" /> <caret line="49" column="16" lean-forward="false" selection-start-line="49" selection-start-column="16" selection-end-line="49" selection-end-column="16" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="ComputeHighscores.java" pinned="false" current-in-tab="true"> <file leaf-file-name="Dictionary.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/models/Dictionary.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="147">
<caret line="16" column="13" lean-forward="false" selection-start-line="16" selection-start-column="13" selection-end-line="16" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ThreadProxy.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/ThreadProxy.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315">
<caret line="34" column="13" lean-forward="true" selection-start-line="34" selection-start-column="13" selection-end-line="34" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="RegisterPage.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/RegisterPage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="147">
<caret line="14" column="13" lean-forward="false" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TokenInvalid.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/TokenInvalid.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="336">
<caret line="19" column="15" lean-forward="false" selection-start-line="19" selection-start-column="15" selection-end-line="19" selection-end-column="15" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ReceiveWords.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWords.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="490">
<caret line="55" column="75" lean-forward="true" selection-start-line="55" selection-start-column="75" selection-end-line="55" selection-end-column="75" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SendInvitations.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendInvitations.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378">
<caret line="28" column="13" lean-forward="true" selection-start-line="28" selection-start-column="13" selection-end-line="28" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SendMessageToAllPlayers.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendMessageToAllPlayers.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="462">
<caret line="28" column="0" lean-forward="true" selection-start-line="28" selection-start-column="0" selection-end-line="28" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ComputeHighscores.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeHighscores.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeHighscores.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="357"> <state relative-caret-position="252">
<caret line="24" column="50" lean-forward="true" selection-start-line="24" selection-start-column="50" selection-end-line="24" selection-end-column="50" /> <caret line="19" column="61" lean-forward="true" selection-start-line="19" selection-start-column="61" selection-end-line="19" selection-end-column="61" />
<folding>
<element signature="e#763#764#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="HighscoresPage.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/HighscoresPage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="34" column="36" lean-forward="true" selection-start-line="34" selection-start-column="36" selection-end-line="34" selection-end-column="36" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TTScrollList.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTScrollList.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="244">
<caret line="15" column="39" lean-forward="true" selection-start-line="15" selection-start-column="39" selection-end-line="15" selection-end-column="39" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="HighscoresController.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/HighscoresController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="314">
<caret line="23" column="27" lean-forward="false" selection-start-line="23" selection-start-column="11" selection-end-line="23" selection-end-column="27" />
<folding>
<element signature="e#497#498#0" expanded="true" />
<element signature="e#554#555#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="FetchHighscore.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/FetchHighscore.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="293">
<caret line="60" column="0" lean-forward="true" selection-start-line="60" selection-start-column="0" selection-end-line="60" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="WaitForScore.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForScore.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240">
<caret line="32" column="0" lean-forward="true" selection-start-line="32" selection-start-column="0" selection-end-line="32" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="InvitePlayers.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/InvitePlayers.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="168">
<caret line="48" column="64" lean-forward="true" selection-start-line="48" selection-start-column="64" selection-end-line="48" selection-end-column="64" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -157,36 +146,36 @@
</component> </component>
<component name="FindInProjectRecents"> <component name="FindInProjectRecents">
<findStrings> <findStrings>
<find>GAME_ST</find> <find>HUGHSCR</find>
<find>GAME_STA</find> <find>HUGHSCO</find>
<find>GAME_STAR</find> <find>HUGHSC</find>
<find>wait fo</find> <find>HUGHS</find>
<find>w</find> <find>HUGH</find>
<find>wa</find> <find>HUG</find>
<find>wai</find> <find>HU</find>
<find>wait for</find> <find>H</find>
<find>wait for</find> <find>HIGH</find>
<find>wait fo</find> <find>HIGHSCOR</find>
<find>wait f</find> <find>HIGHSCORE</find>
<find>wait ot</find> <find>s</find>
<find>wait o</find> <find>sesso</find>
<find>wait</find> <find>sess</find>
<find>wait</find> <find>sessionMane</find>
<find>le</find> <find>sessionMana</find>
<find>lette</find> <find>sessionMan</find>
<find>letters</find> <find>sessionMa</find>
<find>NE</find> <find>sessionM</find>
<find>NEw invi</find> <find>sValid</find>
<find>NEw invit</find> <find>session</find>
<find>TI</find> <find>WOR</find>
<find>TIMEOUT</find> <find>WO</find>
<find>TIMEOUT FI</find> <find>TO</find>
<find>TIMEOUT FINI</find> <find>TOKEN NON</find>
<find>hi</find> <find>TOKEN NON</find>
<find>hig</find> <find>WORDS</find>
<find>L</find> <find>channel</find>
<find>Lis</find> <find>bufferMEssa</find>
<find>List</find> <find>bufferMess</find>
</findStrings> </findStrings>
</component> </component>
<component name="Git.Settings"> <component name="Git.Settings">
@ -200,7 +189,6 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/MatchSetupPage.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/RegisterPage.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/RegisterPage.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/services/HighscoresService.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/services/HighscoresService.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/RegisterController.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/RegisterController.java" />
@ -211,7 +199,6 @@
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/CheckOnlineUsers.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/CheckOnlineUsers.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendMessageToAllPlayers.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendMessageToAllPlayers.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/WaitForPlayers.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/WaitForPlayers.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWords.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/MatchTimeout.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/MatchTimeout.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinTimeout.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinTimeout.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/AuthService.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/AuthService.java" />
@ -219,8 +206,6 @@
<option value="$PROJECT_DIR$/server.log" /> <option value="$PROJECT_DIR$/server.log" />
<option value="$PROJECT_DIR$/Commons/src/utilities/Logger.java" /> <option value="$PROJECT_DIR$/Commons/src/utilities/Logger.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinMatch.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinMatch.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/components/GameServer.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/SendWords.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/InvitePlayers.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/InvitePlayers.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/GameController.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/GameController.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java" />
@ -228,7 +213,6 @@
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/components/AccountsManager.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/components/AccountsManager.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/services/NotificationClient.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/services/NotificationClient.java" />
<option value="$PROJECT_DIR$/Commons/src/models/Session.java" /> <option value="$PROJECT_DIR$/Commons/src/models/Session.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/components/SessionsManager.java" />
<option value="$PROJECT_DIR$/Commons/src/interfaces/IAuth.java" /> <option value="$PROJECT_DIR$/Commons/src/interfaces/IAuth.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/MenuPage.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/MenuPage.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/MenuController.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/MenuController.java" />
@ -241,7 +225,6 @@
<option value="$PROJECT_DIR$/Commons/src/constants/Palette.java" /> <option value="$PROJECT_DIR$/Commons/src/constants/Palette.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTLetter.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTLetter.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/GamePage.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/GamePage.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/components/ThreadProxy.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/StartGame.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/StartGame.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForScore.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForScore.java" />
@ -251,6 +234,12 @@
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/HighscoresPage.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/HighscoresPage.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/FetchHighscore.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/FetchHighscore.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeHighscores.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeHighscores.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/components/SessionsManager.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/SendWords.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/TokenInvalid.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/components/ThreadProxy.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWords.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/components/GameServer.java" />
</list> </list>
</option> </option>
</component> </component>
@ -304,7 +293,6 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="PackagesPane" />
<pane id="Scratches" /> <pane id="Scratches" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
@ -746,6 +734,7 @@
</PATH> </PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="PackagesPane" />
<pane id="Scope"> <pane id="Scope">
<subPane subId="Changed Files"> <subPane subId="Changed Files">
<PATH> <PATH>
@ -1350,47 +1339,48 @@
<workItem from="1499430785280" duration="4599000" /> <workItem from="1499430785280" duration="4599000" />
<workItem from="1499591762560" duration="17154000" /> <workItem from="1499591762560" duration="17154000" />
<workItem from="1499673875879" duration="14542000" /> <workItem from="1499673875879" duration="14542000" />
<workItem from="1499712903289" duration="11754000" /> <workItem from="1499712903289" duration="11809000" />
<workItem from="1499762165969" duration="2276000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="377882000" /> <option name="totallyTimeSpent" value="380213000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="-8" y="0" width="1924" height="1038" extended-state="0" /> <frame x="-8" y="0" width="1924" height="1038" extended-state="0" />
<editor active="true" /> <editor active="true" />
<layout> <layout>
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Nl-Palette" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" 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" show_stripe_button="true" weight="0.39949432" sideWeight="0.5164706" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Properties" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" 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" show_stripe_button="true" 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" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39846322" sideWeight="0.48352942" 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" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Nl-Palette" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32741398" sideWeight="0.49764705" order="10" side_tool="false" content_ui="tabs" /> <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32741398" sideWeight="0.49764705" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" 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" show_stripe_button="true" weight="0.39949432" sideWeight="0.5164706" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" 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" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" 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" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="WINDOWED" visible="true" show_stripe_button="true" weight="0.4215148" sideWeight="0.6982353" order="2" side_tool="false" content_ui="tabs" x="828" y="570" width="1050" height="477" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="WINDOWED" visible="true" show_stripe_button="true" weight="0.4215148" sideWeight="0.6982353" order="2" side_tool="false" content_ui="tabs" x="827" y="543" width="1050" height="477" />
<window_info id="Coverage" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32896116" sideWeight="0.5" order="10" side_tool="true" content_ui="tabs" /> <window_info id="Properties" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" 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" show_stripe_button="true" weight="0.22088143" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.22088143" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" 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" show_stripe_button="true" weight="0.32930845" sideWeight="0.49764705" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32930845" sideWeight="0.49764705" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" 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" show_stripe_button="true" 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" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="true" content_ui="tabs" /> <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="true" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39846322" sideWeight="0.48352942" 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" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" 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" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Coverage" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32896116" sideWeight="0.5" order="10" side_tool="true" content_ui="tabs" />
</layout> </layout>
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
@ -1410,128 +1400,6 @@
<option name="FILTER_TARGETS" value="false" /> <option name="FILTER_TARGETS" value="false" />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinMatch.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210">
<caret line="37" column="13" lean-forward="true" selection-start-line="37" selection-start-column="13" selection-end-line="37" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Commons/src/utilities/Logger.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="294">
<caret line="28" column="27" lean-forward="true" selection-start-line="28" selection-start-column="27" selection-end-line="28" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWords.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="609">
<caret line="49" column="25" lean-forward="false" selection-start-line="49" selection-start-column="25" selection-end-line="49" selection-end-column="25" />
<folding>
<element signature="imports" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Commons/src/models/Message.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="483">
<caret line="30" column="9" lean-forward="true" selection-start-line="30" selection-start-column="9" selection-end-line="30" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/services/HighscoresService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="147">
<caret line="19" column="13" lean-forward="false" selection-start-line="19" selection-start-column="13" selection-end-line="19" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="84">
<caret line="7" column="13" lean-forward="false" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/Server.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="94">
<caret line="20" column="27" lean-forward="true" selection-start-line="20" selection-start-column="27" selection-end-line="20" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Commons/src/models/Session.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="168">
<caret line="8" column="0" lean-forward="true" 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$/Commons/src/interfaces/INotificationClient.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="168">
<caret line="12" column="0" lean-forward="true" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/AccountsManager.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="819">
<caret line="46" column="13" lean-forward="true" selection-start-line="46" selection-start-column="13" selection-end-line="46" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Commons/src/interfaces/INotificationServer.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="189">
<caret line="10" column="20" lean-forward="true" selection-start-line="10" selection-start-column="20" selection-end-line="10" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/services/NotificationClient.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="273">
<caret line="19" column="46" lean-forward="false" selection-start-line="19" selection-start-column="46" selection-end-line="19" selection-end-column="46" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/MenuPage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="577">
<caret line="102" column="36" lean-forward="true" selection-start-line="102" selection-start-column="36" selection-end-line="102" selection-end-column="36" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/SessionsManager.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-168">
<caret line="28" column="70" lean-forward="true" selection-start-line="28" selection-start-column="70" selection-end-line="28" selection-end-column="70" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/Auth.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="52" column="43" lean-forward="false" selection-start-line="52" selection-start-column="43" selection-end-line="52" selection-end-column="43" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/Main.java"> <entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/Main.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="336"> <state relative-caret-position="336">
@ -1556,14 +1424,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendInvitations.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="441">
<caret line="31" column="46" lean-forward="true" selection-start-line="31" selection-start-column="46" selection-end-line="31" selection-end-column="46" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/NotificationServer.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/NotificationServer.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252"> <state relative-caret-position="252">
@ -1590,14 +1450,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/MatchRequestsPage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-231">
<caret line="15" column="13" lean-forward="false" selection-start-line="15" selection-start-column="13" selection-end-line="15" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTButton.java"> <entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTButton.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="0">
@ -1610,7 +1462,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315"> <state relative-caret-position="315">
<caret line="24" column="40" lean-forward="true" selection-start-line="24" selection-start-column="40" selection-end-line="24" selection-end-column="40" /> <caret line="24" column="40" lean-forward="true" selection-start-line="24" selection-start-column="40" selection-end-line="24" selection-end-column="40" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1618,7 +1469,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="147"> <state relative-caret-position="147">
<caret line="10" column="13" lean-forward="false" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" /> <caret line="10" column="13" lean-forward="false" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1626,15 +1476,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378"> <state relative-caret-position="378">
<caret line="23" column="36" lean-forward="false" selection-start-line="23" selection-start-column="36" selection-end-line="23" selection-end-column="36" /> <caret line="23" column="36" lean-forward="false" selection-start-line="23" selection-start-column="36" selection-end-line="23" selection-end-column="36" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/MatchSetupController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="147">
<caret line="10" column="13" lean-forward="false" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1654,33 +1495,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/HomePage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="63">
<caret line="10" column="13" lean-forward="false" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/MatchSetupPage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="21">
<caret line="12" column="13" lean-forward="false" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/GameController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="504">
<caret line="42" column="23" lean-forward="true" selection-start-line="42" selection-start-column="23" selection-end-line="42" selection-end-column="23" />
<folding>
<element signature="e#760#761#0" expanded="true" />
<element signature="e#811#812#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/StartGame.java"> <entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/StartGame.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="448"> <state relative-caret-position="448">
@ -1689,14 +1503,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/SendWords.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="609">
<caret line="38" column="43" lean-forward="false" selection-start-line="38" selection-start-column="43" selection-end-line="38" selection-end-column="43" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.java"> <entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="357"> <state relative-caret-position="357">
@ -1705,27 +1511,10 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/ThreadProxy.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315">
<caret line="33" column="12" lean-forward="true" selection-start-line="33" selection-start-column="12" selection-end-line="33" selection-end-column="12" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/GamePage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="280">
<caret line="54" column="27" lean-forward="true" selection-start-line="54" selection-start-column="27" selection-end-line="54" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_131/src.zip!/javax/swing/JList.java"> <entry file="jar://C:/Program Files/Java/jdk1.8.0_131/src.zip!/javax/swing/JList.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="192"> <state relative-caret-position="192">
<caret line="415" column="11" lean-forward="false" selection-start-line="415" selection-start-column="11" selection-end-line="415" selection-end-column="11" /> <caret line="415" column="11" lean-forward="false" selection-start-line="415" selection-start-column="11" selection-end-line="415" selection-end-column="11" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1747,89 +1536,281 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTScrollList.java"> <entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTScrollList.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="244"> <state relative-caret-position="252">
<caret line="15" column="39" lean-forward="true" selection-start-line="15" selection-start-column="39" selection-end-line="15" selection-end-column="39" /> <caret line="15" column="39" lean-forward="false" selection-start-line="15" selection-start-column="39" selection-end-line="15" selection-end-column="39" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/HighscoresController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="314">
<caret line="23" column="27" lean-forward="false" selection-start-line="23" selection-start-column="11" selection-end-line="23" selection-end-column="27" />
<folding>
<element signature="e#497#498#0" expanded="true" />
<element signature="e#554#555#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/HighscoresPage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="34" column="36" lean-forward="true" selection-start-line="34" selection-start-column="36" selection-end-line="34" selection-end-column="36" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/InvitePlayers.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="168">
<caret line="48" column="64" lean-forward="true" selection-start-line="48" selection-start-column="64" selection-end-line="48" selection-end-column="64" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForScore.java"> <entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForScore.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240"> <state relative-caret-position="420">
<caret line="32" column="0" lean-forward="true" selection-start-line="32" selection-start-column="0" selection-end-line="32" selection-end-column="0" /> <caret line="32" column="0" lean-forward="false" selection-start-line="32" selection-start-column="0" selection-end-line="32" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/GameController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="483">
<caret line="42" column="23" lean-forward="true" selection-start-line="42" selection-start-column="23" selection-end-line="42" selection-end-column="23" />
<folding>
<element signature="e#1092#1093#0" expanded="false" />
<element signature="e#1152#1153#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/AccountsManager.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="819">
<caret line="46" column="13" lean-forward="true" selection-start-line="46" selection-start-column="13" selection-end-line="46" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/InvitePlayers.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126">
<caret line="29" column="37" lean-forward="true" selection-start-line="29" selection-start-column="37" selection-end-line="29" selection-end-column="37" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/MatchSetupPage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="21">
<caret line="12" column="13" lean-forward="false" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/Page.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126">
<caret line="14" column="13" lean-forward="false" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/MatchRequestsPage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="21">
<caret line="15" column="13" lean-forward="false" selection-start-line="15" selection-start-column="13" selection-end-line="15" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/HomePage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="63">
<caret line="10" column="13" lean-forward="false" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/HighscoresPage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1071">
<caret line="57" column="50" lean-forward="false" selection-start-line="57" selection-start-column="50" selection-end-line="57" selection-end-column="50" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/GamePage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="721">
<caret line="54" column="27" lean-forward="true" selection-start-line="54" selection-start-column="27" selection-end-line="54" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/MatchSetupController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="147">
<caret line="10" column="13" lean-forward="false" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/HighscoresController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="294">
<caret line="23" column="27" lean-forward="false" selection-start-line="23" selection-start-column="11" selection-end-line="23" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/HomeController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="294">
<caret line="21" column="5" lean-forward="true" selection-start-line="21" selection-start-column="5" selection-end-line="21" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/FetchHighscore.java"> <entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/FetchHighscore.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="293"> <state relative-caret-position="105">
<caret line="60" column="0" lean-forward="true" selection-start-line="60" selection-start-column="0" selection-end-line="60" selection-end-column="0" /> <caret line="45" column="87" lean-forward="true" selection-start-line="45" selection-start-column="87" selection-end-line="45" selection-end-column="87" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/GameServer.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/SessionsManager.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-214"> <state relative-caret-position="1554">
<caret line="85" column="39" lean-forward="true" selection-start-line="85" selection-start-column="39" selection-end-line="85" selection-end-column="39" /> <caret line="83" column="25" lean-forward="true" selection-start-line="83" selection-start-column="25" selection-end-line="83" selection-end-column="25" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/SendWords.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="714">
<caret line="52" column="32" lean-forward="true" selection-start-line="52" selection-start-column="32" selection-end-line="52" selection-end-column="32" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/MatchTimeout.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126">
<caret line="17" column="13" lean-forward="false" selection-start-line="17" selection-start-column="13" selection-end-line="17" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinTimeout.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126">
<caret line="7" column="13" lean-forward="false" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinMatch.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="5" column="23" lean-forward="false" selection-start-line="5" selection-start-column="16" selection-end-line="5" selection-end-column="23" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/GenerateLetters.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="147">
<caret line="14" column="13" lean-forward="false" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeScore.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeScore.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="672"> <state relative-caret-position="420">
<caret line="59" column="26" lean-forward="true" selection-start-line="59" selection-start-column="26" selection-end-line="59" selection-end-column="26" /> <caret line="47" column="40" lean-forward="false" selection-start-line="47" selection-start-column="40" selection-end-line="47" selection-end-column="40" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/CheckOnlineUsers.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="269"> <state relative-caret-position="147">
<caret line="48" column="0" lean-forward="true" selection-start-line="48" selection-start-column="0" selection-end-line="48" selection-end-column="0" /> <caret line="10" column="13" lean-forward="false" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeHighscores.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeHighscores.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="357"> <state relative-caret-position="252">
<caret line="24" column="50" lean-forward="true" selection-start-line="24" selection-start-column="50" selection-end-line="24" selection-end-column="50" /> <caret line="19" column="61" lean-forward="true" selection-start-line="19" selection-start-column="61" selection-end-line="19" selection-end-column="61" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="416">
<caret line="49" column="16" lean-forward="false" selection-start-line="49" selection-start-column="16" selection-end-line="49" selection-end-column="16" />
<folding />
</state>
</provider>
</entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_131/src.zip!/java/nio/channels/Channel.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="290">
<caret line="55" column="17" lean-forward="false" selection-start-line="55" selection-start-column="17" selection-end-line="55" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendInvitations.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378">
<caret line="28" column="13" lean-forward="true" selection-start-line="28" selection-start-column="13" selection-end-line="28" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendMessageToAllPlayers.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="462">
<caret line="28" column="0" lean-forward="true" selection-start-line="28" selection-start-column="0" selection-end-line="28" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/pages/RegisterPage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="147">
<caret line="14" column="13" lean-forward="false" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/models/Dictionary.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="147">
<caret line="16" column="13" lean-forward="false" selection-start-line="16" selection-start-column="13" selection-end-line="16" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/TokenInvalid.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="336">
<caret line="19" column="15" lean-forward="false" selection-start-line="19" selection-start-column="15" selection-end-line="19" selection-end-column="15" />
<folding> <folding>
<element signature="e#763#764#0" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/ThreadProxy.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315">
<caret line="34" column="13" lean-forward="true" selection-start-line="34" selection-start-column="13" selection-end-line="34" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWords.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="490">
<caret line="55" column="75" lean-forward="true" selection-start-line="55" selection-start-column="75" selection-end-line="55" selection-end-column="75" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/components/GameServer.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="525">
<caret line="91" column="28" lean-forward="false" selection-start-line="91" selection-start-column="28" selection-end-line="91" selection-end-column="28" />
<folding />
</state>
</provider>
</entry>
</component> </component>
<component name="masterDetails"> <component name="masterDetails">
<states> <states>

View file

@ -36,7 +36,7 @@ public class SendWords extends SwingWorker<Void,Void> {
ByteBuffer buffer = ByteBuffer.allocate(1024); ByteBuffer buffer = ByteBuffer.allocate(1024);
buffer.clear(); buffer.clear();
System.out.println("SENDER=" + App.session.account.userName); System.out.println("SENDER=" + App.session.account.userName);
Message msg = new Message("WORDS", App.session.account.userName, "", words); Message msg = new Message("WORDS", App.session.account.userName, App.session.token, words);
String sentence = msg.toString(); String sentence = msg.toString();
buffer.put(sentence.getBytes()); buffer.put(sentence.getBytes());
buffer.flip(); buffer.flip();

View file

@ -32,7 +32,10 @@ public class GameServer implements Runnable{
private ExecutorService threadPool = Executors.newCachedThreadPool(); private ExecutorService threadPool = Executors.newCachedThreadPool();
private String dictionaryPath = "./Server/resources/dictionary"; private String dictionaryPath = "./Server/resources/dictionary";
public static Dictionary dict; public static Dictionary dict;
SocketChannel client;
ByteBuffer bufferWords = ByteBuffer.allocate(1024); ByteBuffer bufferWords = ByteBuffer.allocate(1024);
ByteBuffer bufferMessages = ByteBuffer.allocate(1024);
public static List<Match> activeMatches = Collections.synchronizedList(new ArrayList<>()); public static List<Match> activeMatches = Collections.synchronizedList(new ArrayList<>());
@ -58,7 +61,7 @@ public class GameServer implements Runnable{
datagramChannel.connect(address); datagramChannel.connect(address);
Logger.write("GamePage Service is running at "+this.serverPort+" port..."); Logger.write("GamePage Service is running at "+this.serverPort+" port...");
wordsReceiver = new ReceiveWords(datagramChannel, bufferWords); wordsReceiver = new ReceiveWords(datagramChannel, bufferWords, bufferMessages, client);
threadPool.submit(wordsReceiver); threadPool.submit(wordsReceiver);
} catch (IOException e) { } catch (IOException e) {
@ -75,9 +78,9 @@ public class GameServer implements Runnable{
Iterator<SelectionKey> iter = selector.selectedKeys().iterator(); Iterator<SelectionKey> iter = selector.selectedKeys().iterator();
while (iter.hasNext()) { while (iter.hasNext()) {
ByteBuffer bufferMessages = ByteBuffer.allocate(1024); bufferMessages = ByteBuffer.allocate(1024);
bufferMessages.clear(); bufferMessages.clear();
SocketChannel client = null; client = null;
SelectionKey key = iter.next(); SelectionKey key = iter.next();
iter.remove(); iter.remove();

View file

@ -1,6 +1,7 @@
package com.texttwist.server.components; package com.texttwist.server.components;
import com.sun.org.apache.xpath.internal.operations.Bool; import com.sun.org.apache.xpath.internal.operations.Bool;
import com.texttwist.client.App;
import com.texttwist.server.models.Match; import com.texttwist.server.models.Match;
import com.texttwist.server.tasks.*; import com.texttwist.server.tasks.*;
import constants.Config; import constants.Config;
@ -38,16 +39,11 @@ public class ThreadProxy implements Callable<Boolean> {
} }
private Boolean isValidToken(String token){
return SessionsManager.getInstance().isValidToken(token);
}
@Override @Override
public Boolean call() { public Boolean call() {
bufferMessage = ByteBuffer.allocate(1024); bufferMessage = ByteBuffer.allocate(1024);
byte[] byteMessage = null; byte[] byteMessage = null;
if(isValidToken(request.token)){ if(SessionsManager.getInstance().isValidToken(request.token)){
switch(request.message){ switch(request.message){
case "START_GAME": case "START_GAME":
Future<Boolean> onlineUsers = threadPool.submit(new CheckOnlineUsers(request.data)); Future<Boolean> onlineUsers = threadPool.submit(new CheckOnlineUsers(request.data));
@ -177,7 +173,7 @@ public class ThreadProxy implements Callable<Boolean> {
System.out.println("INVIO GAME_STARTED "+ s); System.out.println("INVIO GAME_STARTED "+ s);
socketClient.write(bufferMessage); socketClient.write(bufferMessage);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace();
} }
} }
@ -199,10 +195,8 @@ public class ThreadProxy implements Callable<Boolean> {
socketChannel.write(bufferMessage); socketChannel.write(bufferMessage);
matchNotAvailable = true; matchNotAvailable = true;
} }
//Match non disponibile
} }
//NON FARE NULLA, ASPETA GLI ALTRI
} }
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
@ -218,7 +212,7 @@ public class ThreadProxy implements Callable<Boolean> {
} }
} else { } else {
System.out.print("TOKEN NON VALIDO"); threadPool.submit(new TokenInvalid(request.sender, socketChannel, bufferMessage));
return false; return false;
} }

View file

@ -1,26 +1,17 @@
package com.texttwist.server.tasks; package com.texttwist.server.tasks;
import com.texttwist.server.Server; import com.texttwist.server.components.SessionsManager;
import com.texttwist.server.components.GameServer;
import com.texttwist.server.models.Match; import com.texttwist.server.models.Match;
import constants.Config; import constants.Config;
import models.Message; import models.Message;
import javax.swing.*;
import javax.xml.crypto.Data;
import java.net.*; import java.net.*;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.channels.DatagramChannel; import java.nio.channels.DatagramChannel;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.SocketChannel; import java.nio.channels.SocketChannel;
import java.util.Arrays;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import static com.texttwist.server.components.GameServer.activeMatches;
/** /**
* Created by loke on 27/06/2017. * Created by loke on 27/06/2017.
@ -30,12 +21,16 @@ public class ReceiveWords implements Callable<Boolean>{
protected ExecutorService threadPool = Executors.newCachedThreadPool(); protected ExecutorService threadPool = Executors.newCachedThreadPool();
public DatagramChannel channel; public DatagramChannel channel;
ByteBuffer buffer; ByteBuffer bufferWords;
ByteBuffer bufferMessages;
public SocketChannel socketChannel;
public ReceiveWords(DatagramChannel channel, ByteBuffer buffer) { public ReceiveWords(DatagramChannel channel, ByteBuffer buffer, ByteBuffer bufferMessages, SocketChannel socketChannel) {
this.buffer = buffer; this.bufferWords = buffer;
this.channel = channel; this.channel = channel;
this.bufferMessages = bufferMessages;
this.socketChannel = socketChannel;
} }
@Override @Override
@ -58,9 +53,14 @@ public class ReceiveWords implements Callable<Boolean>{
System.out.println(rcv); System.out.println(rcv);
if (rcv.startsWith("MESSAGE")) { if (rcv.startsWith("MESSAGE")) {
msg = Message.toMessage(rcv); msg = Message.toMessage(rcv);
System.out.println(msg.sender); if(SessionsManager.getInstance().isValidToken(msg.token)) {
Match match = Match.findMatchByPlayer(msg.sender); System.out.println(msg.sender);
threadPool.submit(new ComputeScore(msg.sender, msg.data, match)); Match match = Match.findMatchByPlayer(msg.sender);
threadPool.submit(new ComputeScore(msg.sender, msg.data, match));
} else {
threadPool.submit(new TokenInvalid(msg.sender, socketChannel, bufferMessages));
return false;
}
} }
} }

View file

@ -0,0 +1,38 @@
package com.texttwist.server.tasks;
import com.texttwist.server.Server;
import models.Message;
import javax.swing.*;
import java.nio.ByteBuffer;
import java.nio.channels.Channel;
import java.nio.channels.SocketChannel;
import java.util.concurrent.Callable;
/**
* Created by loke on 11/07/2017.
*/
public class TokenInvalid implements Callable<Boolean> {
private String sender;
private ByteBuffer buffer;
private SocketChannel channel;
public TokenInvalid (String sender, SocketChannel channel, ByteBuffer buffer){
this.sender=sender;
this.buffer=buffer;
this.channel=channel;
}
@Override
public Boolean call()throws Exception {
System.out.print("TOKEN NON VALIDO");
buffer = ByteBuffer.allocate(1024);
Message msg = new Message("MATCH_NOT_AVAILABLE", "", null, new DefaultListModel<>());
buffer.clear();
byte[] byteMessage = msg.toString().getBytes();
buffer = ByteBuffer.wrap(byteMessage);
channel.write(buffer);
return false;
}
}

View file

@ -8630,3 +8630,71 @@ LOGGER (Client1): Tue Jul 11 01:24:02 CEST 2017 - Invoked invitation with userna
LOGGER (Client1): Tue Jul 11 01:24:02 CEST 2017 - L'utente è sloggato LOGGER (Client1): Tue Jul 11 01:24:02 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 01:24:02 CEST 2017 - Invoked invitation with username=c|[a] LOGGER (Client1): Tue Jul 11 01:24:02 CEST 2017 - Invoked invitation with username=c|[a]
LOGGER (Client1): Tue Jul 11 01:24:02 CEST 2017 - L'utente è sloggato LOGGER (Client1): Tue Jul 11 01:24:02 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 10:45:24 CEST 2017 - Client starting ...
LOGGER (Client1): Tue Jul 11 10:45:26 CEST 2017 - Client starting ...
LOGGER (Client1): Tue Jul 11 10:45:31 CEST 2017 - Invoked invitation with username=b|[a]
LOGGER (Client1): Tue Jul 11 10:45:31 CEST 2017 - b ti ha sfidato!
LOGGER (Client1): Tue Jul 11 10:45:31 CEST 2017 - Invoked invitation with username=b|[a]
LOGGER (Client1): Tue Jul 11 10:45:31 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:07:03 CEST 2017 - Client starting ...
LOGGER (Client1): Tue Jul 11 11:07:05 CEST 2017 - Client starting ...
LOGGER (Client1): Tue Jul 11 11:07:14 CEST 2017 - Invoked invitation with username=b|[a]
LOGGER (Client1): Tue Jul 11 11:07:14 CEST 2017 - b ti ha sfidato!
LOGGER (Client1): Tue Jul 11 11:07:14 CEST 2017 - Invoked invitation with username=b|[a]
LOGGER (Client1): Tue Jul 11 11:07:14 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:07:18 CEST 2017 - Client starting ...
LOGGER (Client1): Tue Jul 11 11:07:28 CEST 2017 - Invoked invitation with username=c|[a]
LOGGER (Client1): Tue Jul 11 11:07:28 CEST 2017 - c ti ha sfidato!
LOGGER (Client1): Tue Jul 11 11:07:28 CEST 2017 - Invoked invitation with username=c|[a]
LOGGER (Client1): Tue Jul 11 11:07:28 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:07:28 CEST 2017 - Invoked invitation with username=c|[a]
LOGGER (Client1): Tue Jul 11 11:07:28 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:07:36 CEST 2017 - Client starting ...
LOGGER (Client1): Tue Jul 11 11:07:44 CEST 2017 - Invoked invitation with username=b|[d]
LOGGER (Client1): Tue Jul 11 11:07:44 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:07:44 CEST 2017 - Invoked invitation with username=b|[d]
LOGGER (Client1): Tue Jul 11 11:07:44 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:07:44 CEST 2017 - Invoked invitation with username=b|[d]
LOGGER (Client1): Tue Jul 11 11:07:44 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:07:44 CEST 2017 - Invoked invitation with username=b|[d]
LOGGER (Client1): Tue Jul 11 11:07:44 CEST 2017 - b ti ha sfidato!
LOGGER (Client1): Tue Jul 11 11:07:58 CEST 2017 - Invoked invitation with username=aa|[c]
LOGGER (Client1): Tue Jul 11 11:07:58 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:07:58 CEST 2017 - Invoked invitation with username=aa|[c]
LOGGER (Client1): Tue Jul 11 11:07:58 CEST 2017 - aa ti ha sfidato!
LOGGER (Client1): Tue Jul 11 11:07:58 CEST 2017 - Invoked invitation with username=aa|[c]
LOGGER (Client1): Tue Jul 11 11:07:58 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:07:58 CEST 2017 - Invoked invitation with username=aa|[c]
LOGGER (Client1): Tue Jul 11 11:07:58 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:08:16 CEST 2017 - Invoked invitation with username=d|[c]
LOGGER (Client1): Tue Jul 11 11:08:16 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:08:16 CEST 2017 - Invoked invitation with username=d|[c]
LOGGER (Client1): Tue Jul 11 11:08:16 CEST 2017 - d ti ha sfidato!
LOGGER (Client1): Tue Jul 11 11:08:16 CEST 2017 - Invoked invitation with username=d|[c]
LOGGER (Client1): Tue Jul 11 11:08:16 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:08:16 CEST 2017 - Invoked invitation with username=d|[c]
LOGGER (Client1): Tue Jul 11 11:08:16 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:08:22 CEST 2017 - Invoked invitation with username=b|[aa]
LOGGER (Client1): Tue Jul 11 11:08:22 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:08:22 CEST 2017 - Invoked invitation with username=b|[aa]
LOGGER (Client1): Tue Jul 11 11:08:22 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:08:22 CEST 2017 - Invoked invitation with username=b|[aa]
LOGGER (Client1): Tue Jul 11 11:08:22 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:08:22 CEST 2017 - Invoked invitation with username=b|[aa]
LOGGER (Client1): Tue Jul 11 11:08:22 CEST 2017 - b ti ha sfidato!
LOGGER (Client1): Tue Jul 11 11:08:52 CEST 2017 - Invoked invitation with username=d|[b, aa]
LOGGER (Client1): Tue Jul 11 11:08:52 CEST 2017 - d ti ha sfidato!
LOGGER (Client1): Tue Jul 11 11:08:52 CEST 2017 - Invoked invitation with username=d|[b, aa]
LOGGER (Client1): Tue Jul 11 11:08:52 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:08:52 CEST 2017 - Invoked invitation with username=d|[b, aa]
LOGGER (Client1): Tue Jul 11 11:08:52 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:08:52 CEST 2017 - Invoked invitation with username=d|[b, aa]
LOGGER (Client1): Tue Jul 11 11:08:52 CEST 2017 - d ti ha sfidato!
LOGGER (Client1): Tue Jul 11 11:13:13 CEST 2017 - Invoked invitation with username=d|[b]
LOGGER (Client1): Tue Jul 11 11:13:13 CEST 2017 - d ti ha sfidato!
LOGGER (Client1): Tue Jul 11 11:13:13 CEST 2017 - Invoked invitation with username=d|[b]
LOGGER (Client1): Tue Jul 11 11:13:13 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:13:13 CEST 2017 - Invoked invitation with username=d|[b]
LOGGER (Client1): Tue Jul 11 11:13:13 CEST 2017 - L'utente è sloggato
LOGGER (Client1): Tue Jul 11 11:13:13 CEST 2017 - Invoked invitation with username=d|[b]
LOGGER (Client1): Tue Jul 11 11:13:13 CEST 2017 - L'utente è sloggato

View file

@ -9739,3 +9739,30 @@ LOGGER (Server): Tue Jul 11 01:22:25 CEST 2017 - Invoked login with username=b A
LOGGER (Server): Tue Jul 11 01:22:25 CEST 2017 - Login successfull LOGGER (Server): Tue Jul 11 01:22:25 CEST 2017 - Login successfull
LOGGER (Server): Tue Jul 11 01:22:30 CEST 2017 - Invoked login with username=c AND password=c LOGGER (Server): Tue Jul 11 01:22:30 CEST 2017 - Invoked login with username=c AND password=c
LOGGER (Server): Tue Jul 11 01:22:30 CEST 2017 - Login successfull LOGGER (Server): Tue Jul 11 01:22:30 CEST 2017 - Login successfull
LOGGER (Server): Tue Jul 11 10:45:22 CEST 2017 - Server starting ...
LOGGER (Server): Tue Jul 11 10:45:22 CEST 2017 - Auth Service running at 9999 port...
LOGGER (Server): Tue Jul 11 10:45:22 CEST 2017 - GamePage Service is running at 10000 port...
LOGGER (Server): Tue Jul 11 10:45:22 CEST 2017 - Server started
LOGGER (Server): Tue Jul 11 10:45:27 CEST 2017 - Invoked login with username=a AND password=a
LOGGER (Server): Tue Jul 11 10:45:27 CEST 2017 - Login successfull
LOGGER (Server): Tue Jul 11 10:45:29 CEST 2017 - Invoked login with username=b AND password=b
LOGGER (Server): Tue Jul 11 10:45:29 CEST 2017 - Login successfull
LOGGER (Server): Tue Jul 11 11:07:02 CEST 2017 - Server starting ...
LOGGER (Server): Tue Jul 11 11:07:02 CEST 2017 - Auth Service running at 9999 port...
LOGGER (Server): Tue Jul 11 11:07:02 CEST 2017 - GamePage Service is running at 10000 port...
LOGGER (Server): Tue Jul 11 11:07:02 CEST 2017 - Server started
LOGGER (Server): Tue Jul 11 11:07:06 CEST 2017 - Invoked login with username=a AND password=a
LOGGER (Server): Tue Jul 11 11:07:06 CEST 2017 - Login successfull
LOGGER (Server): Tue Jul 11 11:07:12 CEST 2017 - Invoked login with username=b AND password=b
LOGGER (Server): Tue Jul 11 11:07:12 CEST 2017 - Login successfull
LOGGER (Server): Tue Jul 11 11:07:19 CEST 2017 - Invoked login with username=c AND password=c
LOGGER (Server): Tue Jul 11 11:07:19 CEST 2017 - Login successfull
LOGGER (Server): Tue Jul 11 11:07:37 CEST 2017 - Invoked login with username=d AND password=d
LOGGER (Server): Tue Jul 11 11:07:37 CEST 2017 - Login successfull
LOGGER (Server): Tue Jul 11 11:07:50 CEST 2017 - Invoked logout with username=a AND token=8l9ott4fctua8ii3ri4a43u8ls
LOGGER (Server): Tue Jul 11 11:07:50 CEST 2017 - Logout successfull
LOGGER (Server): Tue Jul 11 11:07:50 CEST 2017 - Logout successfull (but something gone wrong)
LOGGER (Server): Tue Jul 11 11:07:54 CEST 2017 - Invoked register with username=aa AND password=aa
LOGGER (Server): Tue Jul 11 11:07:54 CEST 2017 - Registration successfull
LOGGER (Server): Tue Jul 11 11:07:56 CEST 2017 - Invoked login with username=aa AND password=aa
LOGGER (Server): Tue Jul 11 11:07:56 CEST 2017 - Login successfull