Package org.drools.compiler.lang.descr

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


                final String drl = makeDrl( path,
                                            lhs,
                                            rhs );
                final DrlParser drlParser = new DrlParser();
                final PackageDescr packageDescr = drlParser.parse( true,
                                                                   drl );
                if ( packageDescr == null ) {
                    logger.error( "Unable to parse DRL for '" + path.toUri().toString() + "'." );
                    return index;
                }
View Full Code Here


    @Test
    public void testEvalConstraintWithMvelOperator( ) {
        String drl = "rule \"yeah\" " + "\tdialect \"mvel\"\n when "
                     + "Foo( eval( field soundslike \"water\" ) )" + " then " + "end";
        DrlParser drlParser = new DrlParser();
        PackageDescr packageDescr;
        try {
            packageDescr = drlParser.parse( true, drl);
        } catch ( DroolsParserException e ) {
            throw new RuntimeException( e );
        }
        RuleDescr r = packageDescr.getRules().get( 0 );
        PatternDescr pd = (PatternDescr) r.getLhs().getDescrs().get( 0 );
        assertEquals( 1, pd.getConstraint().getDescrs().size() );
    }
View Full Code Here

        }
    }

    private RuleDescr parseDrl( final 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

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

      DRLInfo info = new DRLInfo( resourceDescr.getSourcePathName(),
                packageDescr,
                new ArrayList<BaseKnowledgeBuilderResultImpl>(),
                kBuilder.getPackageRegistry(packageDescr.getNamespace()).getPackage(),
                new DroolsError[0],
                kBuilder.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 = kBuilder.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<BaseKnowledgeBuilderResultImpl>() {{
                      add(droolsError);
                    }},
                    kBuilder.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<BaseKnowledgeBuilderResultImpl> 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 = new ArrayList<BaseKnowledgeBuilderResultImpl>();
                    parserErrors.addAll(parser.getErrors());
                }
                KnowledgeBuilderImpl builder = new KnowledgeBuilderImpl( 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

                     + "declare Bean2 extends Bean1\n"
                     + "cheese : String \n"
                     + "end";

        DrlParser parser = new DrlParser(LanguageLevelOption.DRL5);
        PackageDescr pkgDescr = parser.parse( null, drl );
        TypeDeclarationDescr bean1Type = pkgDescr.getTypeDeclarations().get( 0 );
        assertNull( bean1Type.getSuperTypeName() );

        TypeDeclarationDescr bean2Type = pkgDescr.getTypeDeclarations().get( 1 );
        assertEquals( "Bean1",
                      bean2Type.getSuperTypeName() );
    }
View Full Code Here

                                          byte[] cb) {
        ResourceChangeSet pkgcs = new ResourceChangeSet( file, ChangeType.UPDATED );
        ResourceType type = ResourceType.determineResourceType( file );
        if( ResourceType.DRL.equals( type ) || ResourceType.GDRL.equals( type ) || ResourceType.RDRL.equals( type ) || ResourceType.TDRL.equals( type )) {
            try {
                PackageDescr opkg = new DrlParser().parse( new ByteArrayResource( ob ) );
                PackageDescr cpkg = new DrlParser().parse( new ByteArrayResource( cb ) );
                String pkgName = isEmpty(cpkg.getName()) ? getDefaultPackageName() : cpkg.getName();

                for( RuleDescr crd : cpkg.getRules() ) {
                    pkgcs.getLoadOrder().add(new ResourceChangeSet.RuleLoadOrder(pkgName, crd.getName(), crd.getLoadOrder()));
                }

                List<RuleDescr> orules = new ArrayList<RuleDescr>( opkg.getRules() ); // needs to be cloned
                diffDescrs(ob, cb, pkgcs, orules, cpkg.getRules(), ResourceChange.Type.RULE, RULE_CONVERTER);

                List<FunctionDescr> ofuncs = new ArrayList<FunctionDescr>( opkg.getFunctions() ); // needs to be cloned
                diffDescrs(ob, cb, pkgcs, ofuncs, cpkg.getFunctions(), ResourceChange.Type.FUNCTION, FUNC_CONVERTER);
            } catch ( Exception e ) {
                logger.error( "Error analyzing the contents of "+file+". Skipping.", e );
            }
        }
        Collections.sort( pkgcs.getChanges(), new Comparator<ResourceChange>() {
View Full Code Here

         l.add( add2 );

         p.setAddresses( l );

         DrlParser parser = new DrlParser( LanguageLevelOption.DRL5 );
         PackageDescr desc = parser.parse( new InputStreamReader( getClass().getResourceAsStream( "nested_fields.drl" ) ) );
         List packageAttrs = desc.getAttributes();
         assertEquals( 1,
                       desc.getRules().size() );
         assertEquals( 1,
                       packageAttrs.size() );

         RuleDescr rule = (RuleDescr) desc.getRules().get( 0 );
         Map<String, AttributeDescr> ruleAttrs = rule.getAttributes();
         assertEquals( 1,
                       ruleAttrs.size() );

         assertEquals( "mvel",
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.