Map Designer Express provides two ways to import Java packages and other custom code:
A description of each method follows.
In addition to using the standard function blocks that Activity Editor provides, Map Designer Express allows you to import your own Java library for use as function blocks in Activity Editor. Importing custom Jar libraries into activity settings will enable any public methods in the Jar library to be used as function blocks in Activity Editor.
Before you begin: You need to export your Java classes into a .jar file.
Perform the following steps to import a Jar library into Activity Editor:
System Manager will try to import your custom .jar file for use as function blocks in Activity Editor. If the file is imported properly, the name of your custom .jar file will appear under BuildBlock Libraries in the Activity Settings view.
Tip: After you import your custom .jar files into Activity Settings, when your maps and collaboration template compile in System Manager, the custom .jar file will automatically be included into the compile CLASSPATH. To prepare InterChange Server Express for compilation, make sure that its CLASSPATH includes your custom.jar file. For information on setting up Interchange Server Express for importing your custom .jar files, see Importing third-party classes to Interchange Server Express.
Rule: After you change any settings in the Activity Settings view, you must restart Map Designer Express for the change to take effect in Activity Editor.
Result: When you open Activity Editor, the custom Jar library will be listed in the Library window under My Library in Activity Editor. By default, available custom function blocks are listed according to their package structure. You can use them in an activity the same way as standard function blocks.
You can customize the display settings of the function blocks imported into Activity Editor, such as its name and icon, by changing the custom Jar library's properties. Perform the following steps to do this:
Result: When the Properties window for the custom Jar library is opened, it will list the available function blocks in this custom library in a tree structure on the right-hand side of the dialog. The available function blocks are listed as child nodes under the Java class and package that contain them.
For the Java package and classes, you can customize the display name of the entry and whether Activity Editor should display this Java package/class in the My Library tree structure by changing the check box "Hide level in tree display." If this option is enabled, Activity Editor will not display this entry in the My Library subtree. This option is usually useful when the Java methods in your custom Jar library are in a Java class that is in a package many levels deep, and enabling this option can better organize your My Library subtree in Activity Editor.
Figure 77 shows the dialog for customizing the Jar library
display.
Figure 77. Properties dialog for customizing Jar library display
For those Java methods used as function blocks in Activity Editor, you can specify the function block display name, description, icon, and parameter's display name in the Properties window. When you import an icon for the function block, the icon that you select will be copied into the Activity Settings folder and will be available for other function blocks in the same package to use.
Recommendation: If you choose to import an icon for your function block to use, the icon should be 32 pixels by 32 pixels in size and should be in .bmp format. The color depth of the icon can be up to 24-bit.
Figure 78 shows the Properties dialog for customizing the Jar library
function block display.
Figure 78. Properties dialog for customizing Jar library function block display
Rule: After you change any settings in the Activity Settings view, you must restart Map Designer Express for the change to take effect in Activity Editor.
Map Designer Express automatically imports the Java packages necessary to execute a map. If you write transformation code that uses methods from another Java package, or if you use the Map Utilities (MapUtils) package, you need to import the package into the map. You can also write your own custom Java code outside of Map Designer Express and import your code into a map for use within transformation code.
To import a Java package or other custom code:
From the Edit menu, select Map Properties. For information on other ways to display the Map Properties dialog, see "Specifying map property information". The Map Properties dialog box appears (see Figure 87).
For requirements for compiling a map with System Manager, see "Compiling a map".
All statements execute at the beginning of the map, before any transformation steps execute.
To use the Map Utilities package, you must import it into the map by performing the following steps:
import com.crossworlds.MapUtils.*;
If the imported classes are in a third-party package rather than in the JDK, in order to set up the server compile, you must add them to the path of the imported classes in the JCLASSES variable.
Recommendation: You should use some mechanism to differentiate those classes in JCLASSES that are standard from those that are custom.
Example: You can create a new variable to hold only those custom classes and append this new variable to JCLASSES, by performing the following steps:
Example: Create a dependencies directory below the product directory and place the jar file in it.
set DEPENDENCIES=$ProductDir/ dependencies/CwMacroUtils.jar
Add the following entry for Windows:
set DEPENDENCIES="%ProductDirS%"\dependencies\ CwMacroUtils.jar
For UNIX, add:
set JCLASSES=$JCLASSES:ExistingJarFiles: $DEPENDENCIES
For Windows, add:
set JCLASSES=ExistingJarFiles ;%DEPENDENCIES%
Guidelines: When importing a custom class, you may get an error message indicating that the software could not find the custom class. If this occurs, check the following:
Example: If your package name is COM.acme.graphics and the custom class is Rectangle, you can import the entire package:
import COM.acme.graphics.*;
Or, you can import just the Rectangle custom class:
import COM.acme.graphics.Rectangle;
Example: When importing a custom class, you might create a folder called %ProductDir%\lib\com\<ProductDir>\package, where package is the name of your package. Then, place your custom class file under the folder you just created. Finally, in the CLASSPATH variable in the start_server.bat file, include the path %ProductDir%\lib.