test_class.declarator: metadataStorage = new ConcurrentHashMap<>()
test_class.modifier: private final
test_class.original_string: private final ConcurrentMap<UUID, Future<?>> metadataStorage = new ConcurrentHashMap<>();
test_class.type: ConcurrentMap<UUID, Future<?>>
test_class.var_name: metadataStorage
test_class.file: modules/tensorflow/src/test/java/org/apache/ignite/tensorflow/core/longrunning/task/LongRunningProcessStartTaskTest.java
test_class.identifier: LongRunningProcessStartTaskTest
test_case.body: @Test
      public void testCall() throws ExecutionException, InterruptedException {
          LongRunningProcess proc = new LongRunningProcess(UUID.randomUUID(), () -> {});
          LongRunningProcessStartTask task = createTask(proc);
          List<UUID> procIds = task.call();
  
          assertEquals(1, procIds.size());
  
          UUID procId = procIds.get(0);
  
          assertNotNull(metadataStorage.get(procId));
  
          Future<?> fut = metadataStorage.get(procId);
          fut.get();
  
          assertEquals(true, fut.isDone());
      }
test_case.class_method_signature: LongRunningProcessStartTaskTest.testCall()
test_case.full_signature: @Test public void testCall()
test_case.identifier: testCall
test_case.invocations: randomUUID createTask call assertEquals size get assertNotNull get get get assertEquals isDone
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCall()
focal_class.declarator: serialVersionUID = -3934183044853083034L
focal_class.modifier: private static final
focal_class.original_string: private static final long serialVersionUID = -3934183044853083034L;
focal_class.type: long
focal_class.var_name: serialVersionUID
focal_class.declarator: processes
focal_class.modifier: private final
focal_class.original_string: private final List<LongRunningProcess> processes;
focal_class.type: List<LongRunningProcess>
focal_class.var_name: processes
focal_class.file: modules/tensorflow/src/main/java/org/apache/ignite/tensorflow/core/longrunning/task/LongRunningProcessStartTask.java
focal_class.identifier: LongRunningProcessStartTask
focal_class.class_method_signature: LongRunningProcessStartTask.LongRunningProcessStartTask(List<LongRunningProcess> processes)
focal_class.full_signature: public  LongRunningProcessStartTask(List<LongRunningProcess> processes)
focal_class.identifier: LongRunningProcessStartTask
focal_class.modifiers: public
focal_class.parameters: (List<LongRunningProcess> processes)
focal_class.signature:  LongRunningProcessStartTask(List<LongRunningProcess> processes)
focal_class.class_method_signature: LongRunningProcessStartTask.call()
focal_class.full_signature: @Override public List<UUID> call()
focal_class.identifier: call
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: List<UUID>
focal_class.signature: List<UUID> call()
focal_class.class_method_signature: LongRunningProcessStartTask.runTask(Runnable task)
focal_class.full_signature: private Future<?> runTask(Runnable task)
focal_class.identifier: runTask
focal_class.modifiers: private
focal_class.parameters: (Runnable task)
focal_class.return: Future<?>
focal_class.signature: Future<?> runTask(Runnable task)
focal_class.class_method_signature: LongRunningProcessStartTask.saveProcMetadata(Future<?> fut)
focal_class.full_signature: private UUID saveProcMetadata(Future<?> fut)
focal_class.identifier: saveProcMetadata
focal_class.modifiers: private
focal_class.parameters: (Future<?> fut)
focal_class.return: UUID
focal_class.signature: UUID saveProcMetadata(Future<?> fut)
focal_class.class_method_signature: LongRunningProcessStartTask.stopAllProcessesAndClearMetadata(List<UUID> procIds)
focal_class.full_signature: private void stopAllProcessesAndClearMetadata(List<UUID> procIds)
focal_class.identifier: stopAllProcessesAndClearMetadata
focal_class.modifiers: private
focal_class.parameters: (List<UUID> procIds)
focal_class.return: void
focal_class.signature: void stopAllProcessesAndClearMetadata(List<UUID> procIds)
focal_class.superclass: extends LongRunningProcessTask<List<UUID>>
focal_method.body: @Override public List<UUID> call() {
          ArrayList<UUID> res = new ArrayList<>();
  
          try {
              for (LongRunningProcess proc : processes) {
                  Future<?> fut = runTask(proc.getTask());
  
                  UUID procId = saveProcMetadata(fut);
  
                  res.add(procId);
              }
          }
          catch (Exception e) {
              // All-or-nothing strategy. In case of exception already started processes will be stopped.
              stopAllProcessesAndClearMetadata(res);
  
              throw e;
          }
  
          return res;
      }
focal_method.class_method_signature: LongRunningProcessStartTask.call()
focal_method.full_signature: @Override public List<UUID> call()
focal_method.identifier: call
focal_method.invocations: runTask getTask saveProcMetadata add stopAllProcessesAndClearMetadata
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: List<UUID>
focal_method.signature: List<UUID> call()