This commit is contained in:
Lorenzo Iovino 2017-07-14 00:06:59 +02:00
parent 71ff3c4820
commit e1622dfaa1
17 changed files with 463 additions and 561 deletions

705
.idea/workspace.xml generated
View file

@ -7,13 +7,22 @@
</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="MOVED" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWords.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/services/ReceiveWordsService.java" /> <change type="MOVED" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/servers/ProxyDispatcher.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/proxies/MessageDispatcher.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/controllers/HomeController.java" afterPath="$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/HomeController.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Client/src/com/texttwist/client/services/AuthService.java" afterPath="$PROJECT_DIR$/Client/src/com/texttwist/client/services/AuthService.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/tasks/WaitForPlayers.java" afterPath="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/Server.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/Server.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/Server.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/Server.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/models/Dictionary.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/models/Dictionary.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/servers/ProxyDispatcher.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/servers/ProxyDispatcher.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/services/JedisService.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/services/JedisService.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/services/MessageService.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/services/MessageService.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/services/MessageService.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/services/MessageService.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/services/NotificationService.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/services/NotificationService.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/services/SessionsService.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/services/SessionsService.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$/Server/src/com/texttwist/server/tasks/JoinMatch.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinMatch.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendInvitations.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendInvitations.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendScores.java" afterPath="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendScores.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/notificationServer.log" afterPath="$PROJECT_DIR$/notificationServer.log" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/notificationServer.log" afterPath="$PROJECT_DIR$/notificationServer.log" />
</list> </list>
<ignored path="$PROJECT_DIR$/out/" /> <ignored path="$PROJECT_DIR$/out/" />
@ -36,55 +45,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="ReceiveWordsService.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/ReceiveWordsService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="101">
<caret line="27" column="13" lean-forward="true" selection-start-line="27" selection-start-column="13" selection-end-line="27" selection-end-column="13" />
<folding>
<element signature="imports" expanded="true" />
<marker date="1499981382974" expanded="true" signature="429:436" ph="/**...*/" />
<marker date="1499981382974" expanded="true" signature="1525:1672" ph="{...}" />
</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="185">
<caret line="22" column="29" lean-forward="true" selection-start-line="22" selection-start-column="29" selection-end-line="22" selection-end-column="29" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="MessageService.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/MessageService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126">
<caret line="62" column="0" lean-forward="false" selection-start-line="62" selection-start-column="0" selection-end-line="62" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Config.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Commons/src/constants/Config.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="170">
<caret line="15" column="26" lean-forward="false" selection-start-line="15" selection-start-column="26" selection-end-line="15" selection-end-column="26" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="NotificationService.java" pinned="false" current-in-tab="false"> <file leaf-file-name="NotificationService.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/NotificationService.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/NotificationService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="273"> <state relative-caret-position="377">
<caret line="41" column="36" lean-forward="true" selection-start-line="41" selection-start-column="36" selection-end-line="41" selection-end-column="36" /> <caret line="31" column="31" lean-forward="false" selection-start-line="31" selection-start-column="31" selection-end-line="31" selection-end-column="31" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -93,19 +58,21 @@
<file leaf-file-name="SessionsService.java" pinned="false" current-in-tab="false"> <file leaf-file-name="SessionsService.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/SessionsService.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/SessionsService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="595"> <state relative-caret-position="230">
<caret line="62" column="28" lean-forward="false" selection-start-line="62" selection-start-column="28" selection-end-line="62" selection-end-column="28" /> <caret line="40" column="5" lean-forward="false" selection-start-line="40" selection-start-column="5" selection-end-line="40" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Server.java" pinned="false" current-in-tab="false"> <file leaf-file-name="MessageDispatcher.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/Server.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/proxies/MessageDispatcher.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="353"> <state relative-caret-position="117">
<caret line="79" column="13" lean-forward="false" selection-start-line="79" selection-start-column="13" selection-end-line="79" selection-end-column="13" /> <caret line="165" column="78" lean-forward="true" selection-start-line="165" selection-start-column="78" selection-end-line="165" selection-end-column="78" />
<folding /> <folding>
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -113,33 +80,67 @@
<file leaf-file-name="JedisService.java" pinned="false" current-in-tab="false"> <file leaf-file-name="JedisService.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/JedisService.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/JedisService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-651"> <state relative-caret-position="230">
<caret line="16" column="13" lean-forward="false" selection-start-line="16" selection-start-column="13" selection-end-line="16" selection-end-column="13" /> <caret line="20" column="32" lean-forward="true" selection-start-line="20" selection-start-column="32" selection-end-line="20" selection-end-column="32" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="AuthService.java" pinned="false" current-in-tab="false"> <file leaf-file-name="ComputeScore.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/AuthService.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="252"> <state relative-caret-position="283">
<caret line="44" column="13" lean-forward="true" selection-start-line="44" selection-start-column="13" selection-end-line="44" selection-end-column="13" /> <caret line="44" column="43" lean-forward="true" selection-start-line="44" selection-start-column="43" selection-end-line="44" selection-end-column="43" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="AccountsService.java" pinned="false" current-in-tab="false"> <file leaf-file-name="SendScores.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/AccountsService.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendScores.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-63"> <state relative-caret-position="472">
<caret line="17" column="5" lean-forward="true" selection-start-line="17" selection-start-column="5" selection-end-line="17" selection-end-column="5" /> <caret line="30" column="54" lean-forward="true" selection-start-line="30" selection-start-column="54" selection-end-line="30" selection-end-column="54" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="WaitForPlayers.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="230">
<caret line="67" column="33" lean-forward="true" selection-start-line="67" selection-start-column="33" selection-end-line="67" selection-end-column="33" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </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="441">
<caret line="24" column="0" lean-forward="true" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SendWords.java" pinned="false" current-in-tab="true">
<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="294">
<caret line="14" column="54" lean-forward="true" selection-start-line="14" selection-start-column="54" selection-end-line="14" selection-end-column="54" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf> </leaf>
</component> </component>
<component name="FileTemplateManagerImpl"> <component name="FileTemplateManagerImpl">
@ -151,20 +152,6 @@
</component> </component>
<component name="FindInProjectRecents"> <component name="FindInProjectRecents">
<findStrings> <findStrings>
<find>timeoy</find>
<find>timeo</find>
<find>timeou</find>
<find>timeout</find>
<find>timeout f</find>
<find>timeout fi</find>
<find>timeout fini</find>
<find>timeout finit</find>
<find>i</find>
<find>inio g</find>
<find>inio</find>
<find>inio</find>
<find>in</find>
<find>inv</find>
<find>invio h</find> <find>invio h</find>
<find>invio</find> <find>invio</find>
<find>multic</find> <find>multic</find>
@ -181,6 +168,20 @@
<find>Config.WordsRe</find> <find>Config.WordsRe</find>
<find>Config.WordsRec</find> <find>Config.WordsRec</find>
<find>Config.WordsRece</find> <find>Config.WordsRece</find>
<find>remo</find>
<find>login unsu</find>
<find>s</find>
<find>client</find>
<find>add</find>
<find>print</find>
<find>printall</find>
<find>Syst</find>
<find>System</find>
<find>System.</find>
<find>System.o</find>
<find>System.ou</find>
<find>thread</find>
<find>System.out</find>
</findStrings> </findStrings>
<dirStrings> <dirStrings>
<dir>C:\Users\loke\TextTwist\out\production</dir> <dir>C:\Users\loke\TextTwist\out\production</dir>
@ -319,12 +320,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/services/GameService.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/InvitePlayers.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/FetchHighscore.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/App.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/StartGame.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/GameController.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/pages/MatchSetupPage.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/pages/MatchSetupPage.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTScrollList.java" /> <option value="$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTScrollList.java" />
@ -351,25 +346,31 @@
<option value="$PROJECT_DIR$/Commons/src/constants/Config.java" /> <option value="$PROJECT_DIR$/Commons/src/constants/Config.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/Main.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/Main.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/models/servers/ThreadProxy.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/models/servers/ThreadProxy.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/SessionsService.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendScore.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendScore.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/AccountsService.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/AccountsService.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/AuthService.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/AuthService.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/JedisService.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.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$/Client/src/com/texttwist/client/tasks/SendWords.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeScore.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinMatch.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/models/Dictionary.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/models/Dictionary.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/servers/ProxyDispatcher.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/servers/ProxyDispatcher.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWords.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWords.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWordsService.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ReceiveWordsService.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/MessageService.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/Server.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/ReceiveWordsService.java" /> <option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/ReceiveWordsService.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/services/AuthService.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/controllers/HomeController.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/Server.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/proxies/MessageDispatcher.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinMatch.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/MessageService.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/models/Match.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeScore.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/SessionsService.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/JedisService.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/services/NotificationService.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendScores.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.java" />
<option value="$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendInvitations.java" />
<option value="$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/SendWords.java" />
</list> </list>
</option> </option>
</component> </component>
@ -424,6 +425,7 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="PackagesPane" />
<pane id="Scope"> <pane id="Scope">
<subPane subId="Changed Files"> <subPane subId="Changed Files">
<PATH> <PATH>
@ -639,7 +641,7 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="servers" /> <option name="myItemId" value="proxies" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
@ -669,125 +671,8 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="TextTwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Texttwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Commons" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="TextTwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Texttwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Commons" />
<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>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="TextTwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Texttwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Commons" />
<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="constants" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="TextTwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Texttwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Client" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="TextTwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Texttwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Client" />
<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="client" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="TextTwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Texttwist" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Client" />
<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="client" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="pages" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="PackagesPane" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
@ -1318,47 +1203,48 @@
<workItem from="1499786096995" duration="7592000" /> <workItem from="1499786096995" duration="7592000" />
<workItem from="1499865254521" duration="23162000" /> <workItem from="1499865254521" duration="23162000" />
<workItem from="1499948531070" duration="596000" /> <workItem from="1499948531070" duration="596000" />
<workItem from="1499949143188" duration="13153000" /> <workItem from="1499949143188" duration="13169000" />
<workItem from="1499981493583" duration="2107000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="442005000" /> <option name="totallyTimeSpent" value="444128000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="-9" y="-9" width="1938" height="1048" extended-state="6" /> <frame x="-9" y="-9" width="1938" height="1048" extended-state="6" />
<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="true" show_stripe_button="true" weight="0.40724477" 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.32601535" 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.32601535" 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="false" show_stripe_button="true" weight="0.4215148" sideWeight="0.6982353" order="2" side_tool="false" content_ui="tabs" x="487" y="269" width="852" height="313" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="WINDOWED" visible="false" show_stripe_button="true" weight="0.4215148" sideWeight="0.6982353" order="2" side_tool="false" content_ui="tabs" x="512" y="528" width="852" height="313" />
<window_info id="Coverage" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.328125" 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="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.27135417" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <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.12760417" 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.32852387" 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.32852387" 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.40724477" 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.328125" sideWeight="0.5" order="10" side_tool="true" content_ui="tabs" />
</layout> </layout>
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
@ -1378,61 +1264,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$/Client/src/com/texttwist/client/pages/MatchSetupPage.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="155">
<caret line="54" column="11" lean-forward="false" selection-start-line="54" selection-start-column="11" selection-end-line="54" selection-end-column="11" />
<folding>
<element signature="imports" expanded="false" />
</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="155">
<caret line="63" column="14" lean-forward="true" selection-start-line="63" selection-start-column="0" selection-end-line="64" selection-end-column="0" />
<folding>
<element signature="imports" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="84">
<caret line="4" column="0" lean-forward="false" selection-start-line="4" selection-start-column="0" selection-end-line="7" selection-end-column="3" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Commons/src/interfaces/IAuth.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="273">
<caret line="13" column="100" lean-forward="false" selection-start-line="13" selection-start-column="100" selection-end-line="13" selection-end-column="100" />
</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="231">
<caret line="11" column="93" lean-forward="false" selection-start-line="11" selection-start-column="93" selection-end-line="11" selection-end-column="93" />
</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="83">
<caret line="58" column="12" lean-forward="true" selection-start-line="58" selection-start-column="12" selection-end-line="58" selection-end-column="12" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Commons/src/models/Response.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="21">
<caret line="1" column="0" lean-forward="true" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Commons/src/models/Session.java"> <entry file="file://$PROJECT_DIR$/Commons/src/models/Session.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210"> <state relative-caret-position="210">
@ -1440,14 +1271,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Commons/src/utilities/Logger.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="320">
<caret line="48" column="1" lean-forward="true" selection-start-line="48" selection-start-column="1" selection-end-line="48" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Commons/src/utilities/Parse.java"> <entry file="file://$PROJECT_DIR$/Commons/src/utilities/Parse.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="231"> <state relative-caret-position="231">
@ -1559,26 +1382,16 @@
<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="48" column="0" lean-forward="true" selection-start-line="48" selection-start-column="0" selection-end-line="48" selection-end-column="0" /> <caret line="48" column="0" lean-forward="true" selection-start-line="48" selection-start-column="0" selection-end-line="48" selection-end-column="0" />
<folding /> <folding>
</state> <element signature="imports" expanded="true" />
</provider> <element signature="e#988#989#0" expanded="false" />
</entry> <element signature="e#1574#1575#0" expanded="false" />
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/models/servers/ProxyDispatcher.java"> </folding>
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126">
<caret line="26" column="53" lean-forward="false" selection-start-line="26" selection-start-column="53" selection-end-line="26" selection-end-column="53" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendScore.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="42">
<caret line="2" column="3" lean-forward="false" selection-start-line="2" selection-start-column="3" selection-end-line="2" selection-end-column="3" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/models/servers/ProxyDispatcher.java" />
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendScore.java" />
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/CheckOnlineUsers.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="168"> <state relative-caret-position="168">
@ -1595,14 +1408,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-23">
<caret line="53" column="48" lean-forward="false" selection-start-line="53" selection-start-column="48" selection-end-line="53" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/App.java"> <entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/App.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="273"> <state relative-caret-position="273">
@ -1611,16 +1416,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="314">
<caret line="36" column="0" lean-forward="true" selection-start-line="36" selection-start-column="0" selection-end-line="36" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinTimeout.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinTimeout.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="525"> <state relative-caret-position="525">
@ -1639,10 +1434,70 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendScores.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/MatchTimeout.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="567"> <state relative-caret-position="273">
<caret line="39" column="35" lean-forward="true" selection-start-line="39" selection-start-column="35" selection-end-line="39" selection-end-column="35" /> <caret line="16" column="0" lean-forward="true" 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$/Server/src/com/texttwist/server/services/AccountsService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315">
<caret line="17" column="5" lean-forward="false" selection-start-line="17" selection-start-column="5" selection-end-line="17" selection-end-column="5" />
<folding>
<element signature="imports" expanded="false" />
<element signature="e#473#474#0" expanded="false" />
<element signature="e#527#528#0" expanded="false" />
<element signature="e#1947#1948#0" expanded="false" />
<element signature="e#1982#1983#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Commons/src/constants/Config.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315">
<caret line="15" column="26" lean-forward="false" selection-start-line="15" selection-start-column="26" selection-end-line="15" selection-end-column="26" />
<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="22" column="29" lean-forward="false" selection-start-line="22" selection-start-column="29" selection-end-line="22" selection-end-column="29" />
<folding>
<element signature="imports" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/ReceiveWordsService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="241">
<caret line="40" column="0" lean-forward="true" selection-start-line="40" selection-start-column="0" selection-end-line="40" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
<marker date="1499981382974" expanded="true" signature="429:436" ph="/**...*/" />
<marker date="1499981382974" expanded="true" signature="1525:1672" ph="{...}" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/AuthService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126">
<caret line="45" column="24" lean-forward="false" selection-start-line="45" selection-start-column="24" selection-end-line="45" selection-end-column="24" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/services/NotificationClientService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="168">
<caret line="11" column="13" lean-forward="false" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -1655,43 +1510,85 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/ComputeScore.java"> <entry file="file://$PROJECT_DIR$/Commons/src/interfaces/INotificationServer.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="159"> <state relative-caret-position="210">
<caret line="33" column="56" lean-forward="true" selection-start-line="33" selection-start-column="56" selection-end-line="33" selection-end-column="56" /> <caret line="11" column="93" lean-forward="false" selection-start-line="11" selection-start-column="93" selection-end-line="11" selection-end-column="93" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendInvitations.java"> <entry file="file://$PROJECT_DIR$/Commons/src/interfaces/IAuth.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90"> <state relative-caret-position="189">
<caret line="15" column="21" lean-forward="false" selection-start-line="15" selection-start-column="21" selection-end-line="15" selection-end-column="21" /> <caret line="11" column="15" lean-forward="false" selection-start-line="11" selection-start-column="15" selection-end-line="11" selection-end-column="15" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/services/AuthService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="273">
<caret line="21" column="22" lean-forward="true" selection-start-line="21" selection-start-column="22" selection-end-line="21" selection-end-column="22" />
<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="147">
<caret line="14" column="3" lean-forward="true" selection-start-line="14" selection-start-column="3" selection-end-line="14" selection-end-column="3" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/ui/TTSearchBar.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-389">
<caret line="22" column="39" lean-forward="true" selection-start-line="22" selection-start-column="39" selection-end-line="22" selection-end-column="39" />
<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="525">
<caret line="45" column="46" lean-forward="false" selection-start-line="45" selection-start-column="46" selection-end-line="45" selection-end-column="46" />
<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="293">
<caret line="61" column="34" lean-forward="false" selection-start-line="61" selection-start-column="34" selection-end-line="61" selection-end-column="34" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinMatch.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/JoinMatch.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="945">
<caret line="0" column="18" lean-forward="false" selection-start-line="0" selection-start-column="18" selection-end-line="0" selection-end-column="18" /> <caret line="45" column="13" lean-forward="true" selection-start-line="45" selection-start-column="13" selection-end-line="45" selection-end-column="13" />
<folding /> <folding>
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/MatchTimeout.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/MessageService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="273"> <state relative-caret-position="291">
<caret line="16" column="0" lean-forward="true" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" /> <caret line="78" column="0" lean-forward="false" selection-start-line="78" selection-start-column="0" selection-end-line="78" selection-end-column="0" />
<folding> <folding>
<marker date="1499974024963" expanded="true" signature="662:820" ph="{...}" /> <element signature="imports" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/models/Dictionary.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/models/Dictionary.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="122"> <state relative-caret-position="-147">
<caret line="8" column="3" lean-forward="true" selection-start-line="8" selection-start-column="3" selection-end-line="8" selection-end-column="3" /> <caret line="8" column="3" lean-forward="true" selection-start-line="8" selection-start-column="3" selection-end-line="8" selection-end-column="3" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
@ -1701,100 +1598,96 @@
</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/models/Match.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1911"> <state relative-caret-position="-200">
<caret line="103" column="5" lean-forward="true" selection-start-line="103" selection-start-column="5" selection-end-line="103" selection-end-column="5" /> <caret line="100" column="12" lean-forward="false" selection-start-line="100" selection-start-column="12" selection-end-line="100" selection-end-column="12" />
<folding /> <folding>
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/servers/ProxyDispatcher.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/proxies/MessageDispatcher.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1235"> <state relative-caret-position="117">
<caret line="71" column="0" lean-forward="true" selection-start-line="71" selection-start-column="0" selection-end-line="71" selection-end-column="0" /> <caret line="165" column="78" lean-forward="true" selection-start-line="165" selection-start-column="78" selection-end-line="165" selection-end-column="78" />
<folding /> <folding>
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/NotificationService.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="273"> <state relative-caret-position="283">
<caret line="41" column="36" lean-forward="true" selection-start-line="41" selection-start-column="36" selection-end-line="41" selection-end-column="36" /> <caret line="44" column="43" lean-forward="true" selection-start-line="44" selection-start-column="43" selection-end-line="44" selection-end-column="43" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/SessionsService.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/SessionsService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="595"> <state relative-caret-position="230">
<caret line="62" column="28" lean-forward="false" selection-start-line="62" selection-start-column="28" selection-end-line="62" selection-end-column="28" /> <caret line="40" column="5" lean-forward="false" selection-start-line="40" selection-start-column="5" selection-end-line="40" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/JedisService.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/JedisService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-651"> <state relative-caret-position="230">
<caret line="16" column="13" lean-forward="false" selection-start-line="16" selection-start-column="13" selection-end-line="16" selection-end-column="13" /> <caret line="20" column="32" lean-forward="true" selection-start-line="20" selection-start-column="32" selection-end-line="20" selection-end-column="32" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/AuthService.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/NotificationService.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="377">
<caret line="44" column="13" lean-forward="true" selection-start-line="44" selection-start-column="13" selection-end-line="44" selection-end-column="13" /> <caret line="31" column="31" lean-forward="false" selection-start-line="31" selection-start-column="31" selection-end-line="31" selection-end-column="31" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/AccountsService.java"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendScores.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-63"> <state relative-caret-position="472">
<caret line="17" column="5" lean-forward="true" selection-start-line="17" selection-start-column="5" selection-end-line="17" selection-end-column="5" /> <caret line="30" column="54" lean-forward="true" selection-start-line="30" selection-start-column="54" selection-end-line="30" selection-end-column="54" />
<folding /> <folding>
</state> <element signature="imports" expanded="true" />
</provider> </folding>
</entry> </state>
<entry file="file://$PROJECT_DIR$/Commons/src/constants/Config.java"> </provider>
<provider selected="true" editor-type-id="text-editor"> </entry>
<state relative-caret-position="170"> <entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/WaitForPlayers.java">
<caret line="15" column="26" lean-forward="false" selection-start-line="15" selection-start-column="26" selection-end-line="15" selection-end-column="26" /> <provider selected="true" editor-type-id="text-editor">
<folding /> <state relative-caret-position="230">
</state> <caret line="67" column="33" lean-forward="true" selection-start-line="67" selection-start-column="33" selection-end-line="67" selection-end-column="33" />
</provider> <folding />
</entry> </state>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/MessageService.java"> </provider>
<provider selected="true" editor-type-id="text-editor"> </entry>
<state relative-caret-position="126"> <entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/SendInvitations.java">
<caret line="62" column="0" lean-forward="false" selection-start-line="62" selection-start-column="0" selection-end-line="62" selection-end-column="0" /> <provider selected="true" editor-type-id="text-editor">
<folding /> <state relative-caret-position="441">
</state> <caret line="24" column="0" lean-forward="true" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
</provider> <folding />
</entry> </state>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/Server.java"> </provider>
<provider selected="true" editor-type-id="text-editor"> </entry>
<state relative-caret-position="353"> <entry file="file://$PROJECT_DIR$/Commons/src/utilities/Logger.java">
<caret line="79" column="13" lean-forward="false" selection-start-line="79" selection-start-column="13" selection-end-line="79" selection-end-column="13" /> <provider selected="true" editor-type-id="text-editor">
<folding /> <state relative-caret-position="419">
</state> <caret line="33" column="43" lean-forward="false" selection-start-line="33" selection-start-column="43" selection-end-line="33" selection-end-column="43" />
</provider> <folding />
</entry> </state>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/tasks/TokenInvalid.java"> </provider>
<provider selected="true" editor-type-id="text-editor"> </entry>
<state relative-caret-position="185"> <entry file="file://$PROJECT_DIR$/Client/src/com/texttwist/client/tasks/SendWords.java">
<caret line="22" column="29" lean-forward="true" selection-start-line="22" selection-start-column="29" selection-end-line="22" selection-end-column="29" /> <provider selected="true" editor-type-id="text-editor">
<folding /> <state relative-caret-position="294">
</state> <caret line="14" column="54" lean-forward="true" selection-start-line="14" selection-start-column="54" selection-end-line="14" selection-end-column="54" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Server/src/com/texttwist/server/services/ReceiveWordsService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="101">
<caret line="27" column="13" lean-forward="true" selection-start-line="27" selection-start-column="13" selection-end-line="27" selection-end-column="13" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
<marker date="1499981382974" expanded="true" signature="429:436" ph="/**...*/" />
<marker date="1499981382974" expanded="true" signature="1525:1672" ph="{...}" />
</folding> </folding>
</state> </state>
</provider> </provider>

View file

@ -18,6 +18,11 @@ public class HomeController {
public Response login(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException { public Response login(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException {
Response res = authService.login(userName,password); Response res = authService.login(userName,password);
if (res.code == 200){ if (res.code == 200){
try {
App.registerForNotifications();
} catch (RemoteException e) {
App.logger.write("AUTH SERVICE: Can't register for notification");
}
App.session = (new Session(new User(userName,password,0), res.data.get("token").toString())); App.session = (new Session(new User(userName,password,0), res.data.get("token").toString()));
} }
return res; return res;

View file

@ -20,11 +20,6 @@ public class AuthService {
private String baseUrl = Config.getAuthServerURI().concat("/auth"); private String baseUrl = Config.getAuthServerURI().concat("/auth");
public Response login(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException { public Response login(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException {
try {
App.registerForNotifications();
} catch (RemoteException e) {
App.logger.write("AUTH SERVICE: Can't register for notification");
}
IAuth auth = (IAuth) Naming.lookup(baseUrl); IAuth auth = (IAuth) Naming.lookup(baseUrl);
return auth.login(userName, password); return auth.login(userName, password);
} }

View file

@ -36,7 +36,6 @@ public class SendWords extends SwingWorker<Void,Void> {
buffer.flip(); buffer.flip();
App.clientUDP.send(buffer, App.clientUDPSocketAddress); App.clientUDP.send(buffer, App.clientUDPSocketAddress);
System.out.println("SENDED" + sentence);
} catch (UnknownHostException e) { } catch (UnknownHostException e) {
App.logger.write("SEND WORDS: Host address not correct"); App.logger.write("SEND WORDS: Host address not correct");
} catch (IOException e) { } catch (IOException e) {

View file

@ -35,8 +35,6 @@ public class WaitForPlayers extends SwingWorker<Void,Void> {
while (App.clientTCP.read(buffer) != -1) { while (App.clientTCP.read(buffer) != -1) {
String line = new String(buffer.array(), buffer.position(), buffer.remaining()); String line = new String(buffer.array(), buffer.position(), buffer.remaining());
buffer.clear(); buffer.clear();
System.out.println("ASPETTO GAM_STARTED");
System.out.println(line);
if (line.startsWith("MESSAGE")) { if (line.startsWith("MESSAGE")) {
buffer.clear(); buffer.clear();

View file

@ -59,7 +59,7 @@ public class Server {
private void startMessageService(){ private void startMessageService(){
//Starting the Message service based on TCP //Starting the Message service based on TCP
new Thread(new MessageService(Config.GameServerPort)).start(); new Thread(new MessageService()).start();
} }
private void startWordsReceiverService(){ private void startWordsReceiverService(){

View file

@ -10,8 +10,6 @@ import java.util.*;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import static com.texttwist.server.services.MessageService.activeMatches;
/** /**
* Author: Lorenzo Iovino on 23/06/2017. * Author: Lorenzo Iovino on 23/06/2017.
@ -32,6 +30,9 @@ public class Match {
//Players score: A list of pair where elements are <playerName, score>. //Players score: A list of pair where elements are <playerName, score>.
public final List<Pair<String,Integer>> playersScore = Collections.synchronizedList(new ArrayList<>()); public final List<Pair<String,Integer>> playersScore = Collections.synchronizedList(new ArrayList<>());
//Players score: A list of active matches.
public static List<Match> activeMatches = Collections.synchronizedList(new ArrayList<>());
/****SINGLE INSTANCE OF MATCH****/ /****SINGLE INSTANCE OF MATCH****/
//If match is started //If match is started
@ -50,7 +51,7 @@ public class Match {
//Letters of the match //Letters of the match
public DefaultListModel<String> letters; public DefaultListModel<String> letters;
protected ExecutorService matchTimeoutThread = Executors.newSingleThreadExecutor(); private ExecutorService matchTimeoutThread = Executors.newSingleThreadExecutor();
public Match(String matchCreator, DefaultListModel<String> players){ public Match(String matchCreator, DefaultListModel<String> players){
for (int i =0; i < players.size(); i++){ for (int i =0; i < players.size(); i++){
@ -61,7 +62,6 @@ public class Match {
this.multicastId = this.generateMulticastId(); this.multicastId = this.generateMulticastId();
this.matchCreator = matchCreator; this.matchCreator = matchCreator;
} }
public static Match findMatch(List<Match> matches, String matchName){ public static Match findMatch(List<Match> matches, String matchName){
@ -73,12 +73,6 @@ public class Match {
return null; return null;
} }
public void printAll(){
for (Pair<String, Integer> aPlayersScore : playersScore) {
System.out.println(aPlayersScore.getKey() + " : " + aPlayersScore.getValue());
}
}
public static int findMatchIndex(List<Match> matches, String matchName){ public static int findMatchIndex(List<Match> matches, String matchName){
for (int i = 0; i < matches.size(); i++) { for (int i = 0; i < matches.size(); i++) {
if (matches.get(i).matchCreator.equals(matchName)) { if (matches.get(i).matchCreator.equals(matchName)) {

View file

@ -1,4 +1,4 @@
package com.texttwist.server.servers; package com.texttwist.server.proxies;
import com.texttwist.server.services.SessionsService; import com.texttwist.server.services.SessionsService;
import com.texttwist.server.models.Match; import com.texttwist.server.models.Match;
@ -10,25 +10,22 @@ import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel; import java.nio.channels.SocketChannel;
import java.util.concurrent.*; import java.util.concurrent.*;
import static com.texttwist.server.services.MessageService.activeMatches;
/** /**
* Author: Lorenzo Iovino on 18/06/2017. * Author: Lorenzo Iovino on 18/06/2017.
* Description: Proxy Dispatcher * Description: Proxy Dispatcher
* */ * */
public class ProxyDispatcher implements Callable<Boolean> { public class MessageDispatcher implements Callable<Boolean> {
protected final ExecutorService threadPool = Executors.newCachedThreadPool(); private final ExecutorService threadPool = Executors.newCachedThreadPool();
private final Message request; private final Message request;
private final SocketChannel socketChannel; private final SocketChannel socketChannel;
private ByteBuffer bufferMessage; private ByteBuffer bufferMessage;
boolean matchNotAvailable =false; private boolean matchNotAvailable = false;
public MessageDispatcher(Message request, SocketChannel socketChannel, ByteBuffer bufferMessage) {
public ProxyDispatcher(Message request, SocketChannel socketChannel, ByteBuffer bufferMessage) {
this.request = request; this.request = request;
this.socketChannel = socketChannel; this.socketChannel = socketChannel;
this.bufferMessage = bufferMessage; this.bufferMessage = bufferMessage;
} }
@Override @Override
@ -47,12 +44,10 @@ public class ProxyDispatcher implements Callable<Boolean> {
Boolean invitationSended = sendInvitations.get(); Boolean invitationSended = sendInvitations.get();
if (invitationSended) { if (invitationSended) {
//Crea nuova partita e attendi i giocatori //Create new match and wait users joins
request.data.addElement(request.sender); request.data.addElement(request.sender);
final Match match = new Match(request.sender, request.data); final Match match = new Match(request.sender, request.data);
match.printAll(); Match.activeMatches.add(match);
activeMatches.add(match);
DefaultListModel<String> matchName = new DefaultListModel<>(); DefaultListModel<String> matchName = new DefaultListModel<>();
matchName.addElement(request.sender); matchName.addElement(request.sender);
@ -62,28 +57,24 @@ public class ProxyDispatcher implements Callable<Boolean> {
if(!joinMatchRes){ if(!joinMatchRes){
bufferMessage = ByteBuffer.allocate(1024); bufferMessage = ByteBuffer.allocate(1024);
//NON FARE NULLA, ASPETTA GLI ALTRI
Message message = new Message("INVITES_ALL_SENDED", "", "", new DefaultListModel<>()); Message message = new Message("INVITES_ALL_SENDED", "", "", new DefaultListModel<>());
byteMessage = message.toString().getBytes(); byteMessage = message.toString().getBytes();
bufferMessage = ByteBuffer.wrap(byteMessage); bufferMessage = ByteBuffer.wrap(byteMessage);
socketChannel.write(bufferMessage); socketChannel.write(bufferMessage);
} }
Future<Boolean> joinTimeout = threadPool.submit(new JoinTimeout(match)); Future<Boolean> joinTimeout = threadPool.submit(new JoinTimeout(match));
Boolean joinTimeoutRes = joinTimeout.get(); Boolean joinTimeoutRes = joinTimeout.get();
if(joinTimeoutRes){ if(joinTimeoutRes){
Future<Boolean> sendMessageJoinTimeout = threadPool.submit( Future<Boolean> sendMessageJoinTimeout = threadPool.submit(
new SendMessageToAllPlayers(match, new Message("JOIN_TIMEOUT", "", "", new DefaultListModel<>()), socketChannel)); new SendMessageToAllPlayers(match,
new Message("JOIN_TIMEOUT", "", "", new DefaultListModel<>()), socketChannel));
Boolean sendMessageJoinTimeoutRes = sendMessageJoinTimeout.get(); Boolean sendMessageJoinTimeoutRes = sendMessageJoinTimeout.get();
if(!sendMessageJoinTimeoutRes){ if(!sendMessageJoinTimeoutRes){
activeMatches.remove(Match.findMatchIndex(activeMatches, match.matchCreator)); Match.activeMatches.remove(Match.findMatchIndex(Match.activeMatches, match.matchCreator));
return sendMessageJoinTimeoutRes; return sendMessageJoinTimeoutRes;
} }
} else { } else {
System.out.println("TIMEOUT FINITO SENZA EFFETTI");
return true; return true;
} }
@ -124,7 +115,6 @@ public class ProxyDispatcher implements Callable<Boolean> {
bufferMessage = ByteBuffer.wrap(byteMessage); bufferMessage = ByteBuffer.wrap(byteMessage);
try { try {
String s = new String(bufferMessage.array(), bufferMessage.position(), bufferMessage.remaining());
socketChannel.write(bufferMessage); socketChannel.write(bufferMessage);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
@ -139,7 +129,7 @@ public class ProxyDispatcher implements Callable<Boolean> {
case "JOIN_GAME": case "JOIN_GAME":
Future<Boolean> joinMatch = threadPool.submit(new JoinMatch(request.sender, request.data, socketChannel)); Future<Boolean> joinMatch = threadPool.submit(new JoinMatch(request.sender, request.data, socketChannel));
try { try {
Match match = Match.findMatch(activeMatches, request.data.get(0));; Match match = Match.findMatch(Match.activeMatches, request.data.get(0));;
Boolean joinMatchRes = joinMatch.get(); Boolean joinMatchRes = joinMatch.get();
if(joinMatchRes){ if(joinMatchRes){
@ -153,23 +143,17 @@ public class ProxyDispatcher implements Callable<Boolean> {
if (socketClient != null) { if (socketClient != null) {
bufferMessage.clear(); bufferMessage.clear();
bufferMessage = ByteBuffer.allocate(1024); bufferMessage = ByteBuffer.allocate(1024);
Message message = new Message("GAME_STARTED", "", "", match.letters); Message message = new Message("GAME_STARTED", "", "", match.letters);
match.startGame(); match.startGame();
System.out.println("TIMEOUT CANCELLEd");
byteMessage = message.toString().getBytes(); byteMessage = message.toString().getBytes();
bufferMessage = ByteBuffer.wrap(byteMessage); bufferMessage = ByteBuffer.wrap(byteMessage);
try { try {
String s = new String(bufferMessage.array(), bufferMessage.position(), bufferMessage.remaining()); String s = new String(bufferMessage.array(), bufferMessage.position(), bufferMessage.remaining());
System.out.println("INVIO GAME_STARTED "+ s);
socketClient.write(bufferMessage); socketClient.write(bufferMessage);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
} }
if (matchNotAvailable) { if (matchNotAvailable) {
return false; return false;
@ -180,7 +164,6 @@ public class ProxyDispatcher implements Callable<Boolean> {
bufferMessage = ByteBuffer.allocate(1024); bufferMessage = ByteBuffer.allocate(1024);
if (socketChannel != null) { if (socketChannel != null) {
bufferMessage = ByteBuffer.allocate(1024); bufferMessage = ByteBuffer.allocate(1024);
Message msg = new Message("MATCH_NOT_AVAILABLE", "", null, new DefaultListModel<>()); Message msg = new Message("MATCH_NOT_AVAILABLE", "", null, new DefaultListModel<>());
bufferMessage.clear(); bufferMessage.clear();
byteMessage = msg.toString().getBytes(); byteMessage = msg.toString().getBytes();
@ -188,7 +171,6 @@ public class ProxyDispatcher implements Callable<Boolean> {
socketChannel.write(bufferMessage); socketChannel.write(bufferMessage);
matchNotAvailable = true; matchNotAvailable = true;
} }
} }
} }
} catch (InterruptedException e) { } catch (InterruptedException e) {
@ -198,17 +180,13 @@ public class ProxyDispatcher implements Callable<Boolean> {
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
default: default:
break; break;
} }
} else { } else {
threadPool.submit(new TokenInvalid(request.sender, socketChannel, bufferMessage)); threadPool.submit(new TokenInvalid(request.sender, socketChannel, bufferMessage));
return false; return false;
} }
return false; return false;
} }
} }

View file

@ -16,10 +16,6 @@ import static com.texttwist.server.Server.jedisPool;
*/ */
public class JedisService { public class JedisService {
public JedisService(){
}
/** Read the object from Base64 string. */ /** Read the object from Base64 string. */
public static Object fromString(String s) throws IOException, ClassNotFoundException { public static Object fromString(String s) throws IOException, ClassNotFoundException {
byte [] data = Base64.getDecoder().decode(s); byte [] data = Base64.getDecoder().decode(s);
@ -57,11 +53,8 @@ public class JedisService {
Jedis jedis = null; Jedis jedis = null;
List<Serializable> l = new ArrayList<>(); List<Serializable> l = new ArrayList<>();
try { try {
System.out.println("USER ss");
jedis = jedisPool.getResource(); jedis = jedisPool.getResource();
String usersString = jedis.get(key); String usersString = jedis.get(key);
System.out.println("USER "+usersString);
if(usersString!=null) { if(usersString!=null) {
String[] lines = usersString.split("\n"); String[] lines = usersString.split("\n");
for (int i = 0; i < lines.length; i++) { for (int i = 0; i < lines.length; i++) {

View file

@ -1,76 +1,53 @@
package com.texttwist.server.services; package com.texttwist.server.services;
import com.texttwist.server.Server; import com.texttwist.server.Server;
import com.texttwist.server.servers.ProxyDispatcher; import com.texttwist.server.proxies.MessageDispatcher;
import com.texttwist.server.models.Dictionary; import com.texttwist.server.models.Dictionary;
import com.texttwist.server.models.Match;
import constants.Config; import constants.Config;
import models.Message; import models.Message;
import java.net.*; import java.net.*;
import java.io.IOException; import java.io.IOException;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.channels.*; import java.nio.channels.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
import java.util.List;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import static java.nio.channels.SelectionKey.OP_ACCEPT; import static java.nio.channels.SelectionKey.OP_ACCEPT;
import static java.nio.channels.SelectionKey.OP_READ; import static java.nio.channels.SelectionKey.OP_READ;
/** /**
* Author: Lorenzo Iovino on 17/06/2017. * Author: Lorenzo Iovino on 17/06/2017.
* Description: Game Server * Description: Message Service
*/ */
public class MessageService implements Runnable{ public class MessageService implements Runnable{
private int serverPort;
private ProxyDispatcher proxy;
private ReceiveWordsService wordsReceiver;
private DatagramChannel datagramChannel;
private Selector selector = null; private Selector selector = null;
private ExecutorService threadPool = Executors.newCachedThreadPool(); private ExecutorService dispatcherPool = 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 bufferMessages = ByteBuffer.allocate(1024);
public static List<Match> activeMatches = Collections.synchronizedList(new ArrayList<>());
public static Integer multicastId = 4000; public static Integer multicastId = 4000;
public MessageService(int port){ public MessageService()
this.serverPort = port; {
}
public void run(){
dict = new Dictionary(dictionaryPath); dict = new Dictionary(dictionaryPath);
try { try {
selector = Selector.open(); selector = Selector.open();
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open(); ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
serverSocketChannel.configureBlocking(false); serverSocketChannel.configureBlocking(false);
serverSocketChannel.socket().bind(new InetSocketAddress(serverPort)); serverSocketChannel.socket().bind(new InetSocketAddress(Config.GameServerPort));
serverSocketChannel.register(selector, OP_ACCEPT); serverSocketChannel.register(selector, OP_ACCEPT);
Server.logger.write("GameService Service is running at "+Config.GameServerPort+" port...");
Server.logger.write("GameService Service is running at "+this.serverPort+" port...");
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
}
public void run(){
while (true) { while (true) {
System.out.println("WAITING FOR MSG");
try { try {
selector.select(); selector.select();
} catch (IOException e) { } catch (IOException e) {
@ -79,9 +56,9 @@ public class MessageService implements Runnable{
Iterator<SelectionKey> iter = selector.selectedKeys().iterator(); Iterator<SelectionKey> iter = selector.selectedKeys().iterator();
while (iter.hasNext()) { while (iter.hasNext()) {
bufferMessages = ByteBuffer.allocate(1024); ByteBuffer bufferMessages = ByteBuffer.allocate(1024);
bufferMessages.clear(); bufferMessages.clear();
client = null; SocketChannel client = null;
SelectionKey key = iter.next(); SelectionKey key = iter.next();
iter.remove(); iter.remove();
@ -99,10 +76,9 @@ public class MessageService implements Runnable{
bufferMessages.flip(); bufferMessages.flip();
String line = new String(bufferMessages.array(), bufferMessages.position(), bufferMessages.remaining()); String line = new String(bufferMessages.array(), bufferMessages.position(), bufferMessages.remaining());
if (line.startsWith("MESSAGE")) { if (line.startsWith("MESSAGE")) {
SessionsService.getInstance().printAll();
Message msg = Message.toMessage(line); Message msg = Message.toMessage(line);
proxy = new ProxyDispatcher(msg, client, bufferMessages); MessageDispatcher proxy = new MessageDispatcher(msg, client, bufferMessages);
threadPool.submit(proxy); dispatcherPool.submit(proxy);
} }
if (line.startsWith("CLOSE")) { if (line.startsWith("CLOSE")) {

View file

@ -25,32 +25,21 @@ public class NotificationService implements INotificationServer {
public synchronized void registerForCallback(INotificationClient clientInterface) throws RemoteException { public synchronized void registerForCallback(INotificationClient clientInterface) throws RemoteException {
if(!clients.contains(clientInterface)){ if(!clients.contains(clientInterface)){
clients.add(clientInterface); clients.add(clientInterface);
System.out.println(clientInterface);
System.out.println("New client registered");
} }
} }
public synchronized void unregisterForCallback(INotificationClient client) throws RemoteException { public synchronized void unregisterForCallback(INotificationClient client) throws RemoteException {
if (clients.remove(client)) { clients.remove(client);
System.out.println("Client unregistered");
} else {
System.out.println("Unable to unregister client");
}
} }
public synchronized void sendInvitations(String username, DefaultListModel<String> users){ public synchronized void sendInvitations(String username, DefaultListModel<String> users){
Iterator i = clients.iterator(); Iterator i = clients.iterator();
INotificationClient client = null; INotificationClient client = null;
System.out.println("Starting callbacks");
while (i.hasNext()) { while (i.hasNext()) {
client = (INotificationClient) i.next(); client = (INotificationClient) i.next();
try { try {
System.out.println("SENDING INVITE TO "+users);
client.sendInvite(username, users); client.sendInvite(username, users);
} catch (RemoteException e) { } catch (RemoteException e) {
System.out.println("Sembra down");
try { try {
unregisterForCallback(client); unregisterForCallback(client);
} catch (RemoteException e1) { } catch (RemoteException e1) {

View file

@ -40,12 +40,6 @@ public class SessionsService {
return sessions.add(new Session(new User(userName,"",0), token)); return sessions.add(new Session(new User(userName,"",0), token));
} }
public void printAll(){
for (Session elem : sessions) {
System.out.println(elem.account.userName + " | " + elem.token);
}
}
public boolean remove(String userName){ public boolean remove(String userName){
if(exists(userName)) { if(exists(userName)) {
Session s = getSession(userName); Session s = getSession(userName);

View file

@ -14,10 +14,10 @@ import java.util.concurrent.Callable;
*/ */
public class ComputeScore implements Callable<Integer> { public class ComputeScore implements Callable<Integer> {
public DefaultListModel<String> words; private DefaultListModel<String> words;
public final String sender; private final String sender;
public Match match; public Match match;
public DefaultListModel<String> wordsValid; private DefaultListModel<String> wordsValid;
public ComputeScore(String sender, DefaultListModel<String> words, Match match){ public ComputeScore(String sender, DefaultListModel<String> words, Match match){
this.words = words; this.words = words;
@ -33,31 +33,18 @@ public class ComputeScore implements Callable<Integer> {
for (int i = 0; i < words.size(); i++) { for (int i = 0; i < words.size(); i++) {
if (isValid(words.get(i), match.letters)) { if (isValid(words.get(i), match.letters)) {
score += words.get(i).length(); score += words.get(i).length();
System.out.println(words.get(i) + " is valid!" + " : " + score );
wordsValid.addElement(words.get(i)); wordsValid.addElement(words.get(i));
} }
} }
System.out.println(sender +" totalize SCORE = " + score);
match.setScore(sender, score); match.setScore(sender, score);
for (Pair<String, Integer> player : match.playersScore) {
System.out.println(player.getValue());
}
System.out.println(score);
User u = AccountsService.getInstance().findUser(sender); User u = AccountsService.getInstance().findUser(sender);
u.addScore(score); u.addScore(score);
if(match.allPlayersSendedHisScore()) { if(match.allPlayersSendedHisScore()) {
match.matchTimeout = false; match.matchTimeout = false;
System.out.println("MATCH TIMEOUT CANCELLATO");
match.setUndefinedScorePlayersToZero(); match.setUndefinedScorePlayersToZero();
new SendScores(match).call(); new SendScores(match).call();
} }
return score; return score;
} }
@ -74,7 +61,6 @@ public class ComputeScore implements Callable<Integer> {
if(word.equals("")){ if(word.equals("")){
return true; return true;
} }
if(!isCharacterPresent || wordsValid.indexOf(word)!=-1){ if(!isCharacterPresent || wordsValid.indexOf(word)!=-1){
return false; return false;
} }

View file

@ -5,7 +5,6 @@ import javafx.util.Pair;
import javax.swing.*; import javax.swing.*;
import java.nio.channels.SocketChannel; import java.nio.channels.SocketChannel;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import static com.texttwist.server.services.MessageService.activeMatches;
/** /**
* Author: Lorenzo Iovino on 23/06/2017. * Author: Lorenzo Iovino on 23/06/2017.
@ -24,7 +23,7 @@ public class JoinMatch implements Callable<Boolean> {
@Override @Override
public Boolean call() throws Exception { public Boolean call() throws Exception {
final Match thisMatch = Match.findMatch(activeMatches, this.matchName); final Match thisMatch = Match.findMatch(Match.activeMatches, this.matchName);
if (thisMatch != null) { if (thisMatch != null) {
for (int j = 0; j < thisMatch.playersStatus.size(); j++) { for (int j = 0; j < thisMatch.playersStatus.size(); j++) {
String name = thisMatch.playersStatus.get(j).getKey(); String name = thisMatch.playersStatus.get(j).getKey();
@ -40,25 +39,12 @@ public class JoinMatch implements Callable<Boolean> {
return false; return false;
} }
private void printAll(Match match){
for (int i = 0; i < match.playersStatus.size(); i++) {
System.out.println(match.playersStatus.get(i).getKey());
System.out.println(match.playersStatus.get(i).getValue());
System.out.println(match.playersSocket.get(i).getKey());
System.out.println(match.playersSocket.get(i).getValue());
}
}
private Boolean allJoined(Match match) { private Boolean allJoined(Match match) {
for (int i = 0; i < match.playersStatus.size(); i++) { for (int i = 0; i < match.playersStatus.size(); i++) {
if (match.playersStatus.get(i).getValue() == 0) { if (match.playersStatus.get(i).getValue() == 0) {
return false; return false;
} }
} }
match.printAll();
match.joinTimeout = false; match.joinTimeout = false;
return true; return true;
} }

View file

@ -21,12 +21,9 @@ public class SendInvitations implements Callable<Boolean> {
@Override @Override
public Boolean call() throws Exception { public Boolean call() throws Exception {
try { try {
System.out.println("INVIA INVITO A" + users);
Server.notificationServer.sendInvitations(sender, users); Server.notificationServer.sendInvitations(sender, users);
} catch (Exception e) { } catch (Exception e) {
System.out.println("Eccezione" + e);
e.printStackTrace(); e.printStackTrace();
} }

View file

@ -10,8 +10,6 @@ import java.net.InetAddress;
import java.net.MulticastSocket; import java.net.MulticastSocket;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import static com.texttwist.server.services.MessageService.activeMatches;
/** /**
* Created by loke on 13/07/2017. * Created by loke on 13/07/2017.
*/ */
@ -27,9 +25,7 @@ public class SendScores implements Callable<Void> {
public Void call() throws Exception { public Void call() throws Exception {
while (true) { while (true) {
System.out.println("SENDING");
Message msg = new Message("FINALSCORE", "SERVER", "", match.getMatchPlayersScoreAsStringList()); Message msg = new Message("FINALSCORE", "SERVER", "", match.getMatchPlayersScoreAsStringList());
MulticastSocket multicastSocket = null; MulticastSocket multicastSocket = null;
try { try {
multicastSocket = new MulticastSocket(match.multicastId); multicastSocket = new MulticastSocket(match.multicastId);
@ -39,7 +35,7 @@ public class SendScores implements Callable<Void> {
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
activeMatches.remove(Match.findMatchIndex(activeMatches, match.matchCreator)); Match.activeMatches.remove(Match.findMatchIndex(Match.activeMatches, match.matchCreator));
return null; return null;
} }
} }

View file

@ -1761,3 +1761,126 @@ LOGGER (Server): Thu Jul 13 23:29:53 CEST 2017 - Invoked login with username=a A
LOGGER (Server): Thu Jul 13 23:29:53 CEST 2017 - Login successfull LOGGER (Server): Thu Jul 13 23:29:53 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:29:57 CEST 2017 - Invoked login with username=b AND password=b LOGGER (Server): Thu Jul 13 23:29:57 CEST 2017 - Invoked login with username=b AND password=b
LOGGER (Server): Thu Jul 13 23:29:57 CEST 2017 - Login successfull LOGGER (Server): Thu Jul 13 23:29:57 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:32:24 CEST 2017 - Services starting ...
LOGGER (Server): Thu Jul 13 23:32:25 CEST 2017 - AuthService Service running at 9999 port...
LOGGER (Server): Thu Jul 13 23:32:25 CEST 2017 - GameService Service is running at 10000 port...
LOGGER (Server): Thu Jul 13 23:32:25 CEST 2017 - Services started correctly ...
LOGGER (Server): Thu Jul 13 23:32:37 CEST 2017 - Invoked login with username=a AND password=a
LOGGER (Server): Thu Jul 13 23:32:37 CEST 2017 - Login unsuccessfull
LOGGER (Server): Thu Jul 13 23:32:40 CEST 2017 - Invoked register with username=a AND password=a
LOGGER (Server): Thu Jul 13 23:32:40 CEST 2017 - Registration successfull
LOGGER (Server): Thu Jul 13 23:32:42 CEST 2017 - Invoked login with username=a AND password=a
LOGGER (Server): Thu Jul 13 23:32:42 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:32:49 CEST 2017 - Invoked register with username=b AND password=b
LOGGER (Server): Thu Jul 13 23:32:49 CEST 2017 - Registration successfull
LOGGER (Server): Thu Jul 13 23:32:51 CEST 2017 - Invoked login with username=b AND password=b
LOGGER (Server): Thu Jul 13 23:32:51 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:32:59 CEST 2017 - Invoked register with username=c AND password=c
LOGGER (Server): Thu Jul 13 23:32:59 CEST 2017 - Registration successfull
LOGGER (Server): Thu Jul 13 23:33:01 CEST 2017 - Invoked login with username=c AND password=c
LOGGER (Server): Thu Jul 13 23:33:01 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:33:05 CEST 2017 - Invoked register with username=d AND password=d
LOGGER (Server): Thu Jul 13 23:33:05 CEST 2017 - Registration successfull
LOGGER (Server): Thu Jul 13 23:33:07 CEST 2017 - Invoked login with username=d AND password=d
LOGGER (Server): Thu Jul 13 23:33:07 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:36:00 CEST 2017 - Invoked register with username=e AND password=e
LOGGER (Server): Thu Jul 13 23:36:00 CEST 2017 - Registration successfull
LOGGER (Server): Thu Jul 13 23:36:01 CEST 2017 - Invoked login with username=e AND password=e
LOGGER (Server): Thu Jul 13 23:36:01 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:36:06 CEST 2017 - Invoked register with username=f AND password=f
LOGGER (Server): Thu Jul 13 23:36:06 CEST 2017 - Registration successfull
LOGGER (Server): Thu Jul 13 23:36:07 CEST 2017 - Invoked login with username=f AND password=f
LOGGER (Server): Thu Jul 13 23:36:07 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:36:55 CEST 2017 - Invoked logout with username=e AND token=4fhehlcg3dhur4c4fm32gjeglm
LOGGER (Server): Thu Jul 13 23:36:55 CEST 2017 - Logout successfull
LOGGER (Server): Thu Jul 13 23:36:55 CEST 2017 - Logout successfull (but something gone wrong)
LOGGER (Server): Thu Jul 13 23:36:57 CEST 2017 - Invoked login with username=e AND password=dd
LOGGER (Server): Thu Jul 13 23:36:57 CEST 2017 - Login unsuccessfull
LOGGER (Server): Thu Jul 13 23:37:00 CEST 2017 - Invoked login with username=e AND password=e
LOGGER (Server): Thu Jul 13 23:37:00 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:37:09 CEST 2017 - Invoked logout with username=e AND token=o8eehhsq8og3ct9b6g5lo9k3v9
LOGGER (Server): Thu Jul 13 23:37:09 CEST 2017 - Logout successfull
LOGGER (Server): Thu Jul 13 23:37:09 CEST 2017 - Logout successfull (but something gone wrong)
LOGGER (Server): Thu Jul 13 23:37:13 CEST 2017 - Invoked login with username=e AND password=fdf
LOGGER (Server): Thu Jul 13 23:37:13 CEST 2017 - Login unsuccessfull
LOGGER (Server): Thu Jul 13 23:37:20 CEST 2017 - Invoked login with username=e AND password=dd
LOGGER (Server): Thu Jul 13 23:37:20 CEST 2017 - Login unsuccessfull
LOGGER (Server): Thu Jul 13 23:37:22 CEST 2017 - Invoked login with username=e AND password=e
LOGGER (Server): Thu Jul 13 23:37:22 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:37:30 CEST 2017 - Invoked logout with username=e AND token=rjtq0cis3fqhdb2c5pipui8nmd
LOGGER (Server): Thu Jul 13 23:37:30 CEST 2017 - Logout successfull
LOGGER (Server): Thu Jul 13 23:37:30 CEST 2017 - Logout successfull (but something gone wrong)
LOGGER (Server): Thu Jul 13 23:37:33 CEST 2017 - Invoked login with username=e AND password=e
LOGGER (Server): Thu Jul 13 23:37:33 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:40:08 CEST 2017 - Services starting ...
LOGGER (Server): Thu Jul 13 23:40:08 CEST 2017 - AuthService Service running at 9999 port...
LOGGER (Server): Thu Jul 13 23:40:09 CEST 2017 - Services started correctly ...
LOGGER (Server): Thu Jul 13 23:40:09 CEST 2017 - GameService Service is running at 10000 port...
LOGGER (Server): Thu Jul 13 23:40:14 CEST 2017 - Invoked login with username=a AND password=a
LOGGER (Server): Thu Jul 13 23:40:14 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:40:19 CEST 2017 - Invoked login with username=b AND password=b
LOGGER (Server): Thu Jul 13 23:40:19 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:40:37 CEST 2017 - Invoked logout with username=b AND token=68b5nnp61fsopvg2s1826kismv
LOGGER (Server): Thu Jul 13 23:40:37 CEST 2017 - Logout successfull
LOGGER (Server): Thu Jul 13 23:40:37 CEST 2017 - Logout successfull (but something gone wrong)
LOGGER (Server): Thu Jul 13 23:40:39 CEST 2017 - Invoked login with username=b AND password=fd
LOGGER (Server): Thu Jul 13 23:40:39 CEST 2017 - Login unsuccessfull
LOGGER (Server): Thu Jul 13 23:40:41 CEST 2017 - Invoked login with username=b AND password=b
LOGGER (Server): Thu Jul 13 23:40:41 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:41:17 CEST 2017 - Services starting ...
LOGGER (Server): Thu Jul 13 23:41:17 CEST 2017 - AuthService Service running at 9999 port...
LOGGER (Server): Thu Jul 13 23:41:17 CEST 2017 - GameService Service is running at 10000 port...
LOGGER (Server): Thu Jul 13 23:41:17 CEST 2017 - Services started correctly ...
LOGGER (Server): Thu Jul 13 23:41:24 CEST 2017 - Invoked login with username=a AND password=a
LOGGER (Server): Thu Jul 13 23:41:24 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:41:27 CEST 2017 - Invoked login with username=b AND password=b
LOGGER (Server): Thu Jul 13 23:41:27 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:41:45 CEST 2017 - Invoked logout with username=b AND token=vs8ti17hhbdjfsg48elebpa3ld
LOGGER (Server): Thu Jul 13 23:41:45 CEST 2017 - Logout successfull
LOGGER (Server): Thu Jul 13 23:41:45 CEST 2017 - Logout successfull (but something gone wrong)
LOGGER (Server): Thu Jul 13 23:41:47 CEST 2017 - Invoked login with username=b AND password=ds
LOGGER (Server): Thu Jul 13 23:41:47 CEST 2017 - Login unsuccessfull
LOGGER (Server): Thu Jul 13 23:41:49 CEST 2017 - Invoked login with username=b AND password=b
LOGGER (Server): Thu Jul 13 23:41:49 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:43:16 CEST 2017 - Services starting ...
LOGGER (Server): Thu Jul 13 23:43:16 CEST 2017 - AuthService Service running at 9999 port...
LOGGER (Server): Thu Jul 13 23:43:16 CEST 2017 - Services started correctly ...
LOGGER (Server): Thu Jul 13 23:43:16 CEST 2017 - GameService Service is running at 10000 port...
LOGGER (Server): Thu Jul 13 23:43:20 CEST 2017 - Invoked login with username=a AND password=a
LOGGER (Server): Thu Jul 13 23:43:20 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:44:11 CEST 2017 - Invoked login with username=a AND password=a
LOGGER (Server): Thu Jul 13 23:44:11 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:44:22 CEST 2017 - Services starting ...
LOGGER (Server): Thu Jul 13 23:44:22 CEST 2017 - AuthService Service running at 9999 port...
LOGGER (Server): Thu Jul 13 23:44:22 CEST 2017 - Services started correctly ...
LOGGER (Server): Thu Jul 13 23:44:22 CEST 2017 - GameService Service is running at 10000 port...
LOGGER (Server): Thu Jul 13 23:44:29 CEST 2017 - Invoked login with username=a AND password=a
LOGGER (Server): Thu Jul 13 23:44:29 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:44:33 CEST 2017 - Invoked login with username=b AND password=b
LOGGER (Server): Thu Jul 13 23:44:33 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:59:14 CEST 2017 - Services starting ...
LOGGER (Server): Thu Jul 13 23:59:14 CEST 2017 - AuthService Service running at 9999 port...
LOGGER (Server): Thu Jul 13 23:59:14 CEST 2017 - GameService Service is running at 10000 port...
LOGGER (Server): Thu Jul 13 23:59:14 CEST 2017 - Services started correctly ...
LOGGER (Server): Thu Jul 13 23:59:20 CEST 2017 - Invoked login with username=a AND password=aa
LOGGER (Server): Thu Jul 13 23:59:20 CEST 2017 - Login unsuccessfull
LOGGER (Server): Thu Jul 13 23:59:21 CEST 2017 - Invoked login with username=a AND password=a
LOGGER (Server): Thu Jul 13 23:59:21 CEST 2017 - Login successfull
LOGGER (Server): Thu Jul 13 23:59:26 CEST 2017 - Invoked login with username=b AND password=b
LOGGER (Server): Thu Jul 13 23:59:26 CEST 2017 - Login successfull
LOGGER (Server): Fri Jul 14 00:00:11 CEST 2017 - Invoked login with username=c AND password=c
LOGGER (Server): Fri Jul 14 00:00:11 CEST 2017 - Login successfull
LOGGER (Server): Fri Jul 14 00:00:17 CEST 2017 - Invoked login with username=d AND password=d
LOGGER (Server): Fri Jul 14 00:00:17 CEST 2017 - Login successfull
LOGGER (Server): Fri Jul 14 00:04:50 CEST 2017 - Services starting ...
LOGGER (Server): Fri Jul 14 00:04:50 CEST 2017 - AuthService Service running at 9999 port...
LOGGER (Server): Fri Jul 14 00:04:50 CEST 2017 - GameService Service is running at 10000 port...
LOGGER (Server): Fri Jul 14 00:04:50 CEST 2017 - Services started correctly ...
LOGGER (Server): Fri Jul 14 00:04:57 CEST 2017 - Invoked login with username=a AND password=a
LOGGER (Server): Fri Jul 14 00:04:57 CEST 2017 - Login successfull
LOGGER (Server): Fri Jul 14 00:05:00 CEST 2017 - Invoked login with username=b AND password=b
LOGGER (Server): Fri Jul 14 00:05:00 CEST 2017 - Login successfull
LOGGER (Server): Fri Jul 14 00:05:27 CEST 2017 - Invoked login with username=c AND password=c
LOGGER (Server): Fri Jul 14 00:05:27 CEST 2017 - Login successfull
LOGGER (Server): Fri Jul 14 00:05:31 CEST 2017 - Invoked login with username=d AND password=d
LOGGER (Server): Fri Jul 14 00:05:31 CEST 2017 - Login successfull