use of org.eclipse.xsd.XSDElementDeclaration 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.XSDElementDeclaration 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.XSDElementDeclaration in project tmdm-studio-se by Talend.
the class UtilTest method testGetTypeDefinition.
@Test
public void testGetTypeDefinition() {
// $NON-NLS-1$
String s_name = "simpleType";
// $NON-NLS-1$
String c_name = "complexType";
// $NON-NLS-1$
String e_name = "xsdElementDeclaration";
XSDSchema xsdSchema = XSDFactory.eINSTANCE.createXSDSchema();
XSDSimpleTypeDefinition xsdSimpleTypeDefinition1 = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
XSDSimpleTypeDefinition xsdSimpleTypeDefinition2 = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
XSDComplexTypeDefinition xsdComplexTypeDefinition1 = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
XSDComplexTypeDefinition xsdComplexTypeDefinition2 = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
xsdSimpleTypeDefinition1.setName(s_name + 1);
xsdSimpleTypeDefinition2.setName(s_name + 2);
xsdComplexTypeDefinition1.setName(c_name + 1);
xsdComplexTypeDefinition2.setName(c_name + 2);
xsdSimpleTypeDefinition1.setBaseTypeDefinition(// $NON-NLS-1$ anyType
xsdSchema.resolveSimpleTypeDefinition(xsdSchema.getSchemaForSchemaNamespace(), "string"));
xsdSimpleTypeDefinition2.setBaseTypeDefinition(// $NON-NLS-1$
xsdSchema.resolveSimpleTypeDefinition(xsdSchema.getSchemaForSchemaNamespace(), "string"));
xsdComplexTypeDefinition1.setBaseTypeDefinition(// $NON-NLS-1$
xsdSchema.resolveComplexTypeDefinition(xsdSchema.getSchemaForSchemaNamespace(), "anyType"));
xsdComplexTypeDefinition2.setBaseTypeDefinition(// $NON-NLS-1$
xsdSchema.resolveComplexTypeDefinition(xsdSchema.getSchemaForSchemaNamespace(), "anyType"));
EList<XSDSchemaContent> contents = xsdSchema.getContents();
contents.add(xsdSimpleTypeDefinition1);
contents.add(xsdSimpleTypeDefinition2);
contents.add(xsdComplexTypeDefinition1);
contents.add(xsdComplexTypeDefinition2);
XSDElementDeclaration xsdElementDeclaration = XSDFactory.eINSTANCE.createXSDElementDeclaration();
xsdElementDeclaration.setName(e_name);
contents.add(xsdElementDeclaration);
Map<String, XSDTypeDefinition> typeDefinition = Util.getTypeDefinition(xsdSchema);
assertNotNull(typeDefinition);
assertTrue(typeDefinition.size() == 4);
assertTrue(typeDefinition.keySet().contains(s_name + 1));
assertTrue(typeDefinition.keySet().contains(s_name + 2));
assertTrue(typeDefinition.keySet().contains(c_name + 1));
assertTrue(typeDefinition.keySet().contains(c_name + 2));
assertTrue(typeDefinition.values().contains(xsdSimpleTypeDefinition1));
assertTrue(typeDefinition.values().contains(xsdSimpleTypeDefinition2));
assertTrue(typeDefinition.values().contains(xsdComplexTypeDefinition1));
assertTrue(typeDefinition.values().contains(xsdComplexTypeDefinition2));
}
use of org.eclipse.xsd.XSDElementDeclaration 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);
}
use of org.eclipse.xsd.XSDElementDeclaration in project tmdm-studio-se by Talend.
the class UtilTest method testGetTopParent.
@Test
public void testGetTopParent() {
//
List<Object> topParent = Util.getTopParent(null);
assertNull(topParent);
XSDFactory factory = XSDFactory.eINSTANCE;
//
XSDElementDeclaration concept = factory.createXSDElementDeclaration();
topParent = Util.getTopParent(concept);
assertNull(topParent);
// 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"));
concept.setAnonymousTypeDefinition(xsdComplexTypeDef);
XSDParticle xsdParticle = factory.createXSDParticle();
xsdComplexTypeDef.setContent(xsdParticle);
XSDModelGroup xsdModelGroup = factory.createXSDModelGroup();
xsdParticle.setContent(xsdModelGroup);
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);
XSDIdentityConstraintDefinition xsdIdConsDef = factory.createXSDIdentityConstraintDefinition();
concept.getIdentityConstraintDefinitions().add(xsdIdConsDef);
XSDXPathDefinition xsdXPathDefinition1 = factory.createXSDXPathDefinition();
xsdXPathDefinition1.setValue(element1);
XSDXPathDefinition xsdXPathDefinition2 = factory.createXSDXPathDefinition();
xsdXPathDefinition2.setValue(element2);
xsdIdConsDef.getFields().add(xsdXPathDefinition1);
xsdIdConsDef.getFields().add(xsdXPathDefinition2);
// complex type with one child
XSDComplexTypeDefinition xsdComplexTypeDef2 = factory.createXSDComplexTypeDefinition();
xsdComplexTypeDef2.setBaseTypeDefinition(// $NON-NLS-1$
xsdSchema.resolveComplexTypeDefinition(xsdSchema.getSchemaForSchemaNamespace(), "anyType"));
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);
//
topParent = Util.getTopParent(childElement1);
assertNotNull(topParent);
assertTrue(topParent.size() == 2);
//
topParent = Util.getTopParent(childElement_2);
assertNull(topParent);
}
Aggregations