diff --git a/create-file/.idea/vcs.xml b/create-file/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..6c0b8635858dc7ad44b93df54b762707ce49eefc --- /dev/null +++ b/create-file/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$/.." vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/create-file/merged.txt b/create-file/merged.txt index 5590d92d6741e408499ea267592c5d030ebd47a7..56efb983581d76004318360f3b2bca52325d86c2 100644 --- a/create-file/merged.txt +++ b/create-file/merged.txt @@ -1,5 +1,5 @@ -1, Ahmed, 23, job, false, hbl, 231234123, false +1, Ahmed, 23, business, false, hbl, 231234123, false 2, Qadeer, 23, job, false, hbl, 231234123, false 3, Sahal, 23, job, false, hbl, 231234123, false -4, Arham, 23, job, false, hbl, 231234123, false -5, Naveed, 23, job, false, hbl, 231234123, false +4, Arham, 23, business, false, hbl, 231234123, true +5, Naveed, 23, banker, false, hbl, 231234123, false diff --git a/create-file/src/main/java/Main.java b/create-file/src/main/java/Main.java new file mode 100644 index 0000000000000000000000000000000000000000..013f1e6225415d05cf6d9b58caf32186db27c7b2 --- /dev/null +++ b/create-file/src/main/java/Main.java @@ -0,0 +1,14 @@ +import java.util.ArrayList; +import java.util.List; + +public class Main { + public static void main(String[] args) { + List<Integer> integerList = new ArrayList<>(); + integerList.add(1); + integerList.add(2); + integerList.add(3); + integerList.add(4); + System.out.println(integerList.toString().replace("[", "").replace("]", "")); + System.out.println(integerList); + } +} diff --git a/create-file/src/main/java/MyFileMerger.java b/create-file/src/main/java/MyFileMerger.java index f7feb4aeeabe2b1fdba33e7bcf8b5cef342dc0db..4d594f188dc13d45332fdf7bf3a1a5f649e1ddf7 100644 --- a/create-file/src/main/java/MyFileMerger.java +++ b/create-file/src/main/java/MyFileMerger.java @@ -66,6 +66,11 @@ public class MyFileMerger List<String> present; present = bankMap.get(id); if (present != null) { +// List<String> userList = userMap.get(id); +// List<String> bankList = bankMap.get(id); +// pw.println(id + " " + userList.toString().replace("[", "").replace("]", "") + " " + +// bankList.toString().replace("[", "").replace("]", "")); + pw.println(id + ", " + userMap.get(id).get(0) + ", " + userMap.get(id).get(1) + ", " + userMap.get(id).get(2) + ", " + userMap.get(id).get(3) + ", " + bankMap.get(id).get(0) + ", " + bankMap.get(id).get(1) + ", " + bankMap.get(id).get(2)); } diff --git a/create-file/target/classes/Main.class b/create-file/target/classes/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..336ab7eec0fe7370314e4085f65e3c3f0827824d Binary files /dev/null and b/create-file/target/classes/Main.class differ diff --git a/create-file/target/classes/MyFileMerger.class b/create-file/target/classes/MyFileMerger.class index 288d5b9ad2a23ebfa223e25768b8035637854597..78dda1a06010effd95d6eb5122aafdcb295a2d1c 100644 Binary files a/create-file/target/classes/MyFileMerger.class and b/create-file/target/classes/MyFileMerger.class differ diff --git a/create-file/update.txt b/create-file/update.txt new file mode 100644 index 0000000000000000000000000000000000000000..635b764cd803a334a68da1b0668801a261eb3d9b --- /dev/null +++ b/create-file/update.txt @@ -0,0 +1,5 @@ +1, Ahmed, 23, business, false, hbl, 231234123, false +2, Qadeer, 23, job, false, hbl, 231234123, false +3, Sahal, 23, job, false, hbl, 231234123, false +4, Arham, 23, business, false, hbl, 231234123, false +5, Naveed, 23, job, false, hbl, 231234123, false diff --git a/user-service/src/main/java/com/qadeer/user/controller/UserController.java b/user-service/src/main/java/com/qadeer/user/controller/UserController.java index 84de63e9763757d94dedb6f56c65218a0928eff7..a1b84bffa4c10af42a39ce9d6e8d8b35439654c9 100644 --- a/user-service/src/main/java/com/qadeer/user/controller/UserController.java +++ b/user-service/src/main/java/com/qadeer/user/controller/UserController.java @@ -1,5 +1,6 @@ package com.qadeer.user.controller; + import com.qadeer.user.model.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -7,8 +8,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import com.qadeer.user.service.UserService; -import javax.validation.Valid; -import java.io.BufferedReader; import java.io.IOException; @RestController @@ -17,14 +16,21 @@ public class UserController { @Autowired private UserService userService; - // POST methods - @GetMapping("/get") - public String createTeacher() throws IOException { - return userService.getUser(); + + // GET methods + @GetMapping("/{id}") + public ResponseEntity<User> getUserById(@PathVariable int id) throws IOException { + User user = userService.getUserById(id); + if (user != null) { + return new ResponseEntity<User>(user, HttpStatus.FOUND); + } + return new ResponseEntity<>(HttpStatus.NO_CONTENT); } - @GetMapping - public String hello() { - return "Hello"; + // POST methods + @PutMapping("/update/{id}") + public ResponseEntity<String> updateUserById(@PathVariable int id, @RequestBody String status) throws IOException { + String message = userService.updateUserById(id, status); + return new ResponseEntity<String>(message, HttpStatus.OK); } } diff --git a/user-service/src/main/java/com/qadeer/user/model/User.java b/user-service/src/main/java/com/qadeer/user/model/User.java index e93cf4c266f212756c1ed09b987ab900673062c5..9313cd00436d5e37ab1d7383e0105cbf99036c6d 100644 --- a/user-service/src/main/java/com/qadeer/user/model/User.java +++ b/user-service/src/main/java/com/qadeer/user/model/User.java @@ -2,8 +2,48 @@ package com.qadeer.user.model; public class User { private int id; - private int name; + private String name; private int age; private String profession; private boolean martialStatus; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public String getProfession() { + return profession; + } + + public void setProfession(String profession) { + this.profession = profession; + } + + public boolean isMartialStatus() { + return martialStatus; + } + + public void setMartialStatus(boolean martialStatus) { + this.martialStatus = martialStatus; + } } diff --git a/user-service/src/main/java/com/qadeer/user/service/BankService.java b/user-service/src/main/java/com/qadeer/user/service/BankService.java deleted file mode 100644 index 5e840ff70da5b25b0b45ce3c91ef7ba5111248b2..0000000000000000000000000000000000000000 --- a/user-service/src/main/java/com/qadeer/user/service/BankService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.qadeer.user.service; - -import org.springframework.stereotype.Service; - -@Service -public class BankService { - -} diff --git a/user-service/src/main/java/com/qadeer/user/service/UserService.java b/user-service/src/main/java/com/qadeer/user/service/UserService.java index 3fd1de48fb3349c06ca7291e133b1a029eec8413..ae94ca932a1733d2779049119a1f0870cdd4038f 100644 --- a/user-service/src/main/java/com/qadeer/user/service/UserService.java +++ b/user-service/src/main/java/com/qadeer/user/service/UserService.java @@ -1,21 +1,86 @@ package com.qadeer.user.service; +import com.qadeer.user.model.User; import org.springframework.stereotype.Service; -import java.io.BufferedReader; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; +import java.io.*; +import java.util.Arrays; +import java.util.List; + @Service public class UserService { - BufferedReader br = new BufferedReader(new FileReader("/Users/aqadeer/Desktop/java-training-project-2/create-file/bank.txt")); public UserService() throws FileNotFoundException { } - public String getUser() throws IOException { - return br.readLine(); + public User getUserById(int id) throws IOException { + BufferedReader br = new BufferedReader(new FileReader("/Users/aqadeer/Desktop/java-training-project-2/create-file/merged.txt")); + String myLine = br.readLine(); + while (myLine != null) { + + if (Integer.parseInt(String.valueOf(myLine.charAt(0))) == id) { + User user = new User(); + List<String> userList = Arrays.asList(myLine.split(",")); + user.setId(id); + user.setName(userList.get(1).trim()); + user.setAge(Integer.parseInt(userList.get(2).trim())); + user.setProfession(userList.get(3).trim()); + user.setMartialStatus(Boolean.parseBoolean(userList.get(4))); + return user; + } + myLine = br.readLine(); + } + return null; + + } + + public String updateUserById(int id, String status) throws IOException { + boolean flag = false; + BufferedReader br = new BufferedReader(new FileReader("/Users/aqadeer/Desktop/java-training-project-2/create-file/merged.txt")); + String myLine = br.readLine(); + StringBuilder myString = new StringBuilder(); + StringBuilder result = new StringBuilder(); + myString.append(myLine); + myString.append("\n"); + + while (myLine != null) { + + List<String> myStringList = Arrays.asList(myLine.split(",")); + int myId = Integer.parseInt(myStringList.get(0)); + String profession = myStringList.get(3).trim(); + int x = Integer.parseInt(String.valueOf(myLine.charAt(0))); + if (x == id && (profession.equals("business") || profession.equals("banker"))) { + String someStr = String.valueOf(myString).replaceAll(" [^,]*$", " " + status); + result.append(someStr); + result.append("\n"); + flag = true; + } + else { + result.append(myString); + + } + + myLine = br.readLine(); + if (myLine == null) { + break; + } + myString = new StringBuilder(); + myString.append(myLine); + myString.append("\n"); + + + } + if (flag) { + PrintWriter pw = new PrintWriter("/Users/aqadeer/Desktop/java-training-project-2/create-file/merged.txt"); + int last = result.lastIndexOf("\n"); + if (last >= 0) { result.delete(last, result.length()); } + pw.println(String.valueOf(result)); + pw.flush(); + pw.close(); + return "user updated."; + } + return "not allowed"; } }