From 0b85ba2f37d44efd6b847b55a98240637ddfe757 Mon Sep 17 00:00:00 2001 From: Tamino Dauth Date: Wed, 10 Apr 2019 16:27:06 +0200 Subject: [PATCH] Add message properties #19 --- .../api/neo4j/ActionTransitionEntity.scala | 10 ++++++++-- .../guistatemachine/api/neo4j/StateNeo4J.scala | 2 +- .../api/neo4j/SutStateEntity.scala | 16 ++++++++++------ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/main/scala/de/retest/guistatemachine/api/neo4j/ActionTransitionEntity.scala b/src/main/scala/de/retest/guistatemachine/api/neo4j/ActionTransitionEntity.scala index 29ea4ae..145b745 100644 --- a/src/main/scala/de/retest/guistatemachine/api/neo4j/ActionTransitionEntity.scala +++ b/src/main/scala/de/retest/guistatemachine/api/neo4j/ActionTransitionEntity.scala @@ -1,10 +1,12 @@ package de.retest.guistatemachine.api.neo4j +import de.retest.guistatemachine.api.ActionIdentifier import org.neo4j.ogm.annotation._ @RelationshipEntity(`type` = "ACTIONS") -class ActionTransitionEntity(s: SutStateEntity, e: SutStateEntity, a: String) { +class ActionTransitionEntity(s: SutStateEntity, e: SutStateEntity, a: String, msg: String) { - def this() = this(null, null, null) + def this(s: SutStateEntity, e: SutStateEntity, a: ActionIdentifier) = this(s, e, a.hash, a.msg) + def this() = this(null, null, null, null) @Id @GeneratedValue @@ -22,6 +24,9 @@ class ActionTransitionEntity(s: SutStateEntity, e: SutStateEntity, a: String) { @Index var action: String = a + @Property(name = ActionTransitionEntity.PropertyMessage) + var message: String = msg + /// The number of times this action has been executed. @Property(name = ActionTransitionEntity.PropertyNameCounter) var counter: Int = 1 @@ -31,5 +36,6 @@ object ActionTransitionEntity { final val PropertyNameStart = "start" final val PropertyNameEnd = "end" final val PropertyNameAction = "action" + final val PropertyMessage = "message" final val PropertyNameCounter = "counter" } diff --git a/src/main/scala/de/retest/guistatemachine/api/neo4j/StateNeo4J.scala b/src/main/scala/de/retest/guistatemachine/api/neo4j/StateNeo4J.scala index c913ed9..83e3ee8 100644 --- a/src/main/scala/de/retest/guistatemachine/api/neo4j/StateNeo4J.scala +++ b/src/main/scala/de/retest/guistatemachine/api/neo4j/StateNeo4J.scala @@ -63,7 +63,7 @@ case class StateNeo4J(sutStateIdentifier: SutStateIdentifier, guiStateMachine: G session.save(first) first.counter } else { - val transition = new ActionTransitionEntity(sourceState, targetState, a.hash) + val transition = new ActionTransitionEntity(sourceState, targetState, a) session.save(transition) 1 } diff --git a/src/main/scala/de/retest/guistatemachine/api/neo4j/SutStateEntity.scala b/src/main/scala/de/retest/guistatemachine/api/neo4j/SutStateEntity.scala index f6f75d1..8755005 100644 --- a/src/main/scala/de/retest/guistatemachine/api/neo4j/SutStateEntity.scala +++ b/src/main/scala/de/retest/guistatemachine/api/neo4j/SutStateEntity.scala @@ -4,22 +4,26 @@ import de.retest.guistatemachine.api.SutStateIdentifier import org.neo4j.ogm.annotation._ @NodeEntity -class SutStateEntity( - @Property(name = SutStateEntity.PropertyNameHash) - @Index(unique = true) - var hash: java.lang.String) { +class SutStateEntity(@Property(name = SutStateEntity.PropertyNameHash) + @Index(unique = true) + var hash: java.lang.String, + msg: String) { - def this(sutStateIdentifier: SutStateIdentifier) = this(sutStateIdentifier.hash) - def this() = this("") + def this(sutStateIdentifier: SutStateIdentifier) = this(sutStateIdentifier.hash, sutStateIdentifier.msg) + def this() = this(null, null) @Id @GeneratedValue var id: java.lang.Long = null + @Property(name = SutStateEntity.PropertyMessage) + var message: String = msg + @Relationship(`type` = "ACTIONS", direction = Relationship.OUTGOING) var incomingActionTransitions = new java.util.ArrayList[ActionTransitionEntity]() @Relationship(`type` = "ACTIONS", direction = Relationship.INCOMING) var outgoingActionTransitions = new java.util.ArrayList[ActionTransitionEntity]() } object SutStateEntity { final val PropertyNameHash = "hash" + final val PropertyMessage = "message" }