use of org.eclipse.xsd.XSDModelGroup in project tmdm-studio-se by Talend.
the class UtilTest method testIsBuildInType.
@Test
public void testIsBuildInType() {
XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition) schema.getElementDeclarations().get(0).getTypeDefinition();
XSDModelGroup group = (XSDModelGroup) ((XSDParticle) complexType.getContent()).getTerm();
XSDElementDeclaration el = (XSDElementDeclaration) group.getParticles().get(0).getTerm();
boolean ret = Util.isBuildInType((XSDSimpleTypeDefinition) el.getType());
assertEquals(ret, true);
}
use of org.eclipse.xsd.XSDModelGroup in project tmdm-studio-se by Talend.
the class UtilTest method testGetRealKeyInfos.
@Test
public void testGetRealKeyInfos() throws Exception {
XSDSchema xsdSchema = createSchema();
XSDElementDeclaration elementDeclaration = null;
EList<XSDElementDeclaration> declarations = xsdSchema.getElementDeclarations();
for (XSDElementDeclaration xed : declarations) {
if (xed.getName().equals("opo")) {
// $NON-NLS-1$
elementDeclaration = xed;
break;
}
}
if (elementDeclaration != null) {
XSDComplexTypeDefinition childType = (XSDComplexTypeDefinition) elementDeclaration.getType();
childType = (XSDComplexTypeDefinition) childType.getBaseTypeDefinition();
childType = (XSDComplexTypeDefinition) childType.getBaseTypeDefinition();
XSDParticle xsdParticle = (XSDParticle) childType.getContent();
XSDModelGroup modelGroup = (XSDModelGroup) xsdParticle.getTerm();
EList<XSDParticle> particles = modelGroup.getParticles();
XSDParticle primaryKeyParticle = null;
XSDParticle nonePrimaryKeyParticle = null;
for (XSDParticle particle : particles) {
XSDElementDeclaration term = (XSDElementDeclaration) particle.getTerm();
if (term.getName().equals("Id")) {
// $NON-NLS-1$
primaryKeyParticle = particle;
break;
} else {
nonePrimaryKeyParticle = particle;
}
}
if (nonePrimaryKeyParticle == null) {
nonePrimaryKeyParticle = particles.get(particles.size() - 1);
}
assertNull(Util.getRealKeyInfos(null, null));
assertNull(Util.getRealKeyInfos(elementDeclaration, null));
assertNull(Util.getRealKeyInfos(null, primaryKeyParticle));
assertEquals(Util.getRealKeyInfos(elementDeclaration, nonePrimaryKeyParticle).size(), 0);
List<Object> realKeyInfos = Util.getRealKeyInfos(elementDeclaration, primaryKeyParticle);
assertNotNull(realKeyInfos);
assertEquals(realKeyInfos.size(), 2);
assertTrue((realKeyInfos.get(0) instanceof XSDIdentityConstraintDefinition));
assertTrue((realKeyInfos.get(1) instanceof XSDXPathDefinition));
// $NON-NLS-1$
assertEquals(((XSDXPathDefinition) realKeyInfos.get(1)).getValue(), "Id");
}
}
use of org.eclipse.xsd.XSDModelGroup in project tmdm-studio-se by Talend.
the class UtilTest method testGetTopElement.
@Test
public void testGetTopElement() {
try {
XSDFactory factory = XSDFactory.eINSTANCE;
//
XSDElementDeclaration concept = factory.createXSDElementDeclaration();
// concept with three children
// $NON-NLS-1$
String element1 = "Id";
// $NON-NLS-1$
String element2 = "code";
// $NON-NLS-1$
String element3 = "address";
XSDSchema xsdSchema = factory.createXSDSchema();
xsdSchema.getContents().add(concept);
XSDComplexTypeDefinition xsdComplexTypeDef = factory.createXSDComplexTypeDefinition();
xsdComplexTypeDef.setBaseTypeDefinition(// $NON-NLS-1$
xsdSchema.resolveComplexTypeDefinition(xsdSchema.getSchemaForSchemaNamespace(), "anyType"));
xsdSchema.getContents().add(xsdComplexTypeDef);
XSDParticle xsdParticle = factory.createXSDParticle();
xsdComplexTypeDef.setContent(xsdParticle);
XSDModelGroup xsdModelGroup = factory.createXSDModelGroup();
xsdParticle.setContent(xsdModelGroup);
concept.setAnonymousTypeDefinition(xsdComplexTypeDef);
XSDParticle childParticle1 = factory.createXSDParticle();
XSDElementDeclaration childElement1 = factory.createXSDElementDeclaration();
childElement1.setName(element1);
childParticle1.setContent(childElement1);
XSDParticle childParticle2 = factory.createXSDParticle();
XSDElementDeclaration childElement2 = factory.createXSDElementDeclaration();
childElement2.setName(element2);
childParticle2.setContent(childElement2);
XSDParticle childParticle3 = factory.createXSDParticle();
XSDElementDeclaration childElement3 = factory.createXSDElementDeclaration();
childElement3.setName(element3);
childParticle3.setContent(childElement3);
xsdModelGroup.getContents().add(childParticle1);
xsdModelGroup.getContents().add(childParticle2);
xsdModelGroup.getContents().add(childParticle3);
Object primaryKey = Util.getTopElement(concept, childElement1);
assertEquals(element1, primaryKey);
XSDElementDeclaration elementDecl = factory.createXSDElementDeclaration();
elementDecl.setTypeDefinition(factory.createXSDSimpleTypeDefinition());
primaryKey = Util.getTopElement(elementDecl, childElement1);
assertNull(primaryKey);
//
XSDComplexTypeDefinition xsdComplexTypeDef2 = factory.createXSDComplexTypeDefinition();
xsdComplexTypeDef2.setBaseTypeDefinition(xsdComplexTypeDef);
XSDParticle xsdParticle2 = factory.createXSDParticle();
xsdComplexTypeDef2.setContent(xsdParticle2);
XSDModelGroup xsdModelGroup2 = factory.createXSDModelGroup();
xsdParticle2.setContent(xsdModelGroup2);
XSDParticle childParticle_2 = factory.createXSDParticle();
XSDElementDeclaration childElement_2 = factory.createXSDElementDeclaration();
childElement_2.setName(element1);
childParticle_2.setContent(childElement_2);
xsdModelGroup2.getContents().add(childParticle_2);
xsdSchema.getContents().add(xsdComplexTypeDef2);
concept.setTypeDefinition(xsdComplexTypeDef2);
primaryKey = Util.getTopElement(concept, childElement1);
assertEquals(element1, primaryKey);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
use of org.eclipse.xsd.XSDModelGroup in project tmdm-studio-se by Talend.
the class UtilTest method testIsSpecifiedBuildInType.
@Test
public void testIsSpecifiedBuildInType() {
XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition) schema.getElementDeclarations().get(0).getTypeDefinition();
XSDModelGroup group = (XSDModelGroup) ((XSDParticle) complexType.getContent()).getTerm();
XSDElementDeclaration el = (XSDElementDeclaration) group.getParticles().get(0).getTerm();
// $NON-NLS-1$
boolean ret = Util.isSpecifiedBuildInType((XSDSimpleTypeDefinition) el.getTypeDefinition(), "string");
assertEquals(ret, true);
}
use of org.eclipse.xsd.XSDModelGroup in project tmdm-studio-se by Talend.
the class UtilTest method testIsFloat.
@Test
public void testIsFloat() {
XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition) schema.getElementDeclarations().get(0).getTypeDefinition();
XSDModelGroup group = (XSDModelGroup) ((XSDParticle) complexType.getContent()).getTerm();
XSDElementDeclaration el = (XSDElementDeclaration) group.getParticles().get(0).getTerm();
boolean ret = Util.isFloat((XSDSimpleTypeDefinition) el.getTypeDefinition());
assertEquals(ret, false);
}
Aggregations