Tunnel Expanders

These expanders require an nsx-prime jar of version 2019.5.4 or higher.

To add the expanders to your expansion settings:

nsf add-resource --name "net.democritus.experimental:tunnel-expanders" --version "latest"

Method tunnel feature

This feature adds any number of extra methods to the bean of a dataElement and exposes it in the local and remote interfaces and both the agent and local agent.

To add a new method, add a Method descriptor file to the model folder:

components/<component>/model/dataElements/<dataElement>/methods/<method>.xml

E.g. if we want to add a method named getDistricts() to the dataElement City, we can add a file named:

components/testComp/model/dataElements/City/methods/getDistricts.xml

The file contains the description of the method:

<method name="getDistricts">
  <parameterClass>net.democritus.sys.DataRef</parameterClass>
  <resultType>
    <resultWrapper>SearchResult</resultWrapper>
    <resultClass>net.democritus.DistrictDetails</resultClass>
  </resultType>
</method>

This will generate a method of the form:

public SearchResult<DistrictDetails> getDistricts(ParameterContext<DataRef> parameters) {
  DataRef dataRef = parameters.getValue();
  // anchor:custom-getDistricts:start
  // anchor:custom-getDistricts:end
}

note that the method will not compile without a valid implementation