Package org.drools.definitions.impl

Examples of org.drools.definitions.impl.KnowledgePackageImp


                                                                                   event.getFunction() ) );
        }

        public void afterPackageAdded(AfterPackageAddedEvent event) {
            this.listener.afterKnowledgePackageAdded( new AfterKnowledgePackageAddedEventImpl( this.kbase,
                                                                                               new KnowledgePackageImp( event.getPackage() ) ) );
        }
View Full Code Here


                                                                                               new KnowledgePackageImp( event.getPackage() ) ) );
        }

        public void afterPackageRemoved(AfterPackageRemovedEvent event) {
            this.listener.afterKnowledgePackageRemoved( new AfterKnowledgePackageRemovedEventImpl( this.kbase,
                                                                                                   new KnowledgePackageImp( event.getPackage() ) ) );
        }
View Full Code Here

                                                                                     event.getFunction() ) );
        }

        public void beforePackageAdded(BeforePackageAddedEvent event) {
            this.listener.beforeKnowledgePackageAdded( new BeforeKnowledgePackageAddedEventImpl( this.kbase,
                                                                                                 new KnowledgePackageImp( event.getPackage() ) ) );
        }
View Full Code Here

                                                                                                 new KnowledgePackageImp( event.getPackage() ) ) );
        }

        public void beforePackageRemoved(BeforePackageRemovedEvent event) {
            this.listener.beforeKnowledgePackageRemoved( new BeforeKnowledgePackageRemovedEventImpl( this.kbase,
                                                                                                     new KnowledgePackageImp( event.getPackage() ) ) );
        }
View Full Code Here

                if ( object instanceof Collection ) {
                    kpkgs = (Collection<KnowledgePackage>) object;
                } else if ( object instanceof KnowledgePackageImp ) {
                    kpkgs = Collections.singletonList( (KnowledgePackage) object );
                } else if( object instanceof Package ) {
                    kpkgs = Collections.singletonList( (KnowledgePackage) new KnowledgePackageImp( (Package) object ) );
                } else if( object instanceof Package[] ) {
                    kpkgs = new ArrayList<KnowledgePackage>();
                    for( Package pkg : (Package[]) object ) {
                        kpkgs.add( new KnowledgePackageImp( pkg ) );
                    }
                } else {
                    throw new RuntimeException("Unknown binary format trying to load resource "+resource.toString());
                }
                for( KnowledgePackage kpkg : kpkgs ) {
View Full Code Here

                    continue;
                }

                for ( KnowledgePackage pkage : newPackages ) {

                    KnowledgePackageImp newPackage = (KnowledgePackageImp) pkage;
                   
                    Set<KnowledgeDefinition> kdefs = getKnowledgeDefinitions( entry, newPackage );

                    KnowledgePackageImp oldPackage = (KnowledgePackageImp) this.kbase.getKnowledgePackage( newPackage.getName() );
                    AbstractRuleBase abstractRuleBase = (AbstractRuleBase) ((KnowledgeBaseImpl) this.kbase).ruleBase;
                    CompositeClassLoader rootClassLoader = abstractRuleBase.getRootClassLoader();

                    JavaDialectRuntimeData.TypeDeclarationClassLoader tdClassLoader = (JavaDialectRuntimeData.TypeDeclarationClassLoader)
                            ((AbstractRuleBase) ((KnowledgeBaseImpl) this.kbase).ruleBase).getTypeDeclarationClassLoader();
View Full Code Here

            }
            return null;
        } else {
            // .pks are handled as a special case.
            InputStream is = null;
            KnowledgePackageImp kpkg = null;
            try {
                is = resource.getInputStream();
                Object object = DroolsStreamUtils.streamIn( is );
                if ( object instanceof KnowledgePackageImp ) {
                    kpkg = ((KnowledgePackageImp) object);
                } else {
                    kpkg = new KnowledgePackageImp( (Package) object );
                }
                for ( Rule rule : kpkg.pkg.getRules() ) {
                    rule.setResource( resource );
                }
View Full Code Here

                }
            }

            for ( Map.Entry<Resource, Set<KnowledgeDefinition>> entry : changeSetState.modifiedResourceMappings.entrySet() ) {

                KnowledgePackageImp kpkg = createPackageFromResource( entry.getKey() );

                if ( kpkg == null ) {
                    this.listener.warning( "KnowledgeAgent: The resource didn't create any package: " + entry.getKey() );
                    continue;
                }

                this.listener.debug( "KnowledgeAgent: Diffing: " + entry.getKey() );

                ResourceDiffProducer rdp = new BinaryResourceDiffProducerImpl();

                //we suppose that the package definition didn't change in the resource.
                //That's why we are serching the current package as
                //this.kbase.getKnowledgePackage(kpkg.getName())
                ResourceDiffResult diff = rdp.diff( entry.getValue(),
                                                    kpkg,
                                                    (KnowledgePackageImp) this.kbase.getKnowledgePackage( kpkg.getName() ) );

                for ( KnowledgeDefinition kd : diff.getRemovedDefinitions() ) {
                    this.listener.debug( "KnowledgeAgent: Removing: " + kd );
                    removeKnowledgeDefinitionFromBase( kd );
                }

                //because all the mappings for "resource" were removed, we
                //need to map again the definitions that didn't change.
                //Those modified or added will be mapped in addResourcesToKnowledgeBase()
                for ( KnowledgeDefinition knowledgeDefinition : diff.getUnmodifiedDefinitions() ) {
                    this.addDefinitionMapping( entry.getKey(),
                                               knowledgeDefinition,
                                               false );
                }

                changeSetState.createdPackages.put( entry.getKey(),
                                                    diff.getPkg() );

            }

            /*
             * Compile the newly added resources
             */
            for ( Resource resource : changeSetState.addedResources ) {
                ///compile the new resource
                KnowledgePackageImp kpkg = createPackageFromResource( resource );
                if ( kpkg == null ) {
                    this.listener.warning( "KnowledgeAgent: The resource didn't create any package: " + resource );
                    continue;
                }
                changeSetState.createdPackages.put( resource,
View Full Code Here

        KnowledgeBuilder kbuilder = this.createKBuilder();
        List<Package> packages = new ArrayList<Package>();

        for ( Resource resource : changeSetState.addedResources ) {
            KnowledgePackageImp createdPackage = this.createPackageFromResource( resource,
                                                                                 kbuilder );
            changeSetState.createdPackages.put( resource,
                                                createdPackage );
        }
View Full Code Here

    public Collection<KnowledgePackage> getKnowledgePackages() {
        Package[] pkgs = ruleBase.getPackages();
        List<KnowledgePackage> list = new ArrayList<KnowledgePackage>( pkgs.length );
        for ( Package pkg : pkgs ) {
            list.add( new KnowledgePackageImp( pkg ) );
        }
        return list;
    }
View Full Code Here

TOP

Related Classes of org.drools.definitions.impl.KnowledgePackageImp

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.