InputSource is = new InputSource( new FileReader(map) );
is.setSystemId( mapFile );
mapping.loadMapping( is );
System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++");
Unmarshaller unmarshaller = new Unmarshaller(mapping);
Portlets rootset = (Portlets)unmarshaller.unmarshal(reader);
System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++");
assertTrue(rootset.getName().equals("theRootSet"));
assertTrue(rootset.getId().equals("01"));
MetaInfo meta = rootset.getMetaInfo();
assertNotNull(meta);
assertTrue(meta.getTitle().equals("Jetspeed"));
assertTrue(meta.getDescription().equals("This is the default page for me"));
assertTrue(meta.getImage().equals("me.png"));
assertTrue(rootset.getTitle().equals("Jetspeed"));
assertTrue(rootset.getDescription().equals("This is the default page for me"));
assertTrue(rootset.getImage().equals("me.png"));
Security security = rootset.getSecurity();
assertNotNull(security);
assertTrue(security.getId().equals("999"));
Iterator params = rootset.getParameterIterator();
Parameter param = (Parameter)params.next();
assertTrue(param.getName().equals("city"));
assertTrue(param.getValue().equals("Atlanta"));
param = (Parameter)params.next();
assertTrue(param.getName().equals("state"));
assertTrue(param.getValue().equals("Georgia"));
param = (Parameter)params.next();
assertTrue(param.getName().equals("country"));
assertTrue(param.getValue().equals("USA"));
assertTrue(rootset.getParameterValue("city").equals("Atlanta"));
assertTrue(rootset.getParameterValue("country").equals("USA"));
assertTrue(rootset.getParameter("state").getValue().equals("Georgia"));
Skin skin = rootset.getSkin();
assertNotNull(skin);
assertTrue(skin.getName().equals("skinny"));
assertTrue(skin.getState().equals("DETACHED"));
Iterator skinParams = skin.getParameterIterator();
assertNotNull(skinParams);
Parameter skinParam = (Parameter)skinParams.next();
assertTrue(skinParam.getName().equals("a"));
assertTrue(skinParam.getValue().equals("1"));
skinParam = (Parameter)skinParams.next();
assertTrue(skinParam.getName().equals("b"));
assertTrue(skinParam.getValue().equals("2"));
Layout layout = rootset.getLayout();
assertNotNull(layout);
assertTrue(layout.getName().equals("layout1"));
assertTrue(layout.getSize() == 1);
assertTrue(layout.getPosition() == 3);
Iterator layoutParams = layout.getParameterIterator();
assertNotNull(layoutParams);
Parameter layoutParam = (Parameter)layoutParams.next();
assertTrue(layoutParam.getName().equals("a"));
assertTrue(layoutParam.getValue().equals("1"));
layoutParam = (Parameter)layoutParams.next();
assertTrue(layoutParam.getName().equals("b"));
assertTrue(layoutParam.getValue().equals("2"));
Control control = rootset.getControl();
assertNotNull(control);
Iterator controlParams = control.getParameterIterator();
assertNotNull(controlParams);
Parameter controlParam = (Parameter)controlParams.next();
assertTrue(control.getName().equals("TabControl"));
assertTrue(controlParam.getName().equals("a"));
assertTrue(controlParam.getValue().equals("1"));
controlParam = (Parameter)controlParams.next();
assertTrue(controlParam.getName().equals("b"));
assertTrue(controlParam.getValue().equals("2"));
Controller controller = rootset.getController();
assertNotNull(controller);
Iterator controllerParams = controller.getParameterIterator();
assertNotNull(controllerParams);
Parameter controllerParam = (Parameter)controllerParams.next();
assertTrue(controller.getName().equals("TabController"));
assertTrue(controllerParam.getName().equals("a"));
assertTrue(controllerParam.getValue().equals("1"));
controllerParam = (Parameter)controllerParams.next();
assertTrue(controllerParam.getName().equals("b"));
assertTrue(controllerParam.getValue().equals("2"));
Iterator entries = rootset.getEntriesIterator();
assertNotNull(entries);
Entry entry = (Entry)entries.next();
assertTrue(entry.getParent().equals("LoggedInWelcome"));
assertTrue(entry.getId().equals("03"));
Layout elayout = entry.getLayout();
assertNotNull(elayout);
Iterator elayoutParams = elayout.getParameterIterator();
assertNotNull(elayoutParams);
Parameter elayoutParam = (Parameter)elayoutParams.next();
assertTrue(elayoutParam.getName().equals("column"));
elayoutParam = (Parameter)elayoutParams.next();
assertTrue(elayoutParam.getName().equals("row"));
Iterator pv = rootset.getPortletsIterator();
Portlets p = (Portlets)pv.next();
assertNotNull(p);
Controller pc = p.getController();
assertNotNull(pc);
assertTrue(pc.getName().equals("TwoColumns"));
Iterator pe = p.getEntriesIterator();
assertNotNull(pe);
Entry e1 = (Entry)pe.next();
assertTrue(e1.getParent().equals("HelloWhatever"));
assertTrue(e1.getId().equals("99"));
Entry e2 = (Entry)pe.next();
assertTrue(e2.getParent().equals("HelloVelocity"));
assertTrue(e2.getId().equals("100"));
Entry e3 = (Entry)pe.next();
assertTrue(e3.getParent().equals("HelloCleveland"));
assertTrue(e3.getId().startsWith("P-"));
System.out.println(e3.getId());
Iterator rv = p.getReferenceIterator();
assertNotNull(rv);
Reference ref = (Reference)rv.next();
assertNotNull(ref);
assertTrue(ref.getName().equals("ReferenceTest"));
assertTrue(ref.getId().equals("300"));
Portlets epr = ref.getPortletsReference();
assertNotNull(epr);
assertEquals("group/apache/page/news/media-type/html", ref.getPath());
/* SHIT