From 6ac605c864a6c8541ceafd59bb271733b1ec150c Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Mon, 22 Sep 2014 16:02:52 +0200 Subject: Castor unmarshalling was resulting in null itemPaths in ImportItem. ItemPath wasn't being set by the constructor either. --- src/main/java/com/c2kernel/entity/imports/ImportItem.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/main/java/com/c2kernel/entity') diff --git a/src/main/java/com/c2kernel/entity/imports/ImportItem.java b/src/main/java/com/c2kernel/entity/imports/ImportItem.java index 586ebba..9038cc5 100644 --- a/src/main/java/com/c2kernel/entity/imports/ImportItem.java +++ b/src/main/java/com/c2kernel/entity/imports/ImportItem.java @@ -54,6 +54,7 @@ public class ImportItem extends ModuleImport { this(); setNamespace(ns); setName(name); + setItemPath(itemPath); setInitialPath(initialPath); setWorkflow(wf); setWorkflowVer(wfVer); @@ -77,18 +78,21 @@ public class ImportItem extends ModuleImport { public void setNamespace(String ns) { super.setNamespace(ns); if (initialPath == null) initialPath = "/desc/"+ns; - itemPath = null; } @Override public void setName(String name) { super.setName(name); - itemPath = null; } @Override public void create(AgentPath agentPath, boolean reset) throws ObjectCannotBeUpdated, ObjectNotFoundException, CannotManageException, ObjectAlreadyExistsException { DomainPath domPath = new DomainPath(new DomainPath(initialPath), name); + if (domPath.exists()) { + ItemPath domItem = domPath.getItemPath(); + if (!getItemPath().equals(domItem)) + throw new CannotManageException("Item "+domPath+" was found with the wrong itemPath ("+domPath.getItemPath()+" vs "+getItemPath()+")", ""); + } TraceableEntity newItem; if (getItemPath().exists()) { @@ -210,7 +214,6 @@ public class ImportItem extends ModuleImport { public void setInitialPath(String initialPath) { this.initialPath = initialPath; - itemPath = null; } public String getWorkflow() { -- cgit v1.2.3