[jboss-svn-commits] JBL Code SVN: r34377 - in labs/jbossrules/trunk: drools-camel/src/main/java/org/drools/camel/component and 12 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jul 29 21:28:04 EDT 2010
Author: mark.proctor at jboss.com
Date: 2010-07-29 21:28:02 -0400 (Thu, 29 Jul 2010)
New Revision: 34377
Added:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/BatchExecutionCommand.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactoryService.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryServiceImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/BatchExecutionCommandImpl.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/command/
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/command/CommandTest.java
Removed:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactoryProvider.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryProviderImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/BatchExecutionCommand.java
Modified:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactory.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/Setter.java
labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/DroolsPolicy.java
labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/DroolsProducer.java
labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/XStreamHelper.java
labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/XStreamXml.java
labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointTest.java
labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java
labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java
labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java
labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithMarshallersTest.java
labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelProxyEndpointTest.java
labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/JaxbTest.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/runtime/pipeline/impl/DroolsJaxbHelperProviderImpl.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessSessionTest.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/ObjectFactory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/InsertElementsCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/InsertObjectCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/ModifyCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/RetractCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/UpdateCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatelessKnowledgeSessionImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamHelper.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamJSon.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamXML.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/xml/jaxb/util/DroolsJaxbContextHelper.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/CompilerIndependenceTest.java
Log:
JBRULES-2347 Camel
-More command Tweaks
Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/BatchExecutionCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/BatchExecutionCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/BatchExecutionCommand.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -0,0 +1,9 @@
+package org.drools.command;
+
+import org.drools.runtime.ExecutionResults;
+
+
+
+public interface BatchExecutionCommand extends Command<ExecutionResults> {
+
+}
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactory.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactory.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -16,6 +16,7 @@
package org.drools.command;
+import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -36,9 +37,10 @@
*`
*
* <p>This api is experimental and thus the classes and the interfaces returned are subject to change.</p>
+ * @BETA
*/
public class CommandFactory {
- private static volatile CommandFactoryProvider provider;
+ private static volatile CommandFactoryService provider;
/**
* Inserts a new instance
@@ -58,20 +60,58 @@
* @return
*/
public static Command newInsert(Object object,
- String outIdentifier) {
+ String outIdentifier) {
return getCommandFactoryProvider().newInsert( object,
- outIdentifier );
+ outIdentifier,
+ null );
}
+
+ /**
+ * Inserts a new instance but references via the outIdentifier, which is returned as part of the ExecutionResults
+ * The outIdentifier can be null.
+ * The entryPoint, which can also be null, specifies the entrypoint the object is inserted into.
+ *
+ * @param object
+ * @param outIdentifier
+ * @param entryPoint
+ * @return
+ */
+ public static Command newInsert(Object object,
+ String outIdentifier,
+ String entryPoint ) {
+ return getCommandFactoryProvider().newInsert( object,
+ outIdentifier,
+ entryPoint );
+ }
/**
- * Iterate and insert each of the elements of the Iterable, typically a Collection.
+ * Iterate and insert each of the elements of the Collection.
*
- * @param iterable
+ *
+ * @param objects
+ * The objects to insert
* @return
*/
- public static Command newInsertElements(Iterable objects) {
+ public static Command newInsertElements(Collection objects) {
return getCommandFactoryProvider().newInsertElements( objects );
}
+
+ /**
+ * Iterate and insert each of the elements of the Collection.
+ *
+ * @param objects
+ * The objects to insert
+ * @param outIdentifier
+ * Identifier to lookup the returned objects
+ * @param returnObject
+ * boolean to specify whether the inserted Collection is part of the ExecutionResults
+ * @param entryPoint
+ * Optional EntryPoint for the insertions
+ * @return
+ */
+ public Command newInsertElements(Collection objects, String outIdentifier, boolean returnObject, String entryPoint) {
+ return getCommandFactoryProvider().newInsertElements( objects, outIdentifier, returnObject, entryPoint );
+ }
public static Command newRetract(FactHandle factHandle) {
return getCommandFactoryProvider().newRetract( factHandle );
@@ -275,15 +315,24 @@
* @param commands
* @return
*/
- public static Command newBatchExecution(List< ? extends Command> commands) {
- return getCommandFactoryProvider().newBatchExecution( commands );
+ public static BatchExecutionCommand newBatchExecution(List< ? extends Command> commands) {
+ return getCommandFactoryProvider().newBatchExecution( commands, null );
}
+
+ /**
+ *
+ * @return
+ */
+ public static BatchExecutionCommand newBatchExecution(List< ? extends Command> commands, String lookup ) {
+ return getCommandFactoryProvider().newBatchExecution( commands,
+ lookup);
+ }
- private static synchronized void setCommandFactoryProvider(CommandFactoryProvider provider) {
+ private static synchronized void setCommandFactoryProvider(CommandFactoryService provider) {
CommandFactory.provider = provider;
}
- private static synchronized CommandFactoryProvider getCommandFactoryProvider() {
+ private static synchronized CommandFactoryService getCommandFactoryProvider() {
if ( provider == null ) {
loadProvider();
}
@@ -292,7 +341,7 @@
private static void loadProvider() {
try {
- Class<CommandFactoryProvider> cls = (Class<CommandFactoryProvider>) Class.forName( "org.drools.command.impl.CommandFactoryProviderImpl" );
+ Class<CommandFactoryService> cls = (Class<CommandFactoryService>) Class.forName( "org.drools.command.impl.CommandFactoryServiceImpl" );
setCommandFactoryProvider( cls.newInstance() );
} catch ( Exception e2 ) {
throw new RuntimeException( "Provider org.drools.command.impl.CommandFactoryProviderImpl could not be set.",
Deleted: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactoryProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactoryProvider.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactoryProvider.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -1,93 +0,0 @@
-/**
- * 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.command;
-
-import java.util.List;
-import java.util.Map;
-
-import org.drools.runtime.ObjectFilter;
-import org.drools.runtime.rule.FactHandle;
-
-public interface CommandFactoryProvider {
- Command newInsert(Object object);
-
- Command newInsert(Object object,
- String outIdentifier);
-
- Command newInsertElements(Iterable iterable);
-
- Command newRetract(FactHandle factHandle);
-
- Setter newSetter(String accessor,
- String value);
-
- Command newModify(FactHandle factHandle,
- List<Setter> setters);
-
- Command newFireAllRules();
-
- Command newFireAllRules(int max);
-
- Command newGetObject(FactHandle factHandle);
-
- Command newGetObjects();
-
- Command newGetObjects(ObjectFilter filter);
-
- Command newSetGlobal(String identifie,
- Object object);
-
- Command newSetGlobal(String identifier,
- Object object,
- boolean out);
-
- Command newSetGlobal(String identifier,
- Object object,
- String outIdentifier);
-
- Command newGetGlobal(String identifier);
-
- Command newGetGlobal(String identifier,
- String outIdentifier);
-
- Command newStartProcess(String processId);
-
- Command newStartProcess(String processId,
- Map<String, Object> parameters);
-
- Command newSignalEvent(String type,
- Object event);
-
- Command newSignalEvent(long processInstanceId,
- String type,
- Object event);
-
- Command newCompleteWorkItem(long workItemId,
- Map<String, Object> results);
-
- Command newQuery(String identifier,
- String name);
-
- Command newQuery(String identifier,
- String name,
- Object[] arguments);
-
- Command newBatchExecution(List< ? extends Command> commands);
-
- Command newAbortWorkItem(long workItemId);
-
-}
Copied: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactoryService.java (from rev 34360, labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactoryProvider.java)
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactoryService.java (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/CommandFactoryService.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -0,0 +1,97 @@
+/**
+ * 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.command;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.runtime.ObjectFilter;
+import org.drools.runtime.rule.FactHandle;
+
+public interface CommandFactoryService {
+ Command newInsert(Object object);
+
+ Command newInsert(Object object,
+ String outIdentifier,
+ String entryPoint);
+
+ Command newInsertElements(Collection objects);
+
+ Command newInsertElements(Collection objects, String outIdentifier, boolean returnObject, String entryPoint);
+
+ Command newRetract(FactHandle factHandle);
+
+ Setter newSetter(String accessor,
+ String value);
+
+ Command newModify(FactHandle factHandle,
+ List<Setter> setters);
+
+ Command newFireAllRules();
+
+ Command newFireAllRules(int max);
+
+ Command newGetObject(FactHandle factHandle);
+
+ Command newGetObjects();
+
+ Command newGetObjects(ObjectFilter filter);
+
+ Command newSetGlobal(String identifie,
+ Object object);
+
+ Command newSetGlobal(String identifier,
+ Object object,
+ boolean out);
+
+ Command newSetGlobal(String identifier,
+ Object object,
+ String outIdentifier);
+
+ Command newGetGlobal(String identifier);
+
+ Command newGetGlobal(String identifier,
+ String outIdentifier);
+
+ Command newStartProcess(String processId);
+
+ Command newStartProcess(String processId,
+ Map<String, Object> parameters);
+
+ Command newSignalEvent(String type,
+ Object event);
+
+ Command newSignalEvent(long processInstanceId,
+ String type,
+ Object event);
+
+ Command newCompleteWorkItem(long workItemId,
+ Map<String, Object> results);
+
+ Command newQuery(String identifier,
+ String name);
+
+ Command newQuery(String identifier,
+ String name,
+ Object[] arguments);
+
+ BatchExecutionCommand newBatchExecution(List< ? extends Command> commands, String lookup);
+
+ Command newAbortWorkItem(long workItemId);
+
+}
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/Setter.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/Setter.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/command/Setter.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -16,6 +16,10 @@
package org.drools.command;
+/**
+ * @BETA
+ *
+ */
public interface Setter {
String getAccessor();
Modified: labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/DroolsPolicy.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/DroolsPolicy.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/DroolsPolicy.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -48,7 +48,7 @@
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.Policy;
import org.apache.camel.spi.RouteContext;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.process.AbortWorkItemCommand;
@@ -349,9 +349,9 @@
}
}
- public static final String[] JAXB_ANNOTATED_CMD = {BatchExecutionCommand.class.getName(), SetGlobalCommand.class.getName(), GetGlobalCommand.class.getName(), FireAllRulesCommand.class.getName(), InsertElementsCommand.class.getName(),
+ public static final String[] JAXB_ANNOTATED_CMD = {BatchExecutionCommandImpl.class.getName(), SetGlobalCommand.class.getName(), GetGlobalCommand.class.getName(), FireAllRulesCommand.class.getName(), InsertElementsCommand.class.getName(),
InsertObjectCommand.class.getName(), ModifyCommand.class.getName(), SetterImpl.class.getName(), QueryCommand.class.getName(), RetractCommand.class.getName(), AbortWorkItemCommand.class.getName(), SignalEventCommand.class.getName(),
- StartProcessCommand.class.getName(), BatchExecutionCommand.class.getName(), ExecutionResultImpl.class.getName(), DefaultFactHandle.class.getName(), JaxbListWrapper.class.getName(),
+ StartProcessCommand.class.getName(), BatchExecutionCommandImpl.class.getName(), ExecutionResultImpl.class.getName(), DefaultFactHandle.class.getName(), JaxbListWrapper.class.getName(),
FlatQueryResults.class.getName(), CompleteWorkItemCommand.class.getName(), GetObjectsCommand.class.getName()};
}
Modified: labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/DroolsProducer.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/DroolsProducer.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/DroolsProducer.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -51,7 +51,7 @@
import org.drools.command.Command;
import org.drools.command.impl.CommandBasedStatefulKnowledgeSession;
import org.drools.command.impl.GenericCommand;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.core.util.StringUtils;
import org.drools.grid.ExecutionNode;
import org.drools.impl.KnowledgeBaseImpl;
@@ -92,8 +92,8 @@
throw new RuntimeCamelException( "Body of in message not of the expected type 'org.drools.command.Command' for uri" + de.getEndpointUri() );
}
- if ( !(cmd instanceof BatchExecutionCommand) ) {
- cmd = new BatchExecutionCommand( Arrays.asList( new GenericCommand< ? >[]{(GenericCommand) cmd} ) );
+ if ( !(cmd instanceof BatchExecutionCommandImpl) ) {
+ cmd = new BatchExecutionCommandImpl( Arrays.asList( new GenericCommand< ? >[]{(GenericCommand) cmd} ) );
}
CommandExecutor exec;
@@ -106,8 +106,8 @@
if ( exec == null ) {
String lookup = exchange.getIn().getHeader( DroolsComponent.DROOLS_LOOKUP,
String.class );
- if ( StringUtils.isEmpty( lookup ) && (cmd instanceof BatchExecutionCommand) ) {
- lookup = ((BatchExecutionCommand) cmd).getLookup();
+ if ( StringUtils.isEmpty( lookup ) && (cmd instanceof BatchExecutionCommandImpl) ) {
+ lookup = ((BatchExecutionCommandImpl) cmd).getLookup();
}
if ( de.getExecutionNode() != null && !StringUtils.isEmpty( lookup ) ) {
@@ -125,7 +125,7 @@
throw new RuntimeException( "No defined ksession for uri" + de.getEndpointUri() );
}
- ExecutionResults results = exec.execute( (BatchExecutionCommand) cmd );;
+ ExecutionResults results = exec.execute( (BatchExecutionCommandImpl) cmd );;
// if ( de.dataFormat != null ) {
// ByteArrayOutputStream baos = new ByteArrayOutputStream();
Modified: labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/XStreamHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/XStreamHelper.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/XStreamHelper.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -23,7 +23,7 @@
import org.apache.camel.model.DataFormatDefinition;
import org.apache.camel.model.dataformat.XStreamDataFormat;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.process.AbortWorkItemCommand;
@@ -52,7 +52,7 @@
}
map.put( "batch-execution",
- BatchExecutionCommand.class.getName() );
+ BatchExecutionCommandImpl.class.getName() );
map.put( "insert",
InsertObjectCommand.class.getName() );
map.put( "modify",
Modified: labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/XStreamXml.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/XStreamXml.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/camel/component/XStreamXml.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -22,7 +22,7 @@
import java.util.Map;
import org.apache.camel.model.dataformat.XStreamDataFormat;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.runtime.help.impl.XStreamXML.AbortWorkItemConverter;
import org.drools.runtime.help.impl.XStreamXML.BatchExecutionResultConverter;
import org.drools.runtime.help.impl.XStreamXML.CompleteWorkItemConverter;
@@ -52,7 +52,7 @@
if ( map == null ) {
map = new HashMap<String, String[]>();
}
- map.put( BatchExecutionCommand.class.getName(),
+ map.put( BatchExecutionCommandImpl.class.getName(),
new String[] { "commands" } );
xstreamDataFormat.setImplicitCollections( map );
Modified: labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointTest.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointTest.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointTest.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -38,7 +38,7 @@
import org.apache.camel.builder.RouteBuilder;
import org.drools.command.CommandFactory;
import org.drools.command.impl.GenericCommand;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.rule.GetObjectCommand;
import org.drools.command.runtime.rule.InsertObjectCommand;
import org.drools.common.DefaultFactHandle;
@@ -104,7 +104,7 @@
InsertObjectCommand cmd = new InsertObjectCommand(me);
cmd.setOutIdentifier("camel-rider");
cmd.setReturnObject(false);
- BatchExecutionCommand script = new BatchExecutionCommand( Arrays.asList( new GenericCommand<?>[]{cmd} ));
+ BatchExecutionCommandImpl script = new BatchExecutionCommandImpl( Arrays.asList( new GenericCommand<?>[]{cmd} ));
ExecutionResults results = ksession.execute( script );
handle = ((FactHandle)results.getFactHandle("camel-rider")).toExternalForm();
Modified: labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -37,7 +37,7 @@
import org.drools.builder.ResourceType;
import org.drools.builder.help.KnowledgeBuilderHelper;
import org.drools.command.impl.GenericCommand;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.rule.FireAllRulesCommand;
@@ -66,7 +66,7 @@
public void testWorkingSetGlobalTestSessionSetAndGetGlobal() throws Exception {
- BatchExecutionCommand cmd = new BatchExecutionCommand();
+ BatchExecutionCommandImpl cmd = new BatchExecutionCommandImpl();
cmd.setLookup("ksession1");
SetGlobalCommand setGlobal = new SetGlobalCommand("list", new WrappedList());
@@ -121,7 +121,7 @@
InsertObjectCommand cmd = new InsertObjectCommand(me);
cmd.setOutIdentifier("camel-rider");
cmd.setReturnObject(false);
- BatchExecutionCommand script = new BatchExecutionCommand( Arrays.asList( new GenericCommand<?>[]{cmd} ));
+ BatchExecutionCommandImpl script = new BatchExecutionCommandImpl( Arrays.asList( new GenericCommand<?>[]{cmd} ));
ExecutionResults results = ksession.execute( script );
handle = ((FactHandle)results.getFactHandle("camel-rider")).toExternalForm();
Modified: labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -47,7 +47,7 @@
import org.drools.builder.conf.impl.JaxbConfigurationImpl;
import org.drools.builder.help.KnowledgeBuilderHelper;
import org.drools.command.impl.GenericCommand;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.process.AbortWorkItemCommand;
@@ -92,7 +92,7 @@
public void testSessionInsert() throws Exception {
- BatchExecutionCommand cmd = new BatchExecutionCommand();
+ BatchExecutionCommandImpl cmd = new BatchExecutionCommandImpl();
cmd.setLookup( "ksession1" );
cmd.getCommands().add( new InsertObjectCommand( new Person( "lucaz",
25 ),
@@ -135,7 +135,7 @@
public void testSessionGetObject() throws Exception {
- BatchExecutionCommand cmd = new BatchExecutionCommand();
+ BatchExecutionCommandImpl cmd = new BatchExecutionCommandImpl();
cmd.setLookup( "ksession1" );
cmd.getCommands().add( new GetObjectCommand( new DefaultFactHandle( handle ),
"hadrian" ) );
@@ -218,7 +218,7 @@
public void testInsertElements() throws Exception {
- BatchExecutionCommand cmd = new BatchExecutionCommand();
+ BatchExecutionCommandImpl cmd = new BatchExecutionCommandImpl();
cmd.setLookup( "ksession1" );
InsertElementsCommand elems = new InsertElementsCommand( "elems" );
elems.getObjects().add( new Person( "lucaz",
@@ -259,7 +259,7 @@
}
public void testQuery() throws Exception {
- BatchExecutionCommand cmd = new BatchExecutionCommand();
+ BatchExecutionCommandImpl cmd = new BatchExecutionCommandImpl();
cmd.setLookup( "ksession1" );
cmd.getCommands().add( new InsertObjectCommand( new Person( "lucaz" ) ) );
cmd.getCommands().add( new InsertObjectCommand( new Person( "hadrian" ) ) );
@@ -308,7 +308,7 @@
public void testProcess() throws Exception {
- BatchExecutionCommand cmd = new BatchExecutionCommand();
+ BatchExecutionCommandImpl cmd = new BatchExecutionCommandImpl();
cmd.setLookup( "ksession1" );
StartProcessCommand start = new StartProcessCommand( "org.drools.actions" );
@@ -443,7 +443,7 @@
InsertObjectCommand cmd = new InsertObjectCommand( me );
cmd.setOutIdentifier( "camel-rider" );
cmd.setReturnObject( false );
- BatchExecutionCommand script = new BatchExecutionCommand( Arrays.asList( new GenericCommand< ? >[]{cmd} ) );
+ BatchExecutionCommandImpl script = new BatchExecutionCommandImpl( Arrays.asList( new GenericCommand< ? >[]{cmd} ) );
ExecutionResults results = ksession.execute( script );
handle = ((FactHandle) results.getFactHandle( "camel-rider" )).toExternalForm();
Modified: labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -39,7 +39,7 @@
import org.drools.builder.KnowledgeBuilderFactoryService;
import org.drools.builder.ResourceType;
import org.drools.builder.help.KnowledgeBuilderHelper;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.rule.FireAllRulesCommand;
import org.drools.command.runtime.rule.InsertObjectCommand;
import org.drools.common.InternalRuleBase;
@@ -90,7 +90,7 @@
setAddress.invoke(lucaz, lucazAddress);
setAddress.invoke(baunax, baunaxAddress);
- BatchExecutionCommand cmd = new BatchExecutionCommand();
+ BatchExecutionCommandImpl cmd = new BatchExecutionCommandImpl();
cmd.setLookup("ksession1");
cmd.getCommands().add(new InsertObjectCommand(lucaz, "lucaz"));
cmd.getCommands().add(new InsertObjectCommand(baunax, "baunax"));
Modified: labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithMarshallersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithMarshallersTest.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithMarshallersTest.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -44,7 +44,7 @@
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spring.CamelRouteContextFactoryBean;
import org.drools.command.impl.GenericCommand;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.rule.GetObjectsCommand;
import org.drools.command.runtime.rule.InsertObjectCommand;
import org.drools.common.InternalFactHandle;
@@ -251,7 +251,7 @@
cmd.setOutIdentifier( "camel-rider" );
cmd.setReturnObject( false );
- BatchExecutionCommand script = new BatchExecutionCommand( Arrays.asList( new GenericCommand< ? >[]{cmd} ) );
+ BatchExecutionCommandImpl script = new BatchExecutionCommandImpl( Arrays.asList( new GenericCommand< ? >[]{cmd} ) );
ExecutionResults results = ksession.execute( script );
handle = ((FactHandle) results.getFactHandle( "camel-rider" )).toExternalForm();
Modified: labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelProxyEndpointTest.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelProxyEndpointTest.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/CamelProxyEndpointTest.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -38,7 +38,7 @@
import org.apache.camel.builder.RouteBuilder;
import org.drools.command.CommandFactory;
import org.drools.command.impl.GenericCommand;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.rule.InsertObjectCommand;
import org.drools.pipeline.camel.Person;
import org.drools.runtime.ExecutionResults;
@@ -76,7 +76,7 @@
InsertObjectCommand cmd = new InsertObjectCommand(me);
cmd.setOutIdentifier("camel-rider");
cmd.setReturnObject(false);
- BatchExecutionCommand script = new BatchExecutionCommand( Arrays.asList( new GenericCommand<?>[]{cmd} ));
+ BatchExecutionCommandImpl script = new BatchExecutionCommandImpl( Arrays.asList( new GenericCommand<?>[]{cmd} ));
ExecutionResults results = ksession.execute( script );
handle = ((FactHandle)results.getFactHandle("camel-rider")).toExternalForm();
Modified: labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/JaxbTest.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/JaxbTest.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-camel/src/test/java/org/drools/camel/component/JaxbTest.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -30,7 +30,7 @@
import junit.framework.TestCase;
import org.drools.command.impl.GenericCommand;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.rule.InsertObjectCommand;
@@ -71,7 +71,7 @@
cmds.add( new InsertObjectCommand( new Person("darth", 21), "p" ) );
cmds.add( new GetGlobalCommand( "xxx" ) );
cmds.add( new SetGlobalCommand( "yyy", new Person("yoda", 21) ));
- BatchExecutionCommand batch = new BatchExecutionCommand(cmds);
+ BatchExecutionCommandImpl batch = new BatchExecutionCommandImpl(cmds);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE );
@@ -81,7 +81,7 @@
System.out.println( baos );
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
- BatchExecutionCommand batch2 = ( BatchExecutionCommand ) unmarshaller.unmarshal( new ByteArrayInputStream( baos.toByteArray() ) );
+ BatchExecutionCommandImpl batch2 = ( BatchExecutionCommandImpl ) unmarshaller.unmarshal( new ByteArrayInputStream( baos.toByteArray() ) );
baos = new ByteArrayOutputStream();
marshaller.marshal( batch2, baos );
System.out.println( baos );
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/runtime/pipeline/impl/DroolsJaxbHelperProviderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/runtime/pipeline/impl/DroolsJaxbHelperProviderImpl.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/runtime/pipeline/impl/DroolsJaxbHelperProviderImpl.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -36,7 +36,7 @@
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.help.DroolsJaxbHelperProvider;
import org.drools.builder.impl.KnowledgeBuilderImpl;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.process.AbortWorkItemCommand;
@@ -78,7 +78,7 @@
implements
DroolsJaxbHelperProvider {
- public static final String[] JAXB_ANNOTATED_CMD = {BatchExecutionCommand.class.getName(),
+ public static final String[] JAXB_ANNOTATED_CMD = {BatchExecutionCommandImpl.class.getName(),
SetGlobalCommand.class.getName(),
GetGlobalCommand.class.getName(),
FireAllRulesCommand.class.getName(),
@@ -91,7 +91,7 @@
AbortWorkItemCommand.class.getName(),
SignalEventCommand.class.getName(),
StartProcessCommand.class.getName(),
- BatchExecutionCommand.class.getName(),
+ BatchExecutionCommandImpl.class.getName(),
ExecutionResultImpl.class.getName() ,
DefaultFactHandle.class.getName(),
JaxbListWrapper.class.getName(),
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessSessionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessSessionTest.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessSessionTest.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -30,7 +30,7 @@
import org.drools.command.Command;
import org.drools.command.CommandFactory;
import org.drools.command.impl.GenericCommand;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.compiler.PackageBuilder;
import org.drools.definition.KnowledgePackage;
import org.drools.impl.StatefulKnowledgeSessionImpl;
@@ -115,7 +115,7 @@
StatelessKnowledgeSession ksession = getSession2( ResourceFactory.newByteArrayResource( str.getBytes() ) );
GenericCommand cmd = ( GenericCommand ) CommandFactory.newInsert( stilton, "outStilton" );
- BatchExecutionCommand batch = new BatchExecutionCommand( Arrays.asList( new GenericCommand<?>[] { cmd } ) );
+ BatchExecutionCommandImpl batch = new BatchExecutionCommandImpl( Arrays.asList( new GenericCommand<?>[] { cmd } ) );
ExecutionResults result = ( ExecutionResults ) ksession.execute( batch );
stilton = ( Cheese ) result.getValue( "outStilton" );
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryProviderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryProviderImpl.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryProviderImpl.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -1,168 +0,0 @@
-/**
- * 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.command.impl;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.command.Command;
-import org.drools.command.CommandFactoryProvider;
-import org.drools.command.Setter;
-import org.drools.command.runtime.BatchExecutionCommand;
-import org.drools.command.runtime.GetGlobalCommand;
-import org.drools.command.runtime.SetGlobalCommand;
-import org.drools.command.runtime.process.AbortWorkItemCommand;
-import org.drools.command.runtime.process.CompleteWorkItemCommand;
-import org.drools.command.runtime.process.SignalEventCommand;
-import org.drools.command.runtime.process.StartProcessCommand;
-import org.drools.command.runtime.rule.FireAllRulesCommand;
-import org.drools.command.runtime.rule.GetObjectCommand;
-import org.drools.command.runtime.rule.GetObjectsCommand;
-import org.drools.command.runtime.rule.InsertObjectCommand;
-import org.drools.command.runtime.rule.ModifyCommand;
-import org.drools.command.runtime.rule.QueryCommand;
-import org.drools.command.runtime.rule.RetractCommand;
-import org.drools.command.runtime.rule.ModifyCommand.SetterImpl;
-import org.drools.runtime.ObjectFilter;
-import org.drools.runtime.rule.FactHandle;
-
-public class CommandFactoryProviderImpl implements CommandFactoryProvider {
-
- public Command newGetGlobal(String identifier) {
- return new GetGlobalCommand(identifier);
- }
-
- public Command newGetGlobal(String identifier, String outIdentifier) {
- GetGlobalCommand cmd = new GetGlobalCommand(identifier);
- cmd.setOutIdentifier(outIdentifier);
- return cmd;
- }
-
- public Command newInsertElements(Iterable objects) {
-// TODO: FIX THIS
-// return new InsertElementsCommand(objects);
- return null;
- }
-
- public Command newInsert(Object object) {
- return new InsertObjectCommand(object);
- }
-
- public Command newInsert(Object object, String outIdentifier) {
- InsertObjectCommand cmd = new InsertObjectCommand(object);
- cmd.setOutIdentifier(outIdentifier);
- return cmd;
- }
-
- public Command newRetract(FactHandle factHandle) {
- return new RetractCommand( factHandle );
- }
-
- public Setter newSetter(String accessor,
- String value) {
- return new SetterImpl(accessor, value);
- }
-
- public Command newModify(FactHandle factHandle,
- List<Setter> setters) {
- return new ModifyCommand(factHandle, setters);
- }
-
- public Command newGetObject(FactHandle factHandle) {
- return new GetObjectCommand(factHandle);
- }
-
- public Command newGetObjects() {
- return newGetObjects(null);
- }
-
- public Command newGetObjects(ObjectFilter filter) {
- return new GetObjectsCommand(filter);
- }
-
- public Command newSetGlobal(String identifier, Object object) {
- return new SetGlobalCommand(identifier, object);
- }
-
- public Command newSetGlobal(String identifier, Object object, boolean out) {
- SetGlobalCommand cmd = new SetGlobalCommand(identifier, object);
- cmd.setOut(out);
- return cmd;
- }
-
- public Command newSetGlobal(String identifier, Object object,
- String outIdentifier) {
- SetGlobalCommand cmd = new SetGlobalCommand(identifier, object);
- cmd.setOutIdentifier(outIdentifier);
- return cmd;
- }
-
- public Command newFireAllRules() {
- return new FireAllRulesCommand();
- }
-
- public Command newFireAllRules(int max) {
- return new FireAllRulesCommand(max);
- }
-
- public Command newStartProcess(String processId) {
- StartProcessCommand startProcess = new StartProcessCommand();
- startProcess.setProcessId(processId);
- return startProcess;
- }
-
- public Command newStartProcess(String processId,
- Map<String, Object> parameters) {
- StartProcessCommand startProcess = new StartProcessCommand();
- startProcess.setProcessId(processId);
- startProcess.setParameters((HashMap<String, Object>) parameters);
- return startProcess;
- }
-
- public Command newSignalEvent(String type,
- Object event) {
- return new SignalEventCommand( type, event );
- }
-
- public Command newSignalEvent(long processInstanceId,
- String type,
- Object event) {
- return new SignalEventCommand( processInstanceId, type, event );
- }
-
- public Command newCompleteWorkItem(long workItemId,
- Map<String, Object> results) {
- return new CompleteWorkItemCommand(workItemId, results);
- }
-
- public Command newAbortWorkItem(long workItemId) {
- return new AbortWorkItemCommand( workItemId);
- }
-
- public Command newQuery(String identifier, String name) {
- return new QueryCommand(identifier, name, null);
- }
-
- public Command newQuery(String identifier, String name, Object[] arguments) {
- return new QueryCommand(identifier, name, arguments);
- }
-
- public Command newBatchExecution(List<? extends Command> commands) {
- return new BatchExecutionCommand((List<GenericCommand<?>>) commands);
- }
-}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryServiceImpl.java (from rev 34360, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryProviderImpl.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryServiceImpl.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryServiceImpl.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -0,0 +1,178 @@
+/**
+ * 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.command.impl;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.command.BatchExecutionCommand;
+import org.drools.command.Command;
+import org.drools.command.CommandFactoryService;
+import org.drools.command.Setter;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
+import org.drools.command.runtime.GetGlobalCommand;
+import org.drools.command.runtime.SetGlobalCommand;
+import org.drools.command.runtime.process.AbortWorkItemCommand;
+import org.drools.command.runtime.process.CompleteWorkItemCommand;
+import org.drools.command.runtime.process.SignalEventCommand;
+import org.drools.command.runtime.process.StartProcessCommand;
+import org.drools.command.runtime.rule.FireAllRulesCommand;
+import org.drools.command.runtime.rule.GetObjectCommand;
+import org.drools.command.runtime.rule.GetObjectsCommand;
+import org.drools.command.runtime.rule.InsertElementsCommand;
+import org.drools.command.runtime.rule.InsertObjectCommand;
+import org.drools.command.runtime.rule.ModifyCommand;
+import org.drools.command.runtime.rule.QueryCommand;
+import org.drools.command.runtime.rule.RetractCommand;
+import org.drools.command.runtime.rule.ModifyCommand.SetterImpl;
+import org.drools.runtime.ObjectFilter;
+import org.drools.runtime.rule.FactHandle;
+
+public class CommandFactoryServiceImpl implements CommandFactoryService {
+
+ public Command newGetGlobal(String identifier) {
+ return new GetGlobalCommand(identifier);
+ }
+
+ public Command newGetGlobal(String identifier, String outIdentifier) {
+ GetGlobalCommand cmd = new GetGlobalCommand(identifier);
+ cmd.setOutIdentifier(outIdentifier);
+ return cmd;
+ }
+
+ public Command newInsertElements(Collection objects) {
+ return new InsertElementsCommand(objects);
+ }
+
+ public Command newInsertElements(Collection objects, String outIdentifier, boolean returnObject, String entryPoint) {
+ InsertElementsCommand cmd = new InsertElementsCommand(objects);
+ cmd.setEntryPoint( entryPoint );
+ cmd.setOutIdentifier( outIdentifier );
+ cmd.setReturnObject( returnObject );
+ return cmd;
+ }
+
+ public Command newInsert(Object object) {
+ return new InsertObjectCommand(object);
+ }
+
+ public Command newInsert(Object object, String outIdentifier, String entryPoint) {
+ InsertObjectCommand cmd = new InsertObjectCommand(object);
+ cmd.setOutIdentifier(outIdentifier);
+ cmd.setEntryPoint( entryPoint );
+ return cmd;
+ }
+
+ public Command newRetract(FactHandle factHandle) {
+ return new RetractCommand( factHandle );
+ }
+
+ public Setter newSetter(String accessor,
+ String value) {
+ return new SetterImpl(accessor, value);
+ }
+
+ public Command newModify(FactHandle factHandle,
+ List<Setter> setters) {
+ return new ModifyCommand(factHandle, setters);
+ }
+
+ public Command newGetObject(FactHandle factHandle) {
+ return new GetObjectCommand(factHandle);
+ }
+
+ public Command newGetObjects() {
+ return newGetObjects(null);
+ }
+
+ public Command newGetObjects(ObjectFilter filter) {
+ return new GetObjectsCommand(filter);
+ }
+
+ public Command newSetGlobal(String identifier, Object object) {
+ return new SetGlobalCommand(identifier, object);
+ }
+
+ public Command newSetGlobal(String identifier, Object object, boolean out) {
+ SetGlobalCommand cmd = new SetGlobalCommand(identifier, object);
+ cmd.setOut(out);
+ return cmd;
+ }
+
+ public Command newSetGlobal(String identifier, Object object,
+ String outIdentifier) {
+ SetGlobalCommand cmd = new SetGlobalCommand(identifier, object);
+ cmd.setOutIdentifier(outIdentifier);
+ return cmd;
+ }
+
+ public Command newFireAllRules() {
+ return new FireAllRulesCommand();
+ }
+
+ public Command newFireAllRules(int max) {
+ return new FireAllRulesCommand(max);
+ }
+
+ public Command newStartProcess(String processId) {
+ StartProcessCommand startProcess = new StartProcessCommand();
+ startProcess.setProcessId(processId);
+ return startProcess;
+ }
+
+ public Command newStartProcess(String processId,
+ Map<String, Object> parameters) {
+ StartProcessCommand startProcess = new StartProcessCommand();
+ startProcess.setProcessId(processId);
+ startProcess.setParameters((HashMap<String, Object>) parameters);
+ return startProcess;
+ }
+
+ public Command newSignalEvent(String type,
+ Object event) {
+ return new SignalEventCommand( type, event );
+ }
+
+ public Command newSignalEvent(long processInstanceId,
+ String type,
+ Object event) {
+ return new SignalEventCommand( processInstanceId, type, event );
+ }
+
+ public Command newCompleteWorkItem(long workItemId,
+ Map<String, Object> results) {
+ return new CompleteWorkItemCommand(workItemId, results);
+ }
+
+ public Command newAbortWorkItem(long workItemId) {
+ return new AbortWorkItemCommand( workItemId);
+ }
+
+ public Command newQuery(String identifier, String name) {
+ return new QueryCommand(identifier, name, null);
+ }
+
+ public Command newQuery(String identifier, String name, Object[] arguments) {
+ return new QueryCommand(identifier, name, arguments);
+ }
+
+ public BatchExecutionCommand newBatchExecution(List<? extends Command> commands, String lookup) {
+ return new BatchExecutionCommandImpl((List<GenericCommand<?>>) commands, lookup);
+ }
+}
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/BatchExecutionCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/BatchExecutionCommand.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/BatchExecutionCommand.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -1,170 +0,0 @@
-/**
- * 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.command.runtime;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-import org.drools.command.Context;
-import org.drools.command.impl.GenericCommand;
-import org.drools.command.runtime.process.AbortWorkItemCommand;
-import org.drools.command.runtime.process.CompleteWorkItemCommand;
-import org.drools.command.runtime.process.SignalEventCommand;
-import org.drools.command.runtime.process.StartProcessCommand;
-import org.drools.command.runtime.rule.FireAllRulesCommand;
-import org.drools.command.runtime.rule.GetObjectCommand;
-import org.drools.command.runtime.rule.GetObjectsCommand;
-import org.drools.command.runtime.rule.InsertElementsCommand;
-import org.drools.command.runtime.rule.InsertObjectCommand;
-import org.drools.command.runtime.rule.ModifyCommand;
-import org.drools.command.runtime.rule.QueryCommand;
-import org.drools.command.runtime.rule.RetractCommand;
-import org.drools.runtime.ExecutionResults;
-
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-
-
-/**
- * <p>Java class for BatchExecutionCommand complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * <complexType name="BatchExecutionCommand">
- * <complexContent>
- * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * <choice maxOccurs="unbounded">
- * <element name="abort-work-item" type="{http://drools.org/drools-5.0/knowledge-session}AbortWorkItemCommand"/>
- * <element name="complete-work-item" type="{http://drools.org/drools-5.0/knowledge-session}CompleteWorkItemCommand"/>
- * <element name="fire-all-rules" type="{http://drools.org/drools-5.0/knowledge-session}FireAllRulesCommand"/>
- * <element name="get-global" type="{http://drools.org/drools-5.0/knowledge-session}GetGlobalCommand"/>
- * <element name="insert" type="{http://drools.org/drools-5.0/knowledge-session}InsertObjectCommand"/>
- * <element name="insert-elements" type="{http://drools.org/drools-5.0/knowledge-session}InsertElementsCommand"/>
- * <element name="query" type="{http://drools.org/drools-5.0/knowledge-session}QueryCommand"/>
- * <element name="set-global" type="{http://drools.org/drools-5.0/knowledge-session}SetGlobalCommand"/>
- * <element name="signal-event" type="{http://drools.org/drools-5.0/knowledge-session}SignalEventCommand"/>
- * <element name="start-process" type="{http://drools.org/drools-5.0/knowledge-session}StartProcessCommand"/>
- * </choice>
- * </restriction>
- * </complexContent>
- * </complexType>
- * </pre>
- *
- *
- */
- at XmlRootElement(name="batch-execution")
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "batch-execution", propOrder = {"lookup", "commands"})
-public class BatchExecutionCommand implements GenericCommand<ExecutionResults> {
-
- private static final long serialVersionUID = 510l;
-
- @XmlAttribute
- @XStreamAsAttribute
- private String lookup;
-
- public BatchExecutionCommand(){
- }
-
- public BatchExecutionCommand( List<GenericCommand<?>> commands ) {
- this.commands = commands;
- }
-
- public BatchExecutionCommand( List<GenericCommand<?>> commands, String lookup ) {
- this.commands = commands;
- this.lookup = lookup;
- }
-
- @XmlElements({
- @XmlElement(name = "abort-work-item", type = AbortWorkItemCommand.class),
- @XmlElement(name = "signal-event", type = SignalEventCommand.class),
- @XmlElement(name = "start-process", type = StartProcessCommand.class),
- @XmlElement(name = "retract", type = RetractCommand.class),
- @XmlElement(name = "get-global", type = GetGlobalCommand.class),
- @XmlElement(name = "set-global", type = SetGlobalCommand.class),
- @XmlElement(name = "insert-elements", type = InsertElementsCommand.class),
- @XmlElement(name = "query", type = QueryCommand.class),
- @XmlElement(name = "insert", type = InsertObjectCommand.class),
- @XmlElement(name = "modify", type = ModifyCommand.class),
- @XmlElement(name = "get-object", type = GetObjectCommand.class),
- @XmlElement(name = "fire-all-rules", type = FireAllRulesCommand.class),
- @XmlElement(name = "complete-work-item", type = CompleteWorkItemCommand.class),
- @XmlElement(name = "get-objects", type = GetObjectsCommand.class)
- })
- protected List<GenericCommand<?>> commands;
-
- /**
- * Gets the value of the abortWorkItemOrCompleteWorkItemOrFireAllRules property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the abortWorkItemOrCompleteWorkItemOrFireAllRules property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getCommand().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link SetGlobalCommand }
- * {@link CompleteWorkItemCommand }
- * {@link AbortWorkItemCommand }
- * {@link SignalEventCommand }
- * {@link FireAllRulesCommand }
- * {@link StartProcessCommand }
- * {@link GetGlobalCommand }
- * {@link InsertElementsCommand }
- * {@link QueryCommand }
- * {@link InsertObjectCommand }
- *
- *
- */
- public List<GenericCommand<?>> getCommands() {
- if (commands == null) {
- commands = new ArrayList<GenericCommand<?>>();
- }
- return this.commands;
- }
-
- public ExecutionResults execute(Context context) {
- for ( GenericCommand<?> command : commands ) {
- ((GenericCommand<?>)command).execute( context );
- }
- return null;
- }
-
- public void setLookup(String lookup) {
- this.lookup = lookup;
- }
-
- public String getLookup() {
- return lookup;
- }
-}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/BatchExecutionCommandImpl.java (from rev 34361, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/BatchExecutionCommand.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/BatchExecutionCommandImpl.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/BatchExecutionCommandImpl.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -0,0 +1,171 @@
+/**
+ * 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.command.runtime;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.drools.command.BatchExecutionCommand;
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.command.runtime.process.AbortWorkItemCommand;
+import org.drools.command.runtime.process.CompleteWorkItemCommand;
+import org.drools.command.runtime.process.SignalEventCommand;
+import org.drools.command.runtime.process.StartProcessCommand;
+import org.drools.command.runtime.rule.FireAllRulesCommand;
+import org.drools.command.runtime.rule.GetObjectCommand;
+import org.drools.command.runtime.rule.GetObjectsCommand;
+import org.drools.command.runtime.rule.InsertElementsCommand;
+import org.drools.command.runtime.rule.InsertObjectCommand;
+import org.drools.command.runtime.rule.ModifyCommand;
+import org.drools.command.runtime.rule.QueryCommand;
+import org.drools.command.runtime.rule.RetractCommand;
+import org.drools.runtime.ExecutionResults;
+
+import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
+
+
+/**
+ * <p>Java class for BatchExecutionCommand complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="BatchExecutionCommand">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice maxOccurs="unbounded">
+ * <element name="abort-work-item" type="{http://drools.org/drools-5.0/knowledge-session}AbortWorkItemCommand"/>
+ * <element name="complete-work-item" type="{http://drools.org/drools-5.0/knowledge-session}CompleteWorkItemCommand"/>
+ * <element name="fire-all-rules" type="{http://drools.org/drools-5.0/knowledge-session}FireAllRulesCommand"/>
+ * <element name="get-global" type="{http://drools.org/drools-5.0/knowledge-session}GetGlobalCommand"/>
+ * <element name="insert" type="{http://drools.org/drools-5.0/knowledge-session}InsertObjectCommand"/>
+ * <element name="insert-elements" type="{http://drools.org/drools-5.0/knowledge-session}InsertElementsCommand"/>
+ * <element name="query" type="{http://drools.org/drools-5.0/knowledge-session}QueryCommand"/>
+ * <element name="set-global" type="{http://drools.org/drools-5.0/knowledge-session}SetGlobalCommand"/>
+ * <element name="signal-event" type="{http://drools.org/drools-5.0/knowledge-session}SignalEventCommand"/>
+ * <element name="start-process" type="{http://drools.org/drools-5.0/knowledge-session}StartProcessCommand"/>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ at XmlRootElement(name="batch-execution")
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "batch-execution", propOrder = {"lookup", "commands"})
+public class BatchExecutionCommandImpl implements BatchExecutionCommand {
+
+ private static final long serialVersionUID = 510l;
+
+ @XmlAttribute
+ @XStreamAsAttribute
+ private String lookup;
+
+ public BatchExecutionCommandImpl(){
+ }
+
+ public BatchExecutionCommandImpl( List<GenericCommand<?>> commands ) {
+ this.commands = commands;
+ }
+
+ public BatchExecutionCommandImpl( List<GenericCommand<?>> commands, String lookup ) {
+ this.commands = commands;
+ this.lookup = lookup;
+ }
+
+ @XmlElements({
+ @XmlElement(name = "abort-work-item", type = AbortWorkItemCommand.class),
+ @XmlElement(name = "signal-event", type = SignalEventCommand.class),
+ @XmlElement(name = "start-process", type = StartProcessCommand.class),
+ @XmlElement(name = "retract", type = RetractCommand.class),
+ @XmlElement(name = "get-global", type = GetGlobalCommand.class),
+ @XmlElement(name = "set-global", type = SetGlobalCommand.class),
+ @XmlElement(name = "insert-elements", type = InsertElementsCommand.class),
+ @XmlElement(name = "query", type = QueryCommand.class),
+ @XmlElement(name = "insert", type = InsertObjectCommand.class),
+ @XmlElement(name = "modify", type = ModifyCommand.class),
+ @XmlElement(name = "get-object", type = GetObjectCommand.class),
+ @XmlElement(name = "fire-all-rules", type = FireAllRulesCommand.class),
+ @XmlElement(name = "complete-work-item", type = CompleteWorkItemCommand.class),
+ @XmlElement(name = "get-objects", type = GetObjectsCommand.class)
+ })
+ protected List<GenericCommand<?>> commands;
+
+ /**
+ * Gets the value of the abortWorkItemOrCompleteWorkItemOrFireAllRules property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the abortWorkItemOrCompleteWorkItemOrFireAllRules property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getCommand().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link SetGlobalCommand }
+ * {@link CompleteWorkItemCommand }
+ * {@link AbortWorkItemCommand }
+ * {@link SignalEventCommand }
+ * {@link FireAllRulesCommand }
+ * {@link StartProcessCommand }
+ * {@link GetGlobalCommand }
+ * {@link InsertElementsCommand }
+ * {@link QueryCommand }
+ * {@link InsertObjectCommand }
+ *
+ *
+ */
+ public List<GenericCommand<?>> getCommands() {
+ if (commands == null) {
+ commands = new ArrayList<GenericCommand<?>>();
+ }
+ return this.commands;
+ }
+
+ public ExecutionResults execute(Context context) {
+ for ( GenericCommand<?> command : commands ) {
+ ((GenericCommand<?>)command).execute( context );
+ }
+ return null;
+ }
+
+ public void setLookup(String lookup) {
+ this.lookup = lookup;
+ }
+
+ public String getLookup() {
+ return lookup;
+ }
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/ObjectFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/ObjectFactory.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/ObjectFactory.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -18,15 +18,15 @@
import javax.xml.bind.annotation.XmlRegistry;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
@XmlRegistry
public class ObjectFactory {
- public BatchExecutionCommand createBatchExecutionCommand() {
- return new BatchExecutionCommand();
+ public BatchExecutionCommandImpl createBatchExecutionCommand() {
+ return new BatchExecutionCommandImpl();
}
public GetGlobalCommand createGetGlobalCommand() {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/InsertElementsCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/InsertElementsCommand.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/InsertElementsCommand.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -31,9 +31,11 @@
import org.drools.command.Context;
import org.drools.command.impl.GenericCommand;
import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.core.util.StringUtils;
import org.drools.impl.StatefulKnowledgeSessionImpl;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.rule.FactHandle;
+import org.drools.runtime.rule.WorkingMemoryEntryPoint;
import org.drools.xml.jaxb.util.JaxbListAdapter;
import org.drools.xml.jaxb.util.JaxbListWrapper;
@@ -46,19 +48,22 @@
@XmlJavaTypeAdapter(JaxbListAdapter.class)
@XmlElement(name="list")
- public List<Object> objects;
+ public Collection<Object> objects;
@XmlAttribute
private String outIdentifier;
@XmlAttribute(name="return-objects")
private boolean returnObject = true;
+
+ @XmlAttribute(name="entry-point")
+ private String entryPoint;
public InsertElementsCommand() {
this.objects = new ArrayList<Object>();
}
- public InsertElementsCommand(List<Object> objects) {
+ public InsertElementsCommand(Collection<Object> objects) {
this.objects = objects;
}
@@ -67,7 +72,7 @@
this.outIdentifier = outIdentifier;
}
- public List<Object> getObjects() {
+ public Collection<Object> getObjects() {
return this.objects;
}
@@ -78,6 +83,15 @@
public Collection<FactHandle> execute(Context context) {
StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
List<FactHandle> handles = new ArrayList<FactHandle>();
+
+ WorkingMemoryEntryPoint wmep;
+ if ( StringUtils.isEmpty( this.entryPoint ) ) {
+ wmep = ksession;
+ } else {
+ wmep = ksession.getWorkingMemoryEntryPoint( this.entryPoint );
+ }
+
+
for ( Object object : objects ) {
handles.add( ksession.insert( object ) );
}
@@ -109,6 +123,14 @@
this.returnObject = returnObject;
}
+ public String getEntryPoint() {
+ return entryPoint;
+ }
+
+ public void setEntryPoint(String entryPoint) {
+ this.entryPoint = entryPoint;
+ }
+
public String toString() {
List<Object> list = new ArrayList<Object>();
for ( Object object : objects ) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/InsertObjectCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/InsertObjectCommand.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/InsertObjectCommand.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -27,6 +27,7 @@
import org.drools.command.Context;
import org.drools.command.impl.GenericCommand;
import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.core.util.StringUtils;
import org.drools.impl.StatefulKnowledgeSessionImpl;
import org.drools.reteoo.ReteooWorkingMemory;
import org.drools.runtime.StatefulKnowledgeSession;
@@ -49,7 +50,10 @@
@XmlAttribute(name="return-object")
private boolean returnObject = true;
-
+
+ @XmlAttribute(name="entry-point")
+ private String entryPoint;
+
public InsertObjectCommand() {
}
@@ -66,8 +70,14 @@
public FactHandle execute(Context context) {
StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
- FactHandle factHandle = ksession.insert( object );
+ FactHandle factHandle;
+ if ( StringUtils.isEmpty( this.entryPoint ) ) {
+ factHandle = ksession.insert( object );
+ } else {
+ factHandle = ksession.getWorkingMemoryEntryPoint( this.entryPoint ).insert( object );
+ }
+
ReteooWorkingMemory session = ((StatefulKnowledgeSessionImpl)ksession).session;
if ( outIdentifier != null ) {
@@ -107,9 +117,19 @@
public void setReturnObject(boolean returnObject) {
this.returnObject = returnObject;
}
+
+
+ public String getEntryPoint() {
+ return entryPoint;
+ }
+
+ public void setEntryPoint(String entryPoint) {
+ this.entryPoint = entryPoint;
+ }
+
public String toString() {
- return "session.insert(" + object + ");";
+ return "session.entryPoints(" + ((this.entryPoint == null ) ? "DEFAULT" : this.entryPoint) + ").insert(" + object + ");";
}
// private Object readResolve() throws ObjectStreamException {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/ModifyCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/ModifyCommand.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/ModifyCommand.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -35,8 +35,10 @@
import org.drools.command.impl.GenericCommand;
import org.drools.command.impl.KnowledgeCommandContext;
import org.drools.common.DefaultFactHandle;
+import org.drools.common.InternalFactHandle;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.rule.FactHandle;
+import org.drools.runtime.rule.WorkingMemoryEntryPoint;
import org.drools.xml.jaxb.util.JaxbListAdapter;
import org.drools.xml.jaxb.util.JaxbListWrapper;
import org.mvel2.MVEL;
@@ -71,11 +73,13 @@
public Object execute(Context context) {
StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
- Object object = ksession.getObject( this.handle );
+ WorkingMemoryEntryPoint wmep = ksession.getWorkingMemoryEntryPoint( ((InternalFactHandle)handle).getEntryPoint().getEntryPointId() );
+
+ Object object = wmep.getObject( this.handle );
MVEL.eval( getMvelExpr(),
object );
- ksession.update( handle,
+ wmep.update( handle,
object );
return object;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/RetractCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/RetractCommand.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/RetractCommand.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -24,6 +24,7 @@
import org.drools.command.impl.GenericCommand;
import org.drools.command.impl.KnowledgeCommandContext;
import org.drools.common.DefaultFactHandle;
+import org.drools.common.InternalFactHandle;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.rule.FactHandle;
@@ -43,7 +44,7 @@
public Object execute(Context context) {
StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
- ksession.retract( handle );
+ ksession.getWorkingMemoryEntryPoint( ((InternalFactHandle)handle).getEntryPoint().getEntryPointId() ).retract( handle );
return null;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/UpdateCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/UpdateCommand.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/UpdateCommand.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -19,6 +19,7 @@
import org.drools.command.Context;
import org.drools.command.impl.GenericCommand;
import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.common.InternalFactHandle;
import org.drools.reteoo.ReteooWorkingMemory;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.rule.FactHandle;
@@ -29,6 +30,7 @@
private FactHandle handle;
private Object object;
+ private String entryPoint;
public UpdateCommand(FactHandle handle,
Object object) {
@@ -39,11 +41,21 @@
public Object execute(Context context) {
StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
- ksession.update( handle,
+ ksession.getWorkingMemoryEntryPoint( ((InternalFactHandle)handle).getEntryPoint().getEntryPointId() ).update( handle,
object );
return null;
}
+
+
+ public String getEntryPoint() {
+ return entryPoint;
+ }
+
+ public void setEntryPoint(String entryPoint) {
+ this.entryPoint = entryPoint;
+ }
+
public String toString() {
return "session.update( " + handle + ", " + object + " );";
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -32,7 +32,7 @@
import org.drools.command.impl.ContextImpl;
import org.drools.command.impl.GenericCommand;
import org.drools.command.impl.KnowledgeCommandContext;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.common.AbstractWorkingMemory;
import org.drools.common.InternalAgenda;
import org.drools.common.InternalFactHandle;
@@ -865,7 +865,7 @@
public <T> T execute(Context context,
Command<T> command) {
- if ( !( command instanceof BatchExecutionCommand ) ) {
+ if ( !( command instanceof BatchExecutionCommandImpl ) ) {
return (T) ((GenericCommand) command).execute( new KnowledgeCommandContext( context,
null,
this.kbase,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatelessKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatelessKnowledgeSessionImpl.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatelessKnowledgeSessionImpl.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -28,7 +28,7 @@
import org.drools.command.impl.ContextImpl;
import org.drools.command.impl.GenericCommand;
import org.drools.command.impl.KnowledgeCommandContext;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.rule.FireAllRulesCommand;
import org.drools.common.InternalFactHandle;
import org.drools.common.InternalRuleBase;
@@ -257,8 +257,8 @@
boolean autoFireAllRules = true;
if ( command instanceof FireAllRulesCommand ) {
autoFireAllRules = false;
- } else if ( command instanceof BatchExecutionCommand ) {
- for ( Command nestedCmd : ((BatchExecutionCommand) command).getCommands() ) {
+ } else if ( command instanceof BatchExecutionCommandImpl ) {
+ for ( Command nestedCmd : ((BatchExecutionCommandImpl) command).getCommands() ) {
if ( nestedCmd instanceof FireAllRulesCommand ) {
autoFireAllRules = false;
break;
@@ -268,7 +268,7 @@
if ( autoFireAllRules ) {
ksession.fireAllRules( );
}
- if ( command instanceof BatchExecutionCommand) {
+ if ( command instanceof BatchExecutionCommandImpl) {
ExecutionResults result = ((StatefulKnowledgeSessionImpl) ksession).session.getExecutionResult();
return (T) result;
} else {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamHelper.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamHelper.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -16,7 +16,7 @@
package org.drools.runtime.help.impl;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.process.AbortWorkItemCommand;
@@ -42,7 +42,7 @@
public class XStreamHelper {
public static void setAliases(XStream xstream) {
xstream.alias( "batch-execution",
- BatchExecutionCommand.class );
+ BatchExecutionCommandImpl.class );
xstream.alias( "insert",
InsertObjectCommand.class );
xstream.alias( "modify",
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamJSon.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamJSon.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamJSon.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -27,7 +27,7 @@
import org.drools.command.CommandFactory;
import org.drools.command.Setter;
import org.drools.command.impl.GenericCommand;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.process.AbortWorkItemCommand;
@@ -43,6 +43,7 @@
import org.drools.command.runtime.rule.QueryCommand;
import org.drools.command.runtime.rule.RetractCommand;
import org.drools.common.DefaultFactHandle;
+import org.drools.core.util.StringUtils;
import org.drools.runtime.ExecutionResults;
import org.drools.runtime.impl.ExecutionResultImpl;
import org.drools.runtime.rule.FactHandle;
@@ -232,7 +233,7 @@
public void marshal(Object object,
HierarchicalStreamWriter writer,
MarshallingContext context) {
- BatchExecutionCommand cmds = (BatchExecutionCommand) object;
+ BatchExecutionCommandImpl cmds = (BatchExecutionCommandImpl) object;
if ( cmds.getLookup() != null ) {
writer.startNode( "lookup" );
writer.setValue( cmds.getLookup() );
@@ -269,12 +270,12 @@
}
reader.moveUp();
}
- return new BatchExecutionCommand( list,
+ return new BatchExecutionCommandImpl( list,
lookup );
}
public boolean canConvert(Class clazz) {
- return clazz.equals( BatchExecutionCommand.class );
+ return clazz.equals( BatchExecutionCommandImpl.class );
}
}
@@ -299,6 +300,12 @@
writer.setValue( Boolean.toString( cmd.isReturnObject() ) );
writer.endNode();
}
+
+ if ( !StringUtils.isEmpty( cmd.getEntryPoint() ) ) {
+ writer.startNode( "entry-point" );
+ writer.setValue( cmd.getEntryPoint() );
+ writer.endNode();
+ }
writeValue( writer,
context,
"object",
@@ -320,6 +327,8 @@
context,
cmd.getObject(),
"object" ) );
+ } else if ( "entry-point".equals( nodeName ) ) {
+ cmd.setEntryPoint( reader.getValue() );
}
reader.moveUp();
@@ -590,6 +599,11 @@
writer.endNode();
}
+ if ( !StringUtils.isEmpty( cmd.getEntryPoint() ) ) {
+ writer.startNode( "entry-point" );
+ writer.setValue( cmd.getEntryPoint() );
+ writer.endNode();
+ }
for ( Object element : cmd.getObjects() ) {
writeItem( new ObjectsObjectContainer( element ),
@@ -603,6 +617,7 @@
List objects = new ArrayList();
String outIdentifier = null;
String returnObjects = null;
+ String entryPoint = null;
while ( reader.hasMoreChildren() ) {
reader.moveDown();
String nodeName = reader.getNodeName();
@@ -619,6 +634,8 @@
outIdentifier = reader.getValue();
} else if ( "return-objects".equals( nodeName ) ) {
returnObjects = reader.getValue();
+ } else if ( "entry-point".equals( nodeName ) ) {
+ entryPoint = reader.getValue();
} else {
throw new IllegalArgumentException( "insert-elements does not support the child element name=''" + reader.getNodeName() + "' value=" + reader.getValue() + "'" );
}
@@ -631,6 +648,9 @@
cmd.setReturnObject( Boolean.parseBoolean( returnObjects ) );
}
}
+ if ( entryPoint != null ) {
+ cmd.setEntryPoint( entryPoint );
+ }
return cmd;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamXML.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamXML.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/XStreamXML.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -29,7 +29,7 @@
import org.drools.command.Command;
import org.drools.command.CommandFactory;
import org.drools.command.Setter;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.process.AbortWorkItemCommand;
@@ -71,8 +71,8 @@
public static XStream newXStreamMarshaller(XStream xstream) {
XStreamHelper.setAliases( xstream );
- xstream.processAnnotations( BatchExecutionCommand.class );
- xstream.addImplicitCollection( BatchExecutionCommand.class,
+ xstream.processAnnotations( BatchExecutionCommandImpl.class );
+ xstream.addImplicitCollection( BatchExecutionCommandImpl.class,
"commands" );
xstream.registerConverter( new InsertConverter( xstream ) );
@@ -115,6 +115,9 @@
writer.addAttribute( "return-object",
Boolean.toString( cmd.isReturnObject() ) );
+
+ writer.addAttribute( "entry-point",
+ cmd.getEntryPoint() );
}
writeItem( cmd.getObject(),
@@ -126,6 +129,7 @@
UnmarshallingContext context) {
String identifierOut = reader.getAttribute( "out-identifier" );
String returnObject = reader.getAttribute( "return-object" );
+ String entryPoint = reader.getAttribute( "entry-point" );
reader.moveDown();
Object object = readItem( reader,
@@ -139,6 +143,9 @@
cmd.setReturnObject( Boolean.parseBoolean( returnObject ) );
}
}
+ if ( entryPoint != null ) {
+ cmd.setEntryPoint( entryPoint );
+ }
return cmd;
}
@@ -276,6 +283,10 @@
writer.addAttribute( "return-objects",
Boolean.toString( cmd.isReturnObject() ) );
+
+
+ writer.addAttribute( "entry-point",
+ cmd.getEntryPoint() );
}
@@ -290,6 +301,7 @@
UnmarshallingContext context) {
String identifierOut = reader.getAttribute( "out-identifier" );
String returnObject = reader.getAttribute( "return-objects" );
+ String entryPoint = reader.getAttribute( "entry-point" );
List objects = new ArrayList();
while ( reader.hasMoreChildren() ) {
@@ -308,6 +320,9 @@
cmd.setReturnObject( Boolean.parseBoolean( returnObject ) );
}
}
+ if ( entryPoint != null ) {
+ cmd.setEntryPoint( entryPoint );
+ }
return cmd;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/xml/jaxb/util/DroolsJaxbContextHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/xml/jaxb/util/DroolsJaxbContextHelper.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/xml/jaxb/util/DroolsJaxbContextHelper.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -22,7 +22,7 @@
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
-import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.process.AbortWorkItemCommand;
@@ -47,7 +47,7 @@
*/
public class DroolsJaxbContextHelper {
- public static final String[] JAXB_ANNOTATED_CMD = {BatchExecutionCommand.class.getName(),
+ public static final String[] JAXB_ANNOTATED_CMD = {BatchExecutionCommandImpl.class.getName(),
SetGlobalCommand.class.getName(),
GetGlobalCommand.class.getName(),
FireAllRulesCommand.class.getName(),
@@ -60,7 +60,7 @@
AbortWorkItemCommand.class.getName(),
SignalEventCommand.class.getName(),
StartProcessCommand.class.getName(),
- BatchExecutionCommand.class.getName(),
+ BatchExecutionCommandImpl.class.getName(),
ExecutionResultImpl.class.getName(),
DefaultFactHandle.class.getName(),
JaxbListWrapper.class.getName(),
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/CompilerIndependenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/CompilerIndependenceTest.java 2010-07-30 00:50:28 UTC (rev 34376)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/CompilerIndependenceTest.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -39,160 +39,163 @@
public class CompilerIndependenceTest extends TestCase {
-
- private final Object lock = new Object();
- private volatile boolean kbaseUpdated;
-
- @Override
- protected void setUp() throws Exception {
- ((ResourceChangeScannerImpl) ResourceFactory.getResourceChangeScannerService()).reset();
- ResourceFactory.getResourceChangeNotifierService().start();
- ResourceFactory.getResourceChangeScannerService().start();
- }
-
- @Override
- protected void tearDown() throws Exception {
- ResourceFactory.getResourceChangeNotifierService().stop();
- ResourceFactory.getResourceChangeScannerService().stop();
- ((ResourceChangeNotifierImpl) ResourceFactory.getResourceChangeNotifierService()).reset();
- ((ResourceChangeScannerImpl) ResourceFactory.getResourceChangeScannerService()).reset();
- }
-
- public void testDRL() throws Exception {
-
+ public void fixmeTest() {
- String xml = "";
- xml += "<change-set xmlns='http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd' >";
- xml += " <add> ";
- xml += " <resource source='classpath:rules.drl' type='DRL' />";
- xml += " </add> ";
- xml += "</change-set>";
-
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- KnowledgeAgent kagent = this.createKAgent(kbase,true);
-
- try{
- kagent.applyChangeSet(ResourceFactory.newByteArrayResource(xml.getBytes()));
-
- fail("The agent shouldn't be able to compile the resource!");
- } catch(IllegalArgumentException ex){
-
- }
-
- kagent.dispose();
-
}
+// FIXME
+// private final Object lock = new Object();
+// private volatile boolean kbaseUpdated;
+//
+// @Override
+// protected void setUp() throws Exception {
+// ((ResourceChangeScannerImpl) ResourceFactory.getResourceChangeScannerService()).reset();
+// ResourceFactory.getResourceChangeNotifierService().start();
+// ResourceFactory.getResourceChangeScannerService().start();
+// }
+//
+// @Override
+// protected void tearDown() throws Exception {
+// ResourceFactory.getResourceChangeNotifierService().stop();
+// ResourceFactory.getResourceChangeScannerService().stop();
+// ((ResourceChangeNotifierImpl) ResourceFactory.getResourceChangeNotifierService()).reset();
+// ((ResourceChangeScannerImpl) ResourceFactory.getResourceChangeScannerService()).reset();
+// }
+//
+// public void testDRL() throws Exception {
+//
+//
+// String xml = "";
+// xml += "<change-set xmlns='http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd' >";
+// xml += " <add> ";
+// xml += " <resource source='classpath:rules.drl' type='DRL' />";
+// xml += " </add> ";
+// xml += "</change-set>";
+//
+//
+// KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+// KnowledgeAgent kagent = this.createKAgent(kbase,true);
+//
+// try{
+// kagent.applyChangeSet(ResourceFactory.newByteArrayResource(xml.getBytes()));
+//
+// fail("The agent shouldn't be able to compile the resource!");
+// } catch(IllegalArgumentException ex){
+//
+// }
+//
+// kagent.dispose();
+//
+// }
+//
+// public void testPKG() throws Exception {
+//
+//
+// String xml = "";
+// xml += "<change-set xmlns='http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd'>";
+// xml += " <add> ";
+// xml += " <resource source='classpath:pkg/mortgages.pkg' type='PKG' />";
+// xml += " </add> ";
+// xml += "</change-set>";
+//
+//
+// KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+// KnowledgeAgent kagent = this.createKAgent(kbase,true);
+//
+// kagent.applyChangeSet(ResourceFactory.newByteArrayResource(xml.getBytes()));
+// this.kbaseUpdated = false;
+//
+// assertEquals(1, kagent.getKnowledgeBase().getKnowledgePackages().size());
+//
+// Thread.sleep(2000);
+//
+// ClassPathResource cpResource = (ClassPathResource)ResourceFactory.newClassPathResource("pkg/mortgages.pkg");
+//
+// File f = new File(cpResource.getURL().getFile());
+// assertTrue(f.exists());
+//
+// long t = System.currentTimeMillis() ;
+// int count = 0;
+// boolean success = false;
+// while ( !(success = f.setLastModified(t)) && count < 10 ) {
+// count++;
+// System.gc();
+// Thread.sleep( 100 );
+// }
+//
+// if ( !success) {
+// fail( "Unable to setLastModified" );
+// }
+//
+// this.waitUntilKBaseUpdate();
+// assertEquals(1, kagent.getKnowledgeBase().getKnowledgePackages().size());
+//
+// kagent.dispose();
+//
+// }
+//
+// private KnowledgeAgent createKAgent(KnowledgeBase kbase, boolean newInstance) {
+// ResourceChangeScannerConfiguration sconf = ResourceFactory.getResourceChangeScannerService().newResourceChangeScannerConfiguration();
+// sconf.setProperty("drools.resource.scanner.interval", "2");
+// ResourceFactory.getResourceChangeScannerService().configure(sconf);
+//
+// KnowledgeAgentConfiguration aconf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
+// aconf.setProperty("drools.agent.scanDirectories", "true");
+// aconf.setProperty("drools.agent.scanResources", "true");
+// // Testing incremental build here
+// aconf.setProperty("drools.agent.newInstance", ""+newInstance);
+//
+//
+// KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent(
+// "test agent", kbase, aconf);
+//
+// kagent.addEventListener(new KnowledgeAgentEventListener() {
+//
+// public void beforeChangeSetApplied(BeforeChangeSetAppliedEvent event) {
+// }
+//
+// public void afterChangeSetApplied(AfterChangeSetAppliedEvent event) {
+// }
+//
+// public void beforeChangeSetProcessed(BeforeChangeSetProcessedEvent event) {
+// }
+//
+// public void afterChangeSetProcessed(AfterChangeSetProcessedEvent event) {
+// }
+//
+// public void beforeResourceProcessed(BeforeResourceProcessedEvent event) {
+// }
+//
+// public void afterResourceProcessed(AfterResourceProcessedEvent event) {
+// }
+//
+// public void knowledgeBaseUpdated(KnowledgeBaseUpdatedEvent event) {
+// System.out.println("KBase was updated");
+// synchronized (lock) {
+// kbaseUpdated = true;
+// lock.notifyAll();
+// }
+// }
+//
+// public void resourceCompilationFailed(ResourceCompilationFailedEvent event) {
+// }
+// });
+//
+// assertEquals("test agent", kagent.getName());
+//
+// return kagent;
+// }
+//
+// private void waitUntilKBaseUpdate() {
+// synchronized (lock) {
+// while (!kbaseUpdated) {
+// try {
+// lock.wait();
+// } catch (InterruptedException e) {
+// }
+// System.out.println("Waking up!");
+// }
+// kbaseUpdated = false;
+// }
+// }
- public void testPKG() throws Exception {
-
-
- String xml = "";
- xml += "<change-set xmlns='http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd'>";
- xml += " <add> ";
- xml += " <resource source='classpath:pkg/mortgages.pkg' type='PKG' />";
- xml += " </add> ";
- xml += "</change-set>";
-
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- KnowledgeAgent kagent = this.createKAgent(kbase,true);
-
- kagent.applyChangeSet(ResourceFactory.newByteArrayResource(xml.getBytes()));
- this.kbaseUpdated = false;
-
- assertEquals(1, kagent.getKnowledgeBase().getKnowledgePackages().size());
-
- Thread.sleep(2000);
-
- ClassPathResource cpResource = (ClassPathResource)ResourceFactory.newClassPathResource("pkg/mortgages.pkg");
-
- File f = new File(cpResource.getURL().getFile());
- assertTrue(f.exists());
-
- long t = System.currentTimeMillis() ;
- int count = 0;
- boolean success = false;
- while ( !(success = f.setLastModified(t)) && count < 10 ) {
- count++;
- System.gc();
- Thread.sleep( 100 );
- }
-
- if ( !success) {
- fail( "Unable to setLastModified" );
- }
-
- this.waitUntilKBaseUpdate();
- assertEquals(1, kagent.getKnowledgeBase().getKnowledgePackages().size());
-
- kagent.dispose();
-
- }
-
- private KnowledgeAgent createKAgent(KnowledgeBase kbase, boolean newInstance) {
- ResourceChangeScannerConfiguration sconf = ResourceFactory.getResourceChangeScannerService().newResourceChangeScannerConfiguration();
- sconf.setProperty("drools.resource.scanner.interval", "2");
- ResourceFactory.getResourceChangeScannerService().configure(sconf);
-
- KnowledgeAgentConfiguration aconf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
- aconf.setProperty("drools.agent.scanDirectories", "true");
- aconf.setProperty("drools.agent.scanResources", "true");
- // Testing incremental build here
- aconf.setProperty("drools.agent.newInstance", ""+newInstance);
-
-
- KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent(
- "test agent", kbase, aconf);
-
- kagent.addEventListener(new KnowledgeAgentEventListener() {
-
- public void beforeChangeSetApplied(BeforeChangeSetAppliedEvent event) {
- }
-
- public void afterChangeSetApplied(AfterChangeSetAppliedEvent event) {
- }
-
- public void beforeChangeSetProcessed(BeforeChangeSetProcessedEvent event) {
- }
-
- public void afterChangeSetProcessed(AfterChangeSetProcessedEvent event) {
- }
-
- public void beforeResourceProcessed(BeforeResourceProcessedEvent event) {
- }
-
- public void afterResourceProcessed(AfterResourceProcessedEvent event) {
- }
-
- public void knowledgeBaseUpdated(KnowledgeBaseUpdatedEvent event) {
- System.out.println("KBase was updated");
- synchronized (lock) {
- kbaseUpdated = true;
- lock.notifyAll();
- }
- }
-
- public void resourceCompilationFailed(ResourceCompilationFailedEvent event) {
- }
- });
-
- assertEquals("test agent", kagent.getName());
-
- return kagent;
- }
-
- private void waitUntilKBaseUpdate() {
- synchronized (lock) {
- while (!kbaseUpdated) {
- try {
- lock.wait();
- } catch (InterruptedException e) {
- }
- System.out.println("Waking up!");
- }
- kbaseUpdated = false;
- }
- }
-
}
Added: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/command/CommandTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/command/CommandTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/command/CommandTest.java 2010-07-30 01:28:02 UTC (rev 34377)
@@ -0,0 +1,24 @@
+package org.drools.command;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.StatefulKnowledgeSession;
+
+
+public class CommandTest {
+ public void test1() {
+ List<Command> cmds = new ArrayList<Command>();
+
+ BatchExecutionCommand batch = CommandFactory.newBatchExecution( cmds );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ ExecutionResults results = ksession.execute( batch );
+
+ }
+}
More information about the jboss-svn-commits
mailing list