Package org.drools.lang.descr

Examples of org.drools.lang.descr.QualifiedName


        if (typeDescr.getSuperTypes().isEmpty())
            return false;
        boolean merge = false;

        for ( int j = typeDescr.getSuperTypes().size() - 1; j >= 0; j-- ) {
            QualifiedName qname = typeDescr.getSuperTypes().get( j );
            String simpleSuperTypeName = qname.getName();
            String superTypePackageName = qname.getNamespace();
            String fullSuper = qname.getFullName();

            merge = mergeInheritedFields( simpleSuperTypeName,
                                          superTypePackageName,
                                          fullSuper,
                                          typeDescr ) || merge;
View Full Code Here


        HierarchySorter<QualifiedName> sorter = new HierarchySorter<QualifiedName>();
        Map<QualifiedName, Collection<QualifiedName>> taxonomy = new HashMap<QualifiedName, Collection<QualifiedName>>();
        Map<QualifiedName, AbstractClassTypeDeclarationDescr> cache = new HashMap<QualifiedName, AbstractClassTypeDeclarationDescr>();

        for ( AbstractClassTypeDeclarationDescr tdescr : typeDeclarations ) {
            QualifiedName name = tdescr.getType();

            cache.put( name, tdescr );

            if ( taxonomy.get( name ) == null ) {
                taxonomy.put( name, new ArrayList<QualifiedName>() );
            } else {
                this.results.add( new TypeDeclarationError( tdescr,
                        "Found duplicate declaration for type " + tdescr.getTypeName() ) );
            }

            Collection<QualifiedName> supers = taxonomy.get( name );

            boolean circular = false;
            for ( QualifiedName sup : tdescr.getSuperTypes() ) {
                if ! Object.class.getName().equals( name.getFullName() ) ) {
                    if ( ! hasCircularDependency( tdescr.getType(), sup, taxonomy ) ) {
                        supers.add( sup );
                    } else {
                        circular = true;
                        this.results.add( new TypeDeclarationError( tdescr,
                                "Found circular dependency for type " + tdescr.getTypeName() ) );
                        break;
                    }
                }
            }
            if ( circular ) {
                tdescr.getSuperTypes().clear();
            }

            for ( TypeFieldDescr field : tdescr.getFields().values() ) {
                QualifiedName typeName = new QualifiedName( field.getPattern().getObjectType() );
                if ( ! hasCircularDependency( name, typeName, taxonomy ) ) {
                    supers.add( typeName );
                }

            }
View Full Code Here

        if (typeDescr.getSuperTypes().isEmpty())
            return false;
        boolean merge = false;

        for ( int j = typeDescr.getSuperTypes().size() - 1; j >= 0; j-- ) {
            QualifiedName qname = typeDescr.getSuperTypes().get( j );
            String simpleSuperTypeName = qname.getName();
            String superTypePackageName = qname.getNamespace();
            String fullSuper = qname.getFullName();

            merge = mergeInheritedFields( simpleSuperTypeName,
                                          superTypePackageName,
                                          fullSuper,
                                          typeDescr ) || merge;
View Full Code Here

        HierarchySorter<QualifiedName> sorter = new HierarchySorter<QualifiedName>();
        Map<QualifiedName, Collection<QualifiedName>> taxonomy = new HashMap<QualifiedName, Collection<QualifiedName>>();
        Map<QualifiedName, AbstractClassTypeDeclarationDescr> cache = new HashMap<QualifiedName, AbstractClassTypeDeclarationDescr>();

        for ( AbstractClassTypeDeclarationDescr tdescr : typeDeclarations ) {
            QualifiedName name = tdescr.getType();

            cache.put( name, tdescr );

            if ( taxonomy.get( name ) == null ) {
                taxonomy.put( name, new ArrayList<QualifiedName>() );
            } else {
                this.results.add( new TypeDeclarationError( tdescr,
                        "Found duplicate declaration for type " + tdescr.getTypeName() ) );
            }

            Collection<QualifiedName> supers = taxonomy.get( name );

            boolean circular = false;
            for ( QualifiedName sup : tdescr.getSuperTypes() ) {
                if ! Object.class.getName().equals( name.getFullName() ) ) {
                    if ( ! hasCircularDependency( tdescr.getType(), sup, taxonomy ) ) {
                        supers.add( sup );
                    } else {
                        circular = true;
                        this.results.add( new TypeDeclarationError( tdescr,
                                "Found circular dependency for type " + tdescr.getTypeName() ) );
                        break;
                    }
                }
            }
            if ( circular ) {
                tdescr.getSuperTypes().clear();
            }

            for ( TypeFieldDescr field : tdescr.getFields().values() ) {
                QualifiedName typeName = new QualifiedName( field.getPattern().getObjectType() );
                if ( ! hasCircularDependency( name, typeName, taxonomy ) ) {
                    supers.add( typeName );
                }

            }
View Full Code Here

        HierarchySorter<QualifiedName> sorter = new HierarchySorter<QualifiedName>();
        Map<QualifiedName, Collection<QualifiedName>> taxonomy = new HashMap<QualifiedName, Collection<QualifiedName>>();
        Map<QualifiedName, AbstractClassTypeDeclarationDescr> cache = new HashMap<QualifiedName, AbstractClassTypeDeclarationDescr>();

        for ( AbstractClassTypeDeclarationDescr tdescr : typeDeclarations ) {
            QualifiedName name = tdescr.getType();

            cache.put( name, tdescr );

            if ( taxonomy.get( name ) == null ) {
                taxonomy.put( name, new ArrayList<QualifiedName>() );
            } else {
                this.results.add( new TypeDeclarationError( tdescr,
                        "Found duplicate declaration for type " + tdescr.getTypeName() ) );
            }

            Collection<QualifiedName> supers = taxonomy.get( name );

            supers.addAll( tdescr.getSuperTypes() );

            for ( TypeFieldDescr field : tdescr.getFields().values() ) {
                QualifiedName typeName = new QualifiedName( field.getPattern().getObjectType() );
                if ( ! typeName.equals( name ) && ! hasCircularDependency( name, typeName, taxonomy ) ) {
                    supers.add( typeName );
                }

            }
View Full Code Here

TOP

Related Classes of org.drools.lang.descr.QualifiedName

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.