X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-docgen%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frest%2Fdoc%2Fmountpoints%2FMountPointSwagger.java;h=5ed227fd911196f628107682121f168e01c16b06;hb=refs%2Fchanges%2F30%2F16630%2F12;hp=20e0fa56a798f3b7fa2c779c644134563d8b8e80;hpb=45f2bf8ff9daf30ef7fbe4525366ea92a95fa213;p=controller.git diff --git a/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/mountpoints/MountPointSwagger.java b/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/mountpoints/MountPointSwagger.java index 20e0fa56a7..5ed227fd91 100644 --- a/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/mountpoints/MountPointSwagger.java +++ b/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/mountpoints/MountPointSwagger.java @@ -7,6 +7,7 @@ */ package org.opendaylight.controller.sal.rest.doc.mountpoints; +import com.google.common.base.Optional; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; @@ -17,12 +18,10 @@ import java.util.Map.Entry; import java.util.TreeMap; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; - import javax.ws.rs.core.UriInfo; - +import org.opendaylight.controller.md.sal.dom.api.DOMMountPoint; +import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService; import org.opendaylight.controller.sal.core.api.model.SchemaService; -import org.opendaylight.controller.sal.core.api.mount.MountProvisionInstance; -import org.opendaylight.controller.sal.core.api.mount.MountProvisionService; import org.opendaylight.controller.sal.core.api.mount.MountProvisionListener; import org.opendaylight.controller.sal.rest.doc.impl.BaseYangSwaggerGenerator; import org.opendaylight.controller.sal.rest.doc.swagger.Api; @@ -31,9 +30,9 @@ import org.opendaylight.controller.sal.rest.doc.swagger.Operation; import org.opendaylight.controller.sal.rest.doc.swagger.Resource; import org.opendaylight.controller.sal.rest.doc.swagger.ResourceList; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeIdentifierWithPredicates; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -42,15 +41,15 @@ public class MountPointSwagger extends BaseYangSwaggerGenerator implements Mount private static final String DATASTORES_REVISION = "-"; private static final String DATASTORES_LABEL = "Datastores"; - private MountProvisionService mountService; - private final Map instanceIdToLongId = new TreeMap<>( - new Comparator() { + private DOMMountPointService mountService; + private final Map instanceIdToLongId = new TreeMap<>( + new Comparator() { @Override - public int compare(final InstanceIdentifier o1, final InstanceIdentifier o2) { + public int compare(final YangInstanceIdentifier o1, final YangInstanceIdentifier o2) { return o1.toString().compareToIgnoreCase(o2.toString()); } }); - private final Map longIdToInstanceId = new HashMap<>(); + private final Map longIdToInstanceId = new HashMap<>(); private final Object lock = new Object(); private final AtomicLong idKey = new AtomicLong(0); @@ -62,7 +61,7 @@ public class MountPointSwagger extends BaseYangSwaggerGenerator implements Mount Map urlToId = new HashMap<>(); synchronized (lock) { SchemaContext context = globalSchema.getGlobalContext(); - for (Entry entry : instanceIdToLongId.entrySet()) { + for (Entry entry : instanceIdToLongId.entrySet()) { String modName = findModuleName(entry.getKey(), context); urlToId.put(generateUrlPrefixFromInstanceID(entry.getKey(), modName), entry.getValue()); @@ -75,7 +74,7 @@ public class MountPointSwagger extends BaseYangSwaggerGenerator implements Mount this.globalSchema = globalSchema; } - private String findModuleName(final InstanceIdentifier id, final SchemaContext context) { + private String findModuleName(final YangInstanceIdentifier id, final SchemaContext context) { PathArgument rootQName = id.getPathArguments().iterator().next(); for (Module mod : context.getModules()) { if (mod.getDataChildByName(rootQName.getNodeType()) != null) { @@ -85,7 +84,7 @@ public class MountPointSwagger extends BaseYangSwaggerGenerator implements Mount return null; } - private String generateUrlPrefixFromInstanceID(final InstanceIdentifier key, final String moduleName) { + private String generateUrlPrefixFromInstanceID(final YangInstanceIdentifier key, final String moduleName) { StringBuilder builder = new StringBuilder(); if (moduleName != null) { builder.append(moduleName); @@ -101,7 +100,7 @@ public class MountPointSwagger extends BaseYangSwaggerGenerator implements Mount builder.append('/'); } builder.append(name); - if (arg instanceof InstanceIdentifier.NodeIdentifierWithPredicates) { + if (arg instanceof YangInstanceIdentifier.NodeIdentifierWithPredicates) { NodeIdentifierWithPredicates nodeId = (NodeIdentifierWithPredicates) arg; for (Entry entry : nodeId.getKeyValues().entrySet()) { builder.append('/').append(entry.getValue()); @@ -112,13 +111,13 @@ public class MountPointSwagger extends BaseYangSwaggerGenerator implements Mount return builder.append('/').toString(); } - private String getYangMountUrl(final InstanceIdentifier key) { + private String getYangMountUrl(final YangInstanceIdentifier key) { String modName = findModuleName(key, globalSchema.getGlobalContext()); return generateUrlPrefixFromInstanceID(key, modName) + "yang-ext:mount/"; } public ResourceList getResourceList(final UriInfo uriInfo, final Long id) { - InstanceIdentifier iid = getInstanceId(id); + YangInstanceIdentifier iid = getInstanceId(id); if (iid == null) { return null; // indicating not found. } @@ -138,26 +137,26 @@ public class MountPointSwagger extends BaseYangSwaggerGenerator implements Mount return list; } - private InstanceIdentifier getInstanceId(final Long id) { - InstanceIdentifier instanceId; + private YangInstanceIdentifier getInstanceId(final Long id) { + YangInstanceIdentifier instanceId; synchronized (lock) { instanceId = longIdToInstanceId.get(id); } return instanceId; } - private SchemaContext getSchemaContext(final InstanceIdentifier id) { + private SchemaContext getSchemaContext(final YangInstanceIdentifier id) { if (id == null) { return null; } - MountProvisionInstance mountPoint = mountService.getMountPoint(id); - if (mountPoint == null) { + Optional mountPoint = mountService.getMountPoint(id); + if (!mountPoint.isPresent()) { return null; } - SchemaContext context = mountPoint.getSchemaContext(); + SchemaContext context = mountPoint.get().getSchemaContext(); if (context == null) { return null; } @@ -165,7 +164,7 @@ public class MountPointSwagger extends BaseYangSwaggerGenerator implements Mount } public ApiDeclaration getMountPointApi(final UriInfo uriInfo, final Long id, final String module, final String revision) { - InstanceIdentifier iid = getInstanceId(id); + YangInstanceIdentifier iid = getInstanceId(id); SchemaContext context = getSchemaContext(iid); String urlPrefix = getYangMountUrl(iid); if (context == null) { @@ -206,12 +205,12 @@ public class MountPointSwagger extends BaseYangSwaggerGenerator implements Mount return api; } - public void setMountService(final MountProvisionService mountService) { + public void setMountService(final DOMMountPointService mountService) { this.mountService = mountService; } @Override - public void onMountPointCreated(final InstanceIdentifier path) { + public void onMountPointCreated(final YangInstanceIdentifier path) { synchronized (lock) { Long idLong = idKey.incrementAndGet(); instanceIdToLongId.put(path, idLong); @@ -220,7 +219,7 @@ public class MountPointSwagger extends BaseYangSwaggerGenerator implements Mount } @Override - public void onMountPointRemoved(final InstanceIdentifier path) { + public void onMountPointRemoved(final YangInstanceIdentifier path) { synchronized (lock) { Long id = instanceIdToLongId.remove(path); longIdToInstanceId.remove(id);