diff options
Diffstat (limited to 'common/src/main/java/org/openecomp/mso/yangDecoder/base/MockSchemaService.java')
-rw-r--r-- | common/src/main/java/org/openecomp/mso/yangDecoder/base/MockSchemaService.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/base/MockSchemaService.java b/common/src/main/java/org/openecomp/mso/yangDecoder/base/MockSchemaService.java new file mode 100644 index 0000000000..f869a3c600 --- /dev/null +++ b/common/src/main/java/org/openecomp/mso/yangDecoder/base/MockSchemaService.java @@ -0,0 +1,42 @@ +package org.openecomp.mso.yangDecoder.base; +import org.opendaylight.mdsal.dom.api.DOMSchemaService; +import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.yangtools.util.ListenerRegistry; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.SchemaContextListener; +import org.opendaylight.yangtools.yang.model.api.SchemaContextProvider; + +public final class MockSchemaService implements DOMSchemaService, SchemaContextProvider { + + private SchemaContext schemaContext; + + ListenerRegistry<SchemaContextListener> listeners = ListenerRegistry.create(); + + @Override + public synchronized SchemaContext getGlobalContext() { + return schemaContext; + } + + @Override + public synchronized SchemaContext getSessionContext() { + return schemaContext; + } + + @Override + public ListenerRegistration<SchemaContextListener> registerSchemaContextListener( + final SchemaContextListener listener) { + return listeners.register(listener); + } + + @Override + public synchronized SchemaContext getSchemaContext() { + return schemaContext; + } + + public synchronized void changeSchema(final SchemaContext newContext) { + schemaContext = newContext; + for (ListenerRegistration<SchemaContextListener> listener : listeners) { + listener.getInstance().onGlobalContextUpdated(schemaContext); + } + } +} |