daftar pustaka - digilib.itb.ac.id · ... erl, thomas.(2004). service oriented architecture: ......

96
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

Upload: duongtram

Post on 14-Oct-2018

225 views

Category:

Documents


0 download

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:

xxxiv

Level: Complexity:

Use Case Status: Implementation Status: Assigned To: Release:

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/");

// *****************************************************//

cv

LAMPIRAN H. LIST OF WEB SERVICES PAGE

cvi

LAMPIRAN I. PROTOTIPE INTERFACE NEW REGISTRATION

cvii

LAMPIRAN J. REGISTRATION STATUS SERVICE TESTER

cviii

LAMPIRAN K. GETINFOLECTURER SERVICES TESTER

cix

LAMPIRAN L. GETINFOSTUDENTSERVICE TESTER

cx

LAMPIRAN M. VALIDATE USER SERVICE TESTER

cxi

Prototipe Index Page Library Portal

cxii

LAMPIRAN N. LOGIN PAGE PORTAL LIBRARY

cxiii

LAMPIRAN O. USER HOME PAGE LIBRARY PORTAL