The Code Style site has evolved by gradual refinement and accumulation of features and content. This review is part of a fully backdated site log and archive that sheds light on when, why and how particular features were implemented.
This log is sometimes updated several times per week, sometimes with a long overdue backlog of items. Many log entries refer to the Code Style Java package that delivers the servlet services and utilities used to manage this site.
Subscribe to the news feed for this log:
Minor finishing touches to the remaining classes in the Code Style 0.1 Java project, including DocumentTemplate and subclasses XhtmlTemplate and CodeStyleTemplate, and the abstract Sequence and concrete ImageSequence classes. Also finalised the interfaces Navigable, Presentable, and Viewable and test cases for HttpRequest, DocumentTemplate and Sequence.
Standardised private field properties for implementation of getServletInfo in all servlet classes. Made various final modifications to a range of classes prior to the deployment of the Code Style 0.1 Java project, including:
AnchorPoints servlet
ViewSource servlet
DocumentTemplate and SequenceFactory to the init method of the ViewSequence servlet, re-packaged to org.codestyle.template and simplified markup concatenation
ParseRDF servlet in the org.codestyle.xml package
Completed JUnit test cases for AnchorPoints, MockServletResponse (proper implementation of the getQueryString method), and the servlet test case document.
Introduced standard Code Style style links to the AntDoc.xsl build documentation template via a new imported styles-Standard.xsl template and modified the output text slightly.
Added a check for null arguments to the SequenceFactory getSequence method.
Added new fields to the CompareSample class for the comparison text and inline styles for popup and full window versions, and tidied up the markup concatenation.
Created a JUnit test case for the abstract ViewableSample class through its concrete subclasses TextSample, CompareSample and ImageSample.
Updated SequenceFactory to use the new DocumentTemplate constructor argument for ImageSequence objects.
Created a JUnit test case for the abstract Sample class through its concrete subclasses TextSample, CompareSample and ImageSample.
Added Safari version 64 to the validation script for the Mac font sampler and survey.
Implemented the new Presentable getIndent method in the abstract DocumentTemplate class. Finished JavaDoc comments for the SequenceFactory class.
Created a further set of mock objects for unit testing various servlet features:
MockServletOutputStream
OutputStream that implements ServletOutputStream, based on NullOutputStream in Java I/O by Elliotte Rusty Harold, see Anchor Points: Java & servlets.
MockServletConfig
ServletConfig type
MockServletContext
ServletContext type
MockServletResponse
HttpServletResponse type that includes a MockServletOutputStream, as above, and a PrintWriter attached to this stream
Also created a first draft XHTML document with a set of hyperlinks to readily check test case request configurations for the FontSampler servlet.
Re-wrote the Ant build file to consolidate the development and production targets. Introduced new test and restore targets to run the JUnit tests and restore the previous state of the system respectively. There is no longer any distinction between the development and production build process except the host on which the script is run and the Ant properties and filters files they use. The private test build can still be deployed independently of the public "live" build.
Renamed the Ant local.live.filters and remote.live.filters files to just local.filters and remote.filters respectively. Deleted the redundant local.dev.filters file.
Re-packaged the FontSampler servlet in a new org.codestyle.sampler package with its set of supporting classes and re-configured its URL alias. Added a getCssNote template method to the abstract Sample class for common browser CSS and font configuration information. Re-structured the conditional logic of the SampleFactory class that instantiates concrete ViewableSample types for all valid permutations, TextSample, CompareSample and ImageSample.
Added new fields to the ImageSample class for image height and width, and tidied up the markup concatenation. Tidied up the markup concatenation and pad implementation for the TextSample class also.
Created JUnit test cases for the SampleFactory and FontSampler classes. These test cases required new configurable get and set header methods for the MockServletRequest class, and the extension of the test methods in the MockServletRequestTest class to ensure appropriate behaviour.
Declared a new getIndent method to the Presentable interface for implementation in the DocumentTemplate classes, including CodeStyleTemplate. Wrote a new getDocumentNavigation method for the CodeStyleTemplate class to wrap navigational anchors in custom container markup.
Removed the implements Navigable statement from the draft Section class.
Created a link to the Safari Web browser screen shot from the DOM1 visibility menus article and added a new answer on A: hover styling to the DOM1 visibility menu FAQ.
Updated links on the Anchor Points: Your submissions page.
Created a MockServletRequest class for unit testing with configurable get and set methods for parameters and cookies. Also created a unit test class for the MockServletRequest class to ensure appropriate behaviour.
Added new getIntro, getContent and getDocumentNavigation methods to the ImageSequence class to fulfil the Presentable and Navigable interfaces.
Re-configured the ServletUtilities getFirstParameter method to better handle null arguments and white space in parameters and adopted the getCookie and getCookieValue methods from the abandoned CSS selector servlet.
Wrote an abstract ViewableSample class for the new FontSampler servlet implementation; a Viewable interface for Sample objects.
Updated the ServletUtilities import statement for the ViewSequence servlet and wrote a JUnit test case for ServletUtilities.
Created a separate source hierarchy for JUnit test classes with the same package alignment as the primary source to clean up JavaDoc generation. Re-configured the Ant build script for the Code Style project to reflect the new test class location and set debug=on in the local.properties configuration to get debugging information from JUnit tests.
Created a Safari Web browser screen shot from a submitted PDF to show the rendering problems with the DOM1 visibility menus. Added Safari version 60 to the validation script for the Mac font sampler and survey.
Gave the Java Discoverable and Linkable interfaces public visibility. Created a JUnit test case for the new SequenceFactory class.
These backdated pages record detailed changes to the Code Style Web site since July 2000, when development first got underway. Some pages may refer to documents or features that have since changed or are no longer part of the site, but the archive is checked to ensure there are no dead links.
For a summary overview, see the annotated site log contents.