LotusScript.doc v2 beta 4

Beta 4 of LotusScript.doc v2 is out – get it here (lsdoc_200beta4.zip). This beta adds additional logging, makes the log output easier to read and fixes an issue where the sub/function parser would receive “empty source code” if the code contained a sub/function where all code was commented out using pings(‘) or %REM sections.

The code has now also been stress tested thanks to databases from Nathan and Julian Buss. These two databases combined have around 300 script libraries!! 🙂

Update: Please remember to adjust the Java heap size. For more information see this post.

Update: If using Notes 7 beta 4 will not work. Please wait for beta 5.

8 thoughts on “LotusScript.doc v2 beta 4”

  1. Hi, i used to test the database, so i got the template, signed it and build a new database on base of this signed template.

    I am using Notes 7.0.3 German in a standard installation (which have, i think JVM 1.4.2).

    I now get the following NoClassDefFound error : 

    ava.lang.RuntimeException: java.lang.NoClassDefFoundError: java/lang/StringBuilder

        at org.lsdoc.dbdesign.parser.AbstractElementParser.handleException(AbstractElementParser.java:184)

        at org.lsdoc.dbdesign.parser.ScriptLibraryParser.parse(ScriptLibraryParser.java:90)

        at org.lsdoc.Parser$2.added(Parser.java:398)

        at org.lsdoc.elementobserver.simple.SimpleObserver.activateListener(SimpleObserver.java:44)

        at org.lsdoc.elementobserver.BaseObserver.activateListeners(BaseObserver.java:109)

        at org.lsdoc.elementobserver.BaseObserver.addElement(BaseObserver.java:173)

        at org.lsdoc.dxl.DxlParser.parse(DxlParser.java:406)

        at org.lsdoc.dxl.DxlParser.parse(DxlParser.java:330)

        at org.lsdoc.dxl.DxlParser.parse(DxlParser.java:280)

        at org.lsdoc.Parser.doParse(Parser.java:245)

        at org.lsdoc.Parser.parseDatabase(Parser.java:97)

        at org.lsdoc.runner.notes.NotesAgent.NotesMain(NotesAgent.java:133)

        at org.lsdoc.runner.notes.DcNotesAgent.execute(DcNotesAgent.java:40)

        at JavaAgent.NotesMain(Unknown Source)

        at lotus.domino.AgentBase.runNotes(Unknown Source)

        at lotus.domino.NotesThread.run(Unknown Source)

    Caused by: java.lang.NoClassDefFoundError: java/lang/StringBuilder

        at org.lsdoc.util.StringFilter$Transformation.handlePattern(StringFilter.java:87)

        at org.lsdoc.util.StringFilter$Transformation.<init>(StringFilter.java:79)

        at org.lsdoc.util.StringFilter.doTransform(StringFilter.java:49)

        at org.lsdoc.language.ls.parser.LsCommentStringFilterFactory.getInstance(LsCommentStringFilterFactory.java:32)

        at org.lsdoc.language.ls.parser.Parser.parse(Parser.java:277)

        at org.lsdoc.dbdesign.parser.AbstractElementParser.findCodeElements(AbstractElementParser.java:136)

        at org.lsdoc.dbdesign.parser.ScriptLibraryParser.parse(ScriptLibraryParser.java:75)

        … 14 more

    did i miss something ?  

    Perhaps lsdoc is functional only since Notes 8 / JVM 1.5, but i didnt find a release note to ensure me that. If so, i think it would be a good idea to add these informations (perhaps i have overseen it allready.)

    Thank you for this great tool !!!!!!

    Holger

    Like

  2. Arrhhh!! 🙂 It’s my bad. I used a class I thought was available in Notes 7 but apparently it isn’t… I’ll do a search and replace and upload a beta 5 soon. Thanks and sorry for the inconvenience.

    Like

  3. Hello, i got the following in the log document

    [ROOT                          ][WARNING]: The supplied data isn’t a valid LotusScript property – throwing IllegalArgumentException

    [ROOT                          ][WARNING]: The supplied data isn’t a valid LotusScript property – throwing IllegalArgumentException

    [ROOT                          ][WARNING]: The supplied data isn’t a valid LotusScript property – throwing IllegalArgumentException

    [ROOT                          ][SEVERE ]: Exception trying to parse database

    Exception: java.lang.StringIndexOutOfBoundsException

        at java.lang.String.charAt(String.java:418)

        at org.lsdoc.language.ls.comment.AbstractCommentParser.trimTabsSpaces(AbstractCommentParser.java:199)

        at org.lsdoc.language.ls.comment.AbstractCommentParser.parse(AbstractCommentParser.java:158)

        at org.lsdoc.language.ls.parser.BaseParser.lookForComment(BaseParser.java:66)

        at org.lsdoc.language.ls.parser.ClassParser.parse(ClassParser.java:242)

        at org.lsdoc.language.ls.parser.Parser.parse(Parser.java:124)

        at org.lsdoc.language.ls.parser.Parser.parse(Parser.java:311)

        at org.lsdoc.dbdesign.parser.AbstractElementParser.findCodeElements(AbstractElementParser.java:136)

        at org.lsdoc.dbdesign.parser.ScriptLibraryParser.parse(ScriptLibraryParser.java:75)

        at org.lsdoc.Parser$2.added(Parser.java:398)

        at org.lsdoc.elementobserver.simple.SimpleObserver.activateListener(SimpleObserver.java:44)

        at org.lsdoc.elementobserver.BaseObserver.activateListeners(BaseObserver.java:109)

        at org.lsdoc.elementobserver.BaseObserver.addElement(BaseObserver.java:173)

        at org.lsdoc.dxl.DxlParser.parse(DxlParser.java:406)

        at org.lsdoc.dxl.DxlParser.parse(DxlParser.java:330)

        at org.lsdoc.dxl.DxlParser.parse(DxlParser.java:280)

        at org.lsdoc.Parser.doParse(Parser.java:245)

        at org.lsdoc.Parser.parseDatabase(Parser.java:97)

        at org.lsdoc.runner.notes.NotesAgent.NotesMain(NotesAgent.java:133)

        at org.lsdoc.runner.notes.DcNotesAgent.execute(DcNotesAgent.java:40)

        at JavaAgent.NotesMain(Unknown Source)

        at lotus.domino.AgentBase.runNotes(Unknown Source)

        at lotus.domino.NotesThread.run(Unknown Source)

    I appreciate that this could well be todo with some incorrect lsdoc commenting syntax or even some ls errors however i have over 100 script libraries so its pretty difficult to tell which is at fault.

    Like

  4. I used the option "Ignore private" in configuration document.

    I had defined the design element descriptions with:

    Private Sub lsdoc_description

    %REM

    %END REM

    End Sub

    However these are now ignored because they are private subs. Is this intentional? What is the correct way to define design element descriptions if I want to see them but otherwise ignore private subs and functions? Should I just make the lsdoc_description sub public?

    Like

  5. Hi, I created my Notes.nsf in v2Beta4 and my comments on constants gets a little crazy in HTML (see below).

    Is

    ‘ /***

    ‘ *Comment

    ‘*/

    the wrong way?

     

    HTML result:

    Public Variant BUCHUNG_IST = "Ist"

    ‘ /** Konstante: Dialogtitel für alle Messageboxen und Picklists ‘ */ Public Const DIALOG_TITLE = "Test"  ‘ /** Konstante für den Buchungsstatus: Erfassung der Buchung steht an ‘ */ Public Const B_STATUS_ERFASSUNG_STEHT_AN = "B-01" ‘ ….

    Like

Comments are closed.