up
This commit is contained in:
parent
429eb1cb02
commit
5512f1a358
52 changed files with 5537 additions and 1557 deletions
1237
.idea/workspace.xml
generated
1237
.idea/workspace.xml
generated
File diff suppressed because it is too large
Load diff
1912
.idea/workspace.xml___jb_old___
generated
Normal file
1912
.idea/workspace.xml___jb_old___
generated
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,13 +1,13 @@
|
||||||
package com.texttwist.client;
|
package com.texttwist.client;
|
||||||
|
|
||||||
import com.texttwist.client.services.AuthService;
|
import com.texttwist.client.services.AuthService;
|
||||||
import com.texttwist.client.pages.Home;
|
import com.texttwist.client.pages.HomePage;
|
||||||
import com.texttwist.client.services.MatchModel;
|
import com.texttwist.client.models.Game;
|
||||||
import com.texttwist.client.services.SessionService;
|
|
||||||
import com.texttwist.client.services.NotificationClient;
|
import com.texttwist.client.services.NotificationClient;
|
||||||
import constants.Config;
|
import constants.Config;
|
||||||
import interfaces.INotificationClient;
|
import interfaces.INotificationClient;
|
||||||
import interfaces.INotificationServer;
|
import interfaces.INotificationServer;
|
||||||
|
import models.Session;
|
||||||
import utilities.Logger;
|
import utilities.Logger;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
@ -26,8 +26,8 @@ import java.rmi.server.UnicastRemoteObject;
|
||||||
public class App extends JFrame {
|
public class App extends JFrame {
|
||||||
|
|
||||||
public static AuthService authService;
|
public static AuthService authService;
|
||||||
public static SessionService sessionService;
|
public static Session session;
|
||||||
public static MatchModel match;
|
public static Game game;
|
||||||
public static JFrame app;
|
public static JFrame app;
|
||||||
|
|
||||||
public App() throws IOException {
|
public App() throws IOException {
|
||||||
|
|
@ -58,12 +58,15 @@ public class App extends JFrame {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Init models
|
||||||
|
game = new Game();
|
||||||
|
|
||||||
//Init services
|
//Init services
|
||||||
authService = new AuthService();
|
authService = new AuthService();
|
||||||
sessionService = new SessionService();
|
|
||||||
match = new MatchModel();
|
|
||||||
app = this;
|
app = this;
|
||||||
Home home = new Home(this);
|
|
||||||
|
HomePage home = new HomePage(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Point getWindowsPosition(){
|
public static Point getWindowsPosition(){
|
||||||
|
|
|
||||||
|
|
@ -1,33 +1,29 @@
|
||||||
package com.texttwist.client.controllers;
|
package com.texttwist.client.controllers;
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.App;
|
||||||
import com.texttwist.client.pages.Game;
|
import com.texttwist.client.pages.GamePage;
|
||||||
import com.texttwist.client.tasks.SendWords;
|
import com.texttwist.client.tasks.SendWords;
|
||||||
import com.texttwist.client.tasks.StartGame;
|
import com.texttwist.client.tasks.StartGame;
|
||||||
import com.texttwist.client.tasks.WaitForPlayers;
|
import com.texttwist.client.tasks.WaitForPlayers;
|
||||||
import com.texttwist.client.tasks.WaitForScore;
|
import com.texttwist.client.tasks.WaitForScore;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Game Controller
|
* GamePage Controller
|
||||||
*/
|
*/
|
||||||
public class GameController {
|
public class GameController {
|
||||||
|
|
||||||
private Game game;
|
private GamePage game;
|
||||||
private Timer timer;
|
|
||||||
|
|
||||||
public GameController(Game game){
|
public GameController(GamePage game){
|
||||||
this.game = game;
|
this.game = game;
|
||||||
this.timer = game.timer;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public DefaultListModel<String> getLetters(){
|
public DefaultListModel<String> getLetters(){
|
||||||
return App.match.letters;
|
return App.game.letters;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DefaultListModel<String> getWords() {
|
public DefaultListModel<String> getWords() {
|
||||||
return App.match.words;
|
return App.game.words;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SwingWorker waitForPlayers(SwingWorker callback) {
|
public SwingWorker waitForPlayers(SwingWorker callback) {
|
||||||
|
|
@ -39,10 +35,10 @@ public class GameController {
|
||||||
}
|
}
|
||||||
|
|
||||||
public SwingWorker sendWords(SwingWorker callback){
|
public SwingWorker sendWords(SwingWorker callback){
|
||||||
return new SendWords(App.match.words, waitForScore(callback));
|
return new SendWords(App.game.words, waitForScore(callback));
|
||||||
}
|
}
|
||||||
|
|
||||||
public SwingWorker startGame() {
|
public SwingWorker startGame() {
|
||||||
return new StartGame(App.match.letters, game);
|
return new StartGame(App.game.letters, game);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,28 @@
|
||||||
package com.texttwist.client.controllers;
|
package com.texttwist.client.controllers;
|
||||||
import com.texttwist.client.services.HighscoresService;
|
import com.texttwist.client.App;
|
||||||
|
import com.texttwist.client.pages.HighscoresPage;
|
||||||
|
import com.texttwist.client.tasks.FetchHighscore;
|
||||||
|
import javafx.util.Pair;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by loke on 28/06/2017.
|
* Highscores Controller
|
||||||
*/
|
*/
|
||||||
public class HighscoresController {
|
public class HighscoresController {
|
||||||
|
|
||||||
HighscoresService highscoresService = new HighscoresService();
|
private HighscoresPage highscoresPage;
|
||||||
|
|
||||||
public HighscoresController(){
|
|
||||||
|
|
||||||
|
public HighscoresController(HighscoresPage highscoresPage){
|
||||||
|
this.highscoresPage = highscoresPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SwingWorker fetchHighscores () {
|
||||||
public void fetchHighscores(JFrame window){
|
return new FetchHighscore(highscoresPage);
|
||||||
highscoresService.fetchHighscores(new Callable<String>() {
|
|
||||||
@Override
|
|
||||||
public String call() throws Exception {
|
|
||||||
window.revalidate();
|
|
||||||
window.repaint();
|
|
||||||
System.out.println("ASDDD");
|
|
||||||
return "";
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
public DefaultListModel<Pair<String,Integer>> getRanks(Boolean isPartialRank) {
|
||||||
|
return isPartialRank ? App.game.ranks : App.game.globalRanks;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.texttwist.client.controllers;
|
package com.texttwist.client.controllers;
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.App;
|
||||||
import models.Response;
|
import models.Response;
|
||||||
|
import models.Session;
|
||||||
|
import models.User;
|
||||||
|
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.rmi.NotBoundException;
|
import java.rmi.NotBoundException;
|
||||||
|
|
@ -11,13 +13,11 @@ import java.rmi.RemoteException;
|
||||||
*/
|
*/
|
||||||
public class HomeController {
|
public class HomeController {
|
||||||
|
|
||||||
public 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 = App.authService.login(userName,password);
|
Response res = App.authService.login(userName,password);
|
||||||
|
System.out.println(res.data);
|
||||||
if (res.code == 200){
|
if (res.code == 200){
|
||||||
App.sessionService.create(userName, res.data.get("token").toString());
|
App.session = (new Session(new User(userName,password,0), res.data.get("token").toString()));
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,18 @@
|
||||||
package com.texttwist.client.controllers;
|
package com.texttwist.client.controllers;
|
||||||
|
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.App;
|
||||||
import models.Response;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.MalformedURLException;
|
|
||||||
import java.rmi.NotBoundException;
|
|
||||||
import java.rmi.RemoteException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by loke on 18/06/2017.
|
* Created by loke on 18/06/2017.
|
||||||
*/
|
*/
|
||||||
public class MatchSetupController {
|
public class MatchSetupController {
|
||||||
|
|
||||||
public MatchSetupController(){}
|
|
||||||
public Object play(DefaultListModel<String> userNames) {
|
public Object play(DefaultListModel<String> userNames) {
|
||||||
try {
|
try {
|
||||||
return App.match.play(userNames);
|
return App.game.play(userNames);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,13 +12,10 @@ import java.rmi.RemoteException;
|
||||||
*/
|
*/
|
||||||
public class MenuController {
|
public class MenuController {
|
||||||
|
|
||||||
public MenuController(){
|
|
||||||
}
|
|
||||||
|
|
||||||
public Response logout(String userName) throws RemoteException, NotBoundException, MalformedURLException {
|
public Response logout(String userName) throws RemoteException, NotBoundException, MalformedURLException {
|
||||||
Response res = App.authService.logout(userName);
|
Response res = App.authService.logout(userName);
|
||||||
if (res.code == 200){
|
if (res.code == 200){
|
||||||
App.sessionService.remove();
|
App.session = null;
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,6 @@ import java.rmi.RemoteException;
|
||||||
*/
|
*/
|
||||||
public class RegisterController {
|
public class RegisterController {
|
||||||
|
|
||||||
public RegisterController(){
|
|
||||||
}
|
|
||||||
|
|
||||||
public Response register(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException {
|
public Response register(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException {
|
||||||
return App.authService.register(userName,password);
|
return App.authService.register(userName,password);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,10 @@
|
||||||
package com.texttwist.client.services;
|
package com.texttwist.client.models;
|
||||||
|
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.App;
|
||||||
import com.texttwist.client.pages.Game;
|
import com.texttwist.client.pages.GamePage;
|
||||||
import com.texttwist.client.pages.Menu;
|
import com.texttwist.client.pages.MenuPage;
|
||||||
import com.texttwist.client.pages.Page;
|
import com.texttwist.client.pages.Page;
|
||||||
import com.texttwist.client.tasks.InvitePlayers;
|
import com.texttwist.client.tasks.InvitePlayers;
|
||||||
import com.texttwist.client.tasks.WaitForPlayers;
|
|
||||||
import com.texttwist.client.ui.TTDialog;
|
import com.texttwist.client.ui.TTDialog;
|
||||||
import constants.Config;
|
import constants.Config;
|
||||||
import javafx.util.Pair;
|
import javafx.util.Pair;
|
||||||
|
|
@ -13,7 +12,9 @@ import models.Message;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
import java.net.InetAddress;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
import java.net.MulticastSocket;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.channels.SocketChannel;
|
import java.nio.channels.SocketChannel;
|
||||||
import java.util.concurrent.*;
|
import java.util.concurrent.*;
|
||||||
|
|
@ -21,23 +22,25 @@ import java.util.concurrent.*;
|
||||||
/**
|
/**
|
||||||
* Created by loke on 18/06/2017.
|
* Created by loke on 18/06/2017.
|
||||||
*/
|
*/
|
||||||
public class MatchModel {
|
public class Game {
|
||||||
|
|
||||||
public Integer multicastId = 0 ;
|
public Integer multicastId = 0 ;
|
||||||
public DefaultListModel<String> pendingList = new DefaultListModel<String>();
|
public DefaultListModel<String> pendingList = new DefaultListModel<String>();
|
||||||
ByteBuffer buffer = ByteBuffer.allocate(1024);
|
private ByteBuffer buffer = ByteBuffer.allocate(1024);
|
||||||
public DefaultListModel<String> words = new DefaultListModel<String>();
|
public DefaultListModel<String> words = new DefaultListModel<String>();
|
||||||
public DefaultListModel<String> letters = new DefaultListModel<String>();
|
public DefaultListModel<String> letters = new DefaultListModel<String>();
|
||||||
public DefaultListModel<Pair<String,Integer>> ranks = new DefaultListModel<>();
|
public DefaultListModel<Pair<String,Integer>> ranks = new DefaultListModel<>();
|
||||||
public DefaultListModel<Pair<String,Integer>> globalRanks = new DefaultListModel<>();
|
public DefaultListModel<Pair<String,Integer>> globalRanks = new DefaultListModel<>();
|
||||||
|
public MulticastSocket multicastSocket;
|
||||||
|
|
||||||
public SocketChannel clientSocket = null;
|
public SocketChannel clientSocket = null;
|
||||||
|
|
||||||
public MatchModel(){
|
public Game(){
|
||||||
InetSocketAddress socketAddress = new InetSocketAddress(Config.GameServerURI, Config.GameServerPort);
|
InetSocketAddress socketAddress = new InetSocketAddress(Config.GameServerURI, Config.GameServerPort);
|
||||||
try {
|
try {
|
||||||
clientSocket = SocketChannel.open(socketAddress);
|
clientSocket = SocketChannel.open(socketAddress);
|
||||||
clientSocket.configureBlocking(false);
|
clientSocket.configureBlocking(false);
|
||||||
|
System.out.println("Join multicast group");
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
@ -58,14 +61,14 @@ public class MatchModel {
|
||||||
new Callable() {
|
new Callable() {
|
||||||
@Override
|
@Override
|
||||||
public Object call() throws Exception {
|
public Object call() throws Exception {
|
||||||
App.match.joinMatch(userName);
|
App.game.joinMatch(userName);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new Callable() {
|
new Callable() {
|
||||||
@Override
|
@Override
|
||||||
public Object call() throws Exception {
|
public Object call() throws Exception {
|
||||||
return new Menu(Page.window);
|
return new MenuPage(Page.window);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -82,19 +85,19 @@ public class MatchModel {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void joinMatch(String matchName) {
|
public void joinMatch(String matchName) {
|
||||||
//Svuota la lista dei match pendenti e joina il match selezionato
|
//Svuota la lista dei game pendenti e joina il game selezionato
|
||||||
this.pendingList.clear();
|
this.pendingList.clear();
|
||||||
try {
|
try {
|
||||||
//Invia tcp req a server per dirgli che sto joinando
|
//Invia tcp req a server per dirgli che sto joinando
|
||||||
DefaultListModel<String> matchNames = new DefaultListModel<String>();
|
DefaultListModel<String> matchNames = new DefaultListModel<String>();
|
||||||
matchNames.addElement(matchName);
|
matchNames.addElement(matchName);
|
||||||
Message message = new Message("JOIN_GAME", App.sessionService.account.userName, App.sessionService.account.token, matchNames);
|
Message message = new Message("JOIN_GAME", App.session.account.userName, App.session.token, matchNames);
|
||||||
|
|
||||||
byte[] byteMessage = new String(message.toString()).getBytes();
|
byte[] byteMessage = new String(message.toString()).getBytes();
|
||||||
buffer = ByteBuffer.wrap(byteMessage);
|
buffer = ByteBuffer.wrap(byteMessage);
|
||||||
clientSocket.write(buffer);
|
clientSocket.write(buffer);
|
||||||
|
|
||||||
new Game(Page.window);
|
new GamePage(Page.window);
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
@ -9,22 +9,22 @@ import java.io.IOException;
|
||||||
import java.util.concurrent.*;
|
import java.util.concurrent.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Game Page
|
* GamePage Page
|
||||||
*/
|
*/
|
||||||
public class Game extends Page {
|
public class GamePage extends Page {
|
||||||
|
|
||||||
private TTContainer gameContainer;
|
private TTContainer gameContainer;
|
||||||
private TTGameBox gameBox;
|
private TTGameBox gameBox;
|
||||||
private GameController gameController;
|
private GameController gameController;
|
||||||
public Timer timer;
|
public Timer timer;
|
||||||
|
|
||||||
/*Spawnig points, fixed and not modifiable*/
|
/*Spawnig points fixed and not modifiable*/
|
||||||
private final DefaultListModel<Point> letterSpawningPoints = setLetterSpawningPoint();
|
private final DefaultListModel<Point> letterSpawningPoints = setLetterSpawningPoint();
|
||||||
|
|
||||||
/*Available spawning points*/
|
/*Available spawning points*/
|
||||||
private DefaultListModel<Point> availableLetterSpawningPoint = new DefaultListModel<>();
|
private DefaultListModel<Point> availableLetterSpawningPoint = new DefaultListModel<>();
|
||||||
|
|
||||||
public Game(JFrame window) throws IOException {
|
public GamePage(JFrame window) throws IOException {
|
||||||
|
|
||||||
super(window);
|
super(window);
|
||||||
gameController = new GameController(this);
|
gameController = new GameController(this);
|
||||||
|
|
@ -52,10 +52,11 @@ public class Game extends Page {
|
||||||
return gameController.sendWords(new SwingWorker() {
|
return gameController.sendWords(new SwingWorker() {
|
||||||
@Override
|
@Override
|
||||||
protected Object doInBackground() throws Exception {
|
protected Object doInBackground() throws Exception {
|
||||||
new Highscores(window,true);
|
new HighscoresPage(window,true);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private DefaultListModel<Point> setLetterSpawningPoint(){
|
private DefaultListModel<Point> setLetterSpawningPoint(){
|
||||||
|
|
@ -127,8 +128,6 @@ public class Game extends Page {
|
||||||
timer = addTimer(
|
timer = addTimer(
|
||||||
footer,
|
footer,
|
||||||
new Font(Palette.inputBox_font.getFontName(), Font.BOLD, 40),
|
new Font(Palette.inputBox_font.getFontName(), Font.BOLD, 40),
|
||||||
null,
|
|
||||||
"00:00",
|
|
||||||
timeIsOver(),
|
timeIsOver(),
|
||||||
Config.timeoutGame
|
Config.timeoutGame
|
||||||
);
|
);
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
package com.texttwist.client.pages;
|
|
||||||
|
|
||||||
import com.texttwist.client.App;
|
|
||||||
import com.texttwist.client.controllers.HighscoresController;
|
|
||||||
import constants.Palette;
|
|
||||||
import com.texttwist.client.ui.*;
|
|
||||||
import javafx.util.Pair;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by loke on 14/06/2017.
|
|
||||||
*/
|
|
||||||
public class Highscores extends Page{
|
|
||||||
|
|
||||||
public TTContainer highscoreContainer;
|
|
||||||
public Boolean isPartialScore;
|
|
||||||
public HighscoresController highscoreController;
|
|
||||||
public DefaultListModel<Pair<String, Integer>> ranks = new DefaultListModel<>();
|
|
||||||
|
|
||||||
public Highscores(JFrame window, Boolean isPartialScore) throws IOException {
|
|
||||||
super(window);
|
|
||||||
this.isPartialScore = isPartialScore;
|
|
||||||
|
|
||||||
highscoreController = new HighscoresController();
|
|
||||||
System.out.println("SHSHSHSHs");
|
|
||||||
System.out.println(App.match.ranks);
|
|
||||||
System.out.println(App.match.globalRanks);
|
|
||||||
|
|
||||||
System.out.println(ranks);
|
|
||||||
System.out.println("SHSHSHSssssssHs");
|
|
||||||
|
|
||||||
if(this.isPartialScore){
|
|
||||||
this.ranks = App.match.ranks;
|
|
||||||
} else {
|
|
||||||
this.highscoreController.fetchHighscores(window);
|
|
||||||
this.ranks = App.match.globalRanks;
|
|
||||||
}
|
|
||||||
createUIComponents();
|
|
||||||
|
|
||||||
window.setVisible(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createUIComponents() throws IOException {
|
|
||||||
addLogo(root);
|
|
||||||
highscoreContainer = new TTContainer(
|
|
||||||
null,
|
|
||||||
new Dimension(1150,220),
|
|
||||||
Palette.root_backgroundColor,
|
|
||||||
-1,
|
|
||||||
root);
|
|
||||||
|
|
||||||
TTLabel title = new TTLabel(
|
|
||||||
new Point(200,0),
|
|
||||||
new Dimension(350,50),
|
|
||||||
this.isPartialScore ? "Scores of the match" : "Highscores",
|
|
||||||
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 38),
|
|
||||||
null,
|
|
||||||
highscoreContainer);
|
|
||||||
|
|
||||||
TTScrollList highscoreList = new TTScrollList(
|
|
||||||
new Point(20, 60),
|
|
||||||
new Dimension(515, 142),
|
|
||||||
this.ranks,
|
|
||||||
highscoreContainer);
|
|
||||||
addFooter(root);
|
|
||||||
|
|
||||||
addBack(footer,
|
|
||||||
new Callable<Object>() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
return new Menu(Page.window);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
75
Client/src/com/texttwist/client/pages/HighscoresPage.java
Normal file
75
Client/src/com/texttwist/client/pages/HighscoresPage.java
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
package com.texttwist.client.pages;
|
||||||
|
|
||||||
|
import com.texttwist.client.controllers.HighscoresController;
|
||||||
|
import constants.Palette;
|
||||||
|
import com.texttwist.client.ui.*;
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.concurrent.Callable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Highscores Page
|
||||||
|
*/
|
||||||
|
public class HighscoresPage extends Page{
|
||||||
|
|
||||||
|
private TTContainer highscoreContainer;
|
||||||
|
private Boolean isPartialScore;
|
||||||
|
private TTScrollList highscoreList;
|
||||||
|
public JFrame window;
|
||||||
|
private HighscoresController highscoreController;
|
||||||
|
|
||||||
|
public HighscoresPage(JFrame window, Boolean isPartialScore) throws IOException {
|
||||||
|
super(window);
|
||||||
|
this.window = window;
|
||||||
|
this.isPartialScore = isPartialScore;
|
||||||
|
highscoreController = new HighscoresController(this);
|
||||||
|
highscoreController.fetchHighscores().execute();
|
||||||
|
createUIComponents();
|
||||||
|
window.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void showHighscoreList(){
|
||||||
|
highscoreList = new TTScrollList(
|
||||||
|
new Point(20, 60),
|
||||||
|
new Dimension(515, 142),
|
||||||
|
highscoreController.getRanks(isPartialScore),
|
||||||
|
highscoreContainer
|
||||||
|
);
|
||||||
|
window.revalidate();
|
||||||
|
window.repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void createUIComponents() throws IOException {
|
||||||
|
addLogo(root);
|
||||||
|
|
||||||
|
highscoreContainer = new TTContainer(
|
||||||
|
null,
|
||||||
|
new Dimension(1150,220),
|
||||||
|
Palette.root_backgroundColor,
|
||||||
|
-1,
|
||||||
|
root
|
||||||
|
);
|
||||||
|
|
||||||
|
TTLabel title = new TTLabel(
|
||||||
|
this.isPartialScore ? new Point(150,0) : new Point(200,0),
|
||||||
|
new Dimension(350,50),
|
||||||
|
this.isPartialScore ? "Scores of the match" : "Highscores",
|
||||||
|
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 38),
|
||||||
|
null,
|
||||||
|
highscoreContainer
|
||||||
|
);
|
||||||
|
|
||||||
|
addFooter(root);
|
||||||
|
|
||||||
|
addBack(footer,
|
||||||
|
new Callable<Object>() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
return new MenuPage(Page.window);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,94 +0,0 @@
|
||||||
package com.texttwist.client.pages;
|
|
||||||
import com.texttwist.client.controllers.HomeController;
|
|
||||||
import constants.Palette;
|
|
||||||
import com.texttwist.client.ui.*;
|
|
||||||
import com.texttwist.client.ui.TTDialog;
|
|
||||||
import models.Response;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
|
|
||||||
public class Home extends Page {
|
|
||||||
|
|
||||||
private TTContainer loginDataContainer;
|
|
||||||
private HomeController homeController;
|
|
||||||
private TTContainer logoContainer;
|
|
||||||
|
|
||||||
public Home(JFrame window) {
|
|
||||||
super(window);
|
|
||||||
homeController = new HomeController();
|
|
||||||
createUIComponents();
|
|
||||||
window.setVisible(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createUIComponents(){
|
|
||||||
addLogo(root);
|
|
||||||
loginDataContainer = new TTContainer(
|
|
||||||
null,
|
|
||||||
new Dimension(1150,250),
|
|
||||||
Palette.root_backgroundColor,
|
|
||||||
-1,
|
|
||||||
root);
|
|
||||||
|
|
||||||
TTInputField usernameField = new TTInputField(
|
|
||||||
new Point(50,60),
|
|
||||||
new Dimension(220,50),
|
|
||||||
"Username",
|
|
||||||
loginDataContainer);
|
|
||||||
|
|
||||||
TTPasswordField passwordField = new TTPasswordField(
|
|
||||||
new Point(280,60),
|
|
||||||
new Dimension(220,50),
|
|
||||||
loginDataContainer);
|
|
||||||
|
|
||||||
TTButton loginBtn = new TTButton(
|
|
||||||
new Point(50,120),
|
|
||||||
new Dimension(450,50),
|
|
||||||
"Go!",
|
|
||||||
new Callable<Object>() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
//TODO CHIAMA API PER LOGIN E SE TUTTO OKEY MANDA A PAGINA DEL MENU
|
|
||||||
Response res = homeController.login(usernameField.getText(), String.valueOf(passwordField.getPassword()));
|
|
||||||
if (res.code == 200){
|
|
||||||
//OK, go to next page and show popup
|
|
||||||
return new Menu(window);
|
|
||||||
} else {
|
|
||||||
return new TTDialog("alert", res.message,
|
|
||||||
new Callable() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
return new Home(window);
|
|
||||||
}
|
|
||||||
},null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
loginDataContainer);
|
|
||||||
|
|
||||||
TTLabel registerText = new TTLabel(
|
|
||||||
new Point(70,200),
|
|
||||||
new Dimension(350,50),
|
|
||||||
"Don't have an account?",
|
|
||||||
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 24),
|
|
||||||
null,
|
|
||||||
loginDataContainer);
|
|
||||||
|
|
||||||
TTLabelBtn registerField = new TTLabelBtn(
|
|
||||||
new Point(360, 200),
|
|
||||||
new Dimension(210, 50),
|
|
||||||
"Register!",
|
|
||||||
new Font(Palette.inputBox_font.getFontName(), Font.BOLD, 34),
|
|
||||||
null,
|
|
||||||
new Callable<Object>() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
return new Register(Page.window);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
loginDataContainer);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
96
Client/src/com/texttwist/client/pages/HomePage.java
Normal file
96
Client/src/com/texttwist/client/pages/HomePage.java
Normal file
|
|
@ -0,0 +1,96 @@
|
||||||
|
package com.texttwist.client.pages;
|
||||||
|
import com.texttwist.client.controllers.HomeController;
|
||||||
|
import constants.Palette;
|
||||||
|
import com.texttwist.client.ui.*;
|
||||||
|
import com.texttwist.client.ui.TTDialog;
|
||||||
|
import models.Response;
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.util.concurrent.Callable;
|
||||||
|
|
||||||
|
public class HomePage extends Page {
|
||||||
|
|
||||||
|
private HomeController homeController;
|
||||||
|
|
||||||
|
public HomePage(JFrame window) {
|
||||||
|
super(window);
|
||||||
|
homeController = new HomeController();
|
||||||
|
|
||||||
|
createUIComponents();
|
||||||
|
window.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void createUIComponents(){
|
||||||
|
addLogo(root);
|
||||||
|
|
||||||
|
TTContainer loginDataContainer = new TTContainer(
|
||||||
|
null,
|
||||||
|
new Dimension(1150,250),
|
||||||
|
Palette.root_backgroundColor,
|
||||||
|
-1,
|
||||||
|
root
|
||||||
|
);
|
||||||
|
|
||||||
|
TTInputField usernameField = new TTInputField(
|
||||||
|
new Point(50,60),
|
||||||
|
new Dimension(220,50),
|
||||||
|
"Username",
|
||||||
|
loginDataContainer
|
||||||
|
);
|
||||||
|
|
||||||
|
TTPasswordField passwordField = new TTPasswordField(
|
||||||
|
new Point(280,60),
|
||||||
|
new Dimension(220,50),
|
||||||
|
loginDataContainer
|
||||||
|
);
|
||||||
|
|
||||||
|
new TTButton(
|
||||||
|
new Point(50,120),
|
||||||
|
new Dimension(450,50),
|
||||||
|
"Go!",
|
||||||
|
new Callable<Object>() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
Response res = homeController.login(usernameField.getText(), String.valueOf(passwordField.getPassword()));
|
||||||
|
if (res.code == 200){
|
||||||
|
return new MenuPage(window);
|
||||||
|
} else {
|
||||||
|
return new TTDialog("alert", res.message,
|
||||||
|
new Callable() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
return new HomePage(window);
|
||||||
|
}
|
||||||
|
},null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
loginDataContainer
|
||||||
|
);
|
||||||
|
|
||||||
|
new TTLabel(
|
||||||
|
new Point(70,200),
|
||||||
|
new Dimension(350,50),
|
||||||
|
"Don't have an account?",
|
||||||
|
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 24),
|
||||||
|
null,
|
||||||
|
loginDataContainer
|
||||||
|
);
|
||||||
|
|
||||||
|
new TTLabelBtn(
|
||||||
|
new Point(360, 200),
|
||||||
|
new Dimension(210, 50),
|
||||||
|
"RegisterPage!",
|
||||||
|
new Font(Palette.inputBox_font.getFontName(), Font.BOLD, 34),
|
||||||
|
null,
|
||||||
|
new Callable<Object>() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
return new RegisterPage(Page.window);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
loginDataContainer
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,6 @@ package com.texttwist.client.pages;
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.App;
|
||||||
import constants.Palette;
|
import constants.Palette;
|
||||||
import com.texttwist.client.ui.*;
|
import com.texttwist.client.ui.*;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
|
|
@ -12,12 +11,12 @@ import java.io.IOException;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by loke on 14/06/2017.
|
* MatchRequest Page
|
||||||
*/
|
*/
|
||||||
public class MatchRequests extends Page{
|
public class MatchRequestsPage extends Page{
|
||||||
|
|
||||||
public TTContainer matchsContainer;
|
public TTContainer matchsContainer;
|
||||||
MatchRequests(JFrame window) throws IOException {
|
MatchRequestsPage(JFrame window) throws IOException {
|
||||||
super(window);
|
super(window);
|
||||||
createUIComponents();
|
createUIComponents();
|
||||||
window.setVisible(true);
|
window.setVisible(true);
|
||||||
|
|
@ -32,21 +31,24 @@ public class MatchRequests extends Page{
|
||||||
new Dimension(1150,220),
|
new Dimension(1150,220),
|
||||||
Palette.root_backgroundColor,
|
Palette.root_backgroundColor,
|
||||||
-1,
|
-1,
|
||||||
root);
|
root
|
||||||
|
);
|
||||||
|
|
||||||
TTLabel title = new TTLabel(
|
new TTLabel(
|
||||||
new Point(150,0),
|
new Point(150,0),
|
||||||
new Dimension(350,50),
|
new Dimension(350,50),
|
||||||
"Pending matches",
|
"Pending matches",
|
||||||
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 38),
|
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 38),
|
||||||
null,
|
null,
|
||||||
matchsContainer);
|
matchsContainer
|
||||||
|
);
|
||||||
|
|
||||||
TTScrollList pendingMatches = new TTScrollList(
|
TTScrollList pendingMatches = new TTScrollList(
|
||||||
new Point(20, 60),
|
new Point(20, 60),
|
||||||
new Dimension(520, 142),
|
new Dimension(520, 142),
|
||||||
App.match.pendingList,
|
App.game.pendingList,
|
||||||
matchsContainer);
|
matchsContainer
|
||||||
|
);
|
||||||
|
|
||||||
pendingMatches.addMouseListener(new MouseAdapter() {
|
pendingMatches.addMouseListener(new MouseAdapter() {
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -56,19 +58,20 @@ public class MatchRequests extends Page{
|
||||||
if (evt.getClickCount() == 2) {
|
if (evt.getClickCount() == 2) {
|
||||||
// Double-click detected
|
// Double-click detected
|
||||||
int index = thisList.locationToIndex(evt.getPoint());
|
int index = thisList.locationToIndex(evt.getPoint());
|
||||||
App.match.joinMatch(App.match.pendingList.get(index));
|
App.game.joinMatch(App.game.pendingList.get(index));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
addFooter(root);
|
addFooter(root);
|
||||||
|
|
||||||
addBack(footer,
|
addBack(footer,
|
||||||
new Callable<Object>() {
|
new Callable<Object>() {
|
||||||
@Override
|
@Override
|
||||||
public Object call() throws Exception {
|
public Object call() throws Exception {
|
||||||
return new Menu(Page.window);
|
return new MenuPage(Page.window);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,73 +0,0 @@
|
||||||
package com.texttwist.client.pages;
|
|
||||||
|
|
||||||
import com.texttwist.client.controllers.MatchSetupController;
|
|
||||||
import constants.Palette;
|
|
||||||
import com.texttwist.client.ui.*;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by loke on 14/06/2017.
|
|
||||||
*/
|
|
||||||
public class MatchSetup extends Page{
|
|
||||||
|
|
||||||
public TTContainer matchSetupContainer;
|
|
||||||
public MatchSetupController matchSetupController;
|
|
||||||
|
|
||||||
MatchSetup(JFrame window) throws Exception {
|
|
||||||
super(window);
|
|
||||||
matchSetupController = new MatchSetupController();
|
|
||||||
createUIComponents();
|
|
||||||
window.setVisible(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createUIComponents() throws Exception {
|
|
||||||
addLogo(root);
|
|
||||||
|
|
||||||
matchSetupContainer = new TTContainer(
|
|
||||||
null,
|
|
||||||
new Dimension(1150,220),
|
|
||||||
Palette.root_backgroundColor,
|
|
||||||
-1,
|
|
||||||
root);
|
|
||||||
|
|
||||||
TTLabel title = new TTLabel(
|
|
||||||
new Point(170,0),
|
|
||||||
new Dimension(350,50),
|
|
||||||
"Invite players",
|
|
||||||
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 38),
|
|
||||||
null,
|
|
||||||
matchSetupContainer);
|
|
||||||
|
|
||||||
TTSearchBar searchUserBar = new TTSearchBar(
|
|
||||||
new Point(20, 80),
|
|
||||||
new Dimension(250, 40),
|
|
||||||
"Username",
|
|
||||||
matchSetupContainer);
|
|
||||||
|
|
||||||
addFooter(root);
|
|
||||||
addNext(footer,
|
|
||||||
new Font(Palette.inputBox_font.getFontName(), Font.BOLD, 40),
|
|
||||||
null,
|
|
||||||
"Play!",
|
|
||||||
new Callable<Object>() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
//If server response ok, start play, else error
|
|
||||||
return matchSetupController.play(searchUserBar.list);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
addBack(footer,
|
|
||||||
new Callable<Object>() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
return new Menu(Page.window);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
75
Client/src/com/texttwist/client/pages/MatchSetupPage.java
Normal file
75
Client/src/com/texttwist/client/pages/MatchSetupPage.java
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
package com.texttwist.client.pages;
|
||||||
|
|
||||||
|
import com.texttwist.client.controllers.MatchSetupController;
|
||||||
|
import constants.Palette;
|
||||||
|
import com.texttwist.client.ui.*;
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.util.concurrent.Callable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MatchSetup Page
|
||||||
|
*/
|
||||||
|
public class MatchSetupPage extends Page{
|
||||||
|
|
||||||
|
private MatchSetupController matchSetupController;
|
||||||
|
|
||||||
|
MatchSetupPage(JFrame window) throws Exception {
|
||||||
|
super(window);
|
||||||
|
matchSetupController = new MatchSetupController();
|
||||||
|
createUIComponents();
|
||||||
|
window.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void createUIComponents() throws Exception {
|
||||||
|
addLogo(root);
|
||||||
|
|
||||||
|
TTContainer matchSetupContainer = new TTContainer(
|
||||||
|
null,
|
||||||
|
new Dimension(1150,220),
|
||||||
|
Palette.root_backgroundColor,
|
||||||
|
-1,
|
||||||
|
root
|
||||||
|
);
|
||||||
|
|
||||||
|
new TTLabel(
|
||||||
|
new Point(170,0),
|
||||||
|
new Dimension(350,50),
|
||||||
|
"Invite players",
|
||||||
|
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 38),
|
||||||
|
null,
|
||||||
|
matchSetupContainer
|
||||||
|
);
|
||||||
|
|
||||||
|
TTSearchBar searchUserBar = new TTSearchBar(
|
||||||
|
new Point(20, 80),
|
||||||
|
new Dimension(250, 40),
|
||||||
|
"Username",
|
||||||
|
matchSetupContainer
|
||||||
|
);
|
||||||
|
|
||||||
|
addFooter(root);
|
||||||
|
|
||||||
|
addNext(
|
||||||
|
footer,
|
||||||
|
"Play!",
|
||||||
|
new Callable<Object>() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
//If server response ok, start play, else error
|
||||||
|
return matchSetupController.play(searchUserBar.list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
addBack(footer,
|
||||||
|
new Callable<Object>() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
return new MenuPage(Page.window);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,103 +0,0 @@
|
||||||
package com.texttwist.client.pages;
|
|
||||||
import com.texttwist.client.App;
|
|
||||||
import com.texttwist.client.controllers.MenuController;
|
|
||||||
import constants.Palette;
|
|
||||||
import com.texttwist.client.ui.*;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by loke on 14/06/2017.
|
|
||||||
*/
|
|
||||||
public class Menu extends Page{
|
|
||||||
|
|
||||||
private TTContainer menuBar;
|
|
||||||
private MenuController menuController;
|
|
||||||
|
|
||||||
public Menu(JFrame window) throws IOException {
|
|
||||||
super(window);
|
|
||||||
createUIComponents();
|
|
||||||
menuController = new MenuController();
|
|
||||||
window.setVisible(true);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createUIComponents() throws IOException {
|
|
||||||
addLogo(root);
|
|
||||||
|
|
||||||
menuBar = new TTContainer(
|
|
||||||
null,
|
|
||||||
new Dimension(1150,280),
|
|
||||||
Palette.root_backgroundColor,
|
|
||||||
-1,
|
|
||||||
root);
|
|
||||||
|
|
||||||
TTLabel playerToSendInvite_flavourText = new TTLabel(
|
|
||||||
new Point(25,15),
|
|
||||||
new Dimension(350,20),
|
|
||||||
"Welcome back, " + App.sessionService.account.userName + "!",
|
|
||||||
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 24),
|
|
||||||
null,
|
|
||||||
menuBar);
|
|
||||||
|
|
||||||
TTButton newMatch = new TTButton(
|
|
||||||
new Point(25,70),
|
|
||||||
new Dimension(250,75),
|
|
||||||
"New Match!",
|
|
||||||
new Callable<Object>() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
//TODO CHIAMA API PER REGISTRAZIONE E SE TUTTO OKEY MANDA A PAGINA LOGIN
|
|
||||||
return new MatchSetup(window);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
menuBar);
|
|
||||||
TTButton matchRequests = new TTButton(
|
|
||||||
new Point(290,70),
|
|
||||||
new Dimension(250,75),
|
|
||||||
"In pending",
|
|
||||||
new Callable<Object>() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
//TODO CHIAMA API PER REGISTRAZIONE E SE TUTTO OKEY MANDA A PAGINA LOGIN
|
|
||||||
return new MatchRequests(window);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
menuBar);
|
|
||||||
TTCircleCounter circleCounter = new TTCircleCounter(
|
|
||||||
new Point(290,70),
|
|
||||||
new Dimension(25,25),
|
|
||||||
menuBar.getGraphics(),
|
|
||||||
menuBar);
|
|
||||||
|
|
||||||
TTButton highscores = new TTButton(
|
|
||||||
new Point(25, 155),
|
|
||||||
new Dimension(250, 75),
|
|
||||||
"Highscores",
|
|
||||||
new Callable<Object>() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
return new Highscores(Page.window, false);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
menuBar);
|
|
||||||
|
|
||||||
TTButton logout = new TTButton(
|
|
||||||
new Point(290, 155),
|
|
||||||
new Dimension(250, 75),
|
|
||||||
"Logout",
|
|
||||||
new Callable<Object>() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
menuController.logout(App.sessionService.account.userName);
|
|
||||||
return new Home(Page.window);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
menuBar);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
111
Client/src/com/texttwist/client/pages/MenuPage.java
Normal file
111
Client/src/com/texttwist/client/pages/MenuPage.java
Normal file
|
|
@ -0,0 +1,111 @@
|
||||||
|
package com.texttwist.client.pages;
|
||||||
|
import com.texttwist.client.App;
|
||||||
|
import com.texttwist.client.controllers.MenuController;
|
||||||
|
import constants.Palette;
|
||||||
|
import com.texttwist.client.ui.*;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.concurrent.Callable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by loke on 14/06/2017.
|
||||||
|
*/
|
||||||
|
public class MenuPage extends Page{
|
||||||
|
|
||||||
|
private TTContainer menuBar;
|
||||||
|
private MenuController menuController;
|
||||||
|
|
||||||
|
public MenuPage(JFrame window) throws IOException {
|
||||||
|
super(window);
|
||||||
|
createUIComponents();
|
||||||
|
menuController = new MenuController();
|
||||||
|
window.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void createUIComponents() throws IOException {
|
||||||
|
addLogo(root);
|
||||||
|
|
||||||
|
menuBar = new TTContainer(
|
||||||
|
null,
|
||||||
|
new Dimension(1150,280),
|
||||||
|
Palette.root_backgroundColor,
|
||||||
|
-1,
|
||||||
|
root
|
||||||
|
);
|
||||||
|
|
||||||
|
TTLabel playerToSendInvite_flavourText = new TTLabel(
|
||||||
|
new Point(25,15),
|
||||||
|
new Dimension(350,20),
|
||||||
|
"Welcome back, " + App.session.account.userName + "!",
|
||||||
|
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 24),
|
||||||
|
null,
|
||||||
|
menuBar
|
||||||
|
);
|
||||||
|
|
||||||
|
TTButton newMatch = new TTButton(
|
||||||
|
new Point(25,70),
|
||||||
|
new Dimension(250,75),
|
||||||
|
"New Game!",
|
||||||
|
new Callable<Object>() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
//TODO CHIAMA API PER REGISTRAZIONE E SE TUTTO OKEY MANDA A PAGINA LOGIN
|
||||||
|
return new MatchSetupPage(window);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
menuBar
|
||||||
|
);
|
||||||
|
|
||||||
|
TTButton matchRequests = new TTButton(
|
||||||
|
new Point(290,70),
|
||||||
|
new Dimension(250,75),
|
||||||
|
"In pending",
|
||||||
|
new Callable<Object>() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
//TODO CHIAMA API PER REGISTRAZIONE E SE TUTTO OKEY MANDA A PAGINA LOGIN
|
||||||
|
return new MatchRequestsPage(window);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
menuBar
|
||||||
|
);
|
||||||
|
|
||||||
|
TTCircleCounter circleCounter = new TTCircleCounter(
|
||||||
|
new Point(290,70),
|
||||||
|
new Dimension(25,25),
|
||||||
|
menuBar.getGraphics(),
|
||||||
|
menuBar
|
||||||
|
);
|
||||||
|
|
||||||
|
TTButton highscores = new TTButton(
|
||||||
|
new Point(25, 155),
|
||||||
|
new Dimension(250, 75),
|
||||||
|
"Highscores",
|
||||||
|
new Callable<Object>() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
return new HighscoresPage(Page.window, false);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
menuBar
|
||||||
|
);
|
||||||
|
|
||||||
|
TTButton logout = new TTButton(
|
||||||
|
new Point(290, 155),
|
||||||
|
new Dimension(250, 75),
|
||||||
|
"Logout",
|
||||||
|
new Callable<Object>() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
menuController.logout(App.session.account.userName);
|
||||||
|
return new HomePage(Page.window);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
menuBar
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,21 +1,16 @@
|
||||||
package com.texttwist.client.pages;
|
package com.texttwist.client.pages;
|
||||||
|
|
||||||
import constants.Palette;
|
import constants.Palette;
|
||||||
import com.texttwist.client.ui.*;
|
import com.texttwist.client.ui.*;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.text.ParseException;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by loke on 13/06/2017.
|
* Base Page
|
||||||
*/
|
*/
|
||||||
public class Page {
|
public class Page {
|
||||||
|
|
||||||
|
|
@ -24,7 +19,7 @@ public class Page {
|
||||||
public static JFrame window;
|
public static JFrame window;
|
||||||
|
|
||||||
public Page(JFrame window){
|
public Page(JFrame window){
|
||||||
this.window = window;
|
Page.window = window;
|
||||||
|
|
||||||
window.getContentPane().removeAll();
|
window.getContentPane().removeAll();
|
||||||
window.repaint();
|
window.repaint();
|
||||||
|
|
@ -82,7 +77,7 @@ public class Page {
|
||||||
root);
|
root);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addNext(TTContainer parent, Font font, Color fontColor, String caption, Callable<Object> clickHandler) {
|
public void addNext(TTContainer parent, String caption, Callable<Object> clickHandler) {
|
||||||
TTLabelBtn next = new TTLabelBtn(
|
TTLabelBtn next = new TTLabelBtn(
|
||||||
new Point(500, 0),
|
new Point(500, 0),
|
||||||
new Dimension(150, 50),
|
new Dimension(150, 50),
|
||||||
|
|
@ -93,16 +88,17 @@ public class Page {
|
||||||
parent);
|
parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Timer addTimer(TTContainer parent, Font font, Color fontColor, String caption, SwingWorker timerEndHandler, Integer value) {
|
public Timer addTimer(TTContainer parent, Font font, SwingWorker timerEndHandler, Integer value) {
|
||||||
TTLabel lblTimer = new TTLabel(
|
TTLabel lblTimer = new TTLabel(
|
||||||
new Point(0, 0),
|
new Point(0, 0),
|
||||||
new Dimension(150, 50),
|
new Dimension(150, 50),
|
||||||
caption,
|
"00:00",
|
||||||
font,
|
font,
|
||||||
fontColor,
|
null,
|
||||||
parent);
|
parent
|
||||||
|
);
|
||||||
|
|
||||||
Timer timer = new Timer(1000, new ActionListener() {
|
return new Timer(1000, new ActionListener() {
|
||||||
private int count = value;
|
private int count = value;
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
|
@ -120,11 +116,8 @@ public class Page {
|
||||||
String str = String.format("%d:%02d", minutes, seconds);
|
String str = String.format("%d:%02d", minutes, seconds);
|
||||||
lblTimer.setText(str);
|
lblTimer.setText(str);
|
||||||
count--;
|
count--;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return timer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,90 +0,0 @@
|
||||||
package com.texttwist.client.pages;
|
|
||||||
|
|
||||||
import com.texttwist.client.controllers.RegisterController;
|
|
||||||
import constants.Palette;
|
|
||||||
import com.texttwist.client.ui.*;
|
|
||||||
import models.Response;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by loke on 13/06/2017.
|
|
||||||
*/
|
|
||||||
public class Register extends Page {
|
|
||||||
|
|
||||||
private TTContainer registerDataContainer;
|
|
||||||
private RegisterController registerController;
|
|
||||||
public Register(JFrame window) {
|
|
||||||
super(window);
|
|
||||||
createUIComponents();
|
|
||||||
registerController = new RegisterController();
|
|
||||||
window.setVisible(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createUIComponents() {
|
|
||||||
addLogo(root);
|
|
||||||
registerDataContainer = new TTContainer(
|
|
||||||
null,
|
|
||||||
new Dimension(1150,220),
|
|
||||||
Palette.root_backgroundColor,
|
|
||||||
-1,
|
|
||||||
root);
|
|
||||||
TTLabel registerText = new TTLabel(
|
|
||||||
new Point(70,35),
|
|
||||||
new Dimension(400,40),
|
|
||||||
"<html><h2>Insert your datas and press Register!</h2></html>",
|
|
||||||
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 12),
|
|
||||||
null,
|
|
||||||
registerDataContainer);
|
|
||||||
TTInputField usernameField = new TTInputField(
|
|
||||||
new Point(70,90),
|
|
||||||
new Dimension(210,50),
|
|
||||||
"Username",
|
|
||||||
registerDataContainer);
|
|
||||||
TTPasswordField passwordField = new TTPasswordField(
|
|
||||||
new Point(290,90),
|
|
||||||
new Dimension(210,50),
|
|
||||||
registerDataContainer);
|
|
||||||
TTButton register = new TTButton(
|
|
||||||
new Point(70,150),
|
|
||||||
new Dimension(430,50),
|
|
||||||
"Register!",
|
|
||||||
new Callable<Object>() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
//TODO CHIAMA API PER LOGIN E SE TUTTO OKEY MANDA A PAGINA DEL MENU
|
|
||||||
Response res = registerController.register(usernameField.getText(), String.valueOf(passwordField.getPassword()));
|
|
||||||
if (res.code == 200){
|
|
||||||
return new TTDialog("success", res.message,
|
|
||||||
new Callable() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
return new Home(window);
|
|
||||||
}
|
|
||||||
},null);
|
|
||||||
} else {
|
|
||||||
return new TTDialog("alert", res.message,
|
|
||||||
new Callable() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
},null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
registerDataContainer);
|
|
||||||
addFooter(root);
|
|
||||||
addBack(footer,
|
|
||||||
new Callable<Object>() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
return new Home(Page.window);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
101
Client/src/com/texttwist/client/pages/RegisterPage.java
Normal file
101
Client/src/com/texttwist/client/pages/RegisterPage.java
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
package com.texttwist.client.pages;
|
||||||
|
|
||||||
|
import com.texttwist.client.controllers.RegisterController;
|
||||||
|
import constants.Palette;
|
||||||
|
import com.texttwist.client.ui.*;
|
||||||
|
import models.Response;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.util.concurrent.Callable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by loke on 13/06/2017.
|
||||||
|
*/
|
||||||
|
public class RegisterPage extends Page {
|
||||||
|
|
||||||
|
private TTContainer registerDataContainer;
|
||||||
|
private RegisterController registerController;
|
||||||
|
public RegisterPage(JFrame window) {
|
||||||
|
super(window);
|
||||||
|
createUIComponents();
|
||||||
|
registerController = new RegisterController();
|
||||||
|
window.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void createUIComponents() {
|
||||||
|
addLogo(root);
|
||||||
|
registerDataContainer = new TTContainer(
|
||||||
|
null,
|
||||||
|
new Dimension(1150,220),
|
||||||
|
Palette.root_backgroundColor,
|
||||||
|
-1,
|
||||||
|
root
|
||||||
|
);
|
||||||
|
TTLabel registerText = new TTLabel(
|
||||||
|
new Point(70,35),
|
||||||
|
new Dimension(400,40),
|
||||||
|
"<html><h2>Insert your datas and press RegisterPage!</h2></html>",
|
||||||
|
new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 12),
|
||||||
|
null,
|
||||||
|
registerDataContainer
|
||||||
|
);
|
||||||
|
|
||||||
|
TTInputField usernameField = new TTInputField(
|
||||||
|
new Point(70,90),
|
||||||
|
new Dimension(210,50),
|
||||||
|
"Username",
|
||||||
|
registerDataContainer
|
||||||
|
);
|
||||||
|
|
||||||
|
TTPasswordField passwordField = new TTPasswordField(
|
||||||
|
new Point(290,90),
|
||||||
|
new Dimension(210,50),
|
||||||
|
registerDataContainer
|
||||||
|
);
|
||||||
|
|
||||||
|
TTButton register = new TTButton(
|
||||||
|
new Point(70,150),
|
||||||
|
new Dimension(430,50),
|
||||||
|
"RegisterPage!",
|
||||||
|
new Callable<Object>() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
//TODO CHIAMA API PER LOGIN E SE TUTTO OKEY MANDA A PAGINA DEL MENU
|
||||||
|
Response res = registerController.register(usernameField.getText(), String.valueOf(passwordField.getPassword()));
|
||||||
|
if (res.code == 200){
|
||||||
|
return new TTDialog("success", res.message,
|
||||||
|
new Callable() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
return new HomePage(window);
|
||||||
|
}
|
||||||
|
},null);
|
||||||
|
} else {
|
||||||
|
return new TTDialog("alert", res.message,
|
||||||
|
new Callable() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
},null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
registerDataContainer
|
||||||
|
);
|
||||||
|
|
||||||
|
addFooter(root);
|
||||||
|
|
||||||
|
addBack(footer,
|
||||||
|
new Callable<Object>() {
|
||||||
|
@Override
|
||||||
|
public Object call() throws Exception {
|
||||||
|
return new HomePage(Page.window);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -27,6 +27,6 @@ public class AuthService {
|
||||||
|
|
||||||
public Response logout(String userName) throws RemoteException, NotBoundException, MalformedURLException {
|
public Response logout(String userName) throws RemoteException, NotBoundException, MalformedURLException {
|
||||||
IAuth auth = (IAuth) Naming.lookup(baseUrl);
|
IAuth auth = (IAuth) Naming.lookup(baseUrl);
|
||||||
return auth.logout(userName, App.sessionService.account.token);
|
return auth.logout(userName, App.session.token);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,10 +35,5 @@ public class HighscoresService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void fetchHighscores(Callable<String> callback){
|
|
||||||
SwingWorker worker = new FetchHighscore(callback, clientSocket);
|
|
||||||
worker.execute();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,11 @@
|
||||||
package com.texttwist.client.services;
|
package com.texttwist.client.services;
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.App;
|
||||||
import com.texttwist.client.pages.Game;
|
|
||||||
import com.texttwist.client.pages.Home;
|
|
||||||
import com.texttwist.client.pages.Menu;
|
|
||||||
import com.texttwist.client.pages.Page;
|
|
||||||
import com.texttwist.client.ui.TTDialog;
|
|
||||||
import interfaces.INotificationClient;
|
import interfaces.INotificationClient;
|
||||||
import models.Response;
|
import models.Response;
|
||||||
import utilities.Logger;
|
import utilities.Logger;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.IOException;
|
|
||||||
import java.rmi.RemoteException;
|
import java.rmi.RemoteException;
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by loke on 15/06/2017.
|
* Created by loke on 15/06/2017.
|
||||||
|
|
@ -27,9 +20,9 @@ public class NotificationClient implements INotificationClient {
|
||||||
public Response sendInvite(String userName, DefaultListModel<String> users) throws RemoteException {
|
public Response sendInvite(String userName, DefaultListModel<String> users) throws RemoteException {
|
||||||
Logger.write("Invoked invitation with username=" + userName + "|" + users.toString() );
|
Logger.write("Invoked invitation with username=" + userName + "|" + users.toString() );
|
||||||
|
|
||||||
if(users.contains(App.sessionService.account.userName)){
|
if(users.contains(App.session.account.userName)){
|
||||||
Logger.write(userName+" ti ha sfidato!");
|
Logger.write(userName+" ti ha sfidato!");
|
||||||
App.match.newMatch(userName);
|
App.game.newMatch(userName);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
package com.texttwist.client.services;
|
|
||||||
|
|
||||||
import models.Session;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by loke on 17/06/2017.
|
|
||||||
*/
|
|
||||||
public class SessionService {
|
|
||||||
|
|
||||||
public Session account;
|
|
||||||
public SessionService(){}
|
|
||||||
|
|
||||||
public void create(String userName, String token) {
|
|
||||||
account = new Session(userName, token);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void remove(){
|
|
||||||
account = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,42 +1,36 @@
|
||||||
package com.texttwist.client.tasks;
|
package com.texttwist.client.tasks;
|
||||||
|
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.App;
|
||||||
import constants.Config;
|
import com.texttwist.client.pages.HighscoresPage;
|
||||||
import javafx.util.Pair;
|
import javafx.util.Pair;
|
||||||
import models.Message;
|
import models.Message;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.DatagramPacket;
|
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.net.MulticastSocket;
|
|
||||||
import java.net.UnknownHostException;
|
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.channels.SocketChannel;
|
import java.nio.channels.SocketChannel;
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by loke on 28/06/2017.
|
* Job: FetchHighscore
|
||||||
*/
|
*/
|
||||||
public class FetchHighscore extends SwingWorker<Void,Void> {
|
public class FetchHighscore extends SwingWorker<Void,Void> {
|
||||||
|
|
||||||
DefaultListModel<Pair<String,Integer>> globalRanks = new DefaultListModel<Pair<String,Integer>>();
|
private DefaultListModel<Pair<String,Integer>> globalRanks = new DefaultListModel<>();
|
||||||
Callable<String> callback;
|
private SocketChannel socketChannel;
|
||||||
SocketChannel socketChannel;
|
private ByteBuffer buffer = ByteBuffer.allocate(1024);
|
||||||
ByteBuffer buffer = ByteBuffer.allocate(1024);
|
HighscoresPage highscoresPage;
|
||||||
|
|
||||||
//TODO PASSARE LA CALLBACK ALLO SWING WORKER ED ESEGUIRLA AL DONE
|
public FetchHighscore(HighscoresPage highscoresPage){
|
||||||
public FetchHighscore(Callable<String> callback, SocketChannel socketChannel){
|
this.socketChannel = App.game.clientSocket;
|
||||||
this.socketChannel = socketChannel;
|
this.highscoresPage = highscoresPage;
|
||||||
this.callback = callback;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Void doInBackground() {
|
public Void doInBackground() {
|
||||||
Message message = new Message("FETCH_HIGHSCORES", App.sessionService.account.userName, App.sessionService.account.token, new DefaultListModel<>());
|
Message message = new Message("FETCH_HIGHSCORES", App.session.account.userName, App.session.token, new DefaultListModel<>());
|
||||||
buffer.flip();
|
buffer = ByteBuffer.allocate(1024);
|
||||||
buffer.clear();
|
System.out.println("SENDDDDD MESSAGE");
|
||||||
byte[] byteMessage = new String(message.toString()).getBytes();
|
byte[] byteMessage = message.toString().getBytes();
|
||||||
buffer = ByteBuffer.wrap(byteMessage);
|
buffer = ByteBuffer.wrap(byteMessage);
|
||||||
try {
|
try {
|
||||||
socketChannel.write(buffer);
|
socketChannel.write(buffer);
|
||||||
|
|
@ -56,24 +50,13 @@ public class FetchHighscore extends SwingWorker<Void,Void> {
|
||||||
if (line.startsWith("MESSAGE")) {
|
if (line.startsWith("MESSAGE")) {
|
||||||
Message msg = Message.toMessage(line);
|
Message msg = Message.toMessage(line);
|
||||||
System.out.println(line);
|
System.out.println(line);
|
||||||
if (msg.message.equals("HIGHSCORES")) {
|
if (msg.message.equals("HIGHSCORES") && msg.data != null) {
|
||||||
|
|
||||||
for(int i = 0; i< msg.data.size()-1; i++){
|
for(int i = 0; i< msg.data.size()-1; i++){
|
||||||
String[] splitted = msg.data.get(i).split(":");
|
String[] splitted = msg.data.get(i).split(":");
|
||||||
System.out.println(splitted.toString());
|
globalRanks.addElement(new Pair<>(splitted[0],new Integer(splitted[1])));
|
||||||
globalRanks.addElement(new Pair<String, Integer>(splitted[0],new Integer(splitted[1])));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
App.match.globalRanks = globalRanks;
|
|
||||||
|
|
||||||
System.out.println(globalRanks);
|
|
||||||
/*new TTDialog("alert", "Users not online!",
|
|
||||||
new Callable() {
|
|
||||||
@Override
|
|
||||||
public Object call() throws Exception {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}, null);*/
|
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -86,14 +69,10 @@ public class FetchHighscore extends SwingWorker<Void,Void> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void done(){
|
public void done(){
|
||||||
System.out.println("Done");
|
System.out.println("Done Highscores");
|
||||||
App.match.globalRanks = globalRanks;
|
App.game.globalRanks = globalRanks;
|
||||||
try {
|
this.highscoresPage.showHighscoreList();
|
||||||
this.callback.call();
|
System.out.println("DODODO");
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
package com.texttwist.client.tasks;
|
package com.texttwist.client.tasks;
|
||||||
|
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.App;
|
||||||
import com.texttwist.client.pages.Game;
|
import com.texttwist.client.pages.GamePage;
|
||||||
import com.texttwist.client.pages.Menu;
|
|
||||||
import com.texttwist.client.pages.Page;
|
import com.texttwist.client.pages.Page;
|
||||||
import com.texttwist.client.ui.TTDialog;
|
import com.texttwist.client.ui.TTDialog;
|
||||||
import models.Message;
|
import models.Message;
|
||||||
|
|
@ -29,7 +28,7 @@ public class InvitePlayers extends SwingWorker<Boolean,Void> {
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public Boolean doInBackground() {
|
public Boolean doInBackground() {
|
||||||
Message message = new Message("START_GAME", App.sessionService.account.userName, App.sessionService.account.token, userNames);
|
Message message = new Message("START_GAME", App.session.account.userName, App.session.token, userNames);
|
||||||
|
|
||||||
byte[] byteMessage = new String(message.toString()).getBytes();
|
byte[] byteMessage = new String(message.toString()).getBytes();
|
||||||
buffer = ByteBuffer.wrap(byteMessage);
|
buffer = ByteBuffer.wrap(byteMessage);
|
||||||
|
|
@ -66,7 +65,7 @@ public class InvitePlayers extends SwingWorker<Boolean,Void> {
|
||||||
@Override
|
@Override
|
||||||
public Object call() throws Exception {
|
public Object call() throws Exception {
|
||||||
//In attesa dei giocatori
|
//In attesa dei giocatori
|
||||||
new Game(Page.window);
|
new GamePage(Page.window);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}, null);
|
}, null);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package com.texttwist.client.tasks;
|
package com.texttwist.client.tasks;
|
||||||
|
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.App;
|
||||||
import com.texttwist.client.pages.Highscores;
|
|
||||||
import constants.Config;
|
import constants.Config;
|
||||||
import javafx.util.Pair;
|
import javafx.util.Pair;
|
||||||
import models.Message;
|
import models.Message;
|
||||||
|
|
@ -9,10 +8,6 @@ import models.Message;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.*;
|
import java.net.*;
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
import java.util.concurrent.RunnableFuture;
|
|
||||||
|
|
||||||
import static com.texttwist.client.pages.Page.window;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by loke on 29/06/2017.
|
* Created by loke on 29/06/2017.
|
||||||
|
|
@ -39,12 +34,12 @@ public class SendWords extends SwingWorker<Void,Void> {
|
||||||
InetAddress IPAddress = InetAddress.getByName(Config.WordsReceiverServerURI);
|
InetAddress IPAddress = InetAddress.getByName(Config.WordsReceiverServerURI);
|
||||||
byte[] sendData = new byte[1024];
|
byte[] sendData = new byte[1024];
|
||||||
byte[] receiveData = new byte[1024];
|
byte[] receiveData = new byte[1024];
|
||||||
Message msg = new Message("WORDS", App.sessionService.account.userName, "", words);
|
Message msg = new Message("WORDS", App.session.account.userName, "", words);
|
||||||
String sentence = msg.toString();
|
String sentence = msg.toString();
|
||||||
sendData = sentence.getBytes();
|
sendData = sentence.getBytes();
|
||||||
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, Config.WordsReceiverServerPort);
|
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, Config.WordsReceiverServerPort);
|
||||||
clientSocket.send(sendPacket);
|
clientSocket.send(sendPacket);
|
||||||
clientSocket.close();
|
//clientSocket.close();
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
} catch (UnknownHostException e) {
|
} catch (UnknownHostException e) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package com.texttwist.client.tasks;
|
package com.texttwist.client.tasks;
|
||||||
|
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.pages.GamePage;
|
||||||
import com.texttwist.client.pages.Game;
|
|
||||||
import com.texttwist.client.ui.TTDialog;
|
import com.texttwist.client.ui.TTDialog;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
@ -15,24 +14,24 @@ public class StartGame extends SwingWorker<Void,Void> {
|
||||||
|
|
||||||
/*Words inserted from user*/
|
/*Words inserted from user*/
|
||||||
private DefaultListModel<String> letters = new DefaultListModel<>();
|
private DefaultListModel<String> letters = new DefaultListModel<>();
|
||||||
private Game game;
|
private GamePage gamePage;
|
||||||
|
|
||||||
public StartGame(DefaultListModel<String> letters, Game game){
|
public StartGame(DefaultListModel<String> letters, GamePage game){
|
||||||
this.letters = letters;
|
this.letters = letters;
|
||||||
this.game = game;
|
this.gamePage = game;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Void doInBackground(){
|
public Void doInBackground(){
|
||||||
|
|
||||||
//Mostra pannello di conferma che le lettere sono tutte arrivate
|
//Mostra pannello di conferma che le lettere sono tutte arrivate
|
||||||
new TTDialog("success", "Game is ready. Press OK to start!",
|
new TTDialog("success", "GamePage is ready. Press OK to start!",
|
||||||
new Callable() {
|
new Callable() {
|
||||||
@Override
|
@Override
|
||||||
public Object call() throws Exception {
|
public Object call() throws Exception {
|
||||||
game.showLetters();
|
gamePage.showLetters();
|
||||||
System.out.println(letters);
|
System.out.println(letters);
|
||||||
game.timer.start();
|
gamePage.timer.start();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}, null);
|
}, null);
|
||||||
|
|
@ -41,6 +40,6 @@ public class StartGame extends SwingWorker<Void,Void> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void done(){
|
public void done(){
|
||||||
System.out.println("Done start game");
|
System.out.println("Done start gamePage");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,19 @@
|
||||||
package com.texttwist.client.tasks;
|
package com.texttwist.client.tasks;
|
||||||
|
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.App;
|
||||||
import com.texttwist.client.pages.Menu;
|
import com.texttwist.client.pages.MenuPage;
|
||||||
import com.texttwist.client.pages.Page;
|
import com.texttwist.client.pages.Page;
|
||||||
import com.texttwist.client.ui.TTDialog;
|
import com.texttwist.client.ui.TTDialog;
|
||||||
|
import constants.Config;
|
||||||
import models.Message;
|
import models.Message;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.ObjectOutput;
|
import java.net.InetAddress;
|
||||||
import java.nio.Buffer;
|
import java.net.MulticastSocket;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.channels.SocketChannel;
|
import java.nio.channels.SocketChannel;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
import java.util.concurrent.Future;
|
|
||||||
import java.util.concurrent.RunnableFuture;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by loke on 25/06/2017.
|
* Created by loke on 25/06/2017.
|
||||||
|
|
@ -31,7 +30,7 @@ public class WaitForPlayers extends SwingWorker<DefaultListModel<String>,Default
|
||||||
public WaitForPlayers(SwingWorker callback) {
|
public WaitForPlayers(SwingWorker callback) {
|
||||||
this.callback = callback;
|
this.callback = callback;
|
||||||
this.words = words;
|
this.words = words;
|
||||||
this.socketChannel = App.match.clientSocket;
|
this.socketChannel = App.game.clientSocket;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -55,7 +54,7 @@ public class WaitForPlayers extends SwingWorker<DefaultListModel<String>,Default
|
||||||
new Callable() {
|
new Callable() {
|
||||||
@Override
|
@Override
|
||||||
public Object call() throws Exception {
|
public Object call() throws Exception {
|
||||||
return new Menu(Page.window);
|
return new MenuPage(Page.window);
|
||||||
|
|
||||||
}
|
}
|
||||||
}, null);
|
}, null);
|
||||||
|
|
@ -64,18 +63,26 @@ public class WaitForPlayers extends SwingWorker<DefaultListModel<String>,Default
|
||||||
|
|
||||||
if (msg.message.equals("GAME_STARTED")) {
|
if (msg.message.equals("GAME_STARTED")) {
|
||||||
loading.dispose();
|
loading.dispose();
|
||||||
DefaultListModel<String> data = msg.data;
|
|
||||||
|
DefaultListModel<String> data;
|
||||||
|
if(msg.data !=null ) {
|
||||||
|
data= msg.data;
|
||||||
|
|
||||||
System.out.println("HERE");
|
System.out.println("HERE");
|
||||||
System.out.println(msg.data);
|
|
||||||
Integer multicastId = Integer.valueOf(data.remove(data.size()-2));
|
Integer multicastId = Integer.valueOf(data.remove(data.size()-2));
|
||||||
System.out.println(multicastId);
|
System.out.println(multicastId);
|
||||||
App.match.setMulticastId(multicastId);
|
App.game.setMulticastId(multicastId);
|
||||||
|
|
||||||
|
App.game.multicastSocket = new MulticastSocket(App.game.multicastId);
|
||||||
|
InetAddress ia = InetAddress.getByName(Config.ScoreMulticastServerURI);
|
||||||
|
App.game.multicastSocket.joinGroup(ia);
|
||||||
letters = msg.data;
|
letters = msg.data;
|
||||||
|
|
||||||
//socketChannel.close();
|
//socketChannel.close();
|
||||||
return words;
|
return words;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
|
@ -89,7 +96,7 @@ public class WaitForPlayers extends SwingWorker<DefaultListModel<String>,Default
|
||||||
System.out.println("Done wait for players");
|
System.out.println("Done wait for players");
|
||||||
try {
|
try {
|
||||||
System.out.println(letters);
|
System.out.println(letters);
|
||||||
App.match.setLetters(letters);
|
App.game.setLetters(letters);
|
||||||
System.out.println("PAROLE IN INVIO");
|
System.out.println("PAROLE IN INVIO");
|
||||||
this.callback.execute();
|
this.callback.execute();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package com.texttwist.client.tasks;
|
package com.texttwist.client.tasks;
|
||||||
|
|
||||||
import com.sun.org.apache.xpath.internal.operations.Bool;
|
|
||||||
import com.texttwist.client.App;
|
import com.texttwist.client.App;
|
||||||
import constants.Config;
|
import constants.Config;
|
||||||
import javafx.util.Pair;
|
import javafx.util.Pair;
|
||||||
|
|
@ -12,8 +11,6 @@ import java.net.DatagramPacket;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.MulticastSocket;
|
import java.net.MulticastSocket;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
import java.util.concurrent.RunnableFuture;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by loke on 27/06/2017.
|
* Created by loke on 27/06/2017.
|
||||||
|
|
@ -34,28 +31,23 @@ public class WaitForScore extends SwingWorker<Void,Void> {
|
||||||
InetAddress group = null;
|
InetAddress group = null;
|
||||||
try {
|
try {
|
||||||
|
|
||||||
MulticastSocket ms = new MulticastSocket(App.match.multicastId);
|
|
||||||
InetAddress ia = InetAddress.getByName(Config.ScoreMulticastServerURI);
|
|
||||||
ms.joinGroup(ia);
|
|
||||||
System.out.println("Join multicast group");
|
|
||||||
|
|
||||||
byte[] buf = new byte[1024];
|
byte[] buf = new byte[1024];
|
||||||
DatagramPacket recv = new DatagramPacket(buf, buf.length);
|
DatagramPacket recv = new DatagramPacket(buf, buf.length);
|
||||||
ms.receive(recv);
|
App.game.multicastSocket.receive(recv);
|
||||||
String s = new String(recv.getData());
|
String s = new String(recv.getData());
|
||||||
System.out.println("HSHSHSHS");
|
System.out.println("HSHSHSHS");
|
||||||
System.out.println(s);
|
System.out.println(s);
|
||||||
Message msg = Message.toMessage(s);
|
Message msg = Message.toMessage(s);
|
||||||
System.out.println(msg.data);
|
if(msg.data != null) {
|
||||||
|
for (int i = 0; i < msg.data.size() - 1; i++) {
|
||||||
for(int i = 0; i< msg.data.size()-1; i++){
|
|
||||||
String[] splitted = msg.data.get(i).split(":");
|
String[] splitted = msg.data.get(i).split(":");
|
||||||
System.out.println(splitted.toString());
|
System.out.println(splitted.toString());
|
||||||
ranks.addElement(new Pair<String, Integer>(splitted[0],new Integer(splitted[1])));
|
ranks.addElement(new Pair<String, Integer>(splitted[0], new Integer(splitted[1])));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
App.match.ranks = ranks;
|
App.game.ranks = ranks;
|
||||||
System.out.println(App.match.ranks);
|
System.out.println(App.game.ranks);
|
||||||
System.out.println("ENDDDDd");
|
System.out.println("ENDDDDd");
|
||||||
|
|
||||||
} catch (UnknownHostException e) {
|
} catch (UnknownHostException e) {
|
||||||
|
|
@ -68,8 +60,11 @@ public class WaitForScore extends SwingWorker<Void,Void> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void done(){
|
public void done(){
|
||||||
System.out.println("Done");
|
System.out.println("Done ranks");
|
||||||
App.match.ranks = ranks;
|
App.game.ranks = ranks;
|
||||||
|
App.game.multicastSocket.close();
|
||||||
|
//App.game.clientSocket.close();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
this.callback.execute();
|
this.callback.execute();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public class TTSearchBar extends TTContainer{
|
||||||
@Override
|
@Override
|
||||||
public Object call() throws Exception {
|
public Object call() throws Exception {
|
||||||
String username = ctx.getText();
|
String username = ctx.getText();
|
||||||
if(!username.equals("") && !username.equals(App.sessionService.account.userName)) {
|
if(!username.equals("") && !username.equals(App.session.account.userName)) {
|
||||||
ctx.setText("");
|
ctx.setText("");
|
||||||
list.addElement(username);
|
list.addElement(username);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,10 @@ public class Message implements Serializable {
|
||||||
@Override
|
@Override
|
||||||
public String toString(){
|
public String toString(){
|
||||||
String dataToString = "";
|
String dataToString = "";
|
||||||
for(int i = 0; i< data.size(); i++){
|
if(data!=null) {
|
||||||
dataToString += data.get(i)+"|";
|
for (int i = 0; i < data.size(); i++) {
|
||||||
|
dataToString += data.get(i) + "|";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return "MESSAGE?sender="+sender+"&token="+token+"&message="+message+"&"+dataToString;
|
return "MESSAGE?sender="+sender+"&token="+token+"&message="+message+"&"+dataToString;
|
||||||
}
|
}
|
||||||
|
|
@ -53,9 +55,16 @@ public class Message implements Serializable {
|
||||||
String[] dataArray = dataString.split((Pattern.quote("|")));
|
String[] dataArray = dataString.split((Pattern.quote("|")));
|
||||||
|
|
||||||
DefaultListModel<String> dataList = new DefaultListModel<String>();
|
DefaultListModel<String> dataList = new DefaultListModel<String>();
|
||||||
|
|
||||||
for (int i = 0; i<dataArray.length; i++){
|
for (int i = 0; i<dataArray.length; i++){
|
||||||
|
if(!dataArray[i].equals("")) {
|
||||||
dataList.addElement(dataArray[i]);
|
dataList.addElement(dataArray[i]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(dataList.size() == 1 && dataList.firstElement().equals("")){
|
||||||
|
dataList = null;
|
||||||
|
}
|
||||||
|
|
||||||
return new Message(message,sender,token,dataList);
|
return new Message(message,sender,token,dataList);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,13 @@ package models;
|
||||||
* Created by loke on 17/06/2017.
|
* Created by loke on 17/06/2017.
|
||||||
*/
|
*/
|
||||||
public class Session {
|
public class Session {
|
||||||
public String userName;
|
|
||||||
public String token;
|
|
||||||
|
|
||||||
public Session(String userName, String token){
|
public String token;
|
||||||
this.userName = userName;
|
public User account;
|
||||||
|
|
||||||
|
public Session(User account, String token){
|
||||||
this.token = token;
|
this.token = token;
|
||||||
|
this.account = account;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,9 +9,10 @@ public class User {
|
||||||
public String password;
|
public String password;
|
||||||
public Integer score = 0;
|
public Integer score = 0;
|
||||||
|
|
||||||
public User(String userName, String password){
|
public User(String userName, String password, Integer score){
|
||||||
this.userName = userName;
|
this.userName = userName;
|
||||||
this.password = password;
|
this.password = password;
|
||||||
|
this.score = score;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addScore(Integer score){
|
public void addScore(Integer score){
|
||||||
|
|
|
||||||
|
|
@ -23,14 +23,16 @@ public class AccountsManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
private AccountsManager(){
|
private AccountsManager(){
|
||||||
users.add(new User("a","a"));
|
users.add(new User("a","a",0));
|
||||||
users.add(new User("b","b"));
|
users.add(new User("b","b",0));
|
||||||
users.add(new User("c","c"));
|
users.add(new User("c","c",0));
|
||||||
|
users.add(new User("d","d",0));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean register(String userName, String password) {
|
public boolean register(String userName, String password) {
|
||||||
if(!exists(userName)){
|
if(!exists(userName)){
|
||||||
return users.add(new User(userName, password));
|
return users.add(new User(userName, password,0));
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,17 @@ import com.texttwist.server.models.Dictionary;
|
||||||
import com.texttwist.server.models.Match;
|
import com.texttwist.server.models.Match;
|
||||||
import com.texttwist.server.tasks.SendInvitations;
|
import com.texttwist.server.tasks.SendInvitations;
|
||||||
import com.texttwist.server.tasks.WaitForPlayers;
|
import com.texttwist.server.tasks.WaitForPlayers;
|
||||||
|
import constants.Config;
|
||||||
import jdk.nashorn.internal.parser.JSONParser;
|
import jdk.nashorn.internal.parser.JSONParser;
|
||||||
import models.Message;
|
import models.Message;
|
||||||
|
import models.Session;
|
||||||
import org.json.simple.JsonObject;
|
import org.json.simple.JsonObject;
|
||||||
import utilities.Logger;
|
import utilities.Logger;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
|
import java.net.DatagramSocket;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.net.ServerSocket;
|
import java.net.ServerSocket;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
|
|
@ -21,7 +24,10 @@ import java.nio.ByteBuffer;
|
||||||
import java.nio.channels.*;
|
import java.nio.channels.*;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
|
@ -35,13 +41,15 @@ public class GameServer implements Runnable{
|
||||||
protected int serverPort;
|
protected int serverPort;
|
||||||
protected ServerSocketChannel serverSocketChannel = null;
|
protected ServerSocketChannel serverSocketChannel = null;
|
||||||
protected ThreadProxy proxy;
|
protected ThreadProxy proxy;
|
||||||
|
ByteBuffer buffer = ByteBuffer.allocate(1024);
|
||||||
|
DatagramSocket datagramSocket;
|
||||||
protected Selector selector = null;
|
protected Selector selector = null;
|
||||||
protected ExecutorService threadPool = Executors.newCachedThreadPool();
|
protected ExecutorService threadPool = Executors.newCachedThreadPool();
|
||||||
private String dictionaryPath = "./Server/resources/dictionary";
|
private String dictionaryPath = "./Server/resources/dictionary";
|
||||||
public static Dictionary dict;
|
public static Dictionary dict;
|
||||||
|
|
||||||
|
|
||||||
public static DefaultListModel<Match> activeMatches = new DefaultListModel<Match>();
|
public static List<Match> activeMatches = Collections.synchronizedList(new ArrayList<>());
|
||||||
|
|
||||||
public GameServer(int port){
|
public GameServer(int port){
|
||||||
this.serverPort = port;
|
this.serverPort = port;
|
||||||
|
|
@ -50,14 +58,14 @@ public class GameServer implements Runnable{
|
||||||
public void run(){
|
public void run(){
|
||||||
|
|
||||||
dict = new Dictionary(dictionaryPath);
|
dict = new Dictionary(dictionaryPath);
|
||||||
ByteBuffer buffer = ByteBuffer.allocate(1024);
|
|
||||||
try {
|
try {
|
||||||
selector = Selector.open();
|
selector = Selector.open();
|
||||||
serverSocketChannel = ServerSocketChannel.open();
|
serverSocketChannel = ServerSocketChannel.open();
|
||||||
serverSocketChannel.configureBlocking(false);
|
serverSocketChannel.configureBlocking(false);
|
||||||
serverSocketChannel.socket().bind(new InetSocketAddress(serverPort));
|
serverSocketChannel.socket().bind(new InetSocketAddress(serverPort));
|
||||||
serverSocketChannel.register(selector, OP_ACCEPT);
|
serverSocketChannel.register(selector, OP_ACCEPT);
|
||||||
Logger.write("Game Service is running at "+this.serverPort+" port...");
|
datagramSocket = new DatagramSocket(Config.WordsReceiverServerPort);
|
||||||
|
Logger.write("GamePage Service is running at "+this.serverPort+" port...");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
@ -71,6 +79,7 @@ public class GameServer implements Runnable{
|
||||||
|
|
||||||
Iterator<SelectionKey> iter = selector.selectedKeys().iterator();
|
Iterator<SelectionKey> iter = selector.selectedKeys().iterator();
|
||||||
while (iter.hasNext()) {
|
while (iter.hasNext()) {
|
||||||
|
buffer = ByteBuffer.allocate(1024);
|
||||||
SocketChannel client = null;
|
SocketChannel client = null;
|
||||||
SelectionKey key = iter.next();
|
SelectionKey key = iter.next();
|
||||||
iter.remove();
|
iter.remove();
|
||||||
|
|
@ -85,19 +94,18 @@ public class GameServer implements Runnable{
|
||||||
|
|
||||||
case OP_READ:
|
case OP_READ:
|
||||||
client = (SocketChannel) key.channel();
|
client = (SocketChannel) key.channel();
|
||||||
buffer.clear();
|
//buffer.clear();
|
||||||
if (client.read(buffer) != -1) {
|
if (client.read(buffer) != -1) {
|
||||||
buffer.flip();
|
buffer.flip();
|
||||||
String line = new String(buffer.array(), buffer.position(), buffer.remaining());
|
String line = new String(buffer.array(), buffer.position(), buffer.remaining());
|
||||||
|
|
||||||
if (line.startsWith("MESSAGE")) {
|
if (line.startsWith("MESSAGE")) {
|
||||||
|
SessionsManager.getInstance().printAll();
|
||||||
Message msg = Message.toMessage(line);
|
Message msg = Message.toMessage(line);
|
||||||
proxy = new ThreadProxy(msg, client);
|
proxy = new ThreadProxy(msg, client, datagramSocket);
|
||||||
Future<Boolean> identifyMessage = threadPool.submit(proxy);
|
Future<Boolean> identifyMessage = threadPool.submit(proxy);
|
||||||
key.cancel();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (line.startsWith("CLOSE")) {
|
if (line.startsWith("CLOSE")) {
|
||||||
client.close();
|
client.close();
|
||||||
} else if (line.startsWith("QUIT")) {
|
} else if (line.startsWith("QUIT")) {
|
||||||
|
|
@ -114,7 +122,6 @@ public class GameServer implements Runnable{
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
System.out.println("unhandled " + key.readyOps());
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
|
|
||||||
|
|
@ -36,12 +36,16 @@ public class NotificationServer implements INotificationServer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized void sendInvitations(String username, DefaultListModel<String> users) throws RemoteException {
|
public synchronized void sendInvitations(String username, DefaultListModel<String> users){
|
||||||
System.out.println("Starting callbacks");
|
System.out.println("Starting callbacks");
|
||||||
Iterator i = clients.iterator();
|
Iterator i = clients.iterator();
|
||||||
while(i.hasNext()){
|
while(i.hasNext()){
|
||||||
INotificationClient client = (INotificationClient) i.next();
|
INotificationClient client = (INotificationClient) i.next();
|
||||||
|
try{
|
||||||
client.sendInvite(username, users);
|
client.sendInvite(username, users);
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.texttwist.server.components;
|
package com.texttwist.server.components;
|
||||||
import models.Session;
|
import models.Session;
|
||||||
|
import models.User;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
@ -25,7 +26,17 @@ public class SessionsManager {
|
||||||
|
|
||||||
public boolean add(String userName, String token) {
|
public boolean add(String userName, String token) {
|
||||||
remove(userName);
|
remove(userName);
|
||||||
return sessions.add(new Session(userName, token));
|
return sessions.add(new Session(new User(userName,"",0), token));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void printAll(){
|
||||||
|
synchronized(sessions) {
|
||||||
|
Iterator<Session> i = sessions.iterator();
|
||||||
|
while (i.hasNext()) {
|
||||||
|
Session elem = i.next();
|
||||||
|
System.out.println(elem.account.userName + " | " + elem.token);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean remove(String userName){
|
public boolean remove(String userName){
|
||||||
|
|
@ -44,7 +55,7 @@ public class SessionsManager {
|
||||||
Iterator<Session> i = sessions.iterator();
|
Iterator<Session> i = sessions.iterator();
|
||||||
while (i.hasNext()) {
|
while (i.hasNext()) {
|
||||||
Session elem = i.next();
|
Session elem = i.next();
|
||||||
if (elem.userName.equals(userName)) {
|
if (elem.account.userName.equals(userName)) {
|
||||||
return elem;
|
return elem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -57,7 +68,7 @@ public class SessionsManager {
|
||||||
Iterator<Session> i = sessions.iterator();
|
Iterator<Session> i = sessions.iterator();
|
||||||
while (i.hasNext()) {
|
while (i.hasNext()) {
|
||||||
Session elem = i.next();
|
Session elem = i.next();
|
||||||
if (elem.userName.equals(userName)) {
|
if (elem.account.userName.equals(userName)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import models.Message;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.DatagramPacket;
|
import java.net.DatagramPacket;
|
||||||
|
import java.net.DatagramSocket;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.MulticastSocket;
|
import java.net.MulticastSocket;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
|
|
@ -24,11 +25,13 @@ public class ThreadProxy implements Callable<Boolean> {
|
||||||
protected ExecutorService threadPool = Executors.newCachedThreadPool();
|
protected ExecutorService threadPool = Executors.newCachedThreadPool();
|
||||||
private Message request;
|
private Message request;
|
||||||
private SocketChannel socketChannel;
|
private SocketChannel socketChannel;
|
||||||
|
private DatagramSocket datagramSocket;
|
||||||
|
|
||||||
|
|
||||||
ThreadProxy(Message request, SocketChannel socketChannel){
|
ThreadProxy(Message request, SocketChannel socketChannel, DatagramSocket datagramSocket){
|
||||||
this.request = request;
|
this.request = request;
|
||||||
this.socketChannel = socketChannel;
|
this.socketChannel = socketChannel;
|
||||||
|
this.datagramSocket = datagramSocket;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -55,8 +58,9 @@ public class ThreadProxy implements Callable<Boolean> {
|
||||||
|
|
||||||
//Crea nuova partita e attendi i giocatori
|
//Crea nuova partita e attendi i giocatori
|
||||||
request.data.addElement(request.sender);
|
request.data.addElement(request.sender);
|
||||||
|
|
||||||
Match match = new Match(request.sender, request.data);
|
Match match = new Match(request.sender, request.data);
|
||||||
activeMatches.addElement(match);
|
activeMatches.add(match);
|
||||||
|
|
||||||
DefaultListModel<String> matchName = new DefaultListModel<>();
|
DefaultListModel<String> matchName = new DefaultListModel<>();
|
||||||
matchName.addElement(request.sender);
|
matchName.addElement(request.sender);
|
||||||
|
|
@ -78,6 +82,7 @@ public class ThreadProxy implements Callable<Boolean> {
|
||||||
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));
|
||||||
return sendMessageJoinTimeoutRes;
|
return sendMessageJoinTimeoutRes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -98,8 +103,7 @@ public class ThreadProxy implements Callable<Boolean> {
|
||||||
buffer.clear();
|
buffer.clear();
|
||||||
buffer = ByteBuffer.wrap(byteMessage);
|
buffer = ByteBuffer.wrap(byteMessage);
|
||||||
this.socketChannel.write(buffer);
|
this.socketChannel.write(buffer);
|
||||||
//socketChannel.close();
|
break;
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
@ -112,7 +116,6 @@ public class ThreadProxy implements Callable<Boolean> {
|
||||||
case "FETCH_HIGHSCORES":
|
case "FETCH_HIGHSCORES":
|
||||||
Future<DefaultListModel<String>> computeHighscores = threadPool.submit(new ComputeHighscores());
|
Future<DefaultListModel<String>> computeHighscores = threadPool.submit(new ComputeHighscores());
|
||||||
try {
|
try {
|
||||||
System.out.println("FETCHHH");
|
|
||||||
DefaultListModel<String> computeHighscoresRes = computeHighscores.get();
|
DefaultListModel<String> computeHighscoresRes = computeHighscores.get();
|
||||||
Message message = new Message("HIGHSCORES", "", "", computeHighscoresRes);
|
Message message = new Message("HIGHSCORES", "", "", computeHighscoresRes);
|
||||||
byteMessage = message.toString().getBytes();
|
byteMessage = message.toString().getBytes();
|
||||||
|
|
@ -123,13 +126,12 @@ public class ThreadProxy implements Callable<Boolean> {
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} catch (ExecutionException e) {
|
} catch (ExecutionException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
|
|
||||||
|
|
||||||
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));
|
||||||
|
|
@ -138,11 +140,10 @@ public class ThreadProxy implements Callable<Boolean> {
|
||||||
if(joinMatchRes){
|
if(joinMatchRes){
|
||||||
System.out.print("START THE GAME!!!!");
|
System.out.print("START THE GAME!!!!");
|
||||||
|
|
||||||
|
Match match = Match.findMatch(activeMatches, request.data.get(0));
|
||||||
|
|
||||||
Match match = Match.findMatch(request.data.get(0));
|
Future<DefaultListModel<String>> generateLetters = threadPool.submit(new GenerateLetters());
|
||||||
|
match.setLetters(generateLetters.get());
|
||||||
Future<DefaultListModel<String>> generateWords = threadPool.submit(new GenerateLetters());
|
|
||||||
match.setLetters(generateWords.get());
|
|
||||||
match.letters.addElement(String.valueOf(match.multicastId));
|
match.letters.addElement(String.valueOf(match.multicastId));
|
||||||
|
|
||||||
for (int i =0; i< match.playersSocket.size(); i++) {
|
for (int i =0; i< match.playersSocket.size(); i++) {
|
||||||
|
|
@ -166,7 +167,7 @@ public class ThreadProxy implements Callable<Boolean> {
|
||||||
}
|
}
|
||||||
|
|
||||||
//Start receive words: tempo masimo 5 minuti per completare l'invio delle lettere.
|
//Start receive words: tempo masimo 5 minuti per completare l'invio delle lettere.
|
||||||
Future<Boolean> receiveWords = threadPool.submit(new ReceiveWords(match));
|
Future<Boolean> receiveWords = threadPool.submit(new ReceiveWords(match, datagramSocket));
|
||||||
Boolean receiveWordsRes = receiveWords.get();
|
Boolean receiveWordsRes = receiveWords.get();
|
||||||
if(!receiveWordsRes){
|
if(!receiveWordsRes){
|
||||||
match.setUndefinedScorePlayersToZero();
|
match.setUndefinedScorePlayersToZero();
|
||||||
|
|
@ -174,19 +175,18 @@ public class ThreadProxy implements Callable<Boolean> {
|
||||||
} else {
|
} else {
|
||||||
System.out.println("TUTTI I GIOCATORI HANNO CONSEGNATO IN TEMPO");
|
System.out.println("TUTTI I GIOCATORI HANNO CONSEGNATO IN TEMPO");
|
||||||
}
|
}
|
||||||
System.out.println(match.playersScore);
|
|
||||||
|
|
||||||
Message msg = new Message("FINALSCORE","SERVER","", match.getMatchPlayersScoreAsStringList());
|
Message msg = new Message("FINALSCORE","SERVER","", match.getMatchPlayersScoreAsStringList());
|
||||||
|
|
||||||
MulticastSocket s = new MulticastSocket(4000);
|
MulticastSocket multicastSocket = new MulticastSocket(match.multicastId);
|
||||||
InetAddress ia = InetAddress.getByName(Config.ScoreMulticastServerURI);
|
InetAddress ia = InetAddress.getByName(Config.ScoreMulticastServerURI);
|
||||||
DatagramPacket hi = new DatagramPacket(msg.toString().getBytes(), msg.toString().length(),
|
DatagramPacket hi = new DatagramPacket(msg.toString().getBytes(), msg.toString().length(), ia, match.multicastId);
|
||||||
ia, 4000);
|
multicastSocket.send(hi);
|
||||||
s.send(hi);
|
activeMatches.remove(Match.findMatchIndex(activeMatches,match.matchCreator));
|
||||||
|
|
||||||
|
|
||||||
//RISPONDI CON LA CLASSIFICA
|
//RISPONDI CON LA CLASSIFICA
|
||||||
//TODO
|
break;
|
||||||
return receiveWordsRes;
|
|
||||||
//ULTIMO A JOINARE! INIZIA GIOCO
|
//ULTIMO A JOINARE! INIZIA GIOCO
|
||||||
} else {
|
} else {
|
||||||
System.out.print("WAIT FRIENDS");
|
System.out.print("WAIT FRIENDS");
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,215 @@
|
||||||
|
package com.texttwist.server.components;
|
||||||
|
|
||||||
|
import com.texttwist.client.App;
|
||||||
|
import com.texttwist.server.models.Match;
|
||||||
|
import com.texttwist.server.tasks.*;
|
||||||
|
import constants.Config;
|
||||||
|
import models.Message;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.DatagramPacket;
|
||||||
|
import java.net.DatagramSocket;
|
||||||
|
import java.net.InetAddress;
|
||||||
|
import java.net.MulticastSocket;
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
import java.nio.channels.SocketChannel;
|
||||||
|
import java.util.concurrent.*;
|
||||||
|
|
||||||
|
import static com.texttwist.server.components.GameServer.activeMatches;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by loke on 18/06/2017.
|
||||||
|
*/
|
||||||
|
public class ThreadProxy implements Callable<Boolean> {
|
||||||
|
protected ExecutorService threadPool = Executors.newCachedThreadPool();
|
||||||
|
private Message request;
|
||||||
|
private SocketChannel socketChannel;
|
||||||
|
private DatagramSocket datagramSocket;
|
||||||
|
|
||||||
|
|
||||||
|
ThreadProxy(Message request, SocketChannel socketChannel, DatagramSocket datagramSocket){
|
||||||
|
this.request = request;
|
||||||
|
this.socketChannel = socketChannel;
|
||||||
|
this.datagramSocket = datagramSocket;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private Boolean isValidToken(String token){
|
||||||
|
return SessionsManager.getInstance().isValidToken(token);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean call() {
|
||||||
|
ByteBuffer buffer = ByteBuffer.allocate(1024);
|
||||||
|
byte[] byteMessage = null;
|
||||||
|
System.out.println("Selecting right task for new thread");
|
||||||
|
if(isValidToken(request.token)){
|
||||||
|
switch(request.message){
|
||||||
|
case "START_GAME":
|
||||||
|
Future<Boolean> onlineUsers = threadPool.submit(new CheckOnlineUsers(request.data));
|
||||||
|
try {
|
||||||
|
Boolean usersOnline = onlineUsers.get();
|
||||||
|
if(usersOnline){
|
||||||
|
Future<Boolean> sendInvitations = threadPool.submit(new SendInvitations(request.sender, request.data));
|
||||||
|
try {
|
||||||
|
Boolean invitationSended = sendInvitations.get();
|
||||||
|
if (invitationSended) {
|
||||||
|
|
||||||
|
//Crea nuova partita e attendi i giocatori
|
||||||
|
request.data.addElement(request.sender);
|
||||||
|
|
||||||
|
Match match = new Match(request.sender, request.data);
|
||||||
|
activeMatches.add(match);
|
||||||
|
|
||||||
|
DefaultListModel<String> matchName = new DefaultListModel<>();
|
||||||
|
matchName.addElement(request.sender);
|
||||||
|
Future<Boolean> joinMatch = threadPool.submit(new JoinMatch(request.sender, matchName, socketChannel));
|
||||||
|
Boolean joinMatchRes = joinMatch.get();
|
||||||
|
|
||||||
|
if(!joinMatchRes){
|
||||||
|
//NON FARE NULLA, ASPETTA GLI ALTRI
|
||||||
|
Message message = new Message("INVITES_ALL_SENDED", "", "", new DefaultListModel<String>());
|
||||||
|
byteMessage = message.toString().getBytes();
|
||||||
|
buffer = ByteBuffer.wrap(byteMessage);
|
||||||
|
socketChannel.write(buffer);
|
||||||
|
|
||||||
|
|
||||||
|
Future<Boolean> joinTimeout = threadPool.submit(new JoinTimeout(match));
|
||||||
|
Boolean joinTimeoutRes = joinTimeout.get();
|
||||||
|
if(!joinTimeoutRes){
|
||||||
|
Future<Boolean> sendMessageJoinTimeout = threadPool.submit(
|
||||||
|
new SendMessageToAllPlayers(match, new Message("JOIN_TIMEOUT", "", "", new DefaultListModel<>()), socketChannel));
|
||||||
|
Boolean sendMessageJoinTimeoutRes = sendMessageJoinTimeout.get();
|
||||||
|
if(!sendMessageJoinTimeoutRes){
|
||||||
|
activeMatches.remove(Match.findMatchIndex(activeMatches,match.matchCreator));
|
||||||
|
return sendMessageJoinTimeoutRes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (ExecutionException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
|
||||||
|
Message message = new Message("USER_NOT_ONLINE", "", "", new DefaultListModel<String>());
|
||||||
|
byteMessage = new String(message.toString()).getBytes();
|
||||||
|
buffer.clear();
|
||||||
|
buffer = ByteBuffer.wrap(byteMessage);
|
||||||
|
this.socketChannel.write(buffer);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (ExecutionException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
case "FETCH_HIGHSCORES":
|
||||||
|
Future<DefaultListModel<String>> computeHighscores = threadPool.submit(new ComputeHighscores());
|
||||||
|
try {
|
||||||
|
DefaultListModel<String> computeHighscoresRes = computeHighscores.get();
|
||||||
|
Message message = new Message("HIGHSCORES", "", "", computeHighscoresRes);
|
||||||
|
byteMessage = message.toString().getBytes();
|
||||||
|
|
||||||
|
buffer = ByteBuffer.wrap(byteMessage);
|
||||||
|
try {
|
||||||
|
socketChannel.write(buffer);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (ExecutionException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
case "JOIN_GAME":
|
||||||
|
Future<Boolean> joinMatch = threadPool.submit(new JoinMatch(request.sender, request.data, socketChannel));
|
||||||
|
try {
|
||||||
|
Boolean joinMatchRes = joinMatch.get();
|
||||||
|
if(joinMatchRes){
|
||||||
|
System.out.print("START THE GAME!!!!");
|
||||||
|
|
||||||
|
Match match = Match.findMatch(activeMatches, request.data.get(0));
|
||||||
|
|
||||||
|
Future<DefaultListModel<String>> generateWords = threadPool.submit(new GenerateLetters());
|
||||||
|
match.setLetters(generateWords.get());
|
||||||
|
match.letters.addElement(String.valueOf(match.multicastId));
|
||||||
|
|
||||||
|
for (int i =0; i< match.playersSocket.size(); i++) {
|
||||||
|
System.out.println("INVIO");
|
||||||
|
socketChannel = match.playersSocket.get(i).getValue();
|
||||||
|
if(socketChannel != null) {
|
||||||
|
buffer.clear();
|
||||||
|
Message message = new Message("GAME_STARTED", "", "", match.letters);
|
||||||
|
match.startGame();
|
||||||
|
byteMessage = message.toString().getBytes();
|
||||||
|
|
||||||
|
buffer = ByteBuffer.wrap(byteMessage);
|
||||||
|
try {
|
||||||
|
socketChannel.write(buffer);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
//clientSocket.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Start receive words: tempo masimo 5 minuti per completare l'invio delle lettere.
|
||||||
|
Future<Boolean> receiveWords = threadPool.submit(new ReceiveWords(match, datagramSocket));
|
||||||
|
Boolean receiveWordsRes = receiveWords.get();
|
||||||
|
if(!receiveWordsRes){
|
||||||
|
match.setUndefinedScorePlayersToZero();
|
||||||
|
System.out.println("ZERO PUNTI a chi non ha ancora inviato le lettere, TIMER SCADUTO");
|
||||||
|
} else {
|
||||||
|
System.out.println("TUTTI I GIOCATORI HANNO CONSEGNATO IN TEMPO");
|
||||||
|
}
|
||||||
|
|
||||||
|
Message msg = new Message("FINALSCORE","SERVER","", match.getMatchPlayersScoreAsStringList());
|
||||||
|
|
||||||
|
MulticastSocket multicastSocket = new MulticastSocket(match.multicastId);
|
||||||
|
InetAddress ia = InetAddress.getByName(Config.ScoreMulticastServerURI);
|
||||||
|
DatagramPacket hi = new DatagramPacket(msg.toString().getBytes(), msg.toString().length(), ia, match.multicastId);
|
||||||
|
multicastSocket.send(hi);
|
||||||
|
activeMatches.remove(Match.findMatchIndex(activeMatches,match.matchCreator));
|
||||||
|
|
||||||
|
|
||||||
|
//RISPONDI CON LA CLASSIFICA
|
||||||
|
break;
|
||||||
|
//ULTIMO A JOINARE! INIZIA GIOCO
|
||||||
|
} else {
|
||||||
|
System.out.print("WAIT FRIENDS");
|
||||||
|
//NON FARE NULLA, ASPETA GLI ALTRI
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (ExecutionException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
System.out.print("TOKEN NON VALIDO");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -56,6 +56,9 @@ public class Dictionary {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Boolean isContainedInDictionary(String word){
|
public static Boolean isContainedInDictionary(String word){
|
||||||
|
if(word.equals("")){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
for(int i = 0; i< wordList.size(); i++){
|
for(int i = 0; i< wordList.size(); i++){
|
||||||
if(wordList.get(i).equals(word)) {
|
if(wordList.get(i).equals(word)) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
package com.texttwist.server.models;
|
package com.texttwist.server.models;
|
||||||
|
|
||||||
|
import constants.Config;
|
||||||
import javafx.util.Pair;
|
import javafx.util.Pair;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import java.net.DatagramSocket;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
import java.nio.channels.SocketChannel;
|
import java.nio.channels.SocketChannel;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
@ -13,34 +15,53 @@ import static com.texttwist.server.components.GameServer.activeMatches;
|
||||||
* Created by loke on 23/06/2017.
|
* Created by loke on 23/06/2017.
|
||||||
*/
|
*/
|
||||||
public class Match {
|
public class Match {
|
||||||
public DefaultListModel<Pair<String,Integer>> playersStatus = new DefaultListModel<Pair<String, Integer>>();
|
public List<Pair<String,Integer>> playersStatus = Collections.synchronizedList(new ArrayList<>()); //Usare Liste!!!!!!!
|
||||||
public DefaultListModel<Pair<String,SocketChannel>> playersSocket = new DefaultListModel<Pair<String, SocketChannel>>();
|
public List<Pair<String,SocketChannel>> playersSocket = Collections.synchronizedList(new ArrayList<>());
|
||||||
private boolean started = false;
|
private boolean started = false;
|
||||||
public String matchCreator;
|
public String matchCreator;
|
||||||
public Integer multicastId;
|
public Integer multicastId;
|
||||||
public DefaultListModel<String> letters;
|
public DefaultListModel<String> letters;
|
||||||
public DefaultListModel<Pair<String,Integer>> playersScore = new DefaultListModel<Pair<String, Integer>>();
|
public List<Pair<String,Integer>> playersScore = Collections.synchronizedList(new ArrayList<>());
|
||||||
|
|
||||||
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++){
|
||||||
this.playersStatus.addElement(new Pair<>(players.get(i), 0));
|
this.playersStatus.add(new Pair<>(players.get(i), 0));
|
||||||
this.playersScore.addElement(new Pair<>(players.get(i), -1));
|
this.playersScore.add(new Pair<>(players.get(i), -1));
|
||||||
this.playersSocket.addElement(new Pair<>(players.get(i), null));
|
this.playersSocket.add(new Pair<>(players.get(i), null));
|
||||||
}
|
}
|
||||||
this.multicastId = this.generateMulticastId();
|
this.multicastId = this.generateMulticastId();
|
||||||
this.matchCreator = matchCreator;
|
this.matchCreator = matchCreator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Match findMatch(String matchName){
|
public static Match findMatch(List<Match> matches, String matchName){
|
||||||
for(int i = 0; i<activeMatches.size(); i++) {
|
synchronized (matches) {
|
||||||
if (activeMatches.get(i).matchCreator.equals(matchName)) {
|
for (int i = 0; i < matches.size(); i++) {
|
||||||
return activeMatches.get(i);
|
if (matches.get(i).matchCreator.equals(matchName)) {
|
||||||
|
return matches.get(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void printAll(){
|
||||||
|
for (int i = 0; i < playersScore.size(); i++) {
|
||||||
|
System.out.println(playersScore.get(i).getKey() + " : " +playersScore.get(i).getValue());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static int findMatchIndex(List<Match> matches, String matchName){
|
||||||
|
synchronized (matches) {
|
||||||
|
for (int i = 0; i < matches.size(); i++) {
|
||||||
|
if (matches.get(i).matchCreator.equals(matchName)) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isStarted(){
|
public boolean isStarted(){
|
||||||
return started;
|
return started;
|
||||||
}
|
}
|
||||||
|
|
@ -50,46 +71,59 @@ public class Match {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setScore(String player, Integer score){
|
public void setScore(String player, Integer score){
|
||||||
for(int i = 0; i<playersScore.size(); i++) {
|
System.out.println(player + " prova a settare il suo score a " + score);
|
||||||
|
synchronized (playersScore) {
|
||||||
|
for (int i = 0; i < playersScore.size(); i++) {
|
||||||
if (playersScore.get(i).getKey().equals(player)) {
|
if (playersScore.get(i).getKey().equals(player)) {
|
||||||
playersScore.set(i, new Pair<String, Integer>(player, score));
|
playersScore.set(i, new Pair<String, Integer>(player, score));
|
||||||
|
System.out.println("SEtting score of " + playersScore.get(i).getKey() + " to " + score);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean allPlayersSendedHisScore(){
|
public Boolean allPlayersSendedHisScore(){
|
||||||
for(int i = 0; i<playersScore.size(); i++) {
|
printAll();
|
||||||
|
synchronized (playersScore) {
|
||||||
|
for (int i = 0; i < playersScore.size(); i++) {
|
||||||
if (playersScore.get(i).getValue() == -1) {
|
if (playersScore.get(i).getValue() == -1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setUndefinedScorePlayersToZero(){
|
public void setUndefinedScorePlayersToZero(){
|
||||||
for(int i = 0; i<playersScore.size(); i++) {
|
synchronized (playersScore) {
|
||||||
|
for (int i = 0; i < playersScore.size(); i++) {
|
||||||
if (playersScore.get(i).getValue() == -1) {
|
if (playersScore.get(i).getValue() == -1) {
|
||||||
playersScore.set(i, new Pair<String, Integer>(playersScore.get(i).getKey(), 0));
|
playersScore.set(i, new Pair<String, Integer>(playersScore.get(i).getKey(), 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public DefaultListModel<String> getMatchPlayersScoreAsStringList(){
|
public DefaultListModel<String> getMatchPlayersScoreAsStringList(){
|
||||||
|
synchronized (playersScore) {
|
||||||
DefaultListModel<String> l = new DefaultListModel<>();
|
DefaultListModel<String> l = new DefaultListModel<>();
|
||||||
for(int i = 0; i<playersScore.size(); i++) {
|
for (int i = 0; i < playersScore.size(); i++) {
|
||||||
l.addElement(playersScore.get(i).getKey()+":"+playersScore.get(i).getValue());
|
l.addElement(playersScore.get(i).getKey() + ":" + playersScore.get(i).getValue());
|
||||||
}
|
}
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private int generateMulticastId(){
|
private int generateMulticastId(){
|
||||||
if(activeMatches.size() != 0) {
|
synchronized (playersScore) {
|
||||||
return activeMatches.lastElement().multicastId+1;
|
if (activeMatches.size() != 0) {
|
||||||
|
return activeMatches.get(activeMatches.size()).multicastId + 1;
|
||||||
} else {
|
} else {
|
||||||
return 4000;
|
return 4000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
public void setLetters(DefaultListModel<String> letters){
|
public void setLetters(DefaultListModel<String> letters){
|
||||||
this.letters = letters;
|
this.letters = letters;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,11 @@ public class ComputeScore implements Callable<Integer> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer call() throws Exception {
|
public Integer call() throws Exception {
|
||||||
|
System.out.println("INIT SET SCORE");
|
||||||
|
System.out.println(words.size());
|
||||||
|
System.out.println(words);
|
||||||
System.out.println("SET SCORE");
|
System.out.println("SET SCORE");
|
||||||
|
|
||||||
Integer score = 0;
|
Integer score = 0;
|
||||||
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)){
|
||||||
|
|
@ -39,7 +43,7 @@ public class ComputeScore implements Callable<Integer> {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Boolean isValid(String word, DefaultListModel<String> letters) {
|
private Boolean isValid(String word, DefaultListModel<String> letters) {
|
||||||
for ( int i =0 ; i< word.length(); i++){
|
for (int i =0 ; i< word.length(); i++){
|
||||||
String c = Character.toString(word.charAt(i));
|
String c = Character.toString(word.charAt(i));
|
||||||
Boolean isCharacterPresent = false;
|
Boolean isCharacterPresent = false;
|
||||||
for(int j =0 ; j< letters.size(); j++){
|
for(int j =0 ; j< letters.size(); j++){
|
||||||
|
|
@ -47,6 +51,10 @@ public class ComputeScore implements Callable<Integer> {
|
||||||
isCharacterPresent = true;
|
isCharacterPresent = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(word.equals("")){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if(!isCharacterPresent){
|
if(!isCharacterPresent){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,15 +28,15 @@ public class JoinMatch implements Callable<Boolean> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean call() throws Exception {
|
public Boolean call() throws Exception {
|
||||||
Match thisMatch= findMatch(this.matchName);
|
Match thisMatch = Match.findMatch(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();
|
||||||
if (name.equals(playerName)){
|
if (name.equals(playerName)){
|
||||||
thisMatch.playersStatus.remove(j);
|
thisMatch.playersStatus.remove(j);
|
||||||
thisMatch.playersStatus.addElement(new Pair<>(name,1));
|
thisMatch.playersStatus.add(new Pair<>(name,1));
|
||||||
thisMatch.playersSocket.remove(j);
|
thisMatch.playersSocket.remove(j);
|
||||||
thisMatch.playersSocket.addElement(new Pair<>(name,socketChannel));
|
thisMatch.playersSocket.add(new Pair<>(name,socketChannel));
|
||||||
System.out.println(playerName + ": JOINED");
|
System.out.println(playerName + ": JOINED");
|
||||||
return allJoined(thisMatch);
|
return allJoined(thisMatch);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ public class MatchTimeout implements Callable<Boolean> {
|
||||||
|
|
||||||
public MatchTimeout(Boolean receiveWords) {
|
public MatchTimeout(Boolean receiveWords) {
|
||||||
this.receiveWords = receiveWords;
|
this.receiveWords = receiveWords;
|
||||||
System.out.println("Match started, countdown for end words!");
|
System.out.println("GamePage started, countdown for end words!");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
package com.texttwist.server.tasks;
|
package com.texttwist.server.tasks;
|
||||||
|
|
||||||
import com.texttwist.server.Server;
|
import com.texttwist.server.Server;
|
||||||
|
import com.texttwist.server.components.GameServer;
|
||||||
import com.texttwist.server.models.Match;
|
import com.texttwist.server.models.Match;
|
||||||
import constants.Config;
|
import constants.Config;
|
||||||
import models.Message;
|
import models.Message;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import javax.xml.crypto.Data;
|
||||||
import java.net.DatagramPacket;
|
import java.net.DatagramPacket;
|
||||||
import java.net.DatagramSocket;
|
import java.net.DatagramSocket;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
|
@ -22,24 +24,27 @@ public class ReceiveWords implements Callable<Boolean>{
|
||||||
protected ExecutorService threadPool = Executors.newCachedThreadPool();
|
protected ExecutorService threadPool = Executors.newCachedThreadPool();
|
||||||
|
|
||||||
public Boolean receiveWords = true;
|
public Boolean receiveWords = true;
|
||||||
|
public DatagramSocket datagramSocket;
|
||||||
public Match match;
|
public Match match;
|
||||||
public ReceiveWords(Match match) {
|
public ReceiveWords(Match match, DatagramSocket datagramSocket) {
|
||||||
this.match = match;
|
this.match = match;
|
||||||
|
this.datagramSocket = datagramSocket;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean call() throws Exception {
|
public Boolean call() throws Exception {
|
||||||
System.out.print("READY TO Receive words !!!!");
|
System.out.print("READY TO Receive words !!!!");
|
||||||
|
|
||||||
DatagramSocket serverSocket = new DatagramSocket(Config.WordsReceiverServerPort);
|
|
||||||
byte[] receiveData = new byte[1024];
|
byte[] receiveData = new byte[1024];
|
||||||
|
|
||||||
Future<Boolean> matchTimeout = threadPool.submit(new MatchTimeout(receiveWords));
|
Future<Boolean> matchTimeout = threadPool.submit(new MatchTimeout(receiveWords));
|
||||||
|
|
||||||
while(receiveWords)
|
while(receiveWords)
|
||||||
{
|
{
|
||||||
|
receiveData = new byte[1024];
|
||||||
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
|
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
|
||||||
serverSocket.receive(receivePacket);
|
datagramSocket.receive(receivePacket);
|
||||||
String rcv = new String( receivePacket.getData());
|
String rcv = new String( receivePacket.getData());
|
||||||
System.out.println("RECEIVED: " + rcv);
|
System.out.println("RECEIVED: " + rcv);
|
||||||
Message msg = Message.toMessage(rcv);
|
Message msg = Message.toMessage(rcv);
|
||||||
|
|
@ -47,9 +52,12 @@ public class ReceiveWords implements Callable<Boolean>{
|
||||||
|
|
||||||
//Se tutti hanno inviato le parole, blocca il timer e restituisci true
|
//Se tutti hanno inviato le parole, blocca il timer e restituisci true
|
||||||
computeScore.get();
|
computeScore.get();
|
||||||
|
System.out.println("All player sended?");
|
||||||
System.out.println(match.allPlayersSendedHisScore());
|
System.out.println(match.allPlayersSendedHisScore());
|
||||||
if(match.allPlayersSendedHisScore()){
|
if(match.allPlayersSendedHisScore()){
|
||||||
//matchTimeout.cancel(true);
|
System.out.println("TIMEOUT BLOCCATO, OK");
|
||||||
|
matchTimeout.cancel(true);
|
||||||
|
// datagramSocket.close();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.texttwist.server.tasks;
|
||||||
|
|
||||||
import com.texttwist.server.Server;
|
import com.texttwist.server.Server;
|
||||||
import com.texttwist.server.components.NotificationServer;
|
import com.texttwist.server.components.NotificationServer;
|
||||||
|
import com.texttwist.server.components.SessionsManager;
|
||||||
import constants.Config;
|
import constants.Config;
|
||||||
import interfaces.INotificationServer;
|
import interfaces.INotificationServer;
|
||||||
|
|
||||||
|
|
|
||||||
789
client_1.log
789
client_1.log
|
|
@ -2604,3 +2604,792 @@ LOGGER (Client1): Thu Jun 29 15:08:31 CEST 2017 - Client starting ...
|
||||||
LOGGER (Client1): Thu Jun 29 15:08:42 CEST 2017 - Invoked invitation with username=b|[a]
|
LOGGER (Client1): Thu Jun 29 15:08:42 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
LOGGER (Client1): Thu Jun 29 15:08:42 CEST 2017 - b ti ha sfidato!
|
LOGGER (Client1): Thu Jun 29 15:08:42 CEST 2017 - b ti ha sfidato!
|
||||||
LOGGER (Client1): Thu Jun 29 15:08:42 CEST 2017 - Invoked invitation with username=b|[a]
|
LOGGER (Client1): Thu Jun 29 15:08:42 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:31:11 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:31:14 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:31:49 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:33:49 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:35:23 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:35:42 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:37:27 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:37:31 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:38:06 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:38:06 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:38:06 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:40:13 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:40:14 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:40:25 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:40:25 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 15:40:25 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:03:14 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:03:24 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:03:57 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:17:16 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:17:18 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:17:26 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:17:26 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:17:26 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:20:05 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:20:08 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:21:23 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:23:47 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:36:02 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:44:32 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:46:04 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:48:20 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:49:06 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:52:15 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:52:41 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:53:47 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:55:28 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:57:37 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:58:12 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 16:58:51 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:01:07 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:05:28 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:06:25 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:07:05 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:07:56 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:08:05 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:08:53 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:08:56 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:09:05 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:09:05 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:09:05 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:11:41 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:12:37 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:15:05 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:15:07 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:16:31 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:16:32 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:18:01 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:19:32 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:21:18 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:24:18 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:25:01 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:25:03 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:25:17 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:25:17 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:25:17 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:27:33 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:32:05 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:33:32 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:34:26 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:35:56 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:38:46 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:38:58 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:39:54 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:40:15 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:41:05 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:41:39 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:42:02 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:42:29 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:42:51 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:43:32 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:43:55 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:45:01 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:45:34 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:47:00 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:47:39 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:48:08 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:48:31 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:49:49 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:49:53 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:50:55 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:51:35 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:52:59 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:53:12 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:53:14 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:53:27 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:53:27 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:53:27 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:57:37 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:57:39 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:57:47 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:57:47 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 17:57:47 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:03:36 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:03:38 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:03:51 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:03:51 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:03:51 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:04:19 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:04:19 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:04:19 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:05:51 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:05:53 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:06:01 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:06:01 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:06:01 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:06:55 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:06:55 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:06:55 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:08:19 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:08:21 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:08:29 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:08:29 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:08:29 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:09:23 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:09:23 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:09:23 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:13:22 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:13:23 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:13:33 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:13:33 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:13:33 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:01 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:01 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:01 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:28 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:28 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:28 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:34 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:34 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:34 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:49 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:49 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:14:49 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:32:56 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:32:58 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:33:06 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:33:06 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:33:06 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:34:29 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:34:30 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:34:39 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:34:39 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:34:39 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:36:35 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:36:38 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:36:46 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:36:46 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:36:46 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:38:29 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:38:31 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:38:38 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:38:38 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:38:38 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:40:30 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:40:32 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:40:41 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:40:41 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:40:41 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:41:08 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:41:08 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:41:08 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:42:07 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:42:08 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:42:16 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:42:16 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:42:16 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:42:48 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:42:48 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:42:48 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:43:19 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:43:19 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:43:19 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:44:07 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:44:09 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:44:42 CEST 2017 - Invoked invitation with username=d|[a, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:44:42 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:44:42 CEST 2017 - Invoked invitation with username=d|[a, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:44:42 CEST 2017 - Invoked invitation with username=d|[a, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:44:42 CEST 2017 - Invoked invitation with username=d|[a, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:44:42 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:44:51 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:21 CEST 2017 - Invoked invitation with username=f|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:21 CEST 2017 - Invoked invitation with username=f|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:21 CEST 2017 - f ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:21 CEST 2017 - Invoked invitation with username=f|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:21 CEST 2017 - Invoked invitation with username=f|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:21 CEST 2017 - Invoked invitation with username=f|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:45 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:45 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:45 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:45 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:45 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:45:45 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:51:51 CEST 2017 - Invoked invitation with username=d|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:51:52 CEST 2017 - Invoked invitation with username=d|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:52:31 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:53:23 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:53:25 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:53:32 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:53:32 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:53:32 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:53:56 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:53:56 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:53:56 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:54:25 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:54:25 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:54:25 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:54:53 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:54:53 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:54:53 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:55:19 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:55:19 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:55:19 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:57:25 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:57:25 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:57:25 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:57:52 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:57:52 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:57:52 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:58:31 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:58:31 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:58:31 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:58:40 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:59:09 CEST 2017 - Invoked invitation with username=q|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:59:09 CEST 2017 - q ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:59:09 CEST 2017 - Invoked invitation with username=q|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:59:09 CEST 2017 - Invoked invitation with username=q|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:59:40 CEST 2017 - Invoked invitation with username=b|[q, a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:59:40 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:59:40 CEST 2017 - Invoked invitation with username=b|[q, a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:59:40 CEST 2017 - Invoked invitation with username=b|[q, a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 18:59:40 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:00:50 CEST 2017 - Invoked invitation with username=q|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:00:50 CEST 2017 - Invoked invitation with username=q|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:00:50 CEST 2017 - q ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:00:50 CEST 2017 - Invoked invitation with username=q|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:00:59 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:00:59 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:00:59 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:00:59 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:01:34 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:01:35 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:01:37 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:01:54 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:01:54 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:01:54 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:01:54 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:02:01 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:02:01 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:02:01 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:02:01 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:03:42 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:03:42 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:03:56 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:04:11 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:04:11 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:05:01 CEST 2017 - Invoked invitation with username=b|[c, a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:05:01 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:07:35 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:08:00 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:10:29 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:10:33 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:11:53 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:11:53 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:11:53 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:11:58 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:11:59 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:12:00 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:12:50 CEST 2017 - Invoked invitation with username=a|[b, c, d, e]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:12:50 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:12:50 CEST 2017 - Invoked invitation with username=a|[b, c, d, e]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:12:50 CEST 2017 - Invoked invitation with username=a|[b, c, d, e]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:12:50 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:12:50 CEST 2017 - Invoked invitation with username=a|[b, c, d, e]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:12:50 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:12:50 CEST 2017 - Invoked invitation with username=a|[b, c, d, e]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:12:50 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:30 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:30 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:30 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:30 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:30 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:30 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:38 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:38 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:38 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:38 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:38 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:38 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:52 CEST 2017 - Invoked invitation with username=e|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:52 CEST 2017 - Invoked invitation with username=e|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:52 CEST 2017 - e ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:52 CEST 2017 - Invoked invitation with username=e|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:52 CEST 2017 - Invoked invitation with username=e|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:13:52 CEST 2017 - Invoked invitation with username=e|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:14:35 CEST 2017 - Invoked invitation with username=e|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:14:35 CEST 2017 - Invoked invitation with username=e|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:14:35 CEST 2017 - e ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:14:35 CEST 2017 - Invoked invitation with username=e|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:14:35 CEST 2017 - Invoked invitation with username=e|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:15:41 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:15:41 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:15:41 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:15:41 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:15:41 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:16:07 CEST 2017 - Invoked invitation with username=e|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:16:07 CEST 2017 - Invoked invitation with username=e|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:16:07 CEST 2017 - Invoked invitation with username=e|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:16:07 CEST 2017 - Invoked invitation with username=e|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:19:53 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:19:55 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:19:58 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:20:17 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:20:17 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:20:17 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:20:17 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:25:20 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:25:20 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:25:20 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:25:20 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:25:29 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:27:33 CEST 2017 - Invoked invitation with username=a|[d, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:27:33 CEST 2017 - Invoked invitation with username=a|[d, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:27:33 CEST 2017 - Invoked invitation with username=a|[d, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:27:33 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:27:33 CEST 2017 - Invoked invitation with username=a|[d, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:27:33 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:28:09 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:28:09 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:28:09 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:28:09 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:28:09 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:28:41 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:28:42 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:31:13 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:35:01 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:35:35 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:35:50 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:35:52 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:37:00 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:37:20 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:41:30 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:41:32 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:41:41 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:50:08 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:50:10 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:50:21 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:50:21 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:50:21 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:52:46 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:52:46 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:52:46 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:56:24 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:56:24 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:56:24 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:58:13 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:58:13 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:58:13 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:58:23 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:58:52 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:58:52 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:58:52 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:58:52 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:59:09 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:59:50 CEST 2017 - Invoked invitation with username=d|[a, b, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:59:50 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:59:50 CEST 2017 - Invoked invitation with username=d|[a, b, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:59:50 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:59:50 CEST 2017 - Invoked invitation with username=d|[a, b, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:59:50 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 19:59:50 CEST 2017 - Invoked invitation with username=d|[a, b, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:00:45 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:00:45 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:00:45 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:00:45 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:00:45 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:00:46 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:00:46 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:00:46 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:00:46 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:00:46 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:10:37 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:10:38 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:10:39 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:10:41 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:10:46 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:10:48 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:55 CEST 2017 - Invoked invitation with username=b|[e]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:55 CEST 2017 - Invoked invitation with username=b|[e]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:55 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:55 CEST 2017 - Invoked invitation with username=b|[e]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:55 CEST 2017 - Invoked invitation with username=b|[e]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:55 CEST 2017 - Invoked invitation with username=b|[e]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:55 CEST 2017 - Invoked invitation with username=b|[e]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:56 CEST 2017 - Invoked invitation with username=c|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:56 CEST 2017 - Invoked invitation with username=c|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:56 CEST 2017 - Invoked invitation with username=c|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:56 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:56 CEST 2017 - Invoked invitation with username=c|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:56 CEST 2017 - Invoked invitation with username=c|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:56 CEST 2017 - Invoked invitation with username=c|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:57 CEST 2017 - Invoked invitation with username=f|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:57 CEST 2017 - Invoked invitation with username=f|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:57 CEST 2017 - Invoked invitation with username=f|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:57 CEST 2017 - Invoked invitation with username=f|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:57 CEST 2017 - f ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:57 CEST 2017 - Invoked invitation with username=f|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:11:57 CEST 2017 - Invoked invitation with username=f|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:13:47 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:13:49 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:13:57 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:13:57 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:13:57 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:27 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:28 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:51 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:51 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:51 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:51 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:51 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:52 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:52 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:52 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:52 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:14:52 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:16 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:18 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:19 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:21 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:54 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:54 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:54 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:54 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:54 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:55 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:55 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:55 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:55 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:17:55 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:08 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:09 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:11 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:12 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:39 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:39 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:39 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:39 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:39 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:43 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:43 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:43 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:43 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:26:43 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:27:27 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:27:29 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:27:36 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:27:36 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:27:37 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:29:54 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:29:55 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:29:57 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:29:58 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:30:27 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:30:27 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:30:27 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:30:27 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:30:27 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:30:28 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:30:28 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:30:28 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:30:28 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:30:28 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:36:35 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:36:45 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:36:49 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:36:52 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:37:20 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:37:20 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:37:20 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:37:20 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:37:20 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:37:21 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:37:21 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:37:21 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:37:21 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:37:21 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:14 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:16 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:17 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:19 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:45 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:45 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:45 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:46 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:46 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:46 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:46 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:46 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:46 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:39:46 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:42:34 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:42:35 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:42:36 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:42:44 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:43:09 CEST 2017 - Invoked invitation with username=d|[]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:43:09 CEST 2017 - Invoked invitation with username=d|[]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:43:09 CEST 2017 - Invoked invitation with username=d|[]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:43:09 CEST 2017 - Invoked invitation with username=d|[]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:43:13 CEST 2017 - Invoked invitation with username=c|[]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:43:13 CEST 2017 - Invoked invitation with username=c|[]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:43:13 CEST 2017 - Invoked invitation with username=c|[]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:43:13 CEST 2017 - Invoked invitation with username=c|[]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:00 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:14 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:15 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:17 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:18 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:45 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:45 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:45 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:45 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:45 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:49 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:49 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:49 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:49 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:44:49 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:46:59 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:00 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:01 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:03 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:30 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:30 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:30 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:30 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:30 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:31 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:31 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:31 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:31 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:47:31 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:48:42 CEST 2017 - Invoked invitation with username=a|[d, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:48:42 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:48:43 CEST 2017 - Invoked invitation with username=a|[d, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:48:43 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:48:43 CEST 2017 - Invoked invitation with username=a|[d, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:11 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:12 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:46 CEST 2017 - Invoked invitation with username=aa|[a, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:47 CEST 2017 - Invoked invitation with username=aa|[a, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:47 CEST 2017 - aa ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:47 CEST 2017 - Invoked invitation with username=aa|[a, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:47 CEST 2017 - aa ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:47 CEST 2017 - Invoked invitation with username=aa|[a, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:47 CEST 2017 - Invoked invitation with username=aa|[a, c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:52 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:52 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:53 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:53 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:53 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:49:53 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:56:55 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:56:56 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:56:57 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:56:59 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:57:19 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:57:19 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:57:19 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:57:19 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:57:19 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:57:22 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:57:22 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:57:22 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:57:22 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 20:57:22 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:06:16 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:06:17 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:06:35 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:06:35 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:06:35 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:01 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:03 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:20 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:20 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:21 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:21 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:21 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:22 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:22 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:22 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:22 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:07:22 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:13 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:15 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:17 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:18 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:41 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:41 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:41 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:41 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:41 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:41 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:41 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:41 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:41 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:10:42 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:11:38 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:11:38 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:11:38 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:11:38 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:11:38 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:11:39 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:11:39 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:11:39 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:11:39 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:11:39 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:09 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:11 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:13 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:14 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:46 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:47 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:47 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:47 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:47 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:49 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:49 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:49 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:49 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:15:49 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:30 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:32 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:33 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:35 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:58 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:58 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:58 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:58 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:58 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:59 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:59 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:59 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:59 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:19:59 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:24:33 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:24:46 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:24:48 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:24:50 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:25:00 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:25:14 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:25:14 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:25:14 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:25:14 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:25:14 CEST 2017 - Invoked invitation with username=c|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:25:18 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:25:18 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:25:18 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:25:18 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:25:18 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:14 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:16 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:17 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:19 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:42 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:42 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:42 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:42 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:42 CEST 2017 - Invoked invitation with username=d|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:43 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:43 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:43 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:43 CEST 2017 - Invoked invitation with username=a|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 21:30:43 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:02:29 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:02:30 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:02:32 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:02:34 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:03 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:03 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:03 CEST 2017 - c ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:03 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:03 CEST 2017 - Invoked invitation with username=c|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:04 CEST 2017 - Invoked invitation with username=a|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:04 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:04 CEST 2017 - Invoked invitation with username=a|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:04 CEST 2017 - Invoked invitation with username=a|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:04 CEST 2017 - Invoked invitation with username=a|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:53 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:55 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:03:57 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:31 CEST 2017 - Invoked invitation with username=cc|[aa]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:31 CEST 2017 - Invoked invitation with username=cc|[aa]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:31 CEST 2017 - Invoked invitation with username=cc|[aa]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:31 CEST 2017 - Invoked invitation with username=cc|[aa]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:31 CEST 2017 - Invoked invitation with username=cc|[aa]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:31 CEST 2017 - Invoked invitation with username=cc|[aa]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:31 CEST 2017 - Invoked invitation with username=cc|[aa]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:31 CEST 2017 - cc ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:44 CEST 2017 - Invoked invitation with username=bb|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:44 CEST 2017 - Invoked invitation with username=bb|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:44 CEST 2017 - Invoked invitation with username=bb|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:44 CEST 2017 - bb ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:44 CEST 2017 - Invoked invitation with username=bb|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:44 CEST 2017 - Invoked invitation with username=bb|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:44 CEST 2017 - Invoked invitation with username=bb|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:44 CEST 2017 - Invoked invitation with username=bb|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:49 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:49 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:49 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:49 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:49 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:49 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:49 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:04:49 CEST 2017 - Invoked invitation with username=b|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:05:00 CEST 2017 - Invoked invitation with username=a|[d, b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:05:00 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:05:01 CEST 2017 - Invoked invitation with username=a|[d, b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:05:01 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:05:01 CEST 2017 - Invoked invitation with username=a|[d, b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:05:01 CEST 2017 - Invoked invitation with username=a|[d, b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:05:01 CEST 2017 - Invoked invitation with username=a|[d, b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:05:01 CEST 2017 - Invoked invitation with username=a|[d, b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:05:01 CEST 2017 - Invoked invitation with username=a|[d, b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:11:49 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:11:51 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:11:52 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:11:54 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:12:14 CEST 2017 - Invoked invitation with username=a|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:12:14 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:12:14 CEST 2017 - Invoked invitation with username=a|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:12:14 CEST 2017 - Invoked invitation with username=a|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:12:14 CEST 2017 - Invoked invitation with username=a|[d]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:12:17 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:12:17 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:12:17 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:12:17 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:12:17 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:12 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:14 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:15 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:17 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:37 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:37 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:37 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:37 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:38 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:45 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:45 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:45 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:46 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:14:46 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:15:10 CEST 2017 - Invoked invitation with username=b|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:18:58 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:01 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:10 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:10 CEST 2017 - Invoked invitation with username=b|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:10 CEST 2017 - b ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:21 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:23 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:38 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:38 CEST 2017 - a ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:38 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:38 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:38 CEST 2017 - Invoked invitation with username=a|[b]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:46 CEST 2017 - Invoked invitation with username=d|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:46 CEST 2017 - Invoked invitation with username=d|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:46 CEST 2017 - Invoked invitation with username=d|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:47 CEST 2017 - Invoked invitation with username=d|[c]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:19:47 CEST 2017 - d ti ha sfidato!
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:22:50 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:22:51 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:22:52 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:22:54 CEST 2017 - Client starting ...
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:23:15 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:23:15 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:23:15 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:23:15 CEST 2017 - Invoked invitation with username=d|[a]
|
||||||
|
LOGGER (Client1): Thu Jun 29 22:23:15 CEST 2017 - d ti ha sfidato!
|
||||||
|
|
|
||||||
1001
server.log
1001
server.log
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue