Compare commits

...

No commits in common. 'master' and 'gauravfullcomponent' have entirely different histories.

115 changed files with 1600 additions and 3415 deletions
Split View
  1. 1
      .gitignore
  2. 13
      Angular-UrbanBazaar/proxy.config.json
  3. 24
      Angular-UrbanBazaar/src/app/app-routing.module.ts
  4. 13
      Angular-UrbanBazaar/src/app/app.module.ts
  5. 13
      Angular-UrbanBazaar/src/app/auth/login/login.component.css
  6. 55
      Angular-UrbanBazaar/src/app/auth/login/login.component.html
  7. 48
      Angular-UrbanBazaar/src/app/auth/login/login.component.ts
  8. 84
      Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.html
  9. 28
      Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.ts
  10. 13
      Angular-UrbanBazaar/src/app/components/cart/cart.component.html
  11. 52
      Angular-UrbanBazaar/src/app/components/cart/cart.component.ts
  12. 30
      Angular-UrbanBazaar/src/app/components/checkout/checkout.component.css
  13. 26
      Angular-UrbanBazaar/src/app/components/checkout/checkout.component.html
  14. 12
      Angular-UrbanBazaar/src/app/components/checkout/checkout.component.spec.ts
  15. 90
      Angular-UrbanBazaar/src/app/components/checkout/checkout.component.ts
  16. 26
      Angular-UrbanBazaar/src/app/components/home/home.component.html
  17. 56
      Angular-UrbanBazaar/src/app/components/home/home.component.ts
  18. 107
      Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.ts
  19. 2
      Angular-UrbanBazaar/src/app/components/page-nav-bar/page-nav-bar.component.css
  20. 36
      Angular-UrbanBazaar/src/app/components/page-nav-bar/page-nav-bar.component.html
  21. 17
      Angular-UrbanBazaar/src/app/components/page-nav-bar/page-nav-bar.component.ts
  22. 0
      Angular-UrbanBazaar/src/app/components/user-add/user-add.component.css
  23. 1
      Angular-UrbanBazaar/src/app/components/user-add/user-add.component.html
  24. 15
      Angular-UrbanBazaar/src/app/components/user-add/user-add.component.ts
  25. 63
      Angular-UrbanBazaar/src/app/components/user-profile-details/user-profile-details.component.html
  26. 48
      Angular-UrbanBazaar/src/app/components/user-profile-details/user-profile-details.component.ts
  27. 0
      Angular-UrbanBazaar/src/app/components/user-search/user-search.component.css
  28. 1
      Angular-UrbanBazaar/src/app/components/user-search/user-search.component.html
  29. 25
      Angular-UrbanBazaar/src/app/components/user-search/user-search.component.spec.ts
  30. 15
      Angular-UrbanBazaar/src/app/components/user-search/user-search.component.ts
  31. 3
      Angular-UrbanBazaar/src/app/components/user-show/user-show.component.css
  32. 29
      Angular-UrbanBazaar/src/app/components/user-show/user-show.component.html
  33. 25
      Angular-UrbanBazaar/src/app/components/user-show/user-show.component.spec.ts
  34. 22
      Angular-UrbanBazaar/src/app/components/user-show/user-show.component.ts
  35. 26
      Angular-UrbanBazaar/src/app/models/cart.ts
  36. 8
      Angular-UrbanBazaar/src/app/models/login.ts
  37. 16
      Angular-UrbanBazaar/src/app/models/member-user.ts
  38. 24
      Angular-UrbanBazaar/src/app/models/orders.ts
  39. 7
      Angular-UrbanBazaar/src/app/models/product-category.ts
  40. 16
      Angular-UrbanBazaar/src/app/models/product.ts
  41. 24
      Angular-UrbanBazaar/src/app/models/user.ts
  42. 83
      Angular-UrbanBazaar/src/app/services/cart.service.ts
  43. 35
      Angular-UrbanBazaar/src/app/services/member-user.service.ts
  44. 23
      Angular-UrbanBazaar/src/app/services/orders.service.ts
  45. 13
      Angular-UrbanBazaar/src/app/services/product-category.service.ts
  46. 23
      Angular-UrbanBazaar/src/app/services/product.service.ts
  47. 36
      Angular-UrbanBazaar/src/app/services/user.service.ts
  48. 3
      README.md
  49. 33
      UB_CartServiceProxy/.gitignore
  50. 117
      UB_CartServiceProxy/.mvn/wrapper/MavenWrapperDownloader.java
  51. BIN
      UB_CartServiceProxy/.mvn/wrapper/maven-wrapper.jar
  52. 2
      UB_CartServiceProxy/.mvn/wrapper/maven-wrapper.properties
  53. 33
      UB_CartServiceProxy/bin/.gitignore
  54. BIN
      UB_CartServiceProxy/bin/.mvn/wrapper/MavenWrapperDownloader.class
  55. BIN
      UB_CartServiceProxy/bin/.mvn/wrapper/maven-wrapper.jar
  56. 2
      UB_CartServiceProxy/bin/.mvn/wrapper/maven-wrapper.properties
  57. 310
      UB_CartServiceProxy/bin/mvnw
  58. 182
      UB_CartServiceProxy/bin/mvnw.cmd
  59. 56
      UB_CartServiceProxy/bin/pom.xml
  60. BIN
      UB_CartServiceProxy/bin/src/main/java/com/example/urbanbazaar/ServletInitializer.class
  61. BIN
      UB_CartServiceProxy/bin/src/main/java/com/example/urbanbazaar/UbCartServiceProxyApplication.class
  62. BIN
      UB_CartServiceProxy/bin/src/main/java/com/example/urbanbazaar/controller/CartController.class
  63. BIN
      UB_CartServiceProxy/bin/src/main/java/com/example/urbanbazaar/model/Cart.class
  64. BIN
      UB_CartServiceProxy/bin/src/main/java/com/example/urbanbazaar/repository/CartRepository.class
  65. 11
      UB_CartServiceProxy/bin/src/main/resources/application.properties
  66. BIN
      UB_CartServiceProxy/bin/src/test/java/com/example/urbanbazaar/UbCartServiceProxyApplicationTests.class
  67. 310
      UB_CartServiceProxy/mvnw
  68. 182
      UB_CartServiceProxy/mvnw.cmd
  69. 56
      UB_CartServiceProxy/pom.xml
  70. 13
      UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/ServletInitializer.java
  71. 13
      UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/UbCartServiceProxyApplication.java
  72. 48
      UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/controller/CartController.java
  73. 143
      UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/model/Cart.java
  74. 11
      UB_CartServiceProxy/src/main/resources/application.properties
  75. 13
      UB_CartServiceProxy/src/test/java/com/example/urbanbazaar/UbCartServiceProxyApplicationTests.java
  76. 33
      UB_OrderServiceProxy/.gitignore
  77. 117
      UB_OrderServiceProxy/.mvn/wrapper/MavenWrapperDownloader.java
  78. BIN
      UB_OrderServiceProxy/.mvn/wrapper/maven-wrapper.jar
  79. 2
      UB_OrderServiceProxy/.mvn/wrapper/maven-wrapper.properties
  80. 310
      UB_OrderServiceProxy/mvnw
  81. 182
      UB_OrderServiceProxy/mvnw.cmd
  82. 56
      UB_OrderServiceProxy/pom.xml
  83. 13
      UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/UbOrderServiceProxyApplication.java
  84. 68
      UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/controller/OrderController.java
  85. 186
      UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/model/Orders.java
  86. 17
      UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/repository/OrderRepository.java
  87. 11
      UB_OrderServiceProxy/src/main/resources/application.properties
  88. 13
      UB_OrderServiceProxy/src/test/java/com/example/urbanbazaar/UbOrderServiceProxyApplicationTests.java
  89. 22
      UB_ProductServiceProxy/pom.xml
  90. 50
      UB_ProductServiceProxy/src/main/java/com/example/MessageConfig/MessaageConfig.java
  91. 2
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/UbProductServiceProxyApplication.java
  92. 88
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/controller/CartController.java
  93. 56
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/controller/OrderController.java
  94. 22
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/controller/ProductController.java
  95. 68
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/model/Cart.java
  96. 73
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/model/Order.java
  97. 39
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/model/OrderStatus.java
  98. 59
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/model/Product.java
  99. 142
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/model/User.java
  100. 13
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/repository/CartRepository.java

1
.gitignore

@ -1 +0,0 @@
/.metadata/

13
Angular-UrbanBazaar/proxy.config.json

@ -1,18 +1,11 @@
{
"/products":{
"target":"http://10.3.117.7:8002",
"target":"http://10.3.117.5:8014",
"secure":false
},
"/user":{
"target":"http://10.3.117.7:8006",
"secure":false
},
"/orders":{
"target":"http://10.3.117.7:8003",
"secure":false
},
"/cart":{
"target":"http://10.3.117.7:8004",
"target":"http://10.3.117.5:8011",
"secure":false
}
}

24
Angular-UrbanBazaar/src/app/app-routing.module.ts

@ -1,21 +1,31 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from './auth/login/login.component';
import { SignUpComponent } from './auth/sign-up/sign-up.component';
import { CartComponent } from './components/cart/cart.component';
import { CheckoutComponent } from './components/checkout/checkout.component';
import { HomeComponent } from './components/home/home.component';
import { MemberlistComponent } from './components/memberlist/memberlist.component';
import { UserProfileDetailsComponent } from './components/user-profile-details/user-profile-details.component';
import { UserShowComponent } from './components/user-show/user-show.component';
const routes: Routes = [
{path: '', component: LoginComponent},
{path: 'home', component: HomeComponent},
{path: 'showAllUsers', component: UserShowComponent},
{path: 'profile', component: UserProfileDetailsComponent},
{path: 'showCart', component: CartComponent},
{path:'checkout', component:CheckoutComponent},
{ path: '', component: LoginComponent},
{ path: 'login', component: LoginComponent},
{ path: 'signup', component: SignUpComponent},
{ path: 'user-profile-details', component: UserProfileDetailsComponent},
{ path: 'memberlist', component: MemberlistComponent},
{ path: 'showCart', component: CartComponent},
{ path: 'home', component: HomeComponent,
children: [
{ path: 'user-profile-details', component: UserProfileDetailsComponent, outlet: 'user'},
{ path: 'memberlist', component: MemberlistComponent, outlet: 'member'}
]
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
imports: [RouterModule.forRoot(routes ,{ useHash: true })],
exports: [RouterModule]

13
Angular-UrbanBazaar/src/app/app.module.ts

@ -1,12 +1,9 @@
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { HttpClientModule } from '@angular/common/http';
import { UserShowComponent } from './components/user-show/user-show.component';
import { UserAddComponent } from './components/user-add/user-add.component';
import { UserProfileDetailsComponent } from './components/user-profile-details/user-profile-details.component';
import { PageNavBarComponent } from './components/page-nav-bar/page-nav-bar.component';
import { HomeComponent } from './components/home/home.component';
@ -15,25 +12,29 @@ import { MatInputModule } from '@angular/material/input';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatCardModule } from '@angular/material/card';
import { MatButtonModule } from '@angular/material/button';
import { MatDividerModule } from '@angular/material/divider';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FlexLayoutModule } from '@angular/flex-layout';
import { LoginComponent } from './auth/login/login.component';
import { SignUpComponent } from './auth/sign-up/sign-up.component';
import { MemberlistComponent } from './components/memberlist/memberlist.component';
import { CheckoutComponent } from './components/checkout/checkout.component';
@NgModule({
declarations: [
AppComponent,
UserShowComponent,
UserAddComponent,
UserProfileDetailsComponent,
PageNavBarComponent,
HomeComponent,
CartComponent,
LoginComponent,
SignUpComponent,
MemberlistComponent,
CheckoutComponent,
],
imports: [
BrowserModule,
BrowserAnimationsModule,
AppRoutingModule,
FormsModule,
ReactiveFormsModule,
@ -43,7 +44,7 @@ import { SignUpComponent } from './auth/sign-up/sign-up.component';
MatInputModule,
MatCardModule,
MatButtonModule,
BrowserAnimationsModule
MatDividerModule,
],
providers: [],
bootstrap: [AppComponent]

13
Angular-UrbanBazaar/src/app/auth/login/login.component.css

@ -3,10 +3,19 @@ body {
padding: 10px 10px 10px 10px;
}
.login-main{
.login-main {
margin-top: 10%;
}
mat-card{
mat-card {
min-width: 30%;
max-width: 50%;
}
.main-div {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}

55
Angular-UrbanBazaar/src/app/auth/login/login.component.html

@ -1,27 +1,34 @@
<!-- <p>login works!</p> -->
<body>
<br><br>
<h1 style="text-align: center;">Urban Bazaar</h1>
<div class="main-div">
<mat-card>
<mat-card-header>
<mat-card-title>Welcome to Urban Bazaar !!!</mat-card-title>
</mat-card-header>
<div style="text-align: center">
<img src="/assets/Images/Logo.png" alt="Logo" />
</div>
<mat-card-content fxLayout="column">
<mat-form-field>
<input matInput placeholder="Username" [formControl]="username" />
</mat-form-field>
<mat-form-field>
<input type="password" matInput placeholder="Password" [formControl]="password" />
</mat-form-field>
<span style="color: red;">{{errorMessage}}</span>
<button mat-raised-button color="primary" (click)="userLogin()">
Login
</button>
<a href="#" style="text-align: center; padding-top: 8px;">Forgotten password?</a>
</mat-card-content>
<mat-divider></mat-divider>
<mat-card-actions>
<button mat-raised-button color="primary" (click)="signup()">
Create a new Account
</button>
<div fxLayout="row" fxLayoutAlign="center center" class="login-main">
<mat-card >
<mat-card-header>
<mat-card-title>Login Page</mat-card-title>
</mat-card-header>
<mat-card-content fxLayout="column">
<mat-form-field>
<input matInput placeholder="Username"
[formControl]="username">
</mat-form-field>
<mat-form-field>
<input type="password" matInput placeholder="password"
[formControl]="password">
</mat-form-field>
</mat-card-content>
<mat-card-actions align="end">
<button mat-raised-button color="primary" (click)="userLogin()">Login</button>
</mat-card-actions>
</mat-card>
</div>
</mat-card-actions>
</mat-card>
</div>
</body>

48
Angular-UrbanBazaar/src/app/auth/login/login.component.ts

@ -10,42 +10,38 @@ import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
styleUrls: ['./login.component.css'],
})
export class LoginComponent implements OnInit {
username = new FormControl();
password = new FormControl();
responseMessage : string = "";
temp : Observable<User>;
// temp : User;
temps : Observable<string>;
userList : Observable<User[]>;
responseMessage: string = '';
temp: Observable<User>;
errorMessage: string = '';
constructor(private _userService : UserService, private router : Router) {}
constructor(private _userService: UserService, private router: Router) {}
signup() {
this.router.navigateByUrl('/signup');
}
userLogin() {
// alert(this.username.value+" | "+this.password.value);
let user : Login = {
let user: Login = {
userfirstname: this.username.value,
userpassword: this.password.value
}
userpassword: this.password.value,
};
this.temp = this._userService.findUserByUsername(this.username.value);
this.temp.subscribe(v => {
if(v.userpassword == this.password.value)
this.responseMessage = "Login success !!";
else
this.responseMessage = "Password Incorrect.";
this.temp.subscribe((v) => {
if (v.userpassword == this.password.value) {
this.temp.subscribe((v) => (this._userService.currentUser = v));
this.router.navigateByUrl('/home');
alert('Login Successfull !!');
} else {
this.errorMessage = 'Wrong Password.';
alert('Login falied !!');
}
});
if(this.responseMessage == "Login success !!") {
this.temp.subscribe(v => this._userService.currentUser = v);
this.router.navigateByUrl('/home');
}
else
alert(this.responseMessage);
}
ngOnInit(): void {
}
ngOnInit(): void {}
}

84
Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.html

@ -1 +1,83 @@
<p>sign-up works!</p>
<!-- <div >
<app-page-nav-bar></app-page-nav-bar>
</div> -->
<p style="text-align:center;">Please provide your details to signup with Urban Bazaar</p>
<form #signupForm="ngForm" style="text-align:center;" (ngSubmit)="signup(signupForm)">
User UserEmail:
<input type="text" name="useremail" [(ngModel)]="user.useremail" required #useremail="ngModel" />
<br/><br/>
<div *ngIf="useremail.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Email Id...</h6>
</div>
<br/>
User Password :
<input type="password" name="userpassword" [(ngModel)]="user.userpassword" required #userpassword="ngModel" />
<br/><br/>
<div *ngIf="userpassword.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Password...</h6>
</div>
<br/>
User First Name :
<input type="text" name="userfirstname" [(ngModel)]="user.userfirstname" required #userfirstname="ngModel" />
<br/><br/>
<div *ngIf="userfirstname.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User First Name...</h6>
</div>
<br/>
User Last Name :
<input type="text" name="userlastname" [(ngModel)]="user.userlastname"
required #userlastname="ngModel" />
<br/><br/>
<div *ngIf="userlastname.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Last Name...</h6>
</div>
<br/>
User City :
<input type="text" name="usercity" [(ngModel)]="user.usercity" required #usercity="ngModel" />
<br/><br/>
<div *ngIf="usercity.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter UserCity...</h6>
</div>
<br/>
User State :
<input type="text" name="userstate" [(ngModel)]="user.userstate" required #userstate="ngModel" />
<br/><br/>
<div *ngIf="userstate.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter UserState...</h6>
</div>
<br/>
User Zip :
<input type="text" name="userzip" [(ngModel)]="user.userzip" required #userzip="ngModel" />
<br/><br/>
<div *ngIf="userzip.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Zip...</h6>
</div>
<br/>
User Phone Number :
<input type="text" name="userphone" [(ngModel)]="user.userphone" required #userphone="ngModel" />
<br/><br/>
<div *ngIf="userphone.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Number...</h6>
</div>
<br/>
User Address :
<input type="text" name="useraddress" [(ngModel)]="user.useraddress" required #useraddress="ngModel" />
<br/><br/>
<div *ngIf="useraddress.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Address...</h6>
</div>
<br/>
User Address2 :
<input type="text" name="useraddress2" [(ngModel)]="user.useraddress2" required #useraddress2="ngModel" />
<br/><br/>
<div *ngIf="useraddress2.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Address2...</h6>
</div>
<br/>
<input type="Submit" value="Submit" />
</form>
<!-- <div style="text-align:center;">
<a [routerLink]="['user-show']">UserDetails</a>
</div> -->

28
Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.ts

@ -1,15 +1,37 @@
import { Component, OnInit } from '@angular/core';
import { NgForm } from '@angular/forms';
import { Observable } from 'rxjs';
import { User } from 'src/app/models/user';
import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-sign-up',
templateUrl: './sign-up.component.html',
styleUrls: ['./sign-up.component.css']
styleUrls: ['./sign-up.component.css'],
})
export class SignUpComponent implements OnInit {
user: User;
tys: string = 't';
temp: Observable<User>;
constructor() { }
isFormSubmitted: boolean;
public signup(signupForm: NgForm) {
if (signupForm.invalid) {
alert('Kindly enter all details');
return;
}
this.isFormSubmitted = true;
ngOnInit(): void {
this._userservice.addUser(this.user).subscribe((x) => {
this.tys = 'y';
alert('Signup Successful');
if (this.tys == 't') alert('not');
});
}
constructor(private _userservice: UserService) {
this.user = new User();
this.isFormSubmitted = false;
}
ngOnInit(): void {}
}

13
Angular-UrbanBazaar/src/app/components/cart/cart.component.html

@ -8,7 +8,7 @@
<th>S.No</th>
<th>ProductName</th>
<th>ProductPrice</th>
<th>quantity</th>
<th>Action</th>
</tr>
</thead>
@ -17,15 +17,22 @@
<td>{{i+1}}</td>
<td>{{c.productname}}</td>
<td>{{c.productprice}}</td>
<!-- <td>
<select>
<option *ngFor="let v of quantity">
{{v}}
</option>
</select>
</td> -->
<td>
<button class="CartButtons" (click)="removeItem(c)">Delete</button>
<button class="CartButtons" (click)="removeItem(c.cartid)">Delete</button>
</td>
</tr>
<tr>
<td colspan="4"></td>
<td><button (click)=emptyCart() class="CartButtons">Empty Cart</button></td>
<td><button routerLink='/home' class="CartButtons">Shop More</button></td>
<td><button class="CartButtons">Checkout</button></td>
<td><button (click)=checkout() class="CartButtons">Checkout</button></td>
<td><strong>Grand Total : Rs.{{grandTotal}}</strong></td>
</tr>
</tbody>

52
Angular-UrbanBazaar/src/app/components/cart/cart.component.ts

@ -1,8 +1,11 @@
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { Cart } from 'src/app/models/cart';
import { Product } from 'src/app/models/product';
import { User } from 'src/app/models/user';
import { CartService } from 'src/app/services/cart.service';
import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-cart',
@ -11,32 +14,47 @@ import { CartService } from 'src/app/services/cart.service';
})
export class CartComponent implements OnInit {
public cartdetails:any =[];
public grandTotal!: number;
user : User;
constructor(private cartservice : CartService) {
//this.user = JSON.parse(localStorage.getItem('currentUser'));
//this.cartdetails = this.cartservice.showCartForUser(this.user.userid);
this.cartservice.showCart().subscribe(v=> this.cartdetails=v);
public cartdetails: any[]=[];
public grandTotal = 0;
constructor(private cartservice:CartService,private userservice:UserService,private router: Router) {
}
// public quantity=[1,2,3,4,5,6,7,8,9,10,11]
ngOnInit(): void {
// this.user = JSON.parse(localStorage.getItem('currentUser'));
// this.cartdetails = this.cartservice.showCartForUser(this.user.userid);
this.cartservice.showCart().subscribe(v=> this.cartdetails=v);
this.cartservice.showCart()
.subscribe(res=>{
this.cartdetails = res;
this.cartdetails.forEach((i,index)=>{
this.grandTotal+=i.productprice;
})
})
}
public removeItem(cart_id : number){
// this.cartservice.deleteCartItemForUserId(cart_id);
checkout()
{
this.router.navigateByUrl('/checkout');
}
public addCartItem(cartItem : Cart) {
this.cartservice.addCartItem(cartItem)
removeItem(id:number){
this.cartservice.deleteCart(id).subscribe(a=>{
this.cartdetails.forEach((i,index)=>{
if(i.cartid == id)
{
this.cartdetails.splice(index,1)
this.grandTotal-=i.productprice;
}
})
});
}
public emptyCart() {
// this.cartservice.removeAllCartForUserId(this.user.userid);
emptyCart()
{
this.cartservice.deleteAll().subscribe(b=>{
this.cartdetails.forEach((i,index)=>{
this.cartdetails.splice(index);
})
});
}
}

30
Angular-UrbanBazaar/src/app/components/checkout/checkout.component.css

@ -0,0 +1,30 @@
.CartButtons{
border-radius: 15px;
border-color:antiquewhite ;
background-color: beige;
padding: 1%;
flex: auto;
flex-direction: row;
position: absolute;
top: 1px;
right: 39px;
}
.card-table{
position: relative;
display: flex;
flex-direction: column;
align-items: center;
}
.placeorder{
position: absolute;
bottom: 2px;
right: 694px;
border-radius: 15px;
border-color:antiquewhite ;
background-color: beige;
padding: 1%;
}
.table{
font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}

26
Angular-UrbanBazaar/src/app/components/checkout/checkout.component.html

@ -0,0 +1,26 @@
<ng-container *ngIf="cartdetails.length !=0">
<div class="container">
<div class="card-table">
<table class="table">
<thead>
<tr>
<th>S.No</th>
<th>ProductName</th>
<th>ProductPrice</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let c of cartdetails; let i = index">
<td>{{i+1}}</td>
<td>{{c.productname}}</td>
<td>{{c.productprice}}</td>
</tr>
<td><strong>Grand Total : Rs.{{grandTotal}}</strong></td>
</tbody>
</table>
</div>
<button (click)=logout() class="CartButtons">log out</button>
<button class="placeorder" (click)=place()>Place order</button>
</div>
</ng-container>

Angular-UrbanBazaar/src/app/components/user-add/user-add.component.spec.ts → Angular-UrbanBazaar/src/app/components/checkout/checkout.component.spec.ts

@ -1,20 +1,20 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { UserAddComponent } from './user-add.component';
import { CheckoutComponent } from './checkout.component';
describe('UserAddComponent', () => {
let component: UserAddComponent;
let fixture: ComponentFixture<UserAddComponent>;
describe('CheckoutComponent', () => {
let component: CheckoutComponent;
let fixture: ComponentFixture<CheckoutComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ UserAddComponent ]
declarations: [ CheckoutComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(UserAddComponent);
fixture = TestBed.createComponent(CheckoutComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

90
Angular-UrbanBazaar/src/app/components/checkout/checkout.component.ts

@ -0,0 +1,90 @@
import { unescapeIdentifier } from '@angular/compiler';
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { Orders } from 'src/app/models/orders';
import { CartService } from 'src/app/services/cart.service';
import { OrdersService } from 'src/app/services/orders.service';
import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-checkout',
templateUrl: './checkout.component.html',
styleUrls: ['./checkout.component.css']
})
export class CheckoutComponent implements OnInit {
public cartdetails: any[] = [];
public orderdetails: any[]=[];
public grandTotal = 0;
constructor(private cartservice: CartService, private router: Router,private userservice:UserService, private orderservice:OrdersService) {
// this.orderdetails = this.orderservice.showOrder();
}
public uid = (this.userservice.currentUser.userid);
uid1 = this.uid.toString()
place()
{
// this.orderservice.deleteAll().subscribe(b=>{
// this.orderdetails.forEach((i,index)=>{
// this.orderdetails.splice(index);
// })
// })
// this.orderservice.deleteAll().subscribe()
alert("your order have been placed for uid:"+this.uid1+"\n"+"Visit Again !")
// this.router.navigateByUrl("/");
this.cartservice.deleteAll().subscribe(b => {
this.cartdetails.forEach((i, index) => {
this.cartdetails.splice(index);
})
});
this.router.navigateByUrl("/");
}
logout() {
this.router.navigateByUrl("/");
this.cartservice.deleteAll().subscribe(b => {
this.cartdetails.forEach((i, index) => {
this.cartdetails.splice(index);
})
});
this.orderservice.deleteAll().subscribe(b=>{
this.orderdetails.forEach((i,index)=>{
this.orderdetails.splice(index);
})
})
}
ngOnInit(): void {
this.cartservice.showCart()
.subscribe(res => {
this.cartdetails = res;
this.cartdetails.forEach((i, index) => {
//console.log(i.productprice,i.userid,i.productname);
let order = new Orders();
order.productname = i.productname
order.productprice = i.productprice
order.userid = i.userid;
this.orderservice.addOrder(order).subscribe();
this.grandTotal += i.productprice;
})
})
// this.orderservice.showOrder().subscribe(res=>{
// this.orderdetails = res;
// // this.orderdetails.forEach((i,index)=>{
// // this.grandTotal+=i.productprice
// // })
// })
}
}

26
Angular-UrbanBazaar/src/app/components/home/home.component.html

@ -1,21 +1,23 @@
<body>
<button style="shape-outside: circle();color:forestgreen;
background-color: white; border-color: forestgreen;" class="EditProfile" (click)=EditProfile()>Edit
Profile</button> &nbsp;
<button style="shape-outside: circle();color: forestgreen; background-color: white; border-color: forestgreen;" class="Members List of Curent User" (click)=Members()>Members List of Curent User</button>
<br /><br />
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="text"
[(ngModel)]="searchValue" id="searchValue" [ngModelOptions]="{standalone: true}"
placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0"
type="submit" (click)="searchProduct()">Search</button>
</form>
<button class="showCart" (click)="showCart()">Show Cart</button>
<input class="form-control mr-sm-2" type="text" [(ngModel)]="searchValue" id="searchValue" [ngModelOptions]="{standalone: true}" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit" (click)="searchProduct()">Search</button>
</form>
<button class="showCart" (click)="showCart()">Show Cart</button>
<div class="cardParent">
<div class="card" *ngFor="let i of Searchedproducts">
<img src="{{i.productimage}}" style="width:85%">
<h5>{{i.productname}}</h5>
<p class="price">Rs. {{i.productprice}} <br>
Weight: {{i.productweight}} Kg</p>
<p class="price">Rs. {{i.productprice}}</p>
<p><button class="AddToCart" (click)=addCart(i)>Add to Cart</button></p>
</div>
</div>
</body>
</body>

56
Angular-UrbanBazaar/src/app/components/home/home.component.ts

@ -1,52 +1,62 @@
import { Component, OnInit } from '@angular/core';
import { ProductService } from './../../services/product.service';
import { Observable } from 'rxjs';
import { Product } from './../../models/product';
import { ActivatedRoute, Router } from '@angular/router';
import { Router } from '@angular/router';
import { CartService } from 'src/app/services/cart.service';
import { Cart } from 'src/app/models/cart';
import { ThrowStmt } from '@angular/compiler';
import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
styleUrls: ['./home.component.css'],
})
export class HomeComponent implements OnInit {
public products: Product[];
public Searchedproducts: Product[];
searchValue : string = "";
searchValue: string = '';
cartNo: number = 0;
constructor(private productservice: ProductService,
private router: Router,
constructor(
private productservice: ProductService,
private router: Router,
private cartservice: CartService,
) {}
private userservice: UserService
) { }
public showCart(){
public showCart() {
this.router.navigateByUrl('/showCart');
}
addCart(item:any){
this.cartservice.addCartItem(item);
console.log(this.cartservice.addCartItem(item))
console.log(item)
addCart(item: any) {
let cart = new Cart();
cart.productid = item.productid;
cart.userid = this.userservice.currentUser.userid;
cart.productprice = item.productprice;
cart.productname = item.productname;
cart.productcategoryid = item.productcategoryid;
this.cartservice.addtoCart(cart).subscribe();
}
searchProduct() {
if(this.searchValue=="") {
if (this.searchValue == '') {
this.Searchedproducts = this.products;
} else {
// this.productservice.searchProduct(this.searchValue).subscribe(
// res => {this.Searchedproducts = res;}
// );
this.Searchedproducts = this.products.filter(p => p.productname.toLocaleLowerCase().includes(this.searchValue));
this.Searchedproducts = this.products.filter((p) =>
p.productname.toLocaleLowerCase().includes(this.searchValue)
);
}
}
EditProfile() {
this.router.navigateByUrl('/user-profile-details');
}
Members() {
this.router.navigateByUrl('/memberlist');
}
ngOnInit(): void {
this.productservice.showAllProduct().subscribe(res=>{
this.productservice.showAllProduct().subscribe((res) => {
this.products = res;
this.Searchedproducts = res;
})
}}
});
}
}

107
Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.ts

@ -8,82 +8,67 @@ import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-memberlist',
templateUrl: './memberlist.component.html',
styleUrls: ['./memberlist.component.css']
styleUrls: ['./memberlist.component.css'],
})
export class MemberlistComponent implements OnInit {
currentUser: Observable<MemberUser[]>;
member: MemberUser;
userid: number = this._userservice.currentUser.userid;
public toggleButton: boolean = false;
mem: MemberUser;
isFormSubmitted: boolean = false;
currentUser : Observable<MemberUser[]>;
member : MemberUser;
userid :number =this._userservice.currentUser.userid
public toggleButton: boolean ;
mem :MemberUser
isFormSubmitted : boolean;
public add(addmemForm : NgForm) {
this.mem.userid=this._userservice.currentUser.userid
constructor(
private _memberService: MemberUserService,
private _userservice: UserService
) {
this.member = new MemberUser();
this.mem = new MemberUser();
this.isFormSubmitted = false;
this.toggleButton = true;
this.currentUser = this._memberService.searchMembersbyUser(
this._userservice.currentUser.userid
);
this.currentUser.subscribe();
}
public add(addmemForm: NgForm) {
this.mem.userid = this._userservice.currentUser.userid;
if (addmemForm.invalid) {
alert("Kindly enter all details")
alert('Kindly enter all details');
return;
}
this.isFormSubmitted=true;
this._memberService.addMemberUser(this.mem).subscribe(x => { alert("Member added Successfuly")
this.isFormSubmitted = true;
})
// .subscribe(x => {alert("Sign up Successfull")});
this._memberService.addMemberUser(this.mem).subscribe((x) => {
alert('Member added Successfuly');
});
}
public delete(updateForm : NgForm,v: MemberUser) {
this._memberService.deleteMemberUser(v.memberid).subscribe(x => { alert("Member deleted Successfuly")
})
public delete(updateForm: NgForm, v: MemberUser) {
this._memberService.deleteMemberUser(v.memberid).subscribe((x) => {
alert('Member deleted Successfuly');
});
}
constructor(private _memberService : MemberUserService,private _userservice:UserService) {
this.member=new MemberUser()
this.mem=new MemberUser();
this.isFormSubmitted=false;
this.toggleButton=true
this.currentUser = this._memberService.searchMembersbyUser(this._userservice.currentUser.userid);
this.currentUser.subscribe();
}
update(updateForm : NgForm ,v:MemberUser) {
public update(updateForm: NgForm, v: MemberUser) {
if (updateForm.invalid) {
return;
}
// console.log(v)
this._memberService.updateMemberUser(v).subscribe(x=>{
alert("Member Id: "+v.memberid+" with MemberName "+v.membername+" is updated") })
// alert("Record Updated")})
this._memberService.updateMemberUser(v).subscribe((x) => {
alert(
'Member Id: ' +
v.memberid +
' with MemberName ' +
v.membername +
' is updated'
);
});
}
// addMember(updateForm : NgForm ,v:MemberUser) {
// if (updateForm.invalid) {
// return;
// }
// // console.log(v)
// this._memberService.addMemberUser(v).subscribe(x=>{
// alert("Member Id: "+v.memberid+" with MemberName "+v.membername+" is updated") })
// // alert("Record Updated")})
enable() { this.toggleButton = false; }
disable() { this.toggleButton = true; }
// }
enable(){
this.toggleButton = false
}
disable(){
this.toggleButton = true
}
ngOnInit(): void {
}
ngOnInit(): void {}
}

2
Angular-UrbanBazaar/src/app/components/page-nav-bar/page-nav-bar.component.css

@ -10,6 +10,8 @@
right: 0;
font-family: sans-serif;
}
.navbar-icon-top .navbar-nav .nav-link > .fa {
top: 3px;
line-height: 12px;

36
Angular-UrbanBazaar/src/app/components/page-nav-bar/page-nav-bar.component.html

@ -1,27 +1,19 @@
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Urban Bazaar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<a class="navbar-brand" href="#">Urban Bazaar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="/home">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/profile"> Profile <span class="sr-only">(current)</span></a>
</li>
<!-- Dropdown -->
<!-- <li class="nav-item dropdown" dropdown>
<a dropdownToggle mdbWavesEffect type="button" class="nav-link dropdown-toggle waves-light" mdbWavesEffect>
Profile<span class="caret"></span></a>
<div *dropdownMenu class="dropdown-menu dropdown-menu-right dropdown dropdown-primary" role="menu">
<a class="dropdown-item waves-light" mdbWavesEffect href="#">My account</a>
<a class="dropdown-item waves-light" mdbWavesEffect href="#">Log out</a>
</div>
</li> -->
</ul>
</div>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" routerLink="/home">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/user-profile-details">
Profile <span class="sr-only">(current)</span></a>
</li>
</ul>
</div>
</nav>

17
Angular-UrbanBazaar/src/app/components/page-nav-bar/page-nav-bar.component.ts

@ -1,8 +1,4 @@
import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { ProductService } from 'src/app/services/product.service';
import { Product } from 'src/app/models/product';
import { Router } from '@angular/router';
@Component({
selector: 'app-page-nav-bar',
@ -11,18 +7,7 @@ import { Router } from '@angular/router';
})
export class PageNavBarComponent implements OnInit {
searchValue: string = "";
products : Observable<Product[]>
constructor(private _productService : ProductService, private router: Router) { }
clickme() {
alert('searchValue: '+this.searchValue);
this.products = this._productService.searchProduct(this.searchValue);
this._productService.search = this.searchValue;
// this.router.navigate(["/search", {search: this.searchValue}]);
}
constructor() { }
ngOnInit(): void {
}

0
Angular-UrbanBazaar/src/app/components/user-add/user-add.component.css

1
Angular-UrbanBazaar/src/app/components/user-add/user-add.component.html

@ -1 +0,0 @@
<p>user-add works!</p>

15
Angular-UrbanBazaar/src/app/components/user-add/user-add.component.ts

@ -1,15 +0,0 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-user-add',
templateUrl: './user-add.component.html',
styleUrls: ['./user-add.component.css']
})
export class UserAddComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}

63
Angular-UrbanBazaar/src/app/components/user-profile-details/user-profile-details.component.html

@ -1,4 +1,4 @@
<p>user-profile-details works!</p>
<!-- <p>user-profile-details works!</p>
<body>
<div>
@ -33,4 +33,63 @@
Any changes will reflect in your Seller account also.
</div>
<br><br><br>
</body>
</body> -->
<body>
<!-- <div style="text-align:center;">
<a [routerLink]="['changepass']">Change Password</a> <br/>
<br/> -->
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<button style="text-align:center;background-color:dimgray;"class="btn" (click)="enable()">Edit</button> <br>
<form #updateForm="ngForm" style="text-align:center;" (ngSubmit)="update(updateForm)">
Personal Information
<br/>
Name:&nbsp;&nbsp;
<input type="text" name="userfirstName" [(ngModel)]="user.userfirstname" value="{{user.userfirstname}}" [disabled]='toggleButton'> &nbsp;&nbsp;
<input type="text" name="userlastName"[(ngModel)]="user.userlastname" value="{{user.userlastname}}" [disabled]='toggleButton'>
<br/><br/>
Mobile Number:&nbsp;&nbsp;
<input type="number" name="userphone"[(ngModel)]="user.userphone" value="{{user.userphone}}" [disabled]='toggleButton'>
<br/><br/>
Address1:&nbsp;&nbsp;
<input type="text"name="useraddress"[(ngModel)]="user.useraddress" value="{{user.useraddress}}"[disabled]='toggleButton'>
<br/><br/>
Address2:&nbsp;&nbsp;
<input type="text"name="useraddress2"[(ngModel)]="user.useraddress2" value="{{user.useraddress2}}"[disabled]='toggleButton'>
<br/><br/>
City:&nbsp;&nbsp;
<input type="text"name="usercity"[(ngModel)]="user.usercity" value="{{user.usercity}}"[disabled]='toggleButton'>
<br/><br/>
State:&nbsp;&nbsp;
<input type="text"name="userstate" [(ngModel)]="user.userstate" value="{{user.userstate}}"[disabled]='toggleButton'>
<br/><br/>
Zip:&nbsp;&nbsp;
<input type="text"name="userzip" [(ngModel)]="user.userzip" value="{{user.userzip}}"[disabled]='toggleButton'>
<br/><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" style="text-align:center;background-color:dimgray;"name="Save"/>
</form>
<br>
<h4>FAQs</h4>
<b>What happens when I update my email address (or mobile number)?</b> <br>
Your login email id (or mobile number) changes, likewise. You'll receive all your account related communication on your updated email address (or mobile number). <br><br>
<b>When will my UrbanBazaar account be updated with the new email address (or mobile number)?</b> <br>
It happens as soon as you confirm the verification code sent to your email (or mobile) and save the changes. <br><br>
<b>What happens to my existing UrbanBazaar account when I update my email address (or mobile number)?</b> <br>
Updating your email address (or mobile number) doesn't invalidate your account. Your account remains fully functional.
You'll continue seeing your Order history, saved information and personal details. <br><br>
<b>Does my Seller account get affected when I update my email address?</b> <br>
UrbanBazaar has a 'single sign-on' policy.
Any changes will reflect in your Seller account also.
<!-- </div> -->
<br><br><br>
</body>

48
Angular-UrbanBazaar/src/app/components/user-profile-details/user-profile-details.component.ts

@ -1,4 +1,5 @@
import { Component, OnInit } from '@angular/core';
import { NgForm } from '@angular/forms';
import { Observable } from 'rxjs';
import { User } from 'src/app/models/user';
import { UserService } from 'src/app/services/user.service';
@ -6,36 +7,39 @@ import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-user-profile-details',
templateUrl: './user-profile-details.component.html',
styleUrls: ['./user-profile-details.component.css']
styleUrls: ['./user-profile-details.component.css'],
})
export class UserProfileDetailsComponent implements OnInit {
currentUser : Observable<User>;
user : User;
constructor(private _userService : UserService) {
this.currentUser = this._userService.searchUser(100);
this.currentUser.subscribe((user: User) => {this.user = user});
// this.user = this._userService.currentUser;
currentUser: Observable<User>;
user: User;
public toggleButton: boolean;
// /isFormSubmitted : boolean;
constructor(private _userService: UserService) {
this.user = new User();
this.toggleButton = true;
this.currentUser = this._userService.searchUser(
this._userService.currentUser.userid
);
this.currentUser.subscribe((userold: User) => (this.user = userold));
}
public editUserName() {
alert("editUserName pressed !");
}
public update(vendorForm: NgForm) {
if (vendorForm.invalid) {
return;
}
public editEmail() {
alert("editEmail pressed !");
// this.isFormSubmitted=true;
this._userService.updateUser(this.user).subscribe((x) => {});
alert('Record Updated');
}
public editPassword() {
alert("editPassword pressed !");
enable() {
this.toggleButton = false;
}
public editPhone() {
alert("editPhone pressed !");
disable() {
this.toggleButton = true;
}
ngOnInit(): void {
this.user = this._userService.currentUser;
}
ngOnInit(): void {}
}

0
Angular-UrbanBazaar/src/app/components/user-search/user-search.component.css

1
Angular-UrbanBazaar/src/app/components/user-search/user-search.component.html

@ -1 +0,0 @@
<p>user-search works!</p>

25
Angular-UrbanBazaar/src/app/components/user-search/user-search.component.spec.ts

@ -1,25 +0,0 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { UserSearchComponent } from './user-search.component';
describe('UserSearchComponent', () => {
let component: UserSearchComponent;
let fixture: ComponentFixture<UserSearchComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ UserSearchComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(UserSearchComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

15
Angular-UrbanBazaar/src/app/components/user-search/user-search.component.ts

@ -1,15 +0,0 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-user-search',
templateUrl: './user-search.component.html',
styleUrls: ['./user-search.component.css']
})
export class UserSearchComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}

3
Angular-UrbanBazaar/src/app/components/user-show/user-show.component.css

@ -1,3 +0,0 @@
body {
padding-left: 10px;
}

29
Angular-UrbanBazaar/src/app/components/user-show/user-show.component.html

@ -1,29 +0,0 @@
<p>user-show works!</p>
<body>
<h3>All User Details</h3>
<table class="table table-hover">
<tr>
<th>User Id</th>
<th>User Email</th>
<th>First Name</th>
<th>City</th>
<th>Zipcode</th>
<th>Phone</th>
<th>Address Line 1</th>
<th>Address Line 2</th>
</tr>
<tr *ngFor="let user of userList | async">
<td>{{user.userid}}</td>
<td>{{user.useremail}}</td>
<td>{{user.userfirstname}}</td>
<td>{{user.usercity}}</td>
<td>{{user.userzip}}</td>
<td>{{user.userphone}}</td>
<td>{{user.useraddress}}</td>
<td>{{user.useraddress2}}</td>
</tr>
</table>
</body>

25
Angular-UrbanBazaar/src/app/components/user-show/user-show.component.spec.ts

@ -1,25 +0,0 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { UserShowComponent } from './user-show.component';
describe('UserShowComponent', () => {
let component: UserShowComponent;
let fixture: ComponentFixture<UserShowComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ UserShowComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(UserShowComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

22
Angular-UrbanBazaar/src/app/components/user-show/user-show.component.ts

@ -1,22 +0,0 @@
import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { User } from 'src/app/models/user';
import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-user-show',
templateUrl: './user-show.component.html',
styleUrls: ['./user-show.component.css']
})
export class UserShowComponent implements OnInit {
userList : Observable<User[]>;
constructor(private _userService : UserService) {
this.userList = this._userService.showAllUsers();
}
ngOnInit(): void {
}
}

26
Angular-UrbanBazaar/src/app/models/cart.ts

@ -1,22 +1,10 @@
export class Cart {
// public cartid : number;
// public userid : number;
// public orderid : number;
// public productname : string;
// public productprice : number;
// public quantity : number;
cartid:number;
productid:number;
userid:number;
productname:string;
productprice:number;
productcategoryid:number;
public productid : number;
public productname : string;
public productprice : number;
public productweight : number;
public productshortdesc : string;
public productlongdesc : string;
public productimage : string;
public userid : number;
public productcategoryid : number;
// public quantity : number;
constructor() {}
constructor() {}
}

8
Angular-UrbanBazaar/src/app/models/login.ts

@ -1,6 +1,6 @@
export class Login {
public userfirstname : string;
public userpassword : string;
constructor() {}
public userfirstname: string;
public userpassword: string;
constructor() {}
}

16
Angular-UrbanBazaar/src/app/models/member-user.ts

@ -1,10 +1,10 @@
export class MemberUser {
public userid : number;
public memberid : number;
public membername : string;
public totalitems : number;
public memberphone : string;
public membertotalamount : number;
constructor() {}
public userid: number;
public memberid: number;
public membername: string;
public totalitems: number;
public memberphone: string;
public membertotalamount: number;
public memberdoornumber: number;
constructor() {}
}

24
Angular-UrbanBazaar/src/app/models/orders.ts

@ -1,21 +1,9 @@
export class Orders {
orderid:number;
userid:number;
productname:string;
productprice:string;
public orderid : number;
public orderuserid : number;
public orderamount : number;
public ordershipaddress : string;
public ordershipaddress2 : string;
public ordercity : string;
public orderzip : string;
public orderstate : string;
public ordercountry : string;
public orderphone : string;
public ordershippingcost : number;
public ordertax : number;
public orderemail : string;
public orderdate : Date;
public ordershipped : string;
public ordertrackingnumber : string;
constructor() {}
constructor() {}
}

7
Angular-UrbanBazaar/src/app/models/product-category.ts

@ -1,7 +1,6 @@
export class ProductCategory {
public categoryid: number;
public categoryname: string;
public categoryid : number;
public categoryname : string;
constructor() {}
constructor() {}
}

16
Angular-UrbanBazaar/src/app/models/product.ts

@ -1,13 +1,9 @@
export class Product {
public productid: number;
public productname: string;
public productprice: number;
public productimage: string;
public productcategoryid: number;
public productid : number;
public productname : string;
public productprice : number;
public productweight : number;
public productshortdesc : string;
public productlongdesc : string;
public productimage : string;
public productcategoryid : number;
constructor() {}
constructor() {}
}

24
Angular-UrbanBazaar/src/app/models/user.ts

@ -1,15 +1,15 @@
export class User {
public userid : number;
public useremail : string;
public userpassword : string;
public userfirstname : string;
public userlastname : string;
public usercity: string;
public userstate : string;
public userzip : string;
public userphone : string;
public useraddress : string;
public useraddress2 : string;
public userid: number;
public useremail: string;
public userpassword: string;
public userfirstname: string;
public userlastname: string;
public usercity: string;
public userstate: string;
public userzip: string;
public userphone: string;
public useraddress: string;
public useraddress2: string;
constructor() {}
constructor() {}
}

83
Angular-UrbanBazaar/src/app/services/cart.service.ts

@ -1,84 +1,39 @@
import { HttpClient } from '@angular/common/http';
import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';
import { THIS_EXPR, ThrowStmt } from '@angular/compiler/src/output/output_ast';
import { Injectable } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { Cart } from '../models/cart';
import { Product } from '../models/product';
@Injectable({
providedIn: 'root'
providedIn: 'root',
})
export class CartService {
private _url : String = "http://localhost:8004/cart";
constructor(private _http : HttpClient) { }
private _url: String = 'http://localhost:8014/products';
public addCartItem(item:Cart)
constructor(private _http: HttpClient) {}
public addtoCart(cart:Cart)
{
this._http.post(this._url+"/addCartItem",item);
// console.log(item);
return this._http.post(this._url+"/addCart",cart);
}
public showCart():Observable<Cart[]>
{
return this._http.get<Cart[]>(this._url+"/showCart");
return this._http.get<Cart[]>(this._url+"/showCart");
}
// public cartListItem: any=[]
// public productList = new BehaviorSubject<any>([])
// public addOrder(cart:Cart)
// {
// this._http.post(this._url+"/addCart",cart)
// }
// getProducts()
// {
// return this.productList.asObservable();
// }
// setProduct(product:any)
// {
// this.cartListItem.push(...product);
// this.productList.next(product);
// }
// addtoCart(product:any)
// {
// this.cartListItem.push(product);
// this.productList.next(this.cartListItem)
// this.getTotalPrice();
// // console.log(this.cartListItem);
// }
// getTotalPrice():number{
// let grandTotal=0;
// this.cartListItem.map((a:any)=>{
// grandTotal+=a.productprice;
// })
// return grandTotal;
// }
// removeCartItem(product:any)
// {
// this.cartListItem.map((a:any,index:any)=>{
// if(product.productid === a.productid)
// {
// this.cartListItem.splice(index,1);
// }
// })
// this.productList.next(this.cartListItem);
// }
// removeAllCart()
// {
// this.cartListItem=[]
// this.productList.next(this.cartListItem);
// }
public deleteCart(pid:number)
{
return this._http.delete<any>(this._url+"/deleteCart/"+pid);
}
public deleteAll()
{
return this._http.delete<any>(this._url+"/deleteAll");
}
}

35
Angular-UrbanBazaar/src/app/services/member-user.service.ts

@ -1,23 +1,40 @@
import { HttpClient } from '@angular/common/http';
// import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { MemberUser } from '../models/member-user';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
providedIn: 'root',
})
export class MemberUserService {
private _url: String = 'http://localhost:8011/user/';
private _url : String = "http://localhost:4200/user";
constructor(private _http : HttpClient) { }
constructor(private _http: HttpClient) {}
public showMembersByUser(id : number) : Observable<MemberUser[]> {
return this._http.get<MemberUser[]>(this._url+"/showUserMembers/"+id);
public showAllMemberUsers() {
return this._http.get<MemberUser[]>(this._url + 'showAllMembers');
}
public addMemberToUser(member : MemberUser) {
this._http.post(this._url+"/addMember", member);
public addMemberUser(member: MemberUser) {
return this._http.post(this._url + 'addMember/', member);
}
public searchMemberUser(memberid: number) {
return this._http.get<MemberUser>(this._url + 'showAllMembers/' + memberid);
}
public searchMembersbyUser(userid: number) {
return this._http.get<MemberUser[]>(
this._url + 'showUserMembers/' + userid
);
}
public deleteMemberUser(memberid: number) {
return this._http.delete(this._url + 'deleteMember/' + memberid);
}
public updateMemberUser(member: MemberUser) {
return this._http.put(this._url + 'updateMember/', member);
}
}

23
Angular-UrbanBazaar/src/app/services/orders.service.ts

@ -4,24 +4,25 @@ import { Observable } from 'rxjs';
import { Orders } from '../models/orders';
@Injectable({
providedIn: 'root'
providedIn: 'root',
})
export class OrdersService {
private _url: String = 'http://localhost:8014/products';
private _url : String = "http://localhost:8003/orders";
constructor(private _http : HttpClient) { }
public addOrder(order : Orders) {
this._http.post(this._url+"/addOrder", order);
constructor(private _http: HttpClient) {}
public addOrder(order: Orders) {
return this._http.post(this._url + '/bookorder', order);
}
public findOrder(id : number) : Observable<Orders> {
return this._http.get<Orders>(this._url+"/findOrder"+id);
public showOrder():Observable<Orders[]>
{
return this._http.get<Orders[]>(this._url+'/showOrder');
}
public findOrdersByUser(id : number) : Observable<Orders[]> {
return this._http.get<Orders[]>(this._url+"/findOrdersByUser"+id);
public deleteAll()
{
return this._http.delete<any>(this._url+"/deleteAll")
}
}

13
Angular-UrbanBazaar/src/app/services/product-category.service.ts

@ -4,15 +4,16 @@ import { Observable } from 'rxjs';
import { ProductCategory } from '../models/product-category';
@Injectable({
providedIn: 'root'
providedIn: 'root',
})
export class ProductCategoryService {
private _url: String = 'http://localhost:8007/products';
private _url : String = "http://localhost:4200/products";
constructor(private _http : HttpClient) { }
constructor(private _http: HttpClient) {}
public showAllCategory() : Observable<ProductCategory[]> {
return this._http.get<ProductCategory[]>(this._url+"/showProductCategory");
public showAllCategory(): Observable<ProductCategory[]> {
return this._http.get<ProductCategory[]>(
this._url + '/showProductCategory'
);
}
}

23
Angular-UrbanBazaar/src/app/services/product.service.ts

@ -2,26 +2,21 @@ import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { Product } from '../models/product';
import {map} from 'rxjs/operators';
@Injectable({
providedIn: 'root'
providedIn: 'root',
})
export class ProductService {
private _url : String = "http://localhost:8002/products";
search : string;
constructor(private _http : HttpClient) { }
private _url: String = 'http://localhost:8014/products';
search: string;
public showAllProduct(){
return this._http.get<any>(this._url+"/showAllProducts")
.pipe(map((res:any)=>{
return res;
}))
}
constructor(private _http: HttpClient) {}
public searchProduct(name : string) : Observable<Product[]> {
return this._http.get<Product[]>(this._url+"/searchProduct/"+name);
public showAllProduct() : Observable<Product[]> {
return this._http.get<any>(this._url + '/showAllProducts');
}
public searchProduct(name: string): Observable<Product[]> {
return this._http.get<Product[]>(this._url + '/searchProduct/' + name);
}
}

36
Angular-UrbanBazaar/src/app/services/user.service.ts

@ -1,37 +1,39 @@
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { Login } from '../models/login';
import { User } from '../models/user';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
providedIn: 'root',
})
export class UserService {
currentUser: User;
private _url: string = 'http://localhost:8011/users';
private _url : String = "http://localhost:8006/user";
currentUser : User;
constructor(private _http : HttpClient) { }
constructor(private _http: HttpClient) {}
public showAllUsers() : Observable<User[]> {
return this._http.get<User[]>(this._url + "/showAllUsers");
public showAllUsers(): Observable<User[]> {
return this._http.get<User[]>(this._url + '/showAllUsers');
}
public searchUser(id : number) : Observable<User> {
return this._http.get<User>(this._url+"/findUserById/"+id);
public addUser(user: User) {
return this._http.post(this._url + '/addUser/', user);
}
public addUser(user : User) {
this._http.post(this._url+"/addUser", user);
public searchUser(userid: number) {
return this._http.get<User>(this._url + '/findUserById/' + userid);
}
public userLogin(user : Login) : Observable<string> {
return this._http.post<string>(this._url+"/login", user);
public updateUser(user: User) {
return this._http.put(this._url + '/update/', user);
}
public findUserByUsername(name : string) : Observable<User> {
return this._http.get<User>(this._url+"/findUserByName/"+name);
public loginUser(user: Login) {
return this._http.post<string>(this._url + '/login/', user);
}
public findUserByUsername(name: string) {
return this._http.get<User>(this._url + '/findUserByName/' + name);
}
}

3
README.md

@ -1,3 +0,0 @@
# ub_m2
Urban Bazaar with proxy servers.

33
UB_CartServiceProxy/.gitignore

@ -1,33 +0,0 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/

117
UB_CartServiceProxy/.mvn/wrapper/MavenWrapperDownloader.java

@ -1,117 +0,0 @@
/*
* Copyright 2007-present the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.net.*;
import java.io.*;
import java.nio.channels.*;
import java.util.Properties;
public class MavenWrapperDownloader {
private static final String WRAPPER_VERSION = "0.5.6";
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
".mvn/wrapper/maven-wrapper.properties";
/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH =
".mvn/wrapper/maven-wrapper.jar";
/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if(mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if(mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: " + url);
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if(!outputFile.getParentFile().exists()) {
if(!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
String username = System.getenv("MVNW_USERNAME");
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}
}

BIN
UB_CartServiceProxy/.mvn/wrapper/maven-wrapper.jar

2
UB_CartServiceProxy/.mvn/wrapper/maven-wrapper.properties

@ -1,2 +0,0 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.2/apache-maven-3.8.2-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar

33
UB_CartServiceProxy/bin/.gitignore

@ -1,33 +0,0 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/

BIN
UB_CartServiceProxy/bin/.mvn/wrapper/MavenWrapperDownloader.class

BIN
UB_CartServiceProxy/bin/.mvn/wrapper/maven-wrapper.jar

2
UB_CartServiceProxy/bin/.mvn/wrapper/maven-wrapper.properties

@ -1,2 +0,0 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.2/apache-maven-3.8.2-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar

310
UB_CartServiceProxy/bin/mvnw

@ -1,310 +0,0 @@
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "`uname`" in
CYGWIN*) cygwin=true ;;
MINGW*) mingw=true;;
Darwin*) darwin=true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if [ -z "$JAVA_HOME" ]; then
if [ -x "/usr/libexec/java_home" ]; then
export JAVA_HOME="`/usr/libexec/java_home`"
else
export JAVA_HOME="/Library/Java/Home"
fi
fi
;;
esac
if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=`java-config --jre-home`
fi
fi
if [ -z "$M2_HOME" ] ; then
## resolve links - $0 may be a link to maven's home
PRG="$0"
# need this for relative symlinks
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done
saveddir=`pwd`
M2_HOME=`dirname "$PRG"`/..
# make it fully qualified
M2_HOME=`cd "$M2_HOME" && pwd`
cd "$saveddir"
# echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --unix "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$M2_HOME" ] &&
M2_HOME="`(cd "$M2_HOME"; pwd)`"
[ -n "$JAVA_HOME" ] &&
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
fi
if [ -z "$JAVA_HOME" ]; then
javaExecutable="`which javac`"
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=`which readlink`
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
if $darwin ; then
javaHome="`dirname \"$javaExecutable\"`"
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
else
javaExecutable="`readlink -f \"$javaExecutable\"`"
fi
javaHome="`dirname \"$javaExecutable\"`"
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="`which java`"
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." >&2
echo " We cannot execute $JAVACMD" >&2
exit 1
fi
if [ -z "$JAVA_HOME" ] ; then
echo "Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
if [ -z "$1" ]
then
echo "Path not specified to find_maven_basedir"
return 1
fi
basedir="$1"
wdir="$1"
while [ "$wdir" != '/' ] ; do
if [ -d "$wdir"/.mvn ] ; then
basedir=$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if [ -d "${wdir}" ]; then
wdir=`cd "$wdir/.."; pwd`
fi
# end of workaround
done
echo "${basedir}"
}
# concatenates all lines of a file
concat_lines() {
if [ -f "$1" ]; then
echo "$(tr -s '\n' ' ' < "$1")"
fi
}
BASE_DIR=`find_maven_basedir "$(pwd)"`
if [ -z "$BASE_DIR" ]; then
exit 1;
fi
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found .mvn/wrapper/maven-wrapper.jar"
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
fi
if [ -n "$MVNW_REPOURL" ]; then
jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
else
jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
fi
while IFS="=" read key value; do
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
esac
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
if [ "$MVNW_VERBOSE" = true ]; then
echo "Downloading from: $jarUrl"
fi
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
if $cygwin; then
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
fi
if command -v wget > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found wget ... using wget"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
wget "$jarUrl" -O "$wrapperJarPath"
else
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
fi
elif command -v curl > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found curl ... using curl"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
curl -o "$wrapperJarPath" "$jarUrl" -f
else
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Falling back to using Java to download"
fi
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
# For Cygwin, switch paths to Windows format before running javac
if $cygwin; then
javaClass=`cygpath --path --windows "$javaClass"`
fi
if [ -e "$javaClass" ]; then
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Compiling MavenWrapperDownloader.java ..."
fi
# Compiling the Java class
("$JAVA_HOME/bin/javac" "$javaClass")
fi
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
# Running the downloader
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Running MavenWrapperDownloader.java ..."
fi
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
if [ "$MVNW_VERBOSE" = true ]; then
echo $MAVEN_PROJECTBASEDIR
fi
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --path --windows "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
export MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
exec "$JAVACMD" \
$MAVEN_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

182
UB_CartServiceProxy/bin/mvnw.cmd

@ -1,182 +0,0 @@
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM https://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%*
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%" == "on" pause
if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
exit /B %ERROR_CODE%

56
UB_CartServiceProxy/bin/pom.xml

@ -1,56 +0,0 @@
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>UB_CartServiceProxy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>UB_CartServiceProxy</name>
<description>UrbanBazaar - Online Grocery Shop</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

BIN
UB_CartServiceProxy/bin/src/main/java/com/example/urbanbazaar/ServletInitializer.class

BIN
UB_CartServiceProxy/bin/src/main/java/com/example/urbanbazaar/UbCartServiceProxyApplication.class

BIN
UB_CartServiceProxy/bin/src/main/java/com/example/urbanbazaar/controller/CartController.class

BIN
UB_CartServiceProxy/bin/src/main/java/com/example/urbanbazaar/model/Cart.class

BIN
UB_CartServiceProxy/bin/src/main/java/com/example/urbanbazaar/repository/CartRepository.class

11
UB_CartServiceProxy/bin/src/main/resources/application.properties

@ -1,11 +0,0 @@
server.port=8004
spring.datasource.url=jdbc:mysql://10.3.117.7:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.username=testuser
spring.datasource.password=Password123
server.servlet.context-path=/cart
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=update
spring.jackson.serialization.fail-on-empty-beans=false

BIN
UB_CartServiceProxy/bin/src/test/java/com/example/urbanbazaar/UbCartServiceProxyApplicationTests.class

310
UB_CartServiceProxy/mvnw

@ -1,310 +0,0 @@
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "`uname`" in
CYGWIN*) cygwin=true ;;
MINGW*) mingw=true;;
Darwin*) darwin=true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if [ -z "$JAVA_HOME" ]; then
if [ -x "/usr/libexec/java_home" ]; then
export JAVA_HOME="`/usr/libexec/java_home`"
else
export JAVA_HOME="/Library/Java/Home"
fi
fi
;;
esac
if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=`java-config --jre-home`
fi
fi
if [ -z "$M2_HOME" ] ; then
## resolve links - $0 may be a link to maven's home
PRG="$0"
# need this for relative symlinks
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done
saveddir=`pwd`
M2_HOME=`dirname "$PRG"`/..
# make it fully qualified
M2_HOME=`cd "$M2_HOME" && pwd`
cd "$saveddir"
# echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --unix "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$M2_HOME" ] &&
M2_HOME="`(cd "$M2_HOME"; pwd)`"
[ -n "$JAVA_HOME" ] &&
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
fi
if [ -z "$JAVA_HOME" ]; then
javaExecutable="`which javac`"
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=`which readlink`
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
if $darwin ; then
javaHome="`dirname \"$javaExecutable\"`"
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
else
javaExecutable="`readlink -f \"$javaExecutable\"`"
fi
javaHome="`dirname \"$javaExecutable\"`"
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="`which java`"
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." >&2
echo " We cannot execute $JAVACMD" >&2
exit 1
fi
if [ -z "$JAVA_HOME" ] ; then
echo "Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
if [ -z "$1" ]
then
echo "Path not specified to find_maven_basedir"
return 1
fi
basedir="$1"
wdir="$1"
while [ "$wdir" != '/' ] ; do
if [ -d "$wdir"/.mvn ] ; then
basedir=$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if [ -d "${wdir}" ]; then
wdir=`cd "$wdir/.."; pwd`
fi
# end of workaround
done
echo "${basedir}"
}
# concatenates all lines of a file
concat_lines() {
if [ -f "$1" ]; then
echo "$(tr -s '\n' ' ' < "$1")"
fi
}
BASE_DIR=`find_maven_basedir "$(pwd)"`
if [ -z "$BASE_DIR" ]; then
exit 1;
fi
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found .mvn/wrapper/maven-wrapper.jar"
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
fi
if [ -n "$MVNW_REPOURL" ]; then
jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
else
jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
fi
while IFS="=" read key value; do
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
esac
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
if [ "$MVNW_VERBOSE" = true ]; then
echo "Downloading from: $jarUrl"
fi
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
if $cygwin; then
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
fi
if command -v wget > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found wget ... using wget"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
wget "$jarUrl" -O "$wrapperJarPath"
else
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
fi
elif command -v curl > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found curl ... using curl"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
curl -o "$wrapperJarPath" "$jarUrl" -f
else
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Falling back to using Java to download"
fi
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
# For Cygwin, switch paths to Windows format before running javac
if $cygwin; then
javaClass=`cygpath --path --windows "$javaClass"`
fi
if [ -e "$javaClass" ]; then
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Compiling MavenWrapperDownloader.java ..."
fi
# Compiling the Java class
("$JAVA_HOME/bin/javac" "$javaClass")
fi
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
# Running the downloader
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Running MavenWrapperDownloader.java ..."
fi
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
if [ "$MVNW_VERBOSE" = true ]; then
echo $MAVEN_PROJECTBASEDIR
fi
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --path --windows "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
export MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
exec "$JAVACMD" \
$MAVEN_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

182
UB_CartServiceProxy/mvnw.cmd

@ -1,182 +0,0 @@
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM https://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%*
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%" == "on" pause
if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
exit /B %ERROR_CODE%

56
UB_CartServiceProxy/pom.xml

@ -1,56 +0,0 @@
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>UB_CartServiceProxy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>UB_CartServiceProxy</name>
<description>UrbanBazaar - Online Grocery Shop</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

13
UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/ServletInitializer.java

@ -1,13 +0,0 @@
package com.example.urbanbazaar;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(UbCartServiceProxyApplication.class);
}
}

13
UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/UbCartServiceProxyApplication.java

@ -1,13 +0,0 @@
package com.example.urbanbazaar;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class UbCartServiceProxyApplication {
public static void main(String[] args) {
SpringApplication.run(UbCartServiceProxyApplication.class, args);
}
}

48
UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/controller/CartController.java

@ -1,48 +0,0 @@
package com.example.urbanbazaar.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.example.urbanbazaar.model.Cart;
import com.example.urbanbazaar.repository.CartRepository;
@RestController
public class CartController {
@Autowired
public CartRepository repo;
@GetMapping("/showCart/{userId}")
public List<Cart> showCartForUserId(int userId) {
return repo.showCartForUserId(userId);
}
@PostMapping("/addCartItem")
public void addCartItemForUserId(@RequestBody Cart cartItem) {
repo.save(cartItem);
// System.out.println(cartItem);
}
@DeleteMapping("/deleteCartItem/{cart_id}")
public void deleteCartItemForUserId(int cart_id) {
repo.deleteById(cart_id);
}
@GetMapping("/showCart")
public List<Cart> showCart()
{
return repo.findAll();
}
@DeleteMapping("/deleteAllCartItemsForUser/{userId}")
public void removeCartItemsForUser(int userId){
repo.deleteAllCartItems(userId);
}
}

143
UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/model/Cart.java

@ -1,143 +0,0 @@
package com.example.urbanbazaar.model;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "cart")
public class Cart {
// private int cartid;
// private int userid;
// private int orderid;
// private String productname;
// private int productprice;
// private int quantity;
//
// public Cart() {}
//
// public int getCartid() {
// return cartid;
// }
//
// public void setCartid(int cartid) {
// this.cartid = cartid;
// }
//
// public int getUserid() {
// return userid;
// }
//
// public void setUserid(int userid) {
// this.userid = userid;
// }
//
// public int getOrderid() {
// return orderid;
// }
//
// public void setOrderid(int orderid) {
// this.orderid = orderid;
// }
//
// public String getProductname() {
// return productname;
// }
//
// public void setProductname(String productname) {
// this.productname = productname;
// }
//
// public int getProductprice() {
// return productprice;
// }
//
// public void setProductprice(int productprice) {
// this.productprice = productprice;
// }
//
// public int getQuantity() {
// return quantity;
// }
//
// public void setQuantity(int quantity) {
// this.quantity = quantity;
// }
//
// public Cart(int cartid, int userid, int orderid, String productname, int quantity) {
// super();
// this.cartid = cartid;
// this.userid = userid;
// this.orderid = orderid;
// this.productname = productname;
// this.quantity = quantity;
// }
@Id
private int productid;
private int userid;
private String productname;
private float productprice;
private int productcategoryid;
public Cart(int productid, int userid, String productname, float productprice, int productcategoryid) {
super();
this.productid = productid;
this.userid = userid;
this.productname = productname;
this.productprice = productprice;
this.productcategoryid = productcategoryid;
}
@Override
public String toString() {
return "Cart [productid=" + productid + ", userid=" + userid + ", productname=" + productname
+ ", productprice=" + productprice + ", productweight=" + ", productcategoryid=" + productcategoryid
+ "]";
}
public int getProductid() {
return productid;
}
public void setProductid(int productid) {
this.productid = productid;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getProductname() {
return productname;
}
public void setProductname(String productname) {
this.productname = productname;
}
public float getProductprice() {
return productprice;
}
public void setProductprice(float productprice) {
this.productprice = productprice;
}
public int getProductcategoryid() {
return productcategoryid;
}
public void setProductcategoryid(int productcategoryid) {
this.productcategoryid = productcategoryid;
}
public Cart() {
}
}

11
UB_CartServiceProxy/src/main/resources/application.properties

@ -1,11 +0,0 @@
server.port=8004
spring.datasource.url=jdbc:mysql://10.3.117.21:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.username=testuser
spring.datasource.password=Password123
server.servlet.context-path=/cart
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=update
spring.jackson.serialization.fail-on-empty-beans=false

13
UB_CartServiceProxy/src/test/java/com/example/urbanbazaar/UbCartServiceProxyApplicationTests.java

@ -1,13 +0,0 @@
package com.example.urbanbazaar;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class UbCartServiceProxyApplicationTests {
@Test
void contextLoads() {
}
}

33
UB_OrderServiceProxy/.gitignore

@ -1,33 +0,0 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/

117
UB_OrderServiceProxy/.mvn/wrapper/MavenWrapperDownloader.java

@ -1,117 +0,0 @@
/*
* Copyright 2007-present the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.net.*;
import java.io.*;
import java.nio.channels.*;
import java.util.Properties;
public class MavenWrapperDownloader {
private static final String WRAPPER_VERSION = "0.5.6";
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
".mvn/wrapper/maven-wrapper.properties";
/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH =
".mvn/wrapper/maven-wrapper.jar";
/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if(mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if(mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: " + url);
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if(!outputFile.getParentFile().exists()) {
if(!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
String username = System.getenv("MVNW_USERNAME");
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}
}

BIN
UB_OrderServiceProxy/.mvn/wrapper/maven-wrapper.jar

2
UB_OrderServiceProxy/.mvn/wrapper/maven-wrapper.properties

@ -1,2 +0,0 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.2/apache-maven-3.8.2-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar

310
UB_OrderServiceProxy/mvnw

@ -1,310 +0,0 @@
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "`uname`" in
CYGWIN*) cygwin=true ;;
MINGW*) mingw=true;;
Darwin*) darwin=true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if [ -z "$JAVA_HOME" ]; then
if [ -x "/usr/libexec/java_home" ]; then
export JAVA_HOME="`/usr/libexec/java_home`"
else
export JAVA_HOME="/Library/Java/Home"
fi
fi
;;
esac
if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=`java-config --jre-home`
fi
fi
if [ -z "$M2_HOME" ] ; then
## resolve links - $0 may be a link to maven's home
PRG="$0"
# need this for relative symlinks
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done
saveddir=`pwd`
M2_HOME=`dirname "$PRG"`/..
# make it fully qualified
M2_HOME=`cd "$M2_HOME" && pwd`
cd "$saveddir"
# echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --unix "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$M2_HOME" ] &&
M2_HOME="`(cd "$M2_HOME"; pwd)`"
[ -n "$JAVA_HOME" ] &&
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
fi
if [ -z "$JAVA_HOME" ]; then
javaExecutable="`which javac`"
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=`which readlink`
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
if $darwin ; then
javaHome="`dirname \"$javaExecutable\"`"
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
else
javaExecutable="`readlink -f \"$javaExecutable\"`"
fi
javaHome="`dirname \"$javaExecutable\"`"
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="`which java`"
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." >&2
echo " We cannot execute $JAVACMD" >&2
exit 1
fi
if [ -z "$JAVA_HOME" ] ; then
echo "Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
if [ -z "$1" ]
then
echo "Path not specified to find_maven_basedir"
return 1
fi
basedir="$1"
wdir="$1"
while [ "$wdir" != '/' ] ; do
if [ -d "$wdir"/.mvn ] ; then
basedir=$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if [ -d "${wdir}" ]; then
wdir=`cd "$wdir/.."; pwd`
fi
# end of workaround
done
echo "${basedir}"
}
# concatenates all lines of a file
concat_lines() {
if [ -f "$1" ]; then
echo "$(tr -s '\n' ' ' < "$1")"
fi
}
BASE_DIR=`find_maven_basedir "$(pwd)"`
if [ -z "$BASE_DIR" ]; then
exit 1;
fi
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found .mvn/wrapper/maven-wrapper.jar"
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
fi
if [ -n "$MVNW_REPOURL" ]; then
jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
else
jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
fi
while IFS="=" read key value; do
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
esac
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
if [ "$MVNW_VERBOSE" = true ]; then
echo "Downloading from: $jarUrl"
fi
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
if $cygwin; then
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
fi
if command -v wget > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found wget ... using wget"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
wget "$jarUrl" -O "$wrapperJarPath"
else
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
fi
elif command -v curl > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found curl ... using curl"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
curl -o "$wrapperJarPath" "$jarUrl" -f
else
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Falling back to using Java to download"
fi
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
# For Cygwin, switch paths to Windows format before running javac
if $cygwin; then
javaClass=`cygpath --path --windows "$javaClass"`
fi
if [ -e "$javaClass" ]; then
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Compiling MavenWrapperDownloader.java ..."
fi
# Compiling the Java class
("$JAVA_HOME/bin/javac" "$javaClass")
fi
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
# Running the downloader
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Running MavenWrapperDownloader.java ..."
fi
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
if [ "$MVNW_VERBOSE" = true ]; then
echo $MAVEN_PROJECTBASEDIR
fi
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --path --windows "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
export MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
exec "$JAVACMD" \
$MAVEN_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

182
UB_OrderServiceProxy/mvnw.cmd

@ -1,182 +0,0 @@
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM https://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%*
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%" == "on" pause
if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
exit /B %ERROR_CODE%

56
UB_OrderServiceProxy/pom.xml

@ -1,56 +0,0 @@
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>UB_OrderServiceProxy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>UB_OrderServiceProxy</name>
<description>UrbanBazaar - Online Grocery Shop</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

13
UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/UbOrderServiceProxyApplication.java

@ -1,13 +0,0 @@
package com.example.urbanbazaar;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class UbOrderServiceProxyApplication {
public static void main(String[] args) {
SpringApplication.run(UbOrderServiceProxyApplication.class, args);
}
}

68
UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/controller/OrderController.java

@ -1,68 +0,0 @@
package com.example.urbanbazaar.controller;
import java.util.List;
import java.util.NoSuchElementException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.example.urbanbazaar.model.Orders;
import com.example.urbanbazaar.repository.OrderRepository;
@RestController
public class OrderController {
@Autowired
private OrderRepository repo;
@PostMapping("/addOrder")
public void addOrders( @RequestBody Orders order) {
repo.save(order);
}
@GetMapping("/findOrder/{id}")
public ResponseEntity<Orders> findOrder(@PathVariable Integer id) {
try {
Orders order = repo.findById(id).get();
return new ResponseEntity<Orders>(order,HttpStatus.OK);
} catch (NoSuchElementException e) {
return new ResponseEntity<Orders>(HttpStatus.NOT_FOUND);
}
}
@GetMapping("/findOrdersByUser/{id}")
public ResponseEntity<List<Orders>> findOrderByUser(@PathVariable Integer id) {
try {
List<Orders> orders = repo.findByorderuserid(id);
return new ResponseEntity<List<Orders>>(orders, HttpStatus.OK);
} catch (NoSuchElementException e) {
return new ResponseEntity<List<Orders>>(HttpStatus.NOT_FOUND);
}
}
@GetMapping("/trackOrder/{trackid}")
public ResponseEntity<Orders> searchOrderByTrackingNumber(@PathVariable String trackid)
{
try {
Orders order = repo.findByTrackId(trackid);
return new ResponseEntity<Orders>(order,HttpStatus.OK);
} catch (NoSuchElementException e) {
return new ResponseEntity<Orders>(HttpStatus.NOT_FOUND);
}
}
@GetMapping("/showAllOrders")
public List<Orders> showAllOrders()
{
return repo.findAll();
}
}

186
UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/model/Orders.java

@ -1,186 +0,0 @@
package com.example.urbanbazaar.model;
import java.sql.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "orders")
public class Orders {
@Id
@GeneratedValue
private int orderid;
private int orderuserid;
private float orderamount;
private String ordershipaddress;
private String ordershipaddress2;
private String ordercity;
private String orderzip;
private String orderstate;
private String ordercountry;
private String orderphone;
private float ordershippingcost;
private float ordertax;
private String orderemail;
private Date orderdate;
private String ordershipped;
private String ordertrackingnumber;
public int getOrderid() {
return orderid;
}
public void setOrderid(int orderid) {
this.orderid = orderid;
}
public int getOrderuserid() {
return orderuserid;
}
public void setOrderuserid(int orderuserid) {
this.orderuserid = orderuserid;
}
public float getOrderamount() {
return orderamount;
}
public void setOrderamount(float orderamount) {
this.orderamount = orderamount;
}
public String getOrdershipaddress() {
return ordershipaddress;
}
public void setOrdershipaddress(String ordershipaddress) {
this.ordershipaddress = ordershipaddress;
}
public String getOrdershipaddress2() {
return ordershipaddress2;
}
public void setOrdershipaddress2(String ordershipaddress2) {
this.ordershipaddress2 = ordershipaddress2;
}
public String getOrdercity() {
return ordercity;
}
public void setOrdercity(String ordercity) {
this.ordercity = ordercity;
}
public String getOrderzip() {
return orderzip;
}
public void setOrderzip(String orderzip) {
this.orderzip = orderzip;
}
public String getOrderstate() {
return orderstate;
}
public void setOrderstate(String orderstate) {
this.orderstate = orderstate;
}
public String getOrdercountry() {
return ordercountry;
}
public void setOrdercountry(String ordercountry) {
this.ordercountry = ordercountry;
}
public String getOrderphone() {
return orderphone;
}
public void setOrderphone(String orderphone) {
this.orderphone = orderphone;
}
public float getOrdershippingcost() {
return ordershippingcost;
}
public void setOrdershippingcost(float ordershippingcost) {
this.ordershippingcost = ordershippingcost;
}
public float getOrdertax() {
return ordertax;
}
public void setOrdertax(float ordertax) {
this.ordertax = ordertax;
}
public String getOrderemail() {
return orderemail;
}
public void setOrderemail(String orderemail) {
this.orderemail = orderemail;
}
public Date getOrderdate() {
return orderdate;
}
public void setOrderdate(Date orderdate) {
this.orderdate = orderdate;
}
public String getOrdershipped() {
return ordershipped;
}
public void setOrdershipped(String ordershipped) {
this.ordershipped = ordershipped;
}
public String getOrdertrackingnumber() {
return ordertrackingnumber;
}
public void setOrdertrackingnumber(String ordertrackingnumber) {
this.ordertrackingnumber = ordertrackingnumber;
}
public Orders(int orderid, int orderuserid, float orderamount, String ordershipaddress, String ordershipaddress2,
String ordercity, String orderzip, String orderstate, String ordercountry, String orderphone,
float ordershippingcost, float ordertax, String orderemail, Date orderdate, String ordershipped,
String ordertrackingnumber) {
this.orderid = orderid;
this.orderuserid = orderuserid;
this.orderamount = orderamount;
this.ordershipaddress = ordershipaddress;
this.ordershipaddress2 = ordershipaddress2;
this.ordercity = ordercity;
this.orderzip = orderzip;
this.orderstate = orderstate;
this.ordercountry = ordercountry;
this.orderphone = orderphone;
this.ordershippingcost = ordershippingcost;
this.ordertax = ordertax;
this.orderemail = orderemail;
this.orderdate = orderdate;
this.ordershipped = ordershipped;
this.ordertrackingnumber = ordertrackingnumber;
}
public Orders() {
}
}

17
UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/repository/OrderRepository.java

@ -1,17 +0,0 @@
package com.example.urbanbazaar.repository;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import com.example.urbanbazaar.model.Orders;
public interface OrderRepository extends JpaRepository<Orders, Integer> {
@Query("SELECT o FROM Orders o WHERE o.ordertrackingnumber=:id")
public Orders findByTrackId(@Param("id") String id);
public List<Orders> findByorderuserid(int id);
}

11
UB_OrderServiceProxy/src/main/resources/application.properties

@ -1,11 +0,0 @@
server.port=8003
spring.datasource.url=jdbc:mysql://10.3.117.21:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.username=testuser
spring.datasource.password=Password123
server.servlet.context-path=/orders
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=update
spring.jackson.serialization.fail-on-empty-beans=false

13
UB_OrderServiceProxy/src/test/java/com/example/urbanbazaar/UbOrderServiceProxyApplicationTests.java

@ -1,13 +0,0 @@
package com.example.urbanbazaar;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class UbOrderServiceProxyApplicationTests {
@Test
void contextLoads() {
}
}

22
UB_ProductServiceProxy/pom.xml

@ -32,6 +32,14 @@
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
@ -41,6 +49,20 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
</dependency>
</dependencies>

50
UB_ProductServiceProxy/src/main/java/com/example/MessageConfig/MessaageConfig.java

@ -0,0 +1,50 @@
package com.example.MessageConfig;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MessaageConfig {
public static final String QUEUE = "ub_queue";
public static final String EXCHANGE = "ub_exchange";
public static final String ROUTING_KEY = "ub_routingKey";
@Bean
public Queue queue() {
return new Queue(QUEUE);
}
@Bean
public TopicExchange exchange() {
return new TopicExchange(EXCHANGE);
}
@Bean
public Binding binding(Queue queue, TopicExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with(ROUTING_KEY);
}
@Bean
public MessageConverter converter() {
return new Jackson2JsonMessageConverter();
}
@Bean
public AmqpTemplate template(ConnectionFactory connectionFactory) {
final RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
rabbitTemplate.setMessageConverter(converter());
return rabbitTemplate;
}
}

2
UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/UbProductServiceProxyApplication.java

@ -1,9 +1,11 @@
package com.example.urbanbazaar;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@EnableAutoConfiguration()
public class UbProductServiceProxyApplication {
public static void main(String[] args) {

88
UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/controller/CartController.java

@ -0,0 +1,88 @@
package com.example.urbanbazaar.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.example.urbanbazaar.model.Cart;
import com.example.urbanbazaar.model.Product;
import com.example.urbanbazaar.model.ProductCategory;
//import com.example.urbanbazaar.model.User;
import com.example.urbanbazaar.repository.CartRepository;
import com.example.urbanbazaar.repository.ProductRepository;
import com.example.urbanbazaar.repository.UserRepository;
//import com.example.urbanbazaar.repository.UserRepository;
@RestController
public class CartController {
@Autowired
public CartRepository repo;
// @Autowired
// public UserRepository userepo;
//
// @Autowired
// public ProductRepository productrepo;
@PostMapping("/addCart")
public void addCart(@RequestBody Cart cart)
{
repo.save(cart);
}
@GetMapping("/showCart")
public List<Cart>showAll()
{
return repo.findAll();
}
@DeleteMapping("/deleteCart/{pid}")
public void deleteCart(@PathVariable int pid)
{
repo.deleteById(pid);
}
@DeleteMapping("/deleteAll")
public void deleteAll()
{
repo.deleteAll();
}
// @GetMapping("/showCart/{userId}")
// public List<Cart> showCartForUserId(int userId) {
// return repo.showCartForUserId(userId);
// }
//
// @PostMapping("/addCartItem")
// public void addCartItemForUserId(@RequestBody Cart cartItem) {
// repo.save(cartItem);
//// System.out.println(cartItem);
// }
//
// @DeleteMapping("/deleteCartItem/{cart_id}")
// public void deleteCartItemForUserId(int cart_id) {
// repo.deleteById(cart_id);
// }
//
// @GetMapping("/showCart")
// public List<Cart> showCart()
// {
// return repo.findAll();
// }
//
// @DeleteMapping("/deleteAllCartItemsForUser/{userId}")
// public void removeCartItemsForUser(int userId){
// repo.deleteAllCartItems(userId);
// }
}

56
UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/controller/OrderController.java

@ -0,0 +1,56 @@
package com.example.urbanbazaar.controller;
import java.util.List;
import java.util.UUID;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.filter.OrderedRequestContextFilter;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.MessageConfig.MessaageConfig;
import com.example.urbanbazaar.model.Order;
import com.example.urbanbazaar.model.OrderStatus;
import com.example.urbanbazaar.repository.OrderRepository;
@RestController
//@RequestMapping("/order")
public class OrderController {
@Autowired
private RabbitTemplate template;
@Autowired
private OrderRepository repo;
@PostMapping("/bookorder")
public String bookOrder(@RequestBody Order order) {
repo.save(order);
OrderStatus orderStatus = new OrderStatus(order, "PROCESS", "orderedDone!");
template.convertAndSend(MessaageConfig.EXCHANGE, MessaageConfig.ROUTING_KEY, orderStatus);
return "Success !!";
}
@GetMapping("/showOrder")
public List<Order>allOrder()
{
return repo.findAll();
}
@DeleteMapping("/deleteOrder")
public void deleteAll()
{
repo.deleteAll();
}
}

22
UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/controller/ProductController.java

@ -9,6 +9,8 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.example.urbanbazaar.model.Product;
@ -35,8 +37,20 @@ public class ProductController {
}
}
@DeleteMapping("/deleteProduct/{product_id}")
public void deleteProductById(@PathVariable int product_id) {
repo.deleteByProductId(product_id);
}
// @PostMapping("/addProduct")
// public void addProduct(@RequestBody Product product)
// {
// repo.save(product);
// }
//
// @DeleteMapping("/deleteProduct/{product_id}")
// public void deleteProductById(@PathVariable int product_id) {
// repo.deleteById(product_id);
// }
//
// @DeleteMapping("/deleteAll")
// public void deleteAllProduct()
// {
// repo.deleteAll();
// }
}

68
UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/model/Cart.java

@ -0,0 +1,68 @@
package com.example.urbanbazaar.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@Table(name = "cart")
public class Cart {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int cartid;
private int productid;
private int userid;
private String productname;
private float productprice;
private int productcategoryid;
public int getCartid() {
return cartid;
}
public void setCartid(int cartid) {
this.cartid = cartid;
}
public int getProductid() {
return productid;
}
public void setProductid(int productid) {
this.productid = productid;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getProductname() {
return productname;
}
public void setProductname(String productname) {
this.productname = productname;
}
public float getProductprice() {
return productprice;
}
public void setProductprice(float productprice) {
this.productprice = productprice;
}
public int getProductcategoryid() {
return productcategoryid;
}
public void setProductcategoryid(int productcategoryid) {
this.productcategoryid = productcategoryid;
}
}

73
UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/model/Order.java

@ -0,0 +1,73 @@
package com.example.urbanbazaar.model;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "orders")
public class Order implements Serializable {
@Id
@GeneratedValue
private int orderid;
private int userid;
private String productname;
private float productprice;
public int getOrderid() {
return orderid;
}
public void setOrderid(int orderid) {
this.orderid = orderid;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getProductname() {
return productname;
}
public void setProductname(String productname) {
this.productname = productname;
}
public float getProductprice() {
return productprice;
}
public void setProductprice(float productprice) {
this.productprice = productprice;
}
public Order(int orderid, int userid, String productname, float productprice) {
this.orderid = orderid;
this.userid = userid;
this.productname = productname;
this.productprice = productprice;
}
@Override
public String toString() {
return "Order [orderid=" + orderid + ", userid=" + userid + ", productname=" + productname + ", productprice="
+ productprice + "]";
}
public Order() {
}
}

39
UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/model/OrderStatus.java

@ -0,0 +1,39 @@
package com.example.urbanbazaar.model;
import java.io.Serializable;
public class OrderStatus implements Serializable {
private Order order;
private String status;//progress,completed
private String message;
public Order getOrder() {
return order;
}
public void setOrder(Order order) {
this.order = order;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public OrderStatus(Order order, String status, String message) {
this.order = order;
this.status = status;
this.message = message;
}
@Override
public String toString() {
return "OrderStatus [order=" + order + ", status=" + status + ", message=" + message + "]";
}
}

59
UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/model/Product.java

@ -3,6 +3,7 @@ package com.example.urbanbazaar.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@ -14,91 +15,57 @@ public class Product {
private int productid;
private String productname;
private float productprice;
private float productweight;
private String productshortdesc;
private String productlongdesc;
private String productimage;
private int productcategoryid;
public int getProductid() {
return productid;
}
public void setProductid(int productid) {
this.productid = productid;
}
public String getProductname() {
return productname;
}
public void setProductname(String productname) {
this.productname = productname;
}
public float getProductprice() {
return productprice;
}
public void setProductprice(float productprice) {
this.productprice = productprice;
}
public float getProductweight() {
return productweight;
}
public void setProductweight(float productweight) {
this.productweight = productweight;
}
public String getProductshortdesc() {
return productshortdesc;
}
public void setProductshortdesc(String productshortdesc) {
this.productshortdesc = productshortdesc;
}
public String getProductlongdesc() {
return productlongdesc;
}
public void setProductlongdesc(String productlongdesc) {
this.productlongdesc = productlongdesc;
}
public String getProductimage() {
return productimage;
}
public void setProductimage(String productimage) {
this.productimage = productimage;
}
public int getProductcategoryid() {
return productcategoryid;
}
public void setProductcategoryid(int productcategoryid) {
this.productcategoryid = productcategoryid;
}
public Product(int productid, String productname, float productprice, float productweight, String productshortdesc,
String productlongdesc, String productimage, int productcategoryid) {
public Product(int productid, String productname, float productprice, String productimage, int productcategoryid) {
this.productid = productid;
this.productname = productname;
this.productprice = productprice;
this.productweight = productweight;
this.productshortdesc = productshortdesc;
this.productlongdesc = productlongdesc;
this.productimage = productimage;
this.productcategoryid = productcategoryid;
}
public Product() {
}
}
}

142
UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/model/User.java

@ -0,0 +1,142 @@
package com.example.urbanbazaar.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.persistence.GenerationType;
//daouser
@Entity
@Table(name = "users")
public class User {
private int userid;
private String useremail;
private String userpassword;
private String userfirstname;
private String userlastname;
private String usercity;
private String userstate;
private String userzip;
private String userphone;
private String useraddress;
private String useraddress2;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getUseremail() {
return useremail;
}
public void setUseremail(String useremail) {
this.useremail = useremail;
}
public String getUserpassword() {
return userpassword;
}
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
}
public String getUserfirstname() {
return userfirstname;
}
public void setUserfirstname(String userfirstname) {
this.userfirstname = userfirstname;
}
public String getUserlastname() {
return userlastname;
}
public void setUserlastname(String userlastname) {
this.userlastname = userlastname;
}
public String getUsercity() {
return usercity;
}
public void setUsercity(String usercity) {
this.usercity = usercity;
}
public String getUserstate() {
return userstate;
}
public void setUserstate(String userstate) {
this.userstate = userstate;
}
public String getUserzip() {
return userzip;
}
public void setUserzip(String userzip) {
this.userzip = userzip;
}
public String getUserphone() {
return userphone;
}
public void setUserphone(String userphone) {
this.userphone = userphone;
}
public String getUseraddress() {
return useraddress;
}
public void setUseraddress(String useraddress) {
this.useraddress = useraddress;
}
public String getUseraddress2() {
return useraddress2;
}
public void setUseraddress2(String useraddress2) {
this.useraddress2 = useraddress2;
}
public User(int userid, String useremail, String userpassword, String userfirstname, String userlastname,
String usercity, String userstate, String userzip, String userphone, String useraddress,
String useraddress2) {
this.userid = userid;
this.useremail = useremail;
this.userpassword = userpassword;
this.userfirstname = userfirstname;
this.userlastname = userlastname;
this.usercity = usercity;
this.userstate = userstate;
this.userzip = userzip;
this.userphone = userphone;
this.useraddress = useraddress;
this.useraddress2 = useraddress2;
}
public User() {
}
}

UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/repository/CartRepository.java → UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/repository/CartRepository.java

@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import com.example.urbanbazaar.model.Cart;
import com.example.urbanbazaar.model.Product;
public interface CartRepository extends JpaRepository<Cart, Integer> {
@ -14,4 +15,16 @@ public interface CartRepository extends JpaRepository<Cart, Integer> {
@Query(value="delete from cart where UserID=?1", nativeQuery=true)
public void deleteAllCartItems(int userId);
// @Query(value="select p from Product p inner join Cart c on p.productid=c.productid where c.userid=?1", nativeQuery=true)
// public List<Product>showAllItems(int userid);
//
// @Query("select c from Cart c join c.user u where u.userid=?1")
// List<Cart> getCartByUserId(int userid);
//
// @Query("select c from Cart c join c.user u join c.product p where u.userid=?1 and p.productid=?2")
// List<Cart> findByUserAndProduct(int userid, int productid);
//
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save