Last modified: Fri May 28 15:53:52 EEST 2004

# Installation of JSDAI and JSDAI-Applications

## JSDAI Version @JSDAI.VERSION.MAJOR@.@JSDAI.VERSION.MIDDLE@(.@RUNTIME.VERSION.MINOR@) components

- JSDAI kernel jsdai_runtime.jar
- JSDAI XIM library jsdai_xim_full.jar
- JSDAI ExpressCompiler jsdai_express.jar
- JSDAI ExpressDoc jsdai_doc.jar
- JSDAI SdaiEdit jsdai_edit.jar
- Third-party libraries commons-lang-1.0.1.jar, commons-collections.jar, skinlf.jar.
  For third-party software licensing conditions see README

## Manual Installation Instructions for JSDAI @JSDAI.VERSION.MAJOR@.@JSDAI.VERSION.MIDDLE@(.@RUNTIME.VERSION.MINOR@)

Manual installation is intended for your own development based on JSDAI. Only the JSDAI kernel, constituing of the JSDAI runtime and the JSDAI environment can be installed manually.

Installing manually copy the following jar files: `jsdai_runtime.jar`, ``, `commons-lang-1.0.1.jar`, `commons-collections.jar`. Optionally you may need to copy these jar files: `jsdai_xim_full.jar` (needed only if XIM Library is used),

## Testing the installation of the core JSDAI

Start the SdaiTerm application:

- java jsdai.util.SdaiTerm
You will see a prompt ":"
Type "?" to see the list of available commands
Types "so" to open a seesion
Type "si" to see the version information
Type "q" to quit

## JSDAI jar-files

> `jsdai_runtime.jar`
> `jsdai_xim_full.jar` for XIM library, a special JSDAI library, optimized for supporting most STEP Application protocols (AP) in a single integrated model.

The JSDAI express compiler converts one or several EXPRESS schemas into corresponding Java classes and interfaces.

The Java classes and interface which the EXPRESS compiler needs further to be compiled into the Java byte code by using a default Java compiler. The resulting class-files are then again packed into jar files. Because this is a lengthy and complicated process the work is already done for the EXPRESS schemas of the STEP standard. This can be done either for long form schemas or for short form schemas. In STEP the short form schemas have references to other schemas (use from, reference from). The long form schemas are created from the short form schemas by resolving all the external references to other schemas into local objects. Traditionally only the long form schema is used. The advantage of the short form schemas is that they support AP interoperability. This is application instances may belong to several AP populations simultaneously.

By default JSDAI @JSDAI.VERSION.MAJOR@.@JSDAI.VERSION.MIDDLE@(.@RUNTIME.VERSION.MINOR@) is delivered with an EXPRESS short form library.

## Classpath

The classpath variable assigns the class loader from where to load Java classes. It can specify either directories or jar-files where to find Java class-files. For the exact definition and usage of the classpath variable please refer to the Java documentation.

## Configuration with the jsdai.properties file

This is an example jsdai.properties file. It needs to be configured
for a given installation as described. Use a simple text editor for this. Here is the default
`# @(#)jsdai.properties, build241
# properties file for JSDAI, LKSoftWare GmbH
#
# This properties file is loaded by SDAI.lang.SdaiSession class
# during openSession().
#
# The jsdai.properties file is located in the following order
# 1) If there is a system property "jsdai.properties" take
# try to locate jsdai.property in this directory
# 2) otherwise if there is a system property "java.ext.dirs" the
# try to locate jsdai.property in this directory
# 3) otherwise try to locate jsdai.property in the directory
# specified by the system property "java.home".
# If the file jsdai.properties cannot be located,
# a SY-ERR exception is thrown during openSession().
#
# These properties are needed:
# repositories=directory-path
# specifies a directory for persistent data storage
# for every SdaiRepository a subdirectory is created there
# Example:
# repositories=c:\\sdairepos
#
#log=System.out
# here goes the directory where repositories are located
repositories=C:\\Program Files\\LKSoft-JSDAI\\sdairepos
# If below at the right-hand side is TRUE, then strings as values of
# entity attributes are returned by toString methods in unicode;
# if FALSE, then in ASCII. This property is optional.
toStringUnicode=FALSE
# Aliases
jsdai.SAutomotive_design=AUTOMOTIVE_DESIGN;AUTOMOTIVE_DESIGN_CC2;AUTOMOTIVE_DESIGN_CC4;AUTOMOTIVE_DESIGN_CC6;AUTOMOTIVE_DESIGN_CC02;AUTOMOTIVE_DESIGN_CC04;AUTOMOTIVE_DESIGN_CC06;CDS;PDM_SCHEMA;
# Mapping of APs
# mapping.schema.AIM_SCHEMA=MAPPING_DATA
# If AIM schema is mapped to ARM schema then a dictionary model that contains mapping data must be specified.
# There can be several different mappings for one AIM schema and one mapping model can specify mapping for several AIM schemas to one ARM schema.
# Examples:
# mapping.schema.ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN=AP210_ARM_MAPPING_DATA
# mapping.schema.ELECTROTECHNICAL_DESIGN=AP212_ARM_MAPPING_DATA
# mapping.schema.AUTOMOTIVE_DESIGN=AP214_ARM_MAPPING_DATA
#
mapping.schema.ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN=AP210_ARM_MAPPING_DATA
mapping.schema.ELECTROTECHNICAL_DESIGN=AP212_ARM_MAPPING_DATA
mapping.schema.AUTOMOTIVE_DESIGN=AP214_ARM_MAPPING_DATA
`

## Persistent SdaiRepositories

JSDAI uses the sdairepos directory as persistent data storage. Every SdaiRepositories is stored in it's own sub-directory which includes several binary files.

During opening a JSDAI session, all repository directories within a specific directory are made available as "known servers". This repositories directory is also the default place where new repository directories are created.

## SdaiTerm

JSDAI comes with the SdaiTerm utility applications in the package jsdai.util included in the jsdai_runtime.jar`.`

- jsdai.util.SdaiTerm: Documentation, Source

After every installation it is best to start one of these applications to verify that all is installed correctly.

## Developing Programs

Assume on a MS-Windows system the automatic installation goes to the directory c:\programme\LKSOFT-JSDAI\. Then you can:

- compile a Java program xxx.java program using JSDAI with
  c:\jdk1.4.1\bin\javac -extdirs c:\programme\LKSOFT-JSDAI\ext\ xxx.java
- run the resulting xxx.class file with
  c:\programme\JavaSoft\JRE\1.4.1\bin\java -Djava.ext.dirs=c:\programme\JavaSoft\JRE\1.4.1\lib\ext;c:\programme\LKSOFT-JSDAI\ext xxx
- You can start SdaiTerm e.g. with
  c:\programme\JavaSoft\JRE\1.4.1\bin\java -Djava.ext.dirs=c:\programme\JavaSoft\JRE\1.4.1\lib\ext;c:\programme\LKSOFT-JSDAI\ext jsdai.util.SdaiTerm