You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemind.apache.org by ah...@apache.org on 2006/06/18 23:52:43 UTC
svn commit: r415201 [2/2] - in
/jakarta/hivemind/branches/branch-2-0-annot/xml/src: descriptor/META-INF/
java/org/apache/hivemind/ java/org/apache/hivemind/ant/
java/org/apache/hivemind/impl/ java/org/apache/hivemind/parse/
java/org/apache/hivemind/sch...
Copied: jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/impl/TestSchemaProcessor.java (from r413141, jakarta/hivemind/branches/branch-2-0-annot/framework/src/test/org/apache/hivemind/impl/TestSchemaProcessor.java)
URL: http://svn.apache.org/viewvc/jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/impl/TestSchemaProcessor.java?p2=jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/impl/TestSchemaProcessor.java&p1=jakarta/hivemind/branches/branch-2-0-annot/framework/src/test/org/apache/hivemind/impl/TestSchemaProcessor.java&r1=413141&r2=415201&rev=415201&view=diff
==============================================================================
--- jakarta/hivemind/branches/branch-2-0-annot/framework/src/test/org/apache/hivemind/impl/TestSchemaProcessor.java (original)
+++ jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/impl/TestSchemaProcessor.java Sun Jun 18 14:52:39 2006
@@ -17,7 +17,9 @@
import hivemind.test.services.StringHolder;
import hivemind.test.services.impl.StringHolderImpl;
+import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -25,15 +27,18 @@
import java.util.TreeSet;
import org.apache.hivemind.Location;
+import org.apache.hivemind.TranslatorManager;
import org.apache.hivemind.internal.Module;
import org.apache.hivemind.schema.SchemaProcessor;
import org.apache.hivemind.schema.Translator;
import org.apache.hivemind.schema.impl.AttributeModelImpl;
import org.apache.hivemind.schema.impl.ElementModelImpl;
import org.apache.hivemind.schema.impl.SchemaImpl;
+import org.apache.hivemind.schema.rules.AddToMapRule;
import org.apache.hivemind.schema.rules.CreateObjectRule;
import org.apache.hivemind.schema.rules.InvokeParentRule;
import org.apache.hivemind.schema.rules.NullTranslator;
+import org.apache.hivemind.schema.rules.PushAttributeRule;
import org.apache.hivemind.schema.rules.ReadAttributeRule;
import org.apache.hivemind.schema.rules.ReadContentRule;
import org.apache.hivemind.test.HiveMindTestCase;
@@ -52,8 +57,11 @@
{
MockControl control = newControl(Module.class);
Module m = (Module) control.getMock();
+
+ MockControl tmControl = newControl(TranslatorManager.class);
+ TranslatorManager tm = (TranslatorManager) tmControl.getMock();
- ElementModelImpl em = new ElementModelImpl();
+ ElementModelImpl em = new ElementModelImpl("module");
em.setElementName("fred");
em.setContentTranslator("smart");
@@ -67,9 +75,8 @@
em.addRule(new InvokeParentRule("addElement"));
- SchemaImpl schema = new SchemaImpl();
+ SchemaImpl schema = new SchemaImpl("module");
schema.addElementModel(em);
- schema.setModule(m);
SchemaProcessorImpl p = new SchemaProcessorImpl(null, schema);
@@ -78,6 +85,9 @@
element.setContent("flintstone");
List elements = Collections.singletonList(element);
+
+ m.getModule("module");
+ control.setReturnValue(m);
m.resolveType("hivemind.test.services.impl.StringHolderImpl");
control.setReturnValue(StringHolderImpl.class);
@@ -85,17 +95,16 @@
m.expandSymbols("flintstone", null);
control.setReturnValue("flintstone");
- m.getTranslator("smart");
- control.setReturnValue(new NullTranslator());
-
+ tm.getTranslator("smart");
+ tmControl.setReturnValue(new NullTranslator());
+
replayControls();
- p.process(elements, m);
-
- List l = p.getElements();
+ List dest = new ArrayList();
+ p.process(dest, elements, m, tm);
- assertEquals(1, l.size());
- StringHolder h = (StringHolder) l.get(0);
+ assertEquals(1, dest.size());
+ StringHolder h = (StringHolder) dest.get(0);
assertEquals("flintstone", h.getValue());
@@ -106,8 +115,11 @@
{
MockControl control = newControl(Module.class);
Module m = (Module) control.getMock();
+
+ MockControl tmControl = newControl(TranslatorManager.class);
+ TranslatorManager tm = (TranslatorManager) tmControl.getMock();
- ElementModelImpl em = new ElementModelImpl();
+ ElementModelImpl em = new ElementModelImpl("module");
em.setElementName("fred");
// No content handler specified
@@ -121,9 +133,8 @@
em.addRule(new InvokeParentRule("addElement"));
- SchemaImpl schema = new SchemaImpl();
+ SchemaImpl schema = new SchemaImpl("module");
schema.addElementModel(em);
- schema.setModule(m);
SchemaProcessorImpl p = new SchemaProcessorImpl(null, schema);
@@ -139,14 +150,16 @@
m.expandSymbols("flintstone", null);
control.setReturnValue("flintstone");
+ m.getModule("module");
+ control.setReturnValue(m);
+
replayControls();
- p.process(elements, m);
-
- List l = p.getElements();
+ List dest = new ArrayList();
+ p.process(dest, elements, m, tm);
- assertEquals(1, l.size());
- StringHolder h = (StringHolder) l.get(0);
+ assertEquals(1, dest.size());
+ StringHolder h = (StringHolder) dest.get(0);
assertEquals("flintstone", h.getValue());
@@ -157,8 +170,11 @@
{
MockControl control = newControl(Module.class);
Module m = (Module) control.getMock();
+
+ MockControl tmControl = newControl(TranslatorManager.class);
+ TranslatorManager tm = (TranslatorManager) tmControl.getMock();
- ElementModelImpl em = new ElementModelImpl();
+ ElementModelImpl em = new ElementModelImpl("module");
AttributeModelImpl am = new AttributeModelImpl();
am.setName("wife");
@@ -177,9 +193,8 @@
em.addRule(new InvokeParentRule("addElement"));
- SchemaImpl schema = new SchemaImpl();
+ SchemaImpl schema = new SchemaImpl("module");
schema.addElementModel(em);
- schema.setModule(m);
SchemaProcessorImpl p = new SchemaProcessorImpl(null, schema);
@@ -188,6 +203,9 @@
element.addAttribute(new AttributeImpl("wife", "wilma"));
List elements = Collections.singletonList(element);
+
+ m.getModule("module");
+ control.setReturnValue(m);
m.resolveType("hivemind.test.services.impl.StringHolderImpl");
control.setReturnValue(StringHolderImpl.class);
@@ -195,17 +213,16 @@
m.expandSymbols("wilma", null);
control.setReturnValue("wilma");
- m.getTranslator("service");
- control.setReturnValue(new NullTranslator());
+ tm.getTranslator("service");
+ tmControl.setReturnValue(new NullTranslator());
replayControls();
- p.process(elements, m);
+ List dest = new ArrayList();
+ p.process(dest, elements, m, tm);
- List l = p.getElements();
-
- assertEquals(1, l.size());
- StringHolder h = (StringHolder) l.get(0);
+ assertEquals(1, dest.size());
+ StringHolder h = (StringHolder) dest.get(0);
assertEquals("wilma", h.getValue());
@@ -246,34 +263,41 @@
public void testKeyedElement()
{
- ElementModelImpl em = new ElementModelImpl();
+ ElementModelImpl em = new ElementModelImpl("module");
+
+ MockControl tmControl = newControl(TranslatorManager.class);
+ TranslatorManager tm = (TranslatorManager) tmControl.getMock();
em.setElementName("cartoon");
- em.setKeyAttribute("name");
AttributeModelImpl am = new AttributeModelImpl();
am.setName("name");
am.setTranslator("cartoon");
em.addAttributeModel(am);
+
+ PushAttributeRule nameRule = new PushAttributeRule();
+ nameRule.setAttributeName("name");
+ em.addRule(nameRule);
+
em.addRule(new CreateObjectRule("StringHolderImpl"));
-
+
ReadContentRule rule = new ReadContentRule();
rule.setPropertyName("value");
em.addRule(rule);
+
+ InvokeParentRule rule2 = new InvokeParentRule("put");
+ rule2.setParameterCount(2);
+ em.addRule(rule2);
- em.addRule(new InvokeParentRule("addElement"));
-
- SchemaImpl schema = new SchemaImpl();
+ SchemaImpl schema = new SchemaImpl("module");
schema.addElementModel(em);
MockControl control = newControl(Module.class);
Module m = (Module) control.getMock();
- schema.setModule(m);
-
SchemaProcessorImpl p = new SchemaProcessorImpl(null, schema);
ElementImpl element = new ElementImpl();
@@ -283,8 +307,14 @@
List elements = Collections.singletonList(element);
- m.getTranslator("cartoon");
- control.setReturnValue(new NullTranslator());
+ tm.getTranslator("cartoon");
+ tmControl.setReturnValue(new NullTranslator());
+
+ m.expandSymbols("${flintstone}", null);
+ control.setReturnValue("flintstone");
+
+ m.getModule("module");
+ control.setReturnValue(m);
m.resolveType("StringHolderImpl");
control.setReturnValue(StringHolderImpl.class);
@@ -292,14 +322,14 @@
m.expandSymbols("${fred}", null);
control.setReturnValue("fred");
- m.expandSymbols("${flintstone}", null);
- control.setReturnValue("flintstone");
+ m.expandSymbols("${fred}", null);
+ control.setReturnValue("fred");
MockControl tControl = newControl(Translator.class);
Translator t = (Translator) tControl.getMock();
- m.getTranslator("cartoon");
- control.setReturnValue(t);
+// tm.getTranslator("cartoon");
+// tmControl.setReturnValue(t);
Object flintstoneKey = new Object();
t.translate(m, Object.class, "flintstone", element.getLocation());
@@ -307,13 +337,13 @@
replayControls();
- p.process(elements, m);
+ Map dest = new HashMap();
+ p.process(dest, elements, m, tm);
- Map map = p.getMappedElements();
-
- assertEquals(1, map.size());
- StringHolder h = (StringHolder) map.get(flintstoneKey);
+ assertEquals(1, dest.size());
+ StringHolder h = (StringHolder) dest.get(flintstoneKey);
+ assertNotNull(h);
assertEquals("fred", h.getValue());
verifyControls();
@@ -326,7 +356,7 @@
*/
public void testUniqueElement()
{
- ElementModelImpl em = new ElementModelImpl();
+ ElementModelImpl em = new ElementModelImpl("module");
em.setElementName("cartoon");
@@ -347,7 +377,7 @@
em.addRule(new InvokeParentRule("addElement"));
- SchemaImpl schema = new SchemaImpl();
+ SchemaImpl schema = new SchemaImpl("module");
schema.addElementModel(em);
MockControl control1 = newControl(Module.class);
@@ -356,8 +386,6 @@
MockControl control2 = newControl(Module.class);
Module m2 = (Module) control2.getMock();
- schema.setModule(m1);
-
SchemaProcessorImpl p = new SchemaProcessorImpl(null, schema);
Location location1 = newLocation();
@@ -378,59 +406,66 @@
MockControl tControl1 = newControl(Translator.class);
Translator t1 = (Translator) tControl1.getMock();
-
- m1.getTranslator("qualified-id");
- control1.setReturnValue(t1);
-
- String flintstoneKeyModule1 = "m1.flintstone";
- t1.translate(m1, Object.class, "flintstone", element1.getLocation());
- tControl1.setReturnValue(flintstoneKeyModule1);
-
+
+ MockControl tmControl = newControl(TranslatorManager.class);
+ TranslatorManager tm = (TranslatorManager) tmControl.getMock();
+
+ m1.getModule("module");
+ control1.setReturnValue(m1);
+
+ m2.getModule("module");
+ control2.setReturnValue(m2);
+
m1.resolveType("StringHolderImpl");
control1.setReturnValue(StringHolderImpl.class);
-
+
m1.expandSymbols("flintstone", location1);
control1.setReturnValue("flintstone");
+
+ m2.resolveType("StringHolderImpl");
+ control2.setReturnValue(StringHolderImpl.class);
+
+ m2.expandSymbols("flintstone", location2);
+ control2.setReturnValue("flintstone");
+
+ tm.getTranslator("qualified-id");
+ tmControl.setReturnValue(t1);
- m1.getTranslator("qualified-id");
- control1.setReturnValue(t1);
+ String flintstoneKeyModule1 = "m1.flintstone";
+ t1.translate(m1, Object.class, "flintstone", element1.getLocation());
+ tControl1.setReturnValue(flintstoneKeyModule1);
+ tm.getTranslator("qualified-id");
+ tmControl.setReturnValue(t1);
t1.translate(m1, String.class, "flintstone", element1.getLocation());
tControl1.setReturnValue(flintstoneKeyModule1);
- m1.resolveType("StringHolderImpl");
- control1.setReturnValue(StringHolderImpl.class);
-
MockControl tControl2 = newControl(Translator.class);
Translator t2 = (Translator) tControl2.getMock();
- m2.getTranslator("qualified-id");
- control2.setReturnValue(t2);
+ tm.getTranslator("qualified-id");
+ tmControl.setReturnValue(t2);
String flintstoneKeyModule2 = "m2.flintstone";
t2.translate(m2, Object.class, "flintstone", element2.getLocation());
tControl2.setReturnValue(flintstoneKeyModule2);
- m2.expandSymbols("flintstone", location2);
- control2.setReturnValue("flintstone");
-
- m2.getTranslator("qualified-id");
- control2.setReturnValue(t2);
+ tm.getTranslator("qualified-id");
+ tmControl.setReturnValue(t2);
t2.translate(m2, String.class, "flintstone", element2.getLocation());
tControl2.setReturnValue(flintstoneKeyModule2);
replayControls();
- p.process(elements1, m1);
- p.process(elements2, m2);
-
- List list = p.getElements();
+ List dest = new ArrayList();
+ p.process(dest, elements1, m1, tm);
+ p.process(dest, elements2, m2, tm);
- assertEquals(2, list.size());
+ assertEquals(2, dest.size());
Set keys = new TreeSet();
- for (Iterator iter = list.iterator(); iter.hasNext();)
+ for (Iterator iter = dest.iterator(); iter.hasNext();)
{
StringHolderImpl element = (StringHolderImpl) iter.next();
keys.add(element.getValue());
@@ -444,7 +479,7 @@
public void testGetAttributeDefault()
{
- ElementModelImpl em = new ElementModelImpl();
+ ElementModelImpl em = new ElementModelImpl("module");
em.setElementName("fred");
AttributeModelImpl am = new AttributeModelImpl();
Copied: jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/TestContains.java (from r413141, jakarta/hivemind/branches/branch-2-0-annot/framework/src/test/hivemind/test/TestContains.java)
URL: http://svn.apache.org/viewvc/jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/TestContains.java?p2=jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/TestContains.java&p1=jakarta/hivemind/branches/branch-2-0-annot/framework/src/test/hivemind/test/TestContains.java&r1=413141&r2=415201&rev=415201&view=diff
==============================================================================
--- jakarta/hivemind/branches/branch-2-0-annot/framework/src/test/hivemind/test/TestContains.java (original)
+++ jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/TestContains.java Sun Jun 18 14:52:39 2006
@@ -12,7 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package hivemind.test;
+package org.apache.hivemind.xml;
+
+import hivemind.test.FrameworkTestCase;
+import hivemind.test.IMultipleService;
+import hivemind.test.IUniqueService;
import org.apache.hivemind.Registry;
Copied: jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/TestSubModule.java (from r413141, jakarta/hivemind/branches/branch-2-0-annot/framework/src/test/hivemind/test/TestSubModule.java)
URL: http://svn.apache.org/viewvc/jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/TestSubModule.java?p2=jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/TestSubModule.java&p1=jakarta/hivemind/branches/branch-2-0-annot/framework/src/test/hivemind/test/TestSubModule.java&r1=413141&r2=415201&rev=415201&view=diff
==============================================================================
--- jakarta/hivemind/branches/branch-2-0-annot/framework/src/test/hivemind/test/TestSubModule.java (original)
+++ jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/TestSubModule.java Sun Jun 18 14:52:39 2006
@@ -12,8 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package hivemind.test;
+package org.apache.hivemind.xml;
+import hivemind.test.FrameworkTestCase;
import hivemind.test.services.SimpleService;
import org.apache.hivemind.Registry;
Added: jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/XmlTestCase.java
URL: http://svn.apache.org/viewvc/jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/XmlTestCase.java?rev=415201&view=auto
==============================================================================
--- jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/XmlTestCase.java (added)
+++ jakarta/hivemind/branches/branch-2-0-annot/xml/src/test/org/apache/hivemind/xml/XmlTestCase.java Sun Jun 18 14:52:39 2006
@@ -0,0 +1,61 @@
+// Copyright 2004, 2005 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.hivemind.xml;
+
+import hivemind.test.FrameworkTestCase;
+
+import org.apache.hivemind.Resource;
+import org.apache.hivemind.impl.DefaultErrorHandler;
+import org.apache.hivemind.parse.DependencyDescriptor;
+import org.apache.hivemind.parse.ModuleDescriptor;
+import org.apache.hivemind.parse.XmlResourceProcessor;
+
+/**
+ * Base class for xml specific tests.
+ *
+ * @author Achim Huegen
+ */
+public abstract class XmlTestCase extends FrameworkTestCase
+{
+
+ protected ModuleDescriptor parse(String file)
+ throws Exception
+ {
+ Resource location = getResource(file);
+ DefaultErrorHandler eh = new DefaultErrorHandler();
+
+ XmlResourceProcessor p = new XmlResourceProcessor(_resolver, eh);
+
+ ModuleDescriptor result = p.processResource(location);
+
+ return result;
+ }
+
+ /**
+ * Convenience method for creating a
+ * {@link org.apache.hivemind.parse.DependencyDescriptor}.
+ */
+ protected DependencyDescriptor createDependencyDescriptor(String moduleId, String version)
+ {
+ DependencyDescriptor result = new DependencyDescriptor();
+
+ result.setModuleId(moduleId);
+ result.setVersion(version);
+ result.setLocation(newLocation());
+
+ return result;
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-cvs-help@jakarta.apache.org