Adjusted to event system refactoring
This commit is contained in:
		| @@ -92,12 +92,13 @@ org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled | |||||||
| org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning | org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning | ||||||
| org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled | org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled | ||||||
| org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled | org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info | ||||||
| org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled | org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled | ||||||
| org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore | org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore | ||||||
| org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning | org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning | ||||||
| org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning | org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning | ||||||
| org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled | org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled | ||||||
| org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning | org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore | ||||||
| org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning | org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning | ||||||
| org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore | org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore | ||||||
| org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning | org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning | ||||||
|   | |||||||
| @@ -1,41 +0,0 @@ | |||||||
| package envoy.client.event; |  | ||||||
|  |  | ||||||
| import envoy.data.User; |  | ||||||
| import envoy.event.ContactOperationEvent.Operation; |  | ||||||
| import envoy.event.Event; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * Project: <strong>envoy-client</strong><br> |  | ||||||
|  * File: <strong>AddContactEvent.java</strong><br> |  | ||||||
|  * Created: <strong>09.02.2020</strong><br> |  | ||||||
|  * |  | ||||||
|  * @author Maximilian Käfer |  | ||||||
|  * @since Envoy v0.3-alpha |  | ||||||
|  */ |  | ||||||
| public class AddContactEvent implements Event<User> { |  | ||||||
|  |  | ||||||
| 	private User		contact; |  | ||||||
| 	private Operation	operation; |  | ||||||
|  |  | ||||||
| 	private static final long serialVersionUID = 7855669140917046709L; |  | ||||||
|  |  | ||||||
| 	/** |  | ||||||
| 	 * Initializes a {@link AddContactEvent}. |  | ||||||
| 	 * |  | ||||||
| 	 * @param contact   the user to be added to the contacts |  | ||||||
| 	 * @param operation the operation, which should be executed |  | ||||||
| 	 * @since Envoy v0.3-alpha |  | ||||||
| 	 */ |  | ||||||
| 	public AddContactEvent(User contact, Operation operation) { |  | ||||||
| 		this.contact	= contact; |  | ||||||
| 		this.operation	= operation; |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	@Override |  | ||||||
| 	public User get() { return contact; } |  | ||||||
|  |  | ||||||
| 	/** |  | ||||||
| 	 * @return the operation, which should be executed |  | ||||||
| 	 */ |  | ||||||
| 	public Operation getOperation() { return operation; } |  | ||||||
| } |  | ||||||
| @@ -1,6 +1,7 @@ | |||||||
| package envoy.client.event; | package envoy.client.event; | ||||||
|  |  | ||||||
| import envoy.data.Message; | import envoy.data.Message; | ||||||
|  | import envoy.event.Event; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Project: <strong>envoy-client</strong><br> |  * Project: <strong>envoy-client</strong><br> | ||||||
| @@ -10,7 +11,7 @@ import envoy.data.Message; | |||||||
|  * @author Kai S. K. Engelbart |  * @author Kai S. K. Engelbart | ||||||
|  * @since Envoy v0.2-alpha |  * @since Envoy v0.2-alpha | ||||||
|  */ |  */ | ||||||
| public class MessageCreationEvent extends MessageEvent { | public class MessageCreationEvent extends Event<Message> { | ||||||
|  |  | ||||||
| 	private static final long serialVersionUID = -6451021678064566774L; | 	private static final long serialVersionUID = -6451021678064566774L; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,34 +0,0 @@ | |||||||
| package envoy.client.event; |  | ||||||
|  |  | ||||||
| import envoy.data.Message; |  | ||||||
| import envoy.event.Event; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * Project: <strong>envoy-client</strong><br> |  | ||||||
|  * File: <strong>MessageCreationEvent.java</strong><br> |  | ||||||
|  * Created: <strong>4 Dec 2019</strong><br> |  | ||||||
|  * |  | ||||||
|  * @author Kai S. K. Engelbart |  | ||||||
|  * @since Envoy v0.2-alpha |  | ||||||
|  */ |  | ||||||
| public class MessageEvent implements Event<Message> { |  | ||||||
|  |  | ||||||
| 	private static final long serialVersionUID = 7658989461923112804L; |  | ||||||
|  |  | ||||||
| 	/** |  | ||||||
| 	 * the {@link Message} attached to this {@link MessageEvent}. |  | ||||||
| 	 */ |  | ||||||
| 	protected final Message message; |  | ||||||
|  |  | ||||||
| 	/** |  | ||||||
| 	 * Initializes a {@link MessageEvent} conveying information about a |  | ||||||
| 	 * {@link Message} object. |  | ||||||
| 	 * |  | ||||||
| 	 * @param message the {@link Message} object to attach to this event |  | ||||||
| 	 * @since Envoy v0.2-alpha |  | ||||||
| 	 */ |  | ||||||
| 	public MessageEvent(Message message) { this.message = message; } |  | ||||||
|  |  | ||||||
| 	@Override |  | ||||||
| 	public Message get() { return message; } |  | ||||||
| } |  | ||||||
| @@ -1,6 +1,7 @@ | |||||||
| package envoy.client.event; | package envoy.client.event; | ||||||
|  |  | ||||||
| import envoy.data.Message; | import envoy.data.Message; | ||||||
|  | import envoy.event.Event; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Project: <strong>envoy-client</strong><br> |  * Project: <strong>envoy-client</strong><br> | ||||||
| @@ -10,7 +11,7 @@ import envoy.data.Message; | |||||||
|  * @author Kai S. K. Engelbart |  * @author Kai S. K. Engelbart | ||||||
|  * @since Envoy v0.2-alpha |  * @since Envoy v0.2-alpha | ||||||
|  */ |  */ | ||||||
| public class MessageModificationEvent extends MessageEvent { | public class MessageModificationEvent extends Event<Message> { | ||||||
|  |  | ||||||
| 	private static final long serialVersionUID = 4650039506439563116L; | 	private static final long serialVersionUID = 4650039506439563116L; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,32 +0,0 @@ | |||||||
| package envoy.client.event; |  | ||||||
|  |  | ||||||
| import java.util.List; |  | ||||||
|  |  | ||||||
| import envoy.data.User; |  | ||||||
| import envoy.event.Event; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * Project: <strong>envoy-client</strong><br> |  | ||||||
|  * File: <strong>SearchResultEvent.java</strong><br> |  | ||||||
|  * Created: <strong>08.02.2020</strong><br> |  | ||||||
|  *  |  | ||||||
|  * @author Maximilian Käfer |  | ||||||
|  * @since Envoy v0.3-alpha |  | ||||||
|  */ |  | ||||||
| public class SearchResultEvent implements Event<List<User>> { |  | ||||||
|  |  | ||||||
| 	private final List<User> resultList; |  | ||||||
|  |  | ||||||
| 	private static final long serialVersionUID = 2540321329192201277L; |  | ||||||
|  |  | ||||||
| 	/** |  | ||||||
| 	 * Initializes a {@link SearchResultEvent} |  | ||||||
| 	 *  |  | ||||||
| 	 * @param resultList the List containing the contacts sent from the server |  | ||||||
| 	 * @since Envoy v0.3-alpha |  | ||||||
| 	 */ |  | ||||||
| 	public SearchResultEvent(List<User> resultList) { this.resultList = resultList; } |  | ||||||
|  |  | ||||||
| 	@Override |  | ||||||
| 	public List<User> get() { return resultList; } |  | ||||||
| } |  | ||||||
| @@ -11,10 +11,9 @@ import envoy.event.Event; | |||||||
|  * @author Kai S. K. Engelbart |  * @author Kai S. K. Engelbart | ||||||
|  * @since Envoy v0.2-alpha |  * @since Envoy v0.2-alpha | ||||||
|  */ |  */ | ||||||
| public class ThemeChangeEvent implements Event<Theme> { | public class ThemeChangeEvent extends Event<Theme> { | ||||||
|  |  | ||||||
| 	private static final long	serialVersionUID	= 6756772448803774547L; | 	private static final long	serialVersionUID	= 6756772448803774547L; | ||||||
| 	private final Theme			theme; |  | ||||||
|  |  | ||||||
| 	/** | 	/** | ||||||
| 	 * Initializes a {@link ThemeChangeEvent} conveying information about the change | 	 * Initializes a {@link ThemeChangeEvent} conveying information about the change | ||||||
| @@ -23,8 +22,5 @@ public class ThemeChangeEvent implements Event<Theme> { | |||||||
| 	 * @param theme the new currently used {@link Theme} object | 	 * @param theme the new currently used {@link Theme} object | ||||||
| 	 * @since Envoy v0.2-alpha | 	 * @since Envoy v0.2-alpha | ||||||
| 	 */ | 	 */ | ||||||
| 	public ThemeChangeEvent(Theme theme) { this.theme = theme; } | 	public ThemeChangeEvent(Theme theme) { super(theme); } | ||||||
|  |  | ||||||
| 	@Override |  | ||||||
| 	public Theme get() { return theme; } |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -12,7 +12,6 @@ import javax.naming.TimeLimitExceededException; | |||||||
| import envoy.client.data.Cache; | import envoy.client.data.Cache; | ||||||
| import envoy.client.data.Config; | import envoy.client.data.Config; | ||||||
| import envoy.client.data.LocalDb; | import envoy.client.data.LocalDb; | ||||||
| import envoy.client.event.SearchResultEvent; |  | ||||||
| import envoy.client.util.EnvoyLog; | import envoy.client.util.EnvoyLog; | ||||||
| import envoy.data.*; | import envoy.data.*; | ||||||
| import envoy.event.*; | import envoy.event.*; | ||||||
| @@ -115,7 +114,7 @@ public class Client implements Closeable { | |||||||
| 		receiver.registerProcessor(IdGenerator.class, localDb::setIdGenerator); | 		receiver.registerProcessor(IdGenerator.class, localDb::setIdGenerator); | ||||||
|  |  | ||||||
| 		// Process contact searches | 		// Process contact searches | ||||||
| 		receiver.registerProcessor(Contacts.class, contacts -> EventBus.getInstance().dispatch(new SearchResultEvent(contacts.getContacts()))); | 		receiver.registerProcessor(ContactSearchResult.class, EventBus.getInstance()::dispatch); | ||||||
|  |  | ||||||
| 		// Request a generator if none is present or the existing one is consumed | 		// Request a generator if none is present or the existing one is consumed | ||||||
| 		if (!localDb.hasIdGenerator() || !localDb.getIdGenerator().hasNext()) requestIdGenerator(); | 		if (!localDb.hasIdGenerator() || !localDb.getIdGenerator().hasNext()) requestIdGenerator(); | ||||||
|   | |||||||
| @@ -35,7 +35,6 @@ public class Receiver implements Runnable { | |||||||
| 	 */ | 	 */ | ||||||
| 	public Receiver(InputStream in) { this.in = in; } | 	public Receiver(InputStream in) { this.in = in; } | ||||||
|  |  | ||||||
| 	@SuppressWarnings("unchecked") |  | ||||||
| 	@Override | 	@Override | ||||||
| 	public void run() { | 	public void run() { | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,6 +4,7 @@ import java.awt.*; | |||||||
| import java.awt.event.KeyAdapter; | import java.awt.event.KeyAdapter; | ||||||
| import java.awt.event.KeyEvent; | import java.awt.event.KeyEvent; | ||||||
| import java.io.IOException; | import java.io.IOException; | ||||||
|  | import java.util.List; | ||||||
| import java.util.logging.Level; | import java.util.logging.Level; | ||||||
| import java.util.logging.Logger; | import java.util.logging.Logger; | ||||||
|  |  | ||||||
| @@ -15,7 +16,8 @@ import javax.swing.event.DocumentListener; | |||||||
| import envoy.client.Settings; | import envoy.client.Settings; | ||||||
| import envoy.client.data.Chat; | import envoy.client.data.Chat; | ||||||
| import envoy.client.data.LocalDb; | import envoy.client.data.LocalDb; | ||||||
| import envoy.client.event.*; | import envoy.client.event.MessageCreationEvent; | ||||||
|  | import envoy.client.event.ThemeChangeEvent; | ||||||
| import envoy.client.net.Client; | import envoy.client.net.Client; | ||||||
| import envoy.client.net.WriteProxy; | import envoy.client.net.WriteProxy; | ||||||
| import envoy.client.ui.list.ComponentList; | import envoy.client.ui.list.ComponentList; | ||||||
| @@ -27,7 +29,6 @@ import envoy.data.Message.MessageStatus; | |||||||
| import envoy.data.MessageBuilder; | import envoy.data.MessageBuilder; | ||||||
| import envoy.data.User; | import envoy.data.User; | ||||||
| import envoy.event.*; | import envoy.event.*; | ||||||
| import envoy.event.ContactOperationEvent.Operation; |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Project: <strong>envoy-client</strong><br> |  * Project: <strong>envoy-client</strong><br> | ||||||
| @@ -189,7 +190,6 @@ public class ChatWindow extends JFrame { | |||||||
| 		userList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); | 		userList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); | ||||||
| 		userList.addListSelectionListener((listSelectionEvent) -> { | 		userList.addListSelectionListener((listSelectionEvent) -> { | ||||||
| 			if (client != null && localDb != null && !listSelectionEvent.getValueIsAdjusting()) { | 			if (client != null && localDb != null && !listSelectionEvent.getValueIsAdjusting()) { | ||||||
| 				@SuppressWarnings("unchecked") |  | ||||||
| 				final JList<User>	selectedUserList	= (JList<User>) listSelectionEvent.getSource(); | 				final JList<User>	selectedUserList	= (JList<User>) listSelectionEvent.getSource(); | ||||||
| 				final User			user				= selectedUserList.getSelectedValue(); | 				final User			user				= selectedUserList.getSelectedValue(); | ||||||
|  |  | ||||||
| @@ -400,24 +400,25 @@ public class ChatWindow extends JFrame { | |||||||
| 			repaint(); | 			repaint(); | ||||||
| 		}); | 		}); | ||||||
|  |  | ||||||
| 		EventBus.getInstance().register(SearchResultEvent.class, (evt) -> { | 		EventBus.getInstance().register(ContactSearchResult.class, (evt) -> { | ||||||
| 			contactsModel.clear(); | 			contactsModel.clear(); | ||||||
| 			final java.util.List<User> contacts = ((SearchResultEvent) evt).get(); | 			final java.util.List<User> contacts = (List<User>) evt.get(); | ||||||
| 			logger.info("Received contact search result " + contacts); | 			logger.info("Received contact search result " + contacts); | ||||||
| 			contacts.forEach(contactsModel::add); | 			contacts.forEach(contactsModel::add); | ||||||
| 			revalidate(); | 			revalidate(); | ||||||
| 			repaint(); | 			repaint(); | ||||||
| 		}); | 		}); | ||||||
|  |  | ||||||
| 		EventBus.getInstance().register(AddContactEvent.class, (evt) -> { | 		EventBus.getInstance().register(ContactOperationEvent.class, (evt) -> { | ||||||
| 			User		contact		= ((AddContactEvent) evt).get(); |  | ||||||
| 			Operation	operation	= ((AddContactEvent) evt).getOperation(); |  | ||||||
| 			try { | 			try { | ||||||
| 				client.sendEvent(new ContactOperationEvent(contact, operation)); | 				client.sendEvent(evt); | ||||||
| 			} catch (IOException e) { | 			} catch (IOException e) { | ||||||
| 				e.printStackTrace(); | 				e.printStackTrace(); | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
|  | 			User contact = (User) evt.get(); | ||||||
|  |  | ||||||
| 			// Clearing the search field and the searchResultList | 			// Clearing the search field and the searchResultList | ||||||
| 			searchField.setText(""); | 			searchField.setText(""); | ||||||
| 			contactsModel.clear(); | 			contactsModel.clear(); | ||||||
|   | |||||||
| @@ -7,7 +7,6 @@ import java.awt.Font; | |||||||
| import javax.swing.*; | import javax.swing.*; | ||||||
|  |  | ||||||
| import envoy.client.Settings; | import envoy.client.Settings; | ||||||
| import envoy.client.event.AddContactEvent; |  | ||||||
| import envoy.client.ui.list.ComponentList; | import envoy.client.ui.list.ComponentList; | ||||||
| import envoy.client.ui.list.ComponentListCellRenderer; | import envoy.client.ui.list.ComponentListCellRenderer; | ||||||
| import envoy.data.User; | import envoy.data.User; | ||||||
| @@ -62,7 +61,7 @@ public class ContactsSearchRenderer implements ComponentListCellRenderer<User> { | |||||||
| 		add.setBackground(list.getBackground()); | 		add.setBackground(list.getBackground()); | ||||||
| 		add.setForeground(list.getForeground()); | 		add.setForeground(list.getForeground()); | ||||||
|  |  | ||||||
| 		add.addActionListener((evt) -> { EventBus.getInstance().dispatch(new AddContactEvent(value, ContactOperationEvent.Operation.ADD)); }); | 		add.addActionListener((evt) -> { EventBus.getInstance().dispatch(new ContactOperationEvent(value, ContactOperationEvent.Operation.ADD)); }); | ||||||
|  |  | ||||||
| 		panel.add(add); | 		panel.add(add); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user