in core/src/main/java/com/epam/cme/mdp3/core/cfg/Configuration.java [46:69]
private void load(final URI uri) throws ConfigurationException, MalformedURLException {
// todo: if to implement the same via standard JAXB then dep to apache commons configuration will be not required
final XMLConfiguration configuration = new XMLConfiguration();
configuration.setDelimiterParsingDisabled(true);
configuration.load(uri.toURL());
for (final HierarchicalConfiguration channelCfg : configuration.configurationsAt("channel")) {
final ChannelCfg channel = new ChannelCfg(channelCfg.getString("[@id]"), channelCfg.getString("[@label]"));
for (final HierarchicalConfiguration connCfg : channelCfg.configurationsAt("connections.connection")) {
final String id = connCfg.getString("[@id]");
final FeedType type = FeedType.valueOf(connCfg.getString("type[@feed-type]"));
final TransportProtocol protocol = TransportProtocol.valueOf(connCfg.getString("protocol").substring(0, 3));
final Feed feed = Feed.valueOf(connCfg.getString("feed"));
final String ip = connCfg.getString("ip");
final int port = connCfg.getInt("port");
final List<String> hostIPs = Arrays.asList(connCfg.getStringArray("host-ip"));
final ConnectionCfg connection = new ConnectionCfg(feed, id, type, protocol, ip, hostIPs, port);
channel.addConnection(connection);
connCfgs.put(connection.getId(), connection);
}
channelCfgs.put(channel.getId(), channel);
}
}