Tailoring the CM Java Application

Implementers may write their own Java classes to extend the Oracle Utilities application functionality. All Java files should belong to the com.splwg.cm package. The CM Java application should be compiled into a jar file named cm.jar. The SDK Customer Modification packaging utilities will help build this file. The cm.jar is typically deployed into the following directories:


$SPLEBASE/splapp/applications/root/WEB-INF/lib
$SPLEBASE/splapp/applications/XAIApp/WEB-INF/lib
$SPLEBASE/splapp/businessapp/lib
$SPLEBASE/splapp/standalone/lib

Additional third-party jar files can be deployed by following the cm*.jar naming standard. Customers may use this option to deploy any additional functionality, interfaces with other applications, and so on. These will not be built by the SDK Customer Modification packaging utilities, but will be deployed into the application once it is supplied in jar format.

The root directory may be deployed in a war file format for the runtime environment (SPLApp.war). Use the provided utilities to incorporate your /cm directory into SPLApp.war file.

Important: All cm*.jar files that need to be applied must be defined in $SPLEBASE/structures/cm_​jars_​structure.xml. If the file does not exist in the target environment, the sample cm_​jars_​structure.xml.example file can be copied from the SDK packaging's /etc folder.

Manual cm.jar deployment

The cm.jar file is usually deployed as part of the CM packaging process (extractCMsource, applyCM, create_​CM_​release, etc.), but in some cases it may be desirable to manually deploy the cm.jar file to one or more target environments.

CAUTION: This should be done with care and should only be considered if the cm.jar components are self-contained and have no external dependencies.

To manually deploy cm.jar:

  1. The SPLEBASE/structures/cm_​jars_​structure.xml must exist and should have at least the following:

    
    <?xml version="1.0" encoding="UTF-8"?>
    <jar_structure>   
       <cm.jar>
      <source_dir_jar>@SPLEBASE@/etc/lib</source_dir_jar>
      <dest_folders>
     <dest_folder_1>@SPLEBASE@/splapp/applications/XAIApp/WEB-INF/lib</dest_folder_1>
     <dest_folder_2>@SPLEBASE@/splapp/applications/root/WEB-INF/lib</dest_folder_2>
     <dest_folder_3>@SPLEBASE@/splapp/businessapp/lib</dest_folder_3>
     <dest_folder_4>@SPLEBASE@/splapp/standalone/lib</dest_folder_4>
      </dest_folders>
      <child_jvm_path>@SPLEBASE@/splapp/standalone/lib</child_jvm_path>      
       </cm.jar>
    </jar_structure>
    

    The <cm.jar> element identifies the jar file name, usually cm.jar, as defined here.

    Element <source_​dir_​jar> defines the source location of the abovementioned jar. The directory in the example above should work for most cases.

    The dest_​folder_​ n elements point to the target locations where the jar will be placed. The directories in this example should work for all.

  2. Manually copy the cm.jar to the directory specified in the <source_​dir_​jar> element, typically $SPLEBASE/etc/lib.

  3. Run initialSetup.sh (or .bat on Windows) to do the rest. This will copy the cm.jar to the specified target locations and rebuild the war and ear files.