Search in sources :

Example 36 with XSDComplexTypeDefinition

use of org.eclipse.xsd.XSDComplexTypeDefinition in project tmdm-studio-se by Talend.

the class UtilTest method testGetParentTypes.

@Test
public void testGetParentTypes() {
    XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition) schema.getElementDeclarations().get(0).getTypeDefinition();
    List<XSDTypeDefinition> list = Util.getParentTypes(complexType);
    assertEquals(list.size(), 1);
}
Also used : XSDComplexTypeDefinition(org.eclipse.xsd.XSDComplexTypeDefinition) XSDTypeDefinition(org.eclipse.xsd.XSDTypeDefinition) Test(org.junit.Test)

Example 37 with XSDComplexTypeDefinition

use of org.eclipse.xsd.XSDComplexTypeDefinition 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);
}
Also used : XSDModelGroup(org.eclipse.xsd.XSDModelGroup) XSDElementDeclaration(org.eclipse.xsd.XSDElementDeclaration) XSDComplexTypeDefinition(org.eclipse.xsd.XSDComplexTypeDefinition) Test(org.junit.Test)

Example 38 with XSDComplexTypeDefinition

use of org.eclipse.xsd.XSDComplexTypeDefinition 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");
    }
}
Also used : XSDModelGroup(org.eclipse.xsd.XSDModelGroup) XSDElementDeclaration(org.eclipse.xsd.XSDElementDeclaration) XSDIdentityConstraintDefinition(org.eclipse.xsd.XSDIdentityConstraintDefinition) XSDComplexTypeDefinition(org.eclipse.xsd.XSDComplexTypeDefinition) XSDXPathDefinition(org.eclipse.xsd.XSDXPathDefinition) XSDParticle(org.eclipse.xsd.XSDParticle) XSDSchema(org.eclipse.xsd.XSDSchema) Test(org.junit.Test)

Example 39 with XSDComplexTypeDefinition

use of org.eclipse.xsd.XSDComplexTypeDefinition in project tmdm-studio-se by Talend.

the class UtilTest method testIsSequenceComplexType.

@Test
public void testIsSequenceComplexType() {
    XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition) schema.getElementDeclarations().get(0).getTypeDefinition();
    boolean ret = Util.isSequenceComplexType(complexType);
    assertEquals(ret, false);
}
Also used : XSDComplexTypeDefinition(org.eclipse.xsd.XSDComplexTypeDefinition) Test(org.junit.Test)

Example 40 with XSDComplexTypeDefinition

use of org.eclipse.xsd.XSDComplexTypeDefinition 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);
    }
}
Also used : XSDFactory(org.eclipse.xsd.XSDFactory) XSDModelGroup(org.eclipse.xsd.XSDModelGroup) XSDElementDeclaration(org.eclipse.xsd.XSDElementDeclaration) XSDComplexTypeDefinition(org.eclipse.xsd.XSDComplexTypeDefinition) XSDParticle(org.eclipse.xsd.XSDParticle) IOException(java.io.IOException) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) XSDSchema(org.eclipse.xsd.XSDSchema) Test(org.junit.Test)

Aggregations

XSDComplexTypeDefinition (org.eclipse.xsd.XSDComplexTypeDefinition)162 XSDElementDeclaration (org.eclipse.xsd.XSDElementDeclaration)93 XSDModelGroup (org.eclipse.xsd.XSDModelGroup)76 XSDParticle (org.eclipse.xsd.XSDParticle)75 XSDTypeDefinition (org.eclipse.xsd.XSDTypeDefinition)66 XSDSimpleTypeDefinition (org.eclipse.xsd.XSDSimpleTypeDefinition)53 ArrayList (java.util.ArrayList)43 XSDSchema (org.eclipse.xsd.XSDSchema)37 Test (org.junit.Test)37 EList (org.eclipse.emf.common.util.EList)25 XSDConcreteComponent (org.eclipse.xsd.XSDConcreteComponent)25 XSDFactory (org.eclipse.xsd.XSDFactory)23 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)22 XSDIdentityConstraintDefinition (org.eclipse.xsd.XSDIdentityConstraintDefinition)21 XSDTerm (org.eclipse.xsd.XSDTerm)21 XSDAnnotation (org.eclipse.xsd.XSDAnnotation)20 XSDComplexTypeContent (org.eclipse.xsd.XSDComplexTypeContent)20 Iterator (java.util.Iterator)19 List (java.util.List)19 XSDAttributeGroupDefinition (org.eclipse.xsd.XSDAttributeGroupDefinition)16