Explorar el Código

two clients - about to move them out

Grega Bremec hace 2 años
padre
commit
5f482d1d99

+ 4 - 14
src/main/java/com/redhat/training/claims/SubmitClaimEmbedded.java

@@ -10,27 +10,17 @@ import com.redhat.training.claims.model.Claimant;
 import com.redhat.training.claims.model.Gender;
 
 import org.kie.api.KieServices;
-import org.kie.api.builder.KieScanner;
-import org.kie.api.builder.ReleaseId;
-import org.kie.api.runtime.KieContainer;
 import org.kie.api.runtime.KieSession;
 import org.kie.api.runtime.process.ProcessInstance;
+import org.kie.api.runtime.process.ProcessRuntime;
+import org.kie.api.runtime.rule.RuleRuntime;
+import org.kie.api.task.TaskService;
+import org.kie.api.task.model.Task;
 
 public class SubmitClaimEmbedded {
     public static void main(String... args) {
         KieSession session = KieServices.Factory.get().getKieClasspathContainer().newKieSession();
 
-        /*
-        // ...or load KB from a remote artifact
-        ReleaseId artifact = KieServices.Factory.get().newReleaseId("com.redhat.training", "claims", "LATEST");
-        KieContainer loadedFromArtifact = KieServices.Factory.get().newKieContainer(artifact);
-        // check for new versions every 30 min and update kiecontainer
-        KieScanner artifactScanner = KieServices.Factory.get().newKieScanner(loadedFromArtifact);
-        artifactScanner.start(1800000);
-        // every session created *after* an update will use the latest artifacts
-        KieSession remoteSession = loadedFromArtifact.newKieSession();
-        */
-
         Claimant c = new Claimant();
         c.setName("Tom Jones");
         c.setGender(Gender.MALE);

+ 13 - 2
src/main/java/com/redhat/training/claims/SubmitClaimRemoteKie.java

@@ -1,6 +1,7 @@
 package com.redhat.training.claims;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 import com.redhat.training.claims.model.Claim;
@@ -11,14 +12,17 @@ import com.redhat.training.claims.model.Claimant;
 import com.redhat.training.claims.model.Gender;
 
 import org.kie.api.KieServices;
+import org.kie.api.command.BatchExecutionCommand;
 import org.kie.api.command.Command;
 import org.kie.api.command.KieCommands;
+import org.kie.api.runtime.ExecutionResults;
 import org.kie.server.api.marshalling.MarshallingFormat;
+import org.kie.server.api.model.ServiceResponse;
 import org.kie.server.client.CredentialsProvider;
 import org.kie.server.client.KieServicesClient;
 import org.kie.server.client.KieServicesConfiguration;
 import org.kie.server.client.KieServicesFactory;
-import org.kie.server.client.ProcessServicesClient;
+import org.kie.server.client.RuleServicesClient;
 import org.kie.server.client.credentials.EnteredCredentialsProvider;
 
 public class SubmitClaimRemoteKie {
@@ -33,7 +37,7 @@ public class SubmitClaimRemoteKie {
         kieServicesConfig.setMarshallingFormat(MarshallingFormat.JSON);
 
         KieServicesClient kieServicesClient = KieServicesFactory.newKieServicesClient(kieServicesConfig);
-        ProcessServicesClient client = kieServicesClient.getServicesClient(ProcessServicesClient.class);
+        RuleServicesClient client = kieServicesClient.getServicesClient(RuleServicesClient.class);
 
         Claimant c = new Claimant();
         c.setName("Tom Jones");
@@ -63,5 +67,12 @@ public class SubmitClaimRemoteKie {
         KieCommands commandFactory = kieServices.getCommands();
         commands.add(commandFactory.newStartProcess("claims.ClaimRuleFlow", params));
         commands.add(commandFactory.newFireAllRules());
+        commands.add(commandFactory.newGetObjects("claimResults"));
+
+        BatchExecutionCommand batchExecutionCommand = commandFactory.newBatchExecution(commands);
+
+        ServiceResponse<ExecutionResults> response = client.executeCommandsWithResults(CONTAINER, batchExecutionCommand);
+        ExecutionResults results = response.getResult();
+        System.out.println(results.getValue("claimResults"));
     }
 }