Examples of AsyncComponent


Examples of org.hive2hive.core.processes.framework.decorators.AsyncComponent

      logger.debug("Delete chunk {} of {}.", counter++, chunksToDelete.size());
      DeleteSingleChunkStep deleteStep = new DeleteSingleChunkStep(metaChunk.getChunkId(),
          protectionKeys, dataManager);

      // make async, insert it as next step
      AsyncComponent asyncDeletion = new AsyncComponent(deleteStep);
      getParent().insertNext(asyncDeletion, prev);
      prev = asyncDeletion;
    }
  }
View Full Code Here

Examples of org.hive2hive.core.processes.framework.decorators.AsyncComponent

    SequentialProcess process = new SequentialProcess();

    process.add(new CheckIsUserRegisteredStep(credentials.getUserId(), context, dataManager));
    process.add(new LocationsCreationStep(credentials.getUserId(), context));
    process.add(new UserProfileCreationStep(credentials.getUserId(), context));
    process.add(new AsyncComponent(new PutUserProfileStep(credentials, context, dataManager)));
    process.add(new AsyncComponent(new PutUserLocationsStep(context, context, dataManager)));
    process.add(new AsyncComponent(new PutPublicKeyStep(context, dataManager)));

    return process;
  }
View Full Code Here

Examples of org.hive2hive.core.processes.framework.decorators.AsyncComponent

    NetworkManager node = network.get(random.nextInt(networkSize));

    TestPutUserProfileTaskStep putStep = new TestPutUserProfileTaskStep(userId, userProfileTask, key.getPublic(), node);

    TestProcessComponentListener listener = new TestProcessComponentListener();
    AsyncComponent component = new AsyncComponent(putStep);
    component.attachListener(listener);

    // start and cancel immediately
    component.start();
    putStep.cancel(new RollbackReason("Testing whether rollback works."));
    UseCaseTestUtil.waitTillFailed(listener, 10);

    Parameters parameters = new Parameters().setLocationKey(userId).setDomainKey(H2HConstants.USER_PROFILE_TASK_DOMAIN)
        .setContentKey(userProfileTask.getContentKey());
View Full Code Here

Examples of org.hive2hive.core.processes.framework.decorators.AsyncComponent

    assertTrue(process.getState() == ProcessState.SUCCEEDED);
    assertTrue(step.getState() == ProcessState.SUCCEEDED);

    // async components
    process = new SequentialProcess();
    ProcessComponent asyncStep = new AsyncComponent(new BusySucceedingStep());
    process.add(asyncStep);
    process.start();
    assertTrue(process.getState() == ProcessState.SUCCEEDED);
    assertTrue(asyncStep.getState() == ProcessState.SUCCEEDED);
  }
View Full Code Here

Examples of org.hive2hive.core.processes.framework.decorators.AsyncComponent

    assertTrue(process.getState() == ProcessState.FAILED);
    assertTrue(step.getState() == ProcessState.FAILED);

    // async components
    process = new SequentialProcess();
    ProcessComponent asyncStep = new AsyncComponent(new BusyFailingStep());
    process.add(asyncStep);
    process.start();
    assertTrue(process.getState() == ProcessState.FAILED);
    assertTrue(asyncStep.getState() == ProcessState.FAILED);
  }
View Full Code Here

Examples of org.hive2hive.core.processes.framework.decorators.AsyncComponent

  @Test
  public void asyncSuccessTest() throws InvalidProcessStateException {

    // empty
    SequentialProcess process = new SequentialProcess();
    AsyncComponent asyncProcess = new AsyncComponent(process);
    asyncProcess.start();

    TestUtil.wait(WAIT_FOR_ASYNC);
    assertTrue(asyncProcess.getState() == ProcessState.SUCCEEDED);

    // sync components
    process = new SequentialProcess();
    process.add(new BusySucceedingStep());
    asyncProcess = new AsyncComponent(process);
    asyncProcess.start();
    assertFalse(asyncProcess.getState() == ProcessState.SUCCEEDED);

    TestUtil.wait(WAIT_FOR_ASYNC);
    assertTrue(asyncProcess.getState() == ProcessState.SUCCEEDED);

    // async components
    process = new SequentialProcess();
    process.add(new AsyncComponent(new BusySucceedingStep()));
    asyncProcess = new AsyncComponent(process);
    asyncProcess.start();
    assertFalse(asyncProcess.getState() == ProcessState.SUCCEEDED);

    TestUtil.wait(WAIT_FOR_ASYNC);
    assertTrue(asyncProcess.getState() == ProcessState.SUCCEEDED);
  }
View Full Code Here

Examples of org.hive2hive.core.processes.framework.decorators.AsyncComponent

  @Test
  public void asyncFailTest() throws InvalidProcessStateException {

    // empty
    SequentialProcess process = new FailingSequentialProcess();
    AsyncComponent asyncProcess = new AsyncComponent(process);
    asyncProcess.start();

    TestUtil.wait(WAIT_FOR_ASYNC);
    assertTrue(asyncProcess.getState() == ProcessState.FAILED);
    assertTrue(process.getState() == ProcessState.FAILED);

    // sync components
    process = new SequentialProcess();
    process.add(new BusyFailingStep());
    asyncProcess = new AsyncComponent(process);
    asyncProcess.start();

    TestUtil.wait(WAIT_FOR_ASYNC);
    assertTrue(asyncProcess.getState() == ProcessState.FAILED);
    assertTrue(process.getState() == ProcessState.FAILED);

    // async components
    process = new SequentialProcess();
    process.add(new AsyncComponent(new BusyFailingStep()));
    asyncProcess = new AsyncComponent(process);
    asyncProcess.start();

    TestUtil.wait(WAIT_FOR_ASYNC);
    assertTrue(asyncProcess.getState() == ProcessState.FAILED);
    assertTrue(process.getState() == ProcessState.FAILED);
  }
View Full Code Here

Examples of org.hive2hive.core.processes.framework.decorators.AsyncComponent

  public void asyncListenerSuccessTest() throws InvalidProcessStateException {

    TestProcessComponentListener listener = new TestProcessComponentListener();

    // test success
    AsyncComponent successProcess = new AsyncComponent(new SequentialProcess());
    successProcess.attachListener(listener);
    successProcess.start();

    UseCaseTestUtil.waitTillSucceded(listener, MAX_ASYNC_WAIT);

    assertTrue(listener.hasSucceeded());
    assertFalse(listener.hasFailed());
    assertTrue(listener.hasFinished());

    listener.reset();

    // test success (1-layer, steps only)
    SequentialProcess successProcess2 = new SequentialProcess();
    successProcess2.add(new SucceedingProcessStep());
    successProcess2.add(new SucceedingProcessStep());

    AsyncComponent asyncProcess2 = new AsyncComponent(successProcess2);
    asyncProcess2.attachListener(listener);
    asyncProcess2.start();

    UseCaseTestUtil.waitTillSucceded(listener, MAX_ASYNC_WAIT);

    assertTrue(listener.hasSucceeded());
    assertFalse(listener.hasFailed());
    assertTrue(listener.hasFinished());

    listener.reset();

    // test success (1-layer, step and sub-process without children)
    SequentialProcess successProcess3 = new SequentialProcess();
    successProcess3.add(new SucceedingProcessStep());
    successProcess3.add(new SequentialProcess());

    AsyncComponent asyncProcess3 = new AsyncComponent(successProcess3);
    asyncProcess3.attachListener(listener);
    asyncProcess3.start();

    UseCaseTestUtil.waitTillSucceded(listener, MAX_ASYNC_WAIT);

    assertTrue(listener.hasSucceeded());
    assertFalse(listener.hasFailed());
    assertTrue(listener.hasFinished());

    listener.reset();

    // test success (2-layer, steps and sub-process with children)
    SequentialProcess successProcess4 = new SequentialProcess();
    SequentialProcess subProcess = new SequentialProcess();
    subProcess.add(new SucceedingProcessStep());
    subProcess.add(new SucceedingProcessStep());

    successProcess4.add(new SucceedingProcessStep());
    successProcess4.add(subProcess);
    successProcess4.add(new SucceedingProcessStep());

    AsyncComponent asyncProcess4 = new AsyncComponent(successProcess4);
    asyncProcess4.attachListener(listener);
    asyncProcess4.start();

    UseCaseTestUtil.waitTillSucceded(listener, MAX_ASYNC_WAIT);

    assertTrue(listener.hasSucceeded());
    assertFalse(listener.hasFailed());
View Full Code Here

Examples of org.hive2hive.core.processes.framework.decorators.AsyncComponent

  public void asyncListenerFailTest() throws InvalidProcessStateException {

    TestProcessComponentListener listener = new TestProcessComponentListener();

    // test fail
    AsyncComponent failProcess = new AsyncComponent(new FailingSequentialProcess());
    failProcess.attachListener(listener);
    failProcess.start();

    UseCaseTestUtil.waitTillFailed(listener, MAX_ASYNC_WAIT);

    assertFalse(listener.hasSucceeded());
    assertTrue(listener.hasFailed());
    assertTrue(listener.hasFinished());

    listener.reset();

    // test fail (1-layer, steps only)
    SequentialProcess failProcess2 = new SequentialProcess();
    failProcess2.add(new SucceedingProcessStep());
    failProcess2.add(new FailingProcessStep());

    AsyncComponent asyncProcess2 = new AsyncComponent(failProcess2);
    asyncProcess2.attachListener(listener);
    asyncProcess2.start();

    UseCaseTestUtil.waitTillFailed(listener, MAX_ASYNC_WAIT);

    assertFalse(listener.hasSucceeded());
    assertTrue(listener.hasFailed());
    assertTrue(listener.hasFinished());

    listener.reset();

    // test fail (1-layer, step and sub-process (failing) without children)
    SequentialProcess failProcess3 = new SequentialProcess();
    failProcess3.add(new SucceedingProcessStep());
    failProcess3.add(new FailingSequentialProcess());

    AsyncComponent asyncProcess3 = new AsyncComponent(failProcess3);
    asyncProcess3.attachListener(listener);
    asyncProcess3.start();

    UseCaseTestUtil.waitTillFailed(listener, MAX_ASYNC_WAIT);

    assertFalse(listener.hasSucceeded());
    assertTrue(listener.hasFailed());
    assertTrue(listener.hasFinished());

    listener.reset();

    // test fail (2-layer, steps (failing) and sub-process with children)
    SequentialProcess failProcess4 = new SequentialProcess();
    SequentialProcess successSubProcess = new SequentialProcess();
    successSubProcess.add(new SucceedingProcessStep());
    successSubProcess.add(new SucceedingProcessStep());

    failProcess4.add(new SucceedingProcessStep());
    failProcess4.add(successSubProcess);
    failProcess4.add(new FailingProcessStep());

    AsyncComponent asyncProcess4 = new AsyncComponent(failProcess4);
    asyncProcess4.attachListener(listener);
    asyncProcess4.start();

    UseCaseTestUtil.waitTillFailed(listener, MAX_ASYNC_WAIT);

    assertFalse(listener.hasSucceeded());
    assertTrue(listener.hasFailed());
    assertTrue(listener.hasFinished());

    listener.reset();

    // test fail (2-layer, steps and sub-process (failing) with children)
    SequentialProcess failProcess5 = new SequentialProcess();
    SequentialProcess failSubProcess = new FailingSequentialProcess();

    failProcess5.add(new SucceedingProcessStep());
    failProcess5.add(failSubProcess);
    failProcess5.add(new SucceedingProcessStep());

    AsyncComponent asyncProcess5 = new AsyncComponent(failProcess5);
    asyncProcess5.attachListener(listener);
    asyncProcess5.start();

    UseCaseTestUtil.waitTillFailed(listener, MAX_ASYNC_WAIT);

    assertFalse(listener.hasSucceeded());
    assertTrue(listener.hasFailed());
    assertTrue(listener.hasFinished());

    listener.reset();

    // test fail (2-layer, steps and sub-process with children (failing))
    SequentialProcess failProcess6 = new SequentialProcess();
    SequentialProcess failSubProcess2 = new SequentialProcess();
    failSubProcess2.add(new SucceedingProcessStep());
    failSubProcess2.add(new FailingProcessStep());

    failProcess6.add(new SucceedingProcessStep());
    failProcess6.add(failSubProcess2);
    failProcess6.add(new SucceedingProcessStep());

    AsyncComponent asyncProcess6 = new AsyncComponent(failProcess6);
    asyncProcess6.attachListener(listener);
    asyncProcess6.start();

    UseCaseTestUtil.waitTillFailed(listener, MAX_ASYNC_WAIT);

    assertFalse(listener.hasSucceeded());
    assertTrue(listener.hasFailed());
View Full Code Here

Examples of org.hive2hive.core.processes.framework.decorators.AsyncComponent

    subProcess.add(subStep2);

    process = new SequentialProcess();
    step1 = new SucceedingProcessStep();
    step2 = new BusySucceedingStep(); // make sure rollback waits for all async components
    AsyncComponent asyncStep2 = new AsyncComponent(step2);
    step3 = new FailingProcessStep();
    step4 = new SucceedingProcessStep();
    process.add(step1);
    process.add(asyncStep2);
    process.add(subProcess);
    process.add(step3);
    process.add(step4);
    process.start();

    assertTrue(process.getState() == ProcessState.FAILED);
    assertTrue(step1.getState() == ProcessState.FAILED);
    assertTrue(asyncStep2.getState() == ProcessState.FAILED);
    assertTrue(step2.getState() == ProcessState.FAILED);
    assertTrue(subProcess.getState() == ProcessState.FAILED);
    assertTrue(subStep1.getState() == ProcessState.FAILED);
    assertTrue(subStep2.getState() == ProcessState.FAILED);
    assertTrue(step3.getState() == ProcessState.FAILED);
    assertTrue(step4.getState() == ProcessState.READY);

    // async step fails
    subProcess = new SequentialProcess();
    subStep1 = new SucceedingProcessStep();
    subStep2 = new SucceedingProcessStep();
    subProcess.add(subStep1);
    subProcess.add(subStep2);

    process = new SequentialProcess();
    step1 = new SucceedingProcessStep();
    step2 = new SucceedingProcessStep();
    step3 = new BusyFailingStep(); // make sure rollback waits for all async components
    AsyncComponent asyncStep3 = new AsyncComponent(step3);
    step4 = new SucceedingProcessStep();
    process.add(step1);
    process.add(step2);
    process.add(subProcess);
    process.add(asyncStep3);
    process.add(step4);
    process.start();

    assertTrue(process.getState() == ProcessState.FAILED);
    assertTrue(step1.getState() == ProcessState.FAILED);
    assertTrue(step2.getState() == ProcessState.FAILED);
    assertTrue(subProcess.getState() == ProcessState.FAILED);
    assertTrue(subStep1.getState() == ProcessState.FAILED);
    assertTrue(subStep2.getState() == ProcessState.FAILED);
    assertTrue(asyncStep3.getState() == ProcessState.FAILED);
    assertTrue(step3.getState() == ProcessState.FAILED);
    assertTrue(step4.getState() == ProcessState.READY || step4.getState() == ProcessState.FAILED);

    // async components (level-2 fail)
    subProcess = new SequentialProcess();
    subStep1 = new SucceedingProcessStep();
    subStep2 = new FailingProcessStep();
    subStep3 = new SucceedingProcessStep();
    subProcess.add(subStep1);
    subProcess.add(subStep2);
    subProcess.add(subStep3);
    AsyncComponent asyncSubProcess = new AsyncComponent(subProcess);

    process = new SequentialProcess();
    step1 = new SucceedingProcessStep();
    step2 = new SucceedingProcessStep();
    step3 = new SucceedingProcessStep();
    process.add(step1);
    process.add(step2);
    process.add(asyncSubProcess);
    process.add(step3);
    process.start();

    assertTrue(process.getState() == ProcessState.FAILED);
    assertTrue(step1.getState() == ProcessState.FAILED);
    assertTrue(step2.getState() == ProcessState.FAILED);
    assertTrue(asyncSubProcess.getState() == ProcessState.FAILED);
    assertTrue(subProcess.getState() == ProcessState.FAILED);
    assertTrue(subStep1.getState() == ProcessState.FAILED);
    assertTrue(subStep2.getState() == ProcessState.FAILED);
    assertTrue(subStep3.getState() == ProcessState.READY);
    assertTrue(step3.getState() == ProcessState.READY || step3.getState() == ProcessState.FAILED);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.