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. --- .../instance/predefined/WriteViewpoint.java | 25 ++++++++++++---------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/WriteViewpoint.java') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/WriteViewpoint.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/WriteViewpoint.java index 741a9a2..e64aceb 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/WriteViewpoint.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/WriteViewpoint.java @@ -1,9 +1,12 @@ package com.c2kernel.lifecycle.instance.predefined; +import java.util.Arrays; + import com.c2kernel.common.InvalidDataException; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.events.Event; import com.c2kernel.lookup.AgentPath; +import com.c2kernel.lookup.ItemPath; import com.c2kernel.persistency.ClusterStorage; import com.c2kernel.persistency.ClusterStorageException; import com.c2kernel.persistency.outcome.Viewpoint; @@ -17,19 +20,19 @@ public class WriteViewpoint extends PredefinedStep { } @Override - protected String runActivityLogic(AgentPath agent, int itemSysKey, + protected String runActivityLogic(AgentPath agent, ItemPath item, int transitionID, String requestData) throws InvalidDataException { String schemaName; String viewName; int evId; - - Logger.msg(1, "WriteViewpoint::request() - Starting."); + String[] params = getDataList(requestData); + if (Logger.doLog(3)) Logger.msg(3, "WriteViewpoint: called by "+agent+" on "+item+" with parameters "+Arrays.toString(params)); // outcometype, name and evId. Event and Outcome should be checked so schema version should be discovered. if (params.length != 3) - throw new InvalidDataException("WriteViewpoint usage: [ schemaName, viewName, eventId ]", ""); + throw new InvalidDataException("WriteViewpoint: Invalid parameters "+Arrays.toString(params), ""); schemaName = params[0]; viewName = params[1]; @@ -37,29 +40,29 @@ public class WriteViewpoint extends PredefinedStep { try { evId = Integer.parseInt(params[2]); } catch (NumberFormatException ex) { - throw new InvalidDataException("Parameter 3 (EventId) must be an integer", ""); + throw new InvalidDataException("WriteViewpoint: Parameter 3 (EventId) must be an integer", ""); } // Find event Event ev; try { - ev = (Event)Gateway.getStorage().get(itemSysKey, ClusterStorage.HISTORY+"/"+evId, null); + ev = (Event)Gateway.getStorage().get(item, ClusterStorage.HISTORY+"/"+evId, null); } catch (ObjectNotFoundException e) { Logger.error(e); - throw new InvalidDataException("Event "+evId+" not found", ""); + throw new InvalidDataException("WriteViewpoint: Event "+evId+" not found", ""); } catch (ClusterStorageException e) { Logger.error(e); - throw new InvalidDataException("Exception loading event", ""); + throw new InvalidDataException("WriteViewpoint: Exception loading event", ""); } // Write new viewpoint - Viewpoint newView = new Viewpoint(itemSysKey, schemaName, viewName, ev.getSchemaVersion(), evId); + Viewpoint newView = new Viewpoint(item, schemaName, viewName, ev.getSchemaVersion(), evId); try { - Gateway.getStorage().put(itemSysKey, newView, null); + Gateway.getStorage().put(item, newView, null); } catch (ClusterStorageException e) { Logger.error(e); - throw new InvalidDataException("Could not store new viewpoint", ""); + throw new InvalidDataException("WriteViewpoint: Could not store new viewpoint", ""); } return requestData; } -- cgit v1.2.3