The Signomix platform’s open-source code contains references to Java classes from the non-public (proprietary) portion.
The absence of these classes in the compiled code disables certain features.
This document describes how to use proprietary code—if it is available to the person building the platform.
The code not available in the open-source version is located in the additional signomix-extensions library.
The library can be used in selected microservices by declaring a dependency in the pom.xml of the selected microservice (see: signomix-reports,signomix-ta-account):
<dependency>
<groupId>com.signomix</groupId>
<artifactId>signomix-extensions</artifactId>
<version>1.0.1</version>
</dependency>
The library MUST be built (e.g., using the build-images.sh script), so the relevant repository must be downloaded from GitHub. The open-source version of this library (required for the platform to build) is downloaded by the init-dev-environment.sh script.
When building a proprietary version of the platform, after running init-dev-environment.sh, perform the following steps:
signomix-extensions folder.signomix-extensions folder—see the example command below.git clone https://github.com/some-account/my-signomix-extensions.git signomix-extensions
Example of using an extension class in code:
import com.signomix.common.proprietary.*;
// ...
try{
AccountTypesIface accountTypes = (AccountTypesIface)ExtensionConfig.getExtension("com.signomix.proprietary.account.AccountTypes");
if(accountTypes != null){
// use extension instance
}
}catch(Exception e){
// handle exception
}