refactor(impression): expose choice of keepOldSubjectAsAlias in ImpressionCore

This commit is contained in:
2026-06-14 16:42:05 +08:00
parent 9f9f7247f0
commit 0211ba9ac8
4 changed files with 6 additions and 6 deletions

View File

@@ -60,7 +60,7 @@ public interface CognitionCapability {
/**
* Rename the canonical subject of a known entity and refresh entity/active-entity indexes.
*/
boolean renameEntitySubject(String entityUuid, String newSubject);
boolean renameEntitySubject(String entityUuid, String newSubject, boolean keepOldSubjectAsAlias);
/**
* Add an alias or mention form for a known entity and refresh entity indexes.

View File

@@ -154,16 +154,16 @@ public class ImpressionCore implements StateSerializable {
}
/**
* Rename the canonical subject of a known entity and keep its previous subject as a historical alias.
* Rename the canonical subject of a known entity and optionally keep its previous subject as a historical alias.
*/
@CapabilityMethod
public boolean renameEntitySubject(String entityUuid, String newSubject) {
public boolean renameEntitySubject(String entityUuid, String newSubject, boolean keepOldSubjectAsAlias) {
Entity entity = knownEntitiesByUuid.get(entityUuid);
if (entity == null || newSubject == null || newSubject.isBlank()) {
return false;
}
boolean renamed = entity.renameSubject(newSubject.trim());
boolean renamed = entity.renameSubject(newSubject.trim(), keepOldSubjectAsAlias);
if (!renamed) {
return false;
}

View File

@@ -175,7 +175,7 @@ class CommunicationProducerTest {
}
@Override
public boolean renameEntitySubject(String entityUuid, String newSubject) {
public boolean renameEntitySubject(String entityUuid, String newSubject, boolean keepOldSubjectAsAlias) {
return false;
}

View File

@@ -128,7 +128,7 @@ class MemoryRuntimeTest {
}
@Override
public boolean renameEntitySubject(String entityUuid, String newSubject) {
public boolean renameEntitySubject(String entityUuid, String newSubject, boolean keepOldSubjectAsAlias) {
return false;
}