Package org.drools.marshalling

Examples of org.drools.marshalling.ObjectMarshallingStrategy


        }

        Object object = handle.getObject();

        if (object != null) {
            ObjectMarshallingStrategy strategy = objectMarshallingStrategyStore.getStrategyObject(object);

            Integer index = context.getStrategyIndex(strategy);
            _handle.setStrategyIndex(index.intValue());
            _handle.setObject(ByteString.copyFrom(strategy.marshal(context.strategyContext.get(strategy),
                    context,
                    object)));
        }

        return _handle.build();
View Full Code Here


    public static InternalFactHandle readFactHandle(MarshallerReaderContext context,
                                                    WorkingMemoryEntryPoint entryPoint,
                                                    FactHandle _handle) throws IOException,
                                                                       ClassNotFoundException {
        Object object = null;
        ObjectMarshallingStrategy strategy = null;
        if ( _handle.hasStrategyIndex() ) {
            strategy = context.usedStrategies.get( _handle.getStrategyIndex() );
            object = strategy.unmarshal( context.strategyContexts.get( strategy ),
                                         context,
                                         _handle.getObject().toByteArray(),
                                         (context.ruleBase == null)?null:context.ruleBase.getRootClassLoader() );
        }
View Full Code Here

        // Old versions wrote -1 and tested >= 0 to see if there was a strategy available
        // Now, we write -2 to indicate that we write the strategy class name to the stream
        stream.writeInt(-2);
        if ( object != null ) {
            ObjectMarshallingStrategy strategy = objectMarshallingStrategyStore.getStrategyObject( object );

            String strategyClassName = strategy.getClass().getName();
            stream.writeUTF(strategyClassName);

            strategy.write( stream,
                            object );
        } else {
            stream.writeUTF("");
        }
View Full Code Here

        for ( String key : parameters.keySet() ) {
            Object object = parameters.get( key );
            if ( object != null ) {
                stream.writeUTF( key );
               
                ObjectMarshallingStrategy strategy = context.objectMarshallingStrategyStore.getStrategyObject( object );
                String strategyClassName = strategy.getClass().getName();
                stream.writeInt(-2); // backwards compatibility
                stream.writeUTF(strategyClassName);
                if ( strategy.accept( object ) ) {
                    strategy.write( stream,
                                    object );
                }
            }

        }
View Full Code Here

    }

  private static void loadStrategiesIndex(MarshallerReaderContext context,
                                            ProtobufMessages.Header _header) throws IOException, ClassNotFoundException {
        for ( ProtobufMessages.Header.StrategyIndex _entry : _header.getStrategyList() ) {
            ObjectMarshallingStrategy strategyObject = context.resolverStrategyFactory.getStrategyObject( _entry.getName() );
            if ( strategyObject == null ) {
                throw new IllegalStateException( "No strategy of type " + _entry.getName() + " available." );
            }
            context.usedStrategies.put( _entry.getId(), strategyObject );
            Context ctx = strategyObject.createContext();
            context.strategyContexts.put( strategyObject, ctx );
            if( _entry.hasData() && ctx != null ) {
    ClassLoader classLoader = null;
                if (context.classLoader != null ){
                    classLoader = context.classLoader;
View Full Code Here

                                                                                    ClassNotFoundException {
        int id = context.stream.readInt();
        long recency = context.stream.readLong();

        int strategyIndex = context.stream.readInt();
        ObjectMarshallingStrategy strategy = context.resolverStrategyFactory.getStrategy( strategyIndex );
        Object object = strategy.read( context.stream );
       
        WorkingMemoryEntryPoint entryPoint = null;
        if(context.readBoolean()){
            String entryPointId = context.readUTF();
            if(entryPointId != null && !entryPointId.equals("")){
View Full Code Here

               
                for (int i = 0; i < nbVariables; i++) {
                    String name = stream.readUTF();
                    try {
                        int index = stream.readInt();
                        ObjectMarshallingStrategy strategy = context.resolverStrategyFactory.getStrategy(index);
                       
                        Object value = strategy.read(stream);
                        workItem.setParameter(name, value);
                    } catch (ClassNotFoundException e) {
                        throw new IllegalArgumentException(
                                "Could not reload variable " + name);
                    }
View Full Code Here

        Object object = handle.getObject();

        int index = objectMarshallingStrategyStore.getStrategy( object );
       
        ObjectMarshallingStrategy strategy = objectMarshallingStrategyStore.getStrategy( index );

        stream.writeInt( index );

        strategy.write( stream,
                        object );
        if( handle.getEntryPoint() instanceof InternalWorkingMemoryEntryPoint ){
            String entryPoint = ((InternalWorkingMemoryEntryPoint)handle.getEntryPoint()).getEntryPoint().getEntryPointId();
            if(entryPoint!=null && !entryPoint.equals("")){
                stream.writeBoolean(true);
View Full Code Here

                    Object object = parameters.get(key);
                    if(object != null){
                        stream.writeUTF(key);
                        int index = context.objectMarshallingStrategyStore.getStrategy(object);
                        stream.writeInt(index);
                        ObjectMarshallingStrategy strategy = context.objectMarshallingStrategyStore.getStrategy(index);
                        if(strategy.accept(object)){
                            strategy.write(stream, object);
                        }
                    }

                }
            
View Full Code Here

        }

        Object object = handle.getObject();

        if (object != null) {
            ObjectMarshallingStrategy strategy = objectMarshallingStrategyStore.getStrategyObject(object);

            Integer index = context.getStrategyIndex(strategy);
            _handle.setStrategyIndex(index.intValue());
            _handle.setObject(ByteString.copyFrom(strategy.marshal(context.strategyContext.get(strategy),
                    context,
                    object)));
        }

        return _handle.build();
View Full Code Here

TOP

Related Classes of org.drools.marshalling.ObjectMarshallingStrategy

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.