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.
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
LikeLike
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.
LikeLike
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.
LikeLike
Steve, edit the database profile and change the log level to FINER and send me the log at lekkim[at]lsdoc.org. The log should reveal what’s going on. Thanks.
LikeLike
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?
LikeLike
That’s a bug. "sub lsdoc_description()" should alwayys be included no matter the visibility modifier. Thanks for reporting this.
LikeLike
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" ‘ ….
LikeLike
I have done some fixes for comments in the upcoming beta 5. Where are your comments? Inside the sub/function/class or outside. The more code you can send me the better. Thanks.
LikeLike