X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=restconf%2Frestconf-nb-bierman02%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Fmd%2Fsal%2Frest%2Fschema%2FSchemaRetrievalServiceImpl.java;h=45a677df1c2f1eb337f7912f5f5d7fc7db88bfca;hb=45cfee1861924b4a8086d38079ce8cbd320386d6;hp=a75660cd2a806cd238f86de3f3496be249e0edaf;hpb=1bcaf624205de83ea78a131e960103f2b785468c;p=netconf.git diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/md/sal/rest/schema/SchemaRetrievalServiceImpl.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/md/sal/rest/schema/SchemaRetrievalServiceImpl.java index a75660cd2a..45a677df1c 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/md/sal/rest/schema/SchemaRetrievalServiceImpl.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/md/sal/rest/schema/SchemaRetrievalServiceImpl.java @@ -9,17 +9,17 @@ package org.opendaylight.netconf.md.sal.rest.schema; import com.google.common.base.Splitter; import com.google.common.collect.Iterables; -import java.text.ParseException; -import java.util.Date; +import java.time.format.DateTimeParseException; import java.util.Iterator; -import org.opendaylight.netconf.md.sal.rest.common.RestconfValidationUtils; +import org.opendaylight.mdsal.dom.api.DOMYangTextSourceProvider; import org.opendaylight.netconf.sal.restconf.impl.ControllerContext; -import org.opendaylight.netconf.sal.restconf.impl.RestconfDocumentedException; -import org.opendaylight.netconf.sal.restconf.impl.RestconfError.ErrorTag; -import org.opendaylight.netconf.sal.restconf.impl.RestconfError.ErrorType; import org.opendaylight.restconf.common.context.InstanceIdentifierContext; +import org.opendaylight.restconf.common.errors.RestconfDocumentedException; +import org.opendaylight.restconf.common.errors.RestconfError.ErrorTag; +import org.opendaylight.restconf.common.errors.RestconfError.ErrorType; import org.opendaylight.restconf.common.schema.SchemaExportContext; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; +import org.opendaylight.restconf.common.validation.RestconfValidationUtils; +import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -67,17 +67,19 @@ public class SchemaRetrievalServiceImpl implements SchemaRetrievalService { RestconfValidationUtils.checkDocumentedError(componentIter.hasNext(), ErrorType.PROTOCOL, ErrorTag.INVALID_VALUE, "Revision date must be supplied."); final String revisionString = componentIter.next(); - return getExportUsingNameAndRevision(schemaContext, moduleName, revisionString); + return getExportUsingNameAndRevision(schemaContext, moduleName, revisionString, + salContext.getYangTextSourceProvider()); } private static SchemaExportContext getExportUsingNameAndRevision(final SchemaContext schemaContext, - final String moduleName, final String revisionStr) { + final String moduleName, final String revisionStr, + final DOMYangTextSourceProvider yangTextSourceProvider) { try { - final Date revision = SimpleDateFormatUtil.getRevisionFormat().parse(revisionStr); - final Module module = schemaContext.findModuleByName(moduleName, revision); + final Module module = schemaContext.findModule(moduleName, Revision.of(revisionStr)).orElse(null); return new SchemaExportContext( - schemaContext, RestconfValidationUtils.checkNotNullDocumented(module, moduleName)); - } catch (final ParseException e) { + schemaContext, RestconfValidationUtils.checkNotNullDocumented(module, moduleName), + yangTextSourceProvider); + } catch (final DateTimeParseException e) { throw new RestconfDocumentedException("Supplied revision is not in expected date format YYYY-mm-dd", e); } }