designdokument för eard sip-generator 2013-04-29/file/130429_webb...eard sip generator 2.6.3...
TRANSCRIPT
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 1 (38) Projekt Anmärkning
eARD SIP Generator
Designdokument för eARD SIP-Generator
2013-04-29
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 2 (38) Projekt Anmärkning
eARD SIP Generator
Innehåll 1. Introduktion ............................................................................................................................ 3
1.1 Syfte ................................................................................................................................. 3 1.2 Projektmål ........................................................................................................................ 3 1.3 Teknologi ......................................................................................................................... 3 1.4 Begränsningar................................................................................................................... 4
2. Beskrivning ............................................................................................................................ 4 2.1 eARD SIP-Generator........................................................................................................ 4 2.2 Paketstruktur..................................................................................................................... 5 2.3 METS API........................................................................................................................ 5 2.4 Klasser .............................................................................................................................. 5
2.4.1 eARD SIP datastruktur.............................................................................................. 5 2.4.2 eARD prime grafisk datastruktur .............................................................................. 7
2.5 Flöde................................................................................................................................. 8 2.6 Grafiska gränssnitt............................................................................................................ 9
2.6.1 Startsida..................................................................................................................... 9 2.6.2 Inmatning manuell information............................................................................... 10 2.6.3 Kontroll av inmatade värden ................................................................................... 11 2.6.4 Uppladdning av filer................................................................................................ 12 2.6.5 Skapa paket ............................................................................................................. 13
2.7 Användarflöde ................................................................................................................ 14 3. Testning................................................................................................................................ 15
3.1 integrationstest ............................................................................................................... 15 4. Slutsats ................................................................................................................................. 15 Bilaga 1. DROID...................................................................................................................... 16 Bilaga 2. Mets .......................................................................................................................... 17 Bilaga 3. Klasser ...................................................................................................................... 19 Bilaga 4. Grafiskt användargränssnitt ...................................................................................... 37
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 3 (38) Projekt Anmärkning
eARD SIP Generator
1. Introduktion Ett e-arkiv skall ha funktioner och metoder för att ta emot och hantera digitalt material som levereras till arkivet. Detta bör i möjligaste mån ske i en automatisk process där levererat material kommer in på ett strukturerat och standardiserat sätt. För att skapa struktur på ett inleveranspaket har Förvaltningsgemensamma Specifikationer (FGS) för paketstruktur för e-arkiv1 tagits fram. Detta för att stödja en inleverans till ett e-arkiv samt utbyte av digital information mellan arkiv.
1.1 Syfte
Syftet med detta projekt är att utifrån Förvaltningsgemensamma Specifikationer (FGS) skapa en mjukvara (prototyp) som genererar ett inleveranspaket enligt FGS för ett e-arkiv.
1.2 Projektmål
Projektets mål att skapa en mjukvara som stödjer producenten vid skapandet av inleveranspaket enligt FGS. Mjukvaran skall vara semiautomatisk där viss information skall skrivas in av producent samt filer skall bifogas. Information av teknisk natur, såsom exempelvis hashsummor, storlek av fil, MIME-typ skall prototypen automatisk ta fram. Uppladdade filer, metadata samt en generad sip.xml enligt FGS skall sen paketeras till ett inleveranspaket (SIP). Mjukvaran skall fungera som en webb-baserad tjänst med webbgränssnitt som stödjer producenten i inleveransprocessen.
1.3 Teknologi
Den mjukvara som skapas kommer att skrivas i språket Java samt en del i SQL. En databas kommer att användas. All utveckling sker på en Ubuntu (Linux) dator. Mjukvara som används är:
• Netbeans 7.1, är det verktyg som används för att skriva kod. • MySQL 5.0, är den databas som används i projektet. • GlassFish 3.1.1, är den applikationsserver som används i projektet. • Apache Tomcat 7.0. • METS API 1.0 kodbibliotek för metsgenerering. • DROID 4, är en mjukvara som användas för filanalays. • Md5deep, används för att generera hashsummor. • Api Apache Commons Compress för paketering av filer. • PrimeFaces för generering av grafiskt gränsnitt. • Junits, har används skapa tester för mjukvaran under utvecklingen.
1 http://www.riksarkivet.se/Sve/Dokumentarkiv/Filer/FGS_Earkiv_Paket.pdf
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 4 (38) Projekt Anmärkning
eARD SIP Generator
1.4 Begränsningar
Då mjukvaran är en prototyp så kommer det att finnas begränsningar i felhanteringen och grafisk design samt mjukvaran är inte optimerad för stora mängder data.
2. Beskrivning Utifrån tidigare förkunskaper från projektet CAST2 där en webb-baserad tjänst för webbarkivering skapades ser man en naturlig koppling till detta delprojekt i eARD. Det tankesätt som användes samt en del av de lösningar som är prövade i detta projekt kommer till användning i eARD SIP lösningen.
2.1 eARD SIP-Generator
Är en tjänst som körs på en server med grafiska gränssnitt (GUI) som nås via webbläsare. Man laddar upp via GUI:et exempelvis:
• Filer som innehåller data, de filer som skall arkiveras. • Man skickar med metadata om de uppladdade objekten. • Man fyller i den metadatainformation som krävs utöver det som levererades i
metadatafilerna via det grafiska webb gränssnittet.
Bild1: Övergripande bild på eARD SIP-Generator.
2 http://www.ltu.se/centres/Centrum-for-langsiktigt-digitalt-bevarande-LDB/Vara-projekt/Cast
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 5 (38) Projekt Anmärkning
eARD SIP Generator
Mjukvaran gör därefter filanalys3, skapar SIP.xml4 samt paketerar ihop levererande filer till ett TAR-paket. Fördelarna med detta är att genom att ha mjukvaran på ett ställe underlättar det underhållet såsom buggfixar, periodiska uppdateringar av filer som används av filanalysverktyget. Man har bättre kontroll av version av mjukvara då den endast finns på ett ställe, men nås av flera användare. Detta löser också de eventuella problem man har med gammal mjukvara ute hos användare som inte är uppdaterad, problem med installation med mera.
2.2 Paketstruktur
Fysisk paketstruktur på disk består av katalogerna; content, metadata samt system i enlighet med FGS paketstruktur för SIP (bild2).
Bild2: Katalogstruktur för inleveranspaket.
Paketstrukturen med uppladdat innehåll samt automatiskt genererad METS som läggs på rotnivå hålls sedan ihop i ett tar paket, alternativt ett zip paket.
2.3 METS API
För genering av METS-fil har kodbibliotek Mets API 1.0 används från The Australian National Universitet5 (ANU). En del koden i API:et har skrivits om för att anpassas mot FGS paketstruktur för e-arkiv.
2.4 Klasser
eARD SIP-Generator består av två stycken moduler, eARD sip som är logisk struktur för analys, paketering och generering av mets samt eARD prime, logisk struktur för kommunikation mellan användare och server.
2.4.1 eARD SIP datastruktur
eARD SIP-Generators bakomvarande datastruktur består totalt av 11 stycken klasser med följande metoder:
3 Se bilaga 1 4 Se bilaga 2 5 http://www.anu.edu.au/
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 6 (38) Projekt Anmärkning
eARD SIP Generator
• EARDsip
o Main o hashAndPath
• AnalyzeFiles o setPathCatalog o setDroidList o createFileListForDroid o createFileList
• Common o deleteFile o dateAndTime
• Droid o setPathConfig o setDroidOutputXml o droidOutputXmlToDB o tagValue
• HashSum o setCatalog o setOutFilel o setAlgoritm o createHashsum o createHashsumforfile o generateUID o generateFileUID
• StartDroid o Main
• DataBase o setPathConfig o writeToMetsDB o writeToPaketinfoDB o writeToDroidInfoDB o setDbForRs o getDataForMets o setCloseDbForRs o truncTable o getNrOfFiles
• FileValues o getFilename o getMimevalue o getFileversion o getMB o createMeFiles o fileData o mimeTypes
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 7 (38) Projekt Anmärkning
eARD SIP Generator
• ReadWriteXml
o writeConfigfile o readConfigfile o writeToXmlTagOrAttribByIdx o writetoXMLfile
• MetsCreator o setPathToMetsfile o metsForWebb
• CreateTarFiles o setPathTarBall o setInputFileCatalog o tarFiles
Mer information om klasserna i eARD SIP finns i bilaga 3.
2.4.2 eARD prime grafisk datastruktur
Det grafiska gränssnittet består av 4 stycken paket som innehåller totalt 14 stycken klasser för att hantera grafiskt gränssnitt och kommunikation mellan användare och bakomvarande automatiska processer. Bilaga 4 presenterar paket samt klasser.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 8 (38) Projekt Anmärkning
eARD SIP Generator
2.5 Flöde
Bilderna nedan visar på kommunikation mellan de olika klasserna i mjukvaran. Flöde 1 (bild 3) visar på flödet från filer laddas upp och den analys som sker. Information laddas sedan upp i skapad databas.
User GUI EARDsip AnalyzeFiles CommonDataBaseFileValuesHashSumReadWriteXml DROID 4
upload
startInput info
start
gen UUIDUUID
write UUIDread Catalog
read HashType read hashfile path
calc Hashsum
read hashfile
gen FileUIDfileUID
Filename
MbMime
Date-Time
write Hashsum
write UUIDwrite FileUID
write Date-Timewrite Mimewrite Mb
write Filenamewrite Filepath
Clean
read DROID pathread Inputfile
read Outputfile read Signfile path
read Inputfile
read Catalog
set Catalogset Inputfile
create Droidlist
Start (DROID path, Inputfile,Signfile path, Outputfile )finish
Clean
DroidStartDroid
run
pathConfigread Outputfile
pathOutputfilerun
write UUIDwrite Filepathwrite Statuswrite Name
write Versionwrite PUIDwrite Mime
write IdWarning
Bild 3: Visar flöde från användarinteraktion till inläsning av information i databas.
Flöde nedan (bild 4) visar generering av Mets samt skapande av tarpaket, är en fortsättning av ovanstående flöde.
Bild 4: Visar flöde från generering av METS till leverans av paket till användare.
Bild 4 är förenklad då API METS flödet ej presenteras.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 9 (38) Projekt Anmärkning
eARD SIP Generator
2.6 Grafiska gränssnitt
Som grafiskt gränsnitt används Primefaces6 som är ett kodbibliotek. Primefaces skall göra det enklare att koppla ihop de olika lagren mot ett grafiskt webbgränsnitt. Biblioteket innehåller ett antal komponenter för att förenkla grafisk programmering, en del av dessa används i detta projekt. eARD SIP-Generators första beta GUI presenteras här nedan.
2.6.1 Startsida
Bild 5: Startsida.
Detta är startsidan version 1 för eARD SIP-Generator bild 5. Det är ett test-GUI som används för utveckling samt betatestning av hela mjukvaran. Förslag till ett bättre GUI, en version 2 är under utveckling.
6 http://primefaces.org/
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 10 Projekt Anmärkning
eARD SIP Generator
2.6.2 Inmatning manuell information
Bild 6: Inmatningsfönster för användare.
Bild 6 visar den information som skall matas in av användare. Informationen lagras i en tabell som sedan används för att fylla i Mets-dokumentets taggar, mets:mets samt mets:metsHdr, se vidare bilaga 2.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 11 Projekt Anmärkning
eARD SIP Generator
2.6.3 Kontroll av inmatade värden
Bild 7: Kontrollfönster. Efter att spara post i databas får man upp en kontrollsida där man kan granska inmatade värden och eventuellt redigera dem innan man går vidare till att ladda upp filer.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 12 Projekt Anmärkning
eARD SIP Generator
2.6.4 Uppladdning av filer
Bild 8: Uppladdningsfönster för filer.
Detta fönster (bild 8) visar uppladdning av content, metadata samt systemfiler. Filer som är produkten från ett uttag från någon av de underliggande leveranstyper såsom:
• Ärende- och dokumethantering • Personal • Ekonomi • Webbplatser och intranät
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 13 Projekt Anmärkning
eARD SIP Generator
2.6.5 Skapa paket
bild 9: Sida för generering av SIP.
Efter att fyllt i persondata och manuell information samt laddat upp filer så genereras eARD SIP via GUI (bild9) ovan. Ett tryck på knappen skapa paket startar paketprocessen. Efter ett tag fås en länk till genererat paket i url till paket. Användaren kopierar länken in i en ny flik i webbläsaren och paketet börjar laddas ner via webbläsaren. Programmet avslutas sedan genom att Gå tillbaka till huvudmeny.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 14 Projekt Anmärkning
eARD SIP Generator
2.7 Användarflöde
Det grafiska flödesschemat nedan (bild 10) visar de olika alternativa flöden som finns för en användare i det grafiska gränssnittet som ingår i eARD SIP-Generator som presenteras i 2.6.1 till 2.6.5.
bild 10: Visar på de olika flöden som finns i det grafiska gränssnittet.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 15 Projekt Anmärkning
eARD SIP Generator
3. Testning Under konstruktion av eARD SIP-Generator har varje delkomponent testas, tester som huvudsak har varit funktionstester. Det vill säga att komponenten fungerar, gör logiskt det den är skriven att göra. När hela projektet och dess komponenter sattes ihop gjordes också en del funktionstester för att se att det tänkta övergripande flödet fungerade. De eventuella logiska fel som upptäckts i komponenter har rättats till.
3.1 integrationstest
eARD SIP-Generator har satts upp tillfälligt på en utgående server som nås via webben. Systemet körs via en Dell 4-kärnig processor på vardera 3 GHz med primärminne på 8 GB. Mjukvaran är Ubuntu 10.04 LTS 64 bitar. Följande tester har gjorts på eARD SIP-Generator:
• Systemkompabilitet mot olika webbläsare (Google Chrome, Mozilla Firefox och Internet Explorer)
• Val och test av olika hashsummor(SHA1, MD5) • Enkel stresstest med ca 50 filer med total storlek av 100 MB • Större mängd data testad och överförd, 12 filer med total storlek av 868 MB
4. Slutsats Mjukvaran eARD SIP-Generator uppfyller projektets mål, en semiautomatisk mjukvara där användare har stöd i sitt skapande av en SIP enligt FGS på ett enkelt sätt. Fördelen med en webbaserad lösning som är en del i detta projekt är att man har mjukvaran i ett exemplar, vilket förenklar underhållet. Den går också att köra på sitt egna intranät, vilket har provats under utvecklingsfasen. Då detta är en prototyp så finns det potential utveckla den, speciellt det grafiska gränssnittet mot användaren. Även finns det möjligheter att utveckla databasen så att den kan lagra olika användare. Då skulle varje användare ha exempelvis ett ID som håller informationen om en personen/myndigheten. Vidare finns det möjlighet i mjukvaran att skräddarsy olika METS-profiler. eARD SIP-Generator är nu endast kompatibel med Linux men går att relativt lätt konvertera till Windowsmiljö om så önskas.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 16 Projekt Anmärkning
eARD SIP Generator
Bilaga 1. DROID Utklipp på vad DROID levererar ut efter en filanalys. Taggar markerat gröna (innanför ruta) nedan visar vilken information som finns tillgänglig från en analyserad fil för inmatning i mets struktur (sip.xml). <?xml version="1.0" encoding="UTF-8"?> <FileCollection xmlns="http://www.nationalarchives.gov.uk/pronom/FileCollection"> <DROIDVersion>4.0</DROIDVersion> <SignatureFileVersion>66</SignatureFileVersion> <DateCreated>2013-01-15T09:06:39</DateCreated> <IdentificationFile IdentQuality="Positive" > <FilePath>/home/goran/testfiler/content/TESTFIL_Wave.wav</FilePath> <FileFormatHit> <Status>Positive (Specific Format)</Status> <Name>Waveform Audio (PCMWAVEFORMAT)</Name> <PUID>fmt/141</PUID> <MimeType>audio/x-wav</MimeType> </FileFormatHit> </IdentificationFile> <IdentificationFile IdentQuality="Positive" >
<FilePath>/home/goran/testfiler/content/AlbumArt_Large.jpg</FilePath> <FileFormatHit> <Status>Positive (Specific Format)</Status> <Name>JPEG File Interchange Format</Name> <Version>1.01</Version> <PUID>fmt/43</PUID> <MimeType>image/jpeg</MimeType> </FileFormatHit>
</IdentificationFile> <IdentificationFile IdentQuality="Positive" >
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 17 Projekt Anmärkning
eARD SIP Generator
Bilaga 2. Mets En test av eARD sip mjukvaran har gjorts. Två filer, en JPEG2000 samt en GIF fil har används som testmaterial. Nedanstående metsfil genererades av mjukvaran:
<?xml version="1.0" encoding="UTF-8" ?> - <mets:mets xmlns:mets="http://www.loc.gov/METS/" ID="ID124-45-32-1" LABEL="En testinmatning
från DB" OBJID="UUID:ID345-345-321-789-1" PROFILE="http//xml.ra.se/METS/RA_METS_eARD.xml" TYPE="SIP" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/METS/ http://xml.ra.se/METS/RA_METS_eARD.xsd">
- <mets:metsHdr CREATEDATE="2013-02-28T09:20:18Z" LASTMODDATE="2013-02-28T09:20:18Z"> - <mets:agent ROLE="CREATOR" TYPE="ORGANIZATION"> <mets:name>Myndigheten för test</mets:name>
</mets:agent> - <mets:agent ROLE="CREATOR" TYPE="INDIVIDUAL"> <mets:name>DB Testman</mets:name> <mets:note>070-23571113</mets:note> <mets:note>[email protected]</mets:note>
</mets:agent> - <mets:agent OTHERTYPE="SOFTWARE" ROLE="CREATOR" TYPE="OTHER"> <mets:name>eARD prototyp</mets:name>
</mets:agent> - <mets:agent ROLE="ARCHIVIST" TYPE="ORGANIZATION"> <mets:name>LDB-Centrum, LTU</mets:name> <mets:note>ORG:202100-2841</mets:note>
</mets:agent> - <mets:agent OTHERTYPE="SOFTWARE" ROLE="ARCHIVIST" TYPE="OTHER"> <mets:name>Testfiler från CODA projektet</mets:name>
</mets:agent> - <mets:agent ROLE="PRESERVATION" TYPE="ORGANIZATION"> <mets:name>LDB Centrum</mets:name> <mets:note>ORG:101100-1635</mets:note>
</mets:agent> <mets:altRecordID TYPE="DELIVERYTYPE">Div filer</mets:altRecordID> <mets:altRecordID TYPE="DELIVERYSPECIFICATION">Testfiler från CODA år
2006</mets:altRecordID> <mets:altRecordID TYPE="STARTDATE">2013-02-27</mets:altRecordID> <mets:altRecordID TYPE="SUBMISSIONAGREEMENT">Avtal med Mats RA</mets:altRecordID> <mets:metsDocumentID>sip.xml</mets:metsDocumentID>
</mets:metsHdr> - <mets:fileSec> - <mets:fileGrp ID="fgrp001" USE="FILES"> - <mets:file CHECKSUM="666b8cce3e72ffb52e0308de3991086b" CHECKSUMTYPE="MD5"
CREATED="2013-02-28T09:20:18Z" ID="ID31310-999-98" MIMETYPE="image/jp2" SIZE="1726810" USE="JP2 (JPEG 2000 part 1);none;x-fmt/392">
<mets:FLocat LOCTYPE="URL" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="file:content/TESTFIL_Jpeg2000_p1.jp2" xlink:type="simple" />
</mets:file>
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 18 Projekt Anmärkning
eARD SIP Generator
- <mets:file CHECKSUM="091c6e6fcb083a639d6a7443e1c1863c" CHECKSUMTYPE="MD5"
CREATED="2013-02-28T09:20:18Z" ID="ID26410-205-19" MIMETYPE="image/jpeg"
SIZE="676533" USE="JPEG File Interchange Format;1.01;fmt/43">
<mets:FLocat LOCTYPE="URL" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="file:content/AlbumArt_Large.jpg " xlink:type="simple" />
</mets:file> </mets:fileGrp> </mets:fileSec>
- <mets:structMap> - <mets:div LABEL="FILES"> <mets:fptr FILEID="ID31310-999-98" /> <mets:fptr FILEID="ID26410-205-19" />
</mets:div> </mets:structMap> </mets:mets>
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 19 Projekt Anmärkning
eARD SIP Generator
Bilaga 3. Klasser Här presenteras de olika klasserna som ingår i eARD SIP mer utförligt.
3.1 Klass EARDsip
• java.lang.Object o eardsip.EARDsip
public class EARDsip extends java.lang.Object
Field Summary
Fields
Modifier and Type Field and Description protected static java.lang.String dbChecksum
protected static java.lang.String dbDate
protected static java.lang.String dbFileID
protected static java.lang.String dbFullpath
protected static java.lang.String dbMime
protected static java.lang.String dbPaketuid
protected static java.lang.String dbSize
protected static java.lang.String dbUse
protected static java.lang.String dbXlinkPath
protected java.lang.String filepath
protected static java.lang.String hashsumType
protected static java.lang.String pathConfig
Konstructor Summary
Constructors
Constructor and Description EARDsip()
Method Summary
Methods
Modifier and Type Method and Description static void main(java.lang.String[]args)
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
hashsumType protected static java.lang.String hashsumType filepath
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 20 Projekt Anmärkning
eARD SIP Generator
protected java.lang.String filepath pathConfig protected static java.lang.String pathConfig dbFullpath protected static java.lang.String dbFullpath dbXlinkPath protected static java.lang.String dbXlinkPath dbChecksum protected static java.lang.String dbChecksum dbMime protected static java.lang.String dbMime dbSize protected static java.lang.String dbSize dbUse protected static java.lang.String dbUse dbDate protected static java.lang.String dbDate dbFileID protected static java.lang.String dbFileID dbPaketuid protected static java.lang.String dbPaketuid
Constructor Detail EARDsip public EARDsip() Method Detail main public static void main(java.lang.String[] args) See Also: metod som kör övriga klasser
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 21 Projekt Anmärkning
eARD SIP Generator
3.2 Klass AnalyzeFiles
• java.lang.Object o eardsip.AnalyzeFiles
public class AnalyzeFiles extends java.lang.Object Field Summary
Fields
Modifier and Type Field and Description
protected static java.lang.String L_droidLista
protected static java.lang.String L_pathKatalog
Constructor Summary
Constructors
Constructor and Description
AnalyzeFiles()
Method Summary
Methods
Modifier and Type Method and Description
static boolean CreateFileList()
void setDroidList(java.lang.String droidLista) Set the value of string
void setPathCatalog(java.lang.String pathkatalog) Set the value of string
boolean createFileListForDroid()
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Field Detail L_pathKatalog protected static java.lang.String L_pathKatalog L_droidLista protected static java.lang.String L_droidLista Constructor Detail AnalyzeFiles public AnalyzeFiles()
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 22 Projekt Anmärkning
eARD SIP Generator
Method Detail setPathCatalog public void setPathCatalog(java.lang.String pathkatalog) Parameters: string - skall peka på katalog som innehåller kataloger content,metadata,system. setDroidList public void setDroidList(java.lang.String droidLista) Parameters: string - output för droidlista inkl. filnamnet createFileListForDroid public boolean createFileListForDroid() Parameters: Sträng - med sökväg till överliggande katalog med uppackade filer Sträng - till java.lang.Object eardsip.AnalyzeFiles där fillista skall skapas. Returns: boolean true/false See Also: en fillista av de filer som finns uppackade i en katalog, fillistan används av DROID4. CreateFileList public static boolean CreateFileList() Returns: boolean true/false See Also: som skapar en fillista innehållande sökväg till filer
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 23 Projekt Anmärkning
eARD SIP Generator
3.3 Class Common
• java.lang.Object o eardsip.Common
public class Common extends java.lang.Object Constructor Summary
Constructors
Constructor and Description
Common()
Method Summary
Methods
Modifier and Type Method and Description
java.lang.String dateAndTime()
boolean deleteFile(java.lang.String
pathtofile)
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail Common public Common() Method Detail
deleteFile public boolean deleteFile(java.lang.String pathtofile). Parameters: Sträng - med sökväg inkl. filnamnet. Returns: boolean true/false See Also: given fil. dateAndTime public java.lang.String dateAndTime(). Returns: String, datumtidstämpel. See Also: en datum och tidsstämpel.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 24 Projekt Anmärkning
eARD SIP Generator
3.4 Class DataBase
• java.lang.Object o eardsip.DataBase
public class DataBase extends java.lang.Object Constructor Summary
Constructors
Constructor and Description
DataBase()
Method Summary
METHODS
Modifier and Type Method and Description
void setPathConfig(java.lang.String pathConfig)
boolean truncTable(java.lang.String tblName)
boolean
writeToDroidInfoDB(java.lang.String paketUID,
java.lang.String filePath,
java.lang.String Status,
java.lang.String Name,
java.lang.String Version,
java.lang.String PUID,
java.lang.String mimeValue,
java.lang.String idWarning)
boolean
writeToMetsDB(java.lang.String paketUid,
java.lang.String filUid,
java.lang.String filNamn,
java.lang.String filDatum,
java.lang.String Mime,
java.lang.String Version,
java.lang.String Byte,
java.lang.String hashSum,
java.lang.String hashsumType,
java.lang.String filePath)
boolean
writeToPaketinfoDB(java.lang.String paketBesk,
java.lang.String paketDatum,
java.lang.String levOrg,
java.lang.String kontaktNamn,
java.lang.String kontaktTele,
java.lang.String kontaktMail,
java.lang.String sipMjukvara,
java.lang.String arkivSkaparNamn,
java.lang.String arkivSkaparOrgnr,
java.lang.String levSysNamn,
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 25 Projekt Anmärkning
eARD SIP Generator
java.lang.String bevOrgNamn,
java.lang.String bevOrgID,
java.lang.String levTyp,
java.lang.String levSpec,
java.lang.String levDatum,
java.lang.String levOverKommelse,
java.lang.String dokumentId,
java.lang.String paketUID)
Methods inherited from class clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Constructor Detail DataBase public DataBase() Method Detail setPathConfig public void setPathConfig(java.lang.String pathConfig) writeToMetsDB public boolean writeToMetsDB(java.lang.String paketUid, java.lang.String filUid, java.lang.String filNamn, java.lang.String filDatum, java.lang.String Mime, java.lang.String Version, java.lang.String Byte, java.lang.String hashSum, java.lang.String hashsumType, java.lang.String filePath) Returns: boolean true/false See Also: metod skriver ner data (tbl:mets) till sip_db DB (mySQL). writeToPaketinfoDB public boolean writeToPaketinfoDB(java.lang.String paketBesk, java.lang.String paketDatum, java.lang.String levOrg, java.lang.String kontaktNamn, java.lang.String kontaktTele, java.lang.String kontaktMail, java.lang.String sipMjukvara, java.lang.String arkivSkaparNamn, java.lang.String arkivSkaparOrgnr, java.lang.String levSysNamn, java.lang.String bevOrgNamn, java.lang.String bevOrgID, java.lang.String levTyp, java.lang.String levSpec, java.lang.String levDatum, java.lang.String levOverKommelse, java.lang.String dokumentId, java.lang.String paketUID) Returns: boolean true/false See Also: metod skriver ner data (tbl:paketinfo) till sip_db DB (mySQL). writeToDroidInfoDB public boolean writeToDroidInfoDB(java.lang.String paketUID, java.lang.String filePath, java.lang.String Status, java.lang.String Name, java.lang.String Version, java.lang.String PUID, java.lang.String mimeValue, java.lang.String idWarning) Returns: boolean true/false See Also: metod skriver ner data från DROID till sip_db DB (mySQL).
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 26 Projekt Anmärkning
eARD SIP Generator
truncTable public boolean truncTable(java.lang.String tblName) Returns: boolean true/false See Also: metod som tömmer tbl i mySQL DB.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 27 Projekt Anmärkning
eARD SIP Generator
3.5 Class Droid
• java.lang.Object o eardsip.Droid
public class Droid extends java.lang.Object Constructor Summary
CONSTRUCTORS
Constructor and Description
Droid()
Method Summary
METHODS
Modifier and Type Method and Description
void droidOutputXmlToDB()
void setDroidOutputXml(java.lang.String
droidOutputXml)
void setPathConfig(java.lang.String pathConfig)
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail Droid public Droid() Method Detail setPathConfig public void setPathConfig(java.lang.String pathConfig) See Also: sökväg till configfil. setDroidOutputXml public void setDroidOutputXml(java.lang.String droidOutputXml) See Also: sökväg till DROID outputfil. droidOutputXmlToDB public void droidOutputXmlToDB() See Also: ut info från xml-fil och gör anrop till metod som skriver, info till DB.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 28 Projekt Anmärkning
eARD SIP Generator
3.6 Class FileValues
• java.lang.Object o eardsip.FileValues
public class FileValues extends java.lang.Object
Constructor Summary
CONSTRUCTORS
Constructor and Description
FileValues()
Method Summary
METHODS
Modifier and Type Method and Description
boolean createMeFiles(java.lang.String pathtocatalog)
boolean fileData(java.lang.String path)
java.lang.String getFilename()
java.lang.String getFileversion()
java.lang.String getMB()
java.lang.String getMimevalue()
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail FileValues public FileValues() Method Detail getFilename public java.lang.String getFilename() getMimevalue public java.lang.String getMimevalue() getMB public java.lang.String getMB() getFileversion public java.lang.String getFileversion() createMeFiles public boolean createMeFiles(java.lang.String pathtocatalog) Parameters: Sträng, - pathtocatalog, sökväg till katalog där filer finnes. Returns:
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 29 Projekt Anmärkning
eARD SIP Generator
boolean, true/false See Also: som sätter värden för de ingående filer som skall skrivas i, struktur. fileData public boolean fileData(java.lang.String path) Parameters: Sträng, - path, sökväg till fil. Returns:
boolean, true/false See Also:
som sätter värden för ingående fil, namn mime, mb, AD
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 30 Projekt Anmärkning
eARD SIP Generator
3.7 Class HashSum
• java.lang.Object o eardsip.HashSum
public class HashSum extends java.lang.Object
Constructor Summary
CONSTRUCTORS
Constructor and Description
HashSum(java.lang.String katalog,
java.lang.String sokvag_filnamn)
Method Summary
METHODS
Modifier and Type Method and Description
boolean createHashsum()
boolean createHashsumforfile(java.lang.String fullsokvag)
java.lang.String generateFileUID()
java.lang.String generateUID()
java.lang.String setAlgoritm(java.lang.String valAlgoritm)
void setCatalog(java.lang.String sKatalog)
void setOutFile(java.lang.String sUtfil)
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail HashSum Public HashSum(java.lang.String katalog, java.lang.String sokvag_filnamn) Parameters: katalog, - string sokvag_filnamn, - string See Also: konstruktor Method Detail
setCatalog public void setCatalog(java.lang.String sKatalog) Parameters: sKatalog, - string sokvag_filnamn, - string
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 31 Projekt Anmärkning
eARD SIP Generator
See Also: till katalog setOutFile public void setOutFile(java.lang.String sUtfil) Parameters: sUtfil, - string sokvag_filnamn, - string See Also: till outputfil setAlgoritm public java.lang.String setAlgoritm(java.lang.String valAlgoritm) Parameters: String - md5 alt sha1 See Also: en möjlighet att välja MD5 | SHA1 createHashsum public boolean createHashsum() Returns: boolean true/false See Also: metod som skapar en md5 lista över given katalogs filer createHashsumforfile public boolean createHashsumforfile(java.lang.String fullsokvag) Parameters: fullsokvag, - string See Also: som skapar hashsummor för en fil, en textfil med sökväg samt hashsumma (md5|SHA1) generateUID public java.lang.String generateUID() Returns: uid See Also: en UUID och skriver ner den i configfilen generateFileUID public java.lang.String generateFileUID() Returns: file_uid See Also: en UUID för en fil
3.8 Class ReadWriteXml
• java.lang.Object o eardsip.ReadWriteXml
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 32 Projekt Anmärkning
eARD SIP Generator
public class ReadWriteXml extends java.lang.Object Constructor Summary
CONSTRUCTORS Constructor and Description
ReadWriteXml()
Method Summary
METHODS Modifier and Type Method and Description java.lang.String readConfigfile(java.lang.String pathconfigfile,
java.lang.String tag)
void writeConfigfile(java.lang.String pathconfigfile,
java.lang.String tag, java.lang.String value)
boolean writeToXmlTagOrAttribByIdx(java.lang.String
pathofxmlfile, java.lang.String tag, java.lang.String
attr, java.lang.String value, int nodeIdx)
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Constructor Detail ReadWriteXml Public ReadWriteXml() Method Detail
writeConfigfile Public void writeConfigfile(java.lang.String pathconfigfile, java.lang.String tag, java.lang.String value) Parameters: Sträng, - sökväg till configfil Sträng, - tagnamn dit värde skall skrivas Sträng, - värdet som skall skrivas ner See Also: som skriver ner data till xml-configurationsfil readConfigfile Public java.lang.String readConfigfile(java.lang.String pathconfigfile, java.lang.String tag) Parameters: Sträng, - sökväg till configfil Sträng, - taggnamn där data finns att hämta Returns: Sträng, värdet från given tagg See Also: ut data ur xml configurationsfil writeToXmlTagOrAttribByIdx public Boolean writeToXmlTagOrAttribByIdx(java.lang.String pathofxmlfile, java.lang.String tag, java.lang.String attr, java.lang.String value, int nodeIdx)
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 33 Projekt Anmärkning
eARD SIP Generator
Parameters: Sträng, - sökväg till configfil. Sträng, - taggnamn. Sträng, - attribut. Sträng, - värde som skall skrivas till attributet. int, - vilken nod i ordningen som skall skrivas till. Returns: boolean, true/false. See Also: data till xml configurationsfil, taggar med attribut.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 34 Projekt Anmärkning
eARD SIP Generator
3.9 Class StartDroid
• java.lang.Object o eardsip.StartDroid
public class StartDroid extends java.lang.Object Constructor Summary
CONSTRUCTORS Constructor and Description StartDroid()
Method Summary
METHODS Modifier and Type Method and Description
static void main(java.lang.String pathDroid, java.lang.String argA,
java.lang.String argS, java.lang.String argO)
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail StartDroid Public StartDroid() Method Detail
main public static void main(java.lang.String pathDroid, java.lang.String argA, java.lang.String argS, java.lang.String argO) See Also: Metod som startar Droid, fixar problem med start (buggproblem).
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 35 Projekt Anmärkning
eARD SIP Generator
3.10 Class MetsCreator
• java.lang.Object
o eardsip.MetsCreator public class MetsCreator extends java.lang.Object Constructor Summary
CONSTRUCTORS Constructor and Description MetsCreator() Method Summary
METHODS void metsForWebb()
void setPathToMetsfile(java.lang.String
pathToMetsfile)
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Constructor Detail MetsCreator public MetsCreator() Method Detail setPathToMetsfile public void setPathToMetsfile(java.lang.String pathToMetsfile) Parameters: pathToMetsfile, - string See Also: metsfil ink filnamn. metsForWebb See Also: Genererar en metsfil. detta skrivs ner i DB.
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 36 Projekt Anmärkning
eARD SIP Generator
3.11 Class CreateTarFile
• java.lang.Object
o eardsip.CreateTarFile public class CreateTarFile extends java.lang.Object Constructor Summary
CONSTRUCTORS Constructor and Description CreateTarFile() Method Summary
METHODS
Modifier and Type Method and Description void setInputFileCatalog(java.lang.String
inputFileCatalog)
void setPathTarBall(java.lang.String pathTarBall,
java.lang.String tarFileName)
void tarFiles()
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Constructor Detail CreateTarFile public CreateTarFile() Method Detail setPathTarBall public void setPathTarBall(java.lang.String pathTarBall, java.lang.String tarFileName) Parameters: pathTarBall –setInputFileCatalog
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 37 Projekt Anmärkning
eARD SIP Generator
Bilaga 4. Grafiskt användargränssnitt
4.1 Packages
eARDprime 1.0 består av följande paket:
PACKAGES 1. Beans 2. Beans.util 3. Com.mycompany.eardprime 4. Servlets 1. PACKAGE BEANS
CLASS SUMMARY AbstractFacade<T> DBSessionBean FileUploadController ManuellinfoController ManuellinfoController.ManuellinfoControllerConverter ManuellinfoFacade User UserWizard
2. PACKAGE BEANS.UTIL
CLASS SUMMARY JsfUtil PaginationHelper 3. PACKAGE COM.MYCOMPANY.EARDPRIME
CLASS SUMMARY Manuellinfo ReadWriteXml 4. PACKAGE SERVLETS
CLASS SUMMARY TestBeanServlet TestDB_Servlet
Systemdesigndokument för eARD SIP Författare Avd Telefon Datum Version Sid
Göran Lindqvist 070-5577734 2013-04-29 1.0 38 Projekt Anmärkning
eARD SIP Generator
4.2 Class Hierarchy
Klass hierarkin i eARDprime: java.lang.Object
• beans.AbstractFacade<T> o beans.ManuellinfoFacade
• beans.DBSessionBean • beans.FileUploadController (implements java.io.Serializable) • javax.servlet.GenericServlet (implements java.io.Serializable, javax.servlet.Servlet,
javax.servlet.ServletConfig) o javax.servlet.http.HttpServlet (implements java.io.Serializable)
� servlets.TestBeanServlet � servlets.TestDB_Servlet
• beans.util.JsfUtil • com.mycompany.eardprime.Manuellinfo (implements java.io.Serializable) • beans.ManuellinfoController (implements java.io.Serializable) • beans.ManuellinfoController.ManuellinfoControllerConverter (implements
javax.faces.convert.Converter) • beans.util.PaginationHelper • com.mycompany.eardprime.ReadWriteXml • beans.User • beans.UserWizar