PortletAppDD dd = service.read(in);
assertEquals("1.0", dd.getVersion());
assertEquals(1, dd.getPortlets().size());
PortletDD pd = (PortletDD)dd.getPortlets().get(0);
assertEquals(2, pd.getDisplayNames().size());
assertEquals(1, pd.getDescriptions().size());
assertEquals("About Portlet", ((DisplayNameDD)pd.getDisplayNames().get(0)).getDisplayName());
assertEquals("en", ((DisplayNameDD)pd.getDisplayNames().get(0)).getLang());
assertEquals("fr", ((DisplayNameDD)pd.getDisplayNames().get(1)).getLang());
assertEquals(30, pd.getExpirationCache());
assertEquals(1, pd.getSupportedLocales().size());
assertEquals("en", pd.getSupportedLocales().get(0));
assertEquals(1, pd.getInitParams().size());
assertEquals(1, ((InitParamDD)pd.getInitParams().get(0)).getDescriptions().size());
assertEquals(2, dd.getCustomPortletModes().size());
assertEquals(2, dd.getCustomWindowStates().size());
assertEquals(1, dd.getUserAttributes().size());
assertEquals(1, dd.getSecurityConstraints().size());