private static FunctionDescr lookupFunction(RuleBuildContext context, String functionName) { String packageName = context.getRule().getPackageName(); List<PackageDescr> pkgDescrs = context.getPackageBuilder().getPackageDescrs(packageName); for (PackageDescr pkgDescr : pkgDescrs) { for (FunctionDescr function : pkgDescr.getFunctions()) { if (function.getName().equals(functionName)) { return function; } } } return null; } }
private void processFunctions(PackageRegistry pkgRegistry, PackageDescr packageDescr) { for (FunctionDescr function : packageDescr.getFunctions()) { Function existingFunc = pkgRegistry.getPackage().getFunctions().get( function.getName() ); if (existingFunc != null && function.getNamespace().equals( existingFunc.getNamespace() )) { this.results.add( new DuplicateFunction( function, this.configuration ) ); } } for (final FunctionImportDescr functionImport : packageDescr.getFunctionImports()) { String importEntry = functionImport.getTarget(); pkgRegistry.addStaticImport( functionImport ); pkgRegistry.getPackage().addStaticImport( importEntry ); } }
for (FunctionDescr descr : packageDescr.getFunctions()) { if (!currentFunctionDescrs.contains(descr)) { addFunction(descr);
public void visitPackageDescr(final PackageDescr packageDescr) { final String packageName = packageDescr.getName(); final String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> " + XmlDumper.eol + " <package name=\"" + packageName + "\" " + XmlDumper.eol + "\txmlns=\"http://drools.org/drools-5.2\" " + XmlDumper.eol + "\txmlns:xs=\"http://www.w3.org/2001/XMLSchema-instance\" " + XmlDumper.eol + "\txs:schemaLocation=\"http://drools.org/drools-5.2 drools.org/drools-5.2.xsd\"> " + XmlDumper.eol; appendXmlDump( xmlString ); appendXmlDump( processImportsList( packageDescr.getImports() ) ); appendXmlDump( processGlobalsList( packageDescr.getGlobals() ) ); appendXmlDump( processFunctionImportsList( packageDescr.getFunctionImports() )); appendXmlDump( processFunctionsList( packageDescr.getFunctions() ) ); appendXmlDump( processRules( packageDescr.getRules() ) ); appendXmlDump( "</package>" ); }
private void compileRules(PackageDescr packageDescr, PackageRegistry pkgRegistry) { List<FunctionDescr> functions = packageDescr.getFunctions(); if (!functions.isEmpty()) {