Skip to content
This repository was archived by the owner on Aug 18, 2020. It is now read-only.

Commit 70956ce

Browse files
authored
Merge pull request #90 from daniel0611/fix/89-handler-called-twice
Pass functions to register method from inputs instead of methods
2 parents 4de98d7 + 3039885 commit 70956ce

File tree

3 files changed

+22
-13
lines changed

3 files changed

+22
-13
lines changed

src/main/scala/org/codeoverflow/chatoverflow/requirement/service/serial/impl/SerialInputImpl.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ import org.codeoverflow.chatoverflow.requirement.service.serial.SerialConnector
1212
@Impl(impl = classOf[SerialInput], connector = classOf[SerialConnector])
1313
class SerialInputImpl extends EventInputImpl[SerialEvent, SerialConnector] with SerialInput with WithLogger {
1414

15+
private val onInputFn = onInput _
16+
1517
override def start(): Boolean = {
16-
sourceConnector.get.addInputListener(onInput)
18+
sourceConnector.get.addInputListener(onInputFn)
1719
true
1820
}
1921

@@ -27,7 +29,7 @@ class SerialInputImpl extends EventInputImpl[SerialEvent, SerialConnector] with
2729
* @return true if stopping was successful
2830
*/
2931
override def stop(): Boolean = {
30-
sourceConnector.get.removeInputListener(onInput)
32+
sourceConnector.get.removeInputListener(onInputFn)
3133
true
3234
}
3335
}

src/main/scala/org/codeoverflow/chatoverflow/requirement/service/tipeeestream/impl/TipeestreamEventInputImpl.scala

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,14 @@ class TipeestreamEventInputImpl extends EventInputImpl[TipeeestreamEvent, Tipeee
1919
private val DATE_FORMATTER = new DateTimeFormatterBuilder()
2020
.parseCaseInsensitive().append(DateTimeFormatter.ISO_LOCAL_DATE_TIME).appendOffset("+HHMM", "Z").toFormatter
2121

22+
private val onFollowFn = onFollow _
23+
private val onSubscriptionFn = onSubscription _
24+
private val onDonationFn = onDonation _
25+
2226
override def start(): Boolean = {
23-
sourceConnector.get.addFollowEventListener(onFollow)
24-
sourceConnector.get.addSubscriptionEventListener(onSubscription)
25-
sourceConnector.get.addDonationEventListener(onDonation)
27+
sourceConnector.get.addFollowEventListener(onFollowFn)
28+
sourceConnector.get.addSubscriptionEventListener(onSubscriptionFn)
29+
sourceConnector.get.addDonationEventListener(onDonationFn)
2630
true
2731
}
2832

@@ -84,9 +88,9 @@ class TipeestreamEventInputImpl extends EventInputImpl[TipeeestreamEvent, Tipeee
8488
}
8589

8690
override def stop(): Boolean = {
87-
sourceConnector.get.removeFollowEventListener(onFollow)
88-
sourceConnector.get.removeSubscriptionEventListener(onSubscription)
89-
sourceConnector.get.removeDonationEventListener(onDonation)
91+
sourceConnector.get.removeFollowEventListener(onFollowFn)
92+
sourceConnector.get.removeSubscriptionEventListener(onSubscriptionFn)
93+
sourceConnector.get.removeDonationEventListener(onDonationFn)
9094
true
9195
}
9296
}

src/main/scala/org/codeoverflow/chatoverflow/requirement/service/twitch/chat/impl/TwitchChatInputImpl.scala

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import org.codeoverflow.chatoverflow.api.io.dto.chat.{ChatEmoticon, TextChannel}
99
import org.codeoverflow.chatoverflow.api.io.event.chat.twitch.{TwitchChatMessageReceiveEvent, TwitchEvent, TwitchPrivateChatMessageReceiveEvent}
1010
import org.codeoverflow.chatoverflow.api.io.input.chat._
1111
import org.codeoverflow.chatoverflow.registry.Impl
12-
import org.codeoverflow.chatoverflow.requirement.impl.{EventInputImpl, InputImpl}
12+
import org.codeoverflow.chatoverflow.requirement.impl.EventInputImpl
1313
import org.codeoverflow.chatoverflow.requirement.service.twitch.chat
1414
import org.codeoverflow.chatoverflow.requirement.service.twitch.chat.TwitchChatConnector
1515
import org.pircbotx.hooks.events.{MessageEvent, UnknownEvent}
@@ -31,9 +31,12 @@ class TwitchChatInputImpl extends EventInputImpl[TwitchEvent, chat.TwitchChatCon
3131

3232
private var currentChannel: Option[String] = None
3333

34+
private val onMessageFn = onMessage _
35+
private val onUnknownFn = onUnknown _
36+
3437
override def start(): Boolean = {
35-
sourceConnector.get.addMessageEventListener(onMessage)
36-
sourceConnector.get.addUnknownEventListener(onUnknown)
38+
sourceConnector.get.addMessageEventListener(onMessageFn)
39+
sourceConnector.get.addUnknownEventListener(onUnknownFn)
3740
true
3841
}
3942

@@ -105,8 +108,8 @@ class TwitchChatInputImpl extends EventInputImpl[TwitchEvent, chat.TwitchChatCon
105108
* @return true if stopping was successful
106109
*/
107110
override def stop(): Boolean = {
108-
sourceConnector.get.removeMessageEventListener(onMessage)
109-
sourceConnector.get.removeUnknownEventListener(onUnknown)
111+
sourceConnector.get.removeMessageEventListener(onMessageFn)
112+
sourceConnector.get.removeUnknownEventListener(onUnknownFn)
110113
true
111114
}
112115
}

0 commit comments

Comments
 (0)