From 92a4d7856014a3982e2770740a16857a9d733844 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 3 Feb 2025 13:42:28 +0700 Subject: [PATCH] Update controller Clean code --- .../controller/AsesmenGiziAwalController.java | 2 +- .../AsesmenGiziLanjutController.java | 2 +- .../controller/AuthenticateController.java | 6 +- .../FisisPemeriksaanDokterController.java | 2 +- .../controller/KebutuhanDasarController.java | 2 +- .../controller/KelasController.java | 2 +- .../controller/KonsepDiriController.java | 2 +- .../controller/KonsultasiController.java | 2 +- .../controller/KopingController.java | 2 +- .../MasalahKeperawatanController.java | 2 +- .../controller/NilaiNilaiController.java | 2 +- .../controller/PapAlergiController.java | 2 +- .../controller/PapAnamesisController.java | 2 +- .../controller/PapEliminasiController.java | 2 +- .../PapGastrointestinalController.java | 2 +- .../controller/PapGenataliaController.java | 2 +- .../controller/PapGigiMulutController.java | 2 +- .../PapInstruksiPerjanjianController.java | 2 +- .../controller/PapIntegumenController.java | 2 +- .../PapKebutuhanEdukasiController.java | 2 +- .../PapKeluhanTambahanController.java | 2 +- .../controller/PapKeluhanUtamaController.java | 2 +- .../PapMuskuloskeletalController.java | 2 +- .../controller/PapNeurologiController.java | 2 +- .../controller/PapObstetriController.java | 2 +- .../controller/PapPernapasanController.java | 2 +- .../PapRiwayatPsikososialController.java | 2 +- .../controller/PapSirkulasiController.java | 2 +- .../controller/PasienPulangController.java | 2 +- .../PembedahanDanInstruksiController.java | 2 +- .../controller/PeranHubunganController.java | 2 +- .../controller/PersepsiKognisiController.java | 2 +- .../controller/PersepsiPasienController.java | 2 +- .../ProdukDetailLabAnatomiController.java | 2 +- .../RegistrasiPelayananController.java | 36 ++-- .../controller/base/BaseRestController.java | 28 +-- .../controller/base/IBaseRestController.java | 4 +- .../controller/base/IRestPageController.java | 25 ++- .../controller/base/LocaleController.java | 31 ++-- .../controller/base/ParamRestController.java | 35 ++-- .../controller/base/RestPageController.java | 20 +-- .../medifirst2000/filter/CORSFilter.java | 164 +++++++----------- .../filter/StatelessAuthenticationFilter.java | 22 +-- .../handler/RestErrorHandler.java | 44 ++--- .../interceptor/AppInterceptor.java | 1 + .../RestAuthenticationEntryPoint.java | 17 +- .../security/SpringSecurityConfig.java | 37 +--- .../security/handler/TokenHandler.java | 46 ++--- .../security/model/AppPermission.java | 14 +- .../security/model/UserAuthentication.java | 9 +- .../service/TokenAuthenticationService.java | 48 ++--- .../security/service/UserService.java | 36 ++-- .../util/rest/JacksonConfiguration.java | 9 +- 53 files changed, 266 insertions(+), 432 deletions(-) diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AsesmenGiziAwalController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AsesmenGiziAwalController.java index 52663f7a..fbd33e7e 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AsesmenGiziAwalController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AsesmenGiziAwalController.java @@ -48,7 +48,7 @@ public class AsesmenGiziAwalController extends LocaleController result = asesmenGiziAwalService.saveAsesmenGiziAwal(vo); if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Assesment Gizi Awal", "Pemeriksaan", request); + SaveLog("Assesment Gizi Awal", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when saveAsesmenGiziAwal", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AsesmenGiziLanjutController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AsesmenGiziLanjutController.java index bb31ecde..b1856152 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AsesmenGiziLanjutController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AsesmenGiziLanjutController.java @@ -43,7 +43,7 @@ public class AsesmenGiziLanjutController extends LocaleController result = asesmenGiziLanjutService.saveAsesmenGiziLanjut(vo); if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Assesment Gizi Lanjut", "Pemeriksaan Khusus", request); + SaveLog("Assesment Gizi Lanjut", "Pemeriksaan Khusus"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when saveAsesmenGiziLanjut", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AuthenticateController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AuthenticateController.java index 0cca96a2..bfc03759 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AuthenticateController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/AuthenticateController.java @@ -101,8 +101,7 @@ public class AuthenticateController { return RestUtil.getJsonHttpStatus(HttpStatus.NOT_ACCEPTABLE, mapHeaderMessage); } GrantedAuthority authority = new SimpleGrantedAuthority("USER"); - String token = tokenAuthenticationService.addAuthentication(httpResponse, - new UserAuthentication(new User(loginUserVo.getNamaUser(), loginUserVo.getKataSandi(), + String token = tokenAuthenticationService.addAuthentication(new UserAuthentication(new User(loginUserVo.getNamaUser(), loginUserVo.getKataSandi(), Collections.singletonList(authority)))); boolean isSupervising = request.getHeader(Constants.HttpHeader.SUPERVISING) != null; if (isSupervising) { // supervising login @@ -168,8 +167,7 @@ public class AuthenticateController { return RestUtil.getJsonHttpStatus(HttpStatus.NOT_ACCEPTABLE, mapHeaderMessage); } GrantedAuthority authority = new SimpleGrantedAuthority("USER"); - String token = tokenAuthenticationService.addAuthentication(httpResponse, - new UserAuthentication(new User(loginUserVo.getNamaUser(), loginUserVo.getKataSandi(), + String token = tokenAuthenticationService.addAuthentication(new UserAuthentication(new User(loginUserVo.getNamaUser(), loginUserVo.getKataSandi(), Collections.singletonList(authority)))); boolean isSupervising = request.getHeader(Constants.HttpHeader.SUPERVISING) != null; if (isSupervising) { // supervising login diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/FisisPemeriksaanDokterController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/FisisPemeriksaanDokterController.java index b0ad2deb..e0dbf8da 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/FisisPemeriksaanDokterController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/FisisPemeriksaanDokterController.java @@ -55,7 +55,7 @@ public class FisisPemeriksaanDokterController extends LocaleController } else { mapHeaderMessage.put(LABEL_ERROR, getMessage(MessageResource.LABEL_ERROR, request)); } - SaveLog("Kebutuhan Dasar Perawat", "Perawat", request); + SaveLog("Kebutuhan Dasar Perawat", "Perawat"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addKebutuhanDasar", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KelasController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KelasController.java index 69959daf..41cfca11 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KelasController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KelasController.java @@ -102,7 +102,7 @@ public class KelasController extends LocaleController { Map result = kelasService.findKelasByRuangan(ruanganId); if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Get kelas by ruangan", "Permintaan", request); + SaveLog("Get kelas by ruangan", "Permintaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when findKelasByRuangan", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KonsepDiriController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KonsepDiriController.java index b88d0291..4887cc42 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KonsepDiriController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KonsepDiriController.java @@ -53,7 +53,7 @@ public class KonsepDiriController extends LocaleController { } else { mapHeaderMessage.put(LABEL_ERROR, getMessage(MessageResource.LABEL_ERROR, request)); } - SaveLog("Konsep Diri", "Pemeriksaan", request); + SaveLog("Konsep Diri", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addKonsepDiri", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KonsultasiController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KonsultasiController.java index 94b08b48..62bb83e8 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KonsultasiController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/KonsultasiController.java @@ -61,7 +61,7 @@ public class KonsultasiController extends LocaleController { } else { mapHeaderMessage.put(LABEL_ERROR, getMessage(MessageResource.LABEL_ERROR, request)); } - SaveLog("Koping", "Pemeriksaan", request); + SaveLog("Koping", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addKoping", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/MasalahKeperawatanController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/MasalahKeperawatanController.java index 09a55900..03c982df 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/MasalahKeperawatanController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/MasalahKeperawatanController.java @@ -49,7 +49,7 @@ public class MasalahKeperawatanController extends LocaleController { if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); getJsonHttpStatus(CREATED); - SaveLog("Masalah Keperawatan", "Pemeriksaan", request); + SaveLog("Masalah Keperawatan", "Pemeriksaan"); return getJsonResponse("Status Sukses", CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when saveMasalahKeperawatanService", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/NilaiNilaiController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/NilaiNilaiController.java index 00530dc0..a60bb1a2 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/NilaiNilaiController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/NilaiNilaiController.java @@ -53,7 +53,7 @@ public class NilaiNilaiController extends LocaleController { } else { mapHeaderMessage.put(LABEL_ERROR, getMessage(MessageResource.LABEL_ERROR, request)); } - SaveLog("Nilai Nilai", "Pemeriksaan", request); + SaveLog("Nilai Nilai", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addNilaiNilai", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapAlergiController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapAlergiController.java index 0123e5f7..a4f2ad52 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapAlergiController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapAlergiController.java @@ -49,7 +49,7 @@ public class PapAlergiController extends LocaleController { Map result = papAlergiService.addAlergi(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Alergi", "Pemeriksaan", request); + SaveLog("Alergi", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addAlergi", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapAnamesisController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapAnamesisController.java index 17aaa824..524518b4 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapAnamesisController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapAnamesisController.java @@ -49,7 +49,7 @@ public class PapAnamesisController extends LocaleController { Map result = papAnamesisService.addAnamesis(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Anamnesis", "Pemeriksaan", request); + SaveLog("Anamnesis", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addAnamesis", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapEliminasiController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapEliminasiController.java index 171edda4..12c8ec84 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapEliminasiController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapEliminasiController.java @@ -49,7 +49,7 @@ public class PapEliminasiController extends LocaleController { Map result = papEliminasiService.addEliminasi(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Eliminasi", "Pemeriksaan", request); + SaveLog("Eliminasi", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addEliminasi", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGastrointestinalController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGastrointestinalController.java index 2abfc4d0..07a06f35 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGastrointestinalController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGastrointestinalController.java @@ -50,7 +50,7 @@ public class PapGastrointestinalController extends LocaleController result = papGastrointestinalService.addGastrointestinal(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Gastrointestinal", "Pemeriksaan", request); + SaveLog("Gastrointestinal", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addGastrointestinal", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGenataliaController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGenataliaController.java index fc680e11..f36f7dfd 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGenataliaController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGenataliaController.java @@ -53,7 +53,7 @@ public class PapGenataliaController extends LocaleController { Map result = papGenataliaService.addGenatalia(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Genatalia", "Pemeriksaan", request); + SaveLog("Genatalia", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addGenatalia", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGigiMulutController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGigiMulutController.java index 8eb7881d..0cb2afee 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGigiMulutController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapGigiMulutController.java @@ -49,7 +49,7 @@ public class PapGigiMulutController extends LocaleController { Map result = papGigiMulutService.addGigiMulut(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Gigi Mulut", "Pemeriksaan Khusus", request); + SaveLog("Gigi Mulut", "Pemeriksaan Khusus"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addGigiMulut", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapInstruksiPerjanjianController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapInstruksiPerjanjianController.java index dcae9cac..b4d0322a 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapInstruksiPerjanjianController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapInstruksiPerjanjianController.java @@ -52,7 +52,7 @@ public class PapInstruksiPerjanjianController extends LocaleController result = papInstruksiPerjanjianService.addInstruksiPerjanjian(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Perjanjian", "Instruksi", request); + SaveLog("Perjanjian", "Instruksi"); return getJsonResponse(result, CREATED); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addInstruksiPerjanjian", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapIntegumenController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapIntegumenController.java index 964ba2ec..75626677 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapIntegumenController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapIntegumenController.java @@ -49,7 +49,7 @@ public class PapIntegumenController extends LocaleController { Map result = papIntegumenService.addIntegumen(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Integumen", "Pemeriksaan", request); + SaveLog("Integumen", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addIntegumen", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKebutuhanEdukasiController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKebutuhanEdukasiController.java index 5fd738d5..487f0949 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKebutuhanEdukasiController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKebutuhanEdukasiController.java @@ -45,7 +45,7 @@ public class PapKebutuhanEdukasiController extends LocaleController result = papKebutuhanEdukasiService.addKebutuhanEdukasi(vo); if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Kebutuhan Edukasi", "Pemeriksaan", request); + SaveLog("Kebutuhan Edukasi", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addKebutuhanEdukasi", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKeluhanTambahanController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKeluhanTambahanController.java index bd64fc3b..f2bb848e 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKeluhanTambahanController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKeluhanTambahanController.java @@ -52,7 +52,7 @@ public class PapKeluhanTambahanController extends LocaleController result = papKeluhanTambahanService.addKeluhanTambahan(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Keluhan Tambahan", "Pemeriksaan", request); + SaveLog("Keluhan Tambahan", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addKeluhanTambahan", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKeluhanUtamaController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKeluhanUtamaController.java index cb8d680f..92512e63 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKeluhanUtamaController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapKeluhanUtamaController.java @@ -54,7 +54,7 @@ public class PapKeluhanUtamaController extends LocaleController result = papKeluhanUtamaService.addKeluhanUtama(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Keluhan Utama", "Pemeriksaan", request); + SaveLog("Keluhan Utama", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addKeluhanUtama", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapMuskuloskeletalController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapMuskuloskeletalController.java index 1536d285..d70870ba 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapMuskuloskeletalController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapMuskuloskeletalController.java @@ -50,7 +50,7 @@ public class PapMuskuloskeletalController extends LocaleController result = papMuskuloskeletalService.addMuskuloskeletal(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Muskuloskeletal", "Pemeriksaan", request); + SaveLog("Muskuloskeletal", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addMuskuloskeletal", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapNeurologiController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapNeurologiController.java index 6f27747a..b8f38b6a 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapNeurologiController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapNeurologiController.java @@ -49,7 +49,7 @@ public class PapNeurologiController extends LocaleController { Map result = papNeurologiService.addNeurologi(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Neurologi", "Pemeriksaan", request); + SaveLog("Neurologi", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addNeurologi", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapObstetriController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapObstetriController.java index f46f8a86..4f3305f9 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapObstetriController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapObstetriController.java @@ -53,7 +53,7 @@ public class PapObstetriController extends LocaleController { } else { mapHeaderMessage.put(LABEL_ERROR, getMessage(MessageResource.LABEL_ERROR, request)); } - SaveLog("Pengkajian Khusus Obstetri", "Pengkajian Khusus", request); + SaveLog("Pengkajian Khusus Obstetri", "Pengkajian Khusus"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when savePapObstetri", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapPernapasanController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapPernapasanController.java index 3ca3fdba..adba24ff 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapPernapasanController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapPernapasanController.java @@ -50,7 +50,7 @@ public class PapPernapasanController extends LocaleController { Map result = papPernapasanService.addPernapasan(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Pernapasan", "Pemeriksaan", request); + SaveLog("Pernapasan", "Pemeriksaan"); return getJsonResponse(result, CREATED); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addPernapasan", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapRiwayatPsikososialController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapRiwayatPsikososialController.java index 060292f4..3e196e2d 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapRiwayatPsikososialController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapRiwayatPsikososialController.java @@ -50,7 +50,7 @@ public class PapRiwayatPsikososialController extends LocaleController result = papRiwayatPsikososialService.addRiwayatPsikososial(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Riwayat Psikososial", "Pemeriksaan", request); + SaveLog("Riwayat Psikososial", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addRiwayatPsikososial", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapSirkulasiController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapSirkulasiController.java index d64ae8d3..58023d39 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapSirkulasiController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PapSirkulasiController.java @@ -49,7 +49,7 @@ public class PapSirkulasiController extends LocaleController { Map result = papSirkulasiService.addSirkulasi(vo); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); result.put("message", "Berhasil"); - SaveLog("Sirkulasi", "Pemeriksaan", request); + SaveLog("Sirkulasi", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addSirkulasi", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PasienPulangController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PasienPulangController.java index c810ba9b..68c6917f 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PasienPulangController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PasienPulangController.java @@ -56,7 +56,7 @@ public class PasienPulangController extends LocaleController { mapHeaderMessage.put(LABEL_ERROR, getMessage(MessageResource.LABEL_ERROR, request)); } } - SaveLog("Pasien Pulang", "Instruksi", request); + SaveLog("Pasien Pulang", "Instruksi"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when updatepasienPulang", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PembedahanDanInstruksiController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PembedahanDanInstruksiController.java index 3d58122d..93595217 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PembedahanDanInstruksiController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PembedahanDanInstruksiController.java @@ -50,7 +50,7 @@ public class PembedahanDanInstruksiController extends LocaleController result = pembedahanDanInstruksiService.addPembedahanDanInstruksi(vo); mapHeaderMessage.clear(); mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Laporan Pembedahan dan Instruksi Bedah", "Bedah", request); + SaveLog("Laporan Pembedahan dan Instruksi Bedah", "Bedah"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addPembedahanDanInstruksi", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PeranHubunganController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PeranHubunganController.java index 4d891815..da30334d 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PeranHubunganController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PeranHubunganController.java @@ -54,7 +54,7 @@ public class PeranHubunganController extends LocaleController { } else { mapHeaderMessage.put(LABEL_ERROR, getMessage(MessageResource.LABEL_ERROR, request)); } - SaveLog("Peran Hubungan", "Pemeriksaan", request); + SaveLog("Peran Hubungan", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addPeranHubungan", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PersepsiKognisiController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PersepsiKognisiController.java index e9b97c8a..c9de38fc 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PersepsiKognisiController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/PersepsiKognisiController.java @@ -54,7 +54,7 @@ public class PersepsiKognisiController extends LocaleController } else { mapHeaderMessage.put(LABEL_ERROR, getMessage(MessageResource.LABEL_ERROR, request)); } - SaveLog("Persepsi Pasien", "Pemeriksaan", request); + SaveLog("Persepsi Pasien", "Pemeriksaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when addPersepsiPasien", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/ProdukDetailLabAnatomiController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/ProdukDetailLabAnatomiController.java index 1771c9e8..b69f7556 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/ProdukDetailLabAnatomiController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/ProdukDetailLabAnatomiController.java @@ -58,7 +58,7 @@ public class ProdukDetailLabAnatomiController extends LocaleController result = pelayananObatService.savePelayananObat3(vo); if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Order Farmasi", "Permintaan", request); + SaveLog("Order Farmasi", "Permintaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when savePelayananObat3", e.getMessage()); @@ -1189,9 +1190,8 @@ public class RegistrasiPelayananController extends LocaleController list = registrasiPelayananService.getHasilPemeriksaanByNoOrder(noOrder); List dtos = new ArrayList<>(); Alamat alamatPasien = alamatService.findByPasienId2(strukOrder.getNoCm().getId()); - Integer usia = new Date( - strukOrder.getNoCm().getTglDaftar().getTime() - strukOrder.getNoCm().getTglLahir().getTime()).getYear() - - 70; + int selisihTahunSaatDaftar = DateUtil.getYear(new Date(strukOrder.getNoCm().getTglDaftar().getTime() - strukOrder.getNoCm().getTglLahir().getTime())); + Integer usia = selisihTahunSaatDaftar - 70; Date now = new Date(); PapPengambilanSpesimen papPengambilanSpesimen = papPengambilanSpesimenService .findByNoOrderAndTglOrder2(strukOrder.getNoOrder(), strukOrder.getTglOrder()); @@ -1501,7 +1501,7 @@ public class RegistrasiPelayananController extends LocaleController result = registrasiPelayananService.getTindakanPelayanan(noRec); if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Order Tindakan", "Permintaan", request); + SaveLog("Order Tindakan", "Permintaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} getTindakanPelayanan", e.getMessage()); @@ -1691,7 +1691,7 @@ public class RegistrasiPelayananController extends LocaleController> result = orderProdukService.saveVerifikasiGiziAll(dtos); if (result != null) { mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Produk Gizi", "Permintaan", request); + SaveLog("Produk Gizi", "Permintaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } else { mapHeaderMessage.put(ERROR_MESSAGE, getMessage(MessageResource.LABEL_ERROR, request)); @@ -1715,7 +1715,7 @@ public class RegistrasiPelayananController extends LocaleController> result = orderProdukService.cekStokGiziProduksi(vo); if (result != null) { mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Cek Produk Gizi", "Permintaan", request); + SaveLog("Cek Produk Gizi", "Permintaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } else { mapHeaderMessage.put(ERROR_MESSAGE, getMessage(MessageResource.LABEL_ERROR, request)); @@ -1740,7 +1740,7 @@ public class RegistrasiPelayananController extends LocaleController result = orderProdukService.getOrderPelayananKirimMenuGiziMakanan(ruanganId); if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Order Gizi", "Permintaan", request); + SaveLog("Order Gizi", "Permintaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when getOrderPelayananKirimMenuGiziMakanan", e.getMessage()); @@ -1809,7 +1809,7 @@ public class RegistrasiPelayananController extends LocaleController result = orderProdukService.getOrderPelayananKirimMenuGiziMinuman(ruanganId); if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Order Gizi", "Permintaan", request); + SaveLog("Order Gizi", "Permintaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when getOrderPelayananKirimMenuGiziMinuman", e.getMessage()); @@ -1829,7 +1829,7 @@ public class RegistrasiPelayananController extends LocaleController result = orderProdukService.getOrder(noOrder); if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Order Gizi", "Permintaan", request); + SaveLog("Order Gizi", "Permintaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when getOrder", e.getMessage()); @@ -1869,7 +1869,7 @@ public class RegistrasiPelayananController extends LocaleController result = orderProdukService.updateOrderProduklab(map, cito); if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Order ", "Ubah order laboratorium", request); + SaveLog("Order ", "Ubah order laboratorium"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when updateOrderProduklab", e.getMessage()); @@ -1932,7 +1932,7 @@ public class RegistrasiPelayananController extends LocaleController> result = orderProdukService.getAllProdukProduksiGizi(menu); if (null != result) mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); - SaveLog("Order Gizi", "Permintaan", request); + SaveLog("Order Gizi", "Permintaan"); return getJsonResponse(result, CREATED, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got ServiceVOException {} when getAllProdukProduksiGizi", e.getMessage()); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/BaseRestController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/BaseRestController.java index 0e73c735..0d20c965 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/BaseRestController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/BaseRestController.java @@ -4,39 +4,29 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.jasamedika.medifirst2000.base.vo.BaseVO; +import static org.springframework.web.bind.annotation.RequestMethod.*; + /** * Base Rest Operation for Controller Class * * @author Roberto */ -public interface BaseRestController extends - RestPageController { +public interface BaseRestController extends RestPageController { - @RequestMapping(value = "/{id}", method = RequestMethod.GET) + @RequestMapping(value = "/{id}", method = GET) @ResponseBody - public ResponseEntity getVO(@PathVariable("id") String id); + ResponseEntity getVO(@PathVariable("id") String id); - @RequestMapping(value = "/", method = RequestMethod.PUT) + @RequestMapping(value = "/", method = POST, consumes = { "application/json" }) @ResponseBody - public ResponseEntity addVO(@RequestBody V vo); + ResponseEntity addVO(@RequestBody V vo); - @RequestMapping(value = "/", method = RequestMethod.POST, consumes = { "application/json" }) + @RequestMapping(value = "/", method = PUT, consumes = { "application/json" }) @ResponseBody - public ResponseEntity editVO(@RequestBody V vo); - - // @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) - // @ResponseBody - // public ResponseEntity deleteVO(@PathVariable("id") Integer id); - - // @RequestMapping(value = "/", method = RequestMethod.GET) - // @ResponseBody - // public ResponseEntity> getAllVO(); - - + ResponseEntity editVO(@RequestBody V vo); } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/IBaseRestController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/IBaseRestController.java index 76abc9e0..15002a00 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/IBaseRestController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/IBaseRestController.java @@ -19,11 +19,11 @@ public interface IBaseRestController extends IRestPageCon @ResponseBody ResponseEntity getVO(@PathVariable("id") Integer id); - @RequestMapping(value = "/", method = PUT, consumes = { "application/json" }) + @RequestMapping(value = "/", method = POST, consumes = { "application/json" }) @ResponseBody ResponseEntity addVO(@RequestBody V vo); - @RequestMapping(value = "/", method = POST, consumes = { "application/json" }) + @RequestMapping(value = "/", method = PUT, consumes = { "application/json" }) @ResponseBody ResponseEntity editVO(@RequestBody V vo); diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/IRestPageController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/IRestPageController.java index f9f7f890..21c55613 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/IRestPageController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/IRestPageController.java @@ -1,16 +1,15 @@ package com.jasamedika.medifirst2000.controller.base; -import java.util.Collection; - -import javax.servlet.http.HttpServletRequest; - +import com.jasamedika.medifirst2000.base.vo.BaseModelVO; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; -import com.jasamedika.medifirst2000.base.vo.BaseModelVO; +import javax.servlet.http.HttpServletRequest; +import java.util.Collection; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; /** * Base Rest Operation for 'pagination' Controller Class @@ -30,12 +29,12 @@ public interface IRestPageController { * : direction {asc:desc} * @return Collection of VO, Total-Count & Total Pages on response header */ - @RequestMapping(value = "/list", method = RequestMethod.GET) + @RequestMapping(value = "/list", method = GET) @ResponseBody - public ResponseEntity> getAllVOWithQueryString( - HttpServletRequest request, - @RequestParam(value = "page", required = false) Integer page, - @RequestParam(value = "limit", required = false) Integer limit, - @RequestParam(value = "sort", required = false, defaultValue = "id") String sort, - @RequestParam(value = "dir", required = false, defaultValue = "asc") String dir); + ResponseEntity> getAllVOWithQueryString( + HttpServletRequest request, + @RequestParam(value = "page", required = false) Integer page, + @RequestParam(value = "limit", required = false) Integer limit, + @RequestParam(value = "sort", required = false, defaultValue = "id") String sort, + @RequestParam(value = "dir", required = false, defaultValue = "asc") String dir); } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/LocaleController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/LocaleController.java index dc2f7f1c..d77f1d18 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/LocaleController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/LocaleController.java @@ -22,11 +22,9 @@ import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; @@ -37,6 +35,11 @@ import java.io.InputStreamReader; import java.net.URISyntaxException; import java.util.*; +import static com.jasamedika.medifirst2000.constants.Constants.Locale.INA; +import static org.springframework.http.HttpStatus.OK; +import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; +import static org.springframework.web.bind.annotation.RequestMethod.GET; + /** * Base Controller Class for handling messaga resource for internationalization * & locale @@ -45,10 +48,6 @@ import java.util.*; */ public abstract class LocaleController { - /* - * messageSource bean injected for each controller for accessing message - * source - */ @Autowired private ActivityPegawaiService activityPegawaiServiceImpl; @@ -66,14 +65,11 @@ public abstract class LocaleController { protected Map mapHeaderMessage = new HashMap<>(); - /* - * code locale - */ protected String getMessage(String code, HttpServletRequest request) { return messageSource.getMessage(code, null, new Locale(getCoociesLanguage(request))); } - protected void SaveLog(String keterangan, String group, HttpServletRequest request) { + protected void SaveLog(String keterangan, String group) { activityPegawaiServiceImpl.record( pegawaiConverter.transferModelToVO(loginUserService.getLoginUser().getPegawai(), new PegawaiVO()), new Date(), keterangan, group); @@ -115,7 +111,7 @@ public abstract class LocaleController { } } - @RequestMapping(value = "/lang/{lang}", method = RequestMethod.GET) + @RequestMapping(value = "/lang/{lang}", method = GET) public boolean preHandle(HttpServletRequest request, HttpServletResponse response, @PathVariable("lang") String lang) { Cookie[] cookies = request.getCookies(); @@ -150,27 +146,24 @@ public abstract class LocaleController { return true; } - /* - * default locale ID - */ protected String getMessage(String code) { - return messageSource.getMessage(code, null, new Locale(Constants.Locale.INA)); + return messageSource.getMessage(code, null, new Locale(INA)); } protected void addHeaderMessage(String key, String message) { this.mapHeaderMessage.put(key, message); } - @RequestMapping(value = "/entity-serelize/{entity}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + @RequestMapping(value = "/entity-serelize/{entity}", method = GET, produces = APPLICATION_JSON_VALUE) public ResponseEntity serializeEntity(@PathVariable("entity") String entity, HttpServletRequest request) { ModelVO modelDTO = modelService.getModelSerializeEntity(entity, getCoociesLanguage(request)); - return RestUtil.getJsonResponse(modelDTO, HttpStatus.OK); + return RestUtil.getJsonResponse(modelDTO, OK); } public String getCoociesLanguage(HttpServletRequest request) { Cookie[] cookie = request.getCookies(); Cookie cook; - String lang = Constants.Locale.INA; + String lang = INA; if (cookie != null) { for (Cookie value : cookie) { cook = value; @@ -195,7 +188,7 @@ public abstract class LocaleController { String.valueOf(map.get(WebConstants.PageParameter.TOTAL_PAGES))); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.TOTAL_COUNT_HEADER, String.valueOf(map.get(WebConstants.PageParameter.TOTAL_ELEMENTS))); - return RestUtil.getJsonResponse(vos, HttpStatus.OK, mapHeaderMessage); + return RestUtil.getJsonResponse(vos, OK, mapHeaderMessage); } } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/ParamRestController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/ParamRestController.java index 30a686df..502fa9fb 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/ParamRestController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/ParamRestController.java @@ -1,36 +1,30 @@ package com.jasamedika.medifirst2000.controller.base; -import java.util.List; - -import org.springframework.core.GenericTypeResolver; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; - import com.jasamedika.medifirst2000.base.vo.BaseModelVO; import com.jasamedika.medifirst2000.constants.Constants; import com.jasamedika.medifirst2000.util.rest.RestUtil; import com.monitorjbl.json.JsonResult; import com.monitorjbl.json.JsonView; import com.monitorjbl.json.Match; +import org.springframework.core.GenericTypeResolver; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; /** * Base Controller Class for handling "include" parameter to controller - * @see https://github.com/monitorjbl/json-view - * + * @see reference + * * @author Roberto */ public abstract class ParamRestController { - private JsonResult jsonResult = JsonResult.instance(); - /* - * Belum selesai, baru di parameter includes. Untuk field object juga belom. - * example : - * http://localhost:8080/jasamedika-web/{typeVOClass}/list-using-param - * ?includes =id,nama - */ + private final JsonResult jsonResult = JsonResult.instance(); + @RequestMapping(value = "/list-using-param", method = RequestMethod.GET) public ResponseEntity> listUsingParam( @RequestParam(value = "includes", required = false) String includes, @@ -61,7 +55,6 @@ public abstract class ParamRestController { Match.match().exclude("*").include(arrIncludes))) .returnValue(); } - return RestUtil.getJsonResponse(listVO, HttpStatus.OK); } @@ -71,8 +64,6 @@ public abstract class ParamRestController { ParamRestController.class); } - /* - * method untuk mendapatkan all VO from service - * */ protected abstract List getAllVOFromService(); + } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/RestPageController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/RestPageController.java index 2cdcfbf0..0ed7ce24 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/RestPageController.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/base/RestPageController.java @@ -1,14 +1,14 @@ package com.jasamedika.medifirst2000.controller.base; -import java.util.Collection; - +import com.jasamedika.medifirst2000.base.vo.BaseVO; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; -import com.jasamedika.medifirst2000.base.vo.BaseVO; +import java.util.Collection; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; /** * Base Rest Operation for 'pagination' Controller Class @@ -28,11 +28,11 @@ public interface RestPageController { * : direction {asc:desc} * @return Collection of VO, Total-Count & Total Pages on response header */ - @RequestMapping(value = "/list", method = RequestMethod.GET) + @RequestMapping(value = "/list", method = GET) @ResponseBody - public ResponseEntity> getAllVOWithQueryString( - @RequestParam(value = "page", required = false) Integer page, - @RequestParam(value = "limit", required = false) Integer limit, - @RequestParam(value = "sort", required = false, defaultValue = "id") String sort, - @RequestParam(value = "dir", required = false, defaultValue = "asc") String dir); + ResponseEntity> getAllVOWithQueryString( + @RequestParam(value = "page", required = false) Integer page, + @RequestParam(value = "limit", required = false) Integer limit, + @RequestParam(value = "sort", required = false, defaultValue = "id") String sort, + @RequestParam(value = "dir", required = false, defaultValue = "asc") String dir); } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/filter/CORSFilter.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/filter/CORSFilter.java index ed6bcd4d..97f9c727 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/filter/CORSFilter.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/filter/CORSFilter.java @@ -1,30 +1,19 @@ package com.jasamedika.medifirst2000.filter; -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.Iterator; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletInputStream; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; -import javax.servlet.http.HttpServletResponse; - +import com.jasamedika.medifirst2000.constants.Constants; import org.json.JSONArray; +import org.json.JSONException; import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; -import com.jasamedika.medifirst2000.constants.Constants; +import javax.servlet.*; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.util.Iterator; /** * CORSFilter class @@ -33,73 +22,50 @@ import com.jasamedika.medifirst2000.constants.Constants; */ @Component public class CORSFilter implements Filter { - - // Start Syamsu + + private static final Logger LOGGER = LoggerFactory.getLogger(CORSFilter.class); + + public CORSFilter() { + LOGGER.info("CORSFilter JasaMedika Web init"); + } + private static class RequestWrapper extends HttpServletRequestWrapper { final String body; - public RequestWrapper(ServletRequest req) throws IOException { super((HttpServletRequest) req); - HttpServletRequest request = (HttpServletRequest) req; - - StringBuilder stringBuilder = new StringBuilder(); - BufferedReader reader = null; - try { - InputStream inputStream = request.getInputStream(); - if (inputStream != null) { - reader = new BufferedReader(new InputStreamReader(inputStream)); - String hasil; - while ( (hasil = reader.readLine()) != null) { - stringBuilder.append(hasil); - } - } else { - stringBuilder.append(""); - } - } catch (IOException ex) { - throw ex; - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException ex) { - throw ex; - } - } - } - body = stringBuilder.toString(); - + StringBuilder stringBuilder = getStringBuilder(request); + body = stringBuilder.toString(); String idRuanganTujuan = request.getHeader(Constants.HttpHeader.KD_RUANGAN_T) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_T); - - if ("".equals(idRuanganTujuan.trim())){ - try{ - JSONObject jObject = new JSONObject(body); - ExtractObjectJson(jObject, false); - }catch(Exception e){ - - } - } + if (idRuanganTujuan.trim().isEmpty()){ + JSONObject jObject; + try { + jObject = new JSONObject(body); + } catch (JSONException e) { + throw new RuntimeException(e); + } + try { + ExtractObjectJson(jObject, false); + } catch (Exception e) { + throw new RuntimeException(e); + } + } } - public String getHeader(String key){ if (key.equals(Constants.HttpHeader.KD_RUANGAN_A)) { if (autoIdTujuan.length() > 0){ return autoIdTujuan.toString(); } } - return super.getHeader(key); } - JSONArray autoIdTujuan = new JSONArray(); - - void ExtractObjectJson(JSONObject jObject, boolean ruangan) throws Exception{ - Iterator iterator = jObject.keys(); - while (iterator.hasNext()){ + void ExtractObjectJson(JSONObject jObject, boolean ruangan) throws Exception { + Iterator iterator = jObject.keys(); + while (iterator.hasNext()){ String key = String.valueOf(iterator.next()); - Object o = jObject.get(key); - + Object o = jObject.get(key); if (key.toLowerCase().contains("ruangan")){ if (o instanceof Integer){ autoIdTujuan.put(o); @@ -118,47 +84,47 @@ public class CORSFilter implements Filter { } @Override - public ServletInputStream getInputStream() throws IOException { + public ServletInputStream getInputStream() { final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(body.getBytes()); - ServletInputStream servletInputStream = new ServletInputStream() { - public int read() throws IOException { - return byteArrayInputStream.read(); - } - }; - return servletInputStream; + return new ServletInputStream() { + public int read() { + return byteArrayInputStream.read(); + } + }; } @Override - public BufferedReader getReader() throws IOException { + public BufferedReader getReader() { return new BufferedReader(new InputStreamReader(getInputStream())); } - - public String getBody() { - return this.body; - } } - // End Syamsu - - private final Logger log = LoggerFactory.getLogger(CORSFilter.class); - - public CORSFilter() { - log.info("CORSFilter JasaMedika Web init"); + private static StringBuilder getStringBuilder(HttpServletRequest request) throws IOException { + StringBuilder stringBuilder = new StringBuilder(); + BufferedReader reader = null; + try { + InputStream inputStream = request.getInputStream(); + if (inputStream != null) { + reader = new BufferedReader(new InputStreamReader(inputStream)); + String hasil; + while ( (hasil = reader.readLine()) != null) { + stringBuilder.append(hasil); + } + } + } finally { + if (reader != null) + reader.close(); + } + return stringBuilder; } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { - - // Start Syamsu - RequestWrapper myReq = new RequestWrapper((HttpServletRequest) req); - // End Syamsu - HttpServletRequest request = (HttpServletRequest) myReq; - HttpServletResponse response = (HttpServletResponse) res; - - response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); + RequestWrapper myReq = new RequestWrapper(req); + HttpServletResponse response = (HttpServletResponse) res; + response.setHeader("Access-Control-Allow-Origin", myReq.getHeader("Origin")); response.setHeader("Access-Control-Allow-Credentials", "true"); - response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", @@ -166,19 +132,11 @@ public class CORSFilter implements Filter { + "Supervising, RequestSupervisor, Module, Form, Action, AlamatUrlForm, KdRuangan, KdUser, " + "MandatoriData, idRuanganTujuan, ruanganTujuan"); response.setHeader("Content-Type", "application/json"); - - -// String body = myReq.getBody(); -// if (!"".equals(body.trim())){ -// log.info("\n\n" + myReq.getBody() + "\n"); -// } - chain.doFilter(myReq, res); } @Override public void init(FilterConfig filterConfig) { - } @Override diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/filter/StatelessAuthenticationFilter.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/filter/StatelessAuthenticationFilter.java index cc1c7452..431cc6f6 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/filter/StatelessAuthenticationFilter.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/filter/StatelessAuthenticationFilter.java @@ -1,8 +1,12 @@ package com.jasamedika.medifirst2000.filter; +import com.fasterxml.jackson.core.JsonParseException; +import com.jasamedika.medifirst2000.constants.Constants; +import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; import io.jsonwebtoken.MalformedJwtException; - -import java.io.IOException; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.web.filter.GenericFilterBean; import javax.servlet.FilterChain; import javax.servlet.ServletException; @@ -10,14 +14,7 @@ import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - -import org.springframework.security.core.Authentication; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.web.filter.GenericFilterBean; - -import com.fasterxml.jackson.core.JsonParseException; -import com.jasamedika.medifirst2000.constants.Constants; -import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; +import java.io.IOException; /** * StatelessAuthenticationFilter class @@ -37,11 +34,9 @@ public class StatelessAuthenticationFilter extends GenericFilterBean { HttpServletRequest httpRequest = (HttpServletRequest) request; HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; - res.setHeader("Access-Control-Allow-Origin", req.getHeader("Origin")); res.setHeader("Access-Control-Allow-Credentials", "true"); - res.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); res.setHeader("Access-Control-Max-Age", "3600"); @@ -49,10 +44,8 @@ public class StatelessAuthenticationFilter extends GenericFilterBean { "Content-Type, Accept, X-Requested-With, remember-me, X-AUTH-TOKEN, Supervising, " + "RequestSupervisor, Module, Form, Action, AlamatUrlForm, KdRuangan, KdUser, " + "MandatoriData"); - Authentication authentication = null; try { - authentication = authenticationService.getAuthentication(httpRequest); } catch (JsonParseException | MalformedJwtException e) { HttpServletResponse httpResponse = (HttpServletResponse) response; @@ -64,4 +57,5 @@ public class StatelessAuthenticationFilter extends GenericFilterBean { filterChain.doFilter(request, response); SecurityContextHolder.getContext().setAuthentication(null); } + } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/handler/RestErrorHandler.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/handler/RestErrorHandler.java index e4c43798..e528b2e2 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/handler/RestErrorHandler.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/handler/RestErrorHandler.java @@ -1,8 +1,7 @@ package com.jasamedika.medifirst2000.handler; -import java.util.List; -import java.util.Locale; - +import com.jasamedika.medifirst2000.base.vo.validation.ValidationErrorVO; +import com.jasamedika.medifirst2000.constants.Constants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -18,8 +17,10 @@ import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseStatus; -import com.jasamedika.medifirst2000.base.vo.validation.ValidationErrorVO; -import com.jasamedika.medifirst2000.constants.Constants;; +import java.util.List; +import java.util.Locale; + + /** * Exception Handler Rest Controller class * @@ -27,13 +28,12 @@ import com.jasamedika.medifirst2000.constants.Constants;; */ @ControllerAdvice -@Order(1) // Pertama masuk +@Order(1) public class RestErrorHandler { - private static final Logger LOGGER = LoggerFactory - .getLogger(RestErrorHandler.class); + private static final Logger LOGGER = LoggerFactory.getLogger(RestErrorHandler.class); - private MessageSource messageSource; + private final MessageSource messageSource; @Autowired public RestErrorHandler(MessageSource validationNessageSource) { @@ -48,57 +48,37 @@ public class RestErrorHandler { LOGGER.warn("Handling data validation error"); BindingResult result = ex.getBindingResult(); List fieldErrors = result.getFieldErrors(); - return processFieldErrors(fieldErrors); } private ValidationErrorVO processFieldErrors(List fieldErrors) { ValidationErrorVO dto = new ValidationErrorVO(); - for (FieldError fieldError : fieldErrors) { String localizedErrorMessage = resolveLocalizedErrorMessage(fieldError); dto.addFieldError(fieldError.getField(), localizedErrorMessage); } - return dto; } - - /* - * resolve error message with parameter locale - */ + private String resolveLocalizedErrorMessage(FieldError fieldError, String locale) { Locale currentLocale = LocaleContextHolder.getLocale(); String localizedErrorMessage = messageSource.getMessage(fieldError, currentLocale); - - // If the message was not found, return the most accurate field error - // code instead. - // You can remove this check if you prefer to get the default error - // message. if (localizedErrorMessage.equals(fieldError.getDefaultMessage())) { String[] fieldErrorCodes = fieldError.getCodes(); localizedErrorMessage = fieldErrorCodes[0]; } - return localizedErrorMessage; } - - /* - * resolve error message with default locale - */ + private String resolveLocalizedErrorMessage(FieldError fieldError) { String localizedErrorMessage = messageSource.getMessage(fieldError, new Locale(Constants.Locale.INA)); - - // If the message was not found, return the most accurate field error - // code instead. - // You can remove this check if you prefer to get the default error - // message. if (localizedErrorMessage.equals(fieldError.getDefaultMessage())) { String[] fieldErrorCodes = fieldError.getCodes(); localizedErrorMessage = fieldErrorCodes[0]; } - return localizedErrorMessage; } + } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java index 84fdce48..2b405e5f 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java @@ -364,4 +364,5 @@ public class AppInterceptor implements HandlerInterceptor { } } } + } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/RestAuthenticationEntryPoint.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/RestAuthenticationEntryPoint.java index 6fa5cc34..06d4346c 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/RestAuthenticationEntryPoint.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/RestAuthenticationEntryPoint.java @@ -1,18 +1,16 @@ package com.jasamedika.medifirst2000.security; -import java.io.IOException; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.jasamedika.medifirst2000.constants.Constants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.stereotype.Component; -import com.jasamedika.medifirst2000.constants.Constants; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; /** * RestAuthenticationEntryPoint class @@ -24,20 +22,15 @@ import com.jasamedika.medifirst2000.constants.Constants; public class RestAuthenticationEntryPoint implements AuthenticationEntryPoint { private static final Logger LOGGER = LoggerFactory.getLogger(RestAuthenticationEntryPoint.class); - - /// Alter Syamsu @Override public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException ae) throws IOException, ServletException { - LOGGER.error("Mencoba akses tanpa login"); response.getWriter().write("{" + Constants.MessageInfo.ERROR_MESSAGE + ":'Please login to get access'}"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Please login to get access"); response.setStatus(HttpServletResponse.SC_FORBIDDEN); - - //response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized"); } } \ No newline at end of file diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/SpringSecurityConfig.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/SpringSecurityConfig.java index 8553b91e..fd6727ca 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/SpringSecurityConfig.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/SpringSecurityConfig.java @@ -4,7 +4,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; -import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; @@ -45,9 +44,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.exceptionHandling() - //restAuthenticationEntryPoint .authenticationEntryPoint(restAuthenticationEntryPoint) - .and() .anonymous() .and() @@ -56,10 +53,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { .headers() .cacheControl() .and() - .authorizeRequests() - - - // Allow anonymous resource requests + .authorizeRequests() .antMatchers("/favicon.ico") .permitAll() .antMatchers("**/*.html") @@ -68,44 +62,23 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { .permitAll() .antMatchers("**/*.js") .permitAll() - - // Allow anonymous logins .antMatchers("/auth/**") .permitAll() - - // Allow SMS gateway .antMatchers("/registrasi-pasien-sms/**") .permitAll() - - // Allow SMS gateway .antMatchers("/report/**") .permitAll() - - // URL tanpa auth deklarasikan di sini .antMatchers("/test-tanpa-auth/**") .permitAll() .antMatchers("/test/**") .permitAll() - .antMatchers("/api-docs.json") .permitAll() - .antMatchers("/api-docs/**") .permitAll() - - /*//Allow Download File Surat Masuk - .antMatchers("/surat-masuk/download-dokumen-template/**") - .permitAll() - .antMatchers("/surat-masuk/get-draft-surat/**") - .permitAll()*/ - - // All other request need to be authenticated .anyRequest() .authenticated() - .and() - - // Custom Token based authentication based on the header - // previously given to the client + .and() .addFilterBefore( new StatelessAuthenticationFilter( tokenAuthenticationService), @@ -136,10 +109,4 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { return tokenAuthenticationService; } - -// @Bean(name = "springSecurityFilterChain", autowire = Autowire.BY_NAME) -// public DelegatingFilterProxy springSecurityFilterChain(){ -// return new DelegatingFilterProxy(); -// } - } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/handler/TokenHandler.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/handler/TokenHandler.java index 1252d6f3..4bba51f7 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/handler/TokenHandler.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/handler/TokenHandler.java @@ -9,32 +9,34 @@ import com.jasamedika.medifirst2000.security.service.UserService; /** * TokenHandler class - * using jjwt https://github.com/jwtk/jjwt - * + * using jjwt + * * @author Roberto */ public class TokenHandler { - private final String secret; - private final UserService userService; - public TokenHandler(String secret, UserService userService) { - this.secret = secret; - this.userService = userService; - } + private final String secret; + private final UserService userService; - public User parseUserFromToken(String token) { - String username = Jwts.parser() - .setSigningKey(secret) - .parseClaimsJws(token) - .getBody() - .getSubject(); - return userService.loadUserByUsername(username); - } + public TokenHandler(String secret, UserService userService) { + this.secret = secret; + this.userService = userService; + } + + public User parseUserFromToken(String token) { + String username = Jwts.parser() + .setSigningKey(secret) + .parseClaimsJws(token) + .getBody() + .getSubject(); + return userService.loadUserByUsername(username); + } + + public String createTokenForUser(User user) { + return Jwts.builder().setHeaderParam("typ", "JWT") + .setSubject(user.getUsername()) + .signWith(SignatureAlgorithm.HS512, secret) + .compact(); + } - public String createTokenForUser(User user) { - return Jwts.builder().setHeaderParam("typ", "JWT") - .setSubject(user.getUsername()) - .signWith(SignatureAlgorithm.HS512, secret) - .compact(); - } } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/model/AppPermission.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/model/AppPermission.java index 4025f543..5faacdd8 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/model/AppPermission.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/model/AppPermission.java @@ -13,13 +13,11 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface AppPermission { - public static final int ADD = 100; - public static final int UPDATE = 200; - public static final int DELETE = 300; - public static final int PRINT = 400; - public static final int VIEW = 500; - - public static final int SPECIALS = 600; - + int ADD = 100; + int UPDATE = 200; + int DELETE = 300; + int PRINT = 400; + int VIEW = 500; + int SPECIALS = 600; int value(); } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/model/UserAuthentication.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/model/UserAuthentication.java index 6e3add0f..68a512eb 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/model/UserAuthentication.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/model/UserAuthentication.java @@ -1,20 +1,18 @@ package com.jasamedika.medifirst2000.security.model; -import java.util.Collection; - import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.User; +import java.util.Collection; + /** * UserAuthentication class * * @author Roberto */ public class UserAuthentication implements Authentication { - /** - * serialVersionUID - */ + private static final long serialVersionUID = -7410905698525654537L; private final User user; private boolean authenticated = true; @@ -57,4 +55,5 @@ public class UserAuthentication implements Authentication { public void setAuthenticated(boolean authenticated) { this.authenticated = authenticated; } + } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/service/TokenAuthenticationService.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/service/TokenAuthenticationService.java index 0ed2b075..0b59b920 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/service/TokenAuthenticationService.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/service/TokenAuthenticationService.java @@ -1,16 +1,15 @@ package com.jasamedika.medifirst2000.security.service; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.springframework.security.core.Authentication; -import org.springframework.security.core.userdetails.User; -import org.springframework.stereotype.Component; - import com.fasterxml.jackson.core.JsonParseException; import com.jasamedika.medifirst2000.core.web.WebConstants; import com.jasamedika.medifirst2000.security.handler.TokenHandler; import com.jasamedika.medifirst2000.security.model.UserAuthentication; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.userdetails.User; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletRequest; +import java.util.Objects; /** * TokenAuthenticationService class @@ -29,43 +28,30 @@ public class TokenAuthenticationService { tokenHandler = new TokenHandler(secret, userService); } - public String addAuthentication(HttpServletResponse response, - UserAuthentication authentication) { + public String addAuthentication(UserAuthentication authentication) { final User user = authentication.getDetails(); return tokenHandler.createTokenForUser(user); } public Authentication getAuthentication(HttpServletRequest request) throws JsonParseException { - String token = request.getHeader(WebConstants.AUTH_HEADER_NAME); if (token != null) { final User user = tokenHandler.parseUserFromToken(token); - if (user != null) { + if (user != null) return new UserAuthentication(user); - } - } - else{ - try - { - if(request.getQueryString()=="")return null; - final String[] tokens= request.getQueryString().split("&"); - for (String tokenTemp : tokens) { - if(tokenTemp.toLowerCase().indexOf(WebConstants.AUTH_HEADER_NAME.toLowerCase())>=0) - { - token =tokenTemp.split("=")[1]; - final User user = tokenHandler.parseUserFromToken(token); - if (user != null) { - return new UserAuthentication(user); - } + } else { + if(Objects.equals(request.getQueryString(), ""))return null; + final String[] tokens= request.getQueryString().split("&"); + for (String tokenTemp : tokens) { + if(tokenTemp.toLowerCase().contains(WebConstants.AUTH_HEADER_NAME.toLowerCase())) { + token =tokenTemp.split("=")[1]; + final User user = tokenHandler.parseUserFromToken(token); + if (user != null) { + return new UserAuthentication(user); } } } - catch(Exception e) - { - - } - } return null; } diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/service/UserService.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/service/UserService.java index b883d19e..be6aea37 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/service/UserService.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/security/service/UserService.java @@ -1,19 +1,18 @@ package com.jasamedika.medifirst2000.security.service; -import java.util.Arrays; -import java.util.List; - +import com.jasamedika.medifirst2000.dao.LoginUserDao; +import com.jasamedika.medifirst2000.entities.LoginUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AccountStatusUserDetailsChecker; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.User; -import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Component; -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.entities.LoginUser; +import java.util.Collections; +import java.util.List; /** * UserService implements @@ -22,8 +21,7 @@ import com.jasamedika.medifirst2000.entities.LoginUser; * @author Roberto */ @Component -public class UserService implements - org.springframework.security.core.userdetails.UserDetailsService { +public class UserService implements UserDetailsService { @Autowired private LoginUserDao loginUserDao; @@ -34,28 +32,18 @@ public class UserService implements super(); } - /** - * this method is called for rest authentication from client - * - * @author Roberto - */ @Override - public final User loadUserByUsername(String username) - throws UsernameNotFoundException { + public final User loadUserByUsername(String username) throws UsernameNotFoundException { List loginUsers = loginUserDao.findByNamaUser(username); - if (loginUsers.isEmpty()) { + if (loginUsers.isEmpty()) throw new UsernameNotFoundException("user not found"); - } LoginUser loginUser = loginUsers.get(0); - //validasi tambahan lakukan di sini - -// GrantedAuthority authority = new SimpleGrantedAuthority(loginUser -// .getKelompokUser().getKelompokUser()); GrantedAuthority authority = new SimpleGrantedAuthority("USER"); - UserDetails userDetails = (UserDetails) new User( + User userDetails = new User( loginUser.getNamaUser(), loginUser.getKataSandi(), - Arrays.asList(authority)); + Collections.singletonList(authority)); detailsChecker.check(userDetails); - return (User) userDetails; + return userDetails; } + } \ No newline at end of file diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/util/rest/JacksonConfiguration.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/util/rest/JacksonConfiguration.java index 5a5cf6bd..bfb27d8e 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/util/rest/JacksonConfiguration.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/util/rest/JacksonConfiguration.java @@ -9,21 +9,18 @@ import com.fasterxml.jackson.databind.SerializationFeature; @Component public class JacksonConfiguration { - private ObjectMapper mapper; - public JacksonConfiguration() { + public JacksonConfiguration() { } public JacksonConfiguration(ObjectMapper mapper) { - this.mapper = mapper; - configureJackson(mapper); + configureJackson(mapper); } - public static ObjectMapper configureJackson(ObjectMapper mapper) { + public static void configureJackson(ObjectMapper mapper) { mapper.enable(SerializationFeature.INDENT_OUTPUT); mapper.setSerializationInclusion(Include.NON_NULL); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - return mapper; } }