]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/context/SimpleParentContextAware.java
Introduce parent context
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / java / org / argeo / slc / core / test / context / SimpleParentContextAware.java
diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/context/SimpleParentContextAware.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/context/SimpleParentContextAware.java
new file mode 100644 (file)
index 0000000..08f54ac
--- /dev/null
@@ -0,0 +1,30 @@
+package org.argeo.slc.core.test.context;\r
+\r
+import java.util.Collection;\r
+import java.util.List;\r
+import java.util.Vector;\r
+\r
+import org.springframework.beans.factory.InitializingBean;\r
+\r
+public class SimpleParentContextAware extends SimpleContextAware implements\r
+               ParentContextAware, InitializingBean {\r
+       private List<ContextAware> children = new Vector<ContextAware>();\r
+\r
+       public Collection<ContextAware> getChildContexts() {\r
+               return children;\r
+       }\r
+\r
+       public void addChildContext(ContextAware contextAware) {\r
+               children.add(contextAware);\r
+       }\r
+\r
+       @Override\r
+       public void afterPropertiesSet() throws Exception {\r
+               if (getParentContext() != null) {\r
+                       // If has a parent, sync it.\r
+                       super.afterPropertiesSet();\r
+               } else {\r
+                       ContextUtils.synchronize(this);\r
+               }\r
+       }\r
+}\r