From 275d0bbf555c8917be82ce4cc21eb4cabb00f4c5 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Fri, 3 Oct 2014 17:30:41 +0200 Subject: Huge exception overhaul: Merged ClusterStorageException with PersistencyException. Replaced MembershipException with InvalidCollectionModification CORBA Exception. Made all predef steps throw more accurate exceptions when they go wrong, and let more exceptions bubble through from underneath. --- .../instance/predefined/WriteViewpoint.java | 23 ++++++++++------------ 1 file changed, 10 insertions(+), 13 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 349e34c..efe6a5f 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/WriteViewpoint.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/WriteViewpoint.java @@ -22,13 +22,13 @@ package com.c2kernel.lifecycle.instance.predefined; import java.util.Arrays; -import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.ObjectNotFoundException; +import com.c2kernel.common.InvalidData; +import com.c2kernel.common.ObjectNotFound; +import com.c2kernel.common.PersistencyException; 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; import com.c2kernel.process.Gateway; import com.c2kernel.utils.Logger; @@ -41,7 +41,7 @@ public class WriteViewpoint extends PredefinedStep { @Override protected String runActivityLogic(AgentPath agent, ItemPath item, - int transitionID, String requestData) throws InvalidDataException { + int transitionID, String requestData) throws InvalidData, ObjectNotFound, PersistencyException { String schemaName; String viewName; @@ -52,7 +52,7 @@ public class WriteViewpoint extends PredefinedStep { // outcometype, name and evId. Event and Outcome should be checked so schema version should be discovered. if (params.length != 3) - throw new InvalidDataException("WriteViewpoint: Invalid parameters "+Arrays.toString(params), ""); + throw new InvalidData("WriteViewpoint: Invalid parameters "+Arrays.toString(params)); schemaName = params[0]; viewName = params[1]; @@ -60,7 +60,7 @@ public class WriteViewpoint extends PredefinedStep { try { evId = Integer.parseInt(params[2]); } catch (NumberFormatException ex) { - throw new InvalidDataException("WriteViewpoint: Parameter 3 (EventId) must be an integer", ""); + throw new InvalidData("WriteViewpoint: Parameter 3 (EventId) must be an integer"); } // Find event @@ -68,21 +68,18 @@ public class WriteViewpoint extends PredefinedStep { Event ev; try { ev = (Event)Gateway.getStorage().get(item, ClusterStorage.HISTORY+"/"+evId, null); - } catch (ObjectNotFoundException e) { + } catch (PersistencyException e) { Logger.error(e); - throw new InvalidDataException("WriteViewpoint: Event "+evId+" not found", ""); - } catch (ClusterStorageException e) { - Logger.error(e); - throw new InvalidDataException("WriteViewpoint: Exception loading event", ""); + throw new PersistencyException("WriteViewpoint: Could not load event "+evId); } // Write new viewpoint Viewpoint newView = new Viewpoint(item, schemaName, viewName, ev.getSchemaVersion(), evId); try { Gateway.getStorage().put(item, newView, null); - } catch (ClusterStorageException e) { + } catch (PersistencyException e) { Logger.error(e); - throw new InvalidDataException("WriteViewpoint: Could not store new viewpoint", ""); + throw new PersistencyException("WriteViewpoint: Could not store new viewpoint"); } return requestData; } -- cgit v1.2.3