/** * Copyright 2010 JBoss Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.drools.testframework; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.concurrent.locks.Lock; import org.drools.Agenda; import org.drools.FactException; import org.drools.FactHandle; import org.drools.QueryResults; import org.drools.RuleBase; import org.drools.SessionConfiguration; import org.drools.WorkingMemoryEntryPoint; import org.drools.common.InternalFactHandle; import org.drools.common.InternalKnowledgeRuntime; import org.drools.common.InternalRuleBase; import org.drools.common.InternalWorkingMemory; import org.drools.common.NodeMemory; import org.drools.common.ObjectStore; import org.drools.common.ObjectTypeConfigurationRegistry; import org.drools.common.RuleBasePartitionId; import org.drools.common.TruthMaintenanceSystem; import org.drools.common.WorkingMemoryAction; import org.drools.concurrent.ExecutorService; import org.drools.event.AgendaEventListener; import org.drools.event.AgendaEventSupport; import org.drools.event.RuleBaseEventListener; import org.drools.event.WorkingMemoryEventListener; import org.drools.event.WorkingMemoryEventSupport; import org.drools.process.instance.WorkItemManager; import org.drools.reteoo.LIANodePropagation; import org.drools.reteoo.ObjectTypeConf; import org.drools.reteoo.PartitionTaskManager; import org.drools.rule.EntryPoint; import org.drools.rule.Rule; import org.drools.runtime.Calendars; import org.drools.runtime.Channel; import org.drools.runtime.Environment; import org.drools.runtime.ExitPoint; import org.drools.runtime.ObjectFilter; import org.drools.runtime.impl.ExecutionResultImpl; import org.drools.runtime.process.InternalProcessRuntime; import org.drools.runtime.process.ProcessInstance; import org.drools.spi.Activation; import org.drools.spi.AgendaFilter; import org.drools.spi.AsyncExceptionHandler; import org.drools.spi.FactHandleFactory; import org.drools.spi.GlobalResolver; import org.drools.spi.PropagationContext; import org.drools.time.SessionClock; import org.drools.time.TimerService; import org.drools.time.impl.JDKTimerService; import org.drools.type.DateFormats; import org.jbpm.process.instance.ProcessInstanceManager; import org.jbpm.process.instance.event.SignalManager; import org.jbpm.process.instance.timer.TimerManager; public class MockWorkingMemory implements InternalWorkingMemory { List<Object> facts = new ArrayList<Object>(); AgendaEventListener agendaEventListener; Map<String, Object> globals = new HashMap<String, Object>(); private SessionClock clock = new JDKTimerService(); public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { facts = (List<Object>)in.readObject(); agendaEventListener = (AgendaEventListener)in.readObject(); globals = (Map<String, Object>)in.readObject(); } public void writeExternal(ObjectOutput out) throws IOException { out.writeObject(facts); out.writeObject(agendaEventListener); out.writeObject(globals); } public Calendars getCalendars() { return null; } public Iterator iterateObjects() { return this.facts.iterator(); } public void setGlobal(String identifier, Object value) { this.globals.put(identifier, value); } public void addEventListener(AgendaEventListener listener) { this.agendaEventListener = listener; } public void addLIANodePropagation(LIANodePropagation liaNodePropagation) { // TODO Auto-generated method stub } public void clearNodeMemory(NodeMemory node) { // TODO Auto-generated method stub } public void executeQueuedActions() { // TODO Auto-generated method stub } public ExecutorService getExecutorService() { // TODO Auto-generated method stub return null; } public FactHandle getFactHandleByIdentity(Object object) { // TODO Auto-generated method stub return null; } public FactHandleFactory getFactHandleFactory() { // TODO Auto-generated method stub return null; } public int getId() { // TODO Auto-generated method stub return 0; } public InternalFactHandle getInitialFactHandle() { // TODO Auto-generated method stub return null; } public Lock getLock() { // TODO Auto-generated method stub return null; } public long getNextPropagationIdCounter() { // TODO Auto-generated method stub return 0; } public Object getNodeMemory(NodeMemory node) { // TODO Auto-generated method stub return null; } public ObjectStore getObjectStore() { // TODO Auto-generated method stub return null; } public ObjectTypeConfigurationRegistry getObjectTypeConfigurationRegistry() { // TODO Auto-generated method stub return null; } public PartitionTaskManager getPartitionTaskManager(RuleBasePartitionId partitionId) { // TODO Auto-generated method stub return null; } public ProcessInstanceManager getProcessInstanceManager() { // TODO Auto-generated method stub return null; } public TimerService getTimerService() { // TODO Auto-generated method stub return null; } public TruthMaintenanceSystem getTruthMaintenanceSystem() { // TODO Auto-generated method stub return null; } public boolean isSequential() { // TODO Auto-generated method stub return false; } public void queueWorkingMemoryAction(WorkingMemoryAction action) { // TODO Auto-generated method stub } public void removeProcessInstance(ProcessInstance processInstance) { // TODO Auto-generated method stub } public void retract(FactHandle factHandle, boolean removeLogical, boolean updateEqualsMap, Rule rule, Activation activation) throws FactException { // TODO Auto-generated method stub } public void setAgendaEventSupport(AgendaEventSupport agendaEventSupport) { // TODO Auto-generated method stub } public void setExecutorService(ExecutorService executor) { // TODO Auto-generated method stub } public void setId(int id) { // TODO Auto-generated method stub } public void setRuleBase(InternalRuleBase ruleBase) { // TODO Auto-generated method stub } public void setWorkingMemoryEventSupport(WorkingMemoryEventSupport workingMemoryEventSupport) { // TODO Auto-generated method stub } public void clearActivationGroup(String group) { // TODO Auto-generated method stub } public void clearAgenda() { // TODO Auto-generated method stub } public void clearAgendaGroup(String group) { // TODO Auto-generated method stub } public void clearRuleFlowGroup(String group) { // TODO Auto-generated method stub } public int fireAllRules() throws FactException { // TODO Auto-generated method stub return 0; } public int fireAllRules(AgendaFilter agendaFilter) throws FactException { // TODO Auto-generated method stub return 0; } public int fireAllRules(int fireLimit) throws FactException { // TODO Auto-generated method stub return 0; } public int fireAllRules(AgendaFilter agendaFilter, int fireLimit) throws FactException { // TODO Auto-generated method stub return 0; } public Agenda getAgenda() { // TODO Auto-generated method stub return null; } public FactHandle getFactHandle(Object object) { // TODO Auto-generated method stub return null; } public Object getGlobal(String identifier) { // TODO Auto-generated method stub return null; } public GlobalResolver getGlobalResolver() { // TODO Auto-generated method stub return null; } public Object getObject(org.drools.runtime.rule.FactHandle handle) { // TODO Auto-generated method stub return null; } public ProcessInstance getProcessInstance(long id) { // TODO Auto-generated method stub return null; } public Collection<ProcessInstance> getProcessInstances() { // TODO Auto-generated method stub return null; } public QueryResults getQueryResults(String query) { // TODO Auto-generated method stub return null; } public QueryResults getQueryResults(String query, Object[] arguments) { // TODO Auto-generated method stub return null; } public RuleBase getRuleBase() { // TODO Auto-generated method stub return null; } public SessionClock getSessionClock() { return this.clock; } public void setSessionClock(SessionClock clock) { this.clock = clock; } public SignalManager getSignalManager() { // TODO Auto-generated method stub return null; } public TimerManager getTimerManager() { // TODO Auto-generated method stub return null; } public WorkItemManager getWorkItemManager() { // TODO Auto-generated method stub return null; } public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String id) { // TODO Auto-generated method stub return null; } public void halt() { // TODO Auto-generated method stub } public Iterator< ? > iterateFactHandles() { // TODO Auto-generated method stub return null; } public Iterator< ? > iterateFactHandles(org.drools.runtime.ObjectFilter filter) { // TODO Auto-generated method stub return null; } public Iterator< ? > iterateObjects(org.drools.runtime.ObjectFilter filter) { // TODO Auto-generated method stub return null; } public void setAsyncExceptionHandler(AsyncExceptionHandler handler) { // TODO Auto-generated method stub } public void setFocus(String focus) { // TODO Auto-generated method stub } public void setGlobalResolver(GlobalResolver globalResolver) { // TODO Auto-generated method stub } public ProcessInstance startProcess(String processId) { // TODO Auto-generated method stub return null; } public ProcessInstance startProcess(String processId, Map<String, Object> parameters) { // TODO Auto-generated method stub return null; } public void addEventListener(WorkingMemoryEventListener listener) { // TODO Auto-generated method stub } public List getAgendaEventListeners() { // TODO Auto-generated method stub return null; } public List getWorkingMemoryEventListeners() { // TODO Auto-generated method stub return null; } public void removeEventListener(WorkingMemoryEventListener listener) { // TODO Auto-generated method stub } public void removeEventListener(AgendaEventListener listener) { // TODO Auto-generated method stub } public void addEventListener(RuleBaseEventListener listener) { // TODO Auto-generated method stub } public List<RuleBaseEventListener> getRuleBaseEventListeners() { // TODO Auto-generated method stub return null; } public void removeEventListener(RuleBaseEventListener listener) { // TODO Auto-generated method stub } public FactHandle insert(Object object) throws FactException { this.facts .add(object); return new MockFactHandle(object.hashCode()); } public FactHandle insert(Object object, boolean dynamic) throws FactException { // TODO Auto-generated method stub return null; } public void modifyInsert(FactHandle factHandle, Object object) { // TODO Auto-generated method stub } public void modifyRetract(FactHandle factHandle) { // TODO Auto-generated method stub } public void retract(org.drools.runtime.rule.FactHandle handle) throws FactException { // TODO Auto-generated method stub } public void update(org.drools.runtime.rule.FactHandle handle, Object object) throws FactException { // TODO Auto-generated method stub } public InternalKnowledgeRuntime getKnowledgeRuntime() { // TODO Auto-generated method stub return null; } public void setKnowledgeRuntime(InternalKnowledgeRuntime kruntime) { // TODO Auto-generated method stub } public Map<String, ExitPoint> getExitPoints() { // TODO Auto-generated method stub return null; } public Environment getEnvironment() { // TODO Auto-generated method stub return null; } public SessionConfiguration getSessionConfiguration() { // TODO Auto-generated method stub return null; } public Map<String, WorkingMemoryEntryPoint> getEntryPoints() { // TODO Auto-generated method stub return null; } public void endBatchExecution() { // TODO Auto-generated method stub } public ExecutionResultImpl getExecutionResult() { // TODO Auto-generated method stub return null; } public void startBatchExecution(ExecutionResultImpl results) { // TODO Auto-generated method stub } public Collection< Object > getObjects() { // TODO Auto-generated method stub return null; } public Collection< Object > getObjects(ObjectFilter filter) { // TODO Auto-generated method stub return null; } public void endOperation() { // TODO Auto-generated method stub } public long getIdleTime() { // TODO Auto-generated method stub return 0; } public void startOperation() { // TODO Auto-generated method stub } public long getTimeToNextJob() { // TODO Auto-generated method stub return 0; } public void updateEntryPointsCache() { // TODO Auto-generated method stub } public void activationFired() { // TODO Auto-generated method stub } public void prepareToFireActivation() { // TODO Auto-generated method stub } public String getEntryPointId() { // TODO Auto-generated method stub return null; } public long getFactCount() { // TODO Auto-generated method stub return 0; } public long getTotalFactCount() { // TODO Auto-generated method stub return 0; } public DateFormats getDateFormats() { // TODO Auto-generated method stub return null; } public <T extends org.drools.runtime.rule.FactHandle> Collection<T> getFactHandles() { // TODO Auto-generated method stub return null; } public <T extends org.drools.runtime.rule.FactHandle> Collection<T> getFactHandles(ObjectFilter filter) { // TODO Auto-generated method stub return null; } public EntryPoint getEntryPoint() { // TODO Auto-generated method stub return null; } public void insert(InternalFactHandle handle, Object object, Rule rule, Activation activation, ObjectTypeConf typeConf) { // TODO Auto-generated method stub } public Map<String, Channel> getChannels() { // TODO Auto-generated method stub return null; } public InternalProcessRuntime getProcessRuntime() { // TODO Auto-generated method stub return null; } }