From 32ef657ca2c9388cd406b30159d60a3bf95c53b2 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 7 Jun 2009 10:18:33 +0000 Subject: [PATCH] Fix issue with object lists in Castor git-svn-id: https://svn.argeo.org/slc/trunk@2509 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../execution/ExecutionModuleDescriptor.java | 4 ++- .../org/argeo/slc/process/SlcExecution.java | 4 ++- .../argeo/slc/runtime/SlcAgentDescriptor.java | 4 ++- .../resources/org/argeo/slc/castor/msg.xml | 2 +- .../slc/castor/ObjectListCastorTest.java | 16 ++++++++++++ .../castor/SlcAgentDescriptorCastorTest.java | 25 +++++++++++++------ .../java/org/argeo/slc/msg/ObjectList.java | 11 ++++---- 7 files changed, 49 insertions(+), 17 deletions(-) create mode 100644 runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/ObjectListCastorTest.java diff --git a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/execution/ExecutionModuleDescriptor.java b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/execution/ExecutionModuleDescriptor.java index e87a14e4a..62f6682b1 100644 --- a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/execution/ExecutionModuleDescriptor.java +++ b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/execution/ExecutionModuleDescriptor.java @@ -1,9 +1,11 @@ package org.argeo.slc.execution; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; -public class ExecutionModuleDescriptor { +public class ExecutionModuleDescriptor implements Serializable { + private static final long serialVersionUID = 1L; private String name; private String version; private List executionSpecs = new ArrayList(); diff --git a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/process/SlcExecution.java b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/process/SlcExecution.java index cfef48033..5e745a2f0 100644 --- a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/process/SlcExecution.java +++ b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/process/SlcExecution.java @@ -1,11 +1,13 @@ package org.argeo.slc.process; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.TreeMap; -public class SlcExecution { +public class SlcExecution implements Serializable { + private static final long serialVersionUID = 1L; public final static String STATUS_SCHEDULED = "SCHEDULED"; public final static String STATUS_RUNNING = "RUNNING"; public final static String STATUS_FINISHED = "FINISHED"; diff --git a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/runtime/SlcAgentDescriptor.java b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/runtime/SlcAgentDescriptor.java index 1e29a95ed..9fac366e7 100644 --- a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/runtime/SlcAgentDescriptor.java +++ b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/runtime/SlcAgentDescriptor.java @@ -1,11 +1,13 @@ package org.argeo.slc.runtime; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; import org.argeo.slc.execution.ExecutionModuleDescriptor; -public class SlcAgentDescriptor implements Cloneable { +public class SlcAgentDescriptor implements Cloneable, Serializable { + private static final long serialVersionUID = 1L; private String uuid; private String host; private List moduleDescriptors = new ArrayList(); diff --git a/runtime/org.argeo.slc.support.castor/src/main/resources/org/argeo/slc/castor/msg.xml b/runtime/org.argeo.slc.support.castor/src/main/resources/org/argeo/slc/castor/msg.xml index 0ba1fdeed..b295a610f 100644 --- a/runtime/org.argeo.slc.support.castor/src/main/resources/org/argeo/slc/castor/msg.xml +++ b/runtime/org.argeo.slc.support.castor/src/main/resources/org/argeo/slc/castor/msg.xml @@ -24,7 +24,7 @@ - + diff --git a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/ObjectListCastorTest.java b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/ObjectListCastorTest.java new file mode 100644 index 000000000..12ba6a7d9 --- /dev/null +++ b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/ObjectListCastorTest.java @@ -0,0 +1,16 @@ +package org.argeo.slc.castor; + +import org.argeo.slc.msg.ObjectList; +import org.argeo.slc.runtime.SlcAgentDescriptor; + +public class ObjectListCastorTest extends AbstractCastorTestCase { + + public void testAgentDescriptorList() throws Exception { + SlcAgentDescriptor agentDescriptor = SlcAgentDescriptorCastorTest + .createMiniAgentDescriptor(); + ObjectList lst = new ObjectList(); + lst.getObjects().add(agentDescriptor); + ObjectList lstUnm = (ObjectList) marshUnmarsh(lst, false); + assertEquals(1, lstUnm.getObjects().size()); + } +} diff --git a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/SlcAgentDescriptorCastorTest.java b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/SlcAgentDescriptorCastorTest.java index 2e5e3afe2..bfe211ce6 100644 --- a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/SlcAgentDescriptorCastorTest.java +++ b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/SlcAgentDescriptorCastorTest.java @@ -3,17 +3,15 @@ package org.argeo.slc.castor; import java.util.ArrayList; import java.util.List; -import org.argeo.slc.execution.ExecutionFlowDescriptor; import org.argeo.slc.execution.ExecutionModuleDescriptor; -import org.argeo.slc.execution.ExecutionSpec; -import org.argeo.slc.msg.ObjectList; import org.argeo.slc.runtime.SlcAgentDescriptor; -import org.argeo.slc.unit.execution.ExecutionFlowDescriptorTestUtils; public class SlcAgentDescriptorCastorTest extends AbstractCastorTestCase { public void testMarshUnmarshMini() throws Exception { SlcAgentDescriptor agentDescriptor = createMiniAgentDescriptor(); - marshUnmarsh(agentDescriptor, false); + SlcAgentDescriptor agentDescriptorUnm = marshUnmarsh(agentDescriptor, + false); + assertSlcAgentDescriptor(agentDescriptor, agentDescriptorUnm); } public void testMarshUnmarshWithModuleDescriptor() throws Exception { @@ -26,13 +24,24 @@ public class SlcAgentDescriptorCastorTest extends AbstractCastorTestCase { lst.add(moduleDescriptor); agentDescriptor.setModuleDescriptors(lst); - marshUnmarsh(agentDescriptor, false); + SlcAgentDescriptor agentDescriptorUnm = marshUnmarsh(agentDescriptor, + false); + assertSlcAgentDescriptor(agentDescriptor, agentDescriptorUnm); } - - protected static SlcAgentDescriptor createMiniAgentDescriptor(){ + + protected static SlcAgentDescriptor createMiniAgentDescriptor() { SlcAgentDescriptor agentDescriptor = new SlcAgentDescriptor(); agentDescriptor.setHost("localhost"); agentDescriptor.setUuid("555"); return agentDescriptor; } + + protected static void assertSlcAgentDescriptor(SlcAgentDescriptor expected, + SlcAgentDescriptor reached) { + assertNotNull(reached); + assertEquals(expected.getHost(), reached.getHost()); + assertEquals(expected.getUuid(), expected.getUuid()); + assertEquals(expected.getModuleDescriptors().size(), reached + .getModuleDescriptors().size()); + } } diff --git a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ObjectList.java b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ObjectList.java index 9f057cc1f..886f47a32 100644 --- a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ObjectList.java +++ b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ObjectList.java @@ -1,23 +1,24 @@ package org.argeo.slc.msg; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; public class ObjectList { - private List objects = new ArrayList(); + private List objects = new ArrayList(); public ObjectList() { } - public ObjectList(List objects) { - this.objects = objects; + public ObjectList(List objects) { + this.objects.addAll(objects); } - public List getObjects() { + public List getObjects() { return objects; } - public void setObjects(List objects) { + public void setObjects(List objects) { this.objects = objects; } -- 2.39.2