From 913d36d8f207083dfb6b627702a110d8d114be80 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Thu, 26 Apr 2012 00:35:40 +0200 Subject: History caching Changed EntityProxy.getObject to return a null locked History object so it could be cached. Change every instance where a transaction based History is required so it is created directly instead of loaded from storage. --- source/com/c2kernel/entity/proxy/EntityProxy.java | 2 +- source/com/c2kernel/process/Bootstrap.java | 2 +- source/com/c2kernel/process/Module.java | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/source/com/c2kernel/entity/proxy/EntityProxy.java b/source/com/c2kernel/entity/proxy/EntityProxy.java index a9f6066..fae2e28 100644 --- a/source/com/c2kernel/entity/proxy/EntityProxy.java +++ b/source/com/c2kernel/entity/proxy/EntityProxy.java @@ -140,7 +140,7 @@ abstract public class EntityProxy implements ManageableEntity // load from storage, falling back to proxy loader if not found in others try { - return Gateway.getStorage().get( mSystemKey, xpath , this); + return Gateway.getStorage().get( mSystemKey, xpath , null); } catch( ClusterStorageException ex ) { diff --git a/source/com/c2kernel/process/Bootstrap.java b/source/com/c2kernel/process/Bootstrap.java index 5b83d89..7eacd86 100644 --- a/source/com/c2kernel/process/Bootstrap.java +++ b/source/com/c2kernel/process/Bootstrap.java @@ -130,7 +130,7 @@ public class Bootstrap } // data was missing or doesn't match Logger.msg("Bootstrap.verifyResource() - Writing new data to "+getDataType(itemType)+" "+itemName); - History hist = (History)thisProxy.getObject(ClusterStorage.HISTORY); + History hist = new History(thisProxy.getSystemKey(), thisProxy); Event newEvent = hist.addEvent("system", "Admin", Transitions.DONE, "Import", "Import", "Import", States.FINISHED); Outcome newOutcome = new Outcome(newEvent.getID(), data, getDataType(itemType), 0); Viewpoint newLastView = new Viewpoint(thisProxy.getSystemKey(), getDataType(itemType), "last", 0, newEvent.getID()); diff --git a/source/com/c2kernel/process/Module.java b/source/com/c2kernel/process/Module.java index 1e0f9e3..e2a4f2e 100644 --- a/source/com/c2kernel/process/Module.java +++ b/source/com/c2kernel/process/Module.java @@ -26,7 +26,6 @@ import com.c2kernel.lifecycle.instance.predefined.entitycreation.Property; import com.c2kernel.lifecycle.instance.stateMachine.States; import com.c2kernel.lifecycle.instance.stateMachine.Transitions; import com.c2kernel.lookup.DomainPath; -import com.c2kernel.persistency.ClusterStorage; import com.c2kernel.persistency.outcome.Outcome; import com.c2kernel.persistency.outcome.Viewpoint; import com.c2kernel.scripting.ErrorInfo; @@ -206,7 +205,7 @@ public class Module { CastorXMLUtility.marshall(item)); Logger.msg("Module.importAll() - Created item: "+thisItem.importName); ItemProxy newProxy = (ItemProxy)Gateway.getProxyManager().getProxy(itemPath); - History hist = (History)newProxy.getObject(ClusterStorage.HISTORY); + History hist = new History(newProxy.getSystemKey(), newProxy); for (String thisView : thisItem.outcomes.keySet()) { String[] info = thisView.split(":"); int version = Integer.parseInt(info[1]); -- cgit v1.2.3