Module Server, clss SimpleMessageHandler : Correction warning, modif fonctionnement méthd checkAccountPermission, ajout TODO

This commit is contained in:
Notmoo 2017-08-01 18:24:52 +02:00
parent 9b0a559530
commit 183ee248ce

View File

@ -54,7 +54,8 @@ public class SimpleMessageHandler implements IMessageHandler {
private SaleService saleService; private SaleService saleService;
private StatisticsService statisticsService; private StatisticsService statisticsService;
private StockService stockService; private StockService stockService;
private ClientService clientService; //TODO faire qqch de clientService
//private ClientService clientService;
private ServerStateService serverStateService; private ServerStateService serverStateService;
private IMessageToolFactory messageToolFactory; private IMessageToolFactory messageToolFactory;
@ -63,7 +64,7 @@ public class SimpleMessageHandler implements IMessageHandler {
public SimpleMessageHandler() { public SimpleMessageHandler() {
serverStateService = new ServerStateService(); serverStateService = new ServerStateService();
accountService = new AccountService(); accountService = new AccountService();
clientService = new ClientService(); //clientService = new ClientService();
stockService = new StockService(); stockService = new StockService();
saleService = new SaleService(stockService); saleService = new SaleService(stockService);
statisticsService = new StatisticsService(stockService, saleService); statisticsService = new StatisticsService(stockService, saleService);
@ -71,6 +72,7 @@ public class SimpleMessageHandler implements IMessageHandler {
manager = new MessageManager(); manager = new MessageManager();
//TODO ajouter support des query de connexion de compte utilisateur
manager.support(MessageType.QUERY_STOCK, (message)->{ manager.support(MessageType.QUERY_STOCK, (message)->{
Map<String, String> fields = new HashMap<>(); Map<String, String> fields = new HashMap<>();
fields.put("stock", messageToolFactory.getListFormatter(Product.class).format(stockService.getProductList())); fields.put("stock", messageToolFactory.getListFormatter(Product.class).format(stockService.getProductList()));
@ -176,7 +178,7 @@ public class SimpleMessageHandler implements IMessageHandler {
return levels.get(messageType); return levels.get(messageType);
} }
public boolean contains(MessageType type) { boolean contains(MessageType type) {
return processes.containsKey(type); return processes.containsKey(type);
} }
} }
@ -193,11 +195,10 @@ public class SimpleMessageHandler implements IMessageHandler {
/** /**
* Vérifie si le compte émetteur de la query a les autorisations suffisantes pour effectuer la query. * Vérifie si le compte émetteur de la query a les autorisations suffisantes pour effectuer la query.
* <p/> * <p/>
* <b>Attention : tenter cette vérification sur un compte inexistant lèvera une {@link NullPointerException}</b>.
* @param message message dont le niveau de permission de l'expéditeur doit être vérifié * @param message message dont le niveau de permission de l'expéditeur doit être vérifié
* @return true si l'expéditeur a les autorisations suffisantes, false sinon. * @return true si l'expéditeur correspond à un compte et qu'il a les autorisations suffisantes, false sinon.
*/ */
private boolean checkAccountPermission(Message message){ private boolean checkAccountPermission(Message message){
return accountService.getAccountPermissionLevel(message.getUser()).compareTo(manager.getLevel(message.getType()))>=0; return accountService.isAccountRegistered(message.getUser()) && accountService.getAccountPermissionLevel(message.getUser()).compareTo(manager.getLevel(message.getType()))>=0;
} }
} }