Schema Changes

Update schema for new Resource Manager:

Add DBTechnology attribute to the Partition class to allow user define which technology to be used by the configuration databases.

Make Segment::get_timeouts() algorithm const to avoid unnecessary const cast when use in the user's code.

Restore Application::StartIn attribute.

Algorithms Changes

Modify daq::core::Application::get_some_parameters() algorithm to define TDAQ_DB environment variable depending on the technology chosen by user at the partition level (i.e. value of the Partition::DBTechnology attribute)

Java

There are several changes to make Java DAL more usable and similar to existing C++ DAL.

Get partition algorithm

To get partition object in the way similar to C++ use dal.Algorithms.get_partition(config.Configuration db, String pname) algorithm, where the pname argument is the name of the partition object.

Attribute converter

Add dal.SubstituteVariables class allowing to substitute parameters in values of string attributes using format ${FOO} (like it was already done in C++). To create parameter substitution object use dal.SubstituteVariables(config.Configuration db, dal.Partition p) constructor. For example:

config.Configuration db = new config.Configuration("oksconfig:daq/partitions/be_test.data.xml");
dal.Partition p = dal.Algorithms.get_partition(db, "be_test");
if(p != null) {
  db.register_converter(new dal.SubstituteVariables(db, p));
}

After such code any parameters of string attributes will be substituted, if accessed via DAL.

Dump application

The dal/jexamples/Dump.java shown how to use above algorithm and converter to dump any generated DAL object from java. See in the check target result of be_test partition applications' dump:

java ... Dump -d "rdbconfig:RDB" -c Application -p be_test

Utilities

All dal utilities and examples are using new ::Configuration constructor working with implementations. There is no anymore support for --oks and --rdb command line options. Instead --data "plugin:parameters" option has to be used.

The dal_create_sw_repository utility allows to work with empty repositories without defined sw objects. This is used to generate tdaq common sw repository object used by the tdaq sw repository description.