Package org.drools.common

Examples of org.drools.common.DisconnectedFactHandle


public class ResultTranslator {

  private Object convert(Object obj) {
    if (obj instanceof FactHandle && !(obj instanceof DisconnectedFactHandle)) {
      return new DisconnectedFactHandle(((FactHandle) obj).toExternalForm());
    }
   
    if (obj instanceof NativeQueryResults) {
      NativeQueryResults nativeQueryResults = (NativeQueryResults) obj;
            List<Declaration> declrs = new ArrayList<Declaration>();
            HashMap<String, Integer> identifiers = new HashMap<String, Integer>(  );
           
            for ( String identifier : nativeQueryResults.getIdentifiers() ) {
              // we don't want to marshall the query parameters
              Declaration declr = nativeQueryResults.getDeclarations().get( identifier );
              ObjectType objectType = declr.getPattern().getObjectType();
              if ( objectType instanceof ClassObjectType &&
                ((ClassObjectType) objectType).getClassType() == DroolsQuery.class ) {
                  continue;
              }
              declrs.add(declr);
              identifiers.put(identifier, declrs.size() - 1);
            }
           
            ArrayList<ArrayList<Object>> results = new ArrayList<ArrayList<Object>>( nativeQueryResults.size() );
            ArrayList<ArrayList<org.drools.runtime.rule.FactHandle>> factHandles = new ArrayList<ArrayList<org.drools.runtime.rule.FactHandle>> ( nativeQueryResults.size() );
            for (QueryResultsRow row : nativeQueryResults) {
              ArrayList<Object> objectList = new ArrayList<Object>();
                ArrayList<org.drools.runtime.rule.FactHandle> factHandleList = new ArrayList<org.drools.runtime.rule.FactHandle>();
                for (int i = 0; i < declrs.size(); i++) {
                  objectList.add(convert(row.get(declrs.get(i).getIdentifier())));
                  factHandleList.add(new DisconnectedFactHandle(row.getFactHandle(declrs.get(i).getIdentifier()).toExternalForm()));
                }               
              factHandles.add(factHandleList);
                results.add(objectList);
            }
View Full Code Here


        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        DefaultFactHandle helloHandle = (DefaultFactHandle) ksession.insert( "hello" );
        DefaultFactHandle goodbyeHandle = (DefaultFactHandle) ksession.insert( "goodbye" );

        org.drools.runtime.rule.FactHandle key = new DisconnectedFactHandle( helloHandle.toExternalForm() );
        assertEquals( "hello",
                      ksession.getObject( key ) );

        key = new DisconnectedFactHandle( goodbyeHandle.toExternalForm() );
        assertEquals( "goodbye",
                      ksession.getObject( key ) );

    }
View Full Code Here

        return this.handle;
    }

    @XmlAttribute(name="fact-handle", required=true)
    public void setFactHandleFromString(String factHandleId) {
        handle = new DisconnectedFactHandle(factHandleId);
    }
View Full Code Here

        return this.handle;
    }
   
    @XmlAttribute(name="fact-handle", required=true)
    public void setFactHandleFromString(String factHandleId) {
        handle = new DisconnectedFactHandle(factHandleId);
    }
View Full Code Here

            }
        }

        public Object unmarshal(HierarchicalStreamReader reader,
                                UnmarshallingContext context) {
            FactHandle factHandle = new DisconnectedFactHandle( reader.getAttribute( "factHandle" ) );

            List<Setter> setters = new ArrayList();
            while ( reader.hasMoreChildren() ) {
                reader.moveDown();
                Setter setter = CommandFactory.newSetter( reader.getAttribute( "accessor" ),
View Full Code Here

                                 cmd.getFactHandle().toExternalForm() );
        }

        public Object unmarshal(HierarchicalStreamReader reader,
                                UnmarshallingContext context) {
            FactHandle factHandle = new DisconnectedFactHandle( reader.getAttribute( "factHandle" ) );

            Command cmd = CommandFactory.newRetract( factHandle );

            return cmd;
        }
View Full Code Here

            }
        }

        public Object unmarshal(HierarchicalStreamReader reader,
                                UnmarshallingContext context) {
            FactHandle factHandle = new DisconnectedFactHandle( reader.getAttribute( "factHandle" ) );
            String identifierOut = reader.getAttribute( "out-identifier" );

            GetObjectCommand cmd = new GetObjectCommand( factHandle );
            if ( identifierOut != null ) {
                cmd.setOutIdentifier( identifierOut );
View Full Code Here

                    reader.moveUp();
                    reader.moveUp();
                } else if ( reader.getNodeName().equals( "fact-handle" ) ) {
                    String identifier = reader.getAttribute( "identifier" );
                    facts.put( identifier,
                               new DisconnectedFactHandle( reader.getAttribute( "externalForm" ) ) );
                } else if ( reader.getNodeName().equals( "fact-handles" ) ) {
                    String identifier = reader.getAttribute( "identifier" );
                    List<FactHandle> list = new ArrayList();
                    while ( reader.hasMoreChildren() ) {
                        reader.moveDown();
                        list.add( new DisconnectedFactHandle( reader.getAttribute( "externalForm" ) ) );
                        reader.moveUp();
                    }
                    facts.put( identifier,
                               list );
                } else {
View Full Code Here

                                              context,
                                              null );
                    reader.moveUp();
                   
                    reader.moveDown();
                    FactHandle handle = new DisconnectedFactHandle( reader.getAttribute( "externalForm" ) );
                    reader.moveUp();                   
                 
                    objects.add( object );
                    handles.addhandle  );
                }
View Full Code Here

        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        DefaultFactHandle helloHandle = (DefaultFactHandle) ksession.insert( "hello" );
        DefaultFactHandle goodbyeHandle = (DefaultFactHandle) ksession.insert( "goodbye" );

        org.drools.runtime.rule.FactHandle key = new DisconnectedFactHandle( helloHandle.toExternalForm() );
        assertEquals( "hello",
                      ksession.getObject( key ) );

        key = new DisconnectedFactHandle( goodbyeHandle.toExternalForm() );
        assertEquals( "goodbye",
                      ksession.getObject( key ) );

    }
View Full Code Here

TOP

Related Classes of org.drools.common.DisconnectedFactHandle

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.