Skip to content

Commit 288df3e

Browse files
committed
Enabled use of class.getSimpleName if user doenst define actor name
1 parent 8cd859c commit 288df3e

File tree

4 files changed

+23
-10
lines changed

4 files changed

+23
-10
lines changed

src/main/java/io/eigr/spawn/api/actors/BaseActor.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,4 @@ public abstract class BaseActor {
99

1010
public abstract Boolean isStateful();
1111

12-
1312
}

src/main/java/io/eigr/spawn/api/actors/StatefulActor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ public Class<S> getStateType() {
1313
public Boolean isStateful() {
1414
return true;
1515
}
16+
1617
}

src/main/java/io/eigr/spawn/internal/Entity.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.lang.reflect.InvocationTargetException;
1717
import java.util.AbstractMap;
1818
import java.util.Map;
19+
import java.util.Objects;
1920
import java.util.stream.Collectors;
2021

2122
public final class Entity<A extends BaseActor, B extends ActorBehavior> {
@@ -174,7 +175,11 @@ private static Map<String, Entity.EntityMethod> getTimerActions(Map<String, Acti
174175
}
175176

176177
private static Entity buildNamedActor(Class<?> stateType, StatefulActor actor, NamedActorBehavior behavior, BehaviorCtx ctx) {
177-
final String actorName = behavior.getName();
178+
String actorName = behavior.getName() ;
179+
if (Objects.isNull(actorName) || behavior.getName().isBlank()) {
180+
actorName = actor.getClass().getSimpleName();
181+
}
182+
178183
final ActorKind kind = behavior.getActorType();
179184
final String channel = behavior.getChannel();
180185
final long deactivateTimeout = behavior.getDeactivatedTimeout();
@@ -205,7 +210,11 @@ private static Entity buildNamedActor(Class<?> stateType, StatefulActor actor, N
205210
}
206211

207212
private static Entity buildNamedActor(Class<?> stateType, StatelessActor actor, NamedActorBehavior behavior, BehaviorCtx ctx) {
208-
final String actorName = behavior.getName();
213+
String actorName = behavior.getName() ;
214+
if (Objects.isNull(actorName) || behavior.getName().isBlank()) {
215+
actorName = actor.getClass().getSimpleName();
216+
}
217+
209218
final ActorKind kind = behavior.getActorType();
210219
final String channel = behavior.getChannel();
211220
final long deactivateTimeout = behavior.getDeactivatedTimeout();
@@ -233,7 +242,11 @@ private static Entity buildNamedActor(Class<?> stateType, StatelessActor actor,
233242
}
234243

235244
private static Entity buildUnNamedActor(Class<?> stateType, StatefulActor actor, UnNamedActorBehavior behavior, BehaviorCtx ctx) {
236-
final String actorName = behavior.getName();
245+
String actorName = behavior.getName() ;
246+
if (Objects.isNull(actorName) || behavior.getName().isBlank()) {
247+
actorName = actor.getClass().getSimpleName();
248+
}
249+
237250
final ActorKind kind = behavior.getActorType();
238251
final String channel = behavior.getChannel();
239252
long deactivateTimeout = behavior.getDeactivatedTimeout();
@@ -264,7 +277,11 @@ private static Entity buildUnNamedActor(Class<?> stateType, StatefulActor actor,
264277
}
265278

266279
private static Entity buildUnNamedActor(Class<?> stateType, StatelessActor actor, UnNamedActorBehavior behavior, BehaviorCtx ctx) {
267-
final String actorName = behavior.getName();
280+
String actorName = behavior.getName() ;
281+
if (Objects.isNull(actorName) || behavior.getName().isBlank()) {
282+
actorName = actor.getClass().getSimpleName();
283+
}
284+
268285
final ActorKind kind = behavior.getActorType();
269286
final String channel = behavior.getChannel();
270287
long deactivateTimeout = behavior.getDeactivatedTimeout();

src/test/java/io/eigr/spawn/test/actors/JoeActor.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,13 @@ public final class JoeActor extends StatefulActor<State> {
1818
@Override
1919
public ActorBehavior configure(BehaviorCtx context) {
2020
return new NamedActorBehavior(
21-
name("JoeActor"),
21+
//name("JoeActor"),
2222
channel("test.channel"),
2323
action("SetLanguage", ActionBindings.of(Request.class, this::setLanguage))
2424
);
2525
}
2626

2727
private Value setLanguage(ActorContext<State> context, Request msg) {
28-
if (context.getState().isPresent()) {
29-
//Do something with previous state
30-
}
31-
3228
return Value.at()
3329
.response(Reply.newBuilder()
3430
.setResponse(String.format("Hi %s. Hello From Java", msg.getLanguage()))

0 commit comments

Comments
 (0)