From da731d2bb81666b9c697d9099da632e7dfcdc0f7 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 9 Sep 2014 12:13:21 +0200 Subject: Replaced int sysKey Item identifier with UUID, which is now portable. ItemPath objects are now used to identify Items throughout the kernel, replacing ints and Integers. --- src/main/java/com/c2kernel/events/Event.java | 54 ++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 11 deletions(-) (limited to 'src/main/java/com/c2kernel/events/Event.java') diff --git a/src/main/java/com/c2kernel/events/Event.java b/src/main/java/com/c2kernel/events/Event.java index 37c3c58..267f135 100644 --- a/src/main/java/com/c2kernel/events/Event.java +++ b/src/main/java/com/c2kernel/events/Event.java @@ -10,11 +10,16 @@ package com.c2kernel.events; import java.util.Calendar; +import java.util.UUID; import com.c2kernel.common.GTimeStamp; import com.c2kernel.common.InvalidDataException; import com.c2kernel.entity.C2KLocalObject; +import com.c2kernel.lookup.AgentPath; +import com.c2kernel.lookup.InvalidAgentPathException; +import com.c2kernel.lookup.ItemPath; import com.c2kernel.persistency.ClusterStorage; +import com.c2kernel.utils.Logger; /** @@ -27,10 +32,10 @@ import com.c2kernel.persistency.ClusterStorage; */ public class Event implements C2KLocalObject { - - int mEntitySystemKey, mOriginState, mTransition, mTargetState; + ItemPath mItemPath; AgentPath mAgentPath; + int mOriginState, mTransition, mTargetState; Integer mID, mSchemaVersion, mStateMachineVersion; - String mName, mStepName, mStepPath, mStepType, mSchemaName, mStateMachineName, mViewName, mAgentName, mAgentRole; + String mName, mStepName, mStepPath, mStepType, mSchemaName, mStateMachineName, mViewName, mAgentRole; GTimeStamp mTimeStamp; public int getOriginState() { @@ -72,11 +77,38 @@ public class Event implements C2KLocalObject /** */ - public void setEntitySystemKey( int systemKey ) + public void setItemPath( ItemPath itemPath ) + { + mItemPath = itemPath; + } + + public void setItemUUID( String uuid ) { - mEntitySystemKey = systemKey; + setItemPath(new ItemPath(UUID.fromString(uuid))); + } + + public String getItemUUID() { + return getItemPath().getUUID().toString(); } + public void setAgentUUID( String uuid ) + { + if (uuid == null) mAgentPath = null; + else + try { + setAgentPath(new AgentPath(UUID.fromString(uuid))); + } catch (InvalidAgentPathException e) { + Logger.error("Invalid agent path in Event: "+uuid); + } + } + + public String getAgentUUID() { + if (mAgentPath != null) + return getAgentPath().getUUID().toString(); + else + return null; + } + /** * Set the Event Name, in parameter is a String */ @@ -125,9 +157,9 @@ public class Event implements C2KLocalObject /** * Set the AgentInfo in the Event, in parameter is an AgentInfo */ - public void setAgentName(String agentName) + public void setAgentPath(AgentPath agentPath) { - mAgentName = agentName; + mAgentPath = agentPath; } public void setAgentRole(String agentRole) @@ -154,9 +186,9 @@ public class Event implements C2KLocalObject /** */ - public int getEntitySystemKey() + public ItemPath getItemPath() { - return mEntitySystemKey; + return mItemPath; } /** @@ -202,9 +234,9 @@ public class Event implements C2KLocalObject /** * Return the AgentInfo of the Event. */ - public String getAgentName() + public AgentPath getAgentPath() { - return mAgentName; + return mAgentPath; } public String getAgentRole() -- cgit v1.2.3