package org.opendaylight.openflowplugin.openflow.md.it;
+import org.opendaylight.controller.test.sal.binding.it.TestHelper;
import org.ops4j.pax.exam.CoreOptions;
import org.ops4j.pax.exam.Option;
import org.ops4j.pax.exam.options.DefaultCompositeOption;
import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
/**
+ * The main wiring is assembled in {@link #ofPluginBundles()}
* @author mirehak
- *
*/
public abstract class OFPaxOptionsAssistant {
-
+
/** system property required to enable osgi console and remote debugging, only presence matters */
private static final String INSPECT_OSGI = "inspectOsgi";
/** default remote debug port */
public static final String DEBUG_PORT = "6000";
/** base controller package */
public static final String CONTROLLER = "org.opendaylight.controller";
+ /** base controller.md package */
+ public static final String CONTROLLER_MD = "org.opendaylight.controller.md";
/** OFLibrary package */
public static final String OFLIBRARY = "org.opendaylight.openflowjava";
- /** OFLibrary package */
+ /** OFPlugin package */
public static final String OFPLUGIN = "org.opendaylight.openflowplugin";
+ /** OFPlugin applications package */
+ public static final String OFPLUGIN_APPS = "org.opendaylight.openflowplugin.applications";
+ /** OFPlugin model package */
+ public static final String OFPLUGIN_MODEL = "org.opendaylight.openflowplugin.model";
/** controller.model package */
public static final String CONTROLLER_MODEL = "org.opendaylight.controller.model";
-
+ public static final String YANGTOOLS = "org.opendaylight.yangtools";
+
+
/**
* Works only if property -DinspectOsgi is used
- * @return equinox console setup (in order to inspect running IT through osgi console (telnet))
+ * @return equinox console setup (in order to inspect running IT through osgi console (telnet))
* and remote debugging on port {@link #DEBUG_PORT}
*/
public static Option osgiConsoleBundles() {
.add(CoreOptions.mavenBundle("equinoxSDK381", "org.apache.felix.gogo.runtime").versionAsInProject())
.add(CoreOptions.mavenBundle("equinoxSDK381", "org.apache.felix.gogo.command").versionAsInProject());
}
-
+
return option;
}
*/
public static Option ofLibraryBundles() {
return new DefaultCompositeOption(
+ mavenBundle(OFLIBRARY, "util").versionAsInProject(),
mavenBundle(OFLIBRARY, "openflow-protocol-impl").versionAsInProject(),
mavenBundle(OFLIBRARY, "openflow-protocol-api").versionAsInProject(),
mavenBundle(OFLIBRARY, "openflow-protocol-spi").versionAsInProject(),
}
/**
+ * Here we construct whole wiring
* @return OFLibrary + OFPlugin bundles
*/
public static Option ofPluginBundles() {
return new DefaultCompositeOption(
- baseSalBundles(),
+ mdSalApiBundles(),
+ mdSalImplBundles(),
+ mdSalBaseModelBundles(),
ofLibraryBundles(),
- mavenBundle(CONTROLLER_MODEL, "model-flow-statistics").versionAsInProject(),
+ mavenBundle(OFPLUGIN_MODEL, "model-flow-statistics").versionAsInProject(),
+ mavenBundle(OFPLUGIN_MODEL, "model-flow-base").versionAsInProject(),
+ mavenBundle(OFPLUGIN_MODEL, "model-flow-service").versionAsInProject(),
+ mavenBundle(OFPLUGIN, "openflowplugin-api").versionAsInProject(),
+ mavenBundle(OFPLUGIN, "openflowplugin-extension-api").versionAsInProject(),
mavenBundle(OFPLUGIN, "openflowplugin").versionAsInProject(),
- mavenBundle("org.opendaylight.controller.thirdparty", "nagasena").versionAsInProject()
+ mavenBundle(OFPLUGIN_APPS, "forwardingrules-manager").versionAsInProject(),
+ mavenBundle(OFPLUGIN_APPS, "inventory-manager").versionAsInProject(),
+ mavenBundle("org.openexi", "nagasena").versionAsInProject()
);
}
*/
public static Option loggingBudles() {
return new DefaultCompositeOption(
- mavenBundle("org.slf4j", "slf4j-api").versionAsInProject(),
+ mavenBundle("org.slf4j", "slf4j-api").versionAsInProject(),
mavenBundle("org.slf4j", "log4j-over-slf4j").versionAsInProject(),
mavenBundle("ch.qos.logback", "logback-core").versionAsInProject(),
mavenBundle("ch.qos.logback", "logback-classic").versionAsInProject());
/**
* @return sal + dependencymanager
*/
- public static Option baseSalBundles() {
+ public static Option mdSalApiBundles() {
+ return new DefaultCompositeOption(
+ TestHelper.junitAndMockitoBundles(),
+ TestHelper.mdSalCoreBundles(),
+ TestHelper.configMinumumBundles(),
+ mavenBundle(YANGTOOLS + ".thirdparty", "antlr4-runtime-osgi-nohead").versionAsInProject());
+
+ }
+
+ private static Option mdSalImplBundles() {
+ return new DefaultCompositeOption(
+ TestHelper.bindingAwareSalBundles()
+ );
+ }
+
+ private static Option mdSalBaseModelBundles() {
return new DefaultCompositeOption(
- mavenBundle("org.apache.felix", "org.apache.felix.dependencymanager").versionAsInProject(),
- mavenBundle(CONTROLLER, "sal").versionAsInProject());
+ TestHelper.baseModelBundles(),
+ mavenBundle(CONTROLLER_MODEL, "model-inventory").versionAsInProject()
+ );
}
}