* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.yangtools.yang.data.codec.xml;
import static java.util.Objects.requireNonNull;
import com.google.common.annotations.Beta;
import java.util.List;
-import org.opendaylight.yangtools.rfc8528.data.util.EmptyMountPointContext;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.MountPointContext;
* @return A codec factory instance.
*/
public static XmlCodecFactory create(final EffectiveModelContext context) {
- return create(new EmptyMountPointContext(context));
+ return create(MountPointContext.of(context));
}
@Override
final EffectiveModelContext schemaContext = bindLibrary(entry.getKey(), libContainer);
if (schemaMounts == null) {
- return new EmptyMountPointContext(schemaContext);
+ return MountPointContext.of(schemaContext);
}
final NormalizedNode mountData;
final ContainerNode mountData) {
checkArgument(SCHEMA_MOUNTS.equals(mountData.getIdentifier()), "Unexpected top-level container %s", mountData);
- final DataContainerChild mountPoint = mountData.childByArg(MOUNT_POINT);
+ final var mountPoint = mountData.childByArg(MOUNT_POINT);
if (mountPoint == null) {
LOG.debug("mount-point list not present in {}", mountData);
- return new EmptyMountPointContext(schemaContext);
+ return MountPointContext.of(schemaContext);
+ }
+ if (!(mountPoint instanceof MapNode mapMountPoint)) {
+ throw new IllegalArgumentException("mount-point list " + mountPoint + " is not a MapNode");
}
- checkArgument(mountPoint instanceof MapNode, "mount-point list %s is not a MapNode", mountPoint);
- return new ImmutableMountPointContext(schemaContext, ((MapNode) mountPoint).body().stream().map(entry -> {
+ return new ImmutableMountPointContext(schemaContext, mapMountPoint.body().stream().map(entry -> {
final String moduleName = entry.findChildByArg(MODULE).map(mod -> {
checkArgument(mod instanceof LeafNode, "Unexpected module leaf %s", mod);
final Object value = mod.body();
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.yangtools.rfc8528.data.util;
+package org.opendaylight.yangtools.yang.data.api.schema;
-import com.google.common.annotations.Beta;
import java.util.Optional;
import org.opendaylight.yangtools.rfc8528.model.api.MountPointLabel;
-import org.opendaylight.yangtools.yang.data.api.schema.MountPointContext;
-import org.opendaylight.yangtools.yang.data.api.schema.MountPointContextFactory;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.opendaylight.yangtools.yang.model.spi.AbstractEffectiveModelContextProvider;
/**
* A simple {@link MountPointContext} which does not contain any mount points.
*/
-@Beta
-public final class EmptyMountPointContext extends AbstractEffectiveModelContextProvider implements MountPointContext {
- public EmptyMountPointContext(final EffectiveModelContext modelContext) {
+final class EmptyMountPointContext extends AbstractEffectiveModelContextProvider implements MountPointContext {
+ EmptyMountPointContext(final EffectiveModelContext modelContext) {
super(modelContext);
}
import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.rfc8528.model.api.MountPointLabel;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextProvider;
/**
* @throws NullPointerException if label is null
*/
Optional<MountPointContextFactory> findMountPoint(@NonNull MountPointLabel label);
+
+ /**
+ * Return an empty {@link MountPointContext} with the specified {@link EffectiveModelContext}.
+ *
+ * @param modelContext Backing {@link EffectiveModelContext}
+ * @return A {@link MountPointContext} containing no {@link MountPointContextFactory}.
+ */
+ static @NonNull MountPointContext of(final @NonNull EffectiveModelContext modelContext) {
+ return new EmptyMountPointContext(modelContext);
+ }
}
import com.google.common.annotations.Beta;
import java.io.IOException;
-import org.opendaylight.yangtools.rfc8528.data.util.EmptyMountPointContext;
import org.opendaylight.yangtools.yang.data.api.schema.MountPointChild;
+import org.opendaylight.yangtools.yang.data.api.schema.MountPointContext;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
/**
public abstract class AbstractMountPointChild implements MountPointChild {
@Override
public final NormalizedNode normalizeTo(final EffectiveModelContext schemaContext) throws IOException {
- final NormalizedNodeResult result = new NormalizedNodeResult();
- final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
- writeTo(streamWriter, new EmptyMountPointContext(schemaContext));
+ final var result = new NormalizedNodeResult();
+ final var streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
+ writeTo(streamWriter, MountPointContext.of(schemaContext));
return result.getResult();
}
}