Άσκηση 17.4
Ανάπτυξη της
λειτουργικότητας
ελέγχου
συνδέσμων
Θέση αρχείων = /ExerciseCode/C17/SeventeenFour/
Η άσκηση
αυτή περιέχει
ορισμένες
κλάσεις και
ορισμένα
αρχεία
κειμένου.
- Η
κλάση Link, όμοια με αυτή της προηγούμενης
άσκησης,
αναπαριστά ένα
σύνδεσμο που
σχετίζεται
με κάποιο
πελάτη.
- Η
κλάση LinkCollection ,
όμοια με αυτή
της προηγούμενης
άσκησης,
αναπαριστά μια
συλλογή από
αντικείμενα Link.
- Η
κλάση URLTest προέρχεται από την Άσκηση
17.1.Παρέχε
τη μέθοδο testURL
που ελέγχει
για το αν ένας
σύνδεσμος
είναι νεκρός ή
ανενεργός.
- Η
κλάση LinkCheckFrame
ελέγχει
τους
συνδέσμους
που υπάρχουν
στη βάση
δεδομένων
που
δημιουργήθηκε
στην προηγούμενη
άσκηση.
Φορτώνει ένα
παράθυρο που
περιέχει δυο
κουμπιά, ένα
για το
κλείσιμο
του
παραθύρου
και ένα για
τον έλεγχο
κάθε
συνδέσμου
της
βάσης
δεδομένων.
Αν συναντηθεί
κάποιος
ανενεργός
σύνδεσμος,
τότε μια
περιγραφή
σε XML του
ανενεργού
συνδέσμου
γράφεται
από το φάκελο
links.txt.
- Το
αρχείο links.txt
δημιουργείται
από το LinkCheckFrame.
Περιέχει την
περιγραφή των
συνδέσμων σε
μορφή XML. Η
περιγραφή
περιέχει
λεπτομέρειες
του
συνδέσμου URL,
της λεκτικής
περιγραφής
και τη
διεύθυνση email
του
χρήστη που
αποθήκευσε
το σύνδεσμο.
- Το
αρχείο linkdefnssoltn.txt
περιέχει τη
περιγραφή σε XML
για τους
ανενεργούς
συνδέσμους.
Αυτή είναι η
λύση της
άσκησης.
- Το
αρχείο linkdefns.txt
είναι το
αρχείο που
πρέπει να
τροποποιήσετε
για
την
ολοκλήρωση
της άσκησης.
Σας
παρέχεται η
πρώτη γραμμή.
Πρέπει να
περιέχει την
περιγραφή σε XML
των συνδέσμων
που
δημιουργήθηκαν
από την
κλάση LinkCheckFrame.
- Η
κλάση ReportProducer
επεξεργάζεται
το αρχείο
που
δημιουργήθηκε
από το
LinkCheckFrame και
παράγει μια
απλή λίστα όλων
των ανενεργών
συνδέσμων.
Το αρχείο
ονομάζεται report.txt.
- Το
αρχείο report.txt
παράγεται από
τη κλάση ReportProducer.
Η ΒΔ
είναι ίδια με
την
προηγούμενη
άσκηση
και έχει την
ακόλουθη
δομή.
Πεδίο
|
Περιγραφή
|
URL
|
Το URL του
συνδέσμου
που
πρόκειται να
ελεγχθεί
(Μέρος του
κλειδιού).
|
TextDescription
|
Μια
περιγραφή
του υλικού
που
αναφέρεται από
το URL.
|
NoOfDeadReferences
|
Πόσες
φορές το URL έχει
βρεθεί νεκρό.
|
LastEmailButOneSent
|
Η
ημερομηνία
στην οποία
στάλθηκε το
προτελευταίο
email για την
αναφορά
νεκρού
συνδέσμου.
|
LastEmail
|
Η
ημερομηνία
στην οποία
στάλθηκε το
τελευταίο email
για την
αναφορά
νεκρού
συνδέσμου.
|
EmailAddress
|
Η
διεύθυνση email
του χρήστη
που θέλει το
έλεγχο ενός
συνδέσμου.
(Μέρος του
κλειδιού).
|
Πριν
εκτελέσετε
την άσκηση
πρέπει να
κάνετε τα
εξής: Να
δηλώσετε τη
βάση
δεδομένων
και να
κατεβάσετε
τη
βιβλιοθήκη XML
για το
λογισμικό
της
IBM. Το
τελευταίο
θα πρέπει να το
έχετε
κατεβάσει
στα πλαίσια
των
ασκήσεων
του
κεφαλαίου 8.
Εδώ
χρησημοποιούμε
το σαρωτή
XMLxerces2 (παλιοτερα της ΙΒΜ)
και μπορείτε
να το πάρετε
από το Apache Foundadtion.
Η
δήλωση της
βάσης
δεδομένων
είναι όμοια με
αυτή της
προηγούμενης
άσκησης.
- Πατήστε Start|Settings|Control
Panel
- Δείτε
την εικόνα
που
καθορίζει
σύνδεση ODBC μα
στο control panel. Αυτή
είναι ένα απλό
σύστημα
ονομασίας
που
επιτρέπει τα
προγράμματα Java
να
επικοινωνούν
με μια βάση
δεδομένων της
Microsoft. Πατήστε 2
φορές την
εικόνα.
- Πατήστε το κουμπί addστο
παράθυρο που
εμφανίζεται.
- Στο
επόμενο
παράθυρο
πατήστε δύο
φορές τη γραμμή
που αρχίζει
με Microsoft Access Driver....
Ένα νέο
παράθυρο
πρέπει να
εμφανιστεί.
- Στο
νέο παράθυρο
εισάγεται
το
string " LinksData " στο
πεδίο Data Source Name.
Κατόπιν πατήστε το κουμπί Select.
- Πάτε
στον φάκελο
που περιέχει
την ΒΔ. Θα την
βρείτε στον
κατάλογο
/ExerciseCode/C17/SeventeenThree/. Θα
καταλάβετε
ότι έχετε
φτάσει
το όνομα του
καταλόγου
όταν αυτό (LinkDatabase .mdb)
εμφανιστεί
στην
πιο αριστερή
περιοχή
κειμένου.
Επιλέξτε τον
φάκελο και
πατήστε OK.
- Κλείστε
όλα τα
παράθυρα που
ανοίξατε
πατώντας OK σε
όλα.
- Τώρα η
ΒΔ μπορεί να
αναφερθεί με
το όνομα LinksData μέσα στο πρόγραμμα Java.
Η άσκηση
περιλαμβάνει
την ανάπτυξη
σε μορφή XML της
απλής
γλώσσας που
φαίνεται στο
αρχείο links.txt. Για
να
ολοκληρώσετε
την άσκηση
πρέπει να
κάνετε τα
παρακάνω
βήματα.
- Εξετάστε
τον
κώδικα μέσα
στο LinkCheckFrame για να
κατανοήσετε
τη
λειτουργία
του.
Είναι αρκετά
απλός, και
απλώς ανακτά
κάθε
σύνδεσμο από
τη βάση
δεδομένων
και ελέγχει
αν ο
σύνδεσμος
είναι
ανενεργός. Αν
είναι τότε
εμφανίζει ένα
κείμενο
βασισμένο σε
XML που
βρίσκεται
στο αρχείο
links.txt και
περιγράφει
τους
νεκρούς
συνδέσμους.
- Προσθέστε
κείμενο στο
αρχείο linkdefns.txt, το
οποίο
περιγράφει τη
δομή των
δεδομένων
του
συνδέσμου
που
παράγεται από
το LinkCheckFrame. Σας
παρέχεται η
πρώτη γραμμή
του αρχείου.
- Εξετάστε
τον
κώδικα μέσα
στο ReportProducer και
κατανοήστε
τι κάνει.
- Εκτελέστε
τον
κώδικα ReportProducer.
Πρόκειται για
ένα απλό
πρόγραμμα χωρίς
οπτική
αναπαράσταση
που απλώς
επεξεργάζεται
τα αρχεία links.txt
και
linkdefns.txt, ώστε να
παράγει το
περιεχόμενο
του αρχείου
report.txt.