From 5dfe9bbf4bdbc3c88edd35b8710e774235249031 Mon Sep 17 00:00:00 2001 From: MX2002MX <143877039+MX2002MX@users.noreply.github.com> Date: Tue, 30 Apr 2024 01:00:27 +0700 Subject: [PATCH] Delete Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2 directory --- .../ict/gemini2/GeminiApplication.java | 17 --- .../controller/SciencePlanController.java | 110 ------------------ .../gemini2/controller/UserController.java | 107 ----------------- .../mahidol/ict/gemini2/model/Astronomer.java | 62 ---------- .../mahidol/ict/gemini2/model/Observer.java | 39 ------- .../th/ac/mahidol/ict/gemini2/model/User.java | 108 ----------------- .../gemini2/repository/UserRepository.java | 8 -- 7 files changed, 451 deletions(-) delete mode 100644 Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/GeminiApplication.java delete mode 100644 Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/controller/SciencePlanController.java delete mode 100644 Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/controller/UserController.java delete mode 100644 Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/Astronomer.java delete mode 100644 Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/Observer.java delete mode 100644 Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/User.java delete mode 100644 Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/repository/UserRepository.java diff --git a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/GeminiApplication.java b/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/GeminiApplication.java deleted file mode 100644 index dd3a3b27..00000000 --- a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/GeminiApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -package th.ac.mahidol.ict.gemini2; - -import edu.gemini.app.ocs.OCS; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -@SpringBootApplication -public class GeminiApplication { - - public static void main(String[] args) { - OCS ocs = new OCS(true); - System.out.println("ocs"); - System.out.println(ocs.getAllSciencePlans()); - SpringApplication.run(GeminiApplication.class, args); - } - -} - diff --git a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/controller/SciencePlanController.java b/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/controller/SciencePlanController.java deleted file mode 100644 index 80fad7a3..00000000 --- a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/controller/SciencePlanController.java +++ /dev/null @@ -1,110 +0,0 @@ -package th.ac.mahidol.ict.gemini2.controller; - -import edu.gemini.app.ocs.model.*; -import th.ac.mahidol.ict.gemini2.model.*; -import th.ac.mahidol.ict.gemini2.model.Observer; -import th.ac.mahidol.ict.gemini2.repository.UserRepository; - - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.imageio.ImageIO; -import java.awt.image.BufferedImage; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.*; - -@Controller -public class SciencePlanController { - @Autowired - private UserRepository userRepository; - - @CrossOrigin - @GetMapping("scienceplans") - public @ResponseBody - ArrayList getAllSciencePlan(@RequestParam(value = "id") int id) { - User user = (User) userRepository.findById(id).get(); - return user.getAllSciencePlan(); - } - - @CrossOrigin - @GetMapping("scienceplan") - public @ResponseBody - SciencePlan getSciencePlanByID(@RequestParam(value = "id") int id,@RequestParam(value = "planNo") int planNo) { - User user = (User) userRepository.findById(id).get(); - return user.getSciencePlanByID(planNo); - } - - @CrossOrigin - @PostMapping("scienceplans") - public @ResponseBody - String addSciencePlan(@RequestBody Map body,@RequestParam(value = "id") int id){ - Astronomer astronomer = (Astronomer) userRepository.findById(id).get(); - SciencePlan newSc = astronomer.createSciencePlan(body); - return "Successfully Created a new science plan" + newSc.toString(); - } - @CrossOrigin - @GetMapping("testscienceplan") - public @ResponseBody String testSciencePlan(@RequestParam(value = "id") int id,@RequestParam(value = "sciplan") int sciplan) { - System.out.println(id+sciplan); - Astronomer astronomer = (Astronomer) userRepository.findById(id).get(); - SciencePlan sc = astronomer.getSciencePlanByID(sciplan); - return astronomer.testSciencePlan(sc); - } - @CrossOrigin - @GetMapping("starsystems") - public @ResponseBody - ArrayList getAllStarSystem(@RequestParam(value = "id") int id) { - Astronomer astronomer = (Astronomer) userRepository.findById(id).get(); - return astronomer.getAllStarSystem(); - } - @CrossOrigin - @GetMapping("telescopelocations") - public @ResponseBody - ArrayList getAllTelescopeLoc(@RequestParam(value = "id") int id) { - Astronomer astronomer = (Astronomer) userRepository.findById(id).get(); - return astronomer.getAllTelescopeLoc(); - } - - @CrossOrigin - @GetMapping("getastronomicaldata") - public @ResponseBody - ArrayList getAstronomicalData(@RequestParam(value = "id") int id, @RequestParam(value = "planNo") int planNo) { - Observer observer = (Observer) userRepository.findById(id).get(); - - ArrayList images = observer.getAstronomicalData(planNo); - if (images == null){ - ArrayList result = new ArrayList(); - result.add("No astronomical data collected."); - return result; - } - - ArrayList encodedImages = new ArrayList<>(); - for (BufferedImage image : images) { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - try { - ImageIO.write(image, "jpg", baos); - String encodedImage = Base64.getEncoder().encodeToString(baos.toByteArray()); - encodedImages.add(encodedImage); - } catch (IOException e) { - e.printStackTrace(); - } - } - return encodedImages; - } - @CrossOrigin - @GetMapping("setsciplanstatus") - public @ResponseBody - String setSciencePlanStatus(@RequestParam(value = "id") int id,@RequestParam(value = "planNo") int planNo, @RequestParam(value = "status") String status){ - User user = (User) userRepository.findById(id).get(); - Boolean result = user.updateSciencePlanStatus(planNo, status); - if (result) return "Science plan status has been updated"; - return "Error, Cannot Update Status"; - - } - -} diff --git a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/controller/UserController.java b/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/controller/UserController.java deleted file mode 100644 index 1b1b8d0f..00000000 --- a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/controller/UserController.java +++ /dev/null @@ -1,107 +0,0 @@ -package th.ac.mahidol.ict.gemini2.controller; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.beans.factory.annotation.Autowired; - -import th.ac.mahidol.ict.gemini2.repository.UserRepository; -import th.ac.mahidol.ict.gemini2.model.*; - -import java.util.Map; - -@Controller -public class UserController { - - @Autowired - private UserRepository userRepository; - - @GetMapping("/") - public String login(){ - return "login"; // This assumes that login.html is in src/main/resources/templates directory - } - - - @GetMapping("/register") - public String register(){ - return "register"; - } - - @GetMapping("/astronomer") - public String astronomer(){ - return "astronomer"; - } - - @GetMapping("/observer") - public String observer(){ - return "observer"; - } - - @GetMapping("/create_scienceplan") - public String create_scienceplan(){ - return "createscienceplan"; - } - - @GetMapping("/test_scienceplan") - public String test_scienceplan(){ - return "testscienceplan"; - } - - @GetMapping("/collect_astronomical_data") - public String collect_astronomical_data(){ - return "collect"; - } - - @GetMapping("/admin") - public String admin(){ - return "admin"; - } - - @GetMapping("/users") - public Iterable getAllUsers(){ - return userRepository.findAll(); - } - - @GetMapping("/usersname") - public String getUser(@RequestParam(value = "id") int id){ - User user = userRepository.findById(id).orElse(null); - return user != null ? user.getUserAccountName() : "User not found"; - } - - @GetMapping("/getperms") - public Integer getUserPermission(@RequestParam(value = "id") int id){ - User user = userRepository.findById(id).orElse(null); - if (user != null && "Astronomer".equals(user.getUserPermission())) { - return 1; - } - return 2; - } - - @PostMapping("/adduser") - public int addUser(@RequestBody Map body) { - // Your code to add a new user - return 0; - } - - @PostMapping("/login") - public int login(@RequestParam(value = "username") String username, - @RequestParam(value = "password") String password) { - // Your code to authenticate the user - return 0; - } - - public User createUser(Map body) { - int id = (int) (userRepository.count() + 1); - String userUsername = body.get("userUsername").toString(); - String userPassword = body.get("userPassword").toString(); - String userAccountname = body.get("userAccountName").toString(); - String userPermission = body.get("userPermission").toString(); - - if (body.get("userPermission").toString().equals("Astronomer")) { - return new Astronomer(id, userUsername, userPassword, userPermission, userAccountname); - } else { - return new Observer(id, userUsername, userPassword, userPermission, userAccountname); - } - } -} diff --git a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/Astronomer.java b/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/Astronomer.java deleted file mode 100644 index ed14a8df..00000000 --- a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/Astronomer.java +++ /dev/null @@ -1,62 +0,0 @@ -package th.ac.mahidol.ict.gemini2.model; - -import edu.gemini.app.ocs.model.*; - -import jakarta.persistence.*; - -import java.util.ArrayList; -import java.util.Map; - -@Entity -@Table(name = "Astronomer") -public class Astronomer extends User { - - public Astronomer() { } - public Astronomer(int userId, String userUsername, String userPassword, String userPermission, String userAccountName) { - super(userId, userUsername, userPassword, userPermission, userAccountName); - } - public SciencePlan createSciencePlan(Map body){ - System.out.println("\nCreate a new Science Plan"); - SciencePlan mySP = new SciencePlan(); - - mySP.setCreator(this.getUserAccountName()); - mySP.setSubmitter(body.get("submitter").toString()); - mySP.setFundingInUSD(Double.parseDouble(body.get("funding").toString())); - mySP.setObjectives(body.get("objective").toString()); - mySP.setStarSystem(StarSystem.CONSTELLATIONS.valueOf(body.get("starSystem").toString())); - mySP.setTelescopeLocation(SciencePlan.TELESCOPELOC.valueOf(body.get("telescopeLocation").toString())); - - mySP.setStartDate(body.get("startdate").toString()); - mySP.setEndDate(body.get("enddate").toString()); - - DataProcRequirement dpr1 = - new DataProcRequirement(body.get("fileType").toString(), body.get("fileQuality").toString(), body.get("colorType").toString(), - Integer.parseInt(body.get("contrast").toString()), Integer.parseInt(body.get("brightness").toString()), Integer.parseInt(body.get("saturation").toString()), Integer.parseInt(body.get("highlight").toString()), Integer.parseInt(body.get("exposure").toString()), Integer.parseInt(body.get("shadow").toString()), - Integer.parseInt(body.get("whites").toString()), Integer.parseInt(body.get("blacks").toString()), Integer.parseInt(body.get("luminance").toString()), Integer.parseInt(body.get("hue").toString())); - - mySP.setDataProcRequirements(dpr1); - - ocs.createSciencePlan(mySP); - - return mySP; - } - - public ArrayList getAllStarSystem() { - ArrayList allStarSystems = new ArrayList<>(); - for (StarSystem.CONSTELLATIONS constellation : StarSystem.CONSTELLATIONS.values()) { - allStarSystems.add(constellation); - } - return allStarSystems; } - public ArrayList getAllTelescopeLoc() { - ArrayList allTelescopeLoc = new ArrayList<>(); - for (SciencePlan.TELESCOPELOC tel : SciencePlan.TELESCOPELOC.values()) { - allTelescopeLoc.add(tel); - } - return allTelescopeLoc; - } - - public String testSciencePlan(SciencePlan sp){ - return ocs.testSciencePlan(sp); - } - -} diff --git a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/Observer.java b/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/Observer.java deleted file mode 100644 index 2cba6cde..00000000 --- a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/Observer.java +++ /dev/null @@ -1,39 +0,0 @@ -package th.ac.mahidol.ict.gemini2.model; - -import edu.gemini.app.ocs.model.AstronomicalData; - -import jakarta.persistence.Entity; -import jakarta.persistence.Table; - -import java.awt.image.BufferedImage; -import java.io.IOException; -import java.util.ArrayList; - -@Entity -@Table(name = "Observer") -public class Observer extends User { - public Observer() { } - public Observer(int userId, String userUsername, String userPassword, String userPermission, String userAccountName) { - super(userId, userUsername, userPassword, userPermission, userAccountName); - } - public ArrayList getAstronomicalData(int id){ - System.out.println(ocs.getSciencePlanByNo(id)); - AstronomicalData astroData = null; - try { - astroData = ocs.getAstronomicalData(ocs.getSciencePlanByNo(id)); - if (astroData != null) { - ArrayList images = null; - images = astroData.getAllImages(); - return images; - }else { - System.out.println("No astronomical data collected.\n"); - } - } catch (IOException e) { - e.printStackTrace(); - } - - return null; - } - -} - diff --git a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/User.java b/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/User.java deleted file mode 100644 index 9aec64f9..00000000 --- a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/model/User.java +++ /dev/null @@ -1,108 +0,0 @@ -package th.ac.mahidol.ict.gemini2.model; - -import edu.gemini.app.ocs.OCS; -import edu.gemini.app.ocs.model.SciencePlan; - -import jakarta.persistence.*; - -import java.util.ArrayList; - -@Entity - -@Table(name="USER") -public abstract class User { - @Id - private int userId; - public String userUsername; - private String userPassword; - private String userPermission; - private String userAccountName; - - static OCS ocs = new OCS(true); - - protected User(){ } - - public User(int userId, String userUsername, String userPassword, String userPermission, String userAccountName) { - this.userId = userId; - this.userUsername = userUsername; - this.userPassword = userPassword; - this.userPermission = userPermission; - this.userAccountName = userAccountName; - } - - public int login(String username, String password) { - if(this.userUsername.equals(username) && this.userPassword.equals(password)) { - return this.userId; - } - return 0; - } - - @Override - public String toString() { - return "User{" + - "userId=" + userId + - ", userUsername='" + userUsername + '\'' + - ", userPassword='" + userPassword + '\'' + - ", userPermission='" + userPermission + '\'' + - ", userAccountName='" + userAccountName + '\'' + - '}'; - } - - public int getUserId() { - return userId; - } - - public void setUserId(int userId) { - this.userId = userId; - } - - public String getUserUsername() { - return userUsername; - } - - public void setUserUsername(String userUsername) { - this.userUsername = userUsername; - } - - public String getUserPassword() { - return userPassword; - } - - public void setUserPassword(String userPassword) { - this.userPassword = userPassword; - } - - public String getUserPermission() { - return userPermission; - } - - public void setUserPermission(String userPermission) { - this.userPermission = userPermission; - } - - public String getUserAccountName() { - return userAccountName; - } - - public void setUserAccountName(String userAccountName) { - this.userAccountName = userAccountName; - } - - public ArrayList getAllSciencePlan(){ - System.out.println("Getting all SciencePlan"); - for(SciencePlan sc : ocs.getAllSciencePlans()){ - System.out.println(sc); - } - return ocs.getAllSciencePlans(); - } - - public SciencePlan getSciencePlanByID(int id){ - for(SciencePlan sc : ocs.getAllSciencePlans()){ - if(sc.getPlanNo() == id) return sc; - } - return null; - } - public boolean updateSciencePlanStatus(int id, String status){ - return ocs.updateSciencePlanStatus(id, SciencePlan.STATUS.valueOf(status)); - } -} diff --git a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/repository/UserRepository.java b/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/repository/UserRepository.java deleted file mode 100644 index 0f8bf033..00000000 --- a/Crystal/gemini-tcs/gemini-1/implementations/Gemini/src/main/java/th/ac/mahidol/ict/gemini2/repository/UserRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package th.ac.mahidol.ict.gemini2.repository; - -import th.ac.mahidol.ict.gemini2.model.User; - -import org.springframework.data.repository.CrudRepository; - -public interface UserRepository extends CrudRepository { -} \ No newline at end of file