Skip to content

Commit 95db365

Browse files
init commit
0 parents  commit 95db365

File tree

112 files changed

+3408
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+3408
-0
lines changed

Diff for: .project

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>maven-multi</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.m2e.core.maven2Builder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
</buildSpec>
14+
<natures>
15+
<nature>org.eclipse.m2e.core.maven2Nature</nature>
16+
</natures>
17+
</projectDescription>

Diff for: .settings/org.eclipse.core.resources.prefs

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
eclipse.preferences.version=1
2+
encoding/<project>=UTF-8

Diff for: .settings/org.eclipse.m2e.core.prefs

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
activeProfiles=
2+
eclipse.preferences.version=1
3+
resolveWorkspaceProjects=true
4+
version=1

Diff for: online-store.core/.classpath

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="src" output="target/classes" path="src/main/java">
4+
<attributes>
5+
<attribute name="optional" value="true"/>
6+
<attribute name="maven.pomderived" value="true"/>
7+
</attributes>
8+
</classpathentry>
9+
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
10+
<attributes>
11+
<attribute name="optional" value="true"/>
12+
<attribute name="maven.pomderived" value="true"/>
13+
<attribute name="test" value="true"/>
14+
</attributes>
15+
</classpathentry>
16+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
17+
<attributes>
18+
<attribute name="maven.pomderived" value="true"/>
19+
</attributes>
20+
</classpathentry>
21+
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
22+
<attributes>
23+
<attribute name="maven.pomderived" value="true"/>
24+
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
25+
</attributes>
26+
</classpathentry>
27+
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v10.0">
28+
<attributes>
29+
<attribute name="owner.project.facets" value="jst.utility"/>
30+
</attributes>
31+
</classpathentry>
32+
<classpathentry kind="output" path="target/classes"/>
33+
</classpath>

Diff for: online-store.core/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/target/

Diff for: online-store.core/.project

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>maven-multi.core</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.wst.common.project.facet.core.builder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.jdt.core.javabuilder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
<buildCommand>
19+
<name>org.eclipse.wst.validation.validationbuilder</name>
20+
<arguments>
21+
</arguments>
22+
</buildCommand>
23+
<buildCommand>
24+
<name>org.eclipse.m2e.core.maven2Builder</name>
25+
<arguments>
26+
</arguments>
27+
</buildCommand>
28+
</buildSpec>
29+
<natures>
30+
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
31+
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
32+
<nature>org.eclipse.jdt.core.javanature</nature>
33+
<nature>org.eclipse.m2e.core.maven2Nature</nature>
34+
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
35+
</natures>
36+
</projectDescription>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
eclipse.preferences.version=1
2+
encoding//src/main/java=UTF-8
3+
encoding//src/test/java=UTF-8
4+
encoding/<project>=UTF-8
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
eclipse.preferences.version=1
2+
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4+
org.eclipse.jdt.core.compiler.compliance=11
5+
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6+
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
7+
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
8+
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
9+
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
10+
org.eclipse.jdt.core.compiler.release=disabled
11+
org.eclipse.jdt.core.compiler.source=11
+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
activeProfiles=
2+
eclipse.preferences.version=1
3+
resolveWorkspaceProjects=true
4+
version=1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
2+
<wb-module deploy-name="online-store.core">
3+
<wb-resource deploy-path="/" source-path="/src/main/java"/>
4+
</wb-module>
5+
</project-modules>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<faceted-project>
3+
<runtime name="Apache Tomcat v10.0"/>
4+
<installed facet="java" version="11"/>
5+
<installed facet="jst.utility" version="1.0"/>
6+
</faceted-project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
disabled=06target
2+
eclipse.preferences.version=1

Diff for: online-store.core/pom.xml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<parent>
6+
<groupId>com.itbulls.learnit</groupId>
7+
<artifactId>online-store</artifactId>
8+
<version>${project.version}</version>
9+
</parent>
10+
<modelVersion>4.0.0</modelVersion>
11+
12+
<groupId>com.learnit.itbulls</groupId>
13+
<artifactId>online-store.core</artifactId>
14+
<version>${project.version}</version>
15+
<packaging>jar</packaging>
16+
17+
<dependencies>
18+
<dependency>
19+
<groupId>com.learnit.itbulls</groupId>
20+
<artifactId>online-store.persistence</artifactId>
21+
<version>${project.version}</version>
22+
</dependency>
23+
</dependencies>
24+
25+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.itbulls.learnit.onlinestore.core;
2+
3+
import com.itbulls.learnit.onlinestore.core.menu.Menu;
4+
import com.itbulls.learnit.onlinestore.core.menu.impl.MainMenu;
5+
6+
public class Main {
7+
8+
public static final String EXIT_COMMAND = "exit";
9+
10+
public static void main(String[] args) {
11+
Menu mainMenu = new MainMenu();
12+
mainMenu.start();
13+
}
14+
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.itbulls.learnit.onlinestore.core.configs;
2+
3+
import com.itbulls.learnit.onlinestore.core.menu.Menu;
4+
import com.itbulls.learnit.onlinestore.persistence.enteties.Cart;
5+
import com.itbulls.learnit.onlinestore.persistence.enteties.User;
6+
import com.itbulls.learnit.onlinestore.persistence.enteties.impl.DefaultCart;
7+
8+
public class ApplicationContext {
9+
10+
private static ApplicationContext instance;
11+
12+
private User loggedInUser;
13+
private Menu mainMenu;
14+
private Cart sessionCart;
15+
16+
private ApplicationContext() {
17+
}
18+
19+
public void setLoggedInUser(User user) {
20+
if (this.sessionCart != null) {
21+
this.sessionCart.clear(); // we have to clear session cart when new user is logged in
22+
}
23+
this.loggedInUser = user;
24+
}
25+
26+
public User getLoggedInUser() {
27+
return this.loggedInUser;
28+
}
29+
30+
public void setMainMenu(Menu menu) {
31+
this.mainMenu = menu;
32+
}
33+
34+
public Menu getMainMenu() {
35+
return this.mainMenu;
36+
}
37+
38+
public static ApplicationContext getInstance() {
39+
if (instance == null) {
40+
instance = new ApplicationContext();
41+
}
42+
return instance;
43+
}
44+
45+
public Cart getSessionCart() {
46+
if (this.sessionCart == null) {
47+
this.sessionCart = new DefaultCart();
48+
}
49+
return this.sessionCart;
50+
}
51+
52+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.itbulls.learnit.onlinestore.core.facades;
2+
3+
import com.itbulls.learnit.onlinestore.persistence.enteties.SupportTicket;
4+
5+
public interface HelpDeskFacade {
6+
7+
void addNewSupportTicket(SupportTicket supportTicket);
8+
9+
SupportTicket getNextSupportTicket();
10+
11+
/**
12+
* @return amount of tickets that are not processed
13+
*/
14+
int getNumberOfTickets();
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.itbulls.learnit.onlinestore.core.facades.impl;
2+
3+
import java.util.PriorityQueue;
4+
import java.util.Queue;
5+
6+
import com.itbulls.learnit.onlinestore.core.facades.HelpDeskFacade;
7+
import com.itbulls.learnit.onlinestore.persistence.enteties.SupportTicket;
8+
import com.itbulls.learnit.onlinestore.persistence.utils.comparators.CustomSupportTicketsComparator;
9+
10+
public class DefaultHelpDeskFacade implements HelpDeskFacade {
11+
12+
private Queue<SupportTicket> tickets;
13+
14+
{
15+
tickets = new PriorityQueue<>(new CustomSupportTicketsComparator());
16+
}
17+
18+
@Override
19+
public void addNewSupportTicket(SupportTicket supportTicket) {
20+
tickets.offer(supportTicket);
21+
}
22+
23+
@Override
24+
public SupportTicket getNextSupportTicket() {
25+
return tickets.poll();
26+
}
27+
28+
@Override
29+
public int getNumberOfTickets() {
30+
return tickets.size();
31+
}
32+
33+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.itbulls.learnit.onlinestore.core.mail;
2+
3+
public interface MailSender {
4+
5+
void sendEmail(String sendTo, String messageToSend);
6+
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.itbulls.learnit.onlinestore.core.mail.impl;
2+
3+
import com.itbulls.learnit.onlinestore.core.mail.MailSender;
4+
5+
public class DefaultMailSender implements MailSender {
6+
7+
8+
private static DefaultMailSender instance;
9+
10+
private DefaultMailSender() {};
11+
12+
13+
public static DefaultMailSender getInstance() {
14+
if (instance == null) {
15+
instance = new DefaultMailSender();
16+
}
17+
return instance;
18+
}
19+
20+
@Override
21+
public void sendEmail(String sendTo, String messageToSend) {
22+
// sending email here
23+
}
24+
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.itbulls.learnit.onlinestore.core.menu;
2+
3+
public interface Menu {
4+
5+
String RESOURCE_BUNDLE_BASE_NAME = "exam.labels";
6+
7+
void start();
8+
9+
void printMenuHeader();
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.itbulls.learnit.onlinestore.core.menu.impl;
2+
3+
import java.util.ResourceBundle;
4+
import java.util.Scanner;
5+
6+
import com.itbulls.learnit.onlinestore.core.configs.ApplicationContext;
7+
import com.itbulls.learnit.onlinestore.core.menu.Menu;
8+
9+
10+
public class ChangeEmailMenu implements Menu {
11+
12+
private ApplicationContext context;
13+
private ResourceBundle rb;
14+
15+
{
16+
context = ApplicationContext.getInstance();
17+
rb = ResourceBundle.getBundle(RESOURCE_BUNDLE_BASE_NAME);
18+
}
19+
20+
@Override
21+
public void start() {
22+
printMenuHeader();
23+
Scanner sc = new Scanner(System.in);
24+
String userInput = sc.next();
25+
context.getLoggedInUser().setEmail(userInput);
26+
System.out.println(rb.getString("mail.changed.msg"));
27+
new MainMenu().start();
28+
}
29+
30+
@Override
31+
public void printMenuHeader() {
32+
System.out.println(rb.getString("change.language.header"));
33+
System.out.print(rb.getString("enter.new.email.cta"));
34+
}
35+
36+
}

0 commit comments

Comments
 (0)