[Laszlo-dev] For Review: Change 20081022-dda-a Summary: Improvements to XML Schemabuilder, use it as default

Donald Anderson dda at ddanderson.com
Wed Oct 22 13:42:34 PDT 2008


Change 20081022-dda-a by dda at lester.local on 2008-10-22 13:07:21 EDT
     in /Users/dda/laszlo/src/svn/openlaszlo/trunk-d
     for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Improvements to XML Schemabuilder, use it as default

New Features:

Bugs Fixed: LPP-3508 (Generate LZX Schema from js2doc output),  
LPP-2300 (PARTIAL) (Update laszlo namespace)

Technical Reviewer: hminsky (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
     This change set extends the XML schemabuilder in several ways  
described below.
     The output finally is usable as a schema, and is undoubtedly more  
accurate, so
     schema/lfc.lzx has been turned into an automatically generated  
file by this changeset.

     There should be no visible behavioral changes made by this  
changeset, its purpose
     is to make the LFC more maintainable, and to allow for future  
extensions.


     Changes specific to the schemabuilder:

     - Create classes in output in 'superclass order' - needed by the  
reader of this schema.

     - Use the javadoc access in the class if it is not available from  
the element (attribute/method/event),
       if there is no access there, use the unitid's access (that is,  
the javadoc at the top of each file).

     - the default inheritance is from Instance, not Object.

     - add class attributes

     - handle default values, enum types, and 'class' allocation for  
attributes

     - convert types (boolean->Boolean, etc.)

     - Added an attribute on <library> to show a version number.  This  
satisfies the
       next step for LPP-2300.  The version number is based on day/hr/ 
min/sec of build
       and looks like this:
         <library version="20081022143456">

     - Adds a facility to merge in pieces of the schema in order to  
add, modify, or remove items.
       The part merged in is hand-maintained and is called lfc- 
undeclared.lzx (to represent
       parts of the schema that are not declared in the LFC javadoc).   
For any
       piece of the schema to be overridden or added to, a parallel  
fragment of the schema
       is created in lfc-undeclared.lzx, the parts to be inserted  
appear in <insert>, parts
       to be deleted in <delete> or existing items can be changed with  
<replace>.  These
       instructions are merged with (and override) information derived  
automatically,
       so we ultimately have full control over the schema.  However  
many entries in
       lfc-undeclared represent items that are improperly declared in  
javadoc and
       could be cleaned up.  Since I was sometimes conservative in  
preserving parts
       of lfc.lzx, some parts of this file represent out of date  
information (just as
       the old lfc.lzx may have been out of date).  Even some TODO's  
from the original
       lfc.lzx have been preserved.

        => As a long term goal, we should seek to eliminate all or  
most of the items in lfc-undeclared.lzx .
           Some items, like <containsElements> could only be removed  
by extending javadoc to contain
           this information, and that would be a good thing.


    Elsewhere, these changes are made:

      - In utils/FileUtils.java: A fix to recognize encoding="UTF-8",  
which was broken.

      - In js2doc, some improvements to error messages to help  
debugging.

Tests:
     weather, lzpix (all platforms)
     hello (SWF9)
     smokecheck (SWF8, DHTML)

Files:
D      WEB-INF/lps/schema/lfc.lzx
A      WEB-INF/lps/schema/lfc-undeclared.lzx
M      WEB-INF/lps/schema/build.xml
M      WEB-INF/lps/server/src/org/openlaszlo/js2doc/ 
PropertyReference.java
M      WEB-INF/lps/server/src/org/openlaszlo/js2doc/JS2Doc.java
M      WEB-INF/lps/server/src/org/openlaszlo/js2doc/Main.java
M      WEB-INF/lps/server/src/org/openlaszlo/js2doc/JS2DocUtils.java
M      WEB-INF/lps/server/src/org/openlaszlo/js2doc/SchemaBuilder.java
M      WEB-INF/lps/server/src/org/openlaszlo/js2doc/ 
ReprocessComments.java
M      WEB-INF/lps/server/src/org/openlaszlo/utils/FileUtils.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20081022-dda-a.tar



--

Don Anderson
Java/C/C++, Berkeley DB, systems consultant

voice: 617-547-7881
email: dda at ddanderson.com
www: http://www.ddanderson.com



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.openlaszlo.org/pipermail/laszlo-dev/attachments/20081022/b7d3f292/attachment.html


More information about the Laszlo-dev mailing list