Skip to content

Commit 4dc2717

Browse files
pavankjaddaPavan Jadda
authored andcommitted
Replace FormGroup with FormBuilder to make long listing forms short
1 parent 909bafb commit 4dc2717

File tree

6 files changed

+35
-36
lines changed

6 files changed

+35
-36
lines changed

src/main/java/com/pj/keycloak/util/UserInfoUtil.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,24 @@ public class UserInfoUtil
1818

1919
public String getPreferredUsername(HttpServletRequest httpServletRequest)
2020
{
21-
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
22-
KeycloakPrincipal keycloakPrincipal= (KeycloakPrincipal) authentication.getPrincipal();
23-
AccessToken accessToken=keycloakPrincipal.getKeycloakSecurityContext().getToken();
21+
AccessToken accessToken=getAccessToken();
2422
/*
2523
2624
KeycloakAuthenticationToken keycloakAuthenticationToken= (KeycloakAuthenticationToken) httpServletRequest.getUserPrincipal();
2725
logger.info("Subject: {}",keycloakAuthenticationToken.getAccount().getKeycloakSecurityContext().getToken().getSubject());
2826
*/
2927
return accessToken.getPreferredUsername();
3028
}
29+
public String getUserGuid()
30+
{
31+
return getAccessToken().getSubject();
32+
}
33+
34+
35+
private AccessToken getAccessToken()
36+
{
37+
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
38+
KeycloakPrincipal keycloakPrincipal= (KeycloakPrincipal) authentication.getPrincipal();
39+
return keycloakPrincipal.getKeycloakSecurityContext().getToken();
40+
}
3141
}

src/main/java/com/pj/keycloak/web/EmployeeController.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public Optional<Employee> findById(@PathVariable Long id)
4444
@PostMapping(path = "/update")
4545
public Employee update(@RequestBody Employee employee)
4646
{
47+
employee.setUserGuid(userInfoUtil.getUserGuid());
4748
return employeeService.updateProfile(employee);
4849
}
4950

src/main/webapp/spring-data-ui/src/app/employee-list/employee-list.component.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
</thead>
2020
<tbody *ngFor="let employee of employees">
2121
<tr>
22-
<td> <a routerLink="/employee/{{employee.id}}">{{employee.id}}</a></td>
22+
<td> <a routerLink="/employee/{{employee.id}}" [queryParams]="{editMode: false}">{{employee.id}}</a></td>
2323
<td>{{employee.employeeId}}</td>
2424
<td>{{employee.firstName}}</td>
2525
<td>{{employee.lastName}}</td>
@@ -38,7 +38,6 @@
3838
<div class="container container-fluid">
3939
<h5>
4040
<button (click)="createEmployee()" class="btn btn-primary"> Create</button>
41-
<button (click)="updateEmployee()" class="btn btn-primary" style="margin-left: 20px"> Update</button>
4241
</h5>
4342
</div>
4443

src/main/webapp/spring-data-ui/src/app/employee-list/employee-list.component.ts

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -41,21 +41,6 @@ export class EmployeeListComponent implements OnInit
4141
);
4242
}
4343

44-
updateEmployee()
45-
{
46-
this.ngxSpinnerService.show();
47-
this.employeeService.updateEmployee('http://localhost:8081/api/v1/employee/update/1001').subscribe(
48-
data=>
49-
{
50-
this.employees=data;
51-
this.ngxSpinnerService.hide();
52-
},
53-
error1 =>
54-
{
55-
this.ngxSpinnerService.hide();
56-
}
57-
);
58-
}
5944

6045
logout()
6146
{
@@ -104,6 +89,7 @@ export class EmployeeListComponent implements OnInit
10489

10590
editEmployee(id: number)
10691
{
107-
92+
this.router.navigate(["/employee/" + id, { editMode: true }
93+
]);
10894
}
10995
}

src/main/webapp/spring-data-ui/src/app/employee-view/employee-view.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
<div class="form-group row">
1010
<label class="col-sm-2 col-form-label" for="id">Id</label>
1111
<div class="col-sm-10">
12-
<input [ngClass]="(editMode==true)?'form-control':'form-control-plaintext'" formControlName="id" id="id" [readOnly]="!editMode" type="text">
12+
<input [ngClass]="(editMode==true)?'form-control':'form-control-plaintext'" formControlName="id" id="id" readonly type="text">
1313
</div>
1414
</div>
1515
<div class="form-group row">
1616
<label class="col-sm-2 col-form-label" for="employeeId">employeeId</label>
1717
<div class="col-sm-10">
18-
<input class="form-control-plaintext" formControlName="employeeId" id="employeeId" readonly type="text">
18+
<input [ngClass]="(editMode==true)?'form-control':'form-control-plaintext'" formControlName="employeeId" id="employeeId" readonly type="text">
1919
</div>
2020
</div>
2121

src/main/webapp/spring-data-ui/src/app/employee-view/employee-view.component.ts

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {Component, OnInit} from "@angular/core";
2-
import {FormControl, FormGroup} from "@angular/forms";
2+
import {FormBuilder} from "@angular/forms";
33
import {ActivatedRoute, Router} from "@angular/router";
44
import {NgxSpinnerService} from "ngx-spinner";
55
import {Employee} from "src/app/employee-list/employee";
@@ -13,34 +13,36 @@ import {EmployeeService} from "src/app/employee-list/employee.service";
1313
export class EmployeeViewComponent implements OnInit
1414
{
1515
employee: Employee;
16-
editMode: boolean;
16+
editMode: boolean=false;
1717

18-
employeeForm = new FormGroup({
19-
id: new FormControl({value: '', disabled: true}),
20-
employeeId: new FormControl({value: '', disabled: true}),
21-
firstName: new FormControl(''),
22-
lastName: new FormControl(''),
23-
email: new FormControl(''),
24-
phone: new FormControl(''),
25-
salary: new FormControl(''),
26-
location: new FormControl(''),
18+
employeeForm = this.formBuilder.group({
19+
id: [{disabled: true}],
20+
employeeId: [{ disabled: true}],
21+
firstName: [''],
22+
lastName: [''],
23+
email: [''],
24+
phone: [''],
25+
salary: [''],
26+
location: [''],
2727
});
2828

29+
2930
constructor(private employeeService:EmployeeService,
31+
private formBuilder:FormBuilder,
3032
private activatedRoute:ActivatedRoute,
3133
private router:Router,
3234
private ngxSpinnerService:NgxSpinnerService)
3335
{ }
3436

3537
ngOnInit()
3638
{
37-
this.editMode=false;
3839
this.getEmployeeDetails();
3940
}
4041

4142
private getEmployeeDetails()
4243
{
4344
let id=this.activatedRoute.snapshot.params.id;
45+
4446
this.ngxSpinnerService.show();
4547
this.employeeService.getEmployeeById('http://localhost:8081/api/v1/employee/find/'+id).subscribe(
4648
data=>
@@ -58,6 +60,7 @@ export class EmployeeViewComponent implements OnInit
5860
location: data.location,
5961
});
6062
this.ngxSpinnerService.hide();
63+
this.activatedRoute.snapshot.params.editMode=='true'?this.editMode=true:this.editMode=false;
6164
},
6265
error1 =>
6366
{
@@ -75,7 +78,7 @@ export class EmployeeViewComponent implements OnInit
7578
{
7679
this.ngxSpinnerService.show();
7780

78-
console.error(this.employeeForm.value);
81+
console.info(this.employeeForm.value);
7982
let employee=this.employeeForm.value;
8083

8184
this.employeeService.updateEmployee('http://localhost:8081/api/v1/employee/update', employee).subscribe(

0 commit comments

Comments
 (0)