/*
* IronJacamar, a Java EE Connector Architecture implementation
* Copyright 2014, Red Hat Inc, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the Eclipse Public License 1.0 as
* published by the Free Software Foundation.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Eclipse
* Public License for more details.
*
* You should have received a copy of the Eclipse Public License
* along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.ironjacamar.common.metadata.spec;
import org.ironjacamar.common.api.metadata.common.TransactionSupportEnum;
import org.ironjacamar.common.api.metadata.spec.Activationspec;
import org.ironjacamar.common.api.metadata.spec.AdminObject;
import org.ironjacamar.common.api.metadata.spec.AuthenticationMechanism;
import org.ironjacamar.common.api.metadata.spec.ConfigProperty;
import org.ironjacamar.common.api.metadata.spec.ConnectionDefinition;
import org.ironjacamar.common.api.metadata.spec.Connector;
import org.ironjacamar.common.api.metadata.spec.Connector.Version;
import org.ironjacamar.common.api.metadata.spec.CredentialInterfaceEnum;
import org.ironjacamar.common.api.metadata.spec.Icon;
import org.ironjacamar.common.api.metadata.spec.InboundResourceAdapter;
import org.ironjacamar.common.api.metadata.spec.LicenseType;
import org.ironjacamar.common.api.metadata.spec.LocalizedXsdString;
import org.ironjacamar.common.api.metadata.spec.MessageListener;
import org.ironjacamar.common.api.metadata.spec.Messageadapter;
import org.ironjacamar.common.api.metadata.spec.OutboundResourceAdapter;
import org.ironjacamar.common.api.metadata.spec.RequiredConfigProperty;
import org.ironjacamar.common.api.metadata.spec.ResourceAdapter;
import org.ironjacamar.common.api.metadata.spec.SecurityPermission;
import org.ironjacamar.common.api.metadata.spec.XsdString;
import java.io.InputStream;
import java.io.StringReader;
import java.lang.reflect.Field;
import java.util.List;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamReader;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
/**
* JCA 1.6 tests
* @author <a href="mailto:jesper.pedersen@ironjacamar.org">Jesper Pedersen</a>
*/
public class JCA16TestCase
{
/**
* Read
* @throws Exception In case of an error
*/
@Test
public void testRead() throws Exception
{
RaParser parser = new RaParser();
InputStream is = JCA16TestCase.class.getClassLoader().
getResourceAsStream("../../resources/test/spec/ra-1.6.xml");
assertNotNull(is);
XMLStreamReader xsr = XMLInputFactory.newInstance().createXMLStreamReader(is);
Connector c = parser.parse(xsr);
assertNotNull(c);
is.close();
checkConnector(c);
}
/**
* Write
* @throws Exception In case of an error
*/
@Test
public void testWrite() throws Exception
{
RaParser parser = new RaParser();
InputStream is = JCA16TestCase.class.getClassLoader().
getResourceAsStream("../../resources/test/spec/ra-1.6.xml");
assertNotNull(is);
XMLStreamReader xsr = XMLInputFactory.newInstance().createXMLStreamReader(is);
Connector c = parser.parse(xsr);
assertNotNull(c);
is.close();
StringReader sr = new StringReader(c.toString());
XMLStreamReader nxsr = XMLInputFactory.newInstance().createXMLStreamReader(sr);
Connector cn = parser.parse(nxsr);
checkConnector(cn);
assertEquals(c, cn);
}
/**
* Equal
* @throws Exception In case of an error
*/
@Test
public void testEqual() throws Exception
{
RaParser parser = new RaParser();
InputStream is1 = JCA16TestCase.class.getClassLoader().
getResourceAsStream("../../resources/test/spec/ra-1.6.xml");
assertNotNull(is1);
XMLStreamReader xsr1 = XMLInputFactory.newInstance().createXMLStreamReader(is1);
Connector c1 = parser.parse(xsr1);
assertNotNull(c1);
is1.close();
InputStream is2 = JCA16TestCase.class.getClassLoader().
getResourceAsStream("../../resources/test/spec/ra-1.6.xml");
assertNotNull(is2);
XMLStreamReader xsr2 = XMLInputFactory.newInstance().createXMLStreamReader(is2);
Connector c2 = parser.parse(xsr2);
assertNotNull(c2);
is2.close();
assertEquals(c1, c2);
}
/**
* Copy
* @throws Exception In case of an error
*/
@Test
public void testCopy() throws Exception
{
RaParser parser = new RaParser();
InputStream is1 = JCA16TestCase.class.getClassLoader().
getResourceAsStream("../../resources/test/spec/ra-1.6.xml");
assertNotNull(is1);
XMLStreamReader xsr1 = XMLInputFactory.newInstance().createXMLStreamReader(is1);
Connector c1 = parser.parse(xsr1);
assertNotNull(c1);
is1.close();
Connector c2 = c1.copy();
assertEquals(c1, c2);
assertFalse(c1 == c2);
assertEquals(c1.toString(), c2.toString());
}
/**
* Checks connector
* @param connector
*/
private void checkConnector(Connector c) throws Exception
{
assertEquals("ID001", c.getId());
assertEquals(Version.V_16, c.getVersion());
assertFalse(c.isMetadataComplete());
assertEquals("module-name0", c.getModuleName());
Field fld = c.getClass().getDeclaredField("moduleName");
fld.setAccessible(true);
assertEquals("ID003", ((XsdString)fld.get(c)).getId());
List<LocalizedXsdString> lxs = c.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description0", "en-US", "ID005"));
assertTrue(lxs.toString(), containsDescription(lxs, "description1", "de", "ID007"));
lxs = c.getDisplayNames();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), contains(lxs, "display-name", "display-name0", "en-US", "ID009"));
assertTrue(lxs.toString(), contains(lxs, "display-name", "display-name1", "de", "ID011"));
List<Icon> li = c.getIcons();
assertEquals(2, li.size());
for (Icon i : li)
{
switch (i.getId())
{
case "ID013" :
{
assertEquals("en-US", i.getLang());
assertEquals(new XsdString("small-icon0", "ID015", "small-icon"), i.getSmallIcon());
assertEquals(new XsdString("large-icon0", "ID017", "large-icon"), i.getLargeIcon());
break;
}
case "ID019" :
{
assertEquals("de", i.getLang());
assertEquals(new XsdString("small-icon1", "ID021", "small-icon"), i.getSmallIcon());
assertEquals(new XsdString("large-icon1", "ID023", "large-icon"), i.getLargeIcon());
break;
}
default :
{
fail("Unexpected ID:" + i.getId());
}
}
}
assertEquals(new XsdString("vendor-name0", "ID025", "vendor-name"), c.getVendorName());
assertEquals(new XsdString("eis-type0", "ID027", "eis-type"), c.getEisType());
assertEquals(new XsdString("resourceadapter-version0", "ID029", "resourceadapter-version"),
c.getResourceadapterVersion());
LicenseType l = c.getLicense();
assertEquals("ID031", l.getId());
assertEquals("ID037", l.getLicReqId());
assertFalse(l.isLicenseRequired());
lxs = l.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description2", "en-US", "ID033"));
assertTrue(lxs.toString(), containsDescription(lxs, "description3", "de", "ID035"));
ResourceAdapter ra = c.getResourceadapter();
assertEquals("ID039", ra.getId());
assertEquals("resourceadapter-class0", ra.getResourceadapterClass());
fld = ra.getClass().getDeclaredField("resourceadapterClass");
fld.setAccessible(true);
assertEquals("ID041", ((XsdString)fld.get(ra)).getId());
List<ConfigProperty> lcp = ra.getConfigProperties();
assertEquals(2, lcp.size());
for (ConfigProperty cp : lcp)
{
switch (cp.getId())
{
case "ID043" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description4", "en-US", "ID045"));
assertTrue(lxs.toString(), containsDescription(lxs, "description5", "de", "ID047"));
assertEquals(new XsdString("config-property-name0", "ID049", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.Boolean", "ID051", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("true", "ID053", "config-property-value"), cp.getConfigPropertyValue());
assertFalse(cp.getConfigPropertyIgnore());
assertEquals("ID055", cp.getConfigPropertyIgnoreId());
assertFalse(cp.getConfigPropertyConfidential());
assertEquals("ID059", cp.getConfigPropertyConfidentialId());
assertFalse(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID057", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
case "ID061" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description6", "en-US", "ID063"));
assertTrue(lxs.toString(), containsDescription(lxs, "description7", "en-US", "ID065"));
assertEquals(new XsdString("config-property-name1", "ID067", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.String", "ID069", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("config-property-value1", "ID071", "config-property-value"),
cp.getConfigPropertyValue());
assertTrue(cp.getConfigPropertyIgnore());
assertEquals("ID073", cp.getConfigPropertyIgnoreId());
assertFalse(cp.getConfigPropertyConfidential());
assertEquals("ID077", cp.getConfigPropertyConfidentialId());
assertFalse(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID075", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
default :
{
fail("Unexpected ID:" + cp.getId());
}
}
}
OutboundResourceAdapter ora = ra.getOutboundResourceadapter();
assertEquals("ID079", ora.getId());
List<ConnectionDefinition> cdl = ora.getConnectionDefinitions();
assertEquals(2, cdl.size());
for (ConnectionDefinition cd : cdl)
{
switch (cd.getId())
{
case "ID081" :
{
assertEquals(new XsdString("managedconnectionfactory-class0", "ID083", "managedconnectionfactory-class"),
cd.getManagedConnectionFactoryClass());
assertEquals(new XsdString("connectionfactory-interface0", "ID121", "connectionfactory-interface"),
cd.getConnectionFactoryInterface());
assertEquals(new XsdString("connectionfactory-impl-class0", "ID123", "connectionfactory-impl-class"),
cd.getConnectionFactoryImplClass());
assertEquals(new XsdString("connection-interface0", "ID125", "connection-interface"),
cd.getConnectionInterface());
assertEquals(new XsdString("connection-impl-class0", "ID127", "connection-impl-class"),
cd.getConnectionImplClass());
List<ConfigProperty> cpl = cd.getConfigProperties();
assertEquals(2, cpl.size());
for (ConfigProperty cp : cpl)
{
switch (cp.getId())
{
case "ID085" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description8", "en-US", "ID087"));
assertTrue(lxs.toString(), containsDescription(lxs, "description9", "en-US", "ID089"));
assertEquals(new XsdString("config-property-name2", "ID091", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.Float", "ID093", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("5", "ID095", "config-property-value"), cp.getConfigPropertyValue());
assertFalse(cp.getConfigPropertyIgnore());
assertEquals("ID097", cp.getConfigPropertyIgnoreId());
assertFalse(cp.getConfigPropertyConfidential());
assertEquals("ID101", cp.getConfigPropertyConfidentialId());
assertTrue(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID099", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
case"ID103" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description10", "en-US", "ID105"));
assertTrue(lxs.toString(), containsDescription(lxs, "description11", "de", "ID107"));
assertEquals(new XsdString("config-property-name3", "ID109", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.Integer", "ID111", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("3", "ID113", "config-property-value"), cp.getConfigPropertyValue());
assertFalse(cp.getConfigPropertyIgnore());
assertEquals("ID115", cp.getConfigPropertyIgnoreId());
assertTrue(cp.getConfigPropertyConfidential());
assertEquals("ID119", cp.getConfigPropertyConfidentialId());
assertFalse(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID117", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
default :
{
fail("Unexpected ID:" + cp.getId());
}
}
}
break;
}
case "ID129" :
{
assertEquals(new XsdString("managedconnectionfactory-class1", "ID131", "managedconnectionfactory-class"),
cd.getManagedConnectionFactoryClass());
assertEquals(new XsdString("connectionfactory-interface1", "ID169", "connectionfactory-interface"),
cd.getConnectionFactoryInterface());
assertEquals(new XsdString("connectionfactory-impl-class1", "ID171", "connectionfactory-impl-class"),
cd.getConnectionFactoryImplClass());
assertEquals(new XsdString("connection-interface1", "ID173", "connection-interface"),
cd.getConnectionInterface());
assertEquals(new XsdString("connection-impl-class1", "ID175", "connection-impl-class"),
cd.getConnectionImplClass());
List<ConfigProperty> cpl = cd.getConfigProperties();
assertEquals(2, cpl.size());
for (ConfigProperty cp : cpl)
{
switch (cp.getId())
{
case "ID133" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description12", "en-US", "ID135"));
assertTrue(lxs.toString(), containsDescription(lxs, "description13", "en-US", "ID137"));
assertEquals(new XsdString("config-property-name4", "ID139", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.String", "ID141", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("config-property-value4", "ID143", "config-property-value"),
cp.getConfigPropertyValue());
assertFalse(cp.getConfigPropertyIgnore());
assertEquals("ID145", cp.getConfigPropertyIgnoreId());
assertFalse(cp.getConfigPropertyConfidential());
assertEquals("ID149", cp.getConfigPropertyConfidentialId());
assertFalse(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID147", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
case"ID151" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description14", "en-US", "ID153"));
assertTrue(lxs.toString(), containsDescription(lxs, "description15", "en-US", "ID155"));
assertEquals(new XsdString("config-property-name5", "ID157", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.String", "ID159", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("config-property-value5", "ID161", "config-property-value"),
cp.getConfigPropertyValue());
assertFalse(cp.getConfigPropertyIgnore());
assertEquals("ID163", cp.getConfigPropertyIgnoreId());
assertFalse(cp.getConfigPropertyConfidential());
assertEquals("ID167", cp.getConfigPropertyConfidentialId());
assertFalse(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID165", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
default :
{
fail("Unexpected ID:" + cp.getId());
}
}
}
break;
}
default :
{
fail("Unexpected ID:" + cd.getId());
}
}
}
assertEquals(TransactionSupportEnum.NoTransaction, ora.getTransactionSupport());
assertEquals("ID177", ora.getTransactionSupportId());
List<AuthenticationMechanism> ams = ora.getAuthenticationMechanisms();
assertEquals(2, ams.size());
for (AuthenticationMechanism am : ams)
{
switch (am.getId())
{
case "ID179" :
{
lxs = am.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description16", "en-US", "ID181"));
assertTrue(lxs.toString(), containsDescription(lxs, "description17", "de", "ID183"));
assertEquals(new XsdString("authentication-mechanism-type0", "ID185", "authentication-mechanism-type"),
am.getAuthenticationMechanismType());
assertEquals("ID187", am.getCredentialInterfaceId());
assertEquals(CredentialInterfaceEnum.PasswordCredential, am.getCredentialInterface());
break;
}
case "ID189" :
{
lxs = am.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description18", "en-US", "ID191"));
assertTrue(lxs.toString(), containsDescription(lxs, "description19", "en-US", "ID193"));
assertEquals(new XsdString("authentication-mechanism-type1", "ID195", "authentication-mechanism-type"),
am.getAuthenticationMechanismType());
assertEquals("ID197", am.getCredentialInterfaceId());
assertEquals(CredentialInterfaceEnum.GSSCredential, am.getCredentialInterface());
break;
}
default :
{
fail("Unexpected ID:" + am.getId());
}
}
}
assertEquals("ID199", ora.getReauthenticationSupportId());
assertTrue(ora.getReauthenticationSupport());
InboundResourceAdapter ira = ra.getInboundResourceadapter();
assertEquals("ID201", ira.getId());
Messageadapter ma = ira.getMessageadapter();
assertEquals("ID203", ma.getId());
List<MessageListener> mll = ma.getMessagelisteners();
assertEquals(2, mll.size());
for (MessageListener ml : mll)
{
switch (ml.getId())
{
case "ID205" :
{
assertEquals(new XsdString("messagelistener-type0", "ID207", "messagelistener-type"),
ml.getMessagelistenerType());
Activationspec as = ml.getActivationspec();
assertEquals("ID209", as.getId());
assertEquals(new XsdString("activationspec-class0", "ID211", "activationspec-class"),
as.getActivationspecClass());
List<ConfigProperty> cpl = as.getConfigProperties();
assertEquals(2, cpl.size());
for (ConfigProperty cp : cpl)
{
switch (cp.getId())
{
case "ID1331" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description12", "en-US", "ID1351"));
assertTrue(lxs.toString(), containsDescription(lxs, "description13", "en-US", "ID1371"));
assertEquals(new XsdString("config-property-name4", "ID1391", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.String", "ID1411", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("config-property-value4", "ID1431", "config-property-value"),
cp.getConfigPropertyValue());
assertFalse(cp.getConfigPropertyIgnore());
assertEquals("ID1451", cp.getConfigPropertyIgnoreId());
assertFalse(cp.getConfigPropertyConfidential());
assertEquals("ID1491", cp.getConfigPropertyConfidentialId());
assertFalse(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID1471", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
case"ID1511" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description14", "en-US", "ID1531"));
assertTrue(lxs.toString(), containsDescription(lxs, "description15", "en-US", "ID1551"));
assertEquals(new XsdString("config-property-name5", "ID1571", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.String", "ID1591", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("config-property-value5", "ID1611", "config-property-value"),
cp.getConfigPropertyValue());
assertFalse(cp.getConfigPropertyIgnore());
assertEquals("ID1631", cp.getConfigPropertyIgnoreId());
assertFalse(cp.getConfigPropertyConfidential());
assertEquals("ID1671", cp.getConfigPropertyConfidentialId());
assertFalse(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID1651", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
default :
{
fail("Unexpected ID:" + cp.getId());
}
}
}
List<RequiredConfigProperty> rcpl = as.getRequiredConfigProperties();
assertEquals(2, rcpl.size());
for (RequiredConfigProperty rcp : rcpl)
{
if (rcp.getId() != null && rcp.getId().equals("ID1530"))
{
lxs = rcp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description14", "en-US", "ID1532"));
assertTrue(lxs.toString(), containsDescription(lxs, "description15", "de", "ID1552"));
assertEquals(new XsdString("config-property-name5", "ID1554", "config-property-name"),
rcp.getConfigPropertyName());
}
else if (rcp.getId() == null)
{
lxs = rcp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description14", "en-US", "ID1533"));
assertTrue(lxs.toString(), containsDescription(lxs, "description15", "de", "ID1553"));
assertEquals(new XsdString("config-property-name4", null, "config-property-name"),
rcp.getConfigPropertyName());
}
else
{
fail("Unexpected ID:" + rcp.getId());
}
}
break;
}
case "ID213" :
{
assertEquals(new XsdString("messagelistener-type1", "ID215", "messagelistener-type"),
ml.getMessagelistenerType());
Activationspec as = ml.getActivationspec();
assertEquals("ID217", as.getId());
assertEquals(new XsdString("activationspec-class1", "ID219", "activationspec-class"),
as.getActivationspecClass());
assertEquals(0, as.getConfigProperties().size());
assertEquals(0, as.getRequiredConfigProperties().size());
break;
}
default :
{
fail("Unexpected ID:" + ml.getId());
}
}
}
List<AdminObject> lao = ra.getAdminObjects();
for (AdminObject ao : lao)
{
switch (ao.getId())
{
case "ID221" :
{
assertEquals(new XsdString("adminobject-interface0", "ID223", "adminobject-interface"),
ao.getAdminobjectInterface());
assertEquals(new XsdString("adminobject-class0", "ID225", "adminobject-class"),
ao.getAdminobjectClass());
List<ConfigProperty> cpl = ao.getConfigProperties();
assertEquals(2, cpl.size());
for (ConfigProperty cp : cpl)
{
switch (cp.getId())
{
case "ID227" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description20", "en-US", "ID229"));
assertTrue(lxs.toString(), containsDescription(lxs, "description21", "en-US", "ID231"));
assertEquals(new XsdString("config-property-name6", "ID233", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.String", "ID235", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("config-property-value6", "ID237", "config-property-value"),
cp.getConfigPropertyValue());
assertFalse(cp.getConfigPropertyIgnore());
assertEquals("ID239", cp.getConfigPropertyIgnoreId());
assertFalse(cp.getConfigPropertyConfidential());
assertEquals("ID243", cp.getConfigPropertyConfidentialId());
assertFalse(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID241", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
case"ID245" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description22", "en-US", "ID247"));
assertTrue(lxs.toString(), containsDescription(lxs, "description23", "en-US", "ID249"));
assertEquals(new XsdString("config-property-name7", "ID251", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.String", "ID253", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("config-property-value7", "ID255", "config-property-value"),
cp.getConfigPropertyValue());
assertFalse(cp.getConfigPropertyIgnore());
assertEquals("ID257", cp.getConfigPropertyIgnoreId());
assertFalse(cp.getConfigPropertyConfidential());
assertEquals("ID261", cp.getConfigPropertyConfidentialId());
assertFalse(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID259", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
default :
{
fail("Unexpected ID:" + cp.getId());
}
}
}
break;
}
case "ID263" :
{
assertEquals(new XsdString("adminobject-interface1", "ID265", "adminobject-interface"),
ao.getAdminobjectInterface());
assertEquals(new XsdString("adminobject-class1", "ID267", "adminobject-class"),
ao.getAdminobjectClass());
List<ConfigProperty> cpl = ao.getConfigProperties();
assertEquals(2, cpl.size());
for (ConfigProperty cp : cpl)
{
switch (cp.getId())
{
case "ID269" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description24", "en-US", "ID271"));
assertTrue(lxs.toString(), containsDescription(lxs, "description25", "en-US", "ID273"));
assertEquals(new XsdString("config-property-name8", "ID275", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.String", "ID277", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("config-property-value8", "ID279", "config-property-value"),
cp.getConfigPropertyValue());
assertFalse(cp.getConfigPropertyIgnore());
assertEquals("ID281", cp.getConfigPropertyIgnoreId());
assertFalse(cp.getConfigPropertyConfidential());
assertEquals("ID285", cp.getConfigPropertyConfidentialId());
assertFalse(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID283", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
case"ID287" :
{
lxs = cp.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description26", "en-US", "ID289"));
assertTrue(lxs.toString(), containsDescription(lxs, "description27", "en-US", "ID291"));
assertEquals(new XsdString("config-property-name9", "ID293", "config-property-name"),
cp.getConfigPropertyName());
assertEquals(new XsdString("java.lang.String", "ID295", "config-property-type"),
cp.getConfigPropertyType());
assertEquals(new XsdString("config-property-value9", "ID297", "config-property-value"),
cp.getConfigPropertyValue());
assertFalse(cp.getConfigPropertyIgnore());
assertEquals("ID299", cp.getConfigPropertyIgnoreId());
assertFalse(cp.getConfigPropertyConfidential());
assertEquals("ID303", cp.getConfigPropertyConfidentialId());
assertFalse(cp.getConfigPropertySupportsDynamicUpdates());
assertEquals("ID301", cp.getConfigPropertySupportsDynamicUpdatesId());
break;
}
default :
{
fail("Unexpected ID:" + cp.getId());
}
}
}
break;
}
default :
{
fail("Unexpected ID:" + ao.getId());
}
}
}
List<SecurityPermission> ls = ra.getSecurityPermissions();
assertEquals(2, ls.size());
for (SecurityPermission s : ls)
{
switch (s.getId())
{
case "ID305" :
{
lxs = s.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description28", "en-US", "ID307"));
assertTrue(lxs.toString(), containsDescription(lxs, "description29", "de", "ID309"));
assertEquals(new XsdString("security-permission-spec0", "ID311", "security-permission-spec"),
s.getSecurityPermissionSpec());
break;
}
case "ID313" :
{
lxs = s.getDescriptions();
assertEquals(2, lxs.size());
assertTrue(lxs.toString(), containsDescription(lxs, "description30", "en-US", "ID315"));
assertTrue(lxs.toString(), containsDescription(lxs, "description31", "en-US", "ID317"));
assertEquals(new XsdString("security-permission-spec1", "ID319", "security-permission-spec"),
s.getSecurityPermissionSpec());
break;
}
default:
{
fail("Unexpected ID:" + s.getId());
}
}
}
List<String> lr = c.getRequiredWorkContexts();
assertEquals(2, lr.size());
assertTrue(lr.contains("required-work-context0"));
assertTrue(lr.contains("required-work-context1"));
}
/**
* Checks if a list contains the LocalizedXsdString
* @param lxs list
* @param tag of LocalizedXsdString
* @param value of LocalizedXsdString
* @param lang attribute of LocalizedXsdString
* @param id attribute of LocalizedXsdString
* @return true if contains, false otherwise
*/
private boolean contains(List<LocalizedXsdString> lxs, String tag, String value, String lang, String id)
{
return lxs.contains(new LocalizedXsdString(value, id, lang, tag));
}
/**
* Checks if a list contains the LocalizedXsdString with a description tag
* @param lxs list
* @param value of LocalizedXsdString
* @param lang attribute of LocalizedXsdString
* @param id attribute of LocalizedXsdString
* @return true if contains, false otherwise
*/
private boolean containsDescription(List<LocalizedXsdString> lxs, String value, String lang, String id)
{
return contains(lxs, "description", value, lang, id);
}
}