com.evolveum.midpoint.repo.api.RepositoryService.advanceSequence()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(4.8k)|赞(0)|评价(0)|浏览(68)

本文整理了Java中com.evolveum.midpoint.repo.api.RepositoryService.advanceSequence方法的一些代码示例,展示了RepositoryService.advanceSequence的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RepositoryService.advanceSequence方法的具体详情如下:
包路径:com.evolveum.midpoint.repo.api.RepositoryService
类名称:RepositoryService
方法名:advanceSequence

RepositoryService.advanceSequence介绍

暂无

代码示例

代码示例来源:origin: Evolveum/midpoint

public static long getSequenceCounter(String sequenceOid, RepositoryService repositoryService, OperationResult result) throws ObjectNotFoundException, SchemaException {
  LensContext<? extends FocusType> ctx = ModelExpressionThreadLocalHolder.getLensContext();
  if (ctx == null) {
    throw new IllegalStateException("No lens context");
  }
  Long counter = ctx.getSequenceCounter(sequenceOid);
  if (counter == null) {
    counter = repositoryService.advanceSequence(sequenceOid, result);
    ctx.setSequenceCounter(sequenceOid, counter);
  }
  return counter;
}

代码示例来源:origin: Evolveum/midpoint

@Override
public long advanceSequence(String oid, OperationResult parentResult) throws ObjectNotFoundException,
    SchemaException {
  Long startTime = repoOpStart();
  try {
    return repositoryService.advanceSequence(oid, parentResult);
  } finally {
    repoOpEnd(startTime);
    invalidateCacheEntry(SequenceType.class, oid);
  }
}

代码示例来源:origin: Evolveum/midpoint

@Test
public void test020_ReachingLimit() throws Exception {
  OperationResult result = new OperationResult("test020_ReachingLimit");
  final File file = new File(TEST_DIR + "sequence-bound.xml");
  PrismObject<SequenceType> sequence = prismContext.parseObject(file);
  String oid = repositoryService.addObject(sequence, null, result);
  assertEquals(0L, repositoryService.advanceSequence(oid, result));
  assertEquals(1L, repositoryService.advanceSequence(oid, result));
  assertEquals(2L, repositoryService.advanceSequence(oid, result));
  assertEquals(3L, repositoryService.advanceSequence(oid, result));
  assertEquals(4L, repositoryService.advanceSequence(oid, result));
  assertEquals(5L, repositoryService.advanceSequence(oid, result));
  assertEquals(6L, repositoryService.advanceSequence(oid, result));
  assertEquals(7L, repositoryService.advanceSequence(oid, result));
  assertEquals(8L, repositoryService.advanceSequence(oid, result));
  assertEquals(9L, repositoryService.advanceSequence(oid, result));
  try {
    long value = repositoryService.advanceSequence(oid, result);
    fail("Expected an exception, got value of " + value);
  } catch (SystemException e) {
    // ok
  }
}

代码示例来源:origin: Evolveum/midpoint

public void runOnce() throws SchemaException, ObjectNotFoundException {
  OperationResult result = new OperationResult("run");
  long value = repositoryService.advanceSequence(oid, result);
  LOGGER.debug("Advance sequence returned {}", value);
  values.add(value);
  if (returnEach > 0) {
    if (countToReturn > 0) {
      countToReturn--;
    } else {
      countToReturn = returnEach;
      int i = (int) (Math.random() * values.size());
      long v = values.remove(i);
      repositoryService.returnUnusedValuesToSequence(oid, Arrays.asList(v), result);
      try {
        Thread.sleep(500);
      } catch (InterruptedException e) {
      }
      value = repositoryService.advanceSequence(oid, result);
      LOGGER.debug("Advance sequence returned {} (after return)", value);
      values.add(value);
    }
  }
}

代码示例来源:origin: Evolveum/midpoint

String oid = repositoryService.addObject(sequence, null, result);
assertEquals(0L, repositoryService.advanceSequence(oid, result));
assertEquals(1L, repositoryService.advanceSequence(oid, result));
assertEquals(2L, repositoryService.advanceSequence(oid, result));
assertEquals(3L, repositoryService.advanceSequence(oid, result));
assertEquals(4L, repositoryService.advanceSequence(oid, result));
repositoryService.returnUnusedValuesToSequence(oid, Arrays.asList(2L, 4L), result);
assertEquals(2L, repositoryService.advanceSequence(oid, result));
assertEquals(4L, repositoryService.advanceSequence(oid, result));
assertEquals(5L, repositoryService.advanceSequence(oid, result));
assertEquals(6L, repositoryService.advanceSequence(oid, result));
repositoryService.returnUnusedValuesToSequence(oid, null, result);
repositoryService.returnUnusedValuesToSequence(oid, new ArrayList<>(), result);
repositoryService.returnUnusedValuesToSequence(oid, Arrays.asList(6L), result);
assertEquals(6L, repositoryService.advanceSequence(oid, result));
assertEquals(0L, repositoryService.advanceSequence(oid, result));
assertEquals(1L, repositoryService.advanceSequence(oid, result));
assertEquals(2L, repositoryService.advanceSequence(oid, result));
assertEquals(3L, repositoryService.advanceSequence(oid, result));
assertEquals(4L, repositoryService.advanceSequence(oid, result));
assertEquals(7L, repositoryService.advanceSequence(oid, result));
assertEquals(8L, repositoryService.advanceSequence(oid, result));
assertEquals(9L, repositoryService.advanceSequence(oid, result));
assertEquals(0L, repositoryService.advanceSequence(oid, result));
assertEquals(1L, repositoryService.advanceSequence(oid, result));
assertEquals(2L, repositoryService.advanceSequence(oid, result));

相关文章

微信公众号

最新文章

更多