Merge branch 'develop' into f/groupMessages
This commit is contained in:
		| @@ -40,7 +40,7 @@ public class Startup { | ||||
|  | ||||
| 	/** | ||||
| 	 * Initializes the logger with a new config instance. | ||||
| 	 *  | ||||
| 	 * | ||||
| 	 * @since Envoy Server Standalone v0.1-beta | ||||
| 	 */ | ||||
| 	private static void initLogging() { | ||||
| @@ -60,14 +60,15 @@ public class Startup { | ||||
| 	/** | ||||
| 	 * Starts the server. | ||||
| 	 * | ||||
| 	 * @param args the run configuration. Currently unused. | ||||
| 	 * @param args the run configuration. If it is "no-enter-to-stop" at position 0, | ||||
| 	 *             no command to read in an enter press will be generated | ||||
| 	 * @throws IOException if the server crashes | ||||
| 	 * @since Envoy Server Standalone v0.1-alpha | ||||
| 	 */ | ||||
| 	public static void main(String[] args) throws IOException { | ||||
| 		initLogging(); | ||||
|  | ||||
| 		Server server = new Server(8080, ObjectMessageReader::new, | ||||
| 		final Server server = new Server(8080, ObjectMessageReader::new, | ||||
| 				new ObjectMessageProcessor(Set.of(new LoginCredentialProcessor(), | ||||
| 						new MessageProcessor(), | ||||
| 						new GroupMessageProcessor(), | ||||
| @@ -80,16 +81,18 @@ public class Startup { | ||||
| 						new ContactOperationProcessor()))); | ||||
|  | ||||
| 		// Initialize the current message ID | ||||
| 		PersistenceManager persistenceManager = PersistenceManager.getInstance(); | ||||
| 		final PersistenceManager persistenceManager = PersistenceManager.getInstance(); | ||||
| 		if (persistenceManager.getConfigItemByID("currentMessageId") == null) | ||||
| 			persistenceManager.addConfigItem(new envoy.server.data.ConfigItem("currentMessageId", "0")); | ||||
|  | ||||
| 		server.start(); | ||||
| 		server.getSocketProcessor().registerSocketIdListener(ConnectionManager.getInstance()); | ||||
|  | ||||
| 		System.out.println("Press the return key to stop the server..."); | ||||
| 		System.in.read(); | ||||
| 		System.out.println("Stopped"); | ||||
| 		System.exit(0); | ||||
| 		if (args.length == 0 || !args[0].equalsIgnoreCase("no-enter-to-stop")) { | ||||
| 			System.out.println("Press the return key to stop the server..."); | ||||
| 			System.in.read(); | ||||
| 			System.out.println("Stopped"); | ||||
| 			System.exit(0); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -11,7 +11,7 @@ import javax.persistence.NamedQuery; | ||||
| import javax.persistence.Temporal; | ||||
| import javax.persistence.TemporalType; | ||||
|  | ||||
| import envoy.data.MessageBuilder; | ||||
| import envoy.data.Group; | ||||
|  | ||||
| /** | ||||
|  * Project: <strong>envoy-server-standalone</strong><br> | ||||
| @@ -71,15 +71,7 @@ public class GroupMessage extends Message { | ||||
| 	 */ | ||||
| 	@Override | ||||
| 	public envoy.data.GroupMessage toCommon() { | ||||
| 		// TODO: Attachment | ||||
| 		envoy.data.GroupMessage groupMessage = new MessageBuilder(sender.getID(), recipient.getID(), id).setCreationDate(creationDate) | ||||
| 			.setForwarded(forwarded) | ||||
| 			.setStatus(status) | ||||
| 			.setText(text) | ||||
| 			.buildGroupMessage((envoy.data.Group) recipient.toCommon(), new HashMap<>(memberMessageStatus)); | ||||
| 		groupMessage.setReceivedDate(receivedDate); | ||||
| 		groupMessage.setReadDate(readDate); | ||||
| 		return groupMessage; | ||||
| 		return prepareBuilder().buildGroupMessage((Group) recipient.toCommon(), new HashMap<>(memberMessageStatus)); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
|   | ||||
| @@ -6,6 +6,8 @@ import java.time.LocalDateTime; | ||||
|  | ||||
| import javax.persistence.*; | ||||
|  | ||||
| import envoy.data.Attachment; | ||||
| import envoy.data.Attachment.AttachmentType; | ||||
| import envoy.data.Message.MessageStatus; | ||||
| import envoy.data.MessageBuilder; | ||||
|  | ||||
| @@ -63,6 +65,7 @@ public class Message { | ||||
|  | ||||
| 	protected String							text; | ||||
| 	protected envoy.data.Message.MessageStatus	status; | ||||
| 	protected AttachmentType					attachmentType; | ||||
| 	protected byte[]							attachment; | ||||
| 	protected boolean							forwarded; | ||||
|  | ||||
| @@ -91,7 +94,10 @@ public class Message { | ||||
| 		sender			= persistenceManager.getUserByID(message.getSenderID()); | ||||
| 		recipient		= persistenceManager.getContactByID(message.getRecipientID()); | ||||
| 		forwarded		= message.isForwarded(); | ||||
| 		// TODO: Attachment | ||||
| 		if (message.hasAttachment()) { | ||||
| 			attachment		= message.getAttachment().getData(); | ||||
| 			attachmentType	= message.getAttachment().getType(); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| @@ -102,15 +108,23 @@ public class Message { | ||||
| 	 * @since Envoy Server Standalone v0.1-alpha | ||||
| 	 */ | ||||
| 	public envoy.data.Message toCommon() { | ||||
| 		// TODO: Attachment | ||||
| 		envoy.data.Message message = new MessageBuilder(sender.getID(), recipient.getID(), id).setText(text) | ||||
| 		return prepareBuilder().build(); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return a message builder containing the state of this message | ||||
| 	 * @since Envoy Server Standalone v0.1-beta | ||||
| 	 */ | ||||
| 	MessageBuilder prepareBuilder() { | ||||
| 		var builder = new MessageBuilder(sender.getID(), recipient.getID(), id).setText( | ||||
| 				text) | ||||
| 			.setCreationDate(creationDate) | ||||
| 			.setReceivedDate(receivedDate) | ||||
| 			.setReadDate(readDate) | ||||
| 			.setStatus(status) | ||||
| 			.setForwarded(forwarded) | ||||
| 			.build(); | ||||
| 		message.setReceivedDate(receivedDate); | ||||
| 		message.setReadDate(readDate); | ||||
| 		return message; | ||||
| 			.setForwarded(forwarded); | ||||
| 		if (attachment != null) builder.setAttachment(new Attachment(attachment, attachmentType)); | ||||
| 		return builder; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| @@ -250,6 +264,18 @@ public class Message { | ||||
| 	 */ | ||||
| 	public void setAttachment(byte[] attachment) { this.attachment = attachment; } | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the attachmentType | ||||
| 	 * @since Envoy Server Standalone v0.1-beta | ||||
| 	 */ | ||||
| 	public AttachmentType getAttachmentType() { return attachmentType; } | ||||
|  | ||||
| 	/** | ||||
| 	 * @param attachmentType the attachmentType to set | ||||
| 	 * @since Envoy Server Standalone v0.1-beta | ||||
| 	 */ | ||||
| 	public void setAttachmentType(AttachmentType attachmentType) { this.attachmentType = attachmentType; } | ||||
|  | ||||
| 	/** | ||||
| 	 * @return whether this message is a forwarded message | ||||
| 	 * @since Envoy Server Standalone v0.1-alpha | ||||
|   | ||||
| @@ -16,7 +16,6 @@ import java.util.logging.Logger; | ||||
|  | ||||
| import javax.persistence.NoResultException; | ||||
|  | ||||
| import enovy.server.util.VersionUtils; | ||||
| import envoy.data.LoginCredentials; | ||||
| import envoy.data.Message.MessageStatus; | ||||
| import envoy.event.GroupMessageStatusChange; | ||||
| @@ -27,6 +26,7 @@ import envoy.server.data.PersistenceManager; | ||||
| import envoy.server.data.User; | ||||
| import envoy.server.net.ConnectionManager; | ||||
| import envoy.server.net.ObjectWriteProxy; | ||||
| import envoy.server.util.VersionUtils; | ||||
| import envoy.util.Bounds; | ||||
| import envoy.util.EnvoyLog; | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| package enovy.server.util; | ||||
| package envoy.server.util; | ||||
| 
 | ||||
| import java.util.regex.Pattern; | ||||
| 
 | ||||
| @@ -8,4 +8,4 @@ | ||||
|  * @author Kai S. K. Engelbart | ||||
|  * @since Envoy Server Standalone v0.1-beta | ||||
|  */ | ||||
| package enovy.server.util; | ||||
| package envoy.server.util; | ||||
		Reference in New Issue
	
	Block a user
	 GitHub
						GitHub