コード例 #1
0
  private void doPortWork(
      TeamWorkFlowArtifact sourceWorkflow, TeamWorkFlowArtifact destinationWorkflow)
      throws OseeCoreException {
    if (destinationWorkflow.getWorkingBranchForceCacheUpdate() == null) {
      AtsBranchUtil.createWorkingBranch_Create(destinationWorkflow, true);
    }

    Branch destinationBranch = destinationWorkflow.getWorkingBranchForceCacheUpdate();
    Branch portBranch = getPortBranchFromWorkflow(sourceWorkflow, destinationWorkflow);
    if (portBranch == null) {
      logf(
          "Source workflow [%s] not ready for port to Workflow [%s].",
          sourceWorkflow, destinationWorkflow);
      return;
    }

    try {
      if (portBranch.getBranchState().isCommitted()) {
        logf("Skipping completed workflow [%s].", destinationWorkflow);
      } else {
        ConflictManagerExternal conflictManager =
            new ConflictManagerExternal(destinationBranch, portBranch);
        BranchManager.commitBranch(null, conflictManager, false, false);
        logf("Commit complete for workflow [%s].", destinationWorkflow);
      }
    } catch (OseeCoreException ex) {
      logf("Resolve conflicts for workflow [%s].", destinationWorkflow);
    }
  }