Group 2 Homework / Mar 29

2 views
Skip to first unread message

Mikheil Kapanadze

unread,
Apr 2, 2008, 8:46:39 PM4/2/08
to Java in TSU - 2008 (OOP 3 Course)
29 მარტის საშინაო დავალება მეორე ჯგუფისათვის შემდეგია:

მოცემული გაქვთ კლასი
public class Config {
private String driver;
private String url;
private String shutdownUrl;
// set და get მეთოდები
}

ასევე მოცემული გაქვთ ფაილი database.properties რომელიც დევს მთავარ
დირექტორიაში (Eclipse-ში ფაილი უნდა იდოს არა src, არამედ პროექტის
დირექტორიაში) და შეიცავს შემდეგ ინფორმაციას:

driver=org.apache.derby.jdbc.EmbeddedDriver
url=jdbc:derby:StudentsDB;create=true
shutdownUrl=jdbc:derby:;shutdown=true

თქვენმა პროგრამამ უნდა ჩატვირთოს ეს ფაილი java.util.Properties
ობიექტში, შემდეგ კი მასში ჩაწერილი ინფორმაციის საფუძველზე შეავსოს კლას
Config-ის ობიექტი (ამისათვის გამოიყენეთ Reflection API. მიაქციეთ
ყურადღება რომ კლასის ველებს იგივე სახელები ქვიათ რაც ”=” ნიშნის
მარცხენა მხარეს წერია და შეგიძლიათ მნიშვნელობები getProperty მეთოდით
ამოიკითხოთ). კონფიგურაციის წაკითხვა გაიტანეთ ცალკე კლასში ConfigLoader
და მისთვის გამოიყენეთ Singleton Pattern

Derby მონაცემთა ბაზაში StudentsDB შექმენით ცხრილი PERSON ველებით
PERSON_ID (ტიპი INT), FIRST_NAME, (ტიპი VARCHAR) LAST_NAME (ტიპი
VARCHAR), EMAIL (ტიპი VARCHAR) და შეავსეთ ის სატესტო ინფორმაციით.
ამისათვის შეგიძლიათ გამოიყენოთ Cloudscape Workbench ან რამე სხვა
პროგრამა

პროგრამაში შექმენით შემდეგი კლასი და შესაბამისი ანოტაციები:

@TableName("PERSON")
public class Person {
@FieldName("PERSON_ID")
private int id;

@FieldName("FIRST_NAME")
private String firstName;

@FieldName("LAST_NAME")
private String lastName;

@FieldName("EMAIL")
private String email;
// set და get მეთოდები
}

თქვენი პროგრამა უნდა აკეთებდეს შემდეგს
1. უნდა უკავშირდებოდეს მონაცემთა ბაზას, რომელიც განსაზღვრულია Config
კლასის ობიექტით

2. კითხულობდეს კლას Person-ის ობიექტებს ანოტაციაში მითითებული
ცხრილიდან და თითოეული ობიექტის ველებს ავსებდეს ცხრილის შესაბამისი
ველებიდან (შესაბამისობა განისაზღვრება ანოტაციით)

3. წაკითხული Person ობიექტების სია გამოჰქონდეს ეკრანზე. ამისათვის
Person კლასს განუსაზღვრეთ მეთოდი toString(), რომელიც დააბრუნებს
ინფორმაციას შემდეგი ფორმატით:
"Person[ id=1, firstName=Mikheil, lastName=Kapanadze,
email=mik...@mikheil.com]" (ველების მიმდევრობას მნიშვნელობა არ
აქვს). ეს სტრიქონიც ააწყეთ Reflection API-ს გამოყენებით. ანუ ჩათვალეთ
რომ toString() ბეჭდავს ამ ობიექტის ყველა ველს და თუ მომავალში რამე
ახალი ველი დაემატება, ამ მეთოდის ცვლილება საჭირო არ უნდა გახდეს.

4. დასრულების წინ ამოწმებდეს და თუ Config კლასის ობიექტში shutdownUrl
მითითებულია, მაშინ აკეთებდეს Derby-ს shutdown-ს
Reply all
Reply to author
Forward
0 new messages