MembershipDatabaseEditorTask
From PCSAR
The Membership Database exists as an XML file which is edited with a text editor.
BrettWuth plans to create a java application that will structured editing of the database using a graphical user interface.
[edit] Tasks:
- (done) decide which XML Schema validator to use: MembershipDatabaseEditorXMLTechnologyTask
(Castor)* (done) download and install Castor
- No Debian.org package available* 3rd party debian package
[http://www1.apt-get.org/search.php?query=castor&submit=&arch%5B%5D=i386&arch%5B%5D=all http://www1.apt-get.org/search.php?query=castor&submit=&arch%5B%5D=i386&arch%5B%5D=all]
deb [1] ./
deb-src [2] ./
Matches: castor 0.9.3.19-1 (all)
apt-get install castor
- direct documentation
[ftp://ftp.exolab.org/pub/castor/castor_0.9.5.3/castor-0.9.5.3-doc.tgz ftp://ftp.exolab.org/pub/castor/castor_0.9.5.3/castor-0.9.5.3-doc.tgz]
[ftp://ftp.exolab.org/pub/castor/castor_0.9.5.3/castor-0.9.5.3.tgz ftp://ftp.exolab.org/pub/castor/castor_0.9.5.3/castor-0.9.5.3.tgz]
[ftp://ftp.exolab.org/pub/castor/castor_0.9.5.4/castor-0.9.5.4-src.tgz ftp://ftp.exolab.org/pub/castor/castor_0.9.5.4/castor-0.9.5.4-src.tgz]
- (done) test castor
- (done) read doc/SourceGeneratorUser.pdf* (done) get examples/SourceGenerator to compile and
run
- (done) test and document my test procedures starting with
[ftp://ftp.exolab.org/pub/castor/castor_0.9.5.4/castor-0.9.5.4.tgz ftp://ftp.exolab.org/pub/castor/castor_0.9.5.4/castor-0.9.5.4.tgz] see [4]* (done) submit changes to examples/SourceGenerator to castor see [5]
- (done) resubmit patch against 0.9.6
see [6]
- (done) update my page for new patch, new issue page
see [7]
- (done) install castor
- (done) files placed in //errant/home/wuth/src/castor* (done) find/create script to run SourceGenerator :
CastorSourceGenerator* (done) create test case in //errant/home/wuth/sar/pc/membership/editor
- (done) reread doc/SourceGeneratorUser.pdf* (done) compile:
test/*.java test/types/*.java
- (done) load personnel-database.xml and print name of each
person see examples in [http://brainopolis.dnsalias.com/castorwiki/Wiki.jsp?page=Articles http://brainopolis.dnsalias.com/castorwiki/Wiki.jsp?page=Articles]
currently offline. see [http://www.google.com/search?q=cache:brainopolis.dnsalias.com/castorwiki/Wiki.jsp%3Fpage%3DArticles+site:brainopolis.dnsalias.com+castor&hl=en&lr=&strip=1 http://www.google.com/search?q=cache:brainopolis.dnsalias.com/castorwiki/Wiki.jsp%3Fpage%3DArticles+site:brainopolis.dnsalias.com+castor&hl=en&lr=&strip=1]
see Demo.java
- use castor to validate the database
- (done) validation occurs, supported automatically* develop error reporting
- (done) define types of errors that are typical
- (done) define details that should be reported* see
//errant/home/wuth/sar/pc/membership/editor/validation.txt* (done) develop test cases
- see
//errant/home/wuth/sar/pc/membership/editor/validation-test-cases/* (done) consider value of using Java 1.4 which supports Throwable.getCause()
- does not add any specifity* if need more detail need to enhance or replace org.xml.sax* consider using separate schema validation phase, separate from
castor (unmarshaller)
- see [file:///home/wuth/xml/msv/msv-20030225/JARV.html]* generate full detail error messages
- output each line of the input file* number each line of the input file* add error line (normally blank) and blank line between each
line of input file* print carat and dashes point at line and character found* print detailed error message* determine reporting gaps
- document the error produced by each test case (See howtodo file
for how to generate error output. See validation.txt)* review cases that don't produce an error* consider if enough information is available to report o user* mitigate gaps
- capture exceptions and customize error message
- see Demo.java* ask on castor users' mailing list* Create a java GUI for the validator