RuntimeTreeRoot runtime = new RuntimeTreeRoot("root");
EntityNode small = new EntityNode("small");
AspectNode fluid = new AspectNode("fluid");
AspectSubTreeNode visualization = new AspectSubTreeNode(
AspectTreeType.VISUALIZATION_TREE);
CompositeNode elastic = new CompositeNode("Elastic");
CompositeNode liquid = new CompositeNode("Liquid");
CompositeNode boundary = new CompositeNode("Boundary");
ParticleNode p0 = new ParticleNode("p[0]");
ParticleNode p1 = new ParticleNode("p[1]");
ParticleNode p2 = new ParticleNode("p[2]");
visualization.addChild(elastic);
visualization.addChild(liquid);
visualization.addChild(boundary);
fluid.addChild(visualization);
visualization.setModified(true);
liquid.addChild(p0);
liquid.addChild(p1);
liquid.addChild(p2);
AspectSubTreeNode simulation = new AspectSubTreeNode(
AspectTreeType.WATCH_TREE);
// CompositeNode dummyNode0 = new CompositeNode("particle[0]");
CompositeNode particle = new CompositeNode("particle[1]");
CompositeNode position = new CompositeNode("position");
VariableNode anotherDummyNode0 = new VariableNode("v");
PhysicalQuantity quantity = new PhysicalQuantity();
quantity.setValue(ValuesFactory.getDoubleValue(20d));
PhysicalQuantity quantity2 = new PhysicalQuantity();
quantity2.setValue(ValuesFactory.getDoubleValue(100d));
anotherDummyNode0.addPhysicalQuantity(quantity);
anotherDummyNode0.addPhysicalQuantity(quantity2);
VariableNode anotherDummyNode1 = new VariableNode("v");
PhysicalQuantity quantity3 = new PhysicalQuantity();
quantity3.setValue(ValuesFactory.getDoubleValue(55d));
PhysicalQuantity quantity4 = new PhysicalQuantity();
quantity4.setValue(ValuesFactory.getDoubleValue(65d));
anotherDummyNode1.addPhysicalQuantity(quantity3);
anotherDummyNode1.addPhysicalQuantity(quantity4);
simulation.addChild(particle);
particle.addChild(position);
position.addChild(anotherDummyNode1);
runtime.addChild(small);
small.getAspects().add(fluid);
fluid.setParent(small);
fluid.addChild(simulation);
simulation.setModified(true);
fluid.setModified(true);
small.updateParentEntitiesFlags(true);
SerializeTreeVisitor visitor = new SerializeTreeVisitor();
runtime.apply(visitor);
String serialized = visitor.getSerializedTree();