Added cubby-holes for new projects.
diff --git a/utils/osgi/src/main/java/org/onlab/osgi/DefaultServiceDirectory.java b/utils/osgi/src/main/java/org/onlab/osgi/DefaultServiceDirectory.java
new file mode 100644
index 0000000..b53b5fa
--- /dev/null
+++ b/utils/osgi/src/main/java/org/onlab/osgi/DefaultServiceDirectory.java
@@ -0,0 +1,19 @@
+package org.onlab.osgi;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+
+/**
+ * Default implementation of the service directory using OSGi framework utilities.
+ */
+public class DefaultServiceDirectory implements ServiceDirectory {
+ @Override
+ public <T> T get(Class<T> serviceClass) {
+ BundleContext bc = FrameworkUtil.getBundle(serviceClass).getBundleContext();
+ T impl = bc.getService(bc.getServiceReference(serviceClass));
+ if (impl == null) {
+ throw new ServiceNotFoundException("Service " + serviceClass.getName() + " not found");
+ }
+ return impl;
+ }
+}