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. --- .../c2kernel/persistency/outcome/Viewpoint.java | 33 ++++++++++++++-------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'src/main/java/com/c2kernel/persistency/outcome/Viewpoint.java') diff --git a/src/main/java/com/c2kernel/persistency/outcome/Viewpoint.java b/src/main/java/com/c2kernel/persistency/outcome/Viewpoint.java index a3fe283..db7e8d7 100644 --- a/src/main/java/com/c2kernel/persistency/outcome/Viewpoint.java +++ b/src/main/java/com/c2kernel/persistency/outcome/Viewpoint.java @@ -1,10 +1,12 @@ package com.c2kernel.persistency.outcome; +import java.util.UUID; + import com.c2kernel.common.InvalidDataException; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.entity.C2KLocalObject; import com.c2kernel.events.Event; -import com.c2kernel.lookup.Path; +import com.c2kernel.lookup.ItemPath; import com.c2kernel.persistency.ClusterStorage; import com.c2kernel.persistency.ClusterStorageException; import com.c2kernel.process.Gateway; @@ -26,7 +28,7 @@ public class Viewpoint implements C2KLocalObject { int ID = -1; // not really used in this // db fields - int sysKey; + ItemPath itemPath; String schemaName; String name; int schemaVersion; @@ -35,14 +37,14 @@ public class Viewpoint implements C2KLocalObject { public Viewpoint() { eventId = NONE; - sysKey = Path.INVALID; + itemPath = null; schemaVersion = NONE; schemaName = null; name = null; } - public Viewpoint(int sysKey, String schemaName, String name, int schemaVersion, int eventId) { - this.sysKey = sysKey; + public Viewpoint(ItemPath itemPath, String schemaName, String name, int schemaVersion, int eventId) { + this.itemPath = itemPath; this.schemaName = schemaName; this.name = name; this.schemaVersion = schemaVersion; @@ -51,7 +53,7 @@ public class Viewpoint implements C2KLocalObject { public Outcome getOutcome() throws ObjectNotFoundException, ClusterStorageException { if (eventId == NONE) throw new ObjectNotFoundException("No last eventId defined", ""); - Outcome retVal = (Outcome)Gateway.getStorage().get(sysKey, ClusterStorage.OUTCOME+"/"+schemaName+"/"+schemaVersion+"/"+eventId, null); + Outcome retVal = (Outcome)Gateway.getStorage().get(itemPath, ClusterStorage.OUTCOME+"/"+schemaName+"/"+schemaVersion+"/"+eventId, null); return retVal; } @@ -106,8 +108,8 @@ public class Viewpoint implements C2KLocalObject { * Returns the sysKey. * @return int */ - public int getSysKey() { - return sysKey; + public ItemPath getItemPath() { + return itemPath; } /** @@ -155,9 +157,18 @@ public class Viewpoint implements C2KLocalObject { * Sets the sysKey. * @param sysKey The sysKey to set */ - public void setSysKey(int sysKey) { - this.sysKey = sysKey; + public void setItemPath(ItemPath itemPath) { + this.itemPath = itemPath; } + + public void setItemUUID( String uuid ) + { + setItemPath(new ItemPath(UUID.fromString(uuid))); + } + + public String getItemUUID() { + return getItemPath().getUUID().toString(); + } /** * Method getEvent. @@ -169,7 +180,7 @@ public class Viewpoint implements C2KLocalObject { if (eventId == NONE) throw new InvalidDataException("No last eventId defined", ""); - return (Event)Gateway.getStorage().get(sysKey, ClusterStorage.HISTORY+"/"+eventId, null); + return (Event)Gateway.getStorage().get(itemPath, ClusterStorage.HISTORY+"/"+eventId, null); } @Override -- cgit v1.2.3