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. --- src/main/java/com/c2kernel/utils/ActDefCache.java | 14 +++++----- .../java/com/c2kernel/utils/CastorXMLUtility.java | 14 +++++----- .../com/c2kernel/utils/DescriptionObjectCache.java | 8 +++--- .../java/com/c2kernel/utils/LocalObjectLoader.java | 30 +++++++++++----------- .../java/com/c2kernel/utils/StateMachineCache.java | 14 +++++----- 5 files changed, 40 insertions(+), 40 deletions(-) (limited to 'src/main/java/com/c2kernel/utils') diff --git a/src/main/java/com/c2kernel/utils/ActDefCache.java b/src/main/java/com/c2kernel/utils/ActDefCache.java index ec98c93..da171da 100644 --- a/src/main/java/com/c2kernel/utils/ActDefCache.java +++ b/src/main/java/com/c2kernel/utils/ActDefCache.java @@ -23,12 +23,12 @@ */ package com.c2kernel.utils; -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.entity.proxy.ItemProxy; import com.c2kernel.lifecycle.ActivityDef; import com.c2kernel.persistency.ClusterStorage; -import com.c2kernel.persistency.ClusterStorageException; import com.c2kernel.persistency.outcome.Viewpoint; import com.c2kernel.process.Gateway; @@ -41,23 +41,23 @@ public class ActDefCache extends DescriptionObjectCache { } @Override - public ActivityDef loadObject(String name, int version, ItemProxy proxy) throws ObjectNotFoundException, InvalidDataException { + public ActivityDef loadObject(String name, int version, ItemProxy proxy) throws ObjectNotFound, InvalidData { ActivityDef thisActDef; String actType = proxy.getProperty("Complexity"); Viewpoint actView = (Viewpoint)proxy.getObject(ClusterStorage.VIEWPOINT + "/" + actType + "ActivityDef/" + version); String marshalledAct; try { marshalledAct = actView.getOutcome().getData(); - } catch (ClusterStorageException ex) { + } catch (PersistencyException ex) { Logger.error(ex); - throw new ObjectNotFoundException("Problem loading "+name+" v"+version+": "+ex.getMessage(), ""); + throw new ObjectNotFound("Problem loading "+name+" v"+version+": "+ex.getMessage()); } try { thisActDef = (ActivityDef)Gateway.getMarshaller().unmarshall(marshalledAct); thisActDef.getProperties().put("Version", version); } catch (Exception ex) { Logger.error(ex); - throw new InvalidDataException("Could not unmarshall '"+name+"' v"+version+": "+ex.getMessage(), ""); + throw new InvalidData("Could not unmarshall '"+name+"' v"+version+": "+ex.getMessage()); } thisActDef.setName(name); thisActDef.setVersion(version); diff --git a/src/main/java/com/c2kernel/utils/CastorXMLUtility.java b/src/main/java/com/c2kernel/utils/CastorXMLUtility.java index 1596a63..81a8e64 100644 --- a/src/main/java/com/c2kernel/utils/CastorXMLUtility.java +++ b/src/main/java/com/c2kernel/utils/CastorXMLUtility.java @@ -38,7 +38,7 @@ import org.exolab.castor.xml.Unmarshaller; import org.exolab.castor.xml.ValidationException; import org.exolab.castor.xml.XMLContext; -import com.c2kernel.common.InvalidDataException; +import com.c2kernel.common.InvalidData; import com.c2kernel.persistency.outcome.Outcome; import com.c2kernel.process.resource.ResourceLoader; @@ -66,11 +66,11 @@ public class CastorXMLUtility * configuration * @param mapURL * the root URL for the mapfiles - * @throws InvalidDataException + * @throws InvalidData */ public CastorXMLUtility(final ResourceLoader aResourceLoader, final Properties aAppProperties, final URL mapURL) - throws InvalidDataException { + throws InvalidData { // load index @@ -79,7 +79,7 @@ public class CastorXMLUtility try { index = FileStringUtility.url2String( new URL(mapURL, "index") ); } catch (Exception e) { - throw new InvalidDataException(String.format("Could not load map index from [%s]",mapURL)); + throw new InvalidData(String.format("Could not load map index from [%s]",mapURL)); } // retrieve the class loader of the class "CastorXMLUtility" @@ -135,13 +135,13 @@ public class CastorXMLUtility mappingContext.addMapping(thisMapping); } catch (MappingException ex) { Logger.error(ex); - throw new InvalidDataException("XML Mapping files are not valid: "+ex.getMessage(), ""); + throw new InvalidData("XML Mapping files are not valid: "+ex.getMessage()); } catch (MalformedURLException ex) { Logger.error(ex); - throw new InvalidDataException("Mapping file location invalid: "+ex.getMessage(), ""); + throw new InvalidData("Mapping file location invalid: "+ex.getMessage()); } catch (IOException ex) { Logger.error(ex); - throw new InvalidDataException("Could not read XML mapping files: "+ex.getMessage(), ""); + throw new InvalidData("Could not read XML mapping files: "+ex.getMessage()); } Logger.msg(1, String.format("Loaded [%d] maps from [%s]", loadedMapURLs.size(), mapURL)); diff --git a/src/main/java/com/c2kernel/utils/DescriptionObjectCache.java b/src/main/java/com/c2kernel/utils/DescriptionObjectCache.java index d3eb5ec..88a060d 100644 --- a/src/main/java/com/c2kernel/utils/DescriptionObjectCache.java +++ b/src/main/java/com/c2kernel/utils/DescriptionObjectCache.java @@ -23,8 +23,8 @@ */ package com.c2kernel.utils; -import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.ObjectNotFoundException; +import com.c2kernel.common.InvalidData; +import com.c2kernel.common.ObjectNotFound; import com.c2kernel.entity.proxy.ProxyObserver; import com.c2kernel.entity.proxy.ItemProxy; import com.c2kernel.entity.proxy.MemberSubscription; @@ -35,7 +35,7 @@ public abstract class DescriptionObjectCache { SoftCache> cache = new SoftCache>(); - public D get(String name, int version) throws ObjectNotFoundException, InvalidDataException { + public D get(String name, int version) throws ObjectNotFound, InvalidData { D thisDef; synchronized(cache) { CacheEntry thisDefEntry = cache.get(name+"_"+version); @@ -55,7 +55,7 @@ public abstract class DescriptionObjectCache { public abstract String getDefRoot(); - public abstract D loadObject(String name, int version, ItemProxy proxy) throws ObjectNotFoundException, InvalidDataException; + public abstract D loadObject(String name, int version, ItemProxy proxy) throws ObjectNotFound, InvalidData; public void removeObject(String id) { synchronized(cache) { diff --git a/src/main/java/com/c2kernel/utils/LocalObjectLoader.java b/src/main/java/com/c2kernel/utils/LocalObjectLoader.java index 445f5cd..434c24d 100644 --- a/src/main/java/com/c2kernel/utils/LocalObjectLoader.java +++ b/src/main/java/com/c2kernel/utils/LocalObjectLoader.java @@ -22,15 +22,15 @@ package com.c2kernel.utils; import java.util.Iterator; -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.entity.proxy.ItemProxy; import com.c2kernel.lifecycle.ActivityDef; import com.c2kernel.lifecycle.instance.stateMachine.StateMachine; import com.c2kernel.lookup.DomainPath; import com.c2kernel.lookup.Path; import com.c2kernel.persistency.ClusterStorage; -import com.c2kernel.persistency.ClusterStorageException; import com.c2kernel.persistency.outcome.Schema; import com.c2kernel.persistency.outcome.Viewpoint; import com.c2kernel.process.Gateway; @@ -40,35 +40,35 @@ public class LocalObjectLoader { private static StateMachineCache smCache = new StateMachineCache(); static public ItemProxy loadLocalObjectDef(String root, String name) - throws ObjectNotFoundException + throws ObjectNotFound { DomainPath defRoot = new DomainPath(root); Iterator e = Gateway.getLookup().search(defRoot, name); if (e.hasNext()) { DomainPath defPath = (DomainPath)e.next(); - if (e.hasNext()) throw new ObjectNotFoundException("Too many matches for "+name+" in "+root, ""); + if (e.hasNext()) throw new ObjectNotFound("Too many matches for "+name+" in "+root); return Gateway.getProxyManager().getProxy(defPath); } else { - throw new ObjectNotFoundException("No match for "+name+" in "+root, ""); + throw new ObjectNotFound("No match for "+name+" in "+root); } } - static public String getScript(String scriptName, int scriptVersion) throws ObjectNotFoundException { + static public String getScript(String scriptName, int scriptVersion) throws ObjectNotFound { Logger.msg(5, "Loading script "+scriptName+" v"+scriptVersion); try { ItemProxy script = loadLocalObjectDef("/desc/Script/", scriptName); Viewpoint scriptView = (Viewpoint)script.getObject(ClusterStorage.VIEWPOINT + "/Script/" + scriptVersion); return scriptView.getOutcome().getData(); - } catch (ClusterStorageException ex) { + } catch (PersistencyException ex) { Logger.error(ex); - throw new ObjectNotFoundException("Error loading script " + scriptName + " version " + scriptVersion, ""); + throw new ObjectNotFound("Error loading script " + scriptName + " version " + scriptVersion); } } - static public Schema getSchema(String schemaName, int schemaVersion) throws ObjectNotFoundException { + static public Schema getSchema(String schemaName, int schemaVersion) throws ObjectNotFound { Logger.msg(5, "Loading schema "+schemaName+" v"+schemaVersion); String docType = schemaName; @@ -83,9 +83,9 @@ public class LocalObjectLoader { Viewpoint schemaView = (Viewpoint)schema.getObject(ClusterStorage.VIEWPOINT + "/Schema/" + schemaVersion); try { schemaData = schemaView.getOutcome().getData(); - } catch (ClusterStorageException ex) { + } catch (PersistencyException ex) { Logger.error(ex); - throw new ObjectNotFoundException("Problem loading schema "+schemaName+" v"+schemaVersion+": "+ex.getMessage(), ""); + throw new ObjectNotFound("Problem loading schema "+schemaName+" v"+schemaVersion+": "+ex.getMessage()); } return new Schema(docType, docVersion, schemaData); } @@ -96,14 +96,14 @@ public class LocalObjectLoader { * @param actName - activity name * @param version - named version (String) * @return ActivityDef - * @throws ObjectNotFoundException - When activity or version does not exist + * @throws ObjectNotFound - When activity or version does not exist */ - static public ActivityDef getActDef(String actName, int actVersion) throws ObjectNotFoundException, InvalidDataException { + static public ActivityDef getActDef(String actName, int actVersion) throws ObjectNotFound, InvalidData { Logger.msg(5, "Loading activity def "+actName+" v"+actVersion); return actCache.get(actName, actVersion); } - static public StateMachine getStateMachine(String smName, int smVersion) throws ObjectNotFoundException, InvalidDataException { + static public StateMachine getStateMachine(String smName, int smVersion) throws ObjectNotFound, InvalidData { Logger.msg(5, "Loading activity def "+smName+" v"+smVersion); return smCache.get(smName, smVersion); } diff --git a/src/main/java/com/c2kernel/utils/StateMachineCache.java b/src/main/java/com/c2kernel/utils/StateMachineCache.java index b11ac8b..9b9e464 100644 --- a/src/main/java/com/c2kernel/utils/StateMachineCache.java +++ b/src/main/java/com/c2kernel/utils/StateMachineCache.java @@ -23,12 +23,12 @@ */ package com.c2kernel.utils; -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.entity.proxy.ItemProxy; import com.c2kernel.lifecycle.instance.stateMachine.StateMachine; import com.c2kernel.persistency.ClusterStorage; -import com.c2kernel.persistency.ClusterStorageException; import com.c2kernel.persistency.outcome.Viewpoint; import com.c2kernel.process.Gateway; @@ -41,22 +41,22 @@ public class StateMachineCache extends DescriptionObjectCache { } @Override - public StateMachine loadObject(String name, int version, ItemProxy proxy) throws ObjectNotFoundException, InvalidDataException { + public StateMachine loadObject(String name, int version, ItemProxy proxy) throws ObjectNotFound, InvalidData { StateMachine thisStateMachine; Viewpoint smView = (Viewpoint)proxy.getObject(ClusterStorage.VIEWPOINT + "/StateMachine/" + version); String marshalledSM; try { marshalledSM = smView.getOutcome().getData(); - } catch (ClusterStorageException ex) { + } catch (PersistencyException ex) { Logger.error(ex); - throw new ObjectNotFoundException("Problem loading State Machine "+name+" v"+version+": "+ex.getMessage(), ""); + throw new ObjectNotFound("Problem loading State Machine "+name+" v"+version+": "+ex.getMessage()); } try { thisStateMachine = (StateMachine)Gateway.getMarshaller().unmarshall(marshalledSM); thisStateMachine.validate(); } catch (Exception ex) { Logger.error(ex); - throw new InvalidDataException("Could not unmarshall State Machine '"+name+"' v"+version+": "+ex.getMessage(), ""); + throw new InvalidData("Could not unmarshall State Machine '"+name+"' v"+version+": "+ex.getMessage()); } thisStateMachine.setName(name); thisStateMachine.setVersion(version); -- cgit v1.2.3