daftar pustaka - digilib.itb.ac.id · ... erl, thomas.(2004). service oriented architecture: ......
TRANSCRIPT
xviii
DAFTAR PUSTAKA
[1] Nickull, Duane. Service Oriented Architecture Whitepaper. – Adobe
Systems, Inc.
[2] Indrajit, R. Eko, Djokopranoto R.(2006). Manajemen Perguruan Tinggi
modern. Yogyakarta: Andi.
[3] Erl, Thomas.(2004). Service Oriented Architecture: A Field Guide to
Integrating XML and Webservices. New Jersey: Pearson Education, Inc.
[4] Blanvalet, S. Bolie, J, Cardella M. dkk.(2006). BPEL Cookbook : Best
Practices for SOA –Bases integration and composite application
development. Birmingham: Packt Publishing Ltd.
[5] Antonius, S.(2006) Arsitektur Aplikasi Perangkat Enterprise #3.
lecturer.ukdw.ac.id/anton/enterprise.php. (22/03/2007)
[6] Dirk Krafzig, Karl Banke, Dirk Slama(2004) .Enterprise SOA: Service-
Oriented Architecture Best Practices. Prentice Hall PTR
[7] Erl, Thomas.(2007). SOA: Principles Of Service Design. New Jersey:
Pearson Education, Inc.
[8] Newcomer Eric, Lomow Greg.(2005). Understanding SOA with Web
Services. US: Pearson Education, Inc.
[9] Endrei Mark, Ang Jenny, Arsanjani A, et all. (2004). Patterns: Service-
Oriented Architecture and Web Services. -: IBM.
[10] Moore William, Allen Corville, Bracht Ralf, et all. Managing
Information Access to an Enterprise Information System Using J2EE and
Services Oriented Architecture (2005). -: IBM
xix
DAFTAR REFERENSI
[SOA04] Making the Transformation to Service-Oriented
ArchitectureCapitalizing on the Next Revolution in IT.
http://www.webMethods.com
[SOA05] SOA Governance Enabling Sustainable Success with SOA.
http://www.webMethods.com
[SOA06] SOA Reference Architecture Defining The Key Elements Of A
Successful SOA Technology Framework.
http://www.webMethods.com
[SOA07] Article : Service-Oriented Architecture (SOA) and Web Services:
The Road to Enterprise Application Integration (EAI)
http://java.sun.com/developer/technicalArticles/WebServices/soa/
xx
DAFTAR WEBSITE
ID Alamat Website Tanggal
Akses
[WEB001] http://www.xml.com/pub/a/ws/2003/09/30/soa.html 10 April
2007,
17:14:57
[WEB002] http://www.ondotnet.com/pub/a/dotnet/2003/08/18/soa_e
xplained.html
14 April
2007,20:43:4
4
[WEB003] http://www.developer.com/design/article.php/1041191 10 April
2007,21:25:4
6
[WEB004] http://en.wikipedia.org/wiki/Web_services 19 April
2007 ,
22:10:35
[WEB005] www.southbend.tech.purdue.edu/academics/degrees/CPT
Html/cpt_terminology.html
22 April
2007, 9:33
[WEB006] http://www.321site.com/greg/courses/mis1/glossary.htm 22 April
2007, 9:47
[WEB007] http://dev2dev.bea.com/pub/a/2006/08/soa-service-
lifecycle-design.html
22 April
2007, 9:50
xxi
LAMPIRAN A. HUBUNGAN LAYANAN UTAMA DAN PROSES BISNIS
Layanan Utama Layanan yang
disediakan
Proses Bisnis Dept Status
Implementasi
IT
Aktor
Akademik Pendaftaran Registrasi mahasiswa. Registrar Ya (JSP) Mahasiswa
Jadwal Kuliah Manajemen : Matakuliah,
dosen, ruangan kuliah.
PR I Ya (JSP) Staff PR I
Absensi Mata kuliah Log absen mahasiswa Registrar Ya (JSP) Staff Registrar
Absensi Log absen Registrar Ya (Manual) Staff Registrar
Cetak Transkrip Cetak Transkrip Registrar Ya (JSP) +
Legacy System
Staff Registrar
Nilai Mahasiswa Submit Nilai mahasiswa Faculty Ya (JSP) Dosen, Mahasiswa
(view only)
Perpustakaan Pencarian Buku,
Pemesanan Buku,
Peminjaman,
Pengembalian
Pencarian Buku, Pemesanan
Buku, Peminjaman,
Pengembalian
Perpustakaan Ya (PHP) Staff Perpustakaan,
Mahasiswa, Dosen.
Keuangan Pembayaran uang kuliah,
Cek balance saldo,
charges, informasi
pembayaran.
Approve pendaftaran
mahasiswa, update saldo
mahasiswa. Notify
mahasiswa informasi
pembayaran. Registrasi
Mahasiswa Labor.
Keuangan Ya (Application
system)
Staff Keuangan
Kemahasiswaan Residence
Manajemen: Registrasi
tempat tinggal mahasiswa
PR III YA(JSP) Staff PR III
xxii
Layanan Utama Layanan yang
disediakan
Proses Bisnis Dept Status
Implementasi
IT
Aktor
Dormitory Manajemen: Registrasi
Asrama, Absensi Kebaktian.
Asrama YA(Manual) Staff Asrama
Keamanan Manajemen: Security
Personnel, Vehicles
registration, Log Jumlah
visitor.
Keamanan Tidak (Manual) Staff Keamanan
NOC_IT Email Registration, Reset
User password.
Manajemen sistem user,
network user, Web
maintenance. Generate
News
NOC & IT Ya(JSP) Staff NOC & IT
Guidance_and_Counseling Counseling, Tes minat &
bakat
Registrasi Mahasiswa untuk
tes minat dan bakat.
Guidance &
Counseling
Ya(Manual) Staff Guidance &
Counseling
Campus_Ministry Perlawatan, Spriritual
services.
Absensi Kebaktian.
Update absensi kebaktian
mahasiswa.
Campus
Ministry
Ya(Manual) Staff Campus
Ministry
Research Journal, Artikel Manajemen tulisan-tulisan,
artikel-artikel
Research Ya(Manual) Staff Research
Community_services Kritik dan Saran Manajemen kritik dan saran
dari user / Stakeholder
Community
services
Ya(Manual) Staff Community
services
xxiii
LAMPIRAN B. USE CASES LAYANAN AKADEMIK
Generated by Serlio Software Case Complete
6/23/2008 4:03
UC-SIU-1 new_Registration P1
Registrasi baru dilakukan untuk para New_Applicant Universitas Klabat
Details
Parent: Layanan Akademik
Primary Actors: New_Applicant,
Registrar
Supporting Actors:
Preconditions: -Calon mahasiswa
memiliki dokumen pra syarat yang
lengkap
Success Guarantee: Calon mahasiswa
menerima ID sementara
Level: User Complexity: Medium
Use Case Status: Initial Implementation Status: Scheduled
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Calon mahasiswa menyiapkan berkas-berkas pendaftaran.
2. Calon mahasiswa melakukan registrasi dengan mengisi lengkap semua informasi
yang dibutuhkan.
3. Calon mahasiswa mendapatkan nomor registrasi sementara.
Extensions:
UC-SIU-2 get_Info_Lecturer P1
Layanan yang disediakan untuk mendapatkan informasi Lecturer yang terdapat di
Universitas Klabat
Details
Parent: Layanan Akademik
Primary Actors: Other_Departments,
Students
Supporting Actors:
Preconditions: Masukkan input data
dosen valid
Success Guarantee: Informasi dosen
ditampilkan
Level: User Complexity: Medium
xxiv
Use Case Status: Initial Implementation Status: Scheduled
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. User terdaftar pada sistem layanan akademik.
2. User memiliki service description dari layanan akademik Universitas Klabat.
3. User memasukkan signature / parameter ke dalam layanan get_Info_Lecturer.
Extensions:
UC-SIU-3 change_Students_Grade P1
Lecturer melakukan perubahan nilai dari mahasiswa
Details
Parent: Layanan Akademik
Primary Actors: Lecturer Supporting Actors: Dean_of_Faculty
Preconditions: Dosen telah melakukan
autentikasi yang valid
Success Guarantee: Nilai mahasiswa
terupdate.
Level: User Complexity: Medium
Use Case Status: Initial Implementation Status: Scheduled
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Lecturer terdaftar sebagai tenaga pengajar.
2. Lecturer memasukkan kode subject yang benar.
3. Lecture memasukan domain range nilai yang benr.
4. Hasil perubahan di approve oleh Dean_of_Faculty.
Extensions:
UC-SIU-4 submit_Students_Grade P1
Lecturer memasukkan nilai mahasiswa.
Details
Parent: Layanan Akademik
Primary Actors: Lecturer Supporting Actors: Dean_of_Faculty
Preconditions: Dosen telah melakukan
autentikasi yang valid
Success Guarantee: Tabel nilai terupdate
Level: User Complexity: Medium
Use Case Status: Initial Implementation Status: Scheduled
xxv
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Lecturer memasukkan kode subject yang benar
2. Lecturer memasukkan domain range nilai yang benar
3. Lecturer terdaftar sebagai tenaga pengajar.
4. Lecturer memasukkan nilai matakuliah yang diajar.
Extensions:
UC-SIU-5 get_Info_Room_Classes P1
Students dan Lecturer meminta informasi ruangan kelas
Details
Parent: Layanan Akademik
Primary Actors: Lecturer, Students Supporting Actors:
Preconditions: Info ruangan terdaftar
dalam sistem
Success Guarantee: Info ruangan berhasil
ditampilkan
Level: User Complexity: Low
Use Case Status: Initial Implementation Status: Scheduled
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Students atau Lecturer memasukkan informasi ruangan kelas yang tercatat pada
database layanan akademik.
Extensions:
UC-SIU-6 get_Info_Schedule P1
Lecturer dan Students meminta informasi jadwal kuliah.
Details
Parent: Layanan Akademik
Primary Actors: Lecturer, Students Supporting Actors:
Preconditions: Info jadwal terdaftar
dalam sistem
Success Guarantee: Info jadwal berhasil
ditampilkan
Level: User Complexity: Low
Use Case Status: Initial Implementation Status: Scheduled
Assigned To: Release:
xxvi
Flow of Events
Main Success Scenario:
1. Lecturer dan Students memasukkan kode subject yang benar.
2. Jadwal subjek yang diminta terdapat pada database layanan akademik.
Extensions:
UC-SIU-7 get_Info_Subject P1
Lecturer dan Students meminta informasi suatu subject yang terdaftar pada layanan
akademik.
Details
Parent: Layanan Akademik
Primary Actors: Lecturer, Students Supporting Actors:
Preconditions: Info Subject terdaftar
dalam sistem
Success Guarantee: Info Subject berhasil
ditampilkan
Level: User Complexity: Low
Use Case Status: Initial Implementation Status:
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Lecturer dan Students memasukkan signature kode subject yang benar.
2. Subject terdaftar pada database layanan akademik
Extensions:
UC-SIU-8 get_Info_Attendance P1
Lecturer dan Students meminta informasi status kehadiran disetiap kelas.
Details
Parent: Layanan Akademik
Primary Actors: Lecturer, Students Supporting Actors:
Preconditions: Info kehadiran terdaftar
dalam sistem
Success Guarantee: Info kehadiran
ditampilkan
Level: Complexity:
Use Case Status: Implementation Status:
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Students dan Lecturer memasukkan nim dan atau kode subject yang benar.
xxvii
Flow of Events
Extensions:
UC-SIU-9 get_Students_Grade P1
Students meminta informasi nilai suatu subject yang telah di ambilnya. Lecturer meminta
informasi nilai mahasiswa sesuai dengan matakuliah yang diajarnya.
Details
Parent: Layanan Akademik
Primary Actors: Students Supporting Actors:
Preconditions: Student telah
melakukan autentikasi yang valid
Dosen telah melakukan autentikasi
yang valid
Success Guarantee: Info Grade ditampilkan
Level: User Complexity: Medium
Use Case Status: Initial Implementation Status: Scheduled
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Students dan Lecturer memasukkan nim dan kode subject yang benar.
2. Nilai telah dimasukkan oleh Lecturer
3. Mata kuliah yang diminta telah diambil oleh mahasiswa tersebut.
4. Mata kuliah tersebut diajar oleh dosen yang bersangkutan.
Extensions:
UC-SIU-10 get_Info_Students P1
Lecturer dan Other_Departments meminta informasi mahasiswa. Informasi dapat berupa
sebuah informasi yang spesifik, ataupun query suatu informasi dari data mahasiswa yang
terdapat pada database layanan akademik.
Details
Parent: Layanan Akademik
Primary Actors: Lecturer,
Other_Departments
Supporting Actors:
Preconditions: Student terdaftar dalam
sistem
Success Guarantee: Info student ditampilkan
Level: User Complexity: Low
Use Case Status: Initial Implementation Status: Scheduled
xxviii
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Lecturer dan Other_Departments memasukkan signature informasi yang akan dicari.
2. Informasi mahasiswa terdapat dalam database layanan akademik.
Extensions:
UC-SIU-11 submit_Students_Attendance P1
Lecturer memasukkan status kehadiran setiap matakuliah
Details
Parent: Layanan Akademik
Primary Actors: Lecturer Supporting Actors:
Preconditions: Student terdaftar pada
suatu subject atau event program
Success Guarantee: Tabel kehadiran berhasil
diupdate
Level: User Complexity: Medium
Use Case Status: Initial Implementation Status: Scheduled
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Lecturer memasukkan informasi kehadiran kepada Registrar
2. Registrar mengupdate informasi kehadiran dosen dan mahasiswa
Extensions:
UC-SIU-12 Propose_Subject P1
Dean_of_Faculty membuat daftar subject yang akan diusulkan pada setiap semester
untuk diajarkan atau ditawarkan kepada mahasiswa
Details
Parent: Layanan Akademik
Primary Actors: Dean_of_Faculty,
VP_of_Academic_Affair
Supporting Actors:
Preconditions: Dekan / Ketua jurusan
melakukan valid autentikasi
Success Guarantee: Proposed subject
berhasil dikirim ke academic affair.
Level: User Complexity: Medium
Use Case Status: Initial Implementation Status: Scheduled
Assigned To: Release:
xxix
UC-SIU-13 Manage_Curriculum P1
VP_of_Academic_Affair melakukan manajemen terhadap curriculum yang digunakan di
Universitas Klabat.
Details
Parent: Layanan Akademik
Primary Actors:
VP_of_Academic_Affair
Supporting Actors:
Preconditions: Pembantu rektor bidang
akademik melakukan valid autentikasi
Success Guarantee: kuriculum dapat diakses
oleh mahasiswa.
Level: Complexity:
Use Case Status: Implementation Status:
Assigned To: Release:
xxx
LAMPIRAN C. USE CASES LAYANAN KEUANGAN
Generated by Serlio Software Case Complete
6/23/2008 4:03
UC-SIU-14
get_Students_Balance P1
Layanan untuk mendapatkan informasi balance Students
Details
Parent: Layanan Keuangan Primary Actors: Students Supporting Actors:
Preconditions: Student memiliki ID yang valid
Success Guarantee:
Level: Complexity: Use Case Status: Implementation Status:
Assigned To: Release:
Flow of Events
Main Success Scenario: 1. User memasukkan ID yang valid
2. System mencari ID yang cocok dengan balance Students 3. System memberikan informasi balance.
Extensions:
UC-SIU-15
tuition_Payment P1
Layanan untuk melakukan pembayaran uang kuliah
Details
Parent: Layanan Keuangan Primary Actors: Bank_Institutions,
Cashier, Students, Treasure
Supporting Actors:
Preconditions: Success Guarantee: Level: Complexity:
Use Case Status: Implementation Status: Assigned To: Release:
Flow of Events
Main Success Scenario: 1. Students valid sebagai mahasiswa
2. Students membayar kepada cashier atau Bank_Institutions
xxxi
Flow of Events
3. Students menerima bukti pembayaran
Extensions:
UC-SIU-16
update_Students_Balance P1
Layanan untuk mengupdate students balance
Details
Parent: Layanan Keuangan
Primary Actors: Accountant_Operator
Supporting Actors:
Preconditions: Success Guarantee:
Level: Complexity: Use Case Status: Implementation Status:
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Students valid sebagai mahasiswa. 2. ID valid
3. Students telah melakukan pembayaran. 4. Accountant_Operator memasukkan jumlah pembayaran
5. System mengupdate balance mahasiswa
Extensions:
xxxii
LAMPIRAN D. USE CASES LAYANAN PERPUSTAKAAN
Generated by Serlio Software Case Complete
6/23/2008 4:03
UC-SIU-17
booking_Book P1
Students, Other_Departments, Lecturer dapat melakukan pemesanan buku.
Details
Parent: Layanan Perpustakaan Primary Actors: Lecturer, Lecturer,
Member, Other_Departments, Other_Departments, Students
Supporting Actors:
Preconditions: pengguna melakukan valid autentikasi
Success Guarantee: Pemesanan untuk peminjaman buku tersimpan dalam sistem
Level: User Complexity: Medium Use Case Status: Initial Implementation Status: Scheduled
Assigned To: Release:
Flow of Events
Main Success Scenario: 1. pengguna memasukkan nim dan judul buku yang valid
Extensions:
UC-SIU-18
get_Info_Book P1
Pengguna mencari informasi sebuah buku
Details
Parent: Layanan Perpustakaan Primary Actors: Lecturer, Lecturer,
Member, Other_Departments,
Students
Supporting Actors:
Preconditions: - Success Guarantee: Hasil pencarian
ditampilkan Level: User Complexity: Low
xxxiii
Use Case Status: Initial Implementation Status: Scheduled
Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Pengguna memasukkan item yang akan dicari 2. Pengguna menerima hasil pencarian
Extensions:
UC-SIU-19
get_Info_Charges P1
Pengguna mendapatkan informasi denda
Details
Parent: Layanan Perpustakaan
Primary Actors: Lecturer, Lecturer, Member, Other_Departments,
Other_Departments, Students, Students, Students
Supporting Actors:
Preconditions: Success Guarantee: Level: Complexity:
Use Case Status: Implementation Status: Assigned To: Release:
Flow of Events
Main Success Scenario:
1. Pengguna memasukkan nim yang valid 2.
Extensions:
UC-SIU-20
submit_comments P1
Pengguna memberikan komentar dan saran untuk perpustakaan
Details
Parent: Layanan Perpustakaan Primary Actors: Lecturer, Lecturer,
Other_Departments, Students
Supporting Actors:
Preconditions: Success Guarantee:
xxxv
LAMPIRAN E. PROSES BISNIS LAYANAN AKADEMIK
Proses Bisnis Submit Nilai Mahasiswa
Input Nilai
Mahasiswa
Proses Bisnis Cetak Transkrip
Cetak
Transkrip
Registrar
Dosen
Proses Bisnis Manajemen Jadwal Kuliah
Menerbitkan
Kalender
Jadwal Kuliah
Bagian
Akademik
Proses Bisnis Pendaftaran Mahasiswa Lama
Mahasiswa Lama
Pra-registrasiBayar Uang
Kuliah
Mendaftar
Kuliah
Proses Bisnis Absensi Mahasiswa
Mengisi
Formulir
Absensi Kelas
Memasukkan
Formulir
Absensi ke
Registrar
Registrar
Dosen
Input Absensi
Mahasiswa
Proses Bisnis Pendaftaran Calon Mahasiswa Baru
Calon
Mahasiswa Baru
Membawa
Berkas
Pendaftaran
Mengikuti
Ujian Masuk
Menerima
Hasil Ujian
Masuk
Bayar Uang
Kuliah
Mendaftar
KuliahLulus
Tidak Lulus
xxxvi
LAMPIRAN F. PROSES BISNIS LAYANAN
Proses Bisnis Approve Pendaftaran Mahasiswa
Mahasiswa
Bayar Uang
Kuliah
Update Saldo
Mahasiswa
Keuangan
Mendaftar
Kuliah
Approve
Pembayaran
Mahasiswa
Proses Bisnis Notify Informasi Pembayaran Mahasiswa
Cek Saldo
Mahasiswa
Keuangan
Notify Status
Saldo
xxxvii
Proses Bisnis Pengembalian Buku
User
Menunjukkan ID
Keanggotaan
dan Buku
Operator
Mencatat ID
Peminjam &
Menerima Buku
Membayar
DendaTerlambat
Tidak
Proses Bisnis Pencarian Buku
User
Input Query Hasil Query
Proses Bisnis Pemesanan Buku
User
LoginMengisi Formulir
Pemesanan
Buku
Submit Formulir
Pemesanan
Buku
Proses Bisnis Peminjaman Buku
User
Menunjukkan ID
Keanggotaan
dan Buku
Menerima Buku
Operator
Mencatat ID
Peminjam dan
Informasi Buku
xxxviii
LAMPIRAN G. IMPLEMENTASI KELAS-KELAS LAYANAN
IMPLEMENTASI CLASS STUDENT
package org.unklab.academic.ws;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
*
* @author Stenly Richard Pungus 23506034
*/
@Entity
@Table(name = "student")
@NamedQueries({@NamedQuery(name = "Student.findByStudentId", query =
"SELECT s FROM Student s WHERE s.studentId = :studentId"),
@NamedQuery(name = "Student.findByUid", query = "SELECT s FROM
Student s WHERE s.uid = :uid"), @NamedQuery(name =
"Student.findByRegistrationNo", query = "SELECT s FROM Student s
WHERE s.registrationNo = :registrationNo"), @NamedQuery(name =
"Student.findByName", query = "SELECT s FROM Student s WHERE s.name
= :name"), @NamedQuery(name = "Student.findByGender", query =
"SELECT s FROM Student s WHERE s.gender = :gender"),
@NamedQuery(name = "Student.findByNationality", query = "SELECT s
FROM Student s WHERE s.nationality = :nationality"),
@NamedQuery(name = "Student.findByReligion", query = "SELECT s FROM
Student s WHERE s.religion = :religion"), @NamedQuery(name =
"Student.findByRace", query = "SELECT s FROM Student s WHERE s.race
= :race"), @NamedQuery(name = "Student.findByEmailAddress", query =
"SELECT s FROM Student s WHERE s.emailAddress = :emailAddress"),
@NamedQuery(name = "Student.findByOriginatedTransferedSchool", query
= "SELECT s FROM Student s WHERE s.originatedTransferedSchool =
:originatedTransferedSchool"), @NamedQuery(name =
"Student.findByOriginatedSchool", query = "SELECT s FROM Student s
WHERE s.originatedSchool = :originatedSchool"), @NamedQuery(name =
"Student.findByOriginatedSchoolReligion", query = "SELECT s FROM
Student s WHERE s.originatedSchoolReligion =
:originatedSchoolReligion"), @NamedQuery(name =
"Student.findByOriginatedSchoolType", query = "SELECT s FROM Student
xxxix
s WHERE s.originatedSchoolType = :originatedSchoolType"),
@NamedQuery(name = "Student.findByPlaceOfBirth", query = "SELECT s
FROM Student s WHERE s.placeOfBirth = :placeOfBirth"),
@NamedQuery(name = "Student.findByDateOfBirth", query = "SELECT s
FROM Student s WHERE s.dateOfBirth = :dateOfBirth"),
@NamedQuery(name = "Student.findByMaritalStatus", query = "SELECT s
FROM Student s WHERE s.maritalStatus = :maritalStatus"),
@NamedQuery(name = "Student.findByRegistrationTimestamp", query =
"SELECT s FROM Student s WHERE s.registrationTimestamp =
:registrationTimestamp"), @NamedQuery(name =
"Student.findByGraduationTimestamp", query = "SELECT s FROM Student
s WHERE s.graduationTimestamp = :graduationTimestamp"),
@NamedQuery(name = "Student.findByYearOfStudylimit", query = "SELECT
s FROM Student s WHERE s.yearOfStudylimit = :yearOfStudylimit"),
@NamedQuery(name = "Student.findByOriginatedProvince", query =
"SELECT s FROM Student s WHERE s.originatedProvince =
:originatedProvince"), @NamedQuery(name =
"Student.findByPlacementtestEnglish", query = "SELECT s FROM Student
s WHERE s.placementtestEnglish = :placementtestEnglish"),
@NamedQuery(name = "Student.findByPlacementtestMath", query =
"SELECT s FROM Student s WHERE s.placementtestMath =
:placementtestMath"), @NamedQuery(name =
"Student.findByRegistrationStatus", query = "SELECT s FROM Student s
WHERE s.registrationStatus = :registrationStatus"), @NamedQuery(name
= "Student.findByRecognizedTransferedCredit", query = "SELECT s FROM
Student s WHERE s.recognizedTransferedCredit =
:recognizedTransferedCredit"), @NamedQuery(name =
"Student.findByActivityStatus", query = "SELECT s FROM Student s
WHERE s.activityStatus = :activityStatus"), @NamedQuery(name =
"Student.findByMinorId", query = "SELECT s FROM Student s WHERE
s.minorId = :minorId"), @NamedQuery(name =
"Student.findByDocumentCompletedDate", query = "SELECT s FROM
Student s WHERE s.documentCompletedDate = :documentCompletedDate"),
@NamedQuery(name = "Student.findByDormStatus", query = "SELECT s
FROM Student s WHERE s.dormStatus = :dormStatus"), @NamedQuery(name
= "Student.findByLaborId", query = "SELECT s FROM Student s WHERE
s.laborId = :laborId"), @NamedQuery(name =
"Student.findByProbationId", query = "SELECT s FROM Student s WHERE
s.probationId = :probationId"), @NamedQuery(name =
"Student.findByViolationPoint", query = "SELECT s FROM Student s
WHERE s.violationPoint = :violationPoint"), @NamedQuery(name =
"Student.findByAccountBalance", query = "SELECT s FROM Student s
WHERE s.accountBalance = :accountBalance"), @NamedQuery(name =
"Student.findByCreditAchieved", query = "SELECT s FROM Student s
WHERE s.creditAchieved = :creditAchieved"), @NamedQuery(name =
"Student.findByMajorGpa", query = "SELECT s FROM Student s WHERE
s.majorGpa = :majorGpa"), @NamedQuery(name =
"Student.findByMinorGpa", query = "SELECT s FROM Student s WHERE
s.minorGpa = :minorGpa"), @NamedQuery(name =
"Student.findByAccumulatedGpa", query = "SELECT s FROM Student s
WHERE s.accumulatedGpa = :accumulatedGpa"), @NamedQuery(name =
"Student.findByLastGpa", query = "SELECT s FROM Student s WHERE
xl
s.lastGpa = :lastGpa"), @NamedQuery(name =
"Student.findByCurriculumId", query = "SELECT s FROM Student s WHERE
s.curriculumId = :curriculumId"), @NamedQuery(name =
"Student.findByGuardianType", query = "SELECT s FROM Student s WHERE
s.guardianType = :guardianType"), @NamedQuery(name =
"Student.findByGuardianName", query = "SELECT s FROM Student s WHERE
s.guardianName = :guardianName"), @NamedQuery(name =
"Student.findByGuardianReligion", query = "SELECT s FROM Student s
WHERE s.guardianReligion = :guardianReligion"), @NamedQuery(name =
"Student.findByGuardianOccupation", query = "SELECT s FROM Student s
WHERE s.guardianOccupation = :guardianOccupation"), @NamedQuery(name
= "Student.findByGuardianAddress", query = "SELECT s FROM Student s
WHERE s.guardianAddress = :guardianAddress"), @NamedQuery(name =
"Student.findByGuardianPhone", query = "SELECT s FROM Student s
WHERE s.guardianPhone = :guardianPhone"), @NamedQuery(name =
"Student.findByRegistrationApproved", query = "SELECT s FROM Student
s WHERE s.registrationApproved = :registrationApproved"),
@NamedQuery(name = "Student.findByHighSchoolGrade", query = "SELECT
s FROM Student s WHERE s.highSchoolGrade = :highSchoolGrade")})
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "STUDENT_ID", nullable = false)
private Integer studentId;
@Column(name = "UID", nullable = false)
private int uid;
@Column(name = "REGISTRATION_NO")
private String registrationNo;
@Column(name = "NAME")
private String name;
@Column(name = "GENDER")
private Integer gender;
@Column(name = "NATIONALITY")
private Integer nationality;
@Column(name = "RELIGION")
private Integer religion;
@Column(name = "RACE")
private String race;
@Column(name = "EMAIL_ADDRESS")
private String emailAddress;
@Column(name = "ORIGINATED_TRANSFERED_SCHOOL")
private String originatedTransferedSchool;
@Column(name = "ORIGINATED_SCHOOL")
private String originatedSchool;
@Column(name = "ORIGINATED_SCHOOL_RELIGION")
private Integer originatedSchoolReligion;
@Column(name = "ORIGINATED_SCHOOL_TYPE")
private Integer originatedSchoolType;
@Column(name = "PLACE_OF_BIRTH")
private String placeOfBirth;
@Column(name = "DATE_OF_BIRTH")
private String dateOfBirth;
xli
@Column(name = "MARITAL_STATUS")
private Integer maritalStatus;
@Lob
@Column(name = "PHOTOGRAPH")
private byte[] photograph;
@Column(name = "REGISTRATION_TIMESTAMP")
@Temporal(TemporalType.DATE)
private Date registrationTimestamp;
@Column(name = "GRADUATION_TIMESTAMP")
@Temporal(TemporalType.DATE)
private Date graduationTimestamp;
@Column(name = "YEAR_OF_STUDYLIMIT")
private Integer yearOfStudylimit;
@Column(name = "ORIGINATED_PROVINCE")
private Integer originatedProvince;
@Column(name = "PLACEMENTTEST_ENGLISH")
private Integer placementtestEnglish;
@Column(name = "PLACEMENTTEST_MATH")
private Integer placementtestMath;
@Column(name = "REGISTRATION_STATUS")
private Integer registrationStatus;
@Column(name = "RECOGNIZED_TRANSFERED_CREDIT")
private Integer recognizedTransferedCredit;
@Column(name = "ACTIVITY_STATUS")
private Integer activityStatus;
@Column(name = "MINOR_ID")
private Integer minorId;
@Column(name = "DOCUMENT_COMPLETED_DATE")
@Temporal(TemporalType.DATE)
private Date documentCompletedDate;
@Column(name = "DORM_STATUS")
private Integer dormStatus;
@Column(name = "LABOR_ID")
private Integer laborId;
@Column(name = "PROBATION_ID")
private Integer probationId;
@Column(name = "VIOLATION_POINT")
private Integer violationPoint;
@Column(name = "ACCOUNT_BALANCE")
private Integer accountBalance;
@Column(name = "CREDIT_ACHIEVED")
private Integer creditAchieved;
@Column(name = "MAJOR_GPA")
private BigDecimal majorGpa;
@Column(name = "MINOR_GPA")
private BigDecimal minorGpa;
@Column(name = "ACCUMULATED_GPA")
private BigDecimal accumulatedGpa;
@Column(name = "LAST_GPA")
private BigDecimal lastGpa;
@Column(name = "CURRICULUM_ID")
private Integer curriculumId;
xlii
@Column(name = "GUARDIAN_TYPE")
private Integer guardianType;
@Column(name = "GUARDIAN_NAME")
private String guardianName;
@Column(name = "GUARDIAN_RELIGION")
private Integer guardianReligion;
@Column(name = "GUARDIAN_OCCUPATION")
private String guardianOccupation;
@Column(name = "GUARDIAN_ADDRESS")
private String guardianAddress;
@Column(name = "GUARDIAN_PHONE")
private String guardianPhone;
@Column(name = "REGISTRATION_APPROVED")
private Integer registrationApproved;
@Column(name = "HIGH_SCHOOL_GRADE")
private BigDecimal highSchoolGrade;
public Student() {
}
public Student(Integer studentId) {
this.studentId = studentId;
}
public Student(Integer studentId, int uid) {
this.studentId = studentId;
this.uid = uid;
}
public Integer getStudentId() {
return studentId;
}
public void setStudentId(Integer studentId) {
this.studentId = studentId;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getRegistrationNo() {
return registrationNo;
}
public void setRegistrationNo(String registrationNo) {
this.registrationNo = registrationNo;
}
xliii
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getGender() {
return gender;
}
public void setGender(Integer gender) {
this.gender = gender;
}
public Integer getNationality() {
return nationality;
}
public void setNationality(Integer nationality) {
this.nationality = nationality;
}
public Integer getReligion() {
return religion;
}
public void setReligion(Integer religion) {
this.religion = religion;
}
public String getRace() {
return race;
}
public void setRace(String race) {
this.race = race;
}
public String getEmailAddress() {
return emailAddress;
}
public void setEmailAddress(String emailAddress) {
this.emailAddress = emailAddress;
}
public String getOriginatedTransferedSchool() {
return originatedTransferedSchool;
}
xliv
public void setOriginatedTransferedSchool(String
originatedTransferedSchool) {
this.originatedTransferedSchool =
originatedTransferedSchool;
}
public String getOriginatedSchool() {
return originatedSchool;
}
public void setOriginatedSchool(String originatedSchool) {
this.originatedSchool = originatedSchool;
}
public Integer getOriginatedSchoolReligion() {
return originatedSchoolReligion;
}
public void setOriginatedSchoolReligion(Integer
originatedSchoolReligion) {
this.originatedSchoolReligion = originatedSchoolReligion;
}
public Integer getOriginatedSchoolType() {
return originatedSchoolType;
}
public void setOriginatedSchoolType(Integer
originatedSchoolType) {
this.originatedSchoolType = originatedSchoolType;
}
public String getPlaceOfBirth() {
return placeOfBirth;
}
public void setPlaceOfBirth(String placeOfBirth) {
this.placeOfBirth = placeOfBirth;
}
public String getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(String dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public Integer getMaritalStatus() {
return maritalStatus;
}
xlv
public void setMaritalStatus(Integer maritalStatus) {
this.maritalStatus = maritalStatus;
}
public byte[] getPhotograph() {
return photograph;
}
public void setPhotograph(byte[] photograph) {
this.photograph = photograph;
}
public Date getRegistrationTimestamp() {
return registrationTimestamp;
}
public void setRegistrationTimestamp(Date registrationTimestamp)
{
this.registrationTimestamp = registrationTimestamp;
}
public Date getGraduationTimestamp() {
return graduationTimestamp;
}
public void setGraduationTimestamp(Date graduationTimestamp) {
this.graduationTimestamp = graduationTimestamp;
}
public Integer getYearOfStudylimit() {
return yearOfStudylimit;
}
public void setYearOfStudylimit(Integer yearOfStudylimit) {
this.yearOfStudylimit = yearOfStudylimit;
}
public Integer getOriginatedProvince() {
return originatedProvince;
}
public void setOriginatedProvince(Integer originatedProvince) {
this.originatedProvince = originatedProvince;
}
public Integer getPlacementtestEnglish() {
return placementtestEnglish;
}
public void setPlacementtestEnglish(Integer
placementtestEnglish) {
xlvi
this.placementtestEnglish = placementtestEnglish;
}
public Integer getPlacementtestMath() {
return placementtestMath;
}
public void setPlacementtestMath(Integer placementtestMath) {
this.placementtestMath = placementtestMath;
}
public Integer getRegistrationStatus() {
return registrationStatus;
}
public void setRegistrationStatus(Integer registrationStatus) {
this.registrationStatus = registrationStatus;
}
public Integer getRecognizedTransferedCredit() {
return recognizedTransferedCredit;
}
public void setRecognizedTransferedCredit(Integer
recognizedTransferedCredit) {
this.recognizedTransferedCredit =
recognizedTransferedCredit;
}
public Integer getActivityStatus() {
return activityStatus;
}
public void setActivityStatus(Integer activityStatus) {
this.activityStatus = activityStatus;
}
public Integer getMinorId() {
return minorId;
}
public void setMinorId(Integer minorId) {
this.minorId = minorId;
}
public Date getDocumentCompletedDate() {
return documentCompletedDate;
}
public void setDocumentCompletedDate(Date documentCompletedDate)
{
this.documentCompletedDate = documentCompletedDate;
xlvii
}
public Integer getDormStatus() {
return dormStatus;
}
public void setDormStatus(Integer dormStatus) {
this.dormStatus = dormStatus;
}
public Integer getLaborId() {
return laborId;
}
public void setLaborId(Integer laborId) {
this.laborId = laborId;
}
public Integer getProbationId() {
return probationId;
}
public void setProbationId(Integer probationId) {
this.probationId = probationId;
}
public Integer getViolationPoint() {
return violationPoint;
}
public void setViolationPoint(Integer violationPoint) {
this.violationPoint = violationPoint;
}
public Integer getAccountBalance() {
return accountBalance;
}
public void setAccountBalance(Integer accountBalance) {
this.accountBalance = accountBalance;
}
public Integer getCreditAchieved() {
return creditAchieved;
}
public void setCreditAchieved(Integer creditAchieved) {
this.creditAchieved = creditAchieved;
}
public BigDecimal getMajorGpa() {
return majorGpa;
xlviii
}
public void setMajorGpa(BigDecimal majorGpa) {
this.majorGpa = majorGpa;
}
public BigDecimal getMinorGpa() {
return minorGpa;
}
public void setMinorGpa(BigDecimal minorGpa) {
this.minorGpa = minorGpa;
}
public BigDecimal getAccumulatedGpa() {
return accumulatedGpa;
}
public void setAccumulatedGpa(BigDecimal accumulatedGpa) {
this.accumulatedGpa = accumulatedGpa;
}
public BigDecimal getLastGpa() {
return lastGpa;
}
public void setLastGpa(BigDecimal lastGpa) {
this.lastGpa = lastGpa;
}
public Integer getCurriculumId() {
return curriculumId;
}
public void setCurriculumId(Integer curriculumId) {
this.curriculumId = curriculumId;
}
public Integer getGuardianType() {
return guardianType;
}
public void setGuardianType(Integer guardianType) {
this.guardianType = guardianType;
}
public String getGuardianName() {
return guardianName;
}
public void setGuardianName(String guardianName) {
this.guardianName = guardianName;
xlix
}
public Integer getGuardianReligion() {
return guardianReligion;
}
public void setGuardianReligion(Integer guardianReligion) {
this.guardianReligion = guardianReligion;
}
public String getGuardianOccupation() {
return guardianOccupation;
}
public void setGuardianOccupation(String guardianOccupation) {
this.guardianOccupation = guardianOccupation;
}
public String getGuardianAddress() {
return guardianAddress;
}
public void setGuardianAddress(String guardianAddress) {
this.guardianAddress = guardianAddress;
}
public String getGuardianPhone() {
return guardianPhone;
}
public void setGuardianPhone(String guardianPhone) {
this.guardianPhone = guardianPhone;
}
public Integer getRegistrationApproved() {
return registrationApproved;
}
public void setRegistrationApproved(Integer
registrationApproved) {
this.registrationApproved = registrationApproved;
}
public BigDecimal getHighSchoolGrade() {
return highSchoolGrade;
}
public void setHighSchoolGrade(BigDecimal highSchoolGrade) {
this.highSchoolGrade = highSchoolGrade;
}
@Override
l
public int hashCode() {
int hash = 0;
hash += (studentId != null ? studentId.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id
fields are not set
if (!(object instanceof Student)) {
return false;
}
Student other = (Student) object;
if ((this.studentId == null && other.studentId != null) ||
(this.studentId != null && !this.studentId.equals(other.studentId)))
{
return false;
}
return true;
}
@Override
public String toString() {
return "org.unklab.academic.ws.Student[studentId=" +
studentId + "]";
}
}
IMPLEMENTASI CLASS EMPLOYEE
package org.unklab.academic.ws;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
*
* @author Stenly R. Pungus 23506034
li
*/
@Entity
@Table(name = "employee")
@NamedQueries({@NamedQuery(name = "Employee.findByEmployeeId",
query = "SELECT e FROM Employee e WHERE e.employeeId =
:employeeId"), @NamedQuery(name = "Employee.findByCitizenId",
query = "SELECT e FROM Employee e WHERE e.citizenId =
:citizenId"), @NamedQuery(name = "Employee.findByFirstName",
query = "SELECT e FROM Employee e WHERE e.firstName =
:firstName"), @NamedQuery(name = "Employee.findByMiddleName",
query = "SELECT e FROM Employee e WHERE e.middleName =
:middleName"), @NamedQuery(name = "Employee.findByLastName",
query = "SELECT e FROM Employee e WHERE e.lastName =
:lastName"), @NamedQuery(name = "Employee.findByPlaceOfBirth",
query = "SELECT e FROM Employee e WHERE e.placeOfBirth =
:placeOfBirth"), @NamedQuery(name =
"Employee.findByDateOfBirth", query = "SELECT e FROM Employee
e WHERE e.dateOfBirth = :dateOfBirth"), @NamedQuery(name =
"Employee.findByEmailAddress", query = "SELECT e FROM Employee
e WHERE e.emailAddress = :emailAddress"), @NamedQuery(name =
"Employee.findByGender", query = "SELECT e FROM Employee e
WHERE e.gender = :gender"), @NamedQuery(name =
"Employee.findByMaritalStatus", query = "SELECT e FROM
Employee e WHERE e.maritalStatus = :maritalStatus"),
@NamedQuery(name = "Employee.findByReligion", query = "SELECT
e FROM Employee e WHERE e.religion = :religion"),
@NamedQuery(name = "Employee.findByEmploymentStatus", query =
"SELECT e FROM Employee e WHERE e.employmentStatus =
:employmentStatus"), @NamedQuery(name =
"Employee.findByRecruitedDate", query = "SELECT e FROM
Employee e WHERE e.recruitedDate = :recruitedDate"),
@NamedQuery(name = "Employee.findBySchoolId", query = "SELECT
e FROM Employee e WHERE e.schoolId = :schoolId"),
@NamedQuery(name = "Employee.findByRank", query = "SELECT e
FROM Employee e WHERE e.rank = :rank"), @NamedQuery(name =
"Employee.findByPosition", query = "SELECT e FROM Employee e
WHERE e.position = :position"), @NamedQuery(name =
"Employee.findByEducation", query = "SELECT e FROM Employee e
WHERE e.education = :education"), @NamedQuery(name =
"Employee.findByUid", query = "SELECT e FROM Employee e WHERE
e.uid = :uid")})
public class Employee implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "EMPLOYEE_ID", nullable = false)
private Integer employeeId;
@Column(name = "CITIZEN_ID")
lii
private String citizenId;
@Column(name = "FIRST_NAME")
private String firstName;
@Column(name = "MIDDLE_NAME")
private String middleName;
@Column(name = "LAST_NAME")
private String lastName;
@Column(name = "PLACE_OF_BIRTH")
private String placeOfBirth;
@Column(name = "DATE_OF_BIRTH")
private String dateOfBirth;
@Column(name = "EMAIL_ADDRESS")
private String emailAddress;
@Column(name = "GENDER", nullable = false)
private int gender;
@Column(name = "MARITAL_STATUS", nullable = false)
private int maritalStatus;
@Column(name = "RELIGION", nullable = false)
private int religion;
@Column(name = "EMPLOYMENT_STATUS", nullable = false)
private int employmentStatus;
@Column(name = "RECRUITED_DATE")
@Temporal(TemporalType.DATE)
private Date recruitedDate;
@Column(name = "SCHOOL_ID", nullable = false)
private int schoolId;
@Column(name = "RANK", nullable = false)
private int rank;
@Column(name = "POSITION", nullable = false)
private int position;
@Column(name = "EDUCATION", nullable = false)
private int education;
@Column(name = "UID", nullable = false)
private int uid;
public Employee() {
}
public Employee(Integer employeeId) {
this.employeeId = employeeId;
}
public Employee(Integer employeeId, int gender, int
maritalStatus, int religion, int employmentStatus, int
schoolId, int rank, int position, int education, int uid) {
this.employeeId = employeeId;
this.gender = gender;
liii
this.maritalStatus = maritalStatus;
this.religion = religion;
this.employmentStatus = employmentStatus;
this.schoolId = schoolId;
this.rank = rank;
this.position = position;
this.education = education;
this.uid = uid;
}
public Integer getEmployeeId() {
return employeeId;
}
public void setEmployeeId(Integer employeeId) {
this.employeeId = employeeId;
}
public String getCitizenId() {
return citizenId;
}
public void setCitizenId(String citizenId) {
this.citizenId = citizenId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getMiddleName() {
return middleName;
}
public void setMiddleName(String middleName) {
this.middleName = middleName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
liv
this.lastName = lastName;
}
public String getPlaceOfBirth() {
return placeOfBirth;
}
public void setPlaceOfBirth(String placeOfBirth) {
this.placeOfBirth = placeOfBirth;
}
public String getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(String dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public String getEmailAddress() {
return emailAddress;
}
public void setEmailAddress(String emailAddress) {
this.emailAddress = emailAddress;
}
public int getGender() {
return gender;
}
public void setGender(int gender) {
this.gender = gender;
}
public int getMaritalStatus() {
return maritalStatus;
}
public void setMaritalStatus(int maritalStatus) {
this.maritalStatus = maritalStatus;
}
public int getReligion() {
return religion;
}
lv
public void setReligion(int religion) {
this.religion = religion;
}
public int getEmploymentStatus() {
return employmentStatus;
}
public void setEmploymentStatus(int employmentStatus) {
this.employmentStatus = employmentStatus;
}
public Date getRecruitedDate() {
return recruitedDate;
}
public void setRecruitedDate(Date recruitedDate) {
this.recruitedDate = recruitedDate;
}
public int getSchoolId() {
return schoolId;
}
public void setSchoolId(int schoolId) {
this.schoolId = schoolId;
}
public int getRank() {
return rank;
}
public void setRank(int rank) {
this.rank = rank;
}
public int getPosition() {
return position;
}
public void setPosition(int position) {
this.position = position;
}
public int getEducation() {
return education;
}
lvi
public void setEducation(int education) {
this.education = education;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
@Override
public int hashCode() {
int hash = 0;
hash += (employeeId != null ? employeeId.hashCode() :
0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case
the id fields are not set
if (!(object instanceof Employee)) {
return false;
}
Employee other = (Employee) object;
if ((this.employeeId == null && other.employeeId !=
null) || (this.employeeId != null &&
!this.employeeId.equals(other.employeeId))) {
return false;
}
return true;
}
@Override
public String toString() {
return "org.unklab.academic.ws.Employee[employeeId=" +
employeeId + "]";
}
}
IMPLEMENTASI CLASSABSENCE
lvii
package org.unklab.academic;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
*
* @author steps
*/
@Entity
@Table(name = "class_absence")
@NamedQueries({@NamedQuery(name =
"ClassAbsence.findBySubjectclassId", query = "SELECT c FROM
ClassAbsence c WHERE c.classAbsencePK.subjectclassId =
:subjectclassId"), @NamedQuery(name =
"ClassAbsence.findByAbsenceTimestamp", query = "SELECT c FROM
ClassAbsence c WHERE c.classAbsencePK.absenceTimestamp =
:absenceTimestamp"), @NamedQuery(name =
"ClassAbsence.findByStudentId", query = "SELECT c FROM ClassAbsence
c WHERE c.classAbsencePK.studentId = :studentId")})
public class ClassAbsence implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected ClassAbsencePK classAbsencePK;
public ClassAbsence() {
}
public ClassAbsence(ClassAbsencePK classAbsencePK) {
this.classAbsencePK = classAbsencePK;
}
public ClassAbsence(int subjectclassId, Date absenceTimestamp,
int studentId) {
this.classAbsencePK = new ClassAbsencePK(subjectclassId,
absenceTimestamp, studentId);
}
public ClassAbsencePK getClassAbsencePK() {
return classAbsencePK;
}
public void setClassAbsencePK(ClassAbsencePK classAbsencePK) {
this.classAbsencePK = classAbsencePK;
}
@Override
lviii
public int hashCode() {
int hash = 0;
hash += (classAbsencePK != null ? classAbsencePK.hashCode()
: 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id
fields are not set
if (!(object instanceof ClassAbsence)) {
return false;
}
ClassAbsence other = (ClassAbsence) object;
if ((this.classAbsencePK == null && other.classAbsencePK !=
null) || (this.classAbsencePK != null &&
!this.classAbsencePK.equals(other.classAbsencePK))) {
return false;
}
return true;
}
@Override
public String toString() {
return "org.unklab.academic.ClassAbsence[classAbsencePK=" +
classAbsencePK + "]";
}
}
package org.unklab.academic;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
*
* @author steps
*/
@Embeddable
public class ClassAbsencePK implements Serializable {
@Column(name = "SUBJECTCLASS_ID", nullable = false)
private int subjectclassId;
@Column(name = "ABSENCE_TIMESTAMP", nullable = false)
@Temporal(TemporalType.DATE)
private Date absenceTimestamp;
lix
@Column(name = "STUDENT_ID", nullable = false)
private int studentId;
public ClassAbsencePK() {
}
public ClassAbsencePK(int subjectclassId, Date absenceTimestamp,
int studentId) {
this.subjectclassId = subjectclassId;
this.absenceTimestamp = absenceTimestamp;
this.studentId = studentId;
}
public int getSubjectclassId() {
return subjectclassId;
}
public void setSubjectclassId(int subjectclassId) {
this.subjectclassId = subjectclassId;
}
public Date getAbsenceTimestamp() {
return absenceTimestamp;
}
public void setAbsenceTimestamp(Date absenceTimestamp) {
this.absenceTimestamp = absenceTimestamp;
}
public int getStudentId() {
return studentId;
}
public void setStudentId(int studentId) {
this.studentId = studentId;
}
@Override
public int hashCode() {
int hash = 0;
hash += (int) subjectclassId;
hash += (absenceTimestamp != null ?
absenceTimestamp.hashCode() : 0);
hash += (int) studentId;
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id
fields are not set
if (!(object instanceof ClassAbsencePK)) {
lx
return false;
}
ClassAbsencePK other = (ClassAbsencePK) object;
if (this.subjectclassId != other.subjectclassId) {
return false;
}
if ((this.absenceTimestamp == null && other.absenceTimestamp
!= null) || (this.absenceTimestamp != null &&
!this.absenceTimestamp.equals(other.absenceTimestamp))) {
return false;
}
if (this.studentId != other.studentId) {
return false;
}
return true;
}
@Override
public String toString() {
return "org.unklab.academic.ClassAbsencePK[subjectclassId="
+ subjectclassId + ", absenceTimestamp=" + absenceTimestamp + ",
studentId=" + studentId + "]";
}
}
IMPLEMENTASI CLASS SUBJECT
package org.unklab.academic;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
*
* @author steps
*/
@Entity
@Table(name = "subject")
@NamedQueries({@NamedQuery(name = "Subject.findBySubjectId", query =
"SELECT s FROM Subject s WHERE s.subjectId = :subjectId"),
@NamedQuery(name = "Subject.findBySubjectCode", query = "SELECT s
FROM Subject s WHERE s.subjectCode = :subjectCode"),
@NamedQuery(name = "Subject.findBySubjectName", query = "SELECT s
FROM Subject s WHERE s.subjectName = :subjectName"),
lxi
@NamedQuery(name = "Subject.findBySubjectIndName", query = "SELECT s
FROM Subject s WHERE s.subjectIndName = :subjectIndName")})
public class Subject implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "SUBJECT_ID", nullable = false)
private Integer subjectId;
@Column(name = "SUBJECT_CODE")
private String subjectCode;
@Column(name = "SUBJECT_NAME")
private String subjectName;
@Column(name = "SUBJECT_IND_NAME")
private String subjectIndName;
public Subject() {
}
public Subject(Integer subjectId) {
this.subjectId = subjectId;
}
public Integer getSubjectId() {
return subjectId;
}
public void setSubjectId(Integer subjectId) {
this.subjectId = subjectId;
}
public String getSubjectCode() {
return subjectCode;
}
public void setSubjectCode(String subjectCode) {
this.subjectCode = subjectCode;
}
public String getSubjectName() {
return subjectName;
}
public void setSubjectName(String subjectName) {
this.subjectName = subjectName;
}
public String getSubjectIndName() {
return subjectIndName;
}
public void setSubjectIndName(String subjectIndName) {
this.subjectIndName = subjectIndName;
}
lxii
@Override
public int hashCode() {
int hash = 0;
hash += (subjectId != null ? subjectId.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id
fields are not set
if (!(object instanceof Subject)) {
return false;
}
Subject other = (Subject) object;
if ((this.subjectId == null && other.subjectId != null) ||
(this.subjectId != null && !this.subjectId.equals(other.subjectId)))
{
return false;
}
return true;
}
@Override
public String toString() {
return "org.unklab.academic.Subject[subjectId=" + subjectId
+ "]";
}
}
IMPLEMENTASI CLASS GETINFOLECTURER
package org.unklab.academic.ws;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author S.Pungus
*/
@WebService()
public class GetInfoLecturer {
@PersistenceContext
lxiii
EntityManager emGIL;
EntityManager em;
List<org.unklab.academic.ws.Employee> listEmployee;
/**
* Web service operation
*/
@WebMethod(operationName = "getListLecturer")
public String getListLecturer() {
//TODO write your implementation code here:
List<Employee> list = emGIL.createQuery("SELECT e FROM
Employee e").getResultList();
String result = "";
for (Employee e : list) {
result += e.getFirstName() + " " + e.getLastName() + "#"
+ e.getEmailAddress() + "#" + e.getDateOfBirth() + ":";
}
return result;
}
/**
* Web service operation
*/
@WebMethod(operationName = "getLecturerHTML")
public String getLecturerHTML(
@WebParam(name = "aString") String aString) {
//TODO write your implementation code here:
String query = "SELECT e " +
"FROM Employee e " +
"WHERE e.firstName LIKE '%" + aString + "%'" +
"OR e.lastName LIKE '%" + aString + "%'";
List<Employee> list =
emGIL.createQuery(query).getResultList();
String result = "";
for ( Employee e : list) {
result += "<tr><td>" + e.getFirstName() + " " +
e.getLastName() + "</td><td>" + e.getEmailAddress() + "</td><td>" +
e.getDateOfBirth() + "</td>";
}
return "<table
border=2><tr><td>Name</td><td>Email</td><td>DOB</td></tr>" + result
+ "</table>";
}
/**
* Web service operation
*/
@WebMethod(operationName = "getLecturerString")
lxiv
public String getLecturerString(
@WebParam(name = "aString") String aString) {
//TODO write your implementation code here:
String query = "SELECT e " +
"FROM Employee e " +
"WHERE e.firstName LIKE '%" + aString + "%'" +
"OR e.lastName LIKE '%" + aString + "%'";
List<Employee> list =
emGIL.createQuery(query).getResultList();
String result = "";
for ( Employee e : list) {
result += e.getFirstName() + " " + e.getLastName() + "#"
+ e.getEmailAddress() + "#" + e.getDateOfBirth() + ":";
}
return result;
}
/**
* Web service operation
*/
@WebMethod(operationName = "getListLecturerHTML")
public String getListLecturerHTML() {
//TODO write your implementation code here:
String query = "SELECT e FROM Employee e";
List<Employee> list =
emGIL.createQuery(query).getResultList();
String result = "";
for (Employee e : list) {
result += "<tr><td>" + e.getFirstName() + " " +
e.getLastName() + "</td><td>" + e.getEmailAddress() + "</td><td>" +
e.getDateOfBirth() + "</td>";
}
return "<table
border=2><tr><td>Name</td><td>Email</td><td>DOB</td></tr>" + result
+ "</table>";
}
}
IMPLEMENTASI CLASS REGISTRATIONSTATUS
package org.unklab.academic.ws;
import java.util.Collection;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.management.Query;
lxv
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author S.Pungus
*/
@WebService()
public class RegistrationStatus {
@PersistenceContext
EntityManager em, em2;
/**
* Web service operation
*/
@WebMethod(operationName = "getRegistrationStatus")
public String getRegistrationStatus(
@WebParam(name = "auid") String auid) {
//TODO write your implementation code here:
String msgrg = null;
try {
//String userID = "";
//Object result = em.createQuery("SELECT u.uid FROM
Users u WHERE u.userId LIKE :userId").setParameter("userId",
auid).getSingleResult();
Object result = em.createQuery("SELECT u.uid FROM Users
u WHERE u.userId=:uid").setParameter("uid", auid).getSingleResult();
String res1 = "";
String res2 = "";
res1 = res1.concat(result.toString());
List result2 = (List) em.createNativeQuery("SELECT
s.STUDENT_ID FROM Student s WHERE s.uid=" + res1 +
"").getSingleResult();
res2 = res2.concat(result2.get(0).toString()); // Get
Single Object at index 0
Student s = em.find(Student.class,
Integer.parseInt(res2));
return "Name: " + s.getName() +
". Registration Status: " +
cekStatus(s.getRegistrationStatus());
// return "Name: " + grs.getName() + ". Status Pendaftaran:
" + cekStatus(grs.getRegistrationStatus());
} catch ( Exception ex) {
return "" + ex.getMessage();
lxvi
}
}
private String cekStatus(int x) {
String s = null;
if (x == 1) {
s = "Waiting";
} else if (x == 2) {
s = "Approved by Student Account";
} else if (x == 3) {
s = "Rejected";
} else if (x == 4) {
s = "Approved by Dean";
}
return s;
}
}
IMPLEMENTASI CLASS GETINFOSTUDENT
package org.unklab.academic.ws;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author steps
*/
@WebService()
public class GetInfoStudent {
@PersistenceContext
EntityManager emGIS, emGISHTML;
/**
* Web service operation
*/
@WebMethod(operationName = "getInfoStudent")
public String getInfoStudent(
@WebParam(name = "aString") String aString) {
//TODO write your implementation code here:
String result = "";
String strquery = "SELECT s FROM Student s WHERE s.name LIKE
'%" + aString + "%'";
lxvii
List<Student> list =
emGIS.createQuery(strquery).getResultList();
for ( Student s : list) {
result += s.getName() + ":" + s.getGender() + ":" +
s.getReligion() + ":" + s.getEmailAddress() +
":" + s.getPlaceOfBirth() + ":" +
s.getDateOfBirth() + ":" + s.getMaritalStatus() +
":" + s.getRegistrationStatus() + ":" +
s.getCreditAchieved() + ":" + s.getMajorGpa() +
":" + s.getMinorGpa() + ":" +
s.getAccumulatedGpa() + ":" + s.getLastGpa().toString() +
":" + s.getGuardianName() + ":" +
s.getGuardianAddress() + ":" + s.getGuardianPhone() + "#";
}
return result;
}
/**
* Web service operation
*/
@WebMethod(operationName = "getInfoStudentHTML")
public String getInfoStudentHTML(
@WebParam(name = "aString") String aString) {
//TODO write your implementation code here:
String result = "";
String headertblHTML =
"<tr>" +
"<td>NAME</td>" +
"<td>GENDER</td>" +
"<td>RELIGION</td>" +
"<td>EMAIL_ADDRESS</td" +
"<td>PLACE OF BIRTH</td>" +
"<td>DATE OF BIRTH</td>" +
"<td>MARITAL STATUS</td>" +
"<td>REGISTRATION STATUS</td>" +
"<td>CREDIT ACHIEVED</td>" +
"<td>MAJOR GPA</TD>" +
"<TD>MINOR GPA</TD>" +
"<TD>ACCUMULATED GPA</TD>" +
"<TD>LAST GPA</TD>" +
"<TD>GUARDIAN NAME</TD>" +
"<TD>GUARDIAN ADDRESS</TD>" +
"<TD>GUARDIAN PHONE</TD" +
"</tr>";
String strquery = "SELECT s FROM Student s WHERE s.name LIKE
'%" + aString + "%'";
List<Student> list =
emGISHTML.createQuery(strquery).getResultList();
lxviii
for ( Student s : list) {
result += "<tr><td>" + s.getName() + "</td><td>" +
formatGender(s.getGender()) + "</td><td>" +
formatReligion(s.getReligion()) + "</td><td>" + s.getEmailAddress()
+
"</td><td>" + s.getPlaceOfBirth() + "</td><td>"
+ s.getDateOfBirth() + "</td><td>" + s.getMaritalStatus() +
"</td><td>" + s.getRegistrationStatus() +
"</td><td>" + s.getCreditAchieved() + "</td><td>" + s.getMajorGpa()
+
"</td><td>" + s.getMinorGpa() + "</td><td>" +
s.getAccumulatedGpa() + "</td><td>" + s.getLastGpa().toString() +
"</td><td>" + s.getGuardianName() + "</td><td>"
+ s.getGuardianAddress() + "</td><td>" + s.getGuardianPhone() +
"</td></tr>";
}
return "<table border=2>" + headertblHTML + result +
"</table>";
}
private String formatGender(int gender) {
if (gender == 1) {
return "Male";
} else {
return "Female";
}
}
private String formatReligion(int rel){
if(rel == 1)
return "Advent";
else if(rel ==2)
return "Christian";
else if(rel ==3)
return "Catholic";
else if(rel ==4)
return "ISLAM";
else if(rel ==5)
return "BUDHA";
else if(rel ==6)
return "HINDHU";
else
return "Unknown";
}
}
lxix
IMPLEMENTASI CLASS USERS
package org.unklab.academic.ws;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
*
* @author tes
*/
@Entity
@Table(name = "users")
@NamedQueries({@NamedQuery(name = "Users.findByUid", query = "SELECT
u FROM Users u WHERE u.uid = :uid"), @NamedQuery(name =
"Users.findByUserId", query = "SELECT u FROM Users u WHERE u.userId
= :userId"), @NamedQuery(name = "Users.findByUserPassword", query =
"SELECT u FROM Users u WHERE u.userPassword = :userPassword"),
@NamedQuery(name = "Users.findByPasswordExpiry", query = "SELECT u
FROM Users u WHERE u.passwordExpiry = :passwordExpiry"),
@NamedQuery(name = "Users.findByUserActive", query = "SELECT u FROM
Users u WHERE u.userActive = :userActive"), @NamedQuery(name =
"Users.findByUserLogin", query = "SELECT u FROM Users u WHERE
u.userLogin = :userLogin"), @NamedQuery(name =
"Users.findByLastLogin", query = "SELECT u FROM Users u WHERE
u.lastLogin = :lastLogin"), @NamedQuery(name =
"Users.findByUserType", query = "SELECT u FROM Users u WHERE
u.userType = :userType")})
public class Users implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "UID", nullable = false)
private Integer uid;
@Column(name = "USER_ID")
private String userId;
@Column(name = "USER_PASSWORD")
private String userPassword;
@Column(name = "PASSWORD_EXPIRY")
@Temporal(TemporalType.DATE)
private Date passwordExpiry;
@Column(name = "USER_ACTIVE")
private Boolean userActive;
@Column(name = "USER_LOGIN")
private Boolean userLogin;
lxx
@Column(name = "LAST_LOGIN")
@Temporal(TemporalType.TIMESTAMP)
private Date lastLogin;
@Column(name = "USER_TYPE", nullable = false)
private int userType;
public Users() {
}
public Users(Integer uid) {
this.uid = uid;
}
public Users(Integer uid, int userType) {
this.uid = uid;
this.userType = userType;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public Date getPasswordExpiry() {
return passwordExpiry;
}
public void setPasswordExpiry(Date passwordExpiry) {
this.passwordExpiry = passwordExpiry;
}
public Boolean getUserActive() {
return userActive;
lxxi
}
public void setUserActive(Boolean userActive) {
this.userActive = userActive;
}
public Boolean getUserLogin() {
return userLogin;
}
public void setUserLogin(Boolean userLogin) {
this.userLogin = userLogin;
}
public Date getLastLogin() {
return lastLogin;
}
public void setLastLogin(Date lastLogin) {
this.lastLogin = lastLogin;
}
public int getUserType() {
return userType;
}
public void setUserType(int userType) {
this.userType = userType;
}
@Override
public int hashCode() {
int hash = 0;
hash += (uid != null ? uid.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id
fields are not set
if (!(object instanceof Users)) {
return false;
}
Users other = (Users) object;
if ((this.uid == null && other.uid != null) || (this.uid !=
null && !this.uid.equals(other.uid))) {
return false;
}
return true;
}
lxxii
@Override
public String toString() {
return "org.unklab.academic.ws.Users[uid=" + uid + "]";
}
}
IMPLEMENTASI CLASS VALIDATEUSERSERVICE
package org.unklab.academic.ws;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author Stenly R. Pungus 23506034
*/
@WebService()
public class ValidateUserService {
@PersistenceContext
EntityManager em;
/**
* Web service operation
*/
@WebMethod(operationName = "validateUser")
public String validateUser(
@WebParam(name = "aUserID") String aUserID,
@WebParam(name = "aPassword") String aPassword) throws
NoSuchAlgorithmException, UnsupportedEncodingException {
//TODO write your implementation code here:
String aUser = aUserID;
String aPass = AeSimpleMD5.MD5(aPassword).toUpperCase();
String strObjPassword = "";
String status = "Invalid";
try {
Object objPassword = em.createQuery("SELECT
u.userPassword FROM Users u WHERE
u.userId=:uid").setParameter("uid", aUser).getSingleResult();
lxxiii
strObjPassword =
strObjPassword.concat(objPassword.toString());
//Validate Password
if ((aPass.equals(strObjPassword))) {
status = "Valid";
}
return "" + status;
} catch ( Exception exception) {
return ""+ status;
}
}
}
IMPLEMENTASI CLASS BOOKING
package org.unklab.library.ws;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
*
* @author tes
*/
@Entity
@Table(name = "booking")
@NamedQueries({@NamedQuery(name = "Booking.findByIdbooking", query =
"SELECT b FROM Booking b WHERE b.idbooking = :idbooking"),
@NamedQuery(name = "Booking.findByName", query = "SELECT b FROM
Booking b WHERE b.name = :name"), @NamedQuery(name =
"Booking.findByEmail", query = "SELECT b FROM Booking b WHERE
b.email = :email"), @NamedQuery(name = "Booking.findByDepartment",
query = "SELECT b FROM Booking b WHERE b.department = :department"),
@NamedQuery(name = "Booking.findByInformation", query = "SELECT b
FROM Booking b WHERE b.information = :information"),
@NamedQuery(name = "Booking.findByBookingdate", query = "SELECT b
FROM Booking b WHERE b.bookingdate = :bookingdate"),
@NamedQuery(name = "Booking.findByPhone", query = "SELECT b FROM
Booking b WHERE b.phone = :phone")})
public class Booking implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "idbooking", nullable = false)
lxxiv
private Integer idbooking;
@Column(name = "name", nullable = false)
private String name;
@Column(name = "email", nullable = false)
private String email;
@Column(name = "department", nullable = false)
private String department;
@Column(name = "information", nullable = false)
private String information;
@Column(name = "bookingdate", nullable = false)
private String bookingdate;
@Column(name = "phone", nullable = false)
private String phone;
public Booking() {
}
public Booking(Integer idbooking) {
this.idbooking = idbooking;
}
public Booking(Integer idbooking, String name, String email,
String department, String information, String bookingdate, String
phone) {
this.idbooking = idbooking;
this.name = name;
this.email = email;
this.department = department;
this.information = information;
this.bookingdate = bookingdate;
this.phone = phone;
}
public Integer getIdbooking() {
return idbooking;
}
public void setIdbooking(Integer idbooking) {
this.idbooking = idbooking;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
lxxv
public void setEmail(String email) {
this.email = email;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String getInformation() {
return information;
}
public void setInformation(String information) {
this.information = information;
}
public String getBookingdate() {
return bookingdate;
}
public void setBookingdate(String bookingdate) {
this.bookingdate = bookingdate;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public int hashCode() {
int hash = 0;
hash += (idbooking != null ? idbooking.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id
fields are not set
if (!(object instanceof Booking)) {
return false;
}
Booking other = (Booking) object;
lxxvi
if ((this.idbooking == null && other.idbooking != null) ||
(this.idbooking != null && !this.idbooking.equals(other.idbooking)))
{
return false;
}
return true;
}
@Override
public String toString() {
return "ws.library.unklab.org.Booking[idbooking=" +
idbooking + "]";
}
}
IMPLEMENTASI CLASS BOOKINGBOOK
package org.unklab.library.ws;
import javax.annotation.Resource;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.naming.Context;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author tes
*/
@WebService()
@PersistenceContext(name = "persistence/LogicalName", unitName =
"WSLibrary1PU")
public class BookingBook {
@Resource
private javax.transaction.UserTransaction utx;
/**
* Web service operation
*/
@WebMethod(operationName = "bookingBook")
public String bookingBook(
@WebParam(name = "aname") String aname,
@WebParam(name = "anemail") String anemail,
@WebParam(name = "department") String department,
lxxvii
@WebParam(name = "information") String information,
@WebParam(name = "bookingdate") String bookingdate,
@WebParam(name = "phone") String phone) {
//TODO write your implementation code here:
try {
Booking bk = new Booking();
//DateFormat d = new SimpleDateFormat("yyyy-MM-dadd");
//Date dt = d.parse(bookingdate);
bk.setName(aname);
bk.setEmail(anemail);
bk.setDepartment(department);
bk.setInformation(information);
bk.setBookingdate(bookingdate);
bk.setPhone(phone);
persist(bk);
return "Success";
} catch ( Exception ex) {
return ex.getMessage();
}
}
protected void persist(Object object) {
try {
Context ctx = (Context) new
javax.naming.InitialContext().lookup("java:comp/env");
utx.begin();
EntityManager em = (EntityManager)
ctx.lookup("persistence/LogicalName");
em.persist(object);
utx.commit();
} catch (Exception e) {
java.util.logging.Logger.getLogger(getClass().getName()).log(java.ut
il.logging.Level.SEVERE, "exception caught", e);
throw new RuntimeException(e);
}
}
}
IMPLEMENTASI CLASS GETINFOBOOK
package org.unklab.library.ws;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
lxxviii
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author tes
*/
@WebService()
public class GetInfoBooks {
@PersistenceContext
EntityManager emGIB;
List<Book> listbooks;
/**
* Web service operation
*/
@WebMethod(operationName = "getInfoBook")
public String getInfoBook(
@WebParam(name = "aString") String aString) {
//TODO write your implementation code here:
try {
String query = "SELECT b.isbn,b.title,b.authors " +
"FROM Book b " +
"WHERE b.title LIKE '%" + aString + "%'" +
"OR b.authors LIKE '%" + aString + "%'";
List<Book> list =
emGIB.createQuery(query).getResultList();
String result = "";
for ( Book b : list) {
result += "<tr><td>" + b.getIsbn() + " " +
b.getTitle() + "</td><td>" + b.getAuthors() + "</td>";
}
return "<table
border=2><tr><td>ISBN</td><td>TITLE</td><td>AUTHORS</td></tr>" +
result + "</table>";
} catch ( Exception exception) {
return ""+ exception.getMessage();
}
}
/**
* Web service operation
*/
lxxix
@WebMethod(operationName = "getListBooks")
public String getListBooks(
@WebParam(name = "aString") String aString) {
//TODO write your implementation code here:
List<Book> list = emGIB.createQuery("SELECT e FROM Employee
e").getResultList();
String result = "";
for ( Book b : list) {
result += b.getTitle() + " " + b.getAuthors() + "#" +
b.getIsbn() + "#" + b.getAcceptedDate() + ":";
}
return result;
}
}
IMPLEMENTASI CLASS BOOK
package org.unklab.library.ws;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Lob;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
*
* @author tes
*/
@Entity
@Table(name = "book")
@NamedQueries({@NamedQuery(name = "Book.findByBookId", query =
"SELECT b FROM Book b WHERE b.bookPK.bookId = :bookId"),
@NamedQuery(name = "Book.findByIsbn", query = "SELECT b FROM Book b
WHERE b.isbn = :isbn"), @NamedQuery(name = "Book.findByTitle", query
= "SELECT b FROM Book b WHERE b.title = :title"), @NamedQuery(name =
"Book.findBySubTitle", query = "SELECT b FROM Book b WHERE
b.subTitle = :subTitle"), @NamedQuery(name = "Book.findByTitles",
query = "SELECT b FROM Book b WHERE b.titles = :titles"),
@NamedQuery(name = "Book.findByAccessionNumber", query = "SELECT b
FROM Book b WHERE b.bookPK.accessionNumber = :accessionNumber"),
@NamedQuery(name = "Book.findByEdition", query = "SELECT b FROM Book
b WHERE b.edition = :edition"), @NamedQuery(name =
"Book.findByPublisher", query = "SELECT b FROM Book b WHERE
b.publisher = :publisher"), @NamedQuery(name =
lxxx
"Book.findByPublishedYear", query = "SELECT b FROM Book b WHERE
b.publishedYear = :publishedYear"), @NamedQuery(name =
"Book.findByAcceptedDate", query = "SELECT b FROM Book b WHERE
b.acceptedDate = :acceptedDate"), @NamedQuery(name =
"Book.findByRegisteredDate", query = "SELECT b FROM Book b WHERE
b.registeredDate = :registeredDate"), @NamedQuery(name =
"Book.findByControlNo", query = "SELECT b FROM Book b WHERE
b.controlNo = :controlNo"), @NamedQuery(name =
"Book.findByCallingNo", query = "SELECT b FROM Book b WHERE
b.callingNo = :callingNo"), @NamedQuery(name =
"Book.findByTypeCallingNo", query = "SELECT b FROM Book b WHERE
b.typeCallingNo = :typeCallingNo"), @NamedQuery(name =
"Book.findByNumberOfAuthor", query = "SELECT b FROM Book b WHERE
b.numberOfAuthor = :numberOfAuthor"), @NamedQuery(name =
"Book.findByAuthor1Lastname", query = "SELECT b FROM Book b WHERE
b.author1Lastname = :author1Lastname"), @NamedQuery(name =
"Book.findByAuthor1Firstname", query = "SELECT b FROM Book b WHERE
b.author1Firstname = :author1Firstname"), @NamedQuery(name =
"Book.findByEditorLastname", query = "SELECT b FROM Book b WHERE
b.editorLastname = :editorLastname"), @NamedQuery(name =
"Book.findByEditorFirstname", query = "SELECT b FROM Book b WHERE
b.editorFirstname = :editorFirstname"), @NamedQuery(name =
"Book.findByAuthorCorporateEntry", query = "SELECT b FROM Book b
WHERE b.authorCorporateEntry = :authorCorporateEntry"),
@NamedQuery(name = "Book.findByAuthorConferenceEntry", query =
"SELECT b FROM Book b WHERE b.authorConferenceEntry =
:authorConferenceEntry"), @NamedQuery(name =
"Book.findByAuthor2Lastname", query = "SELECT b FROM Book b WHERE
b.author2Lastname = :author2Lastname"), @NamedQuery(name =
"Book.findByAuthor2Firstname", query = "SELECT b FROM Book b WHERE
b.author2Firstname = :author2Firstname"), @NamedQuery(name =
"Book.findByAuthor3Lastname", query = "SELECT b FROM Book b WHERE
b.author3Lastname = :author3Lastname"), @NamedQuery(name =
"Book.findByAuthor3Firstname", query = "SELECT b FROM Book b WHERE
b.author3Firstname = :author3Firstname"), @NamedQuery(name =
"Book.findByAuthor4Lastname", query = "SELECT b FROM Book b WHERE
b.author4Lastname = :author4Lastname"), @NamedQuery(name =
"Book.findByAuthor4Firstname", query = "SELECT b FROM Book b WHERE
b.author4Firstname = :author4Firstname"), @NamedQuery(name =
"Book.findByAuthors", query = "SELECT b FROM Book b WHERE b.authors
= :authors"), @NamedQuery(name = "Book.findByJointAuthorCorporate",
query = "SELECT b FROM Book b WHERE b.jointAuthorCorporate =
:jointAuthorCorporate"), @NamedQuery(name =
"Book.findByJointAuthorConference", query = "SELECT b FROM Book b
WHERE b.jointAuthorConference = :jointAuthorConference"),
@NamedQuery(name = "Book.findBySerial", query = "SELECT b FROM Book
b WHERE b.serial = :serial"), @NamedQuery(name =
"Book.findByVolume", query = "SELECT b FROM Book b WHERE b.volume =
:volume"), @NamedQuery(name = "Book.findByAdditionalNote", query =
"SELECT b FROM Book b WHERE b.additionalNote = :additionalNote"),
@NamedQuery(name = "Book.findByBibliograph", query = "SELECT b FROM
Book b WHERE b.bibliograph = :bibliograph"), @NamedQuery(name =
lxxxi
"Book.findByOwner1", query = "SELECT b FROM Book b WHERE b.owner1 =
:owner1"), @NamedQuery(name = "Book.findByOwner2", query = "SELECT b
FROM Book b WHERE b.owner2 = :owner2"), @NamedQuery(name =
"Book.findByOwner3", query = "SELECT b FROM Book b WHERE b.owner3 =
:owner3"), @NamedQuery(name = "Book.findByOwners", query = "SELECT b
FROM Book b WHERE b.owners = :owners"), @NamedQuery(name =
"Book.findByMajorId1", query = "SELECT b FROM Book b WHERE
b.majorId1 = :majorId1"), @NamedQuery(name = "Book.findByMajorId2",
query = "SELECT b FROM Book b WHERE b.majorId2 = :majorId2"),
@NamedQuery(name = "Book.findByMajorId3", query = "SELECT b FROM
Book b WHERE b.majorId3 = :majorId3"), @NamedQuery(name =
"Book.findBySubject", query = "SELECT b FROM Book b WHERE b.subject
= :subject"), @NamedQuery(name = "Book.findBySubSubject", query =
"SELECT b FROM Book b WHERE b.subSubject = :subSubject"),
@NamedQuery(name = "Book.findBySubjectAndSub", query = "SELECT b
FROM Book b WHERE b.subjectAndSub = :subjectAndSub"),
@NamedQuery(name = "Book.findByKeyword", query = "SELECT b FROM Book
b WHERE b.keyword = :keyword"), @NamedQuery(name =
"Book.findByAvailableFor", query = "SELECT b FROM Book b WHERE
b.availableFor = :availableFor"), @NamedQuery(name =
"Book.findByNumberOfAvailability", query = "SELECT b FROM Book b
WHERE b.numberOfAvailability = :numberOfAvailability"),
@NamedQuery(name = "Book.findByNumberOfCopies", query = "SELECT b
FROM Book b WHERE b.numberOfCopies = :numberOfCopies"),
@NamedQuery(name = "Book.findByOperator", query = "SELECT b FROM
Book b WHERE b.operator = :operator"), @NamedQuery(name =
"Book.findByLanguage", query = "SELECT b FROM Book b WHERE
b.language = :language"), @NamedQuery(name = "Book.findByCheckHour",
query = "SELECT b FROM Book b WHERE b.checkHour = :checkHour"),
@NamedQuery(name = "Book.findByCollation", query = "SELECT b FROM
Book b WHERE b.collation = :collation"), @NamedQuery(name =
"Book.findByPrice", query = "SELECT b FROM Book b WHERE b.price =
:price"), @NamedQuery(name = "Book.findByCurrency", query = "SELECT
b FROM Book b WHERE b.currency = :currency"), @NamedQuery(name =
"Book.findBySource", query = "SELECT b FROM Book b WHERE b.source =
:source"), @NamedQuery(name = "Book.findBySourceOthers", query =
"SELECT b FROM Book b WHERE b.sourceOthers = :sourceOthers"),
@NamedQuery(name = "Book.findByCollection", query = "SELECT b FROM
Book b WHERE b.collection = :collection"), @NamedQuery(name =
"Book.findByCollectionOthers", query = "SELECT b FROM Book b WHERE
b.collectionOthers = :collectionOthers"), @NamedQuery(name =
"Book.findByCurriculum", query = "SELECT b FROM Book b WHERE
b.curriculum = :curriculum"), @NamedQuery(name =
"Book.findByLastUpd", query = "SELECT b FROM Book b WHERE b.lastUpd
= :lastUpd")})
public class Book implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected BookPK bookPK;
@Column(name = "ISBN")
private String isbn;
@Column(name = "TITLE", nullable = false)
lxxxii
private String title;
@Column(name = "SUB_TITLE")
private String subTitle;
@Column(name = "TITLES", nullable = false)
private String titles;
@Column(name = "EDITION")
private String edition;
@Column(name = "PUBLISHER", nullable = false)
private String publisher;
@Column(name = "PUBLISHED_YEAR")
private Integer publishedYear;
@Column(name = "ACCEPTED_DATE", nullable = false)
@Temporal(TemporalType.DATE)
private Date acceptedDate;
@Column(name = "REGISTERED_DATE", nullable = false)
@Temporal(TemporalType.DATE)
private Date registeredDate;
@Column(name = "CONTROL_NO")
private String controlNo;
@Column(name = "CALLING_NO", nullable = false)
private String callingNo;
@Column(name = "TYPE_CALLING_NO")
private Character typeCallingNo;
@Column(name = "NUMBER_OF_AUTHOR")
private Integer numberOfAuthor;
@Column(name = "AUTHOR1_LASTNAME")
private String author1Lastname;
@Column(name = "AUTHOR1_FIRSTNAME")
private String author1Firstname;
@Column(name = "EDITOR_LASTNAME")
private String editorLastname;
@Column(name = "EDITOR_FIRSTNAME")
private String editorFirstname;
@Column(name = "AUTHOR_CORPORATE_ENTRY")
private String authorCorporateEntry;
@Column(name = "AUTHOR_CONFERENCE_ENTRY")
private String authorConferenceEntry;
@Column(name = "AUTHOR2_LASTNAME")
private String author2Lastname;
@Column(name = "AUTHOR2_FIRSTNAME")
private String author2Firstname;
@Column(name = "AUTHOR3_LASTNAME")
private String author3Lastname;
@Column(name = "AUTHOR3_FIRSTNAME")
private String author3Firstname;
@Column(name = "AUTHOR4_LASTNAME")
private String author4Lastname;
@Column(name = "AUTHOR4_FIRSTNAME")
private String author4Firstname;
@Column(name = "AUTHORS")
private String authors;
@Column(name = "JOINT_AUTHOR_CORPORATE")
lxxxiii
private String jointAuthorCorporate;
@Column(name = "JOINT_AUTHOR_CONFERENCE")
private String jointAuthorConference;
@Column(name = "SERIAL")
private String serial;
@Column(name = "VOLUME")
private String volume;
@Lob
@Column(name = "CONTENTS")
private String contents;
@Column(name = "ADDITIONAL_NOTE")
private String additionalNote;
@Column(name = "BIBLIOGRAPH")
private String bibliograph;
@Column(name = "OWNER1")
private String owner1;
@Column(name = "OWNER2")
private String owner2;
@Column(name = "OWNER3")
private String owner3;
@Column(name = "OWNERS")
private String owners;
@Column(name = "MAJOR_ID1")
private Integer majorId1;
@Column(name = "MAJOR_ID2")
private Integer majorId2;
@Column(name = "MAJOR_ID3")
private Integer majorId3;
@Column(name = "SUBJECT", nullable = false)
private String subject;
@Column(name = "SUB_SUBJECT")
private String subSubject;
@Column(name = "SUBJECT_AND_SUB")
private String subjectAndSub;
@Column(name = "KEYWORD")
private String keyword;
@Column(name = "AVAILABLE_FOR", nullable = false)
private int availableFor;
@Column(name = "NUMBER_OF_AVAILABILITY", nullable = false)
private int numberOfAvailability;
@Column(name = "NUMBER_OF_COPIES")
private Integer numberOfCopies;
@Column(name = "OPERATOR", nullable = false)
private int operator;
@Column(name = "LANGUAGE", nullable = false)
private int language;
@Column(name = "CHECK_HOUR", nullable = false)
private boolean checkHour;
@Column(name = "COLLATION")
private String collation;
@Column(name = "PRICE")
private Integer price;
lxxxiv
@Column(name = "CURRENCY")
private String currency;
@Column(name = "SOURCE")
private String source;
@Column(name = "SOURCE_OTHERS")
private String sourceOthers;
@Column(name = "COLLECTION")
private String collection;
@Column(name = "COLLECTION_OTHERS")
private String collectionOthers;
@Column(name = "CURRICULUM")
private String curriculum;
@Column(name = "LAST_UPD")
@Temporal(TemporalType.DATE)
private Date lastUpd;
public Book() {
}
public Book(BookPK bookPK) {
this.bookPK = bookPK;
}
public Book(BookPK bookPK, String title, String titles, String
publisher, Date acceptedDate, Date registeredDate, String callingNo,
String subject, int availableFor, int numberOfAvailability, int
operator, int language, boolean checkHour) {
this.bookPK = bookPK;
this.title = title;
this.titles = titles;
this.publisher = publisher;
this.acceptedDate = acceptedDate;
this.registeredDate = registeredDate;
this.callingNo = callingNo;
this.subject = subject;
this.availableFor = availableFor;
this.numberOfAvailability = numberOfAvailability;
this.operator = operator;
this.language = language;
this.checkHour = checkHour;
}
public Book(int bookId, String accessionNumber) {
this.bookPK = new BookPK(bookId, accessionNumber);
}
public BookPK getBookPK() {
return bookPK;
}
public void setBookPK(BookPK bookPK) {
this.bookPK = bookPK;
lxxxv
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSubTitle() {
return subTitle;
}
public void setSubTitle(String subTitle) {
this.subTitle = subTitle;
}
public String getTitles() {
return titles;
}
public void setTitles(String titles) {
this.titles = titles;
}
public String getEdition() {
return edition;
}
public void setEdition(String edition) {
this.edition = edition;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public Integer getPublishedYear() {
return publishedYear;
lxxxvi
}
public void setPublishedYear(Integer publishedYear) {
this.publishedYear = publishedYear;
}
public Date getAcceptedDate() {
return acceptedDate;
}
public void setAcceptedDate(Date acceptedDate) {
this.acceptedDate = acceptedDate;
}
public Date getRegisteredDate() {
return registeredDate;
}
public void setRegisteredDate(Date registeredDate) {
this.registeredDate = registeredDate;
}
public String getControlNo() {
return controlNo;
}
public void setControlNo(String controlNo) {
this.controlNo = controlNo;
}
public String getCallingNo() {
return callingNo;
}
public void setCallingNo(String callingNo) {
this.callingNo = callingNo;
}
public Character getTypeCallingNo() {
return typeCallingNo;
}
public void setTypeCallingNo(Character typeCallingNo) {
this.typeCallingNo = typeCallingNo;
}
public Integer getNumberOfAuthor() {
return numberOfAuthor;
}
public void setNumberOfAuthor(Integer numberOfAuthor) {
this.numberOfAuthor = numberOfAuthor;
lxxxvii
}
public String getAuthor1Lastname() {
return author1Lastname;
}
public void setAuthor1Lastname(String author1Lastname) {
this.author1Lastname = author1Lastname;
}
public String getAuthor1Firstname() {
return author1Firstname;
}
public void setAuthor1Firstname(String author1Firstname) {
this.author1Firstname = author1Firstname;
}
public String getEditorLastname() {
return editorLastname;
}
public void setEditorLastname(String editorLastname) {
this.editorLastname = editorLastname;
}
public String getEditorFirstname() {
return editorFirstname;
}
public void setEditorFirstname(String editorFirstname) {
this.editorFirstname = editorFirstname;
}
public String getAuthorCorporateEntry() {
return authorCorporateEntry;
}
public void setAuthorCorporateEntry(String authorCorporateEntry)
{
this.authorCorporateEntry = authorCorporateEntry;
}
public String getAuthorConferenceEntry() {
return authorConferenceEntry;
}
public void setAuthorConferenceEntry(String
authorConferenceEntry) {
this.authorConferenceEntry = authorConferenceEntry;
}
lxxxviii
public String getAuthor2Lastname() {
return author2Lastname;
}
public void setAuthor2Lastname(String author2Lastname) {
this.author2Lastname = author2Lastname;
}
public String getAuthor2Firstname() {
return author2Firstname;
}
public void setAuthor2Firstname(String author2Firstname) {
this.author2Firstname = author2Firstname;
}
public String getAuthor3Lastname() {
return author3Lastname;
}
public void setAuthor3Lastname(String author3Lastname) {
this.author3Lastname = author3Lastname;
}
public String getAuthor3Firstname() {
return author3Firstname;
}
public void setAuthor3Firstname(String author3Firstname) {
this.author3Firstname = author3Firstname;
}
public String getAuthor4Lastname() {
return author4Lastname;
}
public void setAuthor4Lastname(String author4Lastname) {
this.author4Lastname = author4Lastname;
}
public String getAuthor4Firstname() {
return author4Firstname;
}
public void setAuthor4Firstname(String author4Firstname) {
this.author4Firstname = author4Firstname;
}
public String getAuthors() {
return authors;
}
lxxxix
public void setAuthors(String authors) {
this.authors = authors;
}
public String getJointAuthorCorporate() {
return jointAuthorCorporate;
}
public void setJointAuthorCorporate(String jointAuthorCorporate)
{
this.jointAuthorCorporate = jointAuthorCorporate;
}
public String getJointAuthorConference() {
return jointAuthorConference;
}
public void setJointAuthorConference(String
jointAuthorConference) {
this.jointAuthorConference = jointAuthorConference;
}
public String getSerial() {
return serial;
}
public void setSerial(String serial) {
this.serial = serial;
}
public String getVolume() {
return volume;
}
public void setVolume(String volume) {
this.volume = volume;
}
public String getContents() {
return contents;
}
public void setContents(String contents) {
this.contents = contents;
}
public String getAdditionalNote() {
return additionalNote;
}
public void setAdditionalNote(String additionalNote) {
this.additionalNote = additionalNote;
xc
}
public String getBibliograph() {
return bibliograph;
}
public void setBibliograph(String bibliograph) {
this.bibliograph = bibliograph;
}
public String getOwner1() {
return owner1;
}
public void setOwner1(String owner1) {
this.owner1 = owner1;
}
public String getOwner2() {
return owner2;
}
public void setOwner2(String owner2) {
this.owner2 = owner2;
}
public String getOwner3() {
return owner3;
}
public void setOwner3(String owner3) {
this.owner3 = owner3;
}
public String getOwners() {
return owners;
}
public void setOwners(String owners) {
this.owners = owners;
}
public Integer getMajorId1() {
return majorId1;
}
public void setMajorId1(Integer majorId1) {
this.majorId1 = majorId1;
}
public Integer getMajorId2() {
return majorId2;
xci
}
public void setMajorId2(Integer majorId2) {
this.majorId2 = majorId2;
}
public Integer getMajorId3() {
return majorId3;
}
public void setMajorId3(Integer majorId3) {
this.majorId3 = majorId3;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getSubSubject() {
return subSubject;
}
public void setSubSubject(String subSubject) {
this.subSubject = subSubject;
}
public String getSubjectAndSub() {
return subjectAndSub;
}
public void setSubjectAndSub(String subjectAndSub) {
this.subjectAndSub = subjectAndSub;
}
public String getKeyword() {
return keyword;
}
public void setKeyword(String keyword) {
this.keyword = keyword;
}
public int getAvailableFor() {
return availableFor;
}
public void setAvailableFor(int availableFor) {
this.availableFor = availableFor;
xcii
}
public int getNumberOfAvailability() {
return numberOfAvailability;
}
public void setNumberOfAvailability(int numberOfAvailability) {
this.numberOfAvailability = numberOfAvailability;
}
public Integer getNumberOfCopies() {
return numberOfCopies;
}
public void setNumberOfCopies(Integer numberOfCopies) {
this.numberOfCopies = numberOfCopies;
}
public int getOperator() {
return operator;
}
public void setOperator(int operator) {
this.operator = operator;
}
public int getLanguage() {
return language;
}
public void setLanguage(int language) {
this.language = language;
}
public boolean getCheckHour() {
return checkHour;
}
public void setCheckHour(boolean checkHour) {
this.checkHour = checkHour;
}
public String getCollation() {
return collation;
}
public void setCollation(String collation) {
this.collation = collation;
}
public Integer getPrice() {
return price;
xciii
}
public void setPrice(Integer price) {
this.price = price;
}
public String getCurrency() {
return currency;
}
public void setCurrency(String currency) {
this.currency = currency;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getSourceOthers() {
return sourceOthers;
}
public void setSourceOthers(String sourceOthers) {
this.sourceOthers = sourceOthers;
}
public String getCollection() {
return collection;
}
public void setCollection(String collection) {
this.collection = collection;
}
public String getCollectionOthers() {
return collectionOthers;
}
public void setCollectionOthers(String collectionOthers) {
this.collectionOthers = collectionOthers;
}
public String getCurriculum() {
return curriculum;
}
public void setCurriculum(String curriculum) {
this.curriculum = curriculum;
xciv
}
public Date getLastUpd() {
return lastUpd;
}
public void setLastUpd(Date lastUpd) {
this.lastUpd = lastUpd;
}
@Override
public int hashCode() {
int hash = 0;
hash += (bookPK != null ? bookPK.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id
fields are not set
if (!(object instanceof Book)) {
return false;
}
Book other = (Book) object;
if ((this.bookPK == null && other.bookPK != null) ||
(this.bookPK != null && !this.bookPK.equals(other.bookPK))) {
return false;
}
return true;
}
@Override
public String toString() {
return "ws.library.unklab.org.Book[bookPK=" + bookPK + "]";
}
}
IMPLEMENTASI CLASS CHART
package org.unklab.sa.ws;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
xcv
*
* @author tes
*/
@Entity
@Table(name = "chart2")
@NamedQueries({@NamedQuery(name = "Chart2.findByNum", query =
"SELECT c FROM Chart2 c WHERE c.num = :num"), @NamedQuery(name =
"Chart2.findByAccount", query = "SELECT c FROM Chart2 c WHERE
c.account = :account"), @NamedQuery(name = "Chart2.findByDbbal",
query = "SELECT c FROM Chart2 c WHERE c.dbbal = :dbbal"),
@NamedQuery(name = "Chart2.findByCrbal", query = "SELECT c FROM
Chart2 c WHERE c.crbal = :crbal"), @NamedQuery(name =
"Chart2.findByUserId", query = "SELECT c FROM Chart2 c WHERE
c.userId = :userId")})
public class Chart2 implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "NUM", nullable = false)
private String num;
@Column(name = "ACCOUNT")
private String account;
@Column(name = "DBBAL")
private Double dbbal;
@Column(name = "CRBAL")
private Double crbal;
@Column(name = "USER_ID", nullable = false)
private String userId;
public Chart2() {
}
public Chart2(String num) {
this.num = num;
}
public Chart2(String num, String userId) {
this.num = num;
this.userId = userId;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getAccount() {
return account;
}
xcvi
public void setAccount(String account) {
this.account = account;
}
public Double getDbbal() {
return dbbal;
}
public void setDbbal(Double dbbal) {
this.dbbal = dbbal;
}
public Double getCrbal() {
return crbal;
}
public void setCrbal(Double crbal) {
this.crbal = crbal;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
@Override
public int hashCode() {
int hash = 0;
hash += (num != null ? num.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id
fields are not set
if (!(object instanceof Chart2)) {
return false;
}
Chart2 other = (Chart2) object;
if ((this.num == null && other.num != null) || (this.num !=
null && !this.num.equals(other.num))) {
return false;
}
return true;
}
@Override
public String toString() {
xcvii
return "org.unklab.sa.ws.Chart2[num=" + num + "]";
}
}
IMPLEMENTASI CLASS GETSTUDENTBALANCE
package org.unklab.sa.ws;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author Stanly
*/
@WebService()
public class GetStudentBalance {
@PersistenceContext
EntityManager emSB = null;
/**
* Web service operation
*/
@WebMethod(operationName = "getcredit")
public String getcredit(
@WebParam(name = "accountno") String accountno) throws
Exception {
try {
Object result = emSB.createQuery("SELECT c.num FROM
Chart2 c WHERE c.userId = :userId").setParameter("userId",
accountno).getSingleResult();
String res1 = "";
res1 = res1.concat(result.toString());
Chart2 gc = emSB.find(Chart2.class, res1);
return gc.getCrbal().toString();
} catch ( Exception ex) {
return "" + ex.getMessage();
}
xcviii
}
/**
* Web service operation
*/
@WebMethod(operationName = "getdebit")
public String getdebit(
@WebParam(name = "accountno") String accountno) throws
Exception {
try {
Object result = emSB.createQuery("SELECT c.num FROM
Chart2 c WHERE c.userId = :userId").setParameter("userId",
accountno).getSingleResult();
String res1 = "";
res1 = res1.concat(result.toString());
Chart2 gb = emSB.find(Chart2.class, res1);
return gb.getDbbal().toString();
} catch ( Exception ex) {
return "" + ex.getMessage();
}
}
/**
* Web service operation
*/
@WebMethod(operationName = "getname")
public String getname(
@WebParam(name = "accountno") String accountno) throws
Exception {
try {
Object result = emSB.createQuery("SELECT c.num FROM
Chart2 c WHERE c.userId = :userId").setParameter("userId",
accountno).getSingleResult();
String res1 = "";
res1 = res1.concat(result.toString());
Chart2 gn = emSB.find(Chart2.class, res1);
return gn.getAccount().toString();
} catch ( Exception ex) {
return "" + ex.getMessage();
}
}
xcix
}
IMPLEMENTASI CLASS UPDATESTUDENTBALANCE
package org.unklab.sa.ws;
import javax.annotation.Resource;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.HeuristicMixedException;
import javax.transaction.HeuristicRollbackException;
import javax.transaction.NotSupportedException;
import javax.transaction.RollbackException;
import javax.transaction.SystemException;
/**
*
* @author Stanly
*/
@WebService()
public class UpdateStudentBalance {
@Resource
private javax.transaction.UserTransaction utx;
@PersistenceContext
EntityManager em;
/**
* Web service operation
*/
@WebMethod(operationName = "setCredit")
public String setCredit(@WebParam(name = "accountno")
String accountno, @WebParam(name = "creditvalue")
double creditvalue) throws NotSupportedException,
SystemException, RollbackException, HeuristicMixedException,
HeuristicRollbackException {
//TODO write your implementation code here:
utx.begin();
Chart2 sC = em.find(Chart2.class, accountno);
sC.setCrbal(0 - creditvalue);
sC.setDbbal(0.00000);
utx.commit();
return "Name: "+sC.getAccount()+" Cr: "+sC.getCrbal()+" Db:
"+sC.getDbbal();
}
/**
* Web service operation
*/
c
@WebMethod(operationName = "setDebit")
public String setDebit(@WebParam(name = "accountno")
String accountno, @WebParam(name = "debitvalue")
double debitvalue) throws NotSupportedException,
SystemException, RollbackException, HeuristicMixedException,
HeuristicRollbackException {
//TODO write your implementation code here:
utx.begin();
Chart2 sD = em.find(Chart2.class, accountno);
sD.setDbbal(debitvalue);
sD.setCrbal(0.00000);
utx.commit();
return "Name: "+sD.getAccount()+" Cr: "+sD.getCrbal()+" Db:
"+sD.getDbbal();
}
}
IMPLEMENTASI CLASS TUITIONPAYMENT
package org.unklab.sa.ws;
import javax.annotation.Resource;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.HeuristicMixedException;
import javax.transaction.HeuristicRollbackException;
import javax.transaction.NotSupportedException;
import javax.transaction.RollbackException;
import javax.transaction.SystemException;
/**
*
* @author Stanly
*/
@WebService()
public class TuitionPayment {
@Resource
private javax.transaction.UserTransaction utx;
@PersistenceContext
EntityManager em;
/**
* Web service operation
*/
@WebMethod(operationName = "tuitionPayment")
public String tuitionPayment(
ci
@WebParam(name = "accountno") String accountno,
@WebParam(name = "amount") double amount) throws
NotSupportedException, SystemException, RollbackException,
HeuristicMixedException, HeuristicRollbackException {
utx.begin();
Chart2 info = em.find(Chart2.class, accountno);
if (info.getDbbal() > 0) {
if (amount > info.getDbbal()) {
info.setCrbal(info.getDbbal() - amount);
info.setDbbal(0.00000);
} else if (amount < info.getDbbal()) {
info.setDbbal(info.getDbbal() - amount);
} else if (amount == info.getDbbal()) {
info.setDbbal(0.00000);
}
} else if (info.getCrbal() < 0) {
info.setCrbal(info.getCrbal() - amount);
}
utx.commit();
return "Name: " + info.getAccount() + " Cr: " +
info.getCrbal() + " Db: " + info.getDbbal();
}
protected void persist(Object info) {
try {
utx.begin();
em.joinTransaction();
em.persist(info);
utx.commit();
} catch (Exception e) {
java.util.logging.Logger.getLogger(getClass().getName()).log(java.ut
il.logging.Level.SEVERE, "exception caught", e);
throw new RuntimeException(e);
}
}
}
IMPLEMENTASI CLASS NEWSTUDENTREGISTRATION
package org.unklab.studentregistration.ws;
import javax.annotation.Resource;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.naming.Context;
import javax.persistence.EntityManager;
cii
import javax.persistence.PersistenceContext;
/**
*
* @author tes
*/
@WebService()
@PersistenceContext(name = "persistence/LogicalName", unitName =
"WSStudentRegistration1PU")
public class NewStudentRegistration {
@Resource
private javax.transaction.UserTransaction utx;
/**
* Web service operation
*/
@WebMethod(operationName = "NewRegistration")
public String NewRegistration(
@WebParam(name = "aUid") String aUid,
@WebParam(name = "aRegistrationNo") String
aRegistrationNo,
@WebParam(name = "aName") String aName,
@WebParam(name = "aGender") String aGender,
@WebParam(name = "aNationality") String aNationality,
@WebParam(name = "aReligion") String aReligion,
@WebParam(name = "aRace") String aRace,
@WebParam(name = "aOriginatedSchool") String
aOriginatedSchool,
@WebParam(name = "aPlaceOfBirth") String aPlaceOfBirth,
@WebParam(name = "aDateofBirth") String aDateofBirth) {
//TODO write your implementation code here:
String msg="";
try {
Student s = new Student();
s.setUid(Integer.parseInt(aUid));
s.setRegistrationNo(aRegistrationNo);
s.setName(aName);
s.setGender(Integer.parseInt(aGender));
s.setNationality(Integer.parseInt(aNationality));
s.setReligion(Integer.parseInt(aReligion));
s.setRace(aRace);
s.setOriginatedSchool(aOriginatedSchool);
s.setPlaceOfBirth(aPlaceOfBirth);
s.setDateOfBirth(aDateofBirth);
persist(s);
msg ="Success.";
} catch ( Exception exception) {
msg = "Fail. "+ exception.getMessage();
ciii
}
return msg;
}
protected void persist(Object object) {
try {
Context ctx = (Context) new
javax.naming.InitialContext().lookup("java:comp/env");
utx.begin();
EntityManager em = (EntityManager)
ctx.lookup("persistence/LogicalName");
em.persist(object);
utx.commit();
} catch (Exception e) {
java.util.logging.Logger.getLogger(getClass().getName()).log(java.ut
il.logging.Level.SEVERE, "exception caught", e);
throw new RuntimeException(e);
}
}
}
civ
IMPLEMENTASI INTEGRASI PHP AND JAX-WS
Berikut ini adalah contoh cara mengakses web services Java dengan
menggunakan script PHP. Contoh berikut ini adalah potongan kode
program yang digunakan untuk menvalidasi user pada sistem informasi
Perpustakaan dengan menggunakan layanan validase user pada sistem
informasi akademik.
// *****************************************************//
// Call Web Service academic for validate user //
$param = array('aUserID' => $loginUsername,'aPassword'=> $password);
$wsdlValidateUser =
'http://localhost:8282/WSAcademic1/ValidateUserServiceService?WSDL';
$client = new soapclientNusoap($wsdlValidateUser,false);
$result = $client->call("validateUser",$param,
"http://ws.academic.unklab.org/");
// *****************************************************//