Package org.drools.marshalling

Examples of org.drools.marshalling.DefaultMarshaller


  }

  public StatefulSessionSnapshotter(RuleBase ruleBase, SessionConfiguration conf, PlaceholderResolverStrategyFactory factory) {
    this.ruleBase = ruleBase;
    this.conf = conf;
    this.marshaller = new DefaultMarshaller(((InternalRuleBase) ruleBase).getConfiguration(), factory);
  }
View Full Code Here


  }

  public StatefulSessionSnapshotter(StatefulSession session, PlaceholderResolverStrategyFactory factory) {
    this.session = session;
    this.ruleBase = session.getRuleBase();
    this.marshaller = new DefaultMarshaller(((InternalRuleBase) ruleBase).getConfiguration(), factory);
  }
View Full Code Here

  private Marshaller marshaller;

  private StatefulSessionSnapshotter(StatefulSession session, RuleBase ruleBase, PlaceholderResolverStrategyFactory factory) {
    this.session = session;
    this.ruleBase = ruleBase;
    this.marshaller = new DefaultMarshaller(null, factory);
  }
View Full Code Here

        assertEquals( stilton1.getObject(),
                      results.get( 0 ) );

        // serialize session and rulebase out
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        Marshaller marshaller = new DefaultMarshaller();
        ruleBase.writeStatefulSession( session,
                                       baos,
                                       marshaller );
        GlobalResolver resolver = session.getGlobalResolver();
        byte[] serializedRulebase = DroolsStreamUtils.streamOut( ruleBase );
View Full Code Here

                                                                                    10 ) );
        session.fireAllRules();

        GlobalResolver resolver = session.getGlobalResolver();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        Marshaller marshaller = new DefaultMarshaller();
        ruleBase.writeStatefulSession( session,
                                       baos,
                                       marshaller );
        byte[] serializedRulebase = DroolsStreamUtils.streamOut( ruleBase );
View Full Code Here

                                                                                    10 ) );
        session.fireAllRules();

        GlobalResolver resolver = session.getGlobalResolver();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        Marshaller marshaller = new DefaultMarshaller();
        ruleBase.writeStatefulSession( session,
                                       baos,
                                       marshaller );
        byte[] serializedRulebase = DroolsStreamUtils.streamOut( ruleBase );

        session.dispose();

        assertEquals( 1,
                      results.size() );
        assertEquals( stilton1.getObject(),
                      results.get( 0 ) );

        // now recreate the rulebase, deserialize the session and test it
        ruleBase = (RuleBase) DroolsStreamUtils.streamIn( serializedRulebase );
        session = ruleBase.readStatefulSession( new ByteArrayInputStream( baos.toByteArray() ),
                                                marshaller );
        session.setGlobalResolver( resolver );
        results = (List) session.getGlobal( "results" );

        builder = new PackageBuilder();
        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic3_0.drl" ) ) );
        pkg = SerializationHelper.serializeObject( builder.getPackage() );

        ruleBase.addPackage( pkg );

        InternalFactHandle stilton2 = (InternalFactHandle) session.insert( new Cheese( "stilton",
                                                                                       20 ) );
        InternalFactHandle brie2 = (InternalFactHandle) session.insert( new Cheese( "brie",
                                                                                    20 ) );
        InternalFactHandle bob1 = (InternalFactHandle) session.insert( new Person( "bob",
                                                                                   20 ) );
        InternalFactHandle bob2 = (InternalFactHandle) session.insert( new Person( "bob",
                                                                                   30 ) );
        session.fireAllRules();

        assertEquals( 4,
                      results.size() );
        assertEquals( stilton2.getObject(),
                      results.get( 1 ) );
        assertEquals( bob2.getObject(),
                      results.get( 2 ) );
        assertEquals( bob1.getObject(),
                      results.get( 3 ) );

        serializedRulebase = null;

        resolver = session.getGlobalResolver();
        baos = new ByteArrayOutputStream();
        marshaller = new DefaultMarshaller();
        ruleBase.writeStatefulSession( session,
                                       baos,
                                       marshaller );
        serializedRulebase = DroolsStreamUtils.streamOut( ruleBase );

        session.dispose();

        // now recreate the rulebase, deserialize the session and test it
        ruleBase = (RuleBase) DroolsStreamUtils.streamIn( serializedRulebase );
        session = ruleBase.readStatefulSession( new ByteArrayInputStream( baos.toByteArray() ),
                                                marshaller );
        session.setGlobalResolver( resolver );
        results = (List) session.getGlobal( "results" );

        builder = new PackageBuilder();
        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1_2.drl" ) ) );
        pkg = SerializationHelper.serializeObject( builder.getPackage() );
        ruleBase.addPackage( pkg );

        InternalFactHandle stilton3 = (InternalFactHandle) session.insert( new Cheese( "stilton",
                                                                                       40 ) );
        InternalFactHandle brie3 = (InternalFactHandle) session.insert( new Cheese( "brie",
                                                                                    40 ) );
        InternalFactHandle bob3 = (InternalFactHandle) session.insert( new Person( "bob",
                                                                                   40 ) );
        InternalFactHandle bob4 = (InternalFactHandle) session.insert( new Person( "bob",
                                                                                   40 ) );
        InternalFactHandle addr1 = (InternalFactHandle) session.insert( new Address( "bangalore" ) );
        InternalFactHandle addr2 = (InternalFactHandle) session.insert( new Address( "India" ) );

        session.fireAllRules();

        assertEquals( 9,
                      results.size() );
        assertEquals( stilton3.getObject(),
                      results.get( 4 ) );
        assertEquals( bob4.getObject(),
                      results.get( 5 ) );
        assertEquals( bob3.getObject(),
                      results.get( 6 ) );
        assertEquals( addr2.getObject(),
                      results.get( 7 ) );
        assertEquals( addr1.getObject(),
                      results.get( 8 ) );

        serializedRulebase = null;

        resolver = session.getGlobalResolver();
        baos = new ByteArrayOutputStream();
        marshaller = new DefaultMarshaller();
        ruleBase.writeStatefulSession( session,
                                       baos,
                                       marshaller );
        serializedRulebase = DroolsStreamUtils.streamOut( ruleBase );
        session.dispose();
View Full Code Here

        InternalFactHandle brie1 = (InternalFactHandle) session.insert( new Cheese( "brie",
                                                                                    10 ) );
        session.fireAllRules();

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        Marshaller marshaller = new DefaultMarshaller();
        ruleBase.writeStatefulSession( session,
                                       baos,
                                       marshaller );
        byte[] serializedRulebase = DroolsStreamUtils.streamOut( ruleBase );

        session.dispose();

        assertEquals( 1,
                      results.size() );
        assertEquals( stilton1.getObject(),
                      results.get( 0 ) );

        // now recreate the rulebase, deserialize the session and test it
        ruleBase = (RuleBase) DroolsStreamUtils.streamIn( serializedRulebase );
        session = ruleBase.readStatefulSession( new ByteArrayInputStream( baos.toByteArray() ),
                                                marshaller );
        results.clear();
        session.setGlobal( "results",
                           results );

        builder = new PackageBuilder();
        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic3_0.drl" ) ) );
        pkg = SerializationHelper.serializeObject( builder.getPackage() );

        ruleBase.addPackage( pkg );

        InternalFactHandle stilton2 = (InternalFactHandle) session.insert( new Cheese( "stilton",
                                                                                       20 ) );
        InternalFactHandle brie2 = (InternalFactHandle) session.insert( new Cheese( "brie",
                                                                                    20 ) );
        InternalFactHandle bob1 = (InternalFactHandle) session.insert( new Person( "bob",
                                                                                   20 ) );
        InternalFactHandle bob2 = (InternalFactHandle) session.insert( new Person( "bob",
                                                                                   30 ) );
        session.fireAllRules();

        assertEquals( 3,
                      results.size() );
        assertEquals( stilton2.getObject(),
                      results.get( 0 ) );
        assertEquals( bob2.getObject(),
                      results.get( 1 ) );
        assertEquals( bob1.getObject(),
                      results.get( 2 ) );

        serializedRulebase = null;

        baos = new ByteArrayOutputStream();
        marshaller = new DefaultMarshaller();
        ruleBase.writeStatefulSession( session,
                                       baos,
                                       marshaller );
        serializedRulebase = DroolsStreamUtils.streamOut( ruleBase );

        session.dispose();

        // now recreate the rulebase, deserialize the session and test it
        ruleBase = (RuleBase) DroolsStreamUtils.streamIn( serializedRulebase );
        session = ruleBase.readStatefulSession( new ByteArrayInputStream( baos.toByteArray() ),
                                                marshaller );
        results.clear();
        session.setGlobal( "results",
                           results );

        // CASE 1: remove rule
        ruleBase.removeRule( "org.drools.test",
                             "like stilton" );

        InternalFactHandle stilton3 = (InternalFactHandle) session.insert( new Cheese( "stilton",
                                                                                       20 ) );
        InternalFactHandle brie3 = (InternalFactHandle) session.insert( new Cheese( "brie",
                                                                                    20 ) );
        InternalFactHandle bob3 = (InternalFactHandle) session.insert( new Person( "bob",
                                                                                   20 ) );
        InternalFactHandle bob4 = (InternalFactHandle) session.insert( new Person( "bob",
                                                                                   30 ) );
        session.fireAllRules();

        assertEquals( 2,
                      results.size() );
        assertEquals( bob4.getObject(),
                      results.get( 0 ) );
        assertEquals( bob3.getObject(),
                      results.get( 1 ) );

        // now recreate the rulebase, deserialize the session and test it
        ruleBase = (RuleBase) DroolsStreamUtils.streamIn( serializedRulebase );
        session = ruleBase.readStatefulSession( new ByteArrayInputStream( baos.toByteArray() ),
                                                marshaller );
        results.clear();
        session.setGlobal( "results",
                           results );

        // CASE 2: remove pkg
        ruleBase.removePackage( "org.drools.test" );

        InternalFactHandle stilton4 = (InternalFactHandle) session.insert( new Cheese( "stilton",
                                                                                       20 ) );
        InternalFactHandle brie4 = (InternalFactHandle) session.insert( new Cheese( "brie",
                                                                                    20 ) );
        InternalFactHandle bob5 = (InternalFactHandle) session.insert( new Person( "bob",
                                                                                   20 ) );
        InternalFactHandle bob6 = (InternalFactHandle) session.insert( new Person( "bob",
                                                                                   30 ) );
        session.fireAllRules();

        assertEquals( 2,
                      results.size() );
        assertEquals( bob6.getObject(),
                      results.get( 0 ) );
        assertEquals( bob5.getObject(),
                      results.get( 1 ) );

        byte[] serializedSession = null;
        serializedRulebase = null;
        baos = new ByteArrayOutputStream();
        marshaller = new DefaultMarshaller();
        ruleBase.writeStatefulSession( session,
                                       baos,
                                       marshaller );
        serializedRulebase = DroolsStreamUtils.streamOut( ruleBase );
View Full Code Here

        StatefulSession session = ruleBase.newStatefulSession();
        session.startProcess("com.sample.ruleflow", null);
        assertEquals(1, session.getProcessInstances().size());
       
        Marshaller marshaller = new DefaultMarshaller();

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ruleBase.writeStatefulSession(session, baos, marshaller);
        byte[] b1 = baos.toByteArray();
        session.dispose();
View Full Code Here

    }

    public static StatefulSession getSerialisedStatefulSession(StatefulSession session,
                                                               RuleBase ruleBase,
                                                               boolean dispose) throws Exception {
        Marshaller marshaller = new DefaultMarshaller();

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ruleBase.writeStatefulSession( session,
                                       baos,
                                       marshaller );

        byte[] b1 = baos.toByteArray();
        ByteArrayInputStream bais = new ByteArrayInputStream( b1 );
        StatefulSession session2 = ruleBase.readStatefulSession( bais,
                                                                true,
                                                                marshaller );

        // write methods allways needs a new marshaller for Identity strategies
        marshaller = new DefaultMarshaller();       
        baos = new ByteArrayOutputStream();
        ruleBase.writeStatefulSession( session2,
                                       baos,
                                       marshaller );
View Full Code Here

TOP

Related Classes of org.drools.marshalling.DefaultMarshaller

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.