Fixed incorrect error handling, upgraded appearance of this processor
This commit is contained in:
		| @@ -33,24 +33,20 @@ public class MessageStatusChangeProcessor implements ObjectProcessor<MessageStat | |||||||
| 	@Override | 	@Override | ||||||
| 	public void process(MessageStatusChangeEvent input, long socketId, ObjectWriteProxy writeProxy) throws IOException { | 	public void process(MessageStatusChangeEvent input, long socketId, ObjectWriteProxy writeProxy) throws IOException { | ||||||
| 		try { | 		try { | ||||||
| 			if (!(input.get() == MessageStatus.READ))// check that no invalid MessageStatuses are sent | 			// any other status than read is not supposed to be sent to the server | ||||||
| 				throw new EnvoyException("Message" + input.getId() + "has an invalid status"); | 			if (!(input.get() == MessageStatus.READ)) throw new EnvoyException("Message" + input.getId() + "has an invalid status"); | ||||||
|  | 		} catch (EnvoyException e) { | ||||||
| 			ConnectionManager			conMan	= ConnectionManager.getInstance(); |  | ||||||
| 			PersistenceManager			perMan	= PersistenceManager.getPersistenceManager(); |  | ||||||
| 			envoy.server.data.Message	msg		= perMan.getMessageById(input.getId()); |  | ||||||
|  |  | ||||||
| 			msg.setStatus(input.get()); |  | ||||||
| 			msg.setReadDate(input.getDate()); |  | ||||||
|  |  | ||||||
| 			if (conMan.isOnline(msg.getRecipient().getId())) writeProxy.write(conMan.getSocketId(msg.getRecipient().getId()), input); |  | ||||||
|  |  | ||||||
| 			perMan.updateMessage(msg); |  | ||||||
|  |  | ||||||
| 		} catch (IOException | EnvoyException e) { |  | ||||||
| 			if (e.getClass() == IOException.class) |  | ||||||
| 				System.err.println("Recipient online. Failed to send MessageStatusChangedMessageStatusChangeEvent at message" + input.getId()); |  | ||||||
| 			e.printStackTrace(); | 			e.printStackTrace(); | ||||||
|  | 			return; | ||||||
| 		} | 		} | ||||||
|  | 		ConnectionManager	conMan	= ConnectionManager.getInstance(); | ||||||
|  | 		PersistenceManager	perMan	= PersistenceManager.getPersistenceManager(); | ||||||
|  |  | ||||||
|  | 		envoy.server.data.Message msg = perMan.getMessageById(input.getId()); | ||||||
|  | 		msg.setStatus(input.get()); | ||||||
|  | 		msg.setReadDate(input.getDate()); | ||||||
|  | 		perMan.updateMessage(msg); | ||||||
|  |  | ||||||
|  | 		if (conMan.isOnline(msg.getRecipient().getId())) writeProxy.write(conMan.getSocketId(msg.getRecipient().getId()), input); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 delvh
					delvh