Skip to content

Commit

Permalink
Added withHeader(s) withProperty(-ies) and withoutDestination methods…
Browse files Browse the repository at this point in the history
… to the JmsMessage trait.
  • Loading branch information
WellingR committed Jul 27, 2019
1 parent 3ae32b8 commit e949a62
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 1 deletion.
6 changes: 6 additions & 0 deletions jms/src/main/mima-filters/1.1.0.backwards.excludes
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# PR #1830
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.alpakka.jms.JmsMessage.withProperty")
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.alpakka.jms.JmsMessage.withHeaders")
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.alpakka.jms.JmsMessage.withProperties")
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.alpakka.jms.JmsMessage.withHeader")
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.alpakka.jms.JmsMessage.withoutDestination")
38 changes: 37 additions & 1 deletion jms/src/main/scala/akka/stream/alpakka/jms/JmsMessages.scala
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,18 @@ object JmsPassThrough {
/**
* Marker trait for stream elements that do not contain pass-through data.
*/
sealed trait JmsMessage extends JmsEnvelope[NotUsed]
sealed trait JmsMessage extends JmsEnvelope[NotUsed] {

def withHeader(jmsHeader: JmsHeader): JmsMessage

def withHeaders(newHeaders: Set[JmsHeader]): JmsMessage

def withProperty(name: String, value: Any): JmsMessage

def withProperties(props: Map[String, Any]): JmsMessage

def withoutDestination: JmsMessage
}

object JmsMessage {

Expand Down Expand Up @@ -197,12 +208,17 @@ final class JmsByteMessage private (bytes: Array[Byte],
*/
override def withHeader(jmsHeader: JmsHeader): JmsByteMessage = copy(headers = headers + jmsHeader)

override def withHeaders(newHeaders: Set[JmsHeader]): JmsByteMessage = copy(headers = headers ++ newHeaders)

/**
* Add a property
*/
override def withProperty(name: String, value: Any): JmsByteMessage =
copy(properties = properties + (name -> value))

override def withProperties(props: Map[String, Any]): JmsByteMessage =
copy(properties = properties ++ props)

override def toQueue(name: String): JmsByteMessage = to(Queue(name))

override def toTopic(name: String): JmsByteMessage = to(Topic(name))
Expand Down Expand Up @@ -355,12 +371,17 @@ final class JmsByteStringMessage private (bytes: ByteString,
*/
override def withHeader(jmsHeader: JmsHeader): JmsByteStringMessage = copy(headers = headers + jmsHeader)

override def withHeaders(newHeaders: Set[JmsHeader]): JmsByteStringMessage = copy(headers = headers ++ newHeaders)

/**
* Add a property
*/
override def withProperty(name: String, value: Any): JmsByteStringMessage =
copy(properties = properties + (name -> value))

override def withProperties(props: Map[String, Any]): JmsByteStringMessage =
copy(properties = properties ++ props)

override def toQueue(name: String): JmsByteStringMessage = to(Queue(name))

override def toTopic(name: String): JmsByteStringMessage = to(Topic(name))
Expand Down Expand Up @@ -517,12 +538,17 @@ final class JmsMapMessage(body: Map[String, Any],
*/
override def withHeader(jmsHeader: JmsHeader): JmsMapMessage = copy(headers = headers + jmsHeader)

override def withHeaders(newHeaders: Set[JmsHeader]): JmsMapMessage = copy(headers = headers ++ newHeaders)

/**
* Add a property
*/
override def withProperty(name: String, value: Any): JmsMapMessage =
copy(properties = properties + (name -> value))

override def withProperties(props: Map[String, Any]): JmsMapMessage =
copy(properties = properties ++ props)

override def toQueue(name: String): JmsMapMessage = to(Queue(name))

override def toTopic(name: String): JmsMapMessage = to(Topic(name))
Expand Down Expand Up @@ -675,11 +701,16 @@ final class JmsTextMessage private (body: String,
*/
override def withHeader(jmsHeader: JmsHeader): JmsTextMessage = copy(headers = headers + jmsHeader)

override def withHeaders(newHeaders: Set[JmsHeader]): JmsTextMessage = copy(headers = headers ++ newHeaders)

/**
* Add a property
*/
override def withProperty(name: String, value: Any): JmsTextMessage = copy(properties = properties + (name -> value))

override def withProperties(props: Map[String, Any]): JmsTextMessage =
copy(properties = properties ++ props)

override def toQueue(name: String): JmsTextMessage = to(Queue(name))

override def toTopic(name: String): JmsTextMessage = to(Topic(name))
Expand Down Expand Up @@ -830,12 +861,17 @@ final class JmsObjectMessage private (serializable: java.io.Serializable,
*/
override def withHeader(jmsHeader: JmsHeader): JmsObjectMessage = copy(headers = headers + jmsHeader)

override def withHeaders(newHeaders: Set[JmsHeader]): JmsObjectMessage = copy(headers = headers ++ newHeaders)

/**
* Add a property
*/
override def withProperty(name: String, value: Any): JmsObjectMessage =
copy(properties = properties + (name -> value))

override def withProperties(props: Map[String, Any]): JmsObjectMessage =
copy(properties = properties ++ props)

override def toQueue(name: String): JmsObjectMessage = to(Queue(name))

override def toTopic(name: String): JmsObjectMessage = to(Topic(name))
Expand Down

0 comments on commit e949a62

Please sign in to comment.