diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/client/platform/model/domain/bindings/amqp/Amqp091ChannelBinding.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/client/platform/model/domain/bindings/amqp/Amqp091ChannelBinding.scala index 64abb098fb..0131dd6cb9 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/client/platform/model/domain/bindings/amqp/Amqp091ChannelBinding.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/client/platform/model/domain/bindings/amqp/Amqp091ChannelBinding.scala @@ -4,7 +4,13 @@ import amf.apicontract.client.platform.model.domain.bindings.{BindingVersion, Ch import amf.apicontract.client.scala.model.domain.bindings.amqp.{ Amqp091ChannelBinding => InternalAmqp091ChannelBinding, Amqp091ChannelExchange => InternalAmqp091ChannelExchange, - Amqp091Queue => InternalAmqp091Queue + Amqp091Queue => InternalAmqp091Queue, + Amqp091ChannelBinding010 => InternalAmqp091ChannelBinding010, + Amqp091ChannelExchange010 => InternalAmqp091ChannelExchange010, + Amqp091Queue010 => InternalAmqp091Queue010, + Amqp091ChannelBinding020 => InternalAmqp091ChannelBinding020, + Amqp091ChannelExchange020 => InternalAmqp091ChannelExchange020, + Amqp091Queue020 => InternalAmqp091Queue020 } import amf.apicontract.internal.convert.ApiClientConverters._ import amf.core.client.platform.model.domain.{DomainElement, NamedDomainElement} @@ -13,13 +19,10 @@ import amf.core.client.platform.model.{BoolField, StrField} import scala.scalajs.js.annotation.{JSExportAll, JSExportTopLevel} @JSExportAll -case class Amqp091ChannelBinding(override private[amf] val _internal: InternalAmqp091ChannelBinding) +abstract class Amqp091ChannelBinding(override private[amf] val _internal: InternalAmqp091ChannelBinding) extends ChannelBinding with BindingVersion { - @JSExportTopLevel("Amqp091ChannelBinding") - def this() = this(InternalAmqp091ChannelBinding()) - override protected def bindingVersion: StrField = _internal.bindingVersion override def withBindingVersion(bindingVersion: String): this.type = { _internal.withBindingVersion(bindingVersion) @@ -41,22 +44,16 @@ case class Amqp091ChannelBinding(override private[amf] val _internal: InternalAm _internal.withQueue(queue) this } - - override def linkCopy(): Amqp091ChannelBinding = _internal.linkCopy() } @JSExportAll -case class Amqp091ChannelExchange(override private[amf] val _internal: InternalAmqp091ChannelExchange) +abstract class Amqp091ChannelExchange(override private[amf] val _internal: InternalAmqp091ChannelExchange) extends DomainElement with NamedDomainElement { - @JSExportTopLevel("Amqp091ChannelExchange") - def this() = this(InternalAmqp091ChannelExchange()) - def `type`: StrField = _internal.`type` def durable: BoolField = _internal.durable def autoDelete: BoolField = _internal.autoDelete - def vHost: StrField = _internal.vHost def withType(`type`: String): this.type = { _internal.withType(`type`) @@ -70,10 +67,6 @@ case class Amqp091ChannelExchange(override private[amf] val _internal: InternalA _internal.withAutoDelete(autoDelete) this } - def withVHost(vHost: String): this.type = { - _internal.withVHost(vHost) - this - } /** Return DomainElement name. */ override def name: StrField = _internal.name @@ -86,17 +79,13 @@ case class Amqp091ChannelExchange(override private[amf] val _internal: InternalA } @JSExportAll -case class Amqp091Queue(override private[amf] val _internal: InternalAmqp091Queue) +abstract class Amqp091Queue(override private[amf] val _internal: InternalAmqp091Queue) extends DomainElement with NamedDomainElement { - @JSExportTopLevel("Amqp091Queue") - def this() = this(InternalAmqp091Queue()) - def durable: BoolField = _internal.durable def exclusive: BoolField = _internal.exclusive def autoDelete: BoolField = _internal.autoDelete - def vHost: StrField = _internal.vHost def withDurable(durable: Boolean): this.type = { _internal.withDurable(durable) @@ -110,15 +99,101 @@ case class Amqp091Queue(override private[amf] val _internal: InternalAmqp091Queu _internal.withAutoDelete(autoDelete) this } + + override def name: StrField = _internal.name + + override def withName(name: String): this.type = { + _internal.withName(name) + this + } +} + +@JSExportAll +case class Amqp091ChannelBinding010(override private[amf] val _internal: InternalAmqp091ChannelBinding010) + extends Amqp091ChannelBinding(_internal) { + + @JSExportTopLevel("Amqp091ChannelBinding010") + def this() = this(InternalAmqp091ChannelBinding010()) + + override def exchange: Amqp091ChannelExchange010 = _internal.exchange + override def queue: Amqp091Queue010 = _internal.queue + + def withExchange(exchange: Amqp091ChannelExchange010): this.type = { + _internal.withExchange(exchange) + this + } + def withQueue(queue: Amqp091Queue010): this.type = { + _internal.withQueue(queue) + this + } + + override def linkCopy(): Amqp091ChannelBinding010 = _internal.linkCopy() +} + +@JSExportAll +case class Amqp091ChannelExchange010(override private[amf] val _internal: InternalAmqp091ChannelExchange010) + extends Amqp091ChannelExchange(_internal) { + + @JSExportTopLevel("Amqp091ChannelExchange010") + def this() = this(InternalAmqp091ChannelExchange010()) +} + +@JSExportAll +case class Amqp091Queue010(override private[amf] val _internal: InternalAmqp091Queue010) + extends Amqp091Queue(_internal) { + + @JSExportTopLevel("Amqp091Queue010") + def this() = this(InternalAmqp091Queue010()) +} + +@JSExportAll +case class Amqp091ChannelBinding020(override private[amf] val _internal: InternalAmqp091ChannelBinding020) + extends Amqp091ChannelBinding(_internal) { + + @JSExportTopLevel("Amqp091ChannelBinding020") + def this() = this(InternalAmqp091ChannelBinding020()) + + override def exchange: Amqp091ChannelExchange020 = _internal.exchange + override def queue: Amqp091Queue020 = _internal.queue + + def withExchange(exchange: Amqp091ChannelExchange020): this.type = { + _internal.withExchange(exchange) + this + } + def withQueue(queue: Amqp091Queue020): this.type = { + _internal.withQueue(queue) + this + } + + override def linkCopy(): Amqp091ChannelBinding020 = _internal.linkCopy() +} + +@JSExportAll +case class Amqp091ChannelExchange020(override private[amf] val _internal: InternalAmqp091ChannelExchange020) + extends Amqp091ChannelExchange(_internal) { + + @JSExportTopLevel("Amqp091ChannelExchange020") + def this() = this(InternalAmqp091ChannelExchange020()) + + def vHost: StrField = _internal.vHost + def withVHost(vHost: String): this.type = { _internal.withVHost(vHost) this } +} - override def name: StrField = _internal.name +@JSExportAll +case class Amqp091Queue020(override private[amf] val _internal: InternalAmqp091Queue020) + extends Amqp091Queue(_internal) { - override def withName(name: String): this.type = { - _internal.withName(name) + @JSExportTopLevel("Amqp091Queue020") + def this() = this(InternalAmqp091Queue020()) + + def vHost: StrField = _internal.vHost + + def withVHost(vHost: String): this.type = { + _internal.withVHost(vHost) this } } diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/client/platform/model/domain/bindings/amqp/Amqp091OperationBinding.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/client/platform/model/domain/bindings/amqp/Amqp091OperationBinding.scala index 43ff3b4e1d..d705244596 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/client/platform/model/domain/bindings/amqp/Amqp091OperationBinding.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/client/platform/model/domain/bindings/amqp/Amqp091OperationBinding.scala @@ -2,7 +2,9 @@ package amf.apicontract.client.platform.model.domain.bindings.amqp import amf.apicontract.client.platform.model.domain.bindings.{BindingVersion, OperationBinding} import amf.apicontract.client.scala.model.domain.bindings.amqp.{ - Amqp091OperationBinding => InternalAmqp091OperationBinding + Amqp091OperationBinding => InternalAmqp091OperationBinding, + Amqp091OperationBinding010 => InternalAmqp091OperationBinding010, + Amqp091OperationBinding030 => InternalAmqp091OperationBinding030 } import amf.apicontract.internal.convert.ApiClientConverters._ import amf.core.client.platform.model.{BoolField, IntField, StrField} @@ -10,12 +12,10 @@ import amf.core.client.platform.model.{BoolField, IntField, StrField} import scala.scalajs.js.annotation.{JSExportAll, JSExportTopLevel} @JSExportAll -case class Amqp091OperationBinding(override private[amf] val _internal: InternalAmqp091OperationBinding) +abstract class Amqp091OperationBinding(override private[amf] val _internal: InternalAmqp091OperationBinding) extends OperationBinding with BindingVersion { - @JSExportTopLevel("Amqp091OperationBinding") - def this() = this(InternalAmqp091OperationBinding()) override protected def bindingVersion: StrField = _internal.bindingVersion override def withBindingVersion(bindingVersion: String): this.type = { _internal.withBindingVersion(bindingVersion) @@ -29,9 +29,9 @@ case class Amqp091OperationBinding(override private[amf] val _internal: Internal def deliveryMode: IntField = _internal.deliveryMode def mandatory: BoolField = _internal.mandatory def bcc: ClientList[StrField] = _internal.bcc.asClient - def replyTo: StrField = _internal.replyTo - def timestamp: BoolField = _internal.timestamp - def ack: BoolField = _internal.ack + + def timestamp: BoolField = _internal.timestamp + def ack: BoolField = _internal.ack def withExpiration(expiration: Int): this.type = { _internal.withExpiration(expiration) @@ -68,11 +68,6 @@ case class Amqp091OperationBinding(override private[amf] val _internal: Internal this } - def withReplyTo(replyTo: String): this.type = { - _internal.withReplyTo(replyTo) - this - } - def withTimestamp(timestamp: Boolean): this.type = { _internal.withTimestamp(timestamp) this @@ -82,6 +77,30 @@ case class Amqp091OperationBinding(override private[amf] val _internal: Internal _internal.withAck(ack) this } +} + +@JSExportAll +case class Amqp091OperationBinding010(override private[amf] val _internal: InternalAmqp091OperationBinding010) + extends Amqp091OperationBinding(_internal) { + + @JSExportTopLevel("Amqp091OperationBinding010") + def this() = this(InternalAmqp091OperationBinding010()) + + def replyTo: StrField = _internal.replyTo + def withReplyTo(replyTo: String): this.type = { + _internal.withReplyTo(replyTo) + this + } + + override def linkCopy(): Amqp091OperationBinding010 = _internal.linkCopy() +} + +@JSExportAll +case class Amqp091OperationBinding030(override private[amf] val _internal: InternalAmqp091OperationBinding030) + extends Amqp091OperationBinding(_internal) { + + @JSExportTopLevel("Amqp091OperationBinding030") + def this() = this(InternalAmqp091OperationBinding030()) - override def linkCopy(): Amqp091OperationBinding = _internal.linkCopy() + override def linkCopy(): Amqp091OperationBinding030 = _internal.linkCopy() } diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/client/scala/model/domain/bindings/amqp/Amqp091ChannelBinding.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/client/scala/model/domain/bindings/amqp/Amqp091ChannelBinding.scala index e457d7ee62..2cc1cc8d83 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/client/scala/model/domain/bindings/amqp/Amqp091ChannelBinding.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/client/scala/model/domain/bindings/amqp/Amqp091ChannelBinding.scala @@ -4,105 +4,187 @@ import amf.core.client.scala.model.domain.{DomainElement, Linkable, NamedDomainE import amf.core.client.scala.model.{BoolField, StrField} import amf.core.internal.metamodel.Field import amf.core.internal.parser.domain.{Annotations, Fields} -import amf.apicontract.internal.metamodel.domain.bindings.Amqp091ChannelBindingModel._ +import amf.apicontract.internal.metamodel.domain.bindings.Amqp091ChannelBinding020Model._ import amf.apicontract.internal.metamodel.domain.bindings.{ - Amqp091ChannelBindingModel, - Amqp091ChannelExchangeModel => ChannelExchange, - Amqp091QueueModel => QueueModel + Amqp091ChannelBindingModel => BaseModel, + Amqp091ChannelBinding010Model => Amqp010Model, + Amqp091ChannelBinding020Model => Amqp020Model, + Amqp091ChannelExchangeModel => BaseExchangeModel, + Amqp091ChannelExchange010Model => Exchange010Model, + Amqp091ChannelExchange020Model => Exchange020Model, + Amqp091QueueModel => BaseQueueModel, + Amqp091Queue010Model => Queue010Model, + Amqp091Queue020Model => Queue020Model } import amf.apicontract.client.scala.model.domain.bindings.{BindingVersion, ChannelBinding} import amf.shapes.client.scala.model.domain.Key -class Amqp091ChannelBinding(override val fields: Fields, override val annotations: Annotations) +abstract class Amqp091ChannelBinding(override val fields: Fields, override val annotations: Annotations) extends ChannelBinding with BindingVersion with Key { + override def key: StrField = fields.field(BaseModel.key) + override protected def bindingVersionField: Field = BindingVersion - override def meta: Amqp091ChannelBindingModel.type = Amqp091ChannelBindingModel + def is: StrField = fields.field(BaseModel.Is) + def exchange: Amqp091ChannelExchange = fields.field(BaseModel.Exchange) + def queue: Amqp091Queue = fields.field(BaseModel.Queue) - override def componentId: String = "/amqp091-channel" + def withIs(is: String): this.type = set(BaseModel.Is, is) + def withExchange(exchange: Amqp091ChannelExchange): this.type = set(BaseModel.Exchange, exchange) + def withQueue(queue: Amqp091Queue): this.type = set(BaseModel.Queue, queue) +} - override def key: StrField = fields.field(Amqp091ChannelBindingModel.key) +abstract class Amqp091ChannelExchange(override val fields: Fields, override val annotations: Annotations) + extends DomainElement + with NamedDomainElement { + override def nameField: Field = BaseExchangeModel.Name - override protected def bindingVersionField: Field = BindingVersion + def `type`: StrField = fields.field(BaseExchangeModel.Type) + def durable: BoolField = fields.field(BaseExchangeModel.Durable) + def autoDelete: BoolField = fields.field(BaseExchangeModel.AutoDelete) - def is: StrField = fields.field(Is) - def exchange: Amqp091ChannelExchange = fields.field(Exchange) - def queue: Amqp091Queue = fields.field(Queue) - def withIs(is: String): this.type = set(Is, is) - def withExchange(exchange: Amqp091ChannelExchange): this.type = set(Exchange, exchange) - def withQueue(queue: Amqp091Queue): this.type = set(Queue, queue) + def withType(`type`: String): this.type = set(BaseExchangeModel.Type, `type`) + def withDurable(durable: Boolean): this.type = set(BaseExchangeModel.Durable, durable) + def withAutoDelete(autoDelete: Boolean): this.type = set(BaseExchangeModel.AutoDelete, autoDelete) +} - override def linkCopy(): Amqp091ChannelBinding = Amqp091ChannelBinding().withId(id) +abstract class Amqp091Queue(override val fields: Fields, override val annotations: Annotations) + extends DomainElement + with NamedDomainElement { + override def nameField: Field = BaseQueueModel.Name + + def durable: BoolField = fields.field(BaseQueueModel.Durable) + def exclusive: BoolField = fields.field(BaseQueueModel.Exclusive) + def autoDelete: BoolField = fields.field(BaseQueueModel.AutoDelete) + + def withDurable(durable: Boolean): this.type = set(BaseQueueModel.Durable, durable) + def withExclusive(exclusive: Boolean): this.type = set(BaseQueueModel.Exclusive, exclusive) + def withAutoDelete(autoDelete: Boolean): this.type = set(BaseQueueModel.AutoDelete, autoDelete) +} + +class Amqp091ChannelBinding010(override val fields: Fields, override val annotations: Annotations) + extends Amqp091ChannelBinding(fields, annotations) { + + override def meta: Amqp010Model.type = Amqp010Model + + override def componentId: String = "/amqp091-channel-010" + + override def key: StrField = fields.field(Amqp010Model.key) + + override def exchange: Amqp091ChannelExchange010 = fields.field(Amqp010Model.Exchange) + override def queue: Amqp091Queue010 = fields.field(Amqp010Model.Queue) + def withExchange(exchange: Amqp091ChannelExchange010): this.type = set(Amqp010Model.Exchange, exchange) + def withQueue(queue: Amqp091Queue010): this.type = set(Amqp010Model.Queue, queue) + + override def linkCopy(): Amqp091ChannelBinding010 = Amqp091ChannelBinding010().withId(id) override protected def classConstructor: (Fields, Annotations) => Linkable with DomainElement = - Amqp091ChannelBinding.apply + Amqp091ChannelBinding010.apply } -object Amqp091ChannelBinding { +object Amqp091ChannelBinding010 { + def apply(): Amqp091ChannelBinding010 = apply(Annotations()) + + def apply(annotations: Annotations): Amqp091ChannelBinding010 = apply(Fields(), annotations) - def apply(): Amqp091ChannelBinding = apply(Annotations()) + def apply(fields: Fields, annotations: Annotations): Amqp091ChannelBinding010 = + new Amqp091ChannelBinding010(fields, annotations) +} - def apply(annotations: Annotations): Amqp091ChannelBinding = apply(Fields(), annotations) +class Amqp091ChannelExchange010(override val fields: Fields, override val annotations: Annotations) + extends Amqp091ChannelExchange(fields, annotations) { + override def meta: Exchange010Model.type = Exchange010Model - def apply(fields: Fields, annotations: Annotations): Amqp091ChannelBinding = - new Amqp091ChannelBinding(fields, annotations) + override def componentId: String = "/amqp091-exchange-010" } -class Amqp091ChannelExchange(override val fields: Fields, override val annotations: Annotations) - extends DomainElement - with NamedDomainElement { - override def meta: ChannelExchange.type = ChannelExchange +object Amqp091ChannelExchange010 { + def apply(): Amqp091ChannelExchange010 = apply(Annotations()) - override def nameField: Field = ChannelExchange.Name - def `type`: StrField = fields.field(ChannelExchange.Type) - def durable: BoolField = fields.field(ChannelExchange.Durable) - def autoDelete: BoolField = fields.field(ChannelExchange.AutoDelete) - def vHost: StrField = fields.field(ChannelExchange.VHost) + def apply(annotations: Annotations): Amqp091ChannelExchange010 = apply(Fields(), annotations) - def withType(`type`: String): this.type = set(ChannelExchange.Type, `type`) - def withDurable(durable: Boolean): this.type = set(ChannelExchange.Durable, durable) - def withAutoDelete(autoDelete: Boolean): this.type = set(ChannelExchange.AutoDelete, autoDelete) - def withVHost(vHost: String): this.type = set(ChannelExchange.VHost, vHost) + def apply(fields: Fields, annotations: Annotations): Amqp091ChannelExchange010 = + new Amqp091ChannelExchange010(fields, annotations) +} + +class Amqp091Queue010(override val fields: Fields, override val annotations: Annotations) + extends Amqp091Queue(fields, annotations) { + override def meta: Queue010Model.type = Queue010Model + + override def componentId: String = "/amqp091-queue-010" +} + +object Amqp091Queue010 { + def apply(): Amqp091Queue010 = apply(Annotations()) + + def apply(annotations: Annotations): Amqp091Queue010 = apply(Fields(), annotations) - override def componentId: String = "/amqp091-exchange" + def apply(fields: Fields, annotations: Annotations): Amqp091Queue010 = new Amqp091Queue010(fields, annotations) } -object Amqp091ChannelExchange { +class Amqp091ChannelBinding020(override val fields: Fields, override val annotations: Annotations) + extends Amqp091ChannelBinding(fields, annotations) { - def apply(): Amqp091ChannelExchange = apply(Annotations()) + override def meta: Amqp020Model.type = Amqp020Model - def apply(annotations: Annotations): Amqp091ChannelExchange = apply(Fields(), annotations) + override def componentId: String = "/amqp091-channel-020" - def apply(fields: Fields, annotations: Annotations): Amqp091ChannelExchange = - new Amqp091ChannelExchange(fields, annotations) + override def key: StrField = fields.field(Amqp020Model.key) + + override def exchange: Amqp091ChannelExchange020 = fields.field(Amqp020Model.Exchange) + override def queue: Amqp091Queue020 = fields.field(Amqp020Model.Queue) + def withExchange(exchange: Amqp091ChannelExchange020): this.type = set(Amqp020Model.Exchange, exchange) + def withQueue(queue: Amqp091Queue020): this.type = set(Amqp020Model.Queue, queue) + + override def linkCopy(): Amqp091ChannelBinding020 = Amqp091ChannelBinding020().withId(id) + + override protected def classConstructor: (Fields, Annotations) => Linkable with DomainElement = + Amqp091ChannelBinding020.apply } -class Amqp091Queue(override val fields: Fields, override val annotations: Annotations) - extends DomainElement - with NamedDomainElement { - override def meta: QueueModel.type = QueueModel +object Amqp091ChannelBinding020 { + def apply(): Amqp091ChannelBinding020 = apply(Annotations()) + + def apply(annotations: Annotations): Amqp091ChannelBinding020 = apply(Fields(), annotations) + + def apply(fields: Fields, annotations: Annotations): Amqp091ChannelBinding020 = + new Amqp091ChannelBinding020(fields, annotations) +} + +class Amqp091Queue020(override val fields: Fields, override val annotations: Annotations) + extends Amqp091Queue(fields, annotations) { + override def meta: Queue020Model.type = Queue020Model - override def nameField: Field = QueueModel.Name + def vHost: StrField = fields.field(Queue020Model.VHost) + def withVHost(vHost: String): this.type = set(Queue020Model.VHost, vHost) - def durable: BoolField = fields.field(QueueModel.Durable) - def exclusive: BoolField = fields.field(QueueModel.Exclusive) - def autoDelete: BoolField = fields.field(QueueModel.AutoDelete) - def vHost: StrField = fields.field(QueueModel.VHost) + override def componentId: String = "/amqp091-queue-020" +} + +object Amqp091Queue020 { + def apply(): Amqp091Queue020 = apply(Annotations()) - def withDurable(durable: Boolean): this.type = set(QueueModel.Durable, durable) - def withExclusive(exclusive: Boolean): this.type = set(QueueModel.Exclusive, exclusive) - def withAutoDelete(autoDelete: Boolean): this.type = set(QueueModel.AutoDelete, autoDelete) - def withVHost(vHost: String): this.type = set(QueueModel.VHost, vHost) + def apply(annotations: Annotations): Amqp091Queue020 = apply(Fields(), annotations) - override def componentId: String = "/amqp091-queue" + def apply(fields: Fields, annotations: Annotations): Amqp091Queue020 = new Amqp091Queue020(fields, annotations) } -object Amqp091Queue { +class Amqp091ChannelExchange020(override val fields: Fields, override val annotations: Annotations) + extends Amqp091ChannelExchange(fields, annotations) { + override def meta: Exchange020Model.type = Exchange020Model + + def vHost: StrField = fields.field(Exchange020Model.VHost) + def withVHost(vHost: String): this.type = set(Exchange020Model.VHost, vHost) + + override def componentId: String = "/amqp091-exchange-020" +} - def apply(): Amqp091Queue = apply(Annotations()) +object Amqp091ChannelExchange020 { + def apply(): Amqp091ChannelExchange020 = apply(Annotations()) - def apply(annotations: Annotations): Amqp091Queue = apply(Fields(), annotations) + def apply(annotations: Annotations): Amqp091ChannelExchange020 = apply(Fields(), annotations) - def apply(fields: Fields, annotations: Annotations): Amqp091Queue = new Amqp091Queue(fields, annotations) + def apply(fields: Fields, annotations: Annotations): Amqp091ChannelExchange020 = + new Amqp091ChannelExchange020(fields, annotations) } diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/client/scala/model/domain/bindings/amqp/Amqp091OperationBinding.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/client/scala/model/domain/bindings/amqp/Amqp091OperationBinding.scala index 6c2b014f4d..ea953d31ce 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/client/scala/model/domain/bindings/amqp/Amqp091OperationBinding.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/client/scala/model/domain/bindings/amqp/Amqp091OperationBinding.scala @@ -1,57 +1,92 @@ package amf.apicontract.client.scala.model.domain.bindings.amqp + import amf.core.client.scala.model.domain.{DomainElement, Linkable} import amf.core.client.scala.model.{BoolField, IntField, StrField} import amf.core.internal.metamodel.Field import amf.core.internal.parser.domain.{Annotations, Fields} -import amf.apicontract.internal.metamodel.domain.bindings.Amqp091OperationBindingModel -import amf.apicontract.internal.metamodel.domain.bindings.Amqp091OperationBindingModel._ +import amf.apicontract.internal.metamodel.domain.bindings.{ + Amqp091OperationBinding010Model => Amqp010Model, + Amqp091OperationBinding030Model => Amqp030Model, + Amqp091OperationBindingModel => BaseModel +} +import amf.apicontract.internal.metamodel.domain.bindings.BindingVersion.BindingVersion import amf.apicontract.client.scala.model.domain.bindings.{BindingVersion, OperationBinding} import amf.shapes.client.scala.model.domain.Key -class Amqp091OperationBinding(override val fields: Fields, override val annotations: Annotations) +abstract class Amqp091OperationBinding(override val fields: Fields, override val annotations: Annotations) extends OperationBinding with BindingVersion with Key { - override protected def bindingVersionField: Field = BindingVersion - override def meta: Amqp091OperationBindingModel.type = Amqp091OperationBindingModel - - override def componentId: String = "/amqp091-operation" - def expiration: IntField = fields.field(Expiration) - def userId: StrField = fields.field(UserId) - def cc: Seq[StrField] = fields.field(CC) - def priority: IntField = fields.field(Priority) - def deliveryMode: IntField = fields.field(DeliveryMode) - def mandatory: BoolField = fields.field(Mandatory) - def bcc: Seq[StrField] = fields.field(BCC) - def replyTo: StrField = fields.field(ReplyTo) - def timestamp: BoolField = fields.field(Timestamp) - def ack: BoolField = fields.field(Ack) - - def withExpiration(expiration: Int): this.type = set(Expiration, expiration) - def withUserId(userId: String): this.type = set(UserId, userId) - def withCc(cC: Seq[String]): this.type = set(CC, cC) - def withPriority(priority: Int): this.type = set(Priority, priority) - def withDeliveryMode(deliveryMode: Int): this.type = set(DeliveryMode, deliveryMode) - def withMandatory(mandatory: Boolean): this.type = set(Mandatory, mandatory) - def withBcc(bCC: Seq[String]): this.type = set(BCC, bCC) - def withReplyTo(replyTo: String): this.type = set(ReplyTo, replyTo) - def withTimestamp(timestamp: Boolean): this.type = set(Timestamp, timestamp) - def withAck(ack: Boolean): this.type = set(Ack, ack) - - override def linkCopy(): Amqp091OperationBinding = Amqp091OperationBinding().withId(id) + override def key: StrField = fields.field(BaseModel.key) + override protected def bindingVersionField: Field = BindingVersion + + def expiration: IntField = fields.field(BaseModel.Expiration) + def userId: StrField = fields.field(BaseModel.UserId) + def cc: Seq[StrField] = fields.field(BaseModel.CC) + def priority: IntField = fields.field(BaseModel.Priority) + def deliveryMode: IntField = fields.field(BaseModel.DeliveryMode) + def mandatory: BoolField = fields.field(BaseModel.Mandatory) + def bcc: Seq[StrField] = fields.field(BaseModel.BCC) + def timestamp: BoolField = fields.field(BaseModel.Timestamp) + def ack: BoolField = fields.field(BaseModel.Ack) + + def withExpiration(expiration: Int): this.type = set(BaseModel.Expiration, expiration) + def withUserId(userId: String): this.type = set(BaseModel.UserId, userId) + def withCc(cC: Seq[String]): this.type = set(BaseModel.CC, cC) + def withPriority(priority: Int): this.type = set(BaseModel.Priority, priority) + def withDeliveryMode(deliveryMode: Int): this.type = set(BaseModel.DeliveryMode, deliveryMode) + def withMandatory(mandatory: Boolean): this.type = set(BaseModel.Mandatory, mandatory) + def withBcc(bCC: Seq[String]): this.type = set(BaseModel.BCC, bCC) + def withTimestamp(timestamp: Boolean): this.type = set(BaseModel.Timestamp, timestamp) + def withAck(ack: Boolean): this.type = set(BaseModel.Ack, ack) +} + +class Amqp091OperationBinding010(override val fields: Fields, override val annotations: Annotations) + extends Amqp091OperationBinding(fields, annotations) { + + def replyTo: StrField = fields.field(Amqp010Model.ReplyTo) + def withReplyTo(replyTo: String): this.type = set(Amqp010Model.ReplyTo, replyTo) + + override def meta: Amqp010Model.type = Amqp010Model + + override def componentId: String = "/amqp091-operation-010" + + override def linkCopy(): Amqp091OperationBinding010 = Amqp091OperationBinding010().withId(id) override protected def classConstructor: (Fields, Annotations) => Linkable with DomainElement = - Amqp091OperationBinding.apply + Amqp091OperationBinding010.apply +} - override def key: StrField = fields.field(Amqp091OperationBindingModel.key) +object Amqp091OperationBinding010 { + + def apply(): Amqp091OperationBinding010 = apply(Annotations()) + + def apply(annotations: Annotations): Amqp091OperationBinding010 = apply(Fields(), annotations) + + def apply(fields: Fields, annotations: Annotations): Amqp091OperationBinding010 = + new Amqp091OperationBinding010(fields, annotations) +} + +class Amqp091OperationBinding030(override val fields: Fields, override val annotations: Annotations) + extends Amqp091OperationBinding(fields, annotations) { + override def key: StrField = fields.field(BaseModel.key) + + override def meta: Amqp030Model.type = Amqp030Model + + override def componentId: String = "/amqp091-operation-030" + + override def linkCopy(): Amqp091OperationBinding030 = Amqp091OperationBinding030().withId(id) + + override protected def classConstructor: (Fields, Annotations) => Linkable with DomainElement = + Amqp091OperationBinding030.apply } -object Amqp091OperationBinding { +object Amqp091OperationBinding030 { - def apply(): Amqp091OperationBinding = apply(Annotations()) + def apply(): Amqp091OperationBinding030 = apply(Annotations()) - def apply(annotations: Annotations): Amqp091OperationBinding = apply(Fields(), annotations) + def apply(annotations: Annotations): Amqp091OperationBinding030 = apply(Fields(), annotations) - def apply(fields: Fields, annotations: Annotations): Amqp091OperationBinding = - new Amqp091OperationBinding(fields, annotations) + def apply(fields: Fields, annotations: Annotations): Amqp091OperationBinding030 = + new Amqp091OperationBinding030(fields, annotations) } diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/convert/ApiBaseConverter.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/convert/ApiBaseConverter.scala index 650635bdc5..7b6b2c593f 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/convert/ApiBaseConverter.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/convert/ApiBaseConverter.scala @@ -59,8 +59,12 @@ trait ApiBaseConverter with ServerBindingsConverter with MessageBindingsConverter with Amqp091ChannelBindingConverter + with Amqp091ChannelBinding010Converter + with Amqp091ChannelBinding020Converter with Amqp091MessageBindingConverter with Amqp091OperationBindingConverter + with Amqp091OperationBinding010Converter + with Amqp091OperationBinding030Converter with EmptyBindingConverter with HttpMessageBindingConverter with HttpOperationBindingConverter @@ -72,7 +76,11 @@ trait ApiBaseConverter with WebSocketsChannelBindingConverter with MqttServerLastWillConverter with Amqp091ChannelExchangeConverter + with Amqp091ChannelExchange010Converter + with Amqp091ChannelExchange020Converter with Amqp091QueueConverter + with Amqp091Queue010Converter + with Amqp091Queue020Converter with SolaceServerBindingConverter with SolaceOperationBindingConverter with SolaceOperationDestinationConverter @@ -167,7 +175,6 @@ trait ServerBindingConverter extends PlatformSecrets { override def asInternal(from: domain.bindings.ServerBinding): ServerBinding = from._internal } } - trait Amqp091ChannelBindingConverter extends PlatformSecrets { implicit object Amqp091ChannelBindingMatcher extends BidirectionalMatcher[Amqp091ChannelBinding, domain.bindings.amqp.Amqp091ChannelBinding] { @@ -176,6 +183,24 @@ trait Amqp091ChannelBindingConverter extends PlatformSecrets { override def asInternal(from: domain.bindings.amqp.Amqp091ChannelBinding): Amqp091ChannelBinding = from._internal } } +trait Amqp091ChannelBinding010Converter extends PlatformSecrets { + implicit object Amqp091ChannelBinding010Matcher + extends BidirectionalMatcher[Amqp091ChannelBinding010, domain.bindings.amqp.Amqp091ChannelBinding010] { + override def asClient(from: Amqp091ChannelBinding010): domain.bindings.amqp.Amqp091ChannelBinding010 = + platform.wrap[domain.bindings.amqp.Amqp091ChannelBinding010](from) + override def asInternal(from: domain.bindings.amqp.Amqp091ChannelBinding010): Amqp091ChannelBinding010 = + from._internal + } +} +trait Amqp091ChannelBinding020Converter extends PlatformSecrets { + implicit object Amqp091ChannelBinding020Matcher + extends BidirectionalMatcher[Amqp091ChannelBinding020, domain.bindings.amqp.Amqp091ChannelBinding020] { + override def asClient(from: Amqp091ChannelBinding020): domain.bindings.amqp.Amqp091ChannelBinding020 = + platform.wrap[domain.bindings.amqp.Amqp091ChannelBinding020](from) + override def asInternal(from: domain.bindings.amqp.Amqp091ChannelBinding020): Amqp091ChannelBinding020 = + from._internal + } +} trait Amqp091MessageBindingConverter extends PlatformSecrets { implicit object Amqp091MessageBindingMatcher extends BidirectionalMatcher[Amqp091MessageBinding, domain.bindings.amqp.Amqp091MessageBinding] { @@ -193,6 +218,24 @@ trait Amqp091OperationBindingConverter extends PlatformSecrets { from._internal } } +trait Amqp091OperationBinding010Converter extends PlatformSecrets { + implicit object Amqp091OperationBinding010Matcher + extends BidirectionalMatcher[Amqp091OperationBinding010, domain.bindings.amqp.Amqp091OperationBinding010] { + override def asClient(from: Amqp091OperationBinding010): domain.bindings.amqp.Amqp091OperationBinding010 = + platform.wrap[domain.bindings.amqp.Amqp091OperationBinding010](from) + override def asInternal(from: domain.bindings.amqp.Amqp091OperationBinding010): Amqp091OperationBinding010 = + from._internal + } +} +trait Amqp091OperationBinding030Converter extends PlatformSecrets { + implicit object Amqp091OperationBinding030Matcher + extends BidirectionalMatcher[Amqp091OperationBinding030, domain.bindings.amqp.Amqp091OperationBinding030] { + override def asClient(from: Amqp091OperationBinding030): domain.bindings.amqp.Amqp091OperationBinding030 = + platform.wrap[domain.bindings.amqp.Amqp091OperationBinding030](from) + override def asInternal(from: domain.bindings.amqp.Amqp091OperationBinding030): Amqp091OperationBinding030 = + from._internal + } +} trait EmptyBindingConverter extends PlatformSecrets { implicit object EmptyBindingMatcher extends BidirectionalMatcher[EmptyBinding, domain.bindings.EmptyBinding] { override def asClient(from: EmptyBinding): domain.bindings.EmptyBinding = @@ -284,6 +327,26 @@ trait Amqp091ChannelExchangeConverter extends PlatformSecrets { } } +trait Amqp091ChannelExchange010Converter extends PlatformSecrets { + implicit object Amqp091ChannelExchange010Matcher + extends BidirectionalMatcher[Amqp091ChannelExchange010, domain.bindings.amqp.Amqp091ChannelExchange010] { + override def asClient(from: Amqp091ChannelExchange010): domain.bindings.amqp.Amqp091ChannelExchange010 = + platform.wrap[domain.bindings.amqp.Amqp091ChannelExchange010](from) + override def asInternal(from: domain.bindings.amqp.Amqp091ChannelExchange010): Amqp091ChannelExchange010 = + from._internal + } +} + +trait Amqp091ChannelExchange020Converter extends PlatformSecrets { + implicit object Amqp091ChannelExchange020Matcher + extends BidirectionalMatcher[Amqp091ChannelExchange020, domain.bindings.amqp.Amqp091ChannelExchange020] { + override def asClient(from: Amqp091ChannelExchange020): domain.bindings.amqp.Amqp091ChannelExchange020 = + platform.wrap[domain.bindings.amqp.Amqp091ChannelExchange020](from) + override def asInternal(from: domain.bindings.amqp.Amqp091ChannelExchange020): Amqp091ChannelExchange020 = + from._internal + } +} + trait Amqp091QueueConverter extends PlatformSecrets { implicit object Amqp091QueueMatcher extends BidirectionalMatcher[Amqp091Queue, domain.bindings.amqp.Amqp091Queue] { override def asClient(from: Amqp091Queue): domain.bindings.amqp.Amqp091Queue = @@ -292,6 +355,24 @@ trait Amqp091QueueConverter extends PlatformSecrets { } } +trait Amqp091Queue010Converter extends PlatformSecrets { + implicit object Amqp091Queue010Matcher + extends BidirectionalMatcher[Amqp091Queue010, domain.bindings.amqp.Amqp091Queue010] { + override def asClient(from: Amqp091Queue010): domain.bindings.amqp.Amqp091Queue010 = + platform.wrap[domain.bindings.amqp.Amqp091Queue010](from) + override def asInternal(from: domain.bindings.amqp.Amqp091Queue010): Amqp091Queue010 = from._internal + } +} + +trait Amqp091Queue020Converter extends PlatformSecrets { + implicit object Amqp091Queue020Matcher + extends BidirectionalMatcher[Amqp091Queue020, domain.bindings.amqp.Amqp091Queue020] { + override def asClient(from: Amqp091Queue020): domain.bindings.amqp.Amqp091Queue020 = + platform.wrap[domain.bindings.amqp.Amqp091Queue020](from) + override def asInternal(from: domain.bindings.amqp.Amqp091Queue020): Amqp091Queue020 = from._internal + } +} + trait PulsarServerBindingConverter extends PlatformSecrets { implicit object PulsarServerBindingMatcher extends BidirectionalMatcher[PulsarServerBinding, domain.bindings.pulsar.PulsarServerBinding] { diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/convert/ApiRegister.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/convert/ApiRegister.scala index 868fd00a3a..4791d94e4a 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/convert/ApiRegister.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/convert/ApiRegister.scala @@ -6,13 +6,7 @@ import amf.apicontract.client.platform.model.domain.api.{AsyncApi, WebApi} import amf.apicontract.client.platform.model.domain.bindings._ import amf.apicontract.client.platform.model.domain.bindings.amqp._ import amf.apicontract.client.platform.model.domain.bindings.anypointmq._ -import amf.apicontract.client.platform.model.domain.bindings.googlepubsub.{ - GooglePubSubChannelBinding, - GooglePubSubMessageBinding, - GooglePubSubMessageStoragePolicy, - GooglePubSubSchemaDefinition, - GooglePubSubSchemaSettings -} +import amf.apicontract.client.platform.model.domain.bindings.googlepubsub._ import amf.apicontract.client.platform.model.domain.bindings.http._ import amf.apicontract.client.platform.model.domain.bindings.ibmmq._ import amf.apicontract.client.platform.model.domain.bindings.kafka._ @@ -219,8 +213,13 @@ private[amf] object ApiRegister extends UniqueInitializer with PlatformSecrets { platform.registerWrapper(CorrelationIdModel) { case s: domain.CorrelationId => CorrelationId(s) } - platform.registerWrapper(Amqp091ChannelBindingModel) { - case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091ChannelBinding => Amqp091ChannelBinding(s) + platform.registerWrapper(Amqp091ChannelBinding010Model) { + case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091ChannelBinding010 => + Amqp091ChannelBinding010(s) + } + platform.registerWrapper(Amqp091ChannelBinding020Model) { + case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091ChannelBinding020 => + Amqp091ChannelBinding020(s) } platform.registerWrapper(OperationBindingsModel) { case s: amf.apicontract.client.scala.model.domain.bindings.OperationBindings => OperationBindings(s) @@ -234,19 +233,30 @@ private[amf] object ApiRegister extends UniqueInitializer with PlatformSecrets { platform.registerWrapper(MessageBindingsModel) { case s: amf.apicontract.client.scala.model.domain.bindings.MessageBindings => MessageBindings(s) } - platform.registerWrapper(Amqp091ChannelExchangeModel) { - case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091ChannelExchange => - Amqp091ChannelExchange(s) + platform.registerWrapper(Amqp091ChannelExchange010Model) { + case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091ChannelExchange010 => + Amqp091ChannelExchange010(s) + } + platform.registerWrapper(Amqp091ChannelExchange020Model) { + case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091ChannelExchange020 => + Amqp091ChannelExchange020(s) } - platform.registerWrapper(Amqp091QueueModel) { - case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091Queue => Amqp091Queue(s) + platform.registerWrapper(Amqp091Queue010Model) { + case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091Queue010 => Amqp091Queue010(s) + } + platform.registerWrapper(Amqp091Queue020Model) { + case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091Queue020 => Amqp091Queue020(s) } platform.registerWrapper(Amqp091MessageBindingModel) { case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091MessageBinding => Amqp091MessageBinding(s) } - platform.registerWrapper(Amqp091OperationBindingModel) { - case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091OperationBinding => - Amqp091OperationBinding(s) + platform.registerWrapper(Amqp091OperationBinding010Model) { + case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091OperationBinding010 => + Amqp091OperationBinding010(s) + } + platform.registerWrapper(Amqp091OperationBinding030Model) { + case s: amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091OperationBinding030 => + Amqp091OperationBinding030(s) } platform.registerWrapper(HttpMessageBindingModel) { case s: amf.apicontract.client.scala.model.domain.bindings.http.HttpMessageBinding => HttpMessageBinding(s) diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/entities/APIEntities.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/entities/APIEntities.scala index 25af2c8ca3..460ceea5de 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/entities/APIEntities.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/entities/APIEntities.scala @@ -60,10 +60,19 @@ private[amf] object APIEntities extends Entities { CorrelationIdModel, CallbackModel, Amqp091ChannelBindingModel, - Amqp091MessageBindingModel, + Amqp091ChannelBinding010Model, + Amqp091ChannelBinding020Model, Amqp091QueueModel, - OperationBindingModel, + Amqp091Queue010Model, + Amqp091Queue020Model, Amqp091ChannelExchangeModel, + Amqp091ChannelExchange010Model, + Amqp091ChannelExchange020Model, + Amqp091MessageBindingModel, + Amqp091OperationBindingModel, + Amqp091OperationBinding010Model, + Amqp091OperationBinding030Model, + OperationBindingModel, ChannelBindingModel, EmptyBindingModel, HttpOperationBindingModel, @@ -83,7 +92,6 @@ private[amf] object APIEntities extends Entities { ChannelBindingsModel, ServerBindingsModel, MessageModel, - Amqp091OperationBindingModel, OpenIdConnectSettingsModel, HttpSettingsModel, HttpApiKeySettingsModel, diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/metamodel/domain/bindings/Amqp091BindingModel.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/metamodel/domain/bindings/Amqp091BindingModel.scala index ac6658daf2..9db9a96944 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/metamodel/domain/bindings/Amqp091BindingModel.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/metamodel/domain/bindings/Amqp091BindingModel.scala @@ -9,48 +9,87 @@ import amf.core.internal.metamodel.Type.{Array, Bool, Int, Str} import amf.core.internal.metamodel.domain.common.NameFieldSchema import amf.core.internal.metamodel.domain.{DomainElementModel, ModelDoc, ModelVocabularies} -object Amqp091ChannelBindingModel extends ChannelBindingModel with BindingVersion { +trait Amqp091ChannelBindingModel extends ChannelBindingModel with BindingVersion { - val Is = + val Is: Field = Field(Str, ApiBinding + "is", ModelDoc(ModelVocabularies.ApiBinding, "is", "Defines what type of channel is it")) - val Exchange = Field( + val Exchange: Field = Field( Amqp091ChannelExchangeModel, ApiBinding + "exchange", ModelDoc(ModelVocabularies.ApiBinding, "exchange", "Defines the exchange properties") ) - val Queue = Field( + val Queue: Field = Field( Amqp091QueueModel, ApiBinding + "queue", ModelDoc(ModelVocabularies.ApiBinding, "queue", "Defines the queue properties") ) - override def modelInstance: AmfObject = Amqp091ChannelBinding() - override def fields: List[Field] = List(Is, Exchange, Queue, BindingVersion) ++ ChannelBindingModel.fields override val `type`: List[ValueType] = ApiBinding + "Amqp091ChannelBinding" :: ChannelBindingModel.`type` - override val doc: ModelDoc = ModelDoc( - ModelVocabularies.ApiBinding, - "Amqp091ChannelBinding", - "" - ) + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091ChannelBinding") + override val key: Field = Type } -object Amqp091ChannelExchangeModel extends DomainElementModel with NameFieldSchema { - val Type = +object Amqp091ChannelBindingModel extends Amqp091ChannelBindingModel { + override def modelInstance: AmfObject = throw new Exception("Amqp091ChannelBindingModel is an abstract class") +} + +object Amqp091ChannelBinding010Model extends Amqp091ChannelBindingModel { + override val Exchange: Field = Field( + Amqp091ChannelExchange010Model, + ApiBinding + "exchange", + ModelDoc(ModelVocabularies.ApiBinding, "exchange", "Defines the exchange properties") + ) + + override val Queue: Field = Field( + Amqp091Queue010Model, + ApiBinding + "queue", + ModelDoc(ModelVocabularies.ApiBinding, "queue", "Defines the queue properties") + ) + + override def modelInstance: AmfObject = Amqp091ChannelBinding010() + + override val `type`: List[ValueType] = ApiBinding + "Amqp091ChannelBinding010" :: ChannelBindingModel.`type` + + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091ChannelBinding010") +} + +object Amqp091ChannelBinding020Model extends Amqp091ChannelBindingModel { + override val Exchange: Field = Field( + Amqp091ChannelExchange020Model, + ApiBinding + "exchange", + ModelDoc(ModelVocabularies.ApiBinding, "exchange", "Defines the exchange properties") + ) + + override val Queue: Field = Field( + Amqp091Queue020Model, + ApiBinding + "queue", + ModelDoc(ModelVocabularies.ApiBinding, "queue", "Defines the queue properties") + ) + + override def modelInstance: AmfObject = Amqp091ChannelBinding020() + + override val `type`: List[ValueType] = ApiBinding + "Amqp091ChannelBinding020" :: ChannelBindingModel.`type` + + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091ChannelBinding020") +} + +trait Amqp091ChannelExchangeModel extends DomainElementModel with NameFieldSchema { + val Type: Field = Field(Str, ApiBinding + "type", ModelDoc(ModelVocabularies.ApiBinding, "type", "The type of the exchange")) - val Durable = Field( + val Durable: Field = Field( Bool, ApiBinding + "durable", ModelDoc(ModelVocabularies.ApiBinding, "durable", "Whether the exchange should survive broker restarts or not") ) - val AutoDelete = Field( + val AutoDelete: Field = Field( Bool, ApiBinding + "autoDelete", ModelDoc( @@ -60,7 +99,27 @@ object Amqp091ChannelExchangeModel extends DomainElementModel with NameFieldSche ) ) - val VHost = Field( + override def fields: List[Field] = List(Name, Type, Durable, AutoDelete) ++ DomainElementModel.fields + + override val `type`: List[ValueType] = ApiBinding + "Amqp091ChannelExchange" :: DomainElementModel.`type` + + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091ChannelExchange") +} + +object Amqp091ChannelExchangeModel extends Amqp091ChannelExchangeModel { + override def modelInstance: AmfObject = throw new Exception("Amqp091ChannelExchangeModel is an abstract class") +} + +object Amqp091ChannelExchange010Model extends Amqp091ChannelExchangeModel { + override val `type`: List[ValueType] = ApiBinding + "Amqp091ChannelExchange010" :: DomainElementModel.`type` + + override def modelInstance: AmfObject = Amqp091ChannelExchange010() + + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091ChannelExchange010") +} + +object Amqp091ChannelExchange020Model extends Amqp091ChannelExchangeModel { + val VHost: Field = Field( Str, ApiBinding + "vhost", ModelDoc(ModelVocabularies.ApiBinding, "vhost", "The virtual host of the exchange") @@ -68,25 +127,21 @@ object Amqp091ChannelExchangeModel extends DomainElementModel with NameFieldSche override def fields: List[Field] = List(Name, Type, Durable, AutoDelete, VHost) ++ DomainElementModel.fields - override val `type`: List[ValueType] = ApiBinding + "Amqp091ChannelExchange" :: DomainElementModel.`type` + override val `type`: List[ValueType] = ApiBinding + "Amqp091ChannelExchange020" :: DomainElementModel.`type` - override def modelInstance: AmfObject = Amqp091ChannelExchange() + override def modelInstance: AmfObject = Amqp091ChannelExchange020() - override val doc: ModelDoc = ModelDoc( - ModelVocabularies.ApiBinding, - "Amqp091ChannelExchange", - "" - ) + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091ChannelExchange020") } -object Amqp091QueueModel extends DomainElementModel with NameFieldSchema { - val Durable = Field( +trait Amqp091QueueModel extends DomainElementModel with NameFieldSchema { + val Durable: Field = Field( Bool, ApiBinding + "durable", ModelDoc(ModelVocabularies.ApiBinding, "durable", "Whether the exchange should survive broker restarts or not") ) - val Exclusive = Field( + val Exclusive: Field = Field( Bool, ApiBinding + "exclusive", ModelDoc( @@ -96,7 +151,7 @@ object Amqp091QueueModel extends DomainElementModel with NameFieldSchema { ) ) - val AutoDelete = Field( + val AutoDelete: Field = Field( Bool, ApiBinding + "autoDelete", ModelDoc( @@ -106,7 +161,27 @@ object Amqp091QueueModel extends DomainElementModel with NameFieldSchema { ) ) - val VHost = Field( + override def fields: List[Field] = List(Name, Durable, Exclusive, AutoDelete) ++ DomainElementModel.fields + + override val `type`: List[ValueType] = ApiBinding + "Amqp091ChannelQueue" :: DomainElementModel.`type` + + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091Queue") +} + +object Amqp091QueueModel extends Amqp091QueueModel { + override def modelInstance: AmfObject = throw new Exception("Amqp091ChannelExchangeModel is an abstract class") +} + +object Amqp091Queue010Model extends Amqp091QueueModel { + override val `type`: List[ValueType] = ApiBinding + "Amqp091ChannelQueue010" :: DomainElementModel.`type` + + override def modelInstance: AmfObject = Amqp091Queue010() + + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091Queue010") +} + +object Amqp091Queue020Model extends Amqp091QueueModel { + val VHost: Field = Field( Str, ApiBinding + "vhost", ModelDoc(ModelVocabularies.ApiBinding, "vhost", "The virtual host of the exchange") @@ -114,33 +189,29 @@ object Amqp091QueueModel extends DomainElementModel with NameFieldSchema { override def fields: List[Field] = List(Name, Durable, Exclusive, AutoDelete, VHost) ++ DomainElementModel.fields - override val `type`: List[ValueType] = ApiBinding + "Amqp091ChannelQueue" :: DomainElementModel.`type` + override val `type`: List[ValueType] = ApiBinding + "Amqp091ChannelQueue020" :: DomainElementModel.`type` - override def modelInstance: AmfObject = Amqp091Queue() + override def modelInstance: AmfObject = Amqp091Queue020() - override val doc: ModelDoc = ModelDoc( - ModelVocabularies.ApiBinding, - "Amqp091Queue", - "" - ) + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091Queue020") } -object Amqp091OperationBindingModel extends OperationBindingModel with BindingVersion { - val Expiration = +trait Amqp091OperationBindingModel extends OperationBindingModel with BindingVersion { + val Expiration: Field = Field( Int, ApiBinding + "expiration", ModelDoc(ModelVocabularies.ApiBinding, "expiration", "TTL (Time-To-Live) for the message") ) - val UserId = + val UserId: Field = Field( Str, ApiBinding + "userId", ModelDoc(ModelVocabularies.ApiBinding, "userId", "Identifies the user who has sent the message") ) - val CC = + val CC: Field = Field( Array(Str), ApiBinding + "cc", @@ -151,57 +222,48 @@ object Amqp091OperationBindingModel extends OperationBindingModel with BindingVe ) ) - val Priority = + val Priority: Field = Field( Int, ApiBinding + "priority", ModelDoc(ModelVocabularies.ApiBinding, "priority", "A priority for the message") ) - val DeliveryMode = + val DeliveryMode: Field = Field( Int, ApiBinding + "deliveryMode", ModelDoc(ModelVocabularies.ApiBinding, "deliveryMode", "Delivery mode of the message") ) - val Mandatory = + val Mandatory: Field = Field( Bool, ApiBinding + "mandatory", ModelDoc(ModelVocabularies.ApiBinding, "mandatory", "Whether the message is mandatory or not") ) - val BCC = + val BCC: Field = Field( Array(Str), ApiBinding + "bcc", ModelDoc(ModelVocabularies.ApiBinding, "bcc", "Like cc but consumers will not receive this information") ) - val ReplyTo = - Field( - Str, - ApiBinding + "replyTo", - ModelDoc(ModelVocabularies.ApiBinding, "replyTo", "Name of the queue where the consumer should send the response") - ) - - val Timestamp = + val Timestamp: Field = Field( Bool, ApiBinding + "timestamp", ModelDoc(ModelVocabularies.ApiBinding, "timestamp", "Whether the message should include a timestamp or not") ) - val Ack = + val Ack: Field = Field( Bool, ApiBinding + "ack", ModelDoc(ModelVocabularies.ApiBinding, "ack", "Whether the consumer should ack the message or not") ) - override def modelInstance: AmfObject = Amqp091OperationBinding() - override def fields: List[Field] = List( Expiration, @@ -211,7 +273,6 @@ object Amqp091OperationBindingModel extends OperationBindingModel with BindingVe DeliveryMode, Mandatory, BCC, - ReplyTo, Timestamp, Ack, BindingVersion @@ -221,11 +282,65 @@ object Amqp091OperationBindingModel extends OperationBindingModel with BindingVe override val key: Field = Type - override val doc: ModelDoc = ModelDoc( - ModelVocabularies.ApiBinding, - "Amqp091OperationBinding", - "" - ) + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091OperationBinding") +} + +object Amqp091OperationBindingModel extends Amqp091OperationBindingModel { + override def modelInstance: AmfObject = throw new Exception("Amqp091OperationBindingModel is an abstract class") +} + +// version 0.1.0 and 0.2.0 are the same +object Amqp091OperationBinding010Model extends Amqp091OperationBindingModel { + override def modelInstance: AmfObject = Amqp091OperationBinding010() + + val ReplyTo: Field = + Field( + Str, + ApiBinding + "replyTo", + ModelDoc(ModelVocabularies.ApiBinding, "replyTo", "Name of the queue where the consumer should send the response") + ) + + override def fields: List[Field] = + List( + Expiration, + UserId, + CC, + Priority, + DeliveryMode, + Mandatory, + BCC, + ReplyTo, + Timestamp, + Ack, + BindingVersion + ) ++ OperationBindingModel.fields + + override val `type`: List[ValueType] = ApiBinding + "Amqp091OperationBinding010" :: OperationBindingModel.`type` + + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091OperationBinding010") +} + +// version 0.3.0 removes the `replyTo` field, so it's the same as the base type +object Amqp091OperationBinding030Model extends Amqp091OperationBindingModel { + override def fields: List[Field] = + List( + Expiration, + UserId, + CC, + Priority, + DeliveryMode, + Mandatory, + BCC, + Timestamp, + Ack, + BindingVersion + ) ++ OperationBindingModel.fields + + override def modelInstance: AmfObject = Amqp091OperationBinding030() + + override val `type`: List[ValueType] = ApiBinding + "Amqp091OperationBinding030" :: OperationBindingModel.`type` + + override val doc: ModelDoc = ModelDoc(ModelVocabularies.ApiBinding, "Amqp091OperationBinding030") } object Amqp091MessageBindingModel extends MessageBindingModel with BindingVersion { diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/emitters/bindings/AsyncApiChannelBindingsEmitter.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/emitters/bindings/AsyncApiChannelBindingsEmitter.scala index 9b641f1aa8..4bf40655ba 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/emitters/bindings/AsyncApiChannelBindingsEmitter.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/emitters/bindings/AsyncApiChannelBindingsEmitter.scala @@ -21,7 +21,9 @@ import amf.apicontract.client.scala.model.domain.bindings.pulsar.{PulsarChannelB import amf.apicontract.client.scala.model.domain.bindings.websockets.WebSocketsChannelBinding import amf.apicontract.internal.metamodel.domain.bindings.{ Amqp091ChannelBindingModel, + Amqp091ChannelExchange020Model, Amqp091ChannelExchangeModel, + Amqp091Queue020Model, Amqp091QueueModel, AnypointMQChannelBindingModel, GooglePubSubChannelBindingModel, @@ -31,11 +33,19 @@ import amf.apicontract.internal.metamodel.domain.bindings.{ IBMMQChannelBindingModel, IBMMQChannelQueueModel, IBMMQChannelTopicModel, - PulsarChannelBindingModel, - PulsarChannelRetentionModel, WebSocketsChannelBindingModel + PulsarChannelBindingModel, + PulsarChannelRetentionModel, + WebSocketsChannelBindingModel } import amf.apicontract.internal.spec.async.emitters.domain -import amf.apicontract.internal.spec.async.parser.bindings.Bindings.{Amqp, AnypointMQ, GooglePubSub, IBMMQ, Pulsar, WebSockets} +import amf.apicontract.internal.spec.async.parser.bindings.Bindings.{ + Amqp, + AnypointMQ, + GooglePubSub, + IBMMQ, + Pulsar, + WebSockets +} import amf.apicontract.internal.spec.oas.emitter.context.OasLikeSpecEmitterContext import org.mulesoft.common.client.lexical.Position import amf.core.client.scala.model.domain.{AmfScalar, ObjectNode, Shape} @@ -72,7 +82,7 @@ class AsyncApiChannelBindingsEmitter(binding: ChannelBinding, ordering: SpecOrde case binding: WebSocketsChannelBinding => Some(new WebSocketChannelBindingEmitter(binding, ordering)) case binding: IBMMQChannelBinding => Some(new IBMMQChannelBindingEmitter(binding, ordering)) case binding: AnypointMQChannelBinding => Some(new AnypointMQChannelBindingEmitter(binding, ordering)) - case binding: PulsarChannelBinding => Some(new PulsarChannelBindingEmitter(binding, ordering)) + case binding: PulsarChannelBinding => Some(new PulsarChannelBindingEmitter(binding, ordering)) case binding: GooglePubSubChannelBinding => Some(new GooglePubSubChannelBindingEmitter(binding, ordering)) case _ => None } @@ -145,13 +155,17 @@ class Amqp091ChannelExchangeEmitter(binding: Amqp091ChannelExchange, ordering: S fs.entry(Amqp091ChannelExchangeModel.Type).foreach(f => result += ValueEmitter("type", f)) fs.entry(Amqp091ChannelExchangeModel.Durable).foreach(f => result += ValueEmitter("durable", f)) fs.entry(Amqp091ChannelExchangeModel.AutoDelete).foreach(f => result += ValueEmitter("autoDelete", f)) - fs.entry(Amqp091ChannelExchangeModel.VHost).foreach(f => result += ValueEmitter("vhost", f)) + fs.entry(Amqp091ChannelExchange020Model.VHost).foreach { f => + if (!isSynthesized(f)) result += ValueEmitter("vhost", f) + } traverse(ordering.sorted(result), emitter) } ) } + private def isSynthesized(f: FieldEntry): Boolean = f.value.annotations.contains(classOf[SynthesizedField]) + override def position(): Position = pos(binding.annotations) } @@ -168,7 +182,7 @@ class Amqp091ChannelQueueEmitter(binding: Amqp091Queue, ordering: SpecOrdering) fs.entry(Amqp091QueueModel.Exclusive).foreach(f => result += ValueEmitter("exclusive", f)) fs.entry(Amqp091QueueModel.Durable).foreach(f => result += ValueEmitter("durable", f)) fs.entry(Amqp091QueueModel.AutoDelete).foreach(f => result += ValueEmitter("autoDelete", f)) - fs.entry(Amqp091QueueModel.VHost).foreach { f => + fs.entry(Amqp091Queue020Model.VHost).foreach { f => if (!isSynthesized(f)) result += ValueEmitter("vhost", f) } traverse(ordering.sorted(result), emitter) diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/emitters/bindings/AsyncApiOperationBindingsEmitter.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/emitters/bindings/AsyncApiOperationBindingsEmitter.scala index 602e84f10b..a1cdaf232b 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/emitters/bindings/AsyncApiOperationBindingsEmitter.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/emitters/bindings/AsyncApiOperationBindingsEmitter.scala @@ -12,6 +12,8 @@ import amf.apicontract.client.scala.model.domain.bindings.solace.{ SolaceOperationTopic } import amf.apicontract.internal.metamodel.domain.bindings.{ + Amqp091OperationBinding010Model, + Amqp091OperationBinding030Model, Amqp091OperationBindingModel, HttpOperationBindingModel, KafkaOperationBindingModel, @@ -141,7 +143,7 @@ class Amqp091OperationBindingEmitter(binding: Amqp091OperationBinding, ordering: fs.entry(Amqp091OperationBindingModel.DeliveryMode).foreach(f => result += ValueEmitter("deliveryMode", f)) fs.entry(Amqp091OperationBindingModel.Mandatory).foreach(f => result += ValueEmitter("mandatory", f)) fs.entry(Amqp091OperationBindingModel.BCC).foreach(f => result += spec.arrayEmitter("bcc", f, ordering)) - fs.entry(Amqp091OperationBindingModel.ReplyTo).foreach(f => result += ValueEmitter("replyTo", f)) + fs.entry(Amqp091OperationBinding010Model.ReplyTo).foreach(f => result += ValueEmitter("replyTo", f)) fs.entry(Amqp091OperationBindingModel.Timestamp).foreach(f => result += ValueEmitter("timestamp", f)) fs.entry(Amqp091OperationBindingModel.Ack).foreach(f => result += ValueEmitter("ack", f)) emitBindingVersion(fs, result) diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/AsyncChannelBindingsParser.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/AsyncChannelBindingsParser.scala index f536b9b0b4..0f87818bed 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/AsyncChannelBindingsParser.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/AsyncChannelBindingsParser.scala @@ -1,10 +1,15 @@ package amf.apicontract.internal.spec.async.parser.bindings -import amf.apicontract.client.scala.model.domain.bindings.googlepubsub.GooglePubSubChannelBinding import amf.apicontract.client.scala.model.domain.bindings.{ChannelBinding, ChannelBindings} import amf.apicontract.internal.metamodel.domain.bindings._ -import amf.apicontract.internal.spec.async.parser.bindings.Bindings.{Amqp, AnypointMQ, GooglePubSub, IBMMQ, Pulsar, WebSockets} -//import amf.apicontract.internal.spec.async.parser.bindings.channel.{Amqp091ChannelBindingParser, AnypointMQChannelBindingParser, GooglePubSubChannelBindingParser, IBMMQChannelBindingParser,PulsarChannelBindingParser, WebSocketsChannelBindingParser} +import amf.apicontract.internal.spec.async.parser.bindings.Bindings.{ + Amqp, + AnypointMQ, + GooglePubSub, + IBMMQ, + Pulsar, + WebSockets +} import amf.apicontract.internal.spec.async.parser.context.AsyncWebApiContext import amf.apicontract.internal.spec.common.WebApiDeclarations.ErrorChannelBindings import amf.apicontract.internal.spec.spec.OasDefinitions @@ -16,11 +21,11 @@ import amf.apicontract.internal.spec.async.parser.bindings.channel._ object AsyncChannelBindingsParser { private val parserMap: Map[String, BindingParser[ChannelBinding]] = Map( - Amqp -> Amqp091ChannelBindingParser, - WebSockets -> WebSocketsChannelBindingParser, - IBMMQ -> IBMMQChannelBindingParser, - AnypointMQ -> AnypointMQChannelBindingParser, - Pulsar -> PulsarChannelBindingParser, + Amqp -> AmqpChannelBindingParser, + WebSockets -> WebSocketsChannelBindingParser, + IBMMQ -> IBMMQChannelBindingParser, + AnypointMQ -> AnypointMQChannelBindingParser, + Pulsar -> PulsarChannelBindingParser, GooglePubSub -> GooglePubSubChannelBindingParser ) } diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/BindingParser.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/BindingParser.scala index 001af28229..37a745979e 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/BindingParser.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/BindingParser.scala @@ -7,11 +7,13 @@ import amf.core.client.scala.model.domain.{AmfElement, AmfObject, AmfScalar, Dom import amf.core.internal.metamodel.Field import amf.core.internal.parser.YMapOps import amf.core.internal.parser.domain.Annotations +import amf.core.internal.remote.Spec +import amf.core.internal.remote.Spec._ import amf.shapes.internal.spec.common.JSONSchemaDraft7SchemaVersion import amf.shapes.internal.spec.common.parser.YMapEntryLike import amf.shapes.internal.spec.oas.parser.OasTypeParser import amf.shapes.internal.validation.definitions.ShapeParserSideValidations.RequiredField -import org.yaml.model.{YMap, YMapEntry} +import org.yaml.model.{YMap, YMapEntry, YNode, YNodePlain, YScalar, YSequence} trait BindingParser[+Binding <: DomainElement] extends SpecParserOps { @@ -25,6 +27,39 @@ trait BindingParser[+Binding <: DomainElement] extends SpecParserOps { if (bindingVersionIsEmpty(binding)) setDefaultBindingVersionValue(binding, field) } + protected def getBindingVersion(map: YMap, binding: String, spec: Spec): String = { + extractValidBindingVersion(map) match { + case Some(version) => version + case None => getDefaultBindingVersion(binding, spec) + } + } + + protected def extractValidBindingVersion(map: YMap): Option[String] = map.key("bindingVersion") match { + case Some(value) => + value.value match { + case plain: YNodePlain => + plain.value match { + case scalar: YScalar if isSemVer(scalar.text) => Some(scalar.text) + case _ => None + } + case _ => None + } + case None => None + } + + protected def isSemVer(str: String): Boolean = { + val regex = """^([0-9]+)\.([0-9]+)\.([0-9]+)$""".r + regex.findFirstIn(str).isDefined + } + + protected def getDefaultBindingVersion(binding: String, spec: Spec): String = { + (binding, spec) match { + case ("Amqp091ChannelBinding", ASYNC20 | ASYNC21 | ASYNC22 | ASYNC23 | ASYNC24 | ASYNC25 | ASYNC26) => "0.1.0" + case ("Amqp091OperationBinding", ASYNC20 | ASYNC21 | ASYNC22 | ASYNC23 | ASYNC24 | ASYNC25 | ASYNC26) => "0.1.0" + case ("Amqp091MessageBinding", ASYNC20 | ASYNC21 | ASYNC22 | ASYNC23 | ASYNC24 | ASYNC25 | ASYNC26) => "0.1.0" + } + } + protected def setDefaultValue(obj: AmfObject, field: Field, element: AmfElement): obj.type = { // TODO: if field not explicit in spec we should check for synthesized and not emit it obj.setWithoutId(field, element, Annotations.synthesized()) diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/channel/AmqpChannelBindingParser.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/channel/AmqpChannelBindingParser.scala index c5be2f3228..34f4089fda 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/channel/AmqpChannelBindingParser.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/channel/AmqpChannelBindingParser.scala @@ -2,91 +2,133 @@ package amf.apicontract.internal.spec.async.parser.bindings.channel import amf.apicontract.client.scala.model.domain.bindings.amqp.{ Amqp091ChannelBinding, - Amqp091ChannelExchange, - Amqp091Queue + Amqp091ChannelBinding010, + Amqp091ChannelBinding020, + Amqp091ChannelExchange010, + Amqp091ChannelExchange020, + Amqp091Queue010, + Amqp091Queue020 } import amf.apicontract.internal.metamodel.domain.bindings.{ + Amqp091ChannelBinding010Model, + Amqp091ChannelBinding020Model, Amqp091ChannelBindingModel, + Amqp091ChannelExchange020Model, Amqp091ChannelExchangeModel, + Amqp091Queue020Model, Amqp091QueueModel, WebSocketsChannelBindingModel } import amf.apicontract.internal.spec.async.parser.bindings.BindingParser import amf.apicontract.internal.spec.async.parser.context.AsyncWebApiContext -import amf.apicontract.internal.spec.common.parser.SpecParserOps +import amf.apicontract.internal.validation.definitions.ParserSideValidations.UnsupportedBindingVersionWarning import amf.core.client.scala.model.domain.{AmfScalar, DomainElement} import amf.core.internal.metamodel.Field import amf.core.internal.parser.YMapOps import amf.core.internal.parser.domain.Annotations import org.yaml.model.{YMap, YMapEntry} -object Amqp091ChannelBindingParser extends BindingParser[Amqp091ChannelBinding] { +object AmqpChannelBindingParser extends BindingParser[Amqp091ChannelBinding] { override def parse(entry: YMapEntry, parent: String)(implicit ctx: AsyncWebApiContext): Amqp091ChannelBinding = { - val binding = Amqp091ChannelBinding(Annotations(entry)) - val map = entry.value.as[YMap] + val bindingVersion = getBindingVersion(entry.value.as[YMap], "Amqp091ChannelBinding", ctx.specSettings.spec) + + // bindingVersion is either well defined or defaults to 0.1.0 + val binding: Amqp091ChannelBinding = bindingVersion match { + case "0.3.0" | "latest" => // 0.3.0 only changes operation binding, channel binding is the same as 0.2.0 + Amqp091ChannelBinding020(Annotations(entry)) + case "0.2.0" => Amqp091ChannelBinding020(Annotations(entry)) + case "0.1.0" => Amqp091ChannelBinding010(Annotations(entry)) + case invalidVersion => + ctx.eh.warning( + UnsupportedBindingVersionWarning, + Amqp091ChannelBinding010(Annotations(entry)), + Some("bindingVersion"), + s"Version $invalidVersion is not supported in an Amqp091ChannelBinding", + entry.value.location + ) + Amqp091ChannelBinding010(Annotations(entry)) + } - map.key("is", Amqp091ChannelBindingModel.Is in binding) + val map = entry.value.as[YMap] - // Default channel type is 'routingKey'. - if (binding.is.isNullOrEmpty) { - binding.setWithoutId(Amqp091ChannelBindingModel.Is, AmfScalar("routingKey"), Annotations.synthesized()) + map.key("is") match { + case Some(value) => Some(value).foreach(Amqp091ChannelBindingModel.Is in binding) + case None => setDefaultValue(binding, Amqp091ChannelBindingModel.Is, AmfScalar("routingKey")) } - parseQueue(binding, map) - parseExchange(binding, map) + + parseQueue(binding, map, bindingVersion) + parseExchange(binding, map, bindingVersion) parseBindingVersion(binding, WebSocketsChannelBindingModel.BindingVersion, map) ctx.closedShape(binding, map, "amqpChannelBinding") binding } - private def parseExchange(binding: Amqp091ChannelBinding, map: YMap)(implicit ctx: AsyncWebApiContext): Unit = { + private def parseExchange(binding: Amqp091ChannelBinding, map: YMap, bindingVersion: String)(implicit + ctx: AsyncWebApiContext + ): Unit = { map.key( "exchange", { entry => - val exchange = Amqp091ChannelExchange(Annotations(entry.value)) + val exchange = bindingVersion match { + case "0.2.0" | "latest" => Amqp091ChannelExchange020(Annotations(entry.value)) + case _ => Amqp091ChannelExchange010(Annotations(entry.value)) + } + val exchangeMap = entry.value.as[YMap] - exchangeMap.key("name", Amqp091ChannelExchangeModel.Name in exchange) // TODO validate maxlength 255 + exchangeMap.key("name", Amqp091ChannelExchangeModel.Name in exchange) exchangeMap.key("type", Amqp091ChannelExchangeModel.Type in exchange) exchangeMap.key("durable", Amqp091ChannelExchangeModel.Durable in exchange) exchangeMap.key("autoDelete", Amqp091ChannelExchangeModel.AutoDelete in exchange) - parseVHost(exchange, Amqp091ChannelExchangeModel.VHost, exchangeMap) - - ctx.closedShape(exchange, exchangeMap, "amqpExchangeChannelBinding") - - binding.setWithoutId(Amqp091ChannelBindingModel.Exchange, exchange, Annotations(entry)) + bindingVersion match { + case "0.2.0" | "latest" => + parseVHost(exchange, Amqp091ChannelExchange020Model.VHost, exchangeMap) + ctx.closedShape(exchange, exchangeMap, "amqpExchangeChannelBinding020") + binding.setWithoutId(Amqp091ChannelBinding020Model.Exchange, exchange, Annotations(entry)) + case _ => + ctx.closedShape(exchange, exchangeMap, "amqpExchangeChannelBinding010") + binding.setWithoutId(Amqp091ChannelBinding010Model.Exchange, exchange, Annotations(entry)) + } } ) } - private def parseQueue(binding: Amqp091ChannelBinding, map: YMap)(implicit ctx: AsyncWebApiContext): Unit = { + private def parseQueue(binding: Amqp091ChannelBinding, map: YMap, bindingVersion: String)(implicit + ctx: AsyncWebApiContext + ): Unit = { map.key( "queue", { entry => - val queue = Amqp091Queue(Annotations(entry.value)) + val queue = bindingVersion match { + case "0.2.0" | "latest" => Amqp091Queue020(Annotations(entry.value)) + case _ => Amqp091Queue010(Annotations(entry.value)) + } val queueMap = entry.value.as[YMap] - queueMap.key("name", Amqp091QueueModel.Name in queue) // TODO validate maxlength 255 + queueMap.key("name", Amqp091QueueModel.Name in queue) queueMap.key("durable", Amqp091QueueModel.Durable in queue) queueMap.key("exclusive", Amqp091QueueModel.Exclusive in queue) queueMap.key("autoDelete", Amqp091QueueModel.AutoDelete in queue) - parseVHost(queue, Amqp091QueueModel.VHost, queueMap) - - ctx.closedShape(queue, queueMap, "amqpQueueChannelBinding") - - binding.setWithoutId(Amqp091ChannelBindingModel.Queue, queue, Annotations(entry)) + bindingVersion match { + case "0.2.0" | "latest" => + parseVHost(queue, Amqp091Queue020Model.VHost, queueMap) + ctx.closedShape(queue, queueMap, "amqpQueueChannelBinding020") + binding.setWithoutId(Amqp091ChannelBinding020Model.Queue, queue, Annotations(entry)) + case _ => + ctx.closedShape(queue, queueMap, "amqpQueueChannelBinding010") + binding.setWithoutId(Amqp091ChannelBinding010Model.Queue, queue, Annotations(entry)) + } } ) } private def parseVHost(element: DomainElement, field: Field, map: YMap)(implicit ctx: AsyncWebApiContext) = { - map.key("vhost", field in element) - - // Default vhost is '/'. - if (!element.fields.exists(field)) { - element.setWithoutId(field, AmfScalar("/"), Annotations.synthesized()) + map.key("vhost") match { + case Some(value) => Some(value).foreach(field in element) + case None => element.setWithoutId(field, AmfScalar("/"), Annotations.synthesized()) } } } diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/message/Amqp091MessageBindingParser.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/message/Amqp091MessageBindingParser.scala index cea6e47ca2..dd71e1b998 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/message/Amqp091MessageBindingParser.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/message/Amqp091MessageBindingParser.scala @@ -4,14 +4,30 @@ import amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091MessageBin import amf.apicontract.internal.metamodel.domain.bindings.Amqp091MessageBindingModel import amf.apicontract.internal.spec.async.parser.bindings.BindingParser import amf.apicontract.internal.spec.async.parser.context.AsyncWebApiContext +import amf.apicontract.internal.validation.definitions.ParserSideValidations.UnsupportedBindingVersionWarning import amf.core.internal.parser.YMapOps import amf.core.internal.parser.domain.Annotations import org.yaml.model.{YMap, YMapEntry} object Amqp091MessageBindingParser extends BindingParser[Amqp091MessageBinding] { override def parse(entry: YMapEntry, parent: String)(implicit ctx: AsyncWebApiContext): Amqp091MessageBinding = { - val binding = Amqp091MessageBinding(Annotations(entry)) - val map = entry.value.as[YMap] + val bindingVersion = getBindingVersion(entry.value.as[YMap], "Amqp091MessageBinding", ctx.specSettings.spec) + + // bindingVersion is either well defined or defaults to 0.1.0 + val binding: Amqp091MessageBinding = bindingVersion match { + case "0.1.0" | "0.2.0" | "0.3.0" | "latest" => Amqp091MessageBinding(Annotations(entry)) + case invalidVersion => + ctx.eh.warning( + UnsupportedBindingVersionWarning, + Amqp091MessageBinding(Annotations(entry)), + Some("bindingVersion"), + s"Version $invalidVersion is not supported in an Amqp091ChannelBinding", + entry.value.location + ) + Amqp091MessageBinding(Annotations(entry)) + } + + val map = entry.value.as[YMap] map.key("contentEncoding", Amqp091MessageBindingModel.ContentEncoding in binding) map.key("messageType", Amqp091MessageBindingModel.MessageType in binding) diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/operation/Amqp091OperationBindingParser.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/operation/Amqp091OperationBindingParser.scala index bad453e95b..399f643923 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/operation/Amqp091OperationBindingParser.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/bindings/operation/Amqp091OperationBindingParser.scala @@ -1,17 +1,41 @@ package amf.apicontract.internal.spec.async.parser.bindings.operation -import amf.apicontract.client.scala.model.domain.bindings.amqp.Amqp091OperationBinding -import amf.apicontract.internal.metamodel.domain.bindings.{Amqp091OperationBindingModel, KafkaOperationBindingModel} +import amf.apicontract.client.scala.model.domain.bindings.amqp.{ + Amqp091OperationBinding, + Amqp091OperationBinding010, + Amqp091OperationBinding030 +} +import amf.apicontract.internal.metamodel.domain.bindings.{ + Amqp091OperationBinding010Model, + Amqp091OperationBindingModel, + KafkaOperationBindingModel +} import amf.apicontract.internal.spec.async.parser.bindings.BindingParser import amf.apicontract.internal.spec.async.parser.context.AsyncWebApiContext +import amf.apicontract.internal.validation.definitions.ParserSideValidations.UnsupportedBindingVersionWarning import amf.core.internal.parser.YMapOps import amf.core.internal.parser.domain.Annotations import org.yaml.model.{YMap, YMapEntry} object Amqp091OperationBindingParser extends BindingParser[Amqp091OperationBinding] { override def parse(entry: YMapEntry, parent: String)(implicit ctx: AsyncWebApiContext): Amqp091OperationBinding = { - val binding = Amqp091OperationBinding(Annotations(entry)) - val map = entry.value.as[YMap] + val bindingVersion = getBindingVersion(entry.value.as[YMap], "Amqp091OperationBinding", ctx.specSettings.spec) + + // bindingVersion is either well defined or defaults to 0.1.0 + val binding: Amqp091OperationBinding = bindingVersion match { + case "0.3.0" | "latest" => Amqp091OperationBinding030(Annotations(entry)) + case "0.1.0" | "0.2.0" => Amqp091OperationBinding010(Annotations(entry)) + case invalidVersion => + ctx.eh.warning( + UnsupportedBindingVersionWarning, + Amqp091OperationBinding010(Annotations(entry)), + Some("bindingVersion"), + s"Version $invalidVersion is not supported in an Amqp091ChannelBinding", + entry.value.location + ) + Amqp091OperationBinding010(Annotations(entry)) + } + val map = entry.value.as[YMap] map.key("expiration", Amqp091OperationBindingModel.Expiration in binding) map.key("userId", Amqp091OperationBindingModel.UserId in binding) @@ -20,13 +44,18 @@ object Amqp091OperationBindingParser extends BindingParser[Amqp091OperationBindi map.key("deliveryMode", Amqp091OperationBindingModel.DeliveryMode in binding) map.key("mandatory", Amqp091OperationBindingModel.Mandatory in binding) map.key("bcc", Amqp091OperationBindingModel.BCC in binding) - map.key("replyTo", Amqp091OperationBindingModel.ReplyTo in binding) map.key("timestamp", Amqp091OperationBindingModel.Timestamp in binding) map.key("ack", Amqp091OperationBindingModel.Ack in binding) parseBindingVersion(binding, KafkaOperationBindingModel.BindingVersion, map) - ctx.closedShape(binding, map, "amqpOperationBinding") + bindingVersion match { + case "0.3.0" => + ctx.closedShape(binding, map, "amqpOperationBinding030") + case _ => + map.key("replyTo", Amqp091OperationBinding010Model.ReplyTo in binding) + ctx.closedShape(binding, map, "amqpOperationBinding010") + } binding } diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/context/syntax/Async20Syntax.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/context/syntax/Async20Syntax.scala index ac1022bb0d..84bcf8bb44 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/context/syntax/Async20Syntax.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/spec/async/parser/context/syntax/Async20Syntax.scala @@ -56,14 +56,26 @@ object Async20Syntax extends SpecSyntax { "bindingVersion", "exchange" ), - "amqpQueueChannelBinding" -> Set( + "amqpQueueChannelBinding010" -> Set( + "name", + "durable", + "exclusive", + "autoDelete" + ), + "amqpQueueChannelBinding020" -> Set( "name", "durable", "exclusive", "autoDelete", "vhost" ), - "amqpExchangeChannelBinding" -> Set( + "amqpExchangeChannelBinding010" -> Set( + "name", + "type", + "durable", + "autoDelete" + ), + "amqpExchangeChannelBinding020" -> Set( "name", "type", "durable", @@ -76,7 +88,7 @@ object Async20Syntax extends SpecSyntax { "query", "bindingVersion" ), - "amqpOperationBinding" -> Set( + "amqpOperationBinding010" -> Set( "expiration", "userId", "cc", @@ -89,6 +101,18 @@ object Async20Syntax extends SpecSyntax { "ack", "bindingVersion" ), + "amqpOperationBinding030" -> Set( + "expiration", + "userId", + "cc", + "priority", + "deliveryMode", + "mandatory", + "bcc", + "timestamp", + "ack", + "bindingVersion" + ), "amqpMessageBinding" -> Set( "contentEncoding", "messageType", diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/validation/definitions/ParserSideValidations.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/validation/definitions/ParserSideValidations.scala index 3e771448a2..978599cb69 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/validation/definitions/ParserSideValidations.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/validation/definitions/ParserSideValidations.scala @@ -432,6 +432,16 @@ object ParserSideValidations extends Validations { "Syntax error" ) + val UnsupportedBindingVersionWarning: ValidationSpecification = validation( + id = "unsupported-binding-version-warning", + message = "The provided binding version is not supported" + ) + + val UnsupportedBindingVersion: ValidationSpecification = validation( + id = "unsupported-binding-version", + message = "The provided binding version is not supported" + ) + override val levels: Map[String, Map[ProfileName, String]] = Map( ExclusiveLinkTargetError.id -> all(VIOLATION), OasBodyAndFormDataParameterSpecification.id -> Map( @@ -455,7 +465,8 @@ object ParserSideValidations extends Validations { InvalidPayload.id -> all(VIOLATION), ImplicitVersionParameterWithoutApiVersion.id -> all(WARNING), // TODO: should be violation InvalidVersionBaseUriParameterDefinition.id -> all(WARNING), // TODO: should be violation - HeaderMustBeObject.id -> Map(Async20Profile -> VIOLATION) + HeaderMustBeObject.id -> Map(Async20Profile -> VIOLATION), + UnsupportedBindingVersionWarning.id -> all(WARNING) ) override val validations: List[ValidationSpecification] = List( @@ -512,6 +523,8 @@ object ParserSideValidations extends Validations { InvalidStatusCode, HeaderMustBeObject, InvalidModuleType, - DuplicatedDeclaration + DuplicatedDeclaration, + UnsupportedBindingVersionWarning, + UnsupportedBindingVersion ) } diff --git a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/validation/model/APIRawValidations.scala b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/validation/model/APIRawValidations.scala index b9a476a2ad..377cd52497 100644 --- a/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/validation/model/APIRawValidations.scala +++ b/amf-api-contract/shared/src/main/scala/amf/apicontract/internal/validation/model/APIRawValidations.scala @@ -899,7 +899,14 @@ object APIRawValidations extends CommonValidationDefinitions { openApiErrorMessage = "'qos' for mqtt operation binding object must be one of 0, 1 or 2" ), AMFValidation( - owlClass = apiBinding("Amqp091ChannelBinding"), + owlClass = apiBinding("Amqp091ChannelBinding010"), + owlProperty = apiBinding("is"), + constraint = sh("in"), + value = "routingKey,queue", + openApiErrorMessage = "'is' for amqp 0.9.1 channel binding object must be one of 'queue' or 'routingKey'" + ), + AMFValidation( + owlClass = apiBinding("Amqp091ChannelBinding020"), owlProperty = apiBinding("is"), constraint = sh("in"), value = "routingKey,queue", @@ -936,14 +943,28 @@ object APIRawValidations extends CommonValidationDefinitions { openApiErrorMessage = "'type' for http operation binding is required" ), AMFValidation( - owlClass = apiBinding("Amqp091ChannelExchange"), + owlClass = apiBinding("Amqp091ChannelExchange010"), + owlProperty = core("name"), + constraint = sh("maxLength"), + value = "255", + openApiErrorMessage = "Amqp channel binding name can't be longer than 255 characters" + ), + AMFValidation( + owlClass = apiBinding("Amqp091ChannelExchange020"), + owlProperty = core("name"), + constraint = sh("maxLength"), + value = "255", + openApiErrorMessage = "Amqp channel binding name can't be longer than 255 characters" + ), + AMFValidation( + owlClass = apiBinding("Amqp091ChannelQueue010"), owlProperty = core("name"), constraint = sh("maxLength"), value = "255", openApiErrorMessage = "Amqp channel binding name can't be longer than 255 characters" ), AMFValidation( - owlClass = apiBinding("Amqp091ChannelQueue"), + owlClass = apiBinding("Amqp091ChannelQueue020"), owlProperty = core("name"), constraint = sh("maxLength"), value = "255", @@ -977,12 +998,33 @@ object APIRawValidations extends CommonValidationDefinitions { openApiErrorMessage = "'qos' for mqtt server binding last will object must be one of 0, 1 or 2" ), AMFValidation( - owlClass = apiBinding("Amqp091OperationBinding"), + owlClass = apiBinding("Amqp091OperationBinding010"), + owlProperty = apiBinding("deliveryMode"), + constraint = sh("pattern"), + value = "^[1-2]$", + openApiErrorMessage = "'deliveryMode' for amqp 0.9.1 operation binding object must be one of 1 or 2" + ), + AMFValidation( + owlClass = apiBinding("Amqp091OperationBinding030"), owlProperty = apiBinding("deliveryMode"), constraint = sh("pattern"), value = "^[1-2]$", openApiErrorMessage = "'deliveryMode' for amqp 0.9.1 operation binding object must be one of 1 or 2" ), + AMFValidation( + owlClass = apiBinding("Amqp091OperationBinding010"), + owlProperty = apiBinding("expiration"), + constraint = sh("pattern"), + value = "^[0-9]+(.[0-9]+)?$", + openApiErrorMessage = "'expiration' for amqp 0.9.1 operation binding object must greather than or equal to 0" + ), + AMFValidation( + owlClass = apiBinding("Amqp091OperationBinding030"), + owlProperty = apiBinding("expiration"), + constraint = sh("pattern"), + value = "^[0-9]+(.[0-9]+)?$", + openApiErrorMessage = "'expiration' for amqp 0.9.1 operation binding object must greather than or equal to 0" + ), AMFValidation( owlClass = apiBinding("Amqp091OperationBinding"), owlProperty = apiBinding("expiration"), diff --git a/amf-api-contract/shared/src/test/scala/amf/client/model/domain/BindingsTest.scala b/amf-api-contract/shared/src/test/scala/amf/client/model/domain/BindingsTest.scala index 1eaf67217a..c21ba7e69a 100644 --- a/amf-api-contract/shared/src/test/scala/amf/client/model/domain/BindingsTest.scala +++ b/amf-api-contract/shared/src/test/scala/amf/client/model/domain/BindingsTest.scala @@ -29,8 +29,18 @@ class BindingsTest extends AnyFunSuite with Matchers with BeforeAndAfterAll { APIConfiguration.API() // TODO: ARM remove after wrappers are deleted } - test("test Amqp091ChannelExchange") { - val exchange = new Amqp091ChannelExchange() + test("test Amqp091ChannelExchange010") { + val exchange = new Amqp091ChannelExchange010() + .withType(s) + .withDurable(true) + .withAutoDelete(false) + exchange.`type`.value() shouldBe s + exchange.durable.value() shouldBe true + exchange.autoDelete.value() shouldBe false + } + + test("test Amqp091ChannelExchange020") { + val exchange = new Amqp091ChannelExchange020() .withType(s) .withDurable(true) .withAutoDelete(false) @@ -39,11 +49,20 @@ class BindingsTest extends AnyFunSuite with Matchers with BeforeAndAfterAll { exchange.durable.value() shouldBe true exchange.autoDelete.value() shouldBe false exchange.vHost.value() shouldBe s + } + test("test Amqp091Queue010") { + val queue = new Amqp091Queue010() + .withExclusive(false) + .withDurable(true) + .withAutoDelete(false) + queue.exclusive.value() shouldBe false + queue.durable.value() shouldBe true + queue.autoDelete.value() shouldBe false } - test("test Amqp091Queue") { - val queue = new Amqp091Queue() + test("test Amqp091Queue020") { + val queue = new Amqp091Queue020() .withExclusive(false) .withDurable(true) .withAutoDelete(false) @@ -54,10 +73,25 @@ class BindingsTest extends AnyFunSuite with Matchers with BeforeAndAfterAll { queue.vHost.value() shouldBe s } - test("test Amqp091ChannelBinding") { - val exchange = new Amqp091ChannelExchange() - val queue = new Amqp091Queue() - val amqpChannelBinding = new Amqp091ChannelBinding() + test("test Amqp091ChannelBinding010") { + val exchange = new Amqp091ChannelExchange010() + val queue = new Amqp091Queue010() + val amqpChannelBinding = new Amqp091ChannelBinding010() + .withIs(s) + .withExchange(exchange) + .withQueue(queue) + .withBindingVersion(s) + .withId(s) + amqpChannelBinding.is.value() shouldBe s + amqpChannelBinding.id shouldBe s + amqpChannelBinding.exchange shouldBe exchange + amqpChannelBinding.queue shouldBe queue + } + + test("test Amqp091ChannelBinding020") { + val exchange = new Amqp091ChannelExchange020() + val queue = new Amqp091Queue020() + val amqpChannelBinding = new Amqp091ChannelBinding020() .withIs(s) .withExchange(exchange) .withQueue(queue) @@ -77,8 +111,8 @@ class BindingsTest extends AnyFunSuite with Matchers with BeforeAndAfterAll { messageBinding.messageType.value() shouldBe s } - test("test Amqp091OperationBinding") { - val operationBinding = new Amqp091OperationBinding() + test("test Amqp091OperationBinding010") { + val operationBinding = new Amqp091OperationBinding010() .withExpiration(1) .withUserId(s) .withCc(stringSeq.asClient) @@ -101,9 +135,31 @@ class BindingsTest extends AnyFunSuite with Matchers with BeforeAndAfterAll { operationBinding.ack.value() shouldBe true } + test("test Amqp091OperationBinding030") { + val operationBinding = new Amqp091OperationBinding030() + .withExpiration(1) + .withUserId(s) + .withCc(stringSeq.asClient) + .withPriority(1) + .withDeliveryMode(1) + .withMandatory(true) + .withBcc(stringSeq.asClient) + .withTimestamp(true) + .withAck(true) + operationBinding.expiration.value() shouldBe 1 + operationBinding.userId.value() shouldBe s + operationBinding.cc.toString shouldBe clientStringList.toString + operationBinding.bcc.toString shouldBe clientStringList.toString + operationBinding.priority.value() shouldBe 1 + operationBinding.deliveryMode.value() shouldBe 1 + operationBinding.mandatory.value() shouldBe true + operationBinding.timestamp.value() shouldBe true + operationBinding.ack.value() shouldBe true + } + test("test ChannelBindings") { val internalChannelBindings: Seq[amf.apicontract.client.scala.model.domain.bindings.ChannelBinding] = - Seq(new Amqp091ChannelBinding()._internal) + Seq(new Amqp091ChannelBinding010()._internal, new Amqp091ChannelBinding020()._internal) val clientChannelBindings = internalChannelBindings.asClient val channelBindings = new ChannelBindings() diff --git a/amf-cli/js/typings/amf-client-js.d.ts b/amf-cli/js/typings/amf-client-js.d.ts index 66e3ffce89..ecbfac6509 100644 --- a/amf-cli/js/typings/amf-client-js.d.ts +++ b/amf-cli/js/typings/amf-client-js.d.ts @@ -647,6 +647,96 @@ declare module "amf-client-js" { withQueue(queue: Amqp091Queue): this; } + export class Amqp091ChannelBinding010 implements Amqp091ChannelBinding { + customDomainProperties: Array; + exchange: Amqp091ChannelExchange010; + extendsNode: Array; + id: string; + is: StrField; + isExternalLink: BoolField; + isLink: boolean; + linkLabel: StrField; + linkTarget: undefined | DomainElement; + position: Range; + queue: Amqp091Queue010; + + constructor(); + + annotations(): Annotations; + + graph(): Graph; + + link(label: string): T; + + link(): T; + + linkCopy(): Amqp091ChannelBinding010; + + withBindingVersion(bindingVersion: string): this; + + withCustomDomainProperties(extensions: Array): this; + + withExchange(exchange: Amqp091ChannelExchange): this; + + withExtendsNode(extension: Array): this; + + withId(id: string): this; + + withIs(is: string): this; + + withIsExternalLink(isExternalLink: boolean): DomainElement; + + withLinkLabel(label: string): this; + + withLinkTarget(target: undefined): this; + + withQueue(queue: Amqp091Queue): this; + } + export class Amqp091ChannelBinding020 implements Amqp091ChannelBinding { + customDomainProperties: Array; + exchange: Amqp091ChannelExchange020; + extendsNode: Array; + id: string; + is: StrField; + isExternalLink: BoolField; + isLink: boolean; + linkLabel: StrField; + linkTarget: undefined | DomainElement; + position: Range; + queue: Amqp091Queue020; + + constructor(); + + annotations(): Annotations; + + graph(): Graph; + + link(label: string): T; + + link(): T; + + linkCopy(): Amqp091ChannelBinding020; + + withBindingVersion(bindingVersion: string): this; + + withCustomDomainProperties(extensions: Array): this; + + withExchange(exchange: Amqp091ChannelExchange): this; + + withExtendsNode(extension: Array): this; + + withId(id: string): this; + + withIs(is: string): this; + + withIsExternalLink(isExternalLink: boolean): DomainElement; + + withLinkLabel(label: string): this; + + withLinkTarget(target: undefined): this; + + withQueue(queue: Amqp091Queue): this; + } export class Amqp091ChannelExchange implements DomainElement { autoDelete: BoolField; customDomainProperties: Array; @@ -657,6 +747,72 @@ declare module "amf-client-js" { name: StrField; position: Range; type: StrField; + + constructor(); + + annotations(): Annotations; + + graph(): Graph; + + withAutoDelete(autoDelete: boolean): this; + + withCustomDomainProperties(extensions: Array): this; + + withDurable(durable: boolean): this; + + withExtendsNode(extension: Array): this; + + withId(id: string): this; + + withIsExternalLink(isExternalLink: boolean): DomainElement; + + withName(name: string): this; + + withType(type: string): this; + } + export class Amqp091ChannelExchange010 implements Amqp091ChannelExchange { + autoDelete: BoolField; + customDomainProperties: Array; + durable: BoolField; + extendsNode: Array; + id: string; + isExternalLink: BoolField; + name: StrField; + position: Range; + type: StrField; + + constructor(); + + annotations(): Annotations; + + graph(): Graph; + + withAutoDelete(autoDelete: boolean): this; + + withCustomDomainProperties(extensions: Array): this; + + withDurable(durable: boolean): this; + + withExtendsNode(extension: Array): this; + + withId(id: string): this; + + withIsExternalLink(isExternalLink: boolean): DomainElement; + + withName(name: string): this; + + withType(type: string): this; + } + export class Amqp091ChannelExchange020 implements Amqp091ChannelExchange { + autoDelete: BoolField; + customDomainProperties: Array; + durable: BoolField; + extendsNode: Array; + id: string; + isExternalLink: BoolField; + name: StrField; + position: Range; + type: StrField; vHost: StrField; constructor(); @@ -741,7 +897,6 @@ declare module "amf-client-js" { mandatory: BoolField; position: Range; priority: IntField; - replyTo: StrField; timestamp: BoolField; userId: StrField; @@ -785,12 +940,139 @@ declare module "amf-client-js" { withPriority(priority: number): this; + withTimestamp(timestamp: boolean): this; + + withUserId(userId: string): this; + } + export class Amqp091OperationBinding010 implements Amqp091OperationBinding { + ack: BoolField; + bcc: Array; + cc: Array; + customDomainProperties: Array; + deliveryMode: IntField; + expiration: IntField; + extendsNode: Array; + id: string; + isExternalLink: BoolField; + isLink: boolean; + linkLabel: StrField; + linkTarget: undefined | DomainElement; + mandatory: BoolField; + position: Range; + priority: IntField; + replyTo: StrField; + timestamp: BoolField; + userId: StrField; + + constructor(); + + annotations(): Annotations; + + graph(): Graph; + + link(label: string): T; + + link(): T; + + linkCopy(): Amqp091OperationBinding010; + + withAck(ack: boolean): this; + + withBcc(bCC: Array): this; + + withBindingVersion(bindingVersion: string): this; + + withCc(cC: Array): this; + + withCustomDomainProperties(extensions: Array): this; + + withDeliveryMode(deliveryMode: number): this; + + withExpiration(expiration: number): this; + + withExtendsNode(extension: Array): this; + + withId(id: string): this; + + withIsExternalLink(isExternalLink: boolean): DomainElement; + + withLinkLabel(label: string): this; + + withLinkTarget(target: undefined): this; + + withMandatory(mandatory: boolean): this; + + withPriority(priority: number): this; + withReplyTo(replyTo: string): this; withTimestamp(timestamp: boolean): this; withUserId(userId: string): this; } + export class Amqp091OperationBinding030 implements Amqp091OperationBinding { + ack: BoolField; + bcc: Array; + cc: Array; + customDomainProperties: Array; + deliveryMode: IntField; + expiration: IntField; + extendsNode: Array; + id: string; + isExternalLink: BoolField; + isLink: boolean; + linkLabel: StrField; + linkTarget: undefined | DomainElement; + mandatory: BoolField; + position: Range; + priority: IntField; + timestamp: BoolField; + userId: StrField; + + constructor(); + + annotations(): Annotations; + + graph(): Graph; + + link(label: string): T; + + link(): T; + + linkCopy(): Amqp091OperationBinding030; + + withAck(ack: boolean): this; + + withBcc(bCC: Array): this; + + withBindingVersion(bindingVersion: string): this; + + withCc(cC: Array): this; + + withCustomDomainProperties(extensions: Array): this; + + withDeliveryMode(deliveryMode: number): this; + + withExpiration(expiration: number): this; + + withExtendsNode(extension: Array): this; + + withId(id: string): this; + + withIsExternalLink(isExternalLink: boolean): DomainElement; + + withLinkLabel(label: string): this; + + withLinkTarget(target: undefined): this; + + withMandatory(mandatory: boolean): this; + + withPriority(priority: number): this; + + withTimestamp(timestamp: boolean): this; + + withUserId(userId: string): this; + } export class Amqp091Queue implements DomainElement { autoDelete: BoolField; customDomainProperties: Array; @@ -801,6 +1083,72 @@ declare module "amf-client-js" { isExternalLink: BoolField; name: StrField; position: Range; + + constructor(); + + annotations(): Annotations; + + graph(): Graph; + + withAutoDelete(autoDelete: boolean): this; + + withCustomDomainProperties(extensions: Array): this; + + withDurable(durable: boolean): this; + + withExclusive(exclusive: boolean): this; + + withExtendsNode(extension: Array): this; + + withId(id: string): this; + + withIsExternalLink(isExternalLink: boolean): DomainElement; + + withName(name: string): this; + } + export class Amqp091Queue010 implements Amqp091Queue { + autoDelete: BoolField; + customDomainProperties: Array; + durable: BoolField; + exclusive: BoolField; + extendsNode: Array; + id: string; + isExternalLink: BoolField; + name: StrField; + position: Range; + + constructor(); + + annotations(): Annotations; + + graph(): Graph; + + withAutoDelete(autoDelete: boolean): this; + + withCustomDomainProperties(extensions: Array): this; + + withDurable(durable: boolean): this; + + withExclusive(exclusive: boolean): this; + + withExtendsNode(extension: Array): this; + + withId(id: string): this; + + withIsExternalLink(isExternalLink: boolean): DomainElement; + + withName(name: string): this; + } + export class Amqp091Queue020 implements Amqp091Queue { + autoDelete: BoolField; + customDomainProperties: Array; + durable: BoolField; + exclusive: BoolField; + extendsNode: Array; + id: string; + isExternalLink: BoolField; + name: StrField; + position: Range; vHost: StrField; constructor(); diff --git a/amf-cli/shared/src/test/resources/resolution/merge/operation-different-binding/golden.expanded.jsonld b/amf-cli/shared/src/test/resources/resolution/merge/operation-different-binding/golden.expanded.jsonld index 6ab49fc9d7..e7ac27800c 100644 --- a/amf-cli/shared/src/test/resources/resolution/merge/operation-different-binding/golden.expanded.jsonld +++ b/amf-cli/shared/src/test/resources/resolution/merge/operation-different-binding/golden.expanded.jsonld @@ -29,9 +29,9 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "target/operation-bindings/amqp091-operation", + "@id": "target/operation-bindings/amqp091-operation-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding010", "http://a.ml/vocabularies/apiBinding#OperationBinding", "http://a.ml/vocabularies/document#DomainElement" ], diff --git a/amf-cli/shared/src/test/resources/resolution/merge/operation-different-binding/golden.flattened.jsonld b/amf-cli/shared/src/test/resources/resolution/merge/operation-different-binding/golden.flattened.jsonld index 2e6812bc5e..ca9cbcd662 100644 --- a/amf-cli/shared/src/test/resources/resolution/merge/operation-different-binding/golden.flattened.jsonld +++ b/amf-cli/shared/src/test/resources/resolution/merge/operation-different-binding/golden.flattened.jsonld @@ -28,7 +28,7 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "target/operation-bindings/amqp091-operation" + "@id": "target/operation-bindings/amqp091-operation-010" }, { "@id": "target/operation-bindings/http-operation" @@ -36,9 +36,9 @@ ] }, { - "@id": "target/operation-bindings/amqp091-operation", + "@id": "target/operation-bindings/amqp091-operation-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding010", "http://a.ml/vocabularies/apiBinding#OperationBinding", "http://a.ml/vocabularies/document#DomainElement" ], diff --git a/amf-cli/shared/src/test/resources/upanddown/cycle/async20/bindings/amqp-channel-binding-010.yaml b/amf-cli/shared/src/test/resources/upanddown/cycle/async20/bindings/amqp-channel-binding-010.yaml new file mode 100644 index 0000000000..0489d41dca --- /dev/null +++ b/amf-cli/shared/src/test/resources/upanddown/cycle/async20/bindings/amqp-channel-binding-010.yaml @@ -0,0 +1,20 @@ +asyncapi: 2.0.0 +info: + title: Amqp channel binding + version: 1.0.0 +channels: + some-channel: + bindings: + amqp: + bindingVersion: 0.1.0 + is: queue + exchange: + name: some name + type: topic + durable: false + autoDelete: true + queue: + name: somename + durable: true + exclusive: false + autoDelete: true diff --git a/amf-cli/shared/src/test/resources/upanddown/cycle/async20/bindings/amqp-channel-binding.yaml b/amf-cli/shared/src/test/resources/upanddown/cycle/async20/bindings/amqp-channel-binding-020.yaml similarity index 92% rename from amf-cli/shared/src/test/resources/upanddown/cycle/async20/bindings/amqp-channel-binding.yaml rename to amf-cli/shared/src/test/resources/upanddown/cycle/async20/bindings/amqp-channel-binding-020.yaml index 3e669fecae..166e577fa0 100644 --- a/amf-cli/shared/src/test/resources/upanddown/cycle/async20/bindings/amqp-channel-binding.yaml +++ b/amf-cli/shared/src/test/resources/upanddown/cycle/async20/bindings/amqp-channel-binding-020.yaml @@ -6,7 +6,7 @@ channels: some-channel: bindings: amqp: - bindingVersion: 31.07.92 + bindingVersion: 0.2.0 is: queue exchange: name: some name diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.expanded.jsonld b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.expanded.jsonld new file mode 100644 index 0000000000..54d2ed3a25 --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.expanded.jsonld @@ -0,0 +1,535 @@ +[ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml", + "@type": [ + "http://a.ml/vocabularies/document#Document", + "http://a.ml/vocabularies/document#Fragment", + "http://a.ml/vocabularies/document#Module", + "http://a.ml/vocabularies/document#Unit" + ], + "http://a.ml/vocabularies/document#encodes": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api", + "@type": [ + "http://a.ml/vocabularies/apiContract#AsyncAPI", + "http://a.ml/vocabularies/apiContract#API", + "http://a.ml/vocabularies/document#RootDomainElement", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/core#name": [ + { + "@value": "Amqp channel binding" + } + ], + "http://a.ml/vocabularies/core#version": [ + { + "@value": "1.0.0" + } + ], + "http://a.ml/vocabularies/apiContract#endpoint": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel", + "@type": [ + "http://a.ml/vocabularies/apiContract#EndPoint", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/apiContract#path": [ + { + "@value": "some-channel" + } + ], + "http://a.ml/vocabularies/apiBinding#binding": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings", + "@type": [ + "http://a.ml/vocabularies/apiBinding#ChannelBindings", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/apiBinding#bindings": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010", + "@type": [ + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding010", + "http://a.ml/vocabularies/apiBinding#ChannelBinding", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/apiBinding#is": [ + { + "@value": "routingKey" + } + ], + "http://a.ml/vocabularies/apiBinding#exchange": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010", + "@type": [ + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelExchange010", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/core#name": [ + { + "@value": "some name" + } + ], + "http://a.ml/vocabularies/apiBinding#type": [ + { + "@value": "topic" + } + ], + "http://a.ml/vocabularies/apiBinding#durable": [ + { + "@value": false + } + ], + "http://a.ml/vocabularies/apiBinding#autoDelete": [ + { + "@value": true + } + ], + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_4", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#durable" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(14,10)-(15,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(11,17)-(16,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#autoDelete" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(15,10)-(16,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#type" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(13,10)-(14,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_3", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/core#name" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(12,10)-(13,0)]" + } + ] + } + ] + } + ] + } + ], + "http://a.ml/vocabularies/apiBinding#queue": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010", + "@type": [ + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue010", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/core#name": [ + { + "@value": "somename" + } + ], + "http://a.ml/vocabularies/apiBinding#durable": [ + { + "@value": true + } + ], + "http://a.ml/vocabularies/apiBinding#exclusive": [ + { + "@value": false + } + ], + "http://a.ml/vocabularies/apiBinding#autoDelete": [ + { + "@value": true + } + ], + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_4", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#exclusive" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(19,10)-(20,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(16,14)-(21,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#autoDelete" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(20,10)-(21,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#durable" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(18,10)-(19,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_3", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/core#name" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(17,10)-(18,0)]" + } + ] + } + ] + } + ] + } + ], + "http://a.ml/vocabularies/apiBinding#bindingVersion": [ + { + "@value": "0.1.0" + } + ], + "http://a.ml/vocabularies/apiBinding#type": [ + { + "@value": "amqp" + } + ], + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/synthesized-field/element_0", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#is" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "true" + } + ] + } + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_4", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#bindingVersion" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(10,8)-(11,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(9,6)-(21,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#type" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(9,6)-(9,10)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#queue" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(16,8)-(21,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_3", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#exchange" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(11,8)-(16,0)]" + } + ] + } + ] + } + ] + } + ], + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(9,0)-(21,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#bindings" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(9,0)-(21,0)]" + } + ] + } + ] + } + ] + } + ], + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(7,2)-(21,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiBinding#binding" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(8,4)-(21,0)]" + } + ] + } + ] + } + ] + } + ], + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_3", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/core#version" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(4,2)-(6,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/core#name" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(3,2)-(4,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "http://a.ml/vocabularies/apiContract#endpoint" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(6,0)-(21,0)]" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": [ + { + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api" + } + ], + "http://a.ml/vocabularies/document-source-maps#value": [ + { + "@value": "[(1,0)-(21,0)]" + } + ] + } + ] + } + ] + } + ], + "http://a.ml/vocabularies/document#root": [ + { + "@value": true + } + ], + "http://a.ml/vocabularies/document#processingData": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/BaseUnitProcessingData", + "@type": [ + "http://a.ml/vocabularies/document#APIContractProcessingData" + ], + "http://a.ml/vocabularies/apiContract#modelVersion": [ + { + "@value": "3.9.0" + } + ], + "http://a.ml/vocabularies/document#sourceSpec": [ + { + "@value": "ASYNC 2.0" + } + ] + } + ] + } +] diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.flattened.jsonld b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.flattened.jsonld new file mode 100644 index 0000000000..c8a69530b6 --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.flattened.jsonld @@ -0,0 +1,378 @@ +{ + "@graph": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/BaseUnitProcessingData", + "@type": [ + "http://a.ml/vocabularies/document#APIContractProcessingData" + ], + "http://a.ml/vocabularies/apiContract#modelVersion": "3.9.0", + "http://a.ml/vocabularies/document#sourceSpec": "ASYNC 2.0" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api", + "@type": [ + "http://a.ml/vocabularies/apiContract#AsyncAPI", + "http://a.ml/vocabularies/apiContract#API", + "http://a.ml/vocabularies/document#RootDomainElement", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/core#name": "Amqp channel binding", + "http://a.ml/vocabularies/core#version": "1.0.0", + "http://a.ml/vocabularies/apiContract#endpoint": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel" + } + ], + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel", + "@type": [ + "http://a.ml/vocabularies/apiContract#EndPoint", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/apiContract#path": "some-channel", + "http://a.ml/vocabularies/apiBinding#binding": { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings" + }, + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/source-map" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_3" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_1" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_0" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_2" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings", + "@type": [ + "http://a.ml/vocabularies/apiBinding#ChannelBindings", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/apiBinding#bindings": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010" + } + ], + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_1" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_0" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_3", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#version", + "http://a.ml/vocabularies/document-source-maps#value": "[(4,2)-(6,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", + "http://a.ml/vocabularies/document-source-maps#value": "[(3,2)-(4,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#endpoint", + "http://a.ml/vocabularies/document-source-maps#value": "[(6,0)-(21,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api", + "http://a.ml/vocabularies/document-source-maps#value": "[(1,0)-(21,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010", + "@type": [ + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding010", + "http://a.ml/vocabularies/apiBinding#ChannelBinding", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/apiBinding#is": "routingKey", + "http://a.ml/vocabularies/apiBinding#exchange": { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010" + }, + "http://a.ml/vocabularies/apiBinding#queue": { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010" + }, + "http://a.ml/vocabularies/apiBinding#bindingVersion": "0.1.0", + "http://a.ml/vocabularies/apiBinding#type": "amqp", + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_1" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_0" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel", + "http://a.ml/vocabularies/document-source-maps#value": "[(7,2)-(21,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#binding", + "http://a.ml/vocabularies/document-source-maps#value": "[(8,4)-(21,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010", + "@type": [ + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelExchange010", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/core#name": "some name", + "http://a.ml/vocabularies/apiBinding#type": "topic", + "http://a.ml/vocabularies/apiBinding#durable": false, + "http://a.ml/vocabularies/apiBinding#autoDelete": true, + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010", + "@type": [ + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue010", + "http://a.ml/vocabularies/document#DomainElement" + ], + "http://a.ml/vocabularies/core#name": "somename", + "http://a.ml/vocabularies/apiBinding#durable": true, + "http://a.ml/vocabularies/apiBinding#exclusive": false, + "http://a.ml/vocabularies/apiBinding#autoDelete": true, + "http://a.ml/vocabularies/document-source-maps#sources": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/synthesized-field/element_0" + } + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_4" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_2" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_0" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_1" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_3" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings", + "http://a.ml/vocabularies/document-source-maps#value": "[(9,0)-(21,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#bindings", + "http://a.ml/vocabularies/document-source-maps#value": "[(9,0)-(21,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_4" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_2" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_0" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_1" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_3" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map", + "@type": [ + "http://a.ml/vocabularies/document-source-maps#SourceMap" + ], + "http://a.ml/vocabularies/document-source-maps#lexical": [ + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_4" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_2" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_0" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_1" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_3" + } + ] + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/synthesized-field/element_0", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#is", + "http://a.ml/vocabularies/document-source-maps#value": "true" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_4", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#bindingVersion", + "http://a.ml/vocabularies/document-source-maps#value": "[(10,8)-(11,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010", + "http://a.ml/vocabularies/document-source-maps#value": "[(9,6)-(21,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#type", + "http://a.ml/vocabularies/document-source-maps#value": "[(9,6)-(9,10)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#queue", + "http://a.ml/vocabularies/document-source-maps#value": "[(16,8)-(21,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_3", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#exchange", + "http://a.ml/vocabularies/document-source-maps#value": "[(11,8)-(16,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_4", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#durable", + "http://a.ml/vocabularies/document-source-maps#value": "[(14,10)-(15,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010", + "http://a.ml/vocabularies/document-source-maps#value": "[(11,17)-(16,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#autoDelete", + "http://a.ml/vocabularies/document-source-maps#value": "[(15,10)-(16,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#type", + "http://a.ml/vocabularies/document-source-maps#value": "[(13,10)-(14,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010/source-map/lexical/element_3", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", + "http://a.ml/vocabularies/document-source-maps#value": "[(12,10)-(13,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_4", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#exclusive", + "http://a.ml/vocabularies/document-source-maps#value": "[(19,10)-(20,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010", + "http://a.ml/vocabularies/document-source-maps#value": "[(16,14)-(21,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_0", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#autoDelete", + "http://a.ml/vocabularies/document-source-maps#value": "[(20,10)-(21,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#durable", + "http://a.ml/vocabularies/document-source-maps#value": "[(18,10)-(19,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_3", + "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", + "http://a.ml/vocabularies/document-source-maps#value": "[(17,10)-(18,0)]" + }, + { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml", + "@type": [ + "http://a.ml/vocabularies/document#Document", + "http://a.ml/vocabularies/document#Fragment", + "http://a.ml/vocabularies/document#Module", + "http://a.ml/vocabularies/document#Unit" + ], + "http://a.ml/vocabularies/document#encodes": { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/async-api" + }, + "http://a.ml/vocabularies/document#root": true, + "http://a.ml/vocabularies/document#processingData": { + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml#/BaseUnitProcessingData" + } + } + ] +} diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml new file mode 100644 index 0000000000..909cd6503a --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-010.yaml @@ -0,0 +1,20 @@ +asyncapi: '2.0.0' +info: + title: Amqp channel binding + version: '1.0.0' + +channels: + some-channel: + bindings: + amqp: + bindingVersion: 0.1.0 + exchange: + name: some name + type: topic + durable: false + autoDelete: true + queue: + name: somename + durable: true + exclusive: false + autoDelete: true diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.expanded.jsonld b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.expanded.jsonld similarity index 79% rename from amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.expanded.jsonld rename to amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.expanded.jsonld index 3515a793ec..34c7a6e7ea 100644 --- a/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.expanded.jsonld +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.expanded.jsonld @@ -1,6 +1,6 @@ [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml", "@type": [ "http://a.ml/vocabularies/document#Document", "http://a.ml/vocabularies/document#Fragment", @@ -9,7 +9,7 @@ ], "http://a.ml/vocabularies/document#encodes": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api", "@type": [ "http://a.ml/vocabularies/apiContract#AsyncAPI", "http://a.ml/vocabularies/apiContract#API", @@ -28,7 +28,7 @@ ], "http://a.ml/vocabularies/apiContract#endpoint": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel", "@type": [ "http://a.ml/vocabularies/apiContract#EndPoint", "http://a.ml/vocabularies/document#DomainElement" @@ -40,16 +40,16 @@ ], "http://a.ml/vocabularies/apiBinding#binding": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings", "@type": [ "http://a.ml/vocabularies/apiBinding#ChannelBindings", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding020", "http://a.ml/vocabularies/apiBinding#ChannelBinding", "http://a.ml/vocabularies/document#DomainElement" ], @@ -60,9 +60,9 @@ ], "http://a.ml/vocabularies/apiBinding#exchange": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelExchange", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelExchange020", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/core#name": [ @@ -92,13 +92,13 @@ ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_5", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_5", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#autoDelete" @@ -111,10 +111,10 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020" } ], "http://a.ml/vocabularies/document-source-maps#value": [ @@ -124,7 +124,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#durable" @@ -137,7 +137,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#vhost" @@ -150,7 +150,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/core#name" @@ -163,7 +163,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_4", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_4", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#type" @@ -182,9 +182,9 @@ ], "http://a.ml/vocabularies/apiBinding#queue": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue020", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/core#name": [ @@ -214,13 +214,13 @@ ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_5", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_5", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#autoDelete" @@ -233,20 +233,20 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020" } ], "http://a.ml/vocabularies/document-source-maps#value": [ { - "@value": "[(17,14)-(22,27)]" + "@value": "[(17,14)-(23,0)]" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#exclusive" @@ -259,7 +259,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#vhost" @@ -267,12 +267,12 @@ ], "http://a.ml/vocabularies/document-source-maps#value": [ { - "@value": "[(22,10)-(22,27)]" + "@value": "[(22,10)-(23,0)]" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/core#name" @@ -285,7 +285,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_4", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_4", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#durable" @@ -304,7 +304,7 @@ ], "http://a.ml/vocabularies/apiBinding#bindingVersion": [ { - "@value": "31.07.92" + "@value": "0.2.0" } ], "http://a.ml/vocabularies/apiBinding#type": [ @@ -314,13 +314,13 @@ ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/synthesized-field/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/synthesized-field/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#is" @@ -335,7 +335,7 @@ ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_4", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_4", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#bindingVersion" @@ -348,20 +348,20 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020" } ], "http://a.ml/vocabularies/document-source-maps#value": [ { - "@value": "[(9,6)-(22,27)]" + "@value": "[(9,6)-(23,0)]" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#type" @@ -374,7 +374,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#queue" @@ -382,12 +382,12 @@ ], "http://a.ml/vocabularies/document-source-maps#value": [ { - "@value": "[(17,8)-(22,27)]" + "@value": "[(17,8)-(23,0)]" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#exchange" @@ -406,26 +406,26 @@ ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings" } ], "http://a.ml/vocabularies/document-source-maps#value": [ { - "@value": "[(9,0)-(22,27)]" + "@value": "[(9,0)-(23,0)]" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#bindings" @@ -433,7 +433,7 @@ ], "http://a.ml/vocabularies/document-source-maps#value": [ { - "@value": "[(9,0)-(22,27)]" + "@value": "[(9,0)-(23,0)]" } ] } @@ -444,26 +444,26 @@ ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel" } ], "http://a.ml/vocabularies/document-source-maps#value": [ { - "@value": "[(7,2)-(22,27)]" + "@value": "[(7,2)-(23,0)]" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#binding" @@ -471,7 +471,7 @@ ], "http://a.ml/vocabularies/document-source-maps#value": [ { - "@value": "[(8,4)-(22,27)]" + "@value": "[(8,4)-(23,0)]" } ] } @@ -482,13 +482,13 @@ ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/core#version" @@ -501,7 +501,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/core#name" @@ -514,7 +514,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiContract#endpoint" @@ -522,20 +522,20 @@ ], "http://a.ml/vocabularies/document-source-maps#value": [ { - "@value": "[(6,0)-(22,27)]" + "@value": "[(6,0)-(23,0)]" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api" } ], "http://a.ml/vocabularies/document-source-maps#value": [ { - "@value": "[(1,0)-(22,27)]" + "@value": "[(1,0)-(23,0)]" } ] } @@ -551,7 +551,7 @@ ], "http://a.ml/vocabularies/document#processingData": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/BaseUnitProcessingData", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/BaseUnitProcessingData", "@type": [ "http://a.ml/vocabularies/document#APIContractProcessingData" ], diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.flattened.jsonld b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.flattened.jsonld similarity index 58% rename from amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.flattened.jsonld rename to amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.flattened.jsonld index c9a8fad93e..404b45174e 100644 --- a/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.flattened.jsonld +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.flattened.jsonld @@ -1,7 +1,7 @@ { "@graph": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/BaseUnitProcessingData", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/BaseUnitProcessingData", "@type": [ "http://a.ml/vocabularies/document#APIContractProcessingData" ], @@ -9,7 +9,7 @@ "http://a.ml/vocabularies/document#sourceSpec": "ASYNC 2.0" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api", "@type": [ "http://a.ml/vocabularies/apiContract#AsyncAPI", "http://a.ml/vocabularies/apiContract#API", @@ -20,152 +20,152 @@ "http://a.ml/vocabularies/core#version": "1.0.0", "http://a.ml/vocabularies/apiContract#endpoint": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel" } ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel", "@type": [ "http://a.ml/vocabularies/apiContract#EndPoint", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/apiContract#path": "some-channel", "http://a.ml/vocabularies/apiBinding#binding": { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings" }, "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/source-map" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_3" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_3" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_1" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_0" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_2" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_2" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings", "@type": [ "http://a.ml/vocabularies/apiBinding#ChannelBindings", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020" } ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_1" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_0" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#version", "http://a.ml/vocabularies/document-source-maps#value": "[(4,2)-(6,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", "http://a.ml/vocabularies/document-source-maps#value": "[(3,2)-(4,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#endpoint", - "http://a.ml/vocabularies/document-source-maps#value": "[(6,0)-(22,27)]" + "http://a.ml/vocabularies/document-source-maps#value": "[(6,0)-(23,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/source-map/lexical/element_2", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api", - "http://a.ml/vocabularies/document-source-maps#value": "[(1,0)-(22,27)]" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api", + "http://a.ml/vocabularies/document-source-maps#value": "[(1,0)-(23,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding020", "http://a.ml/vocabularies/apiBinding#ChannelBinding", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/apiBinding#is": "routingKey", "http://a.ml/vocabularies/apiBinding#exchange": { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020" }, "http://a.ml/vocabularies/apiBinding#queue": { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020" }, - "http://a.ml/vocabularies/apiBinding#bindingVersion": "31.07.92", + "http://a.ml/vocabularies/apiBinding#bindingVersion": "0.2.0", "http://a.ml/vocabularies/apiBinding#type": "amqp", "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_1" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_0" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_1", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel", - "http://a.ml/vocabularies/document-source-maps#value": "[(7,2)-(22,27)]" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel", + "http://a.ml/vocabularies/document-source-maps#value": "[(7,2)-(23,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#binding", - "http://a.ml/vocabularies/document-source-maps#value": "[(8,4)-(22,27)]" + "http://a.ml/vocabularies/document-source-maps#value": "[(8,4)-(23,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelExchange", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelExchange020", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/core#name": "some name", @@ -175,14 +175,14 @@ "http://a.ml/vocabularies/apiBinding#vhost": "/some-some", "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue020", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/core#name": "somename", @@ -192,192 +192,192 @@ "http://a.ml/vocabularies/apiBinding#vhost": "/some-some", "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/synthesized-field/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/synthesized-field/element_0" } ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_4" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_4" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_2" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_2" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_0" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_1" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_3" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_3" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_1", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings", - "http://a.ml/vocabularies/document-source-maps#value": "[(9,0)-(22,27)]" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings", + "http://a.ml/vocabularies/document-source-maps#value": "[(9,0)-(23,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#bindings", - "http://a.ml/vocabularies/document-source-maps#value": "[(9,0)-(22,27)]" + "http://a.ml/vocabularies/document-source-maps#value": "[(9,0)-(23,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_5" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_5" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_3" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_3" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_1" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_0" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_2" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_2" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_4" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_4" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_5" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_5" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_3" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_3" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_1" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_0" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_2" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_2" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_4" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_4" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/synthesized-field/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/synthesized-field/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#is", "http://a.ml/vocabularies/document-source-maps#value": "true" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_4", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_4", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#bindingVersion", "http://a.ml/vocabularies/document-source-maps#value": "[(10,8)-(11,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_2", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel", - "http://a.ml/vocabularies/document-source-maps#value": "[(9,6)-(22,27)]" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020", + "http://a.ml/vocabularies/document-source-maps#value": "[(9,6)-(23,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#type", "http://a.ml/vocabularies/document-source-maps#value": "[(9,6)-(9,10)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#queue", - "http://a.ml/vocabularies/document-source-maps#value": "[(17,8)-(22,27)]" + "http://a.ml/vocabularies/document-source-maps#value": "[(17,8)-(23,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#exchange", "http://a.ml/vocabularies/document-source-maps#value": "[(11,8)-(17,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_5", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_5", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#autoDelete", "http://a.ml/vocabularies/document-source-maps#value": "[(15,10)-(16,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_3", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_3", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020", "http://a.ml/vocabularies/document-source-maps#value": "[(11,17)-(17,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#durable", "http://a.ml/vocabularies/document-source-maps#value": "[(14,10)-(15,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#vhost", "http://a.ml/vocabularies/document-source-maps#value": "[(16,10)-(17,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", "http://a.ml/vocabularies/document-source-maps#value": "[(12,10)-(13,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-exchange/source-map/lexical/element_4", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020/source-map/lexical/element_4", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#type", "http://a.ml/vocabularies/document-source-maps#value": "[(13,10)-(14,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_5", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_5", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#autoDelete", "http://a.ml/vocabularies/document-source-maps#value": "[(21,10)-(22,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_3", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue", - "http://a.ml/vocabularies/document-source-maps#value": "[(17,14)-(22,27)]" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_3", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020", + "http://a.ml/vocabularies/document-source-maps#value": "[(17,14)-(23,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#exclusive", "http://a.ml/vocabularies/document-source-maps#value": "[(20,10)-(21,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#vhost", - "http://a.ml/vocabularies/document-source-maps#value": "[(22,10)-(22,27)]" + "http://a.ml/vocabularies/document-source-maps#value": "[(22,10)-(23,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", "http://a.ml/vocabularies/document-source-maps#value": "[(18,10)-(19,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_4", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020/source-map/lexical/element_4", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#durable", "http://a.ml/vocabularies/document-source-maps#value": "[(19,10)-(20,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml", "@type": [ "http://a.ml/vocabularies/document#Document", "http://a.ml/vocabularies/document#Fragment", @@ -385,11 +385,11 @@ "http://a.ml/vocabularies/document#Unit" ], "http://a.ml/vocabularies/document#encodes": { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/async-api" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/async-api" }, "http://a.ml/vocabularies/document#root": true, "http://a.ml/vocabularies/document#processingData": { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml#/BaseUnitProcessingData" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml#/BaseUnitProcessingData" } } ] diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml similarity index 86% rename from amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml rename to amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml index 497c154bf5..5853d6836c 100644 --- a/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding.yaml +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-channel-binding-020.yaml @@ -7,7 +7,7 @@ channels: some-channel: bindings: amqp: - bindingVersion: 31.07.92 + bindingVersion: 0.2.0 exchange: name: some name type: topic @@ -19,4 +19,4 @@ channels: durable: true exclusive: false autoDelete: true - vhost: /some-some \ No newline at end of file + vhost: /some-some diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.expanded.jsonld b/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.expanded.jsonld index d3278c0782..5241272d9b 100644 --- a/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.expanded.jsonld +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.expanded.jsonld @@ -87,7 +87,7 @@ ], "http://a.ml/vocabularies/apiBinding#bindingVersion": [ { - "@value": "31.07.92" + "@value": "0.1.0" } ], "http://a.ml/vocabularies/apiBinding#type": [ diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.flattened.jsonld b/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.flattened.jsonld index 4bc50c51c3..d3bab0dff1 100644 --- a/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.flattened.jsonld +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.flattened.jsonld @@ -211,7 +211,7 @@ ], "http://a.ml/vocabularies/apiBinding#contentEncoding": "some/mime", "http://a.ml/vocabularies/apiBinding#messageType": "sometype", - "http://a.ml/vocabularies/apiBinding#bindingVersion": "31.07.92", + "http://a.ml/vocabularies/apiBinding#bindingVersion": "0.1.0", "http://a.ml/vocabularies/apiBinding#type": "amqp", "http://a.ml/vocabularies/document-source-maps#sources": [ { diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.yaml b/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.yaml index abf3599cfb..825f6d4404 100644 --- a/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.yaml +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-message-binding.yaml @@ -9,6 +9,6 @@ channels: message: bindings: amqp: - bindingVersion: 31.07.92 + bindingVersion: 0.1.0 messageType: sometype contentEncoding: some/mime \ No newline at end of file diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.expanded.jsonld b/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.expanded.jsonld index a9fe716957..6419487cb3 100644 --- a/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.expanded.jsonld +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.expanded.jsonld @@ -60,9 +60,9 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding010", "http://a.ml/vocabularies/apiBinding#OperationBinding", "http://a.ml/vocabularies/document#DomainElement" ], @@ -113,7 +113,7 @@ ], "http://a.ml/vocabularies/apiBinding#bindingVersion": [ { - "@value": "31.07.92" + "@value": "0.1.0" } ], "http://a.ml/vocabularies/apiBinding#type": [ @@ -123,13 +123,13 @@ ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_11", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_11", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#bindingVersion" @@ -142,7 +142,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_9", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_9", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#mandatory" @@ -155,7 +155,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_7", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_7", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#userId" @@ -168,7 +168,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_5", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_5", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#expiration" @@ -181,7 +181,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#deliveryMode" @@ -194,7 +194,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#timestamp" @@ -207,7 +207,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#type" @@ -220,7 +220,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#bcc" @@ -233,7 +233,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_4", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_4", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#cc" @@ -246,10 +246,10 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_6", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_6", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010" } ], "http://a.ml/vocabularies/document-source-maps#value": [ @@ -259,7 +259,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_8", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_8", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#priority" @@ -272,7 +272,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_10", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_10", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#replyTo" @@ -385,9 +385,9 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding010", "http://a.ml/vocabularies/apiBinding#OperationBinding", "http://a.ml/vocabularies/document#DomainElement" ], @@ -408,13 +408,13 @@ ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/synthesized-field/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/synthesized-field/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#bindingVersion" @@ -429,7 +429,7 @@ ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#ack" @@ -442,7 +442,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#type" @@ -455,10 +455,10 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010" } ], "http://a.ml/vocabularies/document-source-maps#value": [ diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.flattened.jsonld b/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.flattened.jsonld index 87d7cc535c..c780bd68fb 100644 --- a/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.flattened.jsonld +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.flattened.jsonld @@ -146,7 +146,7 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010" } ], "http://a.ml/vocabularies/document-source-maps#sources": [ @@ -177,7 +177,7 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010" } ], "http://a.ml/vocabularies/document-source-maps#sources": [ @@ -211,9 +211,9 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(8,0)-(24,19)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding010", "http://a.ml/vocabularies/apiBinding#OperationBinding", "http://a.ml/vocabularies/document#DomainElement" ], @@ -230,11 +230,11 @@ ], "http://a.ml/vocabularies/apiBinding#replyTo": "some", "http://a.ml/vocabularies/apiBinding#timestamp": true, - "http://a.ml/vocabularies/apiBinding#bindingVersion": "31.07.92", + "http://a.ml/vocabularies/apiBinding#bindingVersion": "0.1.0", "http://a.ml/vocabularies/apiBinding#type": "amqp", "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map" } ] }, @@ -263,9 +263,9 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(9,6)-(21,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding010", "http://a.ml/vocabularies/apiBinding#OperationBinding", "http://a.ml/vocabularies/document#DomainElement" ], @@ -274,7 +274,7 @@ "http://a.ml/vocabularies/apiBinding#type": "amqp", "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map" } ] }, @@ -303,46 +303,46 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(22,6)-(24,19)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_11" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_11" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_9" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_9" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_7" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_7" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_5" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_5" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_3" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_3" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_1" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_0" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_2" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_2" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_4" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_4" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_6" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_6" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_8" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_8" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_10" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_10" } ] }, @@ -357,24 +357,24 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(10,0)-(21,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/synthesized-field/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/synthesized-field/element_0" } ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_2" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_2" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_0" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_1" } ] }, @@ -389,83 +389,83 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(23,0)-(24,19)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_11", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_11", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#bindingVersion", "http://a.ml/vocabularies/document-source-maps#value": "[(11,10)-(12,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_9", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_9", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#mandatory", "http://a.ml/vocabularies/document-source-maps#value": "[(17,10)-(18,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_7", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_7", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#userId", "http://a.ml/vocabularies/document-source-maps#value": "[(13,10)-(14,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_5", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_5", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#expiration", "http://a.ml/vocabularies/document-source-maps#value": "[(12,10)-(13,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#deliveryMode", "http://a.ml/vocabularies/document-source-maps#value": "[(16,10)-(17,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#timestamp", "http://a.ml/vocabularies/document-source-maps#value": "[(20,10)-(21,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#type", "http://a.ml/vocabularies/document-source-maps#value": "[(10,8)-(10,12)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#bcc", "http://a.ml/vocabularies/document-source-maps#value": "[(18,10)-(19,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_4", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_4", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#cc", "http://a.ml/vocabularies/document-source-maps#value": "[(14,10)-(15,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_6", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_6", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010", "http://a.ml/vocabularies/document-source-maps#value": "[(10,8)-(21,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_8", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_8", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#priority", "http://a.ml/vocabularies/document-source-maps#value": "[(15,10)-(16,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_10", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/publish/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_10", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#replyTo", "http://a.ml/vocabularies/document-source-maps#value": "[(19,10)-(20,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/synthesized-field/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/synthesized-field/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#bindingVersion", "http://a.ml/vocabularies/document-source-maps#value": "true" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#ack", "http://a.ml/vocabularies/document-source-maps#value": "[(24,10)-(24,19)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#type", "http://a.ml/vocabularies/document-source-maps#value": "[(23,8)-(23,12)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_1", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml#/async-api/endpoint/some-channel/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010", "http://a.ml/vocabularies/document-source-maps#value": "[(23,8)-(24,19)]" }, { diff --git a/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml b/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml index f87b6e063f..5ef51e585b 100644 --- a/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml +++ b/amf-cli/shared/src/test/resources/validations/async20/amqp-operation-binding.yaml @@ -8,7 +8,7 @@ channels: publish: bindings: amqp: - bindingVersion: 31.07.92 + bindingVersion: 0.1.0 expiration: 32 userId: some cc: [some] diff --git a/amf-cli/shared/src/test/resources/validations/async20/rpc-server.expanded.jsonld b/amf-cli/shared/src/test/resources/validations/async20/rpc-server.expanded.jsonld index d3be6c355f..cfbb8c69a0 100644 --- a/amf-cli/shared/src/test/resources/validations/async20/rpc-server.expanded.jsonld +++ b/amf-cli/shared/src/test/resources/validations/async20/rpc-server.expanded.jsonld @@ -700,9 +700,9 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding010", "http://a.ml/vocabularies/apiBinding#OperationBinding", "http://a.ml/vocabularies/document#DomainElement" ], @@ -723,13 +723,13 @@ ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/synthesized-field/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/synthesized-field/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#bindingVersion" @@ -744,7 +744,7 @@ ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#ack" @@ -757,7 +757,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#type" @@ -770,10 +770,10 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010" } ], "http://a.ml/vocabularies/document-source-maps#value": [ @@ -1078,9 +1078,9 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding010", "http://a.ml/vocabularies/apiBinding#ChannelBinding", "http://a.ml/vocabularies/document#DomainElement" ], @@ -1091,9 +1091,9 @@ ], "http://a.ml/vocabularies/apiBinding#queue": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue010", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/apiBinding#exclusive": [ @@ -1101,38 +1101,18 @@ "@value": true } ], - "http://a.ml/vocabularies/apiBinding#vhost": [ - { - "@value": "/" - } - ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], - "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ - { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/synthesized-field/element_0", - "http://a.ml/vocabularies/document-source-maps#element": [ - { - "@value": "http://a.ml/vocabularies/apiBinding#vhost" - } - ], - "http://a.ml/vocabularies/document-source-maps#value": [ - { - "@value": "true" - } - ] - } - ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010" } ], "http://a.ml/vocabularies/document-source-maps#value": [ @@ -1142,7 +1122,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#exclusive" @@ -1171,13 +1151,13 @@ ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/synthesized-field/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/synthesized-field/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#bindingVersion" @@ -1192,7 +1172,7 @@ ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#queue" @@ -1205,7 +1185,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#is" @@ -1218,7 +1198,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#type" @@ -1231,10 +1211,10 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010" } ], "http://a.ml/vocabularies/document-source-maps#value": [ @@ -2313,9 +2293,9 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding010", "http://a.ml/vocabularies/apiBinding#ChannelBinding", "http://a.ml/vocabularies/document#DomainElement" ], @@ -2326,9 +2306,9 @@ ], "http://a.ml/vocabularies/apiBinding#queue": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue010", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/apiBinding#durable": [ @@ -2336,38 +2316,18 @@ "@value": false } ], - "http://a.ml/vocabularies/apiBinding#vhost": [ - { - "@value": "/" - } - ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], - "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ - { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/synthesized-field/element_0", - "http://a.ml/vocabularies/document-source-maps#element": [ - { - "@value": "http://a.ml/vocabularies/apiBinding#vhost" - } - ], - "http://a.ml/vocabularies/document-source-maps#value": [ - { - "@value": "true" - } - ] - } - ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010" } ], "http://a.ml/vocabularies/document-source-maps#value": [ @@ -2377,7 +2337,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#durable" @@ -2406,13 +2366,13 @@ ], "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/synthesized-field/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/synthesized-field/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#bindingVersion" @@ -2427,7 +2387,7 @@ ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#queue" @@ -2440,7 +2400,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#is" @@ -2453,7 +2413,7 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": [ { "@value": "http://a.ml/vocabularies/apiBinding#type" @@ -2466,10 +2426,10 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": [ { - "@value": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel" + "@value": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010" } ], "http://a.ml/vocabularies/document-source-maps#value": [ diff --git a/amf-cli/shared/src/test/resources/validations/async20/rpc-server.flattened.jsonld b/amf-cli/shared/src/test/resources/validations/async20/rpc-server.flattened.jsonld index 23f9e29ec3..e0ec35af40 100644 --- a/amf-cli/shared/src/test/resources/validations/async20/rpc-server.flattened.jsonld +++ b/amf-cli/shared/src/test/resources/validations/async20/rpc-server.flattened.jsonld @@ -208,7 +208,7 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010" } ], "http://a.ml/vocabularies/document-source-maps#sources": [ @@ -265,7 +265,7 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010" } ], "http://a.ml/vocabularies/document-source-maps#sources": [ @@ -381,7 +381,7 @@ ], "http://a.ml/vocabularies/apiBinding#bindings": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010" } ], "http://a.ml/vocabularies/document-source-maps#sources": [ @@ -455,21 +455,21 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding010", "http://a.ml/vocabularies/apiBinding#ChannelBinding", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/apiBinding#is": "queue", "http://a.ml/vocabularies/apiBinding#queue": { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010" }, "http://a.ml/vocabularies/apiBinding#bindingVersion": "latest", "http://a.ml/vocabularies/apiBinding#type": "amqp", "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map" } ] }, @@ -550,21 +550,21 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding010", "http://a.ml/vocabularies/apiBinding#ChannelBinding", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/apiBinding#is": "queue", "http://a.ml/vocabularies/apiBinding#queue": { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010" }, "http://a.ml/vocabularies/apiBinding#bindingVersion": "latest", "http://a.ml/vocabularies/apiBinding#type": "amqp", "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map" } ] }, @@ -646,9 +646,9 @@ ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding", + "http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding010", "http://a.ml/vocabularies/apiBinding#OperationBinding", "http://a.ml/vocabularies/document#DomainElement" ], @@ -657,7 +657,7 @@ "http://a.ml/vocabularies/apiBinding#type": "amqp", "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map" } ] }, @@ -738,41 +738,40 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(18,6)-(22,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue010", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/apiBinding#exclusive": true, - "http://a.ml/vocabularies/apiBinding#vhost": "/", "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/synthesized-field/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/synthesized-field/element_0" } ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_3" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_3" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_1" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_0" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_2" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_2" } ] }, @@ -870,41 +869,40 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(49,4)-(65,23)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010", "@type": [ - "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue", + "http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue010", "http://a.ml/vocabularies/document#DomainElement" ], "http://a.ml/vocabularies/apiBinding#durable": false, - "http://a.ml/vocabularies/apiBinding#vhost": "/", "http://a.ml/vocabularies/document-source-maps#sources": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/synthesized-field/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/synthesized-field/element_0" } ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_3" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_3" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_1" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_0" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_2" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_2" } ] }, @@ -984,24 +982,24 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(33,8)-(35,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/synthesized-field/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/synthesized-field/element_0" } ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_2" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_2" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_0" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_1" } ] }, @@ -1036,47 +1034,42 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(19,8)-(22,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], - "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ - { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/synthesized-field/element_0" - } - ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_1" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_0" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/synthesized-field/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/synthesized-field/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#bindingVersion", "http://a.ml/vocabularies/document-source-maps#value": "true" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#queue", "http://a.ml/vocabularies/document-source-maps#value": "[(25,8)-(27,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#is", "http://a.ml/vocabularies/document-source-maps#value": "[(24,8)-(25,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#type", "http://a.ml/vocabularies/document-source-maps#value": "[(23,6)-(23,10)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_2", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010", "http://a.ml/vocabularies/document-source-maps#value": "[(23,6)-(27,0)]" }, { @@ -1180,47 +1173,42 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(52,0)-(65,23)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map", "@type": [ "http://a.ml/vocabularies/document-source-maps#SourceMap" ], - "http://a.ml/vocabularies/document-source-maps#synthesized-field": [ - { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/synthesized-field/element_0" - } - ], "http://a.ml/vocabularies/document-source-maps#lexical": [ { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_1" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_1" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_0" + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_0" } ] }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/synthesized-field/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/synthesized-field/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#bindingVersion", "http://a.ml/vocabularies/document-source-maps#value": "true" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_3", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_3", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#queue", "http://a.ml/vocabularies/document-source-maps#value": "[(47,8)-(49,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_1", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_1", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#is", "http://a.ml/vocabularies/document-source-maps#value": "[(46,8)-(47,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#type", "http://a.ml/vocabularies/document-source-maps#value": "[(45,6)-(45,10)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/source-map/lexical/element_2", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/source-map/lexical/element_2", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010", "http://a.ml/vocabularies/document-source-maps#value": "[(45,6)-(49,0)]" }, { @@ -1292,37 +1280,32 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(34,10)-(35,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/synthesized-field/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/synthesized-field/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#bindingVersion", "http://a.ml/vocabularies/document-source-maps#value": "true" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_2", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_2", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#ack", "http://a.ml/vocabularies/document-source-maps#value": "[(31,10)-(32,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#type", "http://a.ml/vocabularies/document-source-maps#value": "[(30,8)-(30,12)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation/source-map/lexical/element_1", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/supportedOperation/subscribe/sendSumResult/operation-bindings/bindings/amqp091-operation-010", "http://a.ml/vocabularies/document-source-maps#value": "[(30,8)-(32,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/synthesized-field/element_0", - "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#vhost", - "http://a.ml/vocabularies/document-source-maps#value": "true" - }, - { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_1", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010", "http://a.ml/vocabularies/document-source-maps#value": "[(25,14)-(27,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/%7Bqueue%7D/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#exclusive", "http://a.ml/vocabularies/document-source-maps#value": "[(26,10)-(27,0)]" }, @@ -1427,17 +1410,12 @@ "http://a.ml/vocabularies/document-source-maps#value": "[(53,0)-(55,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/synthesized-field/element_0", - "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#vhost", - "http://a.ml/vocabularies/document-source-maps#value": "true" - }, - { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_1", - "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_1", + "http://a.ml/vocabularies/document-source-maps#element": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010", "http://a.ml/vocabularies/document-source-maps#value": "[(47,14)-(49,0)]" }, { - "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel/amqp091-queue/source-map/lexical/element_0", + "@id": "file://amf-cli/shared/src/test/resources/validations/async20/rpc-server.yaml#/async-api/endpoint/rpc_queue/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010/source-map/lexical/element_0", "http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiBinding#durable", "http://a.ml/vocabularies/document-source-maps#value": "[(48,10)-(49,0)]" }, diff --git a/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-010.yaml b/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-010.yaml new file mode 100644 index 0000000000..db57d2dccb --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-010.yaml @@ -0,0 +1,22 @@ +asyncapi: '2.0.0' +info: + title: Amqp channel binding + version: '1.0.0' + +channels: + some-channel: + bindings: + amqp: + bindingVersion: 0.1.0 + exchange: + name: some name + type: topic + durable: false + autoDelete: true + vhost: /some-some # vhost is added on 0.2.0, not valid here + queue: + name: somename + durable: true + exclusive: false + autoDelete: true + vhost: /some-some # vhost is added on 0.2.0, not valid here diff --git a/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-020.yaml b/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-020.yaml new file mode 100644 index 0000000000..2da2ac6f65 --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-020.yaml @@ -0,0 +1,24 @@ +asyncapi: '2.0.0' +info: + title: Amqp channel binding + version: '1.0.0' + +channels: + some-channel: + bindings: + amqp: + bindingVersion: 0.2.0 + exchange: + name: some name + type: topic + durable: false + autoDelete: true + vhost: /some-some + invalidKey: should throw error + queue: + name: somename + durable: true + exclusive: false + autoDelete: true + vhost: /some-some + invalidKey: should throw error diff --git a/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-wrong-binding-version.yaml b/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-wrong-binding-version.yaml new file mode 100644 index 0000000000..a529cd2dc0 --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-wrong-binding-version.yaml @@ -0,0 +1,22 @@ +asyncapi: '2.0.0' +info: + title: Amqp channel binding + version: '1.0.0' + +channels: + some-channel: + bindings: + amqp: + bindingVersion: 9.9.9 # this is not a valid binding version, throws warning and defaults to 0.1.0 + exchange: + name: some name + type: topic + durable: false + autoDelete: true + vhost: /some-some # vhost is added on 0.2.0, not valid here + queue: + name: somename + durable: true + exclusive: false + autoDelete: true + vhost: /some-some # vhost is added on 0.2.0, not valid here diff --git a/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-020-invalid.yaml b/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-020-invalid.yaml new file mode 100644 index 0000000000..2da2ac6f65 --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-020-invalid.yaml @@ -0,0 +1,24 @@ +asyncapi: '2.0.0' +info: + title: Amqp channel binding + version: '1.0.0' + +channels: + some-channel: + bindings: + amqp: + bindingVersion: 0.2.0 + exchange: + name: some name + type: topic + durable: false + autoDelete: true + vhost: /some-some + invalidKey: should throw error + queue: + name: somename + durable: true + exclusive: false + autoDelete: true + vhost: /some-some + invalidKey: should throw error diff --git a/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-030.yaml b/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-030.yaml new file mode 100644 index 0000000000..bb26cbfe3b --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-030.yaml @@ -0,0 +1,28 @@ +asyncapi: '2.0.0' +info: + title: Amqp channel binding + version: '1.0.0' + +channels: + default-version-channel: + subscribe: + operationId: default-version-operation + bindings: + amqp: + replyTo: valid # since no version is specified, defaults to 0.1.0 where replyTo is valid + + wrong-version-channel: + subscribe: + operationId: wrong-version-operation + bindings: + amqp: + bindingVersion: 1.2.3 # invalid version, should throw warning + replyTo: valid # since an invalid version is specified, defaults to 0.1.0 where replyTo is valid + + specific-version-channel: + subscribe: + operationId: specific-version-operation + bindings: + amqp: + bindingVersion: 0.3.0 + replyTo: invalid # version 0.3.0 doesn't have replyTo, should throw violation \ No newline at end of file diff --git a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-binding-010.report b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-binding-010.report new file mode 100644 index 0000000000..4aa8f10c44 --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-binding-010.report @@ -0,0 +1,22 @@ +ModelId: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-010.yaml +Profile: +Conforms: false +Number of results: 2 + +Level: Violation + +- Constraint: http://a.ml/vocabularies/amf/parser#closed-shape + Message: Property 'vhost' not supported in a ASYNC 2.0 amqpExchangeChannelBinding010 node + Severity: Violation + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010 + Property: + Range: [(16,10)-(17,0)] + Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-010.yaml + +- Constraint: http://a.ml/vocabularies/amf/parser#closed-shape + Message: Property 'vhost' not supported in a ASYNC 2.0 amqpQueueChannelBinding010 node + Severity: Violation + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-010.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010 + Property: + Range: [(22,10)-(23,0)] + Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-010.yaml diff --git a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-binding-020-invalid.report b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-binding-020-invalid.report new file mode 100644 index 0000000000..390d4e2ce1 --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-binding-020-invalid.report @@ -0,0 +1,22 @@ +ModelId: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-020-invalid.yaml +Profile: +Conforms: false +Number of results: 2 + +Level: Violation + +- Constraint: http://a.ml/vocabularies/amf/parser#closed-shape + Message: Property 'invalidKey' not supported in a ASYNC 2.0 amqpExchangeChannelBinding020 node + Severity: Violation + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-020-invalid.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-exchange-020 + Property: + Range: [(17,10)-(18,0)] + Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-020-invalid.yaml + +- Constraint: http://a.ml/vocabularies/amf/parser#closed-shape + Message: Property 'invalidKey' not supported in a ASYNC 2.0 amqpQueueChannelBinding020 node + Severity: Violation + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-020-invalid.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-020/amqp091-queue-020 + Property: + Range: [(24,10)-(25,0)] + Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-020-invalid.yaml diff --git a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-binding-wrong-binding-version.report b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-binding-wrong-binding-version.report new file mode 100644 index 0000000000..4795a60442 --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-binding-wrong-binding-version.report @@ -0,0 +1,32 @@ +ModelId: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-wrong-binding-version.yaml +Profile: +Conforms: false +Number of results: 3 + +Level: Violation + +- Constraint: http://a.ml/vocabularies/amf/parser#closed-shape + Message: Property 'vhost' not supported in a ASYNC 2.0 amqpExchangeChannelBinding010 node + Severity: Violation + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-wrong-binding-version.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010 + Property: + Range: [(16,10)-(17,0)] + Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-wrong-binding-version.yaml + +- Constraint: http://a.ml/vocabularies/amf/parser#closed-shape + Message: Property 'vhost' not supported in a ASYNC 2.0 amqpQueueChannelBinding010 node + Severity: Violation + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-wrong-binding-version.yaml#/async-api/endpoint/some-channel/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010 + Property: + Range: [(22,10)-(23,0)] + Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-wrong-binding-version.yaml + +Level: Warning + +- Constraint: http://a.ml/vocabularies/amf/parser#unsupported-binding-version-warning + Message: Version 9.9.9 is not supported in an Amqp091ChannelBinding + Severity: Warning + Target: null + Property: bindingVersion + Range: [(9,11)-(23,0)] + Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-binding-wrong-binding-version.yaml diff --git a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-channel-binding-is-value.report b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-channel-binding-is-value.report index 41d0de7117..3a59d92548 100644 --- a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-channel-binding-is-value.report +++ b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-channel-binding-is-value.report @@ -5,10 +5,10 @@ Number of results: 1 Level: Violation -- Constraint: http://a.ml/vocabularies/amf/parser#Amqp091ChannelBinding-is-in +- Constraint: http://a.ml/vocabularies/amf/parser#Amqp091ChannelBinding010-is-in Message: 'is' for amqp 0.9.1 channel binding object must be one of 'queue' or 'routingKey' Severity: Violation - Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-is-value.yaml#/async-api/endpoint/%2Finvalid/channel-bindings/bindings/amqp091-channel + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-is-value.yaml#/async-api/endpoint/%2Finvalid/channel-bindings/bindings/amqp091-channel-010 Property: http://a.ml/vocabularies/apiBinding#is Range: [(17,12)-(17,19)] Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-is-value.yaml diff --git a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-channel-binding-name-max-length.report b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-channel-binding-name-max-length.report index 10183f5fb1..7986cccb17 100644 --- a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-channel-binding-name-max-length.report +++ b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-channel-binding-name-max-length.report @@ -5,18 +5,18 @@ Number of results: 2 Level: Violation -- Constraint: http://a.ml/vocabularies/amf/parser#Amqp091ChannelQueue-name-maxLength +- Constraint: http://a.ml/vocabularies/amf/parser#Amqp091ChannelQueue010-name-maxLength Message: Amqp channel binding name can't be longer than 255 characters Severity: Violation - Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-name-max-length.yaml#/async-api/endpoint/%2FinvalidName/channel-bindings/bindings/amqp091-channel/amqp091-queue + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-name-max-length.yaml#/async-api/endpoint/%2FinvalidName/channel-bindings/bindings/amqp091-channel-010/amqp091-queue-010 Property: http://a.ml/vocabularies/core#name Range: [(23,16)-(28,0)] Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-name-max-length.yaml -- Constraint: http://a.ml/vocabularies/amf/parser#Amqp091ChannelExchange-name-maxLength +- Constraint: http://a.ml/vocabularies/amf/parser#Amqp091ChannelExchange010-name-maxLength Message: Amqp channel binding name can't be longer than 255 characters Severity: Violation - Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-name-max-length.yaml#/async-api/endpoint/%2FanotherInvalidName/channel-bindings/bindings/amqp091-channel/amqp091-exchange + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-name-max-length.yaml#/async-api/endpoint/%2FanotherInvalidName/channel-bindings/bindings/amqp091-channel-010/amqp091-exchange-010 Property: http://a.ml/vocabularies/core#name Range: [(33,16)-(38,0)] Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-channel-binding-name-max-length.yaml diff --git a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-operation-binding-030.report b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-operation-binding-030.report new file mode 100644 index 0000000000..03032b2bdc --- /dev/null +++ b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-operation-binding-030.report @@ -0,0 +1,24 @@ +ModelId: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-030.yaml +Profile: +Conforms: false +Number of results: 2 + +Level: Violation + +- Constraint: http://a.ml/vocabularies/amf/parser#closed-shape + Message: Property 'replyTo' not supported in a ASYNC 2.0 amqpOperationBinding030 node + Severity: Violation + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-030.yaml#/async-api/endpoint/specific-version-channel/supportedOperation/subscribe/specific-version-operation/operation-bindings/bindings/amqp091-operation-030 + Property: + Range: [(28,10)-(28,87)] + Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-030.yaml + +Level: Warning + +- Constraint: http://a.ml/vocabularies/amf/parser#unsupported-binding-version-warning + Message: Version 1.2.3 is not supported in an Amqp091ChannelBinding + Severity: Warning + Target: null + Property: bindingVersion + Range: [(18,13)-(22,0)] + Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-030.yaml diff --git a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-operation-binding-deliveryMode.report b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-operation-binding-deliveryMode.report index effda17831..bb9e7f4eb7 100644 --- a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-operation-binding-deliveryMode.report +++ b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-operation-binding-deliveryMode.report @@ -5,10 +5,10 @@ Number of results: 1 Level: Violation -- Constraint: http://a.ml/vocabularies/amf/parser#Amqp091OperationBinding-deliveryMode-pattern +- Constraint: http://a.ml/vocabularies/amf/parser#Amqp091OperationBinding010-deliveryMode-pattern Message: 'deliveryMode' for amqp 0.9.1 operation binding object must be one of 1 or 2 Severity: Violation - Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-deliveryMode.yaml#/async-api/endpoint/%2Finvalid/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-deliveryMode.yaml#/async-api/endpoint/%2Finvalid/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010 Property: http://a.ml/vocabularies/apiBinding#deliveryMode Range: [(20,24)-(20,25)] Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-deliveryMode.yaml diff --git a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-operation-binding-expiration.report b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-operation-binding-expiration.report index aae5ba9565..bf8f8ddfd6 100644 --- a/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-operation-binding-expiration.report +++ b/amf-cli/shared/src/test/resources/validations/reports/async20/amqp-operation-binding-expiration.report @@ -5,10 +5,10 @@ Number of results: 1 Level: Violation -- Constraint: http://a.ml/vocabularies/amf/parser#Amqp091OperationBinding-expiration-pattern +- Constraint: http://a.ml/vocabularies/amf/parser#Amqp091OperationBinding010-expiration-pattern Message: 'expiration' for amqp 0.9.1 operation binding object must greather than or equal to 0 Severity: Violation - Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-expiration.yaml#/async-api/endpoint/%2Femployees/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation + Target: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-expiration.yaml#/async-api/endpoint/%2Femployees/supportedOperation/subscribe/operation-bindings/bindings/amqp091-operation-010 Property: http://a.ml/vocabularies/apiBinding#expiration Range: [(10,22)-(10,25)] Location: file://amf-cli/shared/src/test/resources/validations/async20/validations/amqp-operation-binding-expiration.yaml diff --git a/amf-cli/shared/src/test/scala/amf/emit/Async20CycleTest.scala b/amf-cli/shared/src/test/scala/amf/emit/Async20CycleTest.scala index 28b8d9b06a..77aefb4a7d 100644 --- a/amf-cli/shared/src/test/scala/amf/emit/Async20CycleTest.scala +++ b/amf-cli/shared/src/test/scala/amf/emit/Async20CycleTest.scala @@ -35,7 +35,16 @@ class Async20CycleTest extends FunSuiteCycleTests { "empty-binding-and-annotations.yaml", "empty-binding-and-annotations.%s" ), - FixtureData("Amqp 0.9.1 channel binding", "amqp-channel-binding.yaml", "amqp-channel-binding.%s"), + FixtureData( + "Amqp 0.9.1 channel binding version 0.1.0", + "amqp-channel-binding-010.yaml", + "amqp-channel-binding-010.%s" + ), + FixtureData( + "Amqp 0.9.1 channel binding version 0.2.0", + "amqp-channel-binding-020.yaml", + "amqp-channel-binding-020.%s" + ), FixtureData("Amqp 0.9.1 message binding", "amqp-message-binding.yaml", "amqp-message-binding.%s"), FixtureData("Amqp 0.9.1 operation binding", "amqp-operation-binding.yaml", "amqp-operation-binding.%s"), FixtureData("Http message binding", "http-message-binding.yaml", "http-message-binding.%s"), @@ -84,9 +93,14 @@ class Async20CycleTest extends FunSuiteCycleTests { "bindings/empty-binding-and-annotations.yaml" ), FixtureData( - "Amqp 0.9.1 channel binding", - "bindings/amqp-channel-binding.yaml", - "bindings/amqp-channel-binding.yaml" + "Amqp 0.9.1 channel binding version 0.1.0", + "bindings/amqp-channel-binding-010.yaml", + "bindings/amqp-channel-binding-010.yaml" + ), + FixtureData( + "Amqp 0.9.1 channel binding version 0.2.0", + "bindings/amqp-channel-binding-020.yaml", + "bindings/amqp-channel-binding-020.yaml" ), FixtureData( "Amqp 0.9.1 message binding", diff --git a/amf-cli/shared/src/test/scala/amf/validation/Async20UniquePlatformUnitValidationsTest.scala b/amf-cli/shared/src/test/scala/amf/validation/Async20UniquePlatformUnitValidationsTest.scala index 566a5bf7aa..a2fbb18308 100644 --- a/amf-cli/shared/src/test/scala/amf/validation/Async20UniquePlatformUnitValidationsTest.scala +++ b/amf-cli/shared/src/test/scala/amf/validation/Async20UniquePlatformUnitValidationsTest.scala @@ -419,4 +419,20 @@ class Async20UniquePlatformUnitValidationsTest extends UniquePlatformReportGenTe test("Async inter components references") { validate("message-references.yaml") } + + test("Async Amqp 0.1.0 Closed Shape validation") { + validate("amqp-binding-010.yaml", Some("amqp-binding-010.report")) + } + + test("Async Amqp 0.2.0 Closed Shape validation") { + validate("amqp-channel-binding-020-invalid.yaml", Some("amqp-binding-020-invalid.report")) + } + + test("Async Amqp wrong binding version") { + validate("amqp-binding-wrong-binding-version.yaml", Some("amqp-binding-wrong-binding-version.report")) + } + + test("Async Amqp operation binding version 0.3.0") { + validate("amqp-operation-binding-030.yaml", Some("amqp-operation-binding-030.report")) + } } diff --git a/amf-cli/shared/src/test/scala/amf/validation/ValidAsyncModelParserTest.scala b/amf-cli/shared/src/test/scala/amf/validation/ValidAsyncModelParserTest.scala index 941d20ffd4..1911cdbf80 100644 --- a/amf-cli/shared/src/test/scala/amf/validation/ValidAsyncModelParserTest.scala +++ b/amf-cli/shared/src/test/scala/amf/validation/ValidAsyncModelParserTest.scala @@ -27,7 +27,7 @@ class ValidAsyncModelParserTest extends ValidModelTest { } test("Amqp 0.9.1 channel binding") { - checkValid("amqp-channel-binding.yaml") + checkValid("amqp-channel-binding-020.yaml") } test("Amqp 0.9.1 message binding") { @@ -74,8 +74,12 @@ class ValidAsyncModelParserTest extends ValidModelTest { checkValid("rpc-server.yaml") } - test("Amqp channel binding") { - checkValid("amqp-channel-binding.yaml") + test("Amqp channel binding version 0.1.0") { + checkValid("amqp-channel-binding-010.yaml") + } + + test("Amqp channel binding version 0.2.0") { + checkValid("amqp-channel-binding-020.yaml") } test("References to message defined in components") { diff --git a/documentation/model.md b/documentation/model.md index e2c29d0b56..cc334adc64 100644 --- a/documentation/model.md +++ b/documentation/model.md @@ -10,10 +10,18 @@ AMF Model Documentation * [AbstractRequest](#abstractrequest) * [AbstractResponse](#abstractresponse) * [Amqp091ChannelBinding](#amqp091channelbinding) +* [Amqp091ChannelBinding010](#amqp091channelbinding010) +* [Amqp091ChannelBinding020](#amqp091channelbinding020) * [Amqp091ChannelExchange](#amqp091channelexchange) +* [Amqp091ChannelExchange010](#amqp091channelexchange010) +* [Amqp091ChannelExchange020](#amqp091channelexchange020) * [Amqp091MessageBinding](#amqp091messagebinding) * [Amqp091OperationBinding](#amqp091operationbinding) +* [Amqp091OperationBinding010](#amqp091operationbinding010) +* [Amqp091OperationBinding030](#amqp091operationbinding030) * [Amqp091Queue](#amqp091queue) +* [Amqp091Queue010](#amqp091queue010) +* [Amqp091Queue020](#amqp091queue020) * [AnnotationMapping](#annotationmapping) * [AnnotationTypeDeclarationFragment](#annotationtypedeclarationfragment) * [AnyMapping](#anymapping) @@ -307,10 +315,70 @@ Types: | type | string | - | Binding for a corresponding known type | `http://a.ml/vocabularies/apiBinding#type` | | extends | [[DomainElement](#domainelement)] | false | Entity that is going to be extended overlaying or adding additional information The type of the relationship provide the semantics about thow the referenced and referencer elements must be combined when generating the domain model from the document model. | `http://a.ml/vocabularies/document#extends` | +## Amqp091ChannelBinding010 + +Types: +* `http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding010` +* `http://a.ml/vocabularies/apiBinding#ChannelBinding` +* `http://a.ml/vocabularies/document#DomainElement` + + | Name | Value | Sorted | Documentation | Namespace | + | ------ | ------ | ------ | ------ | ------ | + | is | string | - | Defines what type of channel is it | `http://a.ml/vocabularies/apiBinding#is` | + | exchange | [Amqp091ChannelExchange010](#amqp091channelexchange010) | - | Defines the exchange properties | `http://a.ml/vocabularies/apiBinding#exchange` | + | queue | [Amqp091Queue010](#amqp091queue010) | - | Defines the queue properties | `http://a.ml/vocabularies/apiBinding#queue` | + | bindingVersion | string | - | The version of this binding | `http://a.ml/vocabularies/apiBinding#bindingVersion` | + | type | string | - | Binding for a corresponding known type | `http://a.ml/vocabularies/apiBinding#type` | + | extends | [[DomainElement](#domainelement)] | false | Entity that is going to be extended overlaying or adding additional information The type of the relationship provide the semantics about thow the referenced and referencer elements must be combined when generating the domain model from the document model. | `http://a.ml/vocabularies/document#extends` | + +## Amqp091ChannelBinding020 + +Types: +* `http://a.ml/vocabularies/apiBinding#Amqp091ChannelBinding020` +* `http://a.ml/vocabularies/apiBinding#ChannelBinding` +* `http://a.ml/vocabularies/document#DomainElement` + + | Name | Value | Sorted | Documentation | Namespace | + | ------ | ------ | ------ | ------ | ------ | + | is | string | - | Defines what type of channel is it | `http://a.ml/vocabularies/apiBinding#is` | + | exchange | [Amqp091ChannelExchange020](#amqp091channelexchange020) | - | Defines the exchange properties | `http://a.ml/vocabularies/apiBinding#exchange` | + | queue | [Amqp091Queue020](#amqp091queue020) | - | Defines the queue properties | `http://a.ml/vocabularies/apiBinding#queue` | + | bindingVersion | string | - | The version of this binding | `http://a.ml/vocabularies/apiBinding#bindingVersion` | + | type | string | - | Binding for a corresponding known type | `http://a.ml/vocabularies/apiBinding#type` | + | extends | [[DomainElement](#domainelement)] | false | Entity that is going to be extended overlaying or adding additional information The type of the relationship provide the semantics about thow the referenced and referencer elements must be combined when generating the domain model from the document model. | `http://a.ml/vocabularies/document#extends` | + ## Amqp091ChannelExchange Types: * `http://a.ml/vocabularies/apiBinding#Amqp091ChannelExchange` +* `http://a.ml/vocabularies/document#DomainElement` + + | Name | Value | Sorted | Documentation | Namespace | + | ------ | ------ | ------ | ------ | ------ | + | name | string | - | Name of the shape | `http://a.ml/vocabularies/core#name` | + | type | string | - | The type of the exchange | `http://a.ml/vocabularies/apiBinding#type` | + | durable | boolean | - | Whether the exchange should survive broker restarts or not | `http://a.ml/vocabularies/apiBinding#durable` | + | autoDelete | boolean | - | Whether the exchange should be deleted when the last queue is unbound from it | `http://a.ml/vocabularies/apiBinding#autoDelete` | + | extends | [[DomainElement](#domainelement)] | false | Entity that is going to be extended overlaying or adding additional information The type of the relationship provide the semantics about thow the referenced and referencer elements must be combined when generating the domain model from the document model. | `http://a.ml/vocabularies/document#extends` | + +## Amqp091ChannelExchange010 + +Types: +* `http://a.ml/vocabularies/apiBinding#Amqp091ChannelExchange010` +* `http://a.ml/vocabularies/document#DomainElement` + + | Name | Value | Sorted | Documentation | Namespace | + | ------ | ------ | ------ | ------ | ------ | + | name | string | - | Name of the shape | `http://a.ml/vocabularies/core#name` | + | type | string | - | The type of the exchange | `http://a.ml/vocabularies/apiBinding#type` | + | durable | boolean | - | Whether the exchange should survive broker restarts or not | `http://a.ml/vocabularies/apiBinding#durable` | + | autoDelete | boolean | - | Whether the exchange should be deleted when the last queue is unbound from it | `http://a.ml/vocabularies/apiBinding#autoDelete` | + | extends | [[DomainElement](#domainelement)] | false | Entity that is going to be extended overlaying or adding additional information The type of the relationship provide the semantics about thow the referenced and referencer elements must be combined when generating the domain model from the document model. | `http://a.ml/vocabularies/document#extends` | + +## Amqp091ChannelExchange020 + +Types: +* `http://a.ml/vocabularies/apiBinding#Amqp091ChannelExchange020` * `http://a.ml/vocabularies/document#DomainElement` | Name | Value | Sorted | Documentation | Namespace | @@ -342,6 +410,28 @@ Types: Types: * `http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding` * `http://a.ml/vocabularies/apiBinding#OperationBinding` +* `http://a.ml/vocabularies/document#DomainElement` + + | Name | Value | Sorted | Documentation | Namespace | + | ------ | ------ | ------ | ------ | ------ | + | expiration | int | - | TTL (Time-To-Live) for the message | `http://a.ml/vocabularies/apiBinding#expiration` | + | userId | string | - | Identifies the user who has sent the message | `http://a.ml/vocabularies/apiBinding#userId` | + | cc | [string] | false | The routing keys the message should be routed to at the time of publishing | `http://a.ml/vocabularies/apiBinding#cc` | + | priority | int | - | A priority for the message | `http://a.ml/vocabularies/apiBinding#priority` | + | deliveryMode | int | - | Delivery mode of the message | `http://a.ml/vocabularies/apiBinding#deliveryMode` | + | mandatory | boolean | - | Whether the message is mandatory or not | `http://a.ml/vocabularies/apiBinding#mandatory` | + | bcc | [string] | false | Like cc but consumers will not receive this information | `http://a.ml/vocabularies/apiBinding#bcc` | + | timestamp | boolean | - | Whether the message should include a timestamp or not | `http://a.ml/vocabularies/apiBinding#timestamp` | + | ack | boolean | - | Whether the consumer should ack the message or not | `http://a.ml/vocabularies/apiBinding#ack` | + | bindingVersion | string | - | The version of this binding | `http://a.ml/vocabularies/apiBinding#bindingVersion` | + | type | string | - | Binding for a corresponding known type | `http://a.ml/vocabularies/apiBinding#type` | + | extends | [[DomainElement](#domainelement)] | false | Entity that is going to be extended overlaying or adding additional information The type of the relationship provide the semantics about thow the referenced and referencer elements must be combined when generating the domain model from the document model. | `http://a.ml/vocabularies/document#extends` | + +## Amqp091OperationBinding010 + +Types: +* `http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding010` +* `http://a.ml/vocabularies/apiBinding#OperationBinding` * `http://a.ml/vocabularies/document#DomainElement` | Name | Value | Sorted | Documentation | Namespace | @@ -360,10 +450,60 @@ Types: | type | string | - | Binding for a corresponding known type | `http://a.ml/vocabularies/apiBinding#type` | | extends | [[DomainElement](#domainelement)] | false | Entity that is going to be extended overlaying or adding additional information The type of the relationship provide the semantics about thow the referenced and referencer elements must be combined when generating the domain model from the document model. | `http://a.ml/vocabularies/document#extends` | +## Amqp091OperationBinding030 + +Types: +* `http://a.ml/vocabularies/apiBinding#Amqp091OperationBinding030` +* `http://a.ml/vocabularies/apiBinding#OperationBinding` +* `http://a.ml/vocabularies/document#DomainElement` + + | Name | Value | Sorted | Documentation | Namespace | + | ------ | ------ | ------ | ------ | ------ | + | expiration | int | - | TTL (Time-To-Live) for the message | `http://a.ml/vocabularies/apiBinding#expiration` | + | userId | string | - | Identifies the user who has sent the message | `http://a.ml/vocabularies/apiBinding#userId` | + | cc | [string] | false | The routing keys the message should be routed to at the time of publishing | `http://a.ml/vocabularies/apiBinding#cc` | + | priority | int | - | A priority for the message | `http://a.ml/vocabularies/apiBinding#priority` | + | deliveryMode | int | - | Delivery mode of the message | `http://a.ml/vocabularies/apiBinding#deliveryMode` | + | mandatory | boolean | - | Whether the message is mandatory or not | `http://a.ml/vocabularies/apiBinding#mandatory` | + | bcc | [string] | false | Like cc but consumers will not receive this information | `http://a.ml/vocabularies/apiBinding#bcc` | + | timestamp | boolean | - | Whether the message should include a timestamp or not | `http://a.ml/vocabularies/apiBinding#timestamp` | + | ack | boolean | - | Whether the consumer should ack the message or not | `http://a.ml/vocabularies/apiBinding#ack` | + | bindingVersion | string | - | The version of this binding | `http://a.ml/vocabularies/apiBinding#bindingVersion` | + | type | string | - | Binding for a corresponding known type | `http://a.ml/vocabularies/apiBinding#type` | + | extends | [[DomainElement](#domainelement)] | false | Entity that is going to be extended overlaying or adding additional information The type of the relationship provide the semantics about thow the referenced and referencer elements must be combined when generating the domain model from the document model. | `http://a.ml/vocabularies/document#extends` | + ## Amqp091Queue Types: * `http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue` +* `http://a.ml/vocabularies/document#DomainElement` + + | Name | Value | Sorted | Documentation | Namespace | + | ------ | ------ | ------ | ------ | ------ | + | name | string | - | Name of the shape | `http://a.ml/vocabularies/core#name` | + | durable | boolean | - | Whether the exchange should survive broker restarts or not | `http://a.ml/vocabularies/apiBinding#durable` | + | exclusive | boolean | - | Whether the queue should be used only by one connection or not | `http://a.ml/vocabularies/apiBinding#exclusive` | + | autoDelete | boolean | - | Whether the exchange should be deleted when the last queue is unbound from it | `http://a.ml/vocabularies/apiBinding#autoDelete` | + | extends | [[DomainElement](#domainelement)] | false | Entity that is going to be extended overlaying or adding additional information The type of the relationship provide the semantics about thow the referenced and referencer elements must be combined when generating the domain model from the document model. | `http://a.ml/vocabularies/document#extends` | + +## Amqp091Queue010 + +Types: +* `http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue010` +* `http://a.ml/vocabularies/document#DomainElement` + + | Name | Value | Sorted | Documentation | Namespace | + | ------ | ------ | ------ | ------ | ------ | + | name | string | - | Name of the shape | `http://a.ml/vocabularies/core#name` | + | durable | boolean | - | Whether the exchange should survive broker restarts or not | `http://a.ml/vocabularies/apiBinding#durable` | + | exclusive | boolean | - | Whether the queue should be used only by one connection or not | `http://a.ml/vocabularies/apiBinding#exclusive` | + | autoDelete | boolean | - | Whether the exchange should be deleted when the last queue is unbound from it | `http://a.ml/vocabularies/apiBinding#autoDelete` | + | extends | [[DomainElement](#domainelement)] | false | Entity that is going to be extended overlaying or adding additional information The type of the relationship provide the semantics about thow the referenced and referencer elements must be combined when generating the domain model from the document model. | `http://a.ml/vocabularies/document#extends` | + +## Amqp091Queue020 + +Types: +* `http://a.ml/vocabularies/apiBinding#Amqp091ChannelQueue020` * `http://a.ml/vocabularies/document#DomainElement` | Name | Value | Sorted | Documentation | Namespace |