Search in sources :

Example 31 with XSDModelGroup

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

Example 32 with XSDModelGroup

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");
    }
}
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 33 with XSDModelGroup

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);
    }
}
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)

Example 34 with XSDModelGroup

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

Example 35 with XSDModelGroup

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

Aggregations

XSDModelGroup (org.eclipse.xsd.XSDModelGroup)119 XSDParticle (org.eclipse.xsd.XSDParticle)93 XSDElementDeclaration (org.eclipse.xsd.XSDElementDeclaration)87 XSDComplexTypeDefinition (org.eclipse.xsd.XSDComplexTypeDefinition)76 ArrayList (java.util.ArrayList)33 XSDTypeDefinition (org.eclipse.xsd.XSDTypeDefinition)32 XSDTerm (org.eclipse.xsd.XSDTerm)28 XSDFactory (org.eclipse.xsd.XSDFactory)26 XSDSimpleTypeDefinition (org.eclipse.xsd.XSDSimpleTypeDefinition)26 Test (org.junit.Test)25 XSDSchema (org.eclipse.xsd.XSDSchema)23 XSDComplexTypeContent (org.eclipse.xsd.XSDComplexTypeContent)22 EList (org.eclipse.emf.common.util.EList)21 XSDAnnotation (org.eclipse.xsd.XSDAnnotation)20 XSDModelGroupDefinition (org.eclipse.xsd.XSDModelGroupDefinition)19 List (java.util.List)18 XSDIdentityConstraintDefinition (org.eclipse.xsd.XSDIdentityConstraintDefinition)18 Iterator (java.util.Iterator)16 XSDWildcard (org.eclipse.xsd.XSDWildcard)16 TreeObject (com.amalto.workbench.models.TreeObject)15