1   /*
2    * Created on Nov 15, 2003
3    * 
4    * Copyright neotechnologies.org
5    */
6   package org.neo.swarm.util.serialize;
7   
8   import java.net.InetAddress;
9   import java.net.UnknownHostException;
10  
11  import junit.framework.TestCase;
12  
13  import org.neo.swarm.ApplicationContext;
14  import org.neo.swarm.SwarmApplicationContext;
15  import org.neo.swarm.core.aop.silc.SilcAspectContainer;
16  import org.neo.swarm.core.container.pico.PicoComponentContainer;
17  import org.neo.swarm.core.container.pico.SilcComponentAdapterFactoryImpl;
18  import org.neo.swarm.interceptor.logging.Tracer;
19  import org.neo.swarm.interceptor.tcp.TcpClient;
20  import org.neo.swarm.util.serialize.Serializer;
21  import org.neo.swarm.util.serialize.XMLSerializer;
22  
23  /***
24   * This object does.....
25   * 
26   * @author neil.avery
27   */
28  public class XMLSerializerTest extends TestCase {
29  
30  	public void testWithSimpleObject() throws Exception {
31  		Serializer ser = new XMLSerializer();
32  		byte[] stuff = ser.serialize(new SimpleObject("testXML"));
33  		SimpleObject so = (SimpleObject) ser.deserialize(stuff);
34  		assertEquals("testXML", so.boo);
35  		
36  	}
37  	public void testAppContext() throws Exception {
38  		ApplicationContext ac = createPicoAppContext();
39  		ac.addPreConstructedComponent("ac", ac);
40  		
41  		
42  		byte[] boo = new XMLSerializer().serialize(ac.retrieveComponent("ac"));
43  		String blah = new String(boo);
44  		ApplicationContext ace= (ApplicationContext) new XMLSerializer().deserialize(boo);
45  		System.out.println("length is:"+blah.length());
46  	}
47  
48  	  private SwarmApplicationContext createPicoAppContext() throws UnknownHostException {
49          SilcAspectContainer aspectContainer = new SilcAspectContainer();
50          SilcComponentAdapterFactoryImpl componentInstantiatorFactory = new SilcComponentAdapterFactoryImpl(aspectContainer);
51          PicoComponentContainer componentContainer = new PicoComponentContainer(componentInstantiatorFactory);
52          SwarmApplicationContext appContexts = new SwarmApplicationContext("test", componentContainer, aspectContainer);
53          appContexts.addAspect( new Tracer(true));
54          appContexts.addAspect( new TcpClient(InetAddress.getLocalHost(), 1234, null, new XMLSerializer()));
55          return appContexts;
56      }
57  }