public void writeTo(final SchemaExportContext context, final Class<?> type, final Type genericType,
final Annotation[] annotations, final MediaType mediaType,
final MultivaluedMap<String, Object> httpHeaders, final OutputStream entityStream) throws IOException {
- final Module module = context.getModule();
+ final Module module = context.module();
final SourceIdentifier sourceId = new SourceIdentifier(module.getName(),
module.getQNameModule().getRevision().map(Revision::toString).orElse(null));
final YangTextSchemaSource yangTextSchemaSource;
try {
- yangTextSchemaSource = context.getSourceProvider().getSource(sourceId).get();
+ yangTextSchemaSource = context.sourceProvider().getSource(sourceId).get();
} catch (InterruptedException | ExecutionException e) {
throw new WebApplicationException("Unable to retrieve source from SourceProvider.", e);
}
final Annotation[] annotations, final MediaType mediaType,
final MultivaluedMap<String, Object> httpHeaders, final OutputStream entityStream) throws IOException {
try {
- YinExportUtils.writeModuleAsYinText(context.getModule().asEffectiveStatement(), entityStream);
+ YinExportUtils.writeModuleAsYinText(context.module().asEffectiveStatement(), entityStream);
} catch (final XMLStreamException e) {
throw new IOException("Failed to export module", e);
}
*/
package org.opendaylight.restconf.nb.rfc8040.rests.services.api;
+import static java.util.Objects.requireNonNull;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.mdsal.dom.api.DOMYangTextSourceProvider;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.opendaylight.yangtools.yang.model.api.Module;
-public final class SchemaExportContext {
- private final EffectiveModelContext schemaContext;
- private final Module module;
- private final DOMYangTextSourceProvider sourceProvider;
-
- public SchemaExportContext(final EffectiveModelContext schemaContext, final Module module,
- final DOMYangTextSourceProvider sourceProvider) {
- this.schemaContext = schemaContext;
- this.module = module;
- this.sourceProvider = sourceProvider;
- }
-
- public EffectiveModelContext getSchemaContext() {
- return schemaContext;
- }
-
- public Module getModule() {
- return module;
- }
+/**
+ * Holder of schema export context.
+ */
+public record SchemaExportContext(
+ @NonNull EffectiveModelContext schemaContext,
+ @Nullable Module module,
+ @NonNull DOMYangTextSourceProvider sourceProvider) {
- public DOMYangTextSourceProvider getSourceProvider() {
- return sourceProvider;
+ public SchemaExportContext {
+ requireNonNull(schemaContext);
+ requireNonNull(sourceProvider);
}
}
// verify
assertNotNull("Export context should not be null", exportContext);
- final Module module = exportContext.getModule();
+ final Module module = exportContext.module();
assertNotNull("Existing module should be found", module);
assertEquals("Not expected module name", "module1", module.getName());
// verify
assertNotNull("Export context should not be null", exportContext);
- assertNull("Not-existing module should not be found", exportContext.getModule());
+ assertNull("Not-existing module should not be found", exportContext.module());
}
/**
// verify
assertNotNull("Export context should not be null", exportContext);
- final Module module = exportContext.getModule();
+ final Module module = exportContext.module();
assertNotNull("Existing module should be found", module);
assertEquals("Not expected module name", "module1-behind-mount-point", module.getName());
// verify
assertNotNull("Export context should not be null", exportContext);
- assertNull("Not-existing module should not be found", exportContext.getModule());
+ assertNull("Not-existing module should not be found", exportContext.module());
}
/**
assertNotNull("Export context should be parsed", exportContext);
- final Module module = exportContext.getModule();
+ final Module module = exportContext.module();
assertNotNull("Export context should contains test module", module);
assertEquals("Returned not expected module name", TEST_MODULE_NAME, module.getName());
null, sourceProvider);
assertNotNull("Export context should be parsed", exportContext);
- assertNull("Not-existing module should be null", exportContext.getModule());
+ assertNull("Not-existing module should be null", exportContext.module());
}
/**
MOUNT_POINT_IDENT + "/" + TEST_MODULE_NAME + "/" + TEST_MODULE_REVISION,
mountPointService, sourceProvider);
- final Module module = exportContext.getModule();
+ final Module module = exportContext.module();
assertNotNull("Export context should contains test module", module);
assertEquals("Returned not expected module name",
mountPointService, sourceProvider);
assertNotNull("Export context should be parsed", exportContext);
- assertNull("Not-existing module should be null", exportContext.getModule());
+ assertNull("Not-existing module should be null", exportContext.module());
}
/**