Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

SCL-3081 Business Entity Designer plugin to ensure OEDT comment format

Description:

A new Business Entity Designer Plugin Consultingwerk.BusinessEntityDesigner.Plugins.OedtCommentStylePlugin now supports generation of source code with OEDTdoc style comments from the Business Entity Designer.

SCL-3082 Support OEDT comment format for scl-gen generated code

Description:

Based on a setting

Code Block
languageabl

"SclGenCommentFormat": "OEDT"


in the .applicationsettings file the scsl-gen code generator now supports generating source code with OEDTdoc style comments.

SCL-3083 Applied OEDT style comments to all SmartComponent Library source code

Description:

Finally, we have reformatted all routine comments in our code base to be following the OEDTdoc style ( https://www.omecra.de/features ).

SCL-3087 Implemented ability to specify source code code-page to proparse

Description:

To support non default code pages for Proparse we have added the capability of passing the source code codepage to the ParseUnit constructor.

Code Block
languageabl

public ParseUnit(File file, String codepage) {
    this.file = file;
    this.codepage = codepage;
}


From the ABL (ProparseHelper class), the code page argument is passed, when the .applicationsettings file contains a setting like this here:

Code Block
languageabl

"ProparseCodepage": "iso8859-1"


This helps to avoid issues during parsing like this

No Format

java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: Character conversion error.
Could not read character from source file
.\Consultingwerk/OERA/DataAccess.cls line 1657 column 19
This indicates a character that cannot be converted to Unicode using
the current file I/O code page: utf-8
Try using a different encoding from the Java Virtual Machine command line
for example: -Dfile.encoding="ISO8859_1"

                at com.joanju.proparse.ParserSupport.defClass(ParserSupport.java:145)
                at com.joanju.proparse.ProParser.classstate(ProParser.java:5284)
                at com.joanju.proparse.ProParser.statement(ProParser.java:1916)
                at com.joanju.proparse.ProParser.blockorstate(ProParser.java:385)

...

SCL-3094 Generated Dataset for Callgraph from the Business Entity Designer

Description:

For future-proofing the design of the dataset which represents the callgraph information generated by the Callgraph parser, we have now designed this dataset using the Business Entity Designer.

SCL-3096 Improved performance of IsObjectTokenRestricted calls

Description:

We have improved the performance of the IObjectTokenSecurityService's IsObjectTokenRestricted method.
Previously this API was always determining the user groups of the current user. Now, when available the API uses the user group information already stored in the Session Context.

SCL-3098 Move initialization of Smart Lookup/Combo ForeignFields from EndInit to later point

Description:

To resolve issues with the initialization of the SmartBusinessEntityLookups/SmartComboEditor ForeignFields feature in complex forms we have move the initialization if required to the SmartDataSourceChanges event handler of the SmartViewerControl containing the component.

New Feature

SCL-3035 Implemented ANT Tasks for SmartUnit and ScenarioRunner

Description:

To simplify the usage of the SmartUnit and ScenarioRunnter features we have implemented them as true ANT tasks now. Previously those features had to be integrated using ANT Macros.
Exact usage of the ANT tasks will be documented in Confluence soon.
Those tasks extend the PCTRun task ( https://github.com/Riverside-Software/pct/wiki/PCTRun ) and support all attributes of the PCTRun task. In addition SmartUnit specific arguments that we have passed previously as Parameter nodes from the Macro are now implemented as additional attributes.
The tasks are implemented in the

...

library com-consultingwerk-smartunit-ant.jar:

View file
namecom-consultingwerk-smartunit-ant.jar

...

height250

Sample usage:

Code Block
languagexml

<SmartUnit testSuite="Common Tests" 
            tests="Consultingwerk.SmartUnitTest.*" 
            outputFile="output\smartunit.xml" 
            haltOnError="false" 
            forceXmlXref="false"
            logFailedTests="true"
            
            graphicalMode="true" dlcHome="${dlc}" cpinternal="iso8859-1" cpstream="iso8859-1"
            compileUnderscore="true" inputchars="200000" assemblies="../ABL/Assemblies"
            iniFile="../ABL/ini/progress.ini" token="10000" dirSize="500000" stackSize="500000" maximumMemory="65534">
            
        <Profiler enabled="true" outputDir="profiler" coverage="true" />
        
        <propath>
            <pathelement path="." />
            <pathelement path="../ABL" />
            <pathelement path="../ABL/OERA" />
            <pathelement path="../ABL/src" />
        </propath>

        <DBConnection dbName="sports2000" dbDir="c:/Work/SmartComponents4NET/122_64/DB/sports2000" singleUser="false">
            <PCTAlias name="dictdb" />
        </DBConnection>
</SmartUnit>


and

Code Block
languagexml

<ScenarioRunner testSuite="OERA Test Scenarios" 
            tests="Consultingwerk.OeraTests.*" 
            outputFile="output\oerascenarios.xml" 
            haltOnError="false" 
            forceXmlXref="false"
            logFailedTests="true"
            
            graphicalMode="true" dlcHome="${dlc}" cpinternal="iso8859-1" cpstream="iso8859-1"
            compileUnderscore="true" inputchars="200000" assemblies="../ABL/Assemblies"
            iniFile="../ABL/ini/progress.ini" token="10000" dirSize="500000" stackSize="500000" maximumMemory="65534">
                                
        <propath>
            <pathelement path="." />
            <pathelement path="../ABL" />
            <pathelement path="../ABL/OERA" />
            <pathelement path="../ABL/src" />
            <pathelement path="${dlc}/tty/netlib/OpenEdge.Net.pl" />
        </propath>

        <DBConnection dbName="sports2000" dbDir="c:/Work/smartcomponents4NET/122_64/DB/sports2000" singleUser="false">
            <PCTAlias name="dictdb" />
        </DBConnection>
        <DBConnection dbName="SmartDB" dbDir="c:/Work/smartcomponents4NET/122_64/DB/SmartDB" singleUser="false" />
        <DBConnection dbName="icfdb" dbDir="c:/Work/smartcomponents4NET/122_64/DB/icfdb" singleUser="false" />
</ScenarioRunner>

...