Skip to content

Commit efa5f6e

Browse files
Merge pull request #31 from kenta-shimizu/v6
v6 SecsMessageSendable BugFix.
2 parents 472bd42 + f1be29e commit efa5f6e

32 files changed

+130
-131
lines changed

src/main/java/com/shimizukenta/secs/SecsCommunicatableStateChangeBiListener.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@
55
/**
66
* SECS-Communicate-State Change Listener.
77
*
8-
* <p>
9-
* This interface is called in {@link SecsCommunicator#addSecsCommunicatableStateChangeBiListener(SecsCommunicatableStateChangeBiListener)}<br />
10-
* </p>
11-
*
128
* @author kenta-shimizu
139
*
1410
*/
@@ -23,8 +19,8 @@ public interface SecsCommunicatableStateChangeBiListener extends EventListener {
2319
* </p>
2420
*
2521
* @param communicatable true if state is communicatable
26-
* @param communicator the SecsCommunicator
22+
* @param communicator the GemAccessor
2723
*/
28-
public void changed(boolean communicatable, SecsCommunicator communicator);
24+
public void changed(boolean communicatable, GemAccessor communicator);
2925

3026
}

src/main/java/com/shimizukenta/secs/SecsCommunicatableStateChangeListener.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@
55
/**
66
* SECS-Communicate-State Change Listener.
77
*
8-
* <p>
9-
* This interface is called in {@link SecsCommunicator#addSecsCommunicatableStateChangeListener(SecsCommunicatableStateChangeListener)}<br />
10-
* </p>
11-
*
128
* @author kenta-shimizu
139
*
1410
*/

src/main/java/com/shimizukenta/secs/SecsCommunicator.java

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
* @author kenta-shimizu
4848
*
4949
*/
50-
public interface SecsCommunicator extends OpenAndCloseable, GemAccessor, SecsMessageListenable, SecsCommunicateStateDetectable {
50+
public interface SecsCommunicator extends OpenAndCloseable, GemAccessor, SecsMessageObservable, SecsCommunicateStateDetectable {
5151

5252
/**
5353
* Open and wait until communicatable.
@@ -81,30 +81,6 @@ public interface SecsCommunicator extends OpenAndCloseable, GemAccessor, SecsMes
8181
public void openAndWaitUntilCommunicatable(long timeout, TimeUnit unit) throws IOException, InterruptedException, TimeoutException;
8282

8383

84-
/* Secs-Message Receive Listener */
85-
86-
/**
87-
* Add Listener to receive Primary-Message.
88-
*
89-
* <p>
90-
* This Listener not receive Reply-Message.<br />
91-
* </p>
92-
*
93-
* @param listener Not accept {@code null}
94-
* @return {@code true} if add success
95-
*/
96-
public boolean addSecsMessageReceiveListener(SecsMessageReceiveListener listener);
97-
98-
/**
99-
* Remove Listener.
100-
*
101-
* @param listener Not accept {@code null}
102-
* @return {@code true} if remove success
103-
*/
104-
public boolean removeSecsMessageReceiveListener(SecsMessageReceiveListener listener);
105-
106-
107-
10884
/* Secs-Log Receive Listener */
10985

11086
/**

src/main/java/com/shimizukenta/secs/SecsMessageListenable.java renamed to src/main/java/com/shimizukenta/secs/SecsMessageObservable.java

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,32 @@
11
package com.shimizukenta.secs;
22

33
/**
4-
* SecsMessage Listenable.
4+
* SecsMessage Observer methods.
55
*
66
* @author kenta-shimizu
77
*
88
*/
9-
public interface SecsMessageListenable {
9+
public interface SecsMessageObservable {
10+
11+
/**
12+
* Add Listener to receive Primary-Message.
13+
*
14+
* <p>
15+
* This Listener not receive Reply-Message.<br />
16+
* </p>
17+
*
18+
* @param listener Not accept {@code null}
19+
* @return {@code true} if add success
20+
*/
21+
public boolean addSecsMessageReceiveListener(SecsMessageReceiveListener listener);
22+
23+
/**
24+
* Remove Listener.
25+
*
26+
* @param listener Not accept {@code null}
27+
* @return {@code true} if remove success
28+
*/
29+
public boolean removeSecsMessageReceiveListener(SecsMessageReceiveListener listener);
1030

1131
/**
1232
* Add Listener to receive Primary-Message.
@@ -29,9 +49,6 @@ public interface SecsMessageListenable {
2949
public boolean removeSecsMessageReceiveBiListener(SecsMessageReceiveBiListener biListener);
3050

3151

32-
33-
/* Try-Send Secs-Message Pass-through Listener */
34-
3552
/**
3653
* Add Listener to get SecsMesssage before sending.
3754
*
@@ -63,9 +80,7 @@ public interface SecsMessageListenable {
6380
* @return {@code true} if remove success
6481
*/
6582
public boolean removeTrySendSecsMessagePassThroughBiListener(SecsMessagePassThroughBiListener biListener);
66-
6783

68-
/* Sended Secs-Message Pass-through Listener */
6984

7085
/**
7186
* Add Listener to get sended SecsMesssage.
@@ -98,9 +113,7 @@ public interface SecsMessageListenable {
98113
* @return {@code true} if remove success
99114
*/
100115
public boolean removeSendedSecsMessagePassThroughBiListener(SecsMessagePassThroughBiListener biListener);
101-
102116

103-
/* Receive Secs-Message Pass-through Listener */
104117

105118
/**
106119
* Add Listener to receive both Primary and Reply Message.

src/main/java/com/shimizukenta/secs/SecsMessagePassThroughBiListener.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ public interface SecsMessagePassThroughBiListener extends EventListener {
1414
* Pass-through SECS-Message and SecsCommunicator Listener.
1515
*
1616
* @param message the SecsMessage
17-
* @param communicator the SecsCommunicator
17+
* @param communicator the GemAccessor
1818
*/
19-
public void passThrough(SecsMessage message, SecsCommunicator communicator);
19+
public void passThrough(SecsMessage message, GemAccessor communicator);
2020

2121
}

src/main/java/com/shimizukenta/secs/SecsMessageReceiveBiListener.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
* SecsMessage receive Listener.
77
*
88
* <p>
9-
* This interface is used in {@link SecsCommunicator#addSecsMessageReceiveBiListener(SecsMessageReceiveBiListener)}<br />
109
* Receive-Message is only Primary-SecsMessage.<br />
1110
* </p>
1211
*
@@ -15,11 +14,11 @@
1514
public interface SecsMessageReceiveBiListener extends EventListener {
1615

1716
/**
18-
* Putter Received Primary-SecsMessage and SecsCommunicator.
17+
* Putter Received Primary-SecsMessage and GemAccessor.
1918
*
2019
* @param message only Primary-SecsMessage
21-
* @param communicator the SecsCommunicator
20+
* @param communicator the GemAccessor
2221
*/
23-
public void received(SecsMessage message, SecsCommunicator communicator);
22+
public void received(SecsMessage message, GemAccessor communicator);
2423

2524
}

src/main/java/com/shimizukenta/secs/SecsMessageReceiveListener.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
* SecsMessage receive Listener.
77
*
88
* <p>
9-
* This interface is used in {@link SecsCommunicator#addSecsMessageReceiveListener(SecsMessageReceiveListener)}<br />
109
* Receive-Message is only Primary-SecsMessage.<br />
1110
* </p>
1211
*

src/main/java/com/shimizukenta/secs/SecsMessageSendable.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ default public Optional<SecsMessage> send(SmlMessage sml)
151151
SecsException,
152152
InterruptedException {
153153

154-
return this.send(sml.getStream(), sml.getFunction(), sml.wbit(), Secs2.empty());
154+
return this.send(sml.getStream(), sml.getFunction(), sml.wbit(), sml.secs2());
155155
}
156156

157157
/**
@@ -176,7 +176,7 @@ default public Optional<SecsMessage> send(SecsMessage primaryMsg, SmlMessage sml
176176
SecsException,
177177
InterruptedException {
178178

179-
return this.send(primaryMsg, sml.getStream(), sml.getFunction(), sml.wbit(), Secs2.empty());
179+
return this.send(primaryMsg, sml.getStream(), sml.getFunction(), sml.wbit(), sml.secs2());
180180
}
181181

182182
}

src/main/java/com/shimizukenta/secs/hsms/impl/AbstractHsmsSession.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ public abstract class AbstractHsmsSession extends AbstractHsmsCommunicator imple
3737
public AbstractHsmsSession(AbstractHsmsCommunicatorConfig config) {
3838
super(config);
3939

40-
this.hsmsSessionMsgRecvQueueBiObserver = new HsmsSessionMessageReceiveQueueBiObserver(this);
40+
this.hsmsSessionMsgRecvQueueBiObserver = new HsmsSessionMessageReceiveQueueBiObserver(this.executorService(), this);
4141
this.hsmsStatePropBiObserver = new HsmsSessionCommunicateStatePropertyBiObserver(this, this.getHsmsCommunicateState());
4242

43-
this.trySendHsmsMsgPassThroughQueueBiObserver = new HsmsSessionMessagePassThroughQueueBiObserver(this);
44-
this.sendedHsmsMsgPassThroughQueueBiObserver = new HsmsSessionMessagePassThroughQueueBiObserver(this);
45-
this.recvHsmsMsgPassThroughQueueBiObserver = new HsmsSessionMessagePassThroughQueueBiObserver(this);
43+
this.trySendHsmsMsgPassThroughQueueBiObserver = new HsmsSessionMessagePassThroughQueueBiObserver(this.executorService(), this);
44+
this.sendedHsmsMsgPassThroughQueueBiObserver = new HsmsSessionMessagePassThroughQueueBiObserver(this.executorService(), this);
45+
this.recvHsmsMsgPassThroughQueueBiObserver = new HsmsSessionMessagePassThroughQueueBiObserver(this.executorService(), this);
4646
}
4747

4848
private final ObjectProperty<AbstractHsmsAsyncSocketChannel> channel = ObjectProperty.newInstance(null);

src/main/java/com/shimizukenta/secs/hsms/impl/HsmsMessagePassThroughQueueObserver.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
package com.shimizukenta.secs.hsms.impl;
22

3+
import java.util.concurrent.Executor;
4+
35
import com.shimizukenta.secs.hsms.HsmsMessage;
46
import com.shimizukenta.secs.hsms.HsmsMessagePassThroughListener;
5-
import com.shimizukenta.secs.impl.AbstractBaseCommunicator;
67
import com.shimizukenta.secs.impl.AbstractQueueObserver;
78

89
public class HsmsMessagePassThroughQueueObserver extends AbstractQueueObserver<HsmsMessagePassThroughListener, HsmsMessage> {
910

10-
public HsmsMessagePassThroughQueueObserver(AbstractBaseCommunicator comm) {
11-
super(comm);
11+
public HsmsMessagePassThroughQueueObserver(Executor executor) {
12+
super(executor);
1213
}
1314

1415
@Override

src/main/java/com/shimizukenta/secs/hsms/impl/HsmsSessionMessagePassThroughQueueBiObserver.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
package com.shimizukenta.secs.hsms.impl;
22

3+
import java.util.concurrent.Executor;
4+
35
import com.shimizukenta.secs.hsms.HsmsMessage;
46
import com.shimizukenta.secs.hsms.HsmsMessagePassThroughListener;
57
import com.shimizukenta.secs.hsms.HsmsSessionMessagePassThroughBiListener;
68
import com.shimizukenta.secs.impl.AbstractQueueBiObserver;
79

810
public class HsmsSessionMessagePassThroughQueueBiObserver extends AbstractQueueBiObserver<AbstractHsmsSession, HsmsMessagePassThroughListener, HsmsSessionMessagePassThroughBiListener, HsmsMessage> {
911

10-
public HsmsSessionMessagePassThroughQueueBiObserver(AbstractHsmsSession comm) {
11-
super(comm);
12+
public HsmsSessionMessagePassThroughQueueBiObserver(Executor executor, AbstractHsmsSession comm) {
13+
super(executor, comm);
1214
}
1315

1416
@Override

src/main/java/com/shimizukenta/secs/hsms/impl/HsmsSessionMessageReceiveQueueBiObserver.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
package com.shimizukenta.secs.hsms.impl;
22

3+
import java.util.concurrent.Executor;
4+
35
import com.shimizukenta.secs.hsms.HsmsMessage;
46
import com.shimizukenta.secs.hsms.HsmsMessageReceiveListener;
57
import com.shimizukenta.secs.hsms.HsmsSessionMessageReceiveBiListener;
68
import com.shimizukenta.secs.impl.AbstractQueueBiObserver;
79

810
public class HsmsSessionMessageReceiveQueueBiObserver extends AbstractQueueBiObserver<AbstractHsmsSession, HsmsMessageReceiveListener, HsmsSessionMessageReceiveBiListener, HsmsMessage> {
911

10-
public HsmsSessionMessageReceiveQueueBiObserver(AbstractHsmsSession comm) {
11-
super(comm);
12+
public HsmsSessionMessageReceiveQueueBiObserver(Executor executor, AbstractHsmsSession comm) {
13+
super(executor, comm);
1214
}
1315

1416
@Override

src/main/java/com/shimizukenta/secs/hsmsgs/impl/AbstractHsmsGsCommunicator.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,15 @@ public AbstractHsmsGsCommunicator(HsmsGsCommunicatorConfig config) {
8080
this.secsCommStatableObserver = new HsmsGsSecsCommunicatableBiObserver();
8181
this.hsmsCommStateObserver = new HsmsGsHsmsCommunicateStateBiObserver();
8282

83-
this.trySendHsmsMsgPassThroughQueueObserver = new HsmsMessagePassThroughQueueObserver(this);
84-
this.sendedHsmsMsgPassThroughQueueObserver = new HsmsMessagePassThroughQueueObserver(this);
85-
this.recvHsmsMsgPassThroughQueueObserver = new HsmsMessagePassThroughQueueObserver(this);
83+
this.trySendHsmsMsgPassThroughQueueObserver = new HsmsMessagePassThroughQueueObserver(this.executorService());
84+
this.sendedHsmsMsgPassThroughQueueObserver = new HsmsMessagePassThroughQueueObserver(this.executorService());
85+
this.recvHsmsMsgPassThroughQueueObserver = new HsmsMessagePassThroughQueueObserver(this.executorService());
8686

8787
this.trySendHsmsMsgPassThroughBiObserver = new HsmsGsMessagePassThroughBiObserver();
8888
this.sendedHsmsMsgPassThroughBiObserver = new HsmsGsMessagePassThroughBiObserver();
8989
this.recvHsmsMsgPassThroughBiObserver = new HsmsGsMessagePassThroughBiObserver();
9090

91-
this.logQueueObserver = new SecsLogQueueObserver(this);
91+
this.logQueueObserver = new SecsLogQueueObserver(this.executorService());
9292

9393
for (HsmsSession s : this.sessions) {
9494

src/main/java/com/shimizukenta/secs/hsmsgs/impl/HsmsGsSecsCommunicatableBiObserver.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import java.util.Collection;
44
import java.util.concurrent.CopyOnWriteArrayList;
55

6+
import com.shimizukenta.secs.GemAccessor;
67
import com.shimizukenta.secs.SecsCommunicatableStateChangeBiListener;
7-
import com.shimizukenta.secs.SecsCommunicator;
88

99
public class HsmsGsSecsCommunicatableBiObserver implements SecsCommunicatableStateChangeBiListener {
1010

@@ -39,7 +39,7 @@ public boolean removeListener(SecsCommunicatableStateChangeBiListener biListener
3939
}
4040

4141
@Override
42-
public void changed(boolean communicatable, SecsCommunicator communicator) {
42+
public void changed(boolean communicatable, GemAccessor communicator) {
4343

4444
for ( SecsCommunicatableStateChangeBiListener l : this.biListener ) {
4545
l.changed(communicatable, communicator);

src/main/java/com/shimizukenta/secs/hsmsss/impl/AbstractHsmsSsCommunicator.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,12 @@ public AbstractHsmsSsCommunicator(HsmsSsCommunicatorConfig config) {
5353

5454
this.session = new AbstractHsmsSsSession(config) {};
5555

56-
this.hsmsSsMsgRecvQueueBiObserver = new HsmsSsMessageReceiveQueueBiObserver(this);
56+
this.hsmsSsMsgRecvQueueBiObserver = new HsmsSsMessageReceiveQueueBiObserver(this.executorService(), this);
5757
this.hsmsStatePropBiObserver = new HsmsSsCommunicateStatePropertyBiObserver(this, this.getHsmsCommunicateState());
5858

59-
this.trySendHsmsSsMsgPassThroughQueueBiObserver = new HsmsSsMessagePassThroughQueueBiObserver(this);
60-
this.sendedHsmsSsMsgPassThroughQueueBiObserver = new HsmsSsMessagePassThroughQueueBiObserver(this);
61-
this.recvHsmsSsMsgPassThroughQueueBiObserver = new HsmsSsMessagePassThroughQueueBiObserver(this);
59+
this.trySendHsmsSsMsgPassThroughQueueBiObserver = new HsmsSsMessagePassThroughQueueBiObserver(this.executorService(), this);
60+
this.sendedHsmsSsMsgPassThroughQueueBiObserver = new HsmsSsMessagePassThroughQueueBiObserver(this.executorService(), this);
61+
this.recvHsmsSsMsgPassThroughQueueBiObserver = new HsmsSsMessagePassThroughQueueBiObserver(this.executorService(), this);
6262
}
6363

6464
@Override

src/main/java/com/shimizukenta/secs/hsmsss/impl/HsmsSsMessagePassThroughQueueBiObserver.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
package com.shimizukenta.secs.hsmsss.impl;
22

3+
import java.util.concurrent.Executor;
4+
35
import com.shimizukenta.secs.hsms.HsmsMessage;
46
import com.shimizukenta.secs.hsms.HsmsMessagePassThroughListener;
57
import com.shimizukenta.secs.hsmsss.HsmsSsMessagePassThroughBiListener;
68
import com.shimizukenta.secs.impl.AbstractQueueBiObserver;
79

810
public class HsmsSsMessagePassThroughQueueBiObserver extends AbstractQueueBiObserver<AbstractHsmsSsCommunicator, HsmsMessagePassThroughListener, HsmsSsMessagePassThroughBiListener, HsmsMessage> {
911

10-
public HsmsSsMessagePassThroughQueueBiObserver(AbstractHsmsSsCommunicator communicator) {
11-
super(communicator);
12+
public HsmsSsMessagePassThroughQueueBiObserver(Executor executor, AbstractHsmsSsCommunicator communicator) {
13+
super(executor, communicator);
1214
}
1315

1416
@Override

src/main/java/com/shimizukenta/secs/hsmsss/impl/HsmsSsMessageReceiveQueueBiObserver.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
package com.shimizukenta.secs.hsmsss.impl;
22

3+
import java.util.concurrent.Executor;
4+
35
import com.shimizukenta.secs.hsms.HsmsMessage;
46
import com.shimizukenta.secs.hsms.HsmsMessageReceiveListener;
57
import com.shimizukenta.secs.hsmsss.HsmsSsMessageReceiveBiListener;
68
import com.shimizukenta.secs.impl.AbstractQueueBiObserver;
79

810
public class HsmsSsMessageReceiveQueueBiObserver extends AbstractQueueBiObserver<AbstractHsmsSsCommunicator, HsmsMessageReceiveListener, HsmsSsMessageReceiveBiListener, HsmsMessage> {
911

10-
public HsmsSsMessageReceiveQueueBiObserver(AbstractHsmsSsCommunicator comm) {
11-
super(comm);
12+
public HsmsSsMessageReceiveQueueBiObserver(Executor executor, AbstractHsmsSsCommunicator comm) {
13+
super(executor, comm);
1214
}
1315

1416
@Override

src/main/java/com/shimizukenta/secs/impl/AbstractPropertyBiObserver.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
import java.util.Collection;
55
import java.util.Objects;
66

7+
import com.shimizukenta.secs.GemAccessor;
78
import com.shimizukenta.secs.local.property.Observable;
89

9-
public abstract class AbstractPropertyBiObserver<C extends AbstractSecsCommunicator,V, M, B> {
10+
public abstract class AbstractPropertyBiObserver<C extends GemAccessor,V, M, B> {
1011

1112
private final Collection<M> listeners = new ArrayList<>();
1213
private final Collection<B> biListeners = new ArrayList<>();

0 commit comments

Comments
 (0)