mirror of
				https://github.com/klmp200/PQT_Gestionnaire_vente_stock.git
				synced 2025-10-31 09:03:08 +00:00 
			
		
		
		
	Initial commit : ajout des fichiers existants
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								Documentation/Diagrammes/diagrammes.asta
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Documentation/Diagrammes/diagrammes.asta
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Documentation/Interactions_serveur-clients.ods
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Documentation/Interactions_serveur-clients.ods
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Documentation/Interface/recherche_docu/12_labventory3.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Documentation/Interface/recherche_docu/12_labventory3.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 674 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Documentation/Interface/recherche_docu/Lightstock-screen.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Documentation/Interface/recherche_docu/Lightstock-screen.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 41 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Documentation/Interface/recherche_docu/VenteTactile.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Documentation/Interface/recherche_docu/VenteTactile.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 137 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Documentation/Interface/recherche_docu/caisse.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Documentation/Interface/recherche_docu/caisse.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 380 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Documentation/Interface/recherche_docu/flx42.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Documentation/Interface/recherche_docu/flx42.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 103 KiB | 
							
								
								
									
										1
									
								
								Workspace/.idea/.name
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								Workspace/.idea/.name
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | Main | ||||||
							
								
								
									
										20
									
								
								Workspace/.idea/compiler.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								Workspace/.idea/compiler.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project version="4"> | ||||||
|  |   <component name="CompilerConfiguration"> | ||||||
|  |     <annotationProcessing> | ||||||
|  |       <profile name="Maven default annotation processors profile" enabled="true"> | ||||||
|  |         <sourceOutputDir name="target/generated-sources/annotations" /> | ||||||
|  |         <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> | ||||||
|  |         <outputRelativeToContentRoot value="true" /> | ||||||
|  |         <module name="client" /> | ||||||
|  |         <module name="core" /> | ||||||
|  |       </profile> | ||||||
|  |     </annotationProcessing> | ||||||
|  |     <bytecodeTargetLevel> | ||||||
|  |       <module name="client" target="1.8" /> | ||||||
|  |       <module name="core" target="1.8" /> | ||||||
|  |       <module name="server" target="1.5" /> | ||||||
|  |       <module name="Workspace" target="1.8" /> | ||||||
|  |     </bytecodeTargetLevel> | ||||||
|  |   </component> | ||||||
|  | </project> | ||||||
							
								
								
									
										18
									
								
								Workspace/.idea/misc.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								Workspace/.idea/misc.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project version="4"> | ||||||
|  |   <component name="MavenProjectsManager"> | ||||||
|  |     <option name="originalFiles"> | ||||||
|  |       <list> | ||||||
|  |         <option value="$PROJECT_DIR$/pom.xml" /> | ||||||
|  |       </list> | ||||||
|  |     </option> | ||||||
|  |     <option name="ignoredFiles"> | ||||||
|  |       <set> | ||||||
|  |         <option value="$PROJECT_DIR$/server/pom.xml" /> | ||||||
|  |       </set> | ||||||
|  |     </option> | ||||||
|  |   </component> | ||||||
|  |   <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK"> | ||||||
|  |     <output url="file://$PROJECT_DIR$/out" /> | ||||||
|  |   </component> | ||||||
|  | </project> | ||||||
							
								
								
									
										10
									
								
								Workspace/.idea/modules.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								Workspace/.idea/modules.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project version="4"> | ||||||
|  |   <component name="ProjectModuleManager"> | ||||||
|  |     <modules> | ||||||
|  |       <module fileurl="file://$PROJECT_DIR$/Workspace.iml" filepath="$PROJECT_DIR$/Workspace.iml" /> | ||||||
|  |       <module fileurl="file://$PROJECT_DIR$/client/client.iml" filepath="$PROJECT_DIR$/client/client.iml" /> | ||||||
|  |       <module fileurl="file://$PROJECT_DIR$/core/core.iml" filepath="$PROJECT_DIR$/core/core.iml" /> | ||||||
|  |     </modules> | ||||||
|  |   </component> | ||||||
|  | </project> | ||||||
							
								
								
									
										1330
									
								
								Workspace/.idea/workspace.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										1330
									
								
								Workspace/.idea/workspace.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										15
									
								
								Workspace/Workspace.iml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								Workspace/Workspace.iml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> | ||||||
|  |   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> | ||||||
|  |     <output url="file://$MODULE_DIR$/target/classes" /> | ||||||
|  |     <output-test url="file://$MODULE_DIR$/target/test-classes" /> | ||||||
|  |     <content url="file://$MODULE_DIR$"> | ||||||
|  |       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> | ||||||
|  |       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> | ||||||
|  |       <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> | ||||||
|  |       <excludeFolder url="file://$MODULE_DIR$/target" /> | ||||||
|  |     </content> | ||||||
|  |     <orderEntry type="inheritedJdk" /> | ||||||
|  |     <orderEntry type="sourceFolder" forTests="false" /> | ||||||
|  |   </component> | ||||||
|  | </module> | ||||||
							
								
								
									
										16
									
								
								Workspace/client/client.iml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								Workspace/client/client.iml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> | ||||||
|  |   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> | ||||||
|  |     <output url="file://$MODULE_DIR$/target/classes" /> | ||||||
|  |     <output-test url="file://$MODULE_DIR$/target/test-classes" /> | ||||||
|  |     <content url="file://$MODULE_DIR$"> | ||||||
|  |       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> | ||||||
|  |       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> | ||||||
|  |       <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> | ||||||
|  |       <excludeFolder url="file://$MODULE_DIR$/target" /> | ||||||
|  |     </content> | ||||||
|  |     <orderEntry type="inheritedJdk" /> | ||||||
|  |     <orderEntry type="sourceFolder" forTests="false" /> | ||||||
|  |     <orderEntry type="module" module-name="core" /> | ||||||
|  |   </component> | ||||||
|  | </module> | ||||||
							
								
								
									
										22
									
								
								Workspace/client/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								Workspace/client/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0" | ||||||
|  |          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  |          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||||
|  |     <parent> | ||||||
|  |         <artifactId>Main</artifactId> | ||||||
|  |         <groupId>com.pqt</groupId> | ||||||
|  |         <version>1.0-SNAPSHOT</version> | ||||||
|  |     </parent> | ||||||
|  |     <modelVersion>4.0.0</modelVersion> | ||||||
|  |  | ||||||
|  |     <artifactId>client</artifactId> | ||||||
|  |     <dependencies> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.pqt</groupId> | ||||||
|  |             <artifactId>core</artifactId> | ||||||
|  |             <version>1.0-SNAPSHOT</version> | ||||||
|  |         </dependency> | ||||||
|  |     </dependencies> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | </project> | ||||||
| @@ -0,0 +1,45 @@ | |||||||
|  | package com.pqt.client.module.account; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.user_account.Account; | ||||||
|  | import com.pqt.client.module.account.listeners.IAccountListener; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | //TODO add log lines | ||||||
|  | public class AccountService { | ||||||
|  |  | ||||||
|  | 	public Account getCurrentAccount() { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void setCurrentAccount(Account account) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public boolean isAccountLoggedIn(Account account) { | ||||||
|  | 		return false; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void logInCurrentAccount(String password) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void logOutCurrentAccount(String password) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public List<Account> getRecentAccounts() { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void addListener(IAccountListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void removeListener(IAccountListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,15 @@ | |||||||
|  | package com.pqt.client.module.account.listeners; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class AccountListenerAdapter implements IAccountListener { | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.account.listeners.IAccountListener#onAccountStatusChanged(boolean) | ||||||
|  | 	 */ | ||||||
|  | 	public void onAccountStatusChanged(boolean status) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,11 @@ | |||||||
|  | package com.pqt.client.module.account.listeners; | ||||||
|  |  | ||||||
|  | public interface IAccountFirerer { | ||||||
|  |  | ||||||
|  | 	public void fireAccountStatusChanged(boolean status); | ||||||
|  |  | ||||||
|  | 	public abstract void addListener(IAccountListener listener); | ||||||
|  |  | ||||||
|  | 	public abstract void removeListener(IAccountListener listener); | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,9 @@ | |||||||
|  | package com.pqt.client.module.account.listeners; | ||||||
|  |  | ||||||
|  | import java.util.EventListener; | ||||||
|  |  | ||||||
|  | public interface IAccountListener extends EventListener { | ||||||
|  |  | ||||||
|  | 	public void onAccountStatusChanged(boolean status); | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,31 @@ | |||||||
|  | package com.pqt.client.module.account.listeners; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class SimpleAccountFirerer implements IAccountFirerer { | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.account.listeners.IAccountFirerer#fireAccountStatusChanged(boolean) | ||||||
|  | 	 */ | ||||||
|  | 	public void fireAccountStatusChanged(boolean status) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.account.listeners.IAccountFirerer#addListener(com.pqt.client.module.account.listeners.IAccountListener) | ||||||
|  | 	 */ | ||||||
|  | 	public void addListener(IAccountListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.account.listeners.IAccountFirerer#removeListener(com.pqt.client.module.account.listeners.IAccountListener) | ||||||
|  | 	 */ | ||||||
|  | 	public void removeListener(IAccountListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,46 @@ | |||||||
|  | package com.pqt.client.module.connection; | ||||||
|  |  | ||||||
|  | import com.pqt.client.module.connection.listeners.IConnectionListener; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | //TODO add log lines? | ||||||
|  | public class ConnectionService { | ||||||
|  |  | ||||||
|  | 	public boolean isConnectedToServer() { | ||||||
|  | 		return false; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void connectToServer(String ip_address) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void disconnectFromServer() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public String getCurrentServerIpAddress() { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void start() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void stop() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void sendText(String text) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void addListener(IConnectionListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void removeListener(IConnectionListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,37 @@ | |||||||
|  | package com.pqt.client.module.connection.listeners; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class ConnectionListenerAdapter implements IConnectionListener { | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.connection.listeners.IConnectionListener#onMessageReceivedEvent(String) | ||||||
|  | 	 *  | ||||||
|  | 	 *   | ||||||
|  | 	 */ | ||||||
|  | 	public void onMessageReceivedEvent(String msg) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.connection.listeners.IConnectionListener#onConnectedEvent() | ||||||
|  | 	 *  | ||||||
|  | 	 *   | ||||||
|  | 	 */ | ||||||
|  | 	public void onConnectedEvent() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.connection.listeners.IConnectionListener#onDisconnectedEvent() | ||||||
|  | 	 *  | ||||||
|  | 	 *   | ||||||
|  | 	 */ | ||||||
|  | 	public void onDisconnectedEvent() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,15 @@ | |||||||
|  | package com.pqt.client.module.connection.listeners; | ||||||
|  |  | ||||||
|  | public interface IConnectionFirerer { | ||||||
|  |  | ||||||
|  | 	public abstract void fireMessageReceivedEvent(String msg); | ||||||
|  |  | ||||||
|  | 	public abstract void fireConnectedEvent(); | ||||||
|  |  | ||||||
|  | 	public abstract void fireDisconnectedEvent(); | ||||||
|  |  | ||||||
|  | 	public abstract void addListener(IConnectionListener listener); | ||||||
|  |  | ||||||
|  | 	public abstract void removeListener(IConnectionListener listener); | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | package com.pqt.client.module.connection.listeners; | ||||||
|  |  | ||||||
|  | import java.util.EventListener; | ||||||
|  |  | ||||||
|  | public interface IConnectionListener extends EventListener { | ||||||
|  |  | ||||||
|  | 	public abstract void onMessageReceivedEvent(String msg); | ||||||
|  |  | ||||||
|  | 	public abstract void onConnectedEvent(); | ||||||
|  |  | ||||||
|  | 	public abstract void onDisconnectedEvent(); | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,49 @@ | |||||||
|  | package com.pqt.client.module.connection.listeners; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class SimpleConnectionFirerer implements IConnectionFirerer { | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.connection.listeners.IConnectionFirerer#fireMessageReceivedEvent(String) | ||||||
|  | 	 *  | ||||||
|  | 	 *   | ||||||
|  | 	 */ | ||||||
|  | 	public void fireMessageReceivedEvent(String msg) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.connection.listeners.IConnectionFirerer#fireConnectedEvent() | ||||||
|  | 	 */ | ||||||
|  | 	public void fireConnectedEvent() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.connection.listeners.IConnectionFirerer#fireDisconnectedEvent() | ||||||
|  | 	 */ | ||||||
|  | 	public void fireDisconnectedEvent() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.connection.listeners.IConnectionFirerer#addListener(com.pqt.client.module.connection.listeners.IConnectionListener) | ||||||
|  | 	 */ | ||||||
|  | 	public void addListener(IConnectionListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.connection.listeners.IConnectionFirerer#removeListener(com.pqt.client.module.connection.listeners.IConnectionListener) | ||||||
|  | 	 */ | ||||||
|  | 	public void removeListener(IConnectionListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,8 @@ | |||||||
|  | package com.pqt.client.module.log; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.log.LogLine; | ||||||
|  | import com.pqt.core.entities.log.ILoggable; | ||||||
|  |  | ||||||
|  | public interface ILogLineMaker { | ||||||
|  | 	LogLine make(ILoggable loggable); | ||||||
|  | } | ||||||
| @@ -0,0 +1,23 @@ | |||||||
|  | package com.pqt.client.module.log; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class LogLineMakerManager { | ||||||
|  |  | ||||||
|  | 	public ILogLineMaker getMaker(Class clazz) { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public boolean setMaker(Class clazz, ILogLineMaker maker) { | ||||||
|  | 		return false; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public ILogLineMaker getDefaultMaker() { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public boolean setDefaultMaker(ILogLineMaker maker) { | ||||||
|  | 		return false; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,28 @@ | |||||||
|  | package com.pqt.client.module.log; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.log.ILoggable; | ||||||
|  | import com.pqt.core.entities.log.LogLine; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class LogService { | ||||||
|  |  | ||||||
|  | 	public void log(ILoggable loggable) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public List<LogLine> getAllLogs() { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public List<LogLine> getLastLogs(int number) { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public List<LogLine> getLastLogs(int number, int offset) { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,11 @@ | |||||||
|  | package com.pqt.client.module.log.listeners; | ||||||
|  |  | ||||||
|  | public interface ILogFirerer { | ||||||
|  |  | ||||||
|  | 	public abstract void addListener(ILogListener listener); | ||||||
|  |  | ||||||
|  | 	public abstract void removeListener(ILogListener listener); | ||||||
|  |  | ||||||
|  | 	public abstract void fireLogEvent(); | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,9 @@ | |||||||
|  | package com.pqt.client.module.log.listeners; | ||||||
|  |  | ||||||
|  | import java.util.EventListener; | ||||||
|  |  | ||||||
|  | public interface ILogListener extends EventListener { | ||||||
|  |  | ||||||
|  | 	public abstract void onLogEvent(); | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,17 @@ | |||||||
|  | package com.pqt.client.module.log.listeners; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class LogListenerAdapter implements ILogListener { | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.log.listeners.ILogListener#onLogEvent() | ||||||
|  | 	 *  | ||||||
|  | 	 *   | ||||||
|  | 	 */ | ||||||
|  | 	public void onLogEvent() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,33 @@ | |||||||
|  | package com.pqt.client.module.log.listeners; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class SimpleLogFirerer implements ILogFirerer { | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.log.listeners.ILogFirerer#addListener(com.pqt.client.module.log.listeners.ILogListener) | ||||||
|  | 	 */ | ||||||
|  | 	public void addListener(ILogListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.log.listeners.ILogFirerer#removeListener(com.pqt.client.module.log.listeners.ILogListener) | ||||||
|  | 	 */ | ||||||
|  | 	public void removeListener(ILogListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.log.listeners.ILogFirerer#fireLogEvent() | ||||||
|  | 	 *  | ||||||
|  | 	 *   | ||||||
|  | 	 */ | ||||||
|  | 	public void fireLogEvent() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,35 @@ | |||||||
|  | package com.pqt.client.module.query; | ||||||
|  |  | ||||||
|  | import com.pqt.client.module.query.query_callback.IUpdateQueryCallback; | ||||||
|  | import com.pqt.core.entities.query.IQuery; | ||||||
|  | import com.pqt.client.module.query.query_callback.ISimpleQueryCallback; | ||||||
|  | import com.pqt.client.module.query.query_callback.IStatQueryCallback; | ||||||
|  | import com.pqt.client.module.query.query_callback.IStockQueryCallback; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class QueryExecutor { | ||||||
|  |  | ||||||
|  | 	public static final QueryExecutor INSTANCE = new QueryExecutor(); | ||||||
|  |  | ||||||
|  | 	private QueryExecutor(){ | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public long execute(IQuery query, ISimpleQueryCallback callback) { | ||||||
|  |         return 0; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public long execute(IQuery query, IStatQueryCallback callback) { | ||||||
|  |         return 0; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public long execute(IQuery query, IStockQueryCallback callback) { | ||||||
|  |         return 0; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |     public long execute(IQuery query, IUpdateQueryCallback callback) { | ||||||
|  |         return 0; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,38 @@ | |||||||
|  | package com.pqt.client.module.query; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.product.ProductUpdate; | ||||||
|  | import com.pqt.core.entities.query.IQuery; | ||||||
|  | import com.pqt.core.entities.sale.Sale; | ||||||
|  | import com.pqt.core.entities.user_account.Account; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class QueryFactory { | ||||||
|  |  | ||||||
|  | 	public static IQuery newConnectQuery(String serverAddress) { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public static IQuery newSaleQuery(Sale sale) { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public static IQuery newStockQuery() { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public static IQuery newStatQuery() { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public static IQuery newLogQuery(Account account, boolean state) { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public static IQuery newUpdateQuery(List<ProductUpdate> updates) { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | package com.pqt.client.module.query.query_callback; | ||||||
|  |  | ||||||
|  | public interface ISimpleQueryCallback { | ||||||
|  | 	public void ack(); | ||||||
|  | 	public void err(Throwable cause); | ||||||
|  | 	public void ref(Throwable cause); | ||||||
|  | } | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | package com.pqt.client.module.query.query_callback; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import java.util.Map; | ||||||
|  |  | ||||||
|  | public interface IStatQueryCallback { | ||||||
|  | 	public void ack(Map<String,String> stats); | ||||||
|  | 	public void err(Throwable cause); | ||||||
|  | 	public void ref(Throwable cause); | ||||||
|  | } | ||||||
| @@ -0,0 +1,11 @@ | |||||||
|  | package com.pqt.client.module.query.query_callback; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.product.Product; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | public interface IStockQueryCallback { | ||||||
|  | 	public void ack(List<Product> products); | ||||||
|  | 	public void err(Throwable cause); | ||||||
|  | 	public void ref(Throwable cause); | ||||||
|  | } | ||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | package com.pqt.client.module.query.query_callback; | ||||||
|  |  | ||||||
|  | public interface IUpdateQueryCallback { | ||||||
|  |     public void ack(long id); | ||||||
|  |     public void err(long id, Throwable cause); | ||||||
|  |     public void ref(long id, Throwable cause); | ||||||
|  | } | ||||||
| @@ -0,0 +1,28 @@ | |||||||
|  | package com.pqt.client.module.sale; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.product.Product; | ||||||
|  | import com.pqt.core.entities.sale.Sale; | ||||||
|  |  | ||||||
|  | import java.util.Map; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class SaleBuilder { | ||||||
|  |  | ||||||
|  | 	public boolean addProduct(Product product) { | ||||||
|  | 		return false; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public boolean removeProduct(Product product) { | ||||||
|  | 		return false; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public Map<Product,Integer> getCurrentProductList() { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public Sale build() { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,30 @@ | |||||||
|  | package com.pqt.client.module.sale; | ||||||
|  |  | ||||||
|  | import com.pqt.client.module.sale.listeners.ISaleListener; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | //TODO add log lines | ||||||
|  | public class SaleService { | ||||||
|  |  | ||||||
|  | 	public void getNewSaleBuilder() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void commitSale(SaleBuilder saleBuilder) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void revertSale(int saleId) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void addListener(ISaleListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void removeListener(ISaleListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,17 @@ | |||||||
|  | package com.pqt.client.module.sale.listeners; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.sale.Sale; | ||||||
|  |  | ||||||
|  | public interface ISaleFirerer { | ||||||
|  |  | ||||||
|  | 	public abstract void fireSaleValidationSuccess(Sale sale); | ||||||
|  |  | ||||||
|  | 	public abstract void fireSaleValidationError(Sale sale, Throwable cause); | ||||||
|  |  | ||||||
|  | 	public abstract void fireSaleValidationRefused(Sale sale, Throwable cause); | ||||||
|  |  | ||||||
|  | 	public abstract void addListener(ISaleListener listener); | ||||||
|  |  | ||||||
|  | 	public abstract void removeListener(ISaleListener listener); | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,15 @@ | |||||||
|  | package com.pqt.client.module.sale.listeners; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.sale.Sale; | ||||||
|  |  | ||||||
|  | import java.util.EventListener; | ||||||
|  |  | ||||||
|  | public interface ISaleListener extends EventListener { | ||||||
|  |  | ||||||
|  | 	public abstract void onSaleValidationSuccess(Sale sale); | ||||||
|  |  | ||||||
|  | 	public abstract void onSaleValidationError(Sale sale, Throwable cause); | ||||||
|  |  | ||||||
|  | 	public abstract void onSaleValidationRefused(Sale sale, Throwable cause); | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,35 @@ | |||||||
|  | package com.pqt.client.module.sale.listeners; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.sale.Sale; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class SaleListenerAdapter implements ISaleListener { | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.sale.listeners.ISaleListener#onSaleValidationSuccess(com.pqt.core.entities.sale.Sale) | ||||||
|  | 	 *  | ||||||
|  | 	 *   | ||||||
|  | 	 */ | ||||||
|  | 	public void onSaleValidationSuccess(Sale sale) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.sale.listeners.ISaleListener#onSaleValidationError(com.pqt.core.entities.sale.Sale, Throwable) | ||||||
|  | 	 */ | ||||||
|  | 	public void onSaleValidationError(Sale sale, Throwable cause) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.sale.listeners.ISaleListener#onSaleValidationRefused(com.pqt.core.entities.sale.Sale, Throwable) | ||||||
|  | 	 */ | ||||||
|  | 	public void onSaleValidationRefused(Sale sale, Throwable cause) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,49 @@ | |||||||
|  | package com.pqt.client.module.sale.listeners; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.sale.Sale; | ||||||
|  |  | ||||||
|  | //TODO écrire contenu méthodes | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class SimpleSaleFirerer implements ISaleFirerer { | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.sale.listeners.ISaleFirerer#fireSaleValidationSuccess(com.pqt.core.entities.sale.Sale) | ||||||
|  | 	 */ | ||||||
|  | 	public void fireSaleValidationSuccess(Sale sale) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.sale.listeners.ISaleFirerer#fireSaleValidationError(com.pqt.core.entities.sale.Sale, Throwable) | ||||||
|  | 	 */ | ||||||
|  | 	public void fireSaleValidationError(Sale sale, Throwable cause) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.sale.listeners.ISaleFirerer#fireSaleValidationRefused(com.pqt.core.entities.sale.Sale, Throwable) | ||||||
|  | 	 */ | ||||||
|  | 	public void fireSaleValidationRefused(Sale sale, Throwable cause) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.sale.listeners.ISaleFirerer#addListener(com.pqt.client.module.sale.listeners.ISaleListener) | ||||||
|  | 	 */ | ||||||
|  | 	public void addListener(ISaleListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.sale.listeners.ISaleFirerer#removeListener(com.pqt.client.module.sale.listeners.ISaleListener) | ||||||
|  | 	 */ | ||||||
|  | 	public void removeListener(ISaleListener listener) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,68 @@ | |||||||
|  | package com.pqt.client.module.stat; | ||||||
|  |  | ||||||
|  | import com.pqt.client.module.query.QueryExecutor; | ||||||
|  | import com.pqt.client.module.query.QueryFactory; | ||||||
|  | import com.pqt.client.module.query.query_callback.IStatQueryCallback; | ||||||
|  | import com.pqt.client.module.stat.listeners.IStatFirerer; | ||||||
|  | import com.pqt.client.module.stat.listeners.IStatListener; | ||||||
|  | import com.pqt.client.module.stat.listeners.SimpleStatFirerer; | ||||||
|  |  | ||||||
|  | import java.util.*; | ||||||
|  |  | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class StatDao { | ||||||
|  |  | ||||||
|  |         private Date lastRefreshTimestamp; | ||||||
|  |         private Map<String, String> stats; | ||||||
|  |         private IStatFirerer eventFirerer; | ||||||
|  |  | ||||||
|  |         public StatDao() { | ||||||
|  |             eventFirerer = new SimpleStatFirerer(); | ||||||
|  |             stats = new HashMap<>(); | ||||||
|  |             lastRefreshTimestamp = null; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         public synchronized Map<String, String> getStats() { | ||||||
|  |             return new HashMap<>(stats); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         public void refreshStats() { | ||||||
|  |             QueryExecutor.INSTANCE.execute(QueryFactory.newStockQuery(), new IStatQueryCallback() { | ||||||
|  |                 @Override | ||||||
|  |                 public void ack(Map<String, String> stats) { | ||||||
|  |                     replaceStats(stats); | ||||||
|  |                     eventFirerer.fireGetStatSuccess(); | ||||||
|  |                     //TODO add log line | ||||||
|  |                 } | ||||||
|  |  | ||||||
|  |                 @Override | ||||||
|  |                 public void err(Throwable cause) { | ||||||
|  |                     eventFirerer.fireGetStatError(cause); | ||||||
|  |                     //TODO add log line | ||||||
|  |                 } | ||||||
|  |  | ||||||
|  |                 @Override | ||||||
|  |                 public void ref(Throwable cause) { | ||||||
|  |                     eventFirerer.fireGetStatRefused(cause); | ||||||
|  |                     //TODO add log line | ||||||
|  |                 } | ||||||
|  |             }); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         public Date getLastRefreshTimestamp(){ | ||||||
|  |             return lastRefreshTimestamp; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         private synchronized void replaceStats(Map<String, String> stats) { | ||||||
|  |             this.stats = new HashMap<>(stats); | ||||||
|  |             this.lastRefreshTimestamp = new Date(); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |     public void removeListener(IStatListener listener) { | ||||||
|  |         eventFirerer.removeListener(listener); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void addListener(IStatListener listener) { | ||||||
|  |         eventFirerer.addListener(listener); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,33 @@ | |||||||
|  | package com.pqt.client.module.stat; | ||||||
|  |  | ||||||
|  | import com.pqt.client.module.stat.listeners.IStatListener; | ||||||
|  |  | ||||||
|  | import java.util.Map; | ||||||
|  |  | ||||||
|  | //TODO écrire javadoc | ||||||
|  | //TODO add log lines | ||||||
|  | public class StatService { | ||||||
|  |  | ||||||
|  | 	private StatDao dao; | ||||||
|  |  | ||||||
|  |     public StatService() { | ||||||
|  |         dao = new StatDao(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Map<String,String> getStats() { | ||||||
|  | 		return dao.getStats(); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void refreshStats() { | ||||||
|  |         dao.refreshStats(); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void addListener(IStatListener listener) { | ||||||
|  |         dao.addListener(listener); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void removeListener(IStatListener listener) { | ||||||
|  |         dao.removeListener(listener); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,16 @@ | |||||||
|  | package com.pqt.client.module.stat.listeners; | ||||||
|  |  | ||||||
|  | import java.util.Map; | ||||||
|  |  | ||||||
|  | public interface IStatFirerer { | ||||||
|  |  | ||||||
|  | 	public abstract void fireGetStatSuccess(); | ||||||
|  |  | ||||||
|  | 	public abstract void fireGetStatError(Throwable cause); | ||||||
|  |  | ||||||
|  | 	public abstract void fireGetStatRefused(Throwable cause); | ||||||
|  |  | ||||||
|  | 	void removeListener(IStatListener listener); | ||||||
|  |  | ||||||
|  | 	void addListener(IStatListener listener); | ||||||
|  | } | ||||||
| @@ -0,0 +1,14 @@ | |||||||
|  | package com.pqt.client.module.stat.listeners; | ||||||
|  |  | ||||||
|  | import java.util.EventListener; | ||||||
|  | import java.util.Map; | ||||||
|  |  | ||||||
|  | public interface IStatListener extends EventListener { | ||||||
|  |  | ||||||
|  | 	public abstract void onGetStatSuccess(); | ||||||
|  |  | ||||||
|  | 	public abstract void onGetStatError(Throwable cause); | ||||||
|  |  | ||||||
|  | 	public abstract void onGetStatRefused(Throwable cause); | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,53 @@ | |||||||
|  | package com.pqt.client.module.stat.listeners; | ||||||
|  |  | ||||||
|  | import javax.swing.event.EventListenerList; | ||||||
|  |  | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class SimpleStatFirerer implements IStatFirerer { | ||||||
|  |  | ||||||
|  | 	private EventListenerList listeners; | ||||||
|  |  | ||||||
|  | 	public SimpleStatFirerer() { | ||||||
|  | 		listeners = new EventListenerList(); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.stat.listeners.IStatFirerer#fireGetStatSuccess() | ||||||
|  | 	 */ | ||||||
|  | 	public void fireGetStatSuccess() { | ||||||
|  | 		for(IStatListener l : listeners.getListeners(IStatListener.class)){ | ||||||
|  | 			l.onGetStatSuccess(); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.stat.listeners.IStatFirerer#fireGetStatError(Throwable) | ||||||
|  | 	 */ | ||||||
|  | 	public void fireGetStatError(Throwable cause) { | ||||||
|  | 		for(IStatListener l : listeners.getListeners(IStatListener.class)){ | ||||||
|  | 			l.onGetStatError(cause); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.stat.listeners.IStatFirerer#fireGetStatRefused(Throwable) | ||||||
|  | 	 */ | ||||||
|  | 	public void fireGetStatRefused(Throwable cause) { | ||||||
|  | 		for(IStatListener l : listeners.getListeners(IStatListener.class)){ | ||||||
|  | 			l.onGetStatRefused(cause); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void removeListener(IStatListener listener) { | ||||||
|  | 		listeners.remove(IStatListener.class, listener); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void addListener(IStatListener listener) { | ||||||
|  | 		listeners.add(IStatListener.class, listener); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,29 @@ | |||||||
|  | package com.pqt.client.module.stat.listeners; | ||||||
|  |  | ||||||
|  | public class StatListenerAdapter implements IStatListener { | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.stat.listeners.IStatListener#onGetStatSuccess() | ||||||
|  | 	 */ | ||||||
|  | 	public void onGetStatSuccess() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.stat.listeners.IStatListener#onGetStatError(Throwable) | ||||||
|  | 	 */ | ||||||
|  | 	public void onGetStatError(Throwable cause) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @see com.pqt.client.module.stat.listeners.IStatListener#onGetStatRefused(Throwable) | ||||||
|  | 	 */ | ||||||
|  | 	public void onGetStatRefused(Throwable cause) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,16 @@ | |||||||
|  | package com.pqt.client.module.stock.Listeners; | ||||||
|  |  | ||||||
|  | public interface IStockFirerer { | ||||||
|  | 	void fireGetProductListSuccessEvent(); | ||||||
|  | 	void fireGetProductListErrorEvent(Throwable cause); | ||||||
|  | 	void fireGetProductListRefusedEvent(Throwable cause); | ||||||
|  | 	void fireProductListChangedEvent(); | ||||||
|  |  | ||||||
|  | 	void fireProductListUpdateSuccessEvent(long id); | ||||||
|  | 	void fireProductListUpdateErrorEvent(long id, Throwable cause); | ||||||
|  | 	void fireProductListUpdateRefusedEvent(long id, Throwable cause); | ||||||
|  |  | ||||||
|  | 	void addListener(IStockListener listener); | ||||||
|  | 	void removeListener(IStockListener listener); | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,16 @@ | |||||||
|  | package com.pqt.client.module.stock.Listeners; | ||||||
|  |  | ||||||
|  | import java.util.EventListener; | ||||||
|  |  | ||||||
|  | public interface IStockListener extends EventListener { | ||||||
|  |  | ||||||
|  | 	void onGetProductListSuccessEvent(); | ||||||
|  | 	void onGetProductListErrorEvent(Throwable cause); | ||||||
|  | 	void onGetProductListRefusedEvent(Throwable cause); | ||||||
|  |  | ||||||
|  | 	void onProductListUpdateSuccessEvent(long id); | ||||||
|  | 	void onProductListUpdateErrorEvent(long id, Throwable cause); | ||||||
|  | 	void onProductListUpdateRefusedEvent(long id, Throwable cause); | ||||||
|  |  | ||||||
|  | 	void onProductListChangedEvent(); | ||||||
|  | } | ||||||
| @@ -0,0 +1,73 @@ | |||||||
|  | package com.pqt.client.module.stock.Listeners; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import javax.swing.event.EventListenerList; | ||||||
|  |  | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class SimpleStockFirerer implements IStockFirerer { | ||||||
|  |  | ||||||
|  | 	private EventListenerList listeners; | ||||||
|  |  | ||||||
|  | 	public SimpleStockFirerer() { | ||||||
|  | 		listeners = new EventListenerList(); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void fireGetProductListSuccessEvent() { | ||||||
|  | 		for(IStockListener l : listeners.getListeners(IStockListener.class)){ | ||||||
|  | 			l.onGetProductListSuccessEvent(); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void fireGetProductListErrorEvent(Throwable cause) { | ||||||
|  | 		for(IStockListener l : listeners.getListeners(IStockListener.class)){ | ||||||
|  | 			l.onGetProductListErrorEvent(cause); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void fireGetProductListRefusedEvent(Throwable cause) { | ||||||
|  | 		for(IStockListener l : listeners.getListeners(IStockListener.class)){ | ||||||
|  | 			l.onGetProductListRefusedEvent(cause); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void fireProductListChangedEvent() { | ||||||
|  | 		for(IStockListener l : listeners.getListeners(IStockListener.class)){ | ||||||
|  | 			l.onProductListChangedEvent(); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void fireProductListUpdateSuccessEvent(long id) { | ||||||
|  | 		for(IStockListener l : listeners.getListeners(IStockListener.class)){ | ||||||
|  | 			l.onProductListUpdateSuccessEvent(id); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void fireProductListUpdateErrorEvent(long id, Throwable cause) { | ||||||
|  | 		for(IStockListener l : listeners.getListeners(IStockListener.class)){ | ||||||
|  | 			l.onProductListUpdateErrorEvent(id, cause); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void fireProductListUpdateRefusedEvent(long id, Throwable cause) { | ||||||
|  | 		for(IStockListener l : listeners.getListeners(IStockListener.class)){ | ||||||
|  | 			l.onProductListUpdateRefusedEvent(id, cause); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void addListener(IStockListener listener) { | ||||||
|  | 		listeners.add(IStockListener.class, listener); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void removeListener(IStockListener listener) { | ||||||
|  | 		listeners.remove(IStockListener.class, listener); | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,39 @@ | |||||||
|  | package com.pqt.client.module.stock.Listeners; | ||||||
|  |  | ||||||
|  | public class StockListenerAdapter implements IStockListener { | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void onGetProductListSuccessEvent() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void onGetProductListErrorEvent(Throwable cause) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void onGetProductListRefusedEvent(Throwable cause) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void onProductListUpdateSuccessEvent(long id) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void onProductListUpdateErrorEvent(long id, Throwable cause) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void onProductListUpdateRefusedEvent(long id, Throwable cause) { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public void onProductListChangedEvent() { | ||||||
|  |  | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,118 @@ | |||||||
|  | package com.pqt.client.module.stock; | ||||||
|  |  | ||||||
|  | import com.pqt.client.module.query.QueryExecutor; | ||||||
|  | import com.pqt.client.module.query.QueryFactory; | ||||||
|  | import com.pqt.client.module.query.query_callback.IStockQueryCallback; | ||||||
|  | import com.pqt.client.module.query.query_callback.IUpdateQueryCallback; | ||||||
|  | import com.pqt.client.module.stock.Listeners.IStockFirerer; | ||||||
|  | import com.pqt.client.module.stock.Listeners.IStockListener; | ||||||
|  | import com.pqt.client.module.stock.Listeners.SimpleStockFirerer; | ||||||
|  | import com.pqt.core.entities.product.Product; | ||||||
|  | import com.pqt.core.entities.product.ProductUpdate; | ||||||
|  |  | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.Date; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Optional; | ||||||
|  |  | ||||||
|  | //TODO écrire javadoc | ||||||
|  | public class StockDao { | ||||||
|  |  | ||||||
|  | 	private IStockFirerer eventFirerer; | ||||||
|  | 	private Date lastRefreshTimestamp; | ||||||
|  | 	private List<Product> products; | ||||||
|  |  | ||||||
|  | 	public StockDao() { | ||||||
|  | 		eventFirerer = new SimpleStockFirerer(); | ||||||
|  | 		products = new ArrayList<>(); | ||||||
|  | 		lastRefreshTimestamp = null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public synchronized List<Product> getProducts() { | ||||||
|  | 		return new ArrayList<>(products); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public synchronized Product getProduct(final int id) { | ||||||
|  | 		Optional<Product> match = products.stream().filter((product->product.getId()==id)).findFirst(); | ||||||
|  | 		if(match.isPresent()) | ||||||
|  | 			return match.get(); | ||||||
|  |  | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void refreshProductList() { | ||||||
|  | 		QueryExecutor.INSTANCE.execute(QueryFactory.newStockQuery(), new IStockQueryCallback() { | ||||||
|  | 			@Override | ||||||
|  | 			public void ack(List<Product> products) { | ||||||
|  | 				replaceProductList(products); | ||||||
|  | 				eventFirerer.fireGetProductListSuccessEvent(); | ||||||
|  | 				//TODO add log line | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			@Override | ||||||
|  | 			public void err(Throwable cause) { | ||||||
|  | 				//TODO add log line | ||||||
|  | 				eventFirerer.fireGetProductListErrorEvent(cause); | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			@Override | ||||||
|  | 			public void ref(Throwable cause) { | ||||||
|  | 				//TODO add log line | ||||||
|  | 				eventFirerer.fireGetProductListRefusedEvent(cause); | ||||||
|  | 			} | ||||||
|  | 		}); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public Date getLastRefreshTimestamp(){ | ||||||
|  | 		return lastRefreshTimestamp; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	private synchronized void replaceProductList(List<Product> products){ | ||||||
|  | 		this.products.clear(); | ||||||
|  | 		this.products.addAll(products); | ||||||
|  | 		this.lastRefreshTimestamp = new Date(); | ||||||
|  | 		eventFirerer.fireProductListChangedEvent(); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public long commitUpdate(List<ProductUpdate> updates){ | ||||||
|  | 		return QueryExecutor.INSTANCE.execute(QueryFactory.newUpdateQuery(updates),new IUpdateQueryCallback(){ | ||||||
|  |  | ||||||
|  | 			@Override | ||||||
|  | 			public void ack(long id) { | ||||||
|  | 				//TODO add log line | ||||||
|  | 				refreshProductList(); | ||||||
|  | 				eventFirerer.fireProductListUpdateSuccessEvent(id); | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			@Override | ||||||
|  | 			public void err(long id, Throwable cause) { | ||||||
|  | 				//TODO add log line | ||||||
|  | 				eventFirerer.fireProductListUpdateErrorEvent(id, cause); | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			@Override | ||||||
|  | 			public void ref(long id, Throwable cause) { | ||||||
|  | 				//TODO add log line | ||||||
|  | 				eventFirerer.fireProductListUpdateRefusedEvent(id, cause); | ||||||
|  | 			} | ||||||
|  | 		}); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * Ajoute un listener à la liste de diffusion des événements pouvant être levé par le service. | ||||||
|  | 	 * @param listener | ||||||
|  | 	 * @see {@link IStockListener} | ||||||
|  | 	 */ | ||||||
|  | 	public void addListener(IStockListener listener) { | ||||||
|  | 		eventFirerer.addListener(listener); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * Retire un listener d'événement donné de la liste de diffusion des événements. | ||||||
|  | 	 * @param listener | ||||||
|  | 	 * @see {@link IStockListener} | ||||||
|  | 	 */ | ||||||
|  | 	public void removeListener(IStockListener listener) { | ||||||
|  | 		eventFirerer.removeListener(listener); | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,109 @@ | |||||||
|  | package com.pqt.client.module.stock; | ||||||
|  |  | ||||||
|  | import com.pqt.client.module.query.QueryExecutor; | ||||||
|  | import com.pqt.client.module.query.QueryFactory; | ||||||
|  | import com.pqt.client.module.query.query_callback.IUpdateQueryCallback; | ||||||
|  | import com.pqt.client.module.stock.Listeners.IStockFirerer; | ||||||
|  | import com.pqt.client.module.stock.Listeners.SimpleStockFirerer; | ||||||
|  | import com.pqt.core.entities.product.Product; | ||||||
|  | import com.pqt.client.module.stock.Listeners.IStockListener; | ||||||
|  |  | ||||||
|  | import java.util.Date; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | //TODO Add log lines | ||||||
|  | public class StockService { | ||||||
|  |  | ||||||
|  | 	public static final StockService INSTANCE = new StockService(); | ||||||
|  |  | ||||||
|  | 	private StockDao dao; | ||||||
|  |  | ||||||
|  | 	private StockService() { | ||||||
|  | 		dao = new StockDao(); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Accesseur renvoyant un objet {@link Date} correspondant à la dernière heure où les stocks ont été mis à jour | ||||||
|  |      *  <p/> | ||||||
|  |      * @return {@link Date} représentant l'instant de la dernière mise à jour des stocks. | ||||||
|  |      */ | ||||||
|  | 	public Date getLastRefreshTimestamp(){ | ||||||
|  | 	    return dao.getLastRefreshTimestamp(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Démarre la procédure de mise à jour des stocks. | ||||||
|  |      *  <p/> | ||||||
|  |      * L'exécution de cette méthode ne constitue pas la mise à jour, elle ne fait que démarrer la procédure. | ||||||
|  |      * Les événements liées à la mise à jour du stock peuvent être écoutés via la classe de listener {@link IStockListener}. | ||||||
|  |      */ | ||||||
|  | 	public void refreshProductList() { | ||||||
|  | 	    dao.refreshProductList(); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Accesseur de la liste des produits actuellement en vente. | ||||||
|  |      *  <p/> | ||||||
|  |      * La liste peut être obsolète, voir {@link #getLastRefreshTimestamp()} pour la date du dernier refresh et {@link #refreshProductList()} pour la mettre à jour. | ||||||
|  |      * | ||||||
|  |      * @return Liste des produits en vente. | ||||||
|  |      */ | ||||||
|  | 	public List<Product> getProducts() { | ||||||
|  | 		return dao.getProducts(); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Accesseur récupérant un unique produit présent dans les stocks en se basant sur son id. | ||||||
|  |      * | ||||||
|  |      * @param id identifiant du produit voulu | ||||||
|  |      * @return produit voulu s'il est présent dans le stock, ou null si l'identifiant {@code id} ne correspond à aucun produit présent dans le stock. | ||||||
|  |      */ | ||||||
|  | 	public Product getProduct(int id) { | ||||||
|  | 		return dao.getProduct(id); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Renvoie un nouveau builder d'update de stock. | ||||||
|  |      *  <p/> | ||||||
|  |      *  Un update de stock correspond à un ticket de demande de modification du stock, composé d'ajouts, de suppressions et de modifications de produits. | ||||||
|  |      *  Un objet {@link UpdateBuilder} permet de générer facilement une update. Pour valider l'update, voir {@link #commitUpdate(UpdateBuilder)}. | ||||||
|  |      * | ||||||
|  |      * @return nouvelle instance de la classe {@link UpdateBuilder}. | ||||||
|  |      */ | ||||||
|  | 	public UpdateBuilder getNewUpdateBuilder() { | ||||||
|  | 		return new UpdateBuilder(); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Propose une modification de stock et lance la procédure de validation. Retourne l'identifiant de la modification, qui sera utilisé dans les notifications pour discriminer les événements. | ||||||
|  |      *  <p/> | ||||||
|  |      *  L'exécution de cette méthode ne constitue pas la modification, elle ne fait que démarrer la procédure. | ||||||
|  |      *  Les événements liées à la valiation des updates du stock peuvent être écoutés via la classe de listener {@link IStockListener}. | ||||||
|  | 	 *  <p/> | ||||||
|  | 	 *  Une procédure de mise à jour du stock sera automatiquement lancée si la modification est validée (comme si la méthode {@link #refreshProductList()} avait été appelée). | ||||||
|  |      * @param updateBuilder | ||||||
|  |      * @return l'identifiant de l'update soumise. | ||||||
|  |      */ | ||||||
|  | 	public long commitUpdate(UpdateBuilder updateBuilder) { | ||||||
|  | 		return dao.commitUpdate(updateBuilder.build()); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Ajoute un listener à la liste de diffusion des événements pouvant être levé par le service. | ||||||
|  |      * @param listener | ||||||
|  |      * @see {@link IStockListener} | ||||||
|  |      */ | ||||||
|  | 	public void addListener(IStockListener listener) { | ||||||
|  | 		dao.addListener(listener); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Retire un listener d'événement donné de la liste de diffusion des événements. | ||||||
|  |      * @param listener | ||||||
|  |      * @see {@link IStockListener} | ||||||
|  |      */ | ||||||
|  | 	public void removeListener(IStockListener listener) { | ||||||
|  | 		dao.removeListener(listener); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,50 @@ | |||||||
|  | package com.pqt.client.module.stock; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.product.Product; | ||||||
|  | import com.pqt.core.entities.product.ProductUpdate; | ||||||
|  |  | ||||||
|  | import java.util.*; | ||||||
|  |  | ||||||
|  | public class UpdateBuilder { | ||||||
|  |  | ||||||
|  |     private Set<Product> toAdd, toRemove; | ||||||
|  |     private Map<Product, Product> toModify; | ||||||
|  |  | ||||||
|  |     public UpdateBuilder() { | ||||||
|  |         toAdd = new HashSet<>(); | ||||||
|  |         toRemove = new HashSet<>(); | ||||||
|  |         toModify = new HashMap<>(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void addProduct(Product product) { | ||||||
|  |         if(!toAdd.contains(product)){ | ||||||
|  |             toAdd.add(product); | ||||||
|  |         } | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void removeProduct(Product product) { | ||||||
|  |         if(toRemove.contains(product)){ | ||||||
|  |             toRemove.remove(product); | ||||||
|  |         } | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void modifyProduct(Product oldVersion, Product newVersion) { | ||||||
|  |         toModify.put(oldVersion, newVersion); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public List<ProductUpdate> build() { | ||||||
|  | 		List<ProductUpdate> reply = new ArrayList<>(); | ||||||
|  | 		for(Product product : toAdd){ | ||||||
|  | 		    reply.add(new ProductUpdate(null, product)); | ||||||
|  |         } | ||||||
|  |         for(Product product : toRemove){ | ||||||
|  |             reply.add(new ProductUpdate(product, null)); | ||||||
|  |         } | ||||||
|  |         for(Product product : toModify.keySet()){ | ||||||
|  |             reply.add(new ProductUpdate(product, toModify.get(product))); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return reply; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										15
									
								
								Workspace/core/core.iml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								Workspace/core/core.iml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> | ||||||
|  |   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> | ||||||
|  |     <output url="file://$MODULE_DIR$/target/classes" /> | ||||||
|  |     <output-test url="file://$MODULE_DIR$/target/test-classes" /> | ||||||
|  |     <content url="file://$MODULE_DIR$"> | ||||||
|  |       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> | ||||||
|  |       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> | ||||||
|  |       <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> | ||||||
|  |       <excludeFolder url="file://$MODULE_DIR$/target" /> | ||||||
|  |     </content> | ||||||
|  |     <orderEntry type="inheritedJdk" /> | ||||||
|  |     <orderEntry type="sourceFolder" forTests="false" /> | ||||||
|  |   </component> | ||||||
|  | </module> | ||||||
							
								
								
									
										15
									
								
								Workspace/core/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								Workspace/core/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0" | ||||||
|  |          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  |          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||||
|  |     <parent> | ||||||
|  |         <artifactId>Main</artifactId> | ||||||
|  |         <groupId>com.pqt</groupId> | ||||||
|  |         <version>1.0-SNAPSHOT</version> | ||||||
|  |     </parent> | ||||||
|  |     <modelVersion>4.0.0</modelVersion> | ||||||
|  |  | ||||||
|  |     <artifactId>core</artifactId> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | </project> | ||||||
| @@ -0,0 +1,49 @@ | |||||||
|  | package com.pqt.core.entities.client; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.log.ILoggable; | ||||||
|  |  | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.util.Date; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Created by Notmoo on 18/07/2017. | ||||||
|  |  */ | ||||||
|  | public class Client implements ILoggable, Serializable { | ||||||
|  |  | ||||||
|  |     private int id; | ||||||
|  |     private String address; | ||||||
|  |     private Date lastUpdate; | ||||||
|  |  | ||||||
|  |     public Client() { | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Client(int id, String address, Date lastUpdate) { | ||||||
|  |         this.id = id; | ||||||
|  |         this.address = address; | ||||||
|  |         this.lastUpdate = lastUpdate; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public int getId() { | ||||||
|  |         return id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setId(int id) { | ||||||
|  |         this.id = id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getAddress() { | ||||||
|  |         return address; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setAddress(String address) { | ||||||
|  |         this.address = address; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Date getLastUpdate() { | ||||||
|  |         return lastUpdate; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setLastUpdate(Date lastUpdate) { | ||||||
|  |         this.lastUpdate = lastUpdate; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | package com.pqt.core.entities.log; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Created by Notmoo on 18/07/2017. | ||||||
|  |  */ | ||||||
|  | public interface ILoggable { | ||||||
|  | } | ||||||
| @@ -0,0 +1,66 @@ | |||||||
|  | package com.pqt.core.entities.log; | ||||||
|  |  | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.util.Date; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Created by Notmoo on 18/07/2017. | ||||||
|  |  */ | ||||||
|  | public class LogLine implements Serializable{ | ||||||
|  |     private int id; | ||||||
|  |     private String description; | ||||||
|  |     private Date timestamp; | ||||||
|  |     private ILoggable relatedItem; | ||||||
|  |     private LogLineActionType type; | ||||||
|  |  | ||||||
|  |     public LogLine() { | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public LogLine(int id, String description, Date timestamp, ILoggable relatedItem, LogLineActionType type) { | ||||||
|  |         this.id = id; | ||||||
|  |         this.description = description; | ||||||
|  |         this.timestamp = timestamp; | ||||||
|  |         this.relatedItem = relatedItem; | ||||||
|  |         this.type = type; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public int getId() { | ||||||
|  |         return id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setId(int id) { | ||||||
|  |         this.id = id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getDescription() { | ||||||
|  |         return description; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setDescription(String description) { | ||||||
|  |         this.description = description; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Date getTimestamp() { | ||||||
|  |         return timestamp; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setTimestamp(Date timestamp) { | ||||||
|  |         this.timestamp = timestamp; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public ILoggable getRelatedItem() { | ||||||
|  |         return relatedItem; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setRelatedItem(ILoggable relatedItem) { | ||||||
|  |         this.relatedItem = relatedItem; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public LogLineActionType getType() { | ||||||
|  |         return type; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setType(LogLineActionType type) { | ||||||
|  |         this.type = type; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,11 @@ | |||||||
|  | package com.pqt.core.entities.log; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Created by Notmoo on 18/07/2017. | ||||||
|  |  */ | ||||||
|  | public enum LogLineActionType { | ||||||
|  |     ADD_PRODUCT_ACTION, REMOVE_PRODUCT_ACTION, MODIFY_PRODUCT_ACTION, | ||||||
|  |     COMMIT_SALE_ACTION, REVERT_SALE_ACTION, | ||||||
|  |     LOG_IN_ACCOUNT_ACTION, LOG_OUT_ACCOUNT_ACTION, | ||||||
|  |     CONNECT_CLIENT_ACTION, DISCONNECT_CLIENT_ACTION | ||||||
|  | } | ||||||
| @@ -0,0 +1,35 @@ | |||||||
|  | package com.pqt.core.entities.product; | ||||||
|  |  | ||||||
|  | import java.io.Serializable; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Created by Notmoo on 18/07/2017. | ||||||
|  |  */ | ||||||
|  | public class Category implements Serializable{ | ||||||
|  |     private int id; | ||||||
|  |     private String name; | ||||||
|  |  | ||||||
|  |     public Category() { | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Category(int id, String name) { | ||||||
|  |         this.id = id; | ||||||
|  |         this.name = name; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public int getId() { | ||||||
|  |         return id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setId(int id) { | ||||||
|  |         this.id = id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getName() { | ||||||
|  |         return name; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setName(String name) { | ||||||
|  |         this.name = name; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,100 @@ | |||||||
|  | package com.pqt.core.entities.product; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.log.ILoggable; | ||||||
|  |  | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Created by Notmoo on 18/07/2017. | ||||||
|  |  */ | ||||||
|  | public class Product implements ILoggable, Serializable{ | ||||||
|  |     private int id; | ||||||
|  |     private String name; | ||||||
|  |     private int amountRemaining; | ||||||
|  |     private int amountSold; | ||||||
|  |     private boolean sellable; | ||||||
|  |     private boolean price; | ||||||
|  |     private List<Product> components; | ||||||
|  |     private Category category; | ||||||
|  |  | ||||||
|  |     public Product() { | ||||||
|  |         components = new ArrayList<>(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Product(int id, String name, int amountRemaining, int amountSold, boolean sellable, boolean price, List<Product> components, Category category) { | ||||||
|  |         this.id = id; | ||||||
|  |         this.name = name; | ||||||
|  |         this.amountRemaining = amountRemaining; | ||||||
|  |         this.amountSold = amountSold; | ||||||
|  |         this.sellable = sellable; | ||||||
|  |         this.price = price; | ||||||
|  |         this.components = components; | ||||||
|  |         this.category = category; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public int getId() { | ||||||
|  |         return id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setId(int id) { | ||||||
|  |         this.id = id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getName() { | ||||||
|  |         return name; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setName(String name) { | ||||||
|  |         this.name = name; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public int getAmountRemaining() { | ||||||
|  |         return amountRemaining; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setAmountRemaining(int amountRemaining) { | ||||||
|  |         this.amountRemaining = amountRemaining; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public int getAmountSold() { | ||||||
|  |         return amountSold; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setAmountSold(int amountSold) { | ||||||
|  |         this.amountSold = amountSold; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public boolean isSellable() { | ||||||
|  |         return sellable; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setSellable(boolean sellable) { | ||||||
|  |         this.sellable = sellable; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public boolean isPrice() { | ||||||
|  |         return price; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setPrice(boolean price) { | ||||||
|  |         this.price = price; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public List<Product> getComponents() { | ||||||
|  |         return components; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setComponents(List<Product> components) { | ||||||
|  |         this.components = components; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Category getCategory() { | ||||||
|  |         return category; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setCategory(Category category) { | ||||||
|  |         this.category = category; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,53 @@ | |||||||
|  | package com.pqt.core.entities.product; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.log.ILoggable; | ||||||
|  | import sun.misc.Version; | ||||||
|  |  | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.util.Date; | ||||||
|  |  | ||||||
|  | public class ProductUpdate implements ILoggable, Serializable { | ||||||
|  |  | ||||||
|  | 	private Date createdAt; | ||||||
|  | 	private Product oldVersion; | ||||||
|  | 	private Product newVersion; | ||||||
|  |  | ||||||
|  |     public ProductUpdate() { | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public ProductUpdate(Product oldVersion, Product newVersion) { | ||||||
|  |         this.createdAt = new Date(); | ||||||
|  |         this.oldVersion = oldVersion; | ||||||
|  |         this.newVersion = newVersion; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public ProductUpdate(Date createdAt, Product oldVersion, Product newVersion) { | ||||||
|  |         this.createdAt = createdAt; | ||||||
|  |         this.oldVersion = oldVersion; | ||||||
|  |         this.newVersion = newVersion; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Date getCreatedAt() { | ||||||
|  |         return createdAt; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setCreatedAt(Date createdAt) { | ||||||
|  |         this.createdAt = createdAt; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Product getOldVersion() { | ||||||
|  |         return oldVersion; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setOldVersion(Product oldVersion) { | ||||||
|  |         this.oldVersion = oldVersion; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Product getNewVersion() { | ||||||
|  |         return newVersion; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setNewVersion(Product newVersion) { | ||||||
|  |         this.newVersion = newVersion; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,19 @@ | |||||||
|  | package com.pqt.core.entities.query; | ||||||
|  |  | ||||||
|  | public class ConnectQuery extends SimpleQuery { | ||||||
|  |  | ||||||
|  | 	private String serverAddress; | ||||||
|  |  | ||||||
|  | 	public ConnectQuery(String serverAddress) { | ||||||
|  | 		super(QueryType.CONNECT); | ||||||
|  | 		this.serverAddress = serverAddress; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public String getServerAddress() { | ||||||
|  | 		return serverAddress; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void setServerAddress(String serverAddress) { | ||||||
|  | 		this.serverAddress = serverAddress; | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,5 @@ | |||||||
|  | package com.pqt.core.entities.query; | ||||||
|  |  | ||||||
|  | public interface IQuery { | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,32 @@ | |||||||
|  | package com.pqt.core.entities.query; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.user_account.Account; | ||||||
|  |  | ||||||
|  | public class LogQuery extends SimpleQuery { | ||||||
|  |  | ||||||
|  | 	private Account account; | ||||||
|  |  | ||||||
|  | 	private boolean newDesiredState; | ||||||
|  |  | ||||||
|  |     public LogQuery(Account account, boolean newDesiredState) { | ||||||
|  |         super(QueryType.LOG); | ||||||
|  |         this.account = account; | ||||||
|  |         this.newDesiredState = newDesiredState; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Account getAccount() { | ||||||
|  |         return account; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setAccount(Account account) { | ||||||
|  |         this.account = account; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public boolean isNewDesiredState() { | ||||||
|  |         return newDesiredState; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setNewDesiredState(boolean newDesiredState) { | ||||||
|  |         this.newDesiredState = newDesiredState; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,6 @@ | |||||||
|  | package com.pqt.core.entities.query; | ||||||
|  |  | ||||||
|  | public enum QueryType { | ||||||
|  |  | ||||||
|  | 	CONNECT, SALE, STOCL, STAT, LOG, UPDATE | ||||||
|  | } | ||||||
| @@ -0,0 +1,21 @@ | |||||||
|  | package com.pqt.core.entities.query; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.sale.Sale; | ||||||
|  |  | ||||||
|  | public class SaleQuery extends SimpleQuery { | ||||||
|  |  | ||||||
|  | 	private Sale sale; | ||||||
|  |  | ||||||
|  | 	public SaleQuery(Sale sale) { | ||||||
|  | 		super(QueryType.SALE); | ||||||
|  | 		this.sale = sale; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public Sale getSale() { | ||||||
|  | 		return sale; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |     public void setSale(Sale sale) { | ||||||
|  |         this.sale = sale; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,21 @@ | |||||||
|  | package com.pqt.core.entities.query; | ||||||
|  |  | ||||||
|  | public class SimpleQuery implements IQuery { | ||||||
|  |  | ||||||
|  |     private QueryType type; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * | ||||||
|  |      * @param type | ||||||
|  |      * @throws NullPointerException if type is null | ||||||
|  |      */ | ||||||
|  |     public SimpleQuery(QueryType type) { | ||||||
|  |         if(type==null) throw new NullPointerException("null value not allowed as query type"); | ||||||
|  |  | ||||||
|  |         this.type = type; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public QueryType getType() { | ||||||
|  |         return type; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,23 @@ | |||||||
|  | package com.pqt.core.entities.query; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.product.ProductUpdate; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | public class UpdateQuery extends SimpleQuery { | ||||||
|  |  | ||||||
|  | 	private List<ProductUpdate> updates; | ||||||
|  |  | ||||||
|  |     public UpdateQuery(List<ProductUpdate> updates) { | ||||||
|  |         super(QueryType.UPDATE); | ||||||
|  |         this.updates = updates; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public List<ProductUpdate> getUpdates() { | ||||||
|  |         return updates; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setUpdates(List<ProductUpdate> updates) { | ||||||
|  |         this.updates = updates; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,103 @@ | |||||||
|  | package com.pqt.core.entities.sale; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.log.ILoggable; | ||||||
|  | import com.pqt.core.entities.client.Client; | ||||||
|  | import com.pqt.core.entities.product.Product; | ||||||
|  | import com.pqt.core.entities.user_account.Account; | ||||||
|  |  | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.util.Date; | ||||||
|  | import java.util.Map; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Created by Notmoo on 18/07/2017. | ||||||
|  |  */ | ||||||
|  | public class Sale implements ILoggable, Serializable{ | ||||||
|  |  | ||||||
|  |     private int id; | ||||||
|  |     private Map<Product, Integer> products; | ||||||
|  |     private Date orderedAt; | ||||||
|  |     private Client orderedWith; | ||||||
|  |     private Account orderedBy; | ||||||
|  |     private Account orderedFor; | ||||||
|  |     private SaleType type; | ||||||
|  |     private SaleStatus status; | ||||||
|  |  | ||||||
|  |     public Sale() { | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Sale(int id, Map<Product, Integer> products, Date orderedAt, Client orderedWith, Account orderedBy, Account orderedFor, SaleType type, SaleStatus status) { | ||||||
|  |         this.id = id; | ||||||
|  |         this.products = products; | ||||||
|  |         this.orderedAt = orderedAt; | ||||||
|  |         this.orderedWith = orderedWith; | ||||||
|  |         this.orderedBy = orderedBy; | ||||||
|  |         this.orderedFor = orderedFor; | ||||||
|  |         this.type = type; | ||||||
|  |         this.status = status; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public int getId() { | ||||||
|  |         return id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setId(int id) { | ||||||
|  |         this.id = id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Map<Product, Integer> getProducts() { | ||||||
|  |         return products; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setProducts(Map<Product, Integer> products) { | ||||||
|  |         this.products = products; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Date getOrderedAt() { | ||||||
|  |         return orderedAt; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setOrderedAt(Date orderedAt) { | ||||||
|  |         this.orderedAt = orderedAt; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Client getOrderedWith() { | ||||||
|  |         return orderedWith; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setOrderedWith(Client orderedWith) { | ||||||
|  |         this.orderedWith = orderedWith; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Account getOrderedBy() { | ||||||
|  |         return orderedBy; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setOrderedBy(Account orderedBy) { | ||||||
|  |         this.orderedBy = orderedBy; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Account getOrderedFor() { | ||||||
|  |         return orderedFor; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setOrderedFor(Account orderedFor) { | ||||||
|  |         this.orderedFor = orderedFor; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public SaleType getType() { | ||||||
|  |         return type; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setType(SaleType type) { | ||||||
|  |         this.type = type; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public SaleStatus getStatus() { | ||||||
|  |         return status; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setStatus(SaleStatus status) { | ||||||
|  |         this.status = status; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,19 @@ | |||||||
|  | package com.pqt.core.entities.sale; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Created by Notmoo on 18/07/2017. | ||||||
|  |  */ | ||||||
|  | public enum SaleStatus { | ||||||
|  |  | ||||||
|  |     PENDING(0), REFUSED(1), ACCEPTED(2), ABORTED(3); | ||||||
|  |  | ||||||
|  |     private int id; | ||||||
|  |  | ||||||
|  |     private SaleStatus(int id){ | ||||||
|  |         this.id = id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public int getId() { | ||||||
|  |         return id; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,8 @@ | |||||||
|  | package com.pqt.core.entities.sale; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Created by Notmoo on 18/07/2017. | ||||||
|  |  */ | ||||||
|  | public enum SaleType { | ||||||
|  |     CASH, BANK_CHECK, STUDENT_ASSOCIATION_ACCOUNT, OFFERED_GUEST, OFFERED_STAFF_MEMBER | ||||||
|  | } | ||||||
| @@ -0,0 +1,68 @@ | |||||||
|  | package com.pqt.core.entities.user_account; | ||||||
|  |  | ||||||
|  | import com.pqt.core.entities.log.ILoggable; | ||||||
|  |  | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.util.Date; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Created by Notmoo on 18/07/2017. | ||||||
|  |  */ | ||||||
|  | public class Account implements ILoggable, Serializable { | ||||||
|  |     private int id; | ||||||
|  |     private String username; | ||||||
|  |     private String passwordHash; | ||||||
|  |     private Date creationDate; | ||||||
|  |     private AccountLevel permissionLevel; | ||||||
|  |  | ||||||
|  |     public Account() { | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Account(int id, String username, String passwordHash, Date creationDate, AccountLevel permissionLevel) { | ||||||
|  |         this.id = id; | ||||||
|  |         this.username = username; | ||||||
|  |         this.passwordHash = passwordHash; | ||||||
|  |         this.creationDate = creationDate; | ||||||
|  |         this.permissionLevel = permissionLevel; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public int getId() { | ||||||
|  |         return id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setId(int id) { | ||||||
|  |         this.id = id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getUsername() { | ||||||
|  |         return username; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setUsername(String username) { | ||||||
|  |         this.username = username; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getPasswordHash() { | ||||||
|  |         return passwordHash; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setPasswordHash(String passwordHash) { | ||||||
|  |         this.passwordHash = passwordHash; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public Date getCreationDate() { | ||||||
|  |         return creationDate; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setCreationDate(Date creationDate) { | ||||||
|  |         this.creationDate = creationDate; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public AccountLevel getPermissionLevel() { | ||||||
|  |         return permissionLevel; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setPermissionLevel(AccountLevel permissionLevel) { | ||||||
|  |         this.permissionLevel = permissionLevel; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,8 @@ | |||||||
|  | package com.pqt.core.entities.user_account; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Created by Notmoo on 18/07/2017. | ||||||
|  |  */ | ||||||
|  | public enum AccountLevel { | ||||||
|  |     GUEST, STAFF, WAITER, MASTER | ||||||
|  | } | ||||||
							
								
								
									
										27
									
								
								Workspace/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								Workspace/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0" | ||||||
|  |          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  |          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||||
|  |     <modelVersion>4.0.0</modelVersion> | ||||||
|  |  | ||||||
|  |     <groupId>com.pqt</groupId> | ||||||
|  |     <artifactId>Main</artifactId> | ||||||
|  |     <version>1.0-SNAPSHOT</version> | ||||||
|  |     <modules> | ||||||
|  |         <module>core</module> | ||||||
|  |         <module>client</module> | ||||||
|  |     </modules> | ||||||
|  |     <packaging>pom</packaging> | ||||||
|  |  | ||||||
|  |     <build> | ||||||
|  |         <plugins> | ||||||
|  |             <plugin> | ||||||
|  |                 <artifactId>maven-compiler-plugin</artifactId> | ||||||
|  |                 <configuration> | ||||||
|  |                     <source>1.8</source> | ||||||
|  |                     <target>1.8</target> | ||||||
|  |                 </configuration> | ||||||
|  |             </plugin> | ||||||
|  |         </plugins> | ||||||
|  |     </build> | ||||||
|  | </project> | ||||||
		Reference in New Issue
	
	Block a user