dana-i2cat/mqnaas — pull request #21 by logoff (2014-05-30 12:30:55+00:00)
Title: New bundletree

New BundleTree using [BunldeWiring](http://www.osgi.org/javadoc/r4v43/core/index.html?org/osgi/framework/wiring/BundleWiring.html) techniques to resolve bundle dependencies. It is based on creating a [IBunldeGuard](https://github.com/logoff/mqnaas/blob/core/new-bundletree/bundletree/src/main/java/org/mqnaas/bundletree/IBundleGuard.java) implementation (in this case [BundleGuard](https://github.com/logoff/mqnaas/blob/core/new-bundletree/bundletree/src/main/java/org/mqnaas/bundletree/impl/BundleGuard.java)) in order to register [IClassListener](https://github.com/logoff/mqnaas/blob/core/new-bundletree/bundletree/src/main/java/org/mqnaas/bundletree/IClassListener.java)'s implementations to be notified when the logic developed in a [IClassFilter](https://github.com/logoff/mqnaas/blob/core/new-bundletree/bundletree/src/main/java/org/mqnaas/bundletree/IClassFilter.java) implementation is fulfiled.

Integration test has been developed making use of two test bundles (testBundleA and testBundleB) and a Pax Exam test.

There are some extra tasks developed in order to achieve main goal:

* A new `mqnaas-core-api` Karaf feature has been added in order to be used as dependendy for other features.
* [jax.ws.rs bundle](http://docs.oracle.com/javaee/6/api/index.html?javax/ws/rs/package-summary.html) has been updated to current implementation in Maven POM files and Karaf features.
* [BundleUtils](https://github.com/logoff/mqnaas/blob/core/new-bundletree/bundletree/src/main/java/org/mqnaas/bundletree/utils/BundleUtils.java) and [BundleclassPathUtils](https://github.com/logoff/mqnaas/blob/core/new-bundletree/bundletree/src/main/java/org/mqnaas/bundletree/utils/BundleClassPathUtils.java) classes are offered with public static methods. Old BundleUtils in `core` bundle has been eliminated and all the references have been updated.