Improve microsemi unit test run time
Change-Id: Id1a5ad9d7e47dabde61d16aced464510d0818c42
diff --git a/drivers/microsemi/ea1000/src/test/java/org/onosproject/yang/serializers/xml/MockYangSerializerContext.java b/drivers/microsemi/ea1000/src/test/java/org/onosproject/yang/serializers/xml/MockYangSerializerContext.java
index bb931f0..f5c0753 100644
--- a/drivers/microsemi/ea1000/src/test/java/org/onosproject/yang/serializers/xml/MockYangSerializerContext.java
+++ b/drivers/microsemi/ea1000/src/test/java/org/onosproject/yang/serializers/xml/MockYangSerializerContext.java
@@ -23,27 +23,35 @@
import org.onosproject.yang.runtime.YangSerializerContext;
import org.onosproject.yang.runtime.impl.DefaultYangModelRegistry;
+import com.google.common.base.Supplier;
+import com.google.common.base.Suppliers;
+
import java.util.LinkedList;
import java.util.List;
public class MockYangSerializerContext implements YangSerializerContext {
- private static MockMicrosemiRegistrator schemaProviderMicrosemi =
- new MockMicrosemiRegistrator();
private static MockYangRegistrator schemaProviderYang =
new MockYangRegistrator();
+
+ private static Supplier<MockMicrosemiRegistrator> schemaProviderMicrosemi =
+ Suppliers.memoize(() -> {
+ MockMicrosemiRegistrator r = new MockMicrosemiRegistrator();
+ r.addAppInfo(schemaProviderYang.getAppInfo());
+ r.activate();
+ return r;
+ });
+
private static final String NETCONF_NS =
"urn:ietf:params:xml:ns:netconf:base:1.0";
private static final String XMNLS_NC = "xmlns:xc";
public MockYangSerializerContext() {
- schemaProviderMicrosemi.addAppInfo(schemaProviderYang.getAppInfo());
- schemaProviderMicrosemi.activate();
}
@Override
public SchemaContext getContext() {
- DefaultYangModelRegistry registry = (DefaultYangModelRegistry) schemaProviderMicrosemi.registry();
+ DefaultYangModelRegistry registry = (DefaultYangModelRegistry) schemaProviderMicrosemi.get().registry();
return registry;
}