Package org.drools.compiler.lang.descr

Examples of org.drools.compiler.lang.descr.PackageDescr


        if ( pkgRegistry != null ) {
            pkg = pkgRegistry.getPackage();
        }

        if ( pkg == null ) {
            PackageDescr packageDescr = new PackageDescr( newPkg.getName() );
            pkgRegistry = newPackage( packageDescr );
            mergePackage( this.pkgRegistryMap.get( packageDescr.getNamespace() ), packageDescr );
            pkg = pkgRegistry.getPackage();
        }

        // first merge anything related to classloader re-wiring
        pkg.getDialectRuntimeRegistry().merge( newPkg.getDialectRuntimeRegistry(),
View Full Code Here


        if ( typeDeclaration.getNature() == TypeDeclaration.Nature.DECLARATION || packageName.equals( typeDeclaration.getTypeClass().getPackage().getName() ) ) {
            PackageRegistry packageRegistry = pkgRegistryMap.get( packageName );
            if ( packageRegistry != null ) {
                packageRegistry.getPackage().addTypeDeclaration( typeDeclaration );
            } else {
                newPackage( new PackageDescr( packageName, "" ) );
                pkgRegistryMap.get( packageName ).getPackage().addTypeDeclaration( typeDeclaration );
            }
        }
    }
View Full Code Here

            fillFieldTypes( typeDescr,
                            packageDescr );

            if ( !typeDescr.getNamespace().equals( packageDescr.getNamespace() ) ) {
                // If the type declaration is for a different namespace, process that separately.
                PackageDescr altDescr = new PackageDescr( typeDescr.getNamespace() );
                if ( typeDescr instanceof TypeDeclarationDescr ) {
                    altDescr.addTypeDeclaration( (TypeDeclarationDescr) typeDescr );
                } else if ( typeDescr instanceof EnumDeclarationDescr ) {
                    altDescr.addEnumDeclaration( (EnumDeclarationDescr) typeDescr );
                }

                for ( ImportDescr imp : packageDescr.getImports() ) {
                    altDescr.addImport( imp );
                }
                if ( !getPackageRegistry().containsKey( altDescr.getNamespace() ) ) {
                    newPackage( altDescr );
                }
                mergePackage( this.pkgRegistryMap.get( altDescr.getNamespace() ), altDescr );
            }

        }

        // sort declarations : superclasses must be generated first
View Full Code Here

    for (Map.Entry<Resource, PackageDescr> entry : groupPackageDescrByResource(packageBuilder).entrySet()) {
      ResourceDescr resourceDescr = resourceMap.get(entry.getKey());
      if (resourceDescr == null) {
        continue;
      }
      PackageDescr packageDescr = entry.getValue();

      DRLInfo info = new DRLInfo( resourceDescr.getSourcePathName(),
                packageDescr,
                new ArrayList<DroolsError>(),
                packageBuilder.getPackageRegistry(packageDescr.getNamespace()).getPackage(),
                new DroolsError[0],
                packageBuilder.getPackageRegistry( packageDescr.getNamespace() ).getDialectCompiletimeRegistry() );

      info.setResource(resourceDescr.getResource());
      infoMap.put(resourceDescr.getResource(), info);
    }
    return infoMap;
View Full Code Here

      String pkgName = droolsError.getNamespace();
      List<PackageDescr> packageDescrs = packageBuilder.getPackageDescrs(pkgName);
      if (packageDescrs == null || packageDescrs.isEmpty()) {
        continue;
      }
      PackageDescr packageDescr = packageDescrs.get(0);
     
      DRLInfo info = infoMap.get(resourceDescr.getResource());
      if (info == null) {
        info = new DRLInfo( resourceDescr.getResource().getName(),
                    packageDescr,
                    new ArrayList<DroolsError>() {{
                      add(droolsError);
                    }},
                    packageBuilder.getPackageRegistry( packageDescr.getNamespace() ).getDialectCompiletimeRegistry() );
        info.setResource(resourceDescr.getResource());
        infoMap.put(resourceDescr.getResource(), info);
      } else {
        info.addError(droolsError);
      }
View Full Code Here

      return map;
    }
   
    private PackageDescr getPkgDescr(Map<Resource, PackageDescr> map, BaseDescr descr, String pkgName) {
      Resource resource = descr.getResource();
    PackageDescr resourceDescr = map.get(resource);
    if (resourceDescr == null) {
      resourceDescr = new PackageDescr();
      resourceDescr.setNamespace(pkgName);
      map.put(resource, resourceDescr);
    }
    return resourceDescr;
    }
View Full Code Here

                    JavaDialectConfiguration javaConf = (JavaDialectConfiguration) builder_configuration.getDialectConfiguration( "java" );
                    javaConf.setJavaLanguageLevel( level );
                }

                // first parse the source
                PackageDescr packageDescr = null;
                List<DroolsError> parserErrors = null;
                if ( useCache && resource != null) {
                    DRLInfo cachedDrlInfo = (DRLInfo) parsedRules.get( resource );
                    if ( cachedDrlInfo != null ) {
                        packageDescr = cachedDrlInfo.getPackageDescr();
                        parserErrors = cachedDrlInfo.getParserErrors();
                    }
                }

                DrlParser parser = new DrlParser();
                if ( packageDescr == null ) {
                    Reader dslReader = DSLAdapter.getDSLContent( content, resource );
                    if ( dslReader != null ) {
                        packageDescr = parser.parse( true, content, dslReader );
                    } else {
                        packageDescr = parser.parse( true, content );
                    }
                    parserErrors = parser.getErrors();
                }
                PackageBuilder builder = new PackageBuilder( builder_configuration );
                DRLInfo result = null;
                // compile parsed rules if necessary
                if ( packageDescr != null && compile && !parser.hasErrors()) {
                    // check whether a .package file exists and add it
                    if ( resource != null && resource.getParent() != null ) {
                        MyResourceVisitor visitor = new MyResourceVisitor();
                        resource.getParent().accept( visitor,
                                                     IResource.DEPTH_ONE,
                                                     IResource.NONE );
                        IResource packageDef = visitor.getPackageDef();
                        if ( packageDef != null ) {
                            PackageDescr desc = parseResource( packageDef,
                                                               false ).getPackageDescr();
                            if (desc != null){
                                builder.addPackage( desc);
                            }
                        }
View Full Code Here

        }
    }

    private RuleDescr parseDrl( ExpandedDRLInfo expandedDRLInfo ) {
        DrlParser drlParser = new DrlParser();
        PackageDescr packageDescr;
        try {
            packageDescr = drlParser.parse( true, expandedDRLInfo.plainDrl );
        } catch ( DroolsParserException e ) {
            throw new RuntimeException( e );
        }
        expandedDRLInfo.registerGlobalDescrs( packageDescr.getGlobals() );
        return packageDescr.getRules().get( 0 );
    }
View Full Code Here

        }
    }

    private RuleDescr parseDrl( ExpandedDRLInfo expandedDRLInfo ) {
        DrlParser drlParser = new DrlParser();
        PackageDescr packageDescr;
        try {
            packageDescr = drlParser.parse( true, expandedDRLInfo.plainDrl );
        } catch ( DroolsParserException e ) {
            throw new RuntimeException( e );
        }
        expandedDRLInfo.registerGlobalDescrs( packageDescr.getGlobals() );
        return packageDescr.getRules().get( 0 );
    }
View Full Code Here

    private DescrUtil() {
    }

    public static BaseDescr getDescr(BaseDescr descr, int offset) {
        if (descr instanceof PackageDescr) {
            PackageDescr packageDescr = (PackageDescr) descr;
            // rules
            for (RuleDescr ruleDescr : packageDescr.getRules()) {
                if (ruleDescr != null) {
                    BaseDescr result = getDescr(ruleDescr, offset);
                    if (result != null) {
                        return result;
                    }
                }
            }
            // imports
            for (ImportDescr importDescr : packageDescr.getImports()) {
                if (importDescr != null) {
                    BaseDescr result = getDescr(importDescr, offset);
                    if (result != null) {
                        return result;
                    }
                }
            }
            // function imports
            for (FunctionImportDescr functionImportDescr : packageDescr.getFunctionImports()) {
                if (functionImportDescr != null) {
                    BaseDescr result = getDescr(functionImportDescr, offset);
                    if (result != null) {
                        return result;
                    }
                }
            }
            // functions
            for (FunctionDescr functionDescr : packageDescr.getFunctions()) {
                if (functionDescr != null) {
                    BaseDescr result = getDescr(functionDescr, offset);
                    if (result != null) {
                        return result;
                    }
                }
            }
            // attributes
            for (AttributeDescr attributeDescr : packageDescr.getAttributes()) {
                if (attributeDescr != null) {
                    BaseDescr result = getDescr(attributeDescr, offset);
                    if (result != null) {
                        return result;
                    }
                }
            }
            // globals
            for (GlobalDescr globalDescr : packageDescr.getGlobals()) {
                if (globalDescr != null) {
                    BaseDescr result = getDescr(globalDescr, offset);
                    if (result != null) {
                        return result;
                    }
View Full Code Here

TOP

Related Classes of org.drools.compiler.lang.descr.PackageDescr

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.