by catching the appropriate exception.
Apparently, if a property is configured/enabled in file Foo.cfg, e.g.:
flowTimeout = 10
then the corresponding object/value in the Dictionary returned by
ComponentContext.getProperties()
has class type String.
However, if the property is commented-out, e.g.:
then the Dictionary still contains an entry for "flowTimeout", but
its class type is Integer.
Also, updated similar code elsewhere that was catching the generic
Exception with catching more specific exception(s).
Change-Id: I33ec348eb9efe3188e22cfc8cee2bb704948726d
Added BGP tunnelling and received routes.
Added pushing groups and can now ping through the router.
Change-Id: I21a265bd72e40fc430bd392201fadccbdd67be94
This allows the configuration to be used from multiple applications.
* The class that reads the configuration file is now a service so that
config can be consumed by components in other bundles.
* Name of config reader classes has been generalized to RoutingConfigService
* All config has been added to RoutingConfigService, instead of having
two service interfaces like we did previously
Change-Id: Iaec9daf0f5b72abe2d6709fb75188d6d81947478
The main goal of this is to allow routing code to be used by multiple
applications.
Changes include:
* Created an onos-app-routing bundle and moved BGP code and routing code
into it.
* Created an onos-app-routing-api bundle as a common API bundle between
onos-app-routing and onos-app-sdnip, to prevent circular dependencies.
* Moved API classes into onos-app-routing-api bundle.
* Made Router and BgpSessionManager into OSGi components. This is not quite
clean, because there is still a chain of start() method calls from SdnIp
through to BgpSessionManager to preserve startup order. This should be
revisted so components can be started using activate()
* Created BgpService and RoutingService APIs to glue different components
together.
* Many unit test changes. A lot of the previous unit tests spanned the
Router and IntentSynchronizer classes, but this is not possible any more
since these classes are in different bundles. I had to rewrite some of
these tests so that each unit test class only tests one real class. A
nice side-effect is that the tests are now simpler because each test
tests less functionality.
* Removed SdnIp test seeing as it doesn't run automatically, was already
broken and has been largely superseded by other unit tests and the nightly
functional tests.
Change-Id: I70ecf5391aa353e99e7cdcf7ed38a530c87571bb