本文整理了Java中org.sonar.duplications.block.Block.builder()
方法的一些代码示例,展示了Block.builder()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Block.builder()
方法的具体详情如下:
包路径:org.sonar.duplications.block.Block
类名称:Block
方法名:builder
暂无
代码示例来源:origin: SonarSource/sonarqube
hash = hash * PRIME_BASE + statementsArr[last].getValue().hashCode();
Block.Builder blockBuilder = Block.builder().setResourceId(resourceId);
for (; last < statementsArr.length; last++, first++) {
Statement firstStatement = statementsArr[first];
代码示例来源:origin: SonarSource/sonarqube
hash = hash * PRIME_BASE + fragmentsArr[last].getHashCode();
Block.Builder blockBuilder = Block.builder().setResourceId(resourceId);
for (; last < fragmentsArr.length; last++, first++) {
TokensLine firstFragment = fragmentsArr[first];
代码示例来源:origin: SonarSource/sonarqube
@Override
public Block apply(@Nonnull DuplicationUnitDto dto) {
// Note that the dto doesn't contains start/end token indexes
return Block.builder()
.setResourceId(dto.getComponentKey())
.setBlockHash(new ByteArray(dto.getHash()))
.setIndexInFile(dto.getIndexInFile())
.setLines(dto.getStartLine(), dto.getEndLine())
.build();
}
}
代码示例来源:origin: SonarSource/sonarqube
@Override
public Block apply(@Nonnull CpdTextBlock duplicationBlock) {
Block block = Block.builder()
.setResourceId(fileKey)
.setBlockHash(new ByteArray(duplicationBlock.getHash()))
.setIndexInFile(indexInFile)
.setLines(duplicationBlock.getStartLine(), duplicationBlock.getEndLine())
.setUnit(duplicationBlock.getStartTokenIndex(), duplicationBlock.getEndTokenIndex())
.build();
indexInFile++;
return block;
}
}
代码示例来源:origin: SonarSource/sonarqube
@Test
public void should_timeout() {
Block block = Block.builder()
.setBlockHash(new ByteArray("AAAABBBBCCCC"))
.setResourceId(batchComponent1.key())
.build();
index.insert(batchComponent1, Collections.singletonList(block));
when(executorService.submit(ArgumentMatchers.any(Callable.class))).thenReturn(new CompletableFuture());
executor.execute(1);
readDuplications(0);
assertThat(logTester.logs(LoggerLevel.WARN))
.usingElementComparator((l, r) -> l.matches(r) ? 0 : 1)
.containsOnly(
"Timeout during detection of duplications for .*Foo.php");
}
代码示例来源:origin: SonarSource/sonarqube
@Test
public void should_ignore_missing_component() {
Block block = Block.builder()
.setBlockHash(new ByteArray("AAAABBBBCCCC"))
.setResourceId("unknown")
.build();
index.insert(batchComponent1, Collections.singletonList(block));
executor.execute();
verify(executorService).shutdown();
verifyNoMoreInteractions(executorService);
readDuplications(batchComponent1, 0);
assertThat(logTester.logs(LoggerLevel.ERROR)).contains("Resource not found in component store: unknown. Skipping CPD computation for it");
}
代码示例来源:origin: SonarSource/sonarqube
/**
* {@link BlocksGroup} uses only resourceId and index from block, thus we can simplify testing.
*/
private static Block newBlock(String resourceId, int indexInFile) {
return Block.builder()
.setResourceId(resourceId)
.setIndexInFile(indexInFile)
.setLines(indexInFile, indexInFile)
.build();
}
代码示例来源:origin: SonarSource/sonarqube
/**
* To simplify testing we assume that each block starts from a new line and contains {@link #LINES_PER_BLOCK} lines,
* so we can simply use index and hash.
*/
protected static Block newBlock(String resourceId, ByteArray hash, int index) {
return Block.builder()
.setResourceId(resourceId)
.setBlockHash(hash)
.setIndexInFile(index)
.setLines(index, index + LINES_PER_BLOCK)
.build();
}
代码示例来源:origin: SonarSource/sonarqube
private static Block newBlock(String resourceId, long hash) {
return Block.builder()
.setResourceId(resourceId)
.setBlockHash(new ByteArray(hash))
.setIndexInFile(1)
.setLines(1, 2)
.build();
}
代码示例来源:origin: SonarSource/sonarqube
@Test
public void testBuilder() {
ByteArray hash = new ByteArray(1);
Block block = Block.builder()
.setResourceId("resource")
.setBlockHash(hash)
.setIndexInFile(1)
.setLines(2, 3)
.setUnit(4, 5)
.build();
assertThat(block.getResourceId(), is("resource"));
assertThat(block.getBlockHash(), sameInstance(hash));
assertThat(block.getIndexInFile(), is(1));
assertThat(block.getStartLine(), is(2));
assertThat(block.getEndLine(), is(3));
assertThat(block.getStartUnit(), is(4));
assertThat(block.getEndUnit(), is(5));
}
代码示例来源:origin: SonarSource/sonarqube
public void same_lines_but_different_indexes() {
CloneIndex cloneIndex = createIndex();
Block.Builder block = Block.builder()
.setResourceId("a")
.setLines(0, 1);
代码示例来源:origin: org.codehaus.sonar/sonar-duplications
hash = hash * PRIME_BASE + statementsArr[last].getValue().hashCode();
Block.Builder blockBuilder = Block.builder().setResourceId(resourceId);
for (; last < statementsArr.length; last++, first++) {
Statement firstStatement = statementsArr[first];
代码示例来源:origin: org.codehaus.sonar/sonar-duplications
hash = hash * PRIME_BASE + fragmentsArr[last].getHashCode();
Block.Builder blockBuilder = Block.builder().setResourceId(resourceId);
for (; last < fragmentsArr.length; last++, first++) {
TokensLine firstFragment = fragmentsArr[first];
代码示例来源:origin: org.codehaus.sonar/sonar-batch
public void prepareCache(InputFile inputFile) {
int resourceSnapshotId = getSnapshotIdFor(inputFile);
List<DuplicationUnitDto> units = dao.selectCandidates(resourceSnapshotId, lastSnapshotId, languageKey);
cache.clear();
// TODO Godin: maybe remove conversion of units to blocks?
for (DuplicationUnitDto unit : units) {
String hash = unit.getHash();
String resourceKey = unit.getResourceKey();
int indexInFile = unit.getIndexInFile();
int startLine = unit.getStartLine();
int endLine = unit.getEndLine();
// TODO Godin: in fact we could work directly with id instead of key - this will allow to decrease memory consumption
Block block = Block.builder()
.setResourceId(resourceKey)
.setBlockHash(new ByteArray(hash))
.setIndexInFile(indexInFile)
.setLines(startLine, endLine)
.build();
// Group blocks by hash
Collection<Block> sameHash = cache.get(block.getBlockHash());
if (sameHash == null) {
sameHash = Lists.newArrayList();
cache.put(block.getBlockHash(), sameHash);
}
sameHash.add(block);
}
}
代码示例来源:origin: org.sonarsource.sonarqube/sonar-server
@Override
public Block apply(@Nonnull DuplicationUnitDto dto) {
// Note that the dto doesn't contains start/end token indexes
return Block.builder()
.setResourceId(dto.getComponentKey())
.setBlockHash(new ByteArray(dto.getHash()))
.setIndexInFile(dto.getIndexInFile())
.setLines(dto.getStartLine(), dto.getEndLine())
.build();
}
}
代码示例来源:origin: org.sonarsource.sonarqube/sonar-server
@Override
public Block apply(@Nonnull CpdTextBlock duplicationBlock) {
Block block = Block.builder()
.setResourceId(fileKey)
.setBlockHash(new ByteArray(duplicationBlock.getHash()))
.setIndexInFile(indexInFile)
.setLines(duplicationBlock.getStartLine(), duplicationBlock.getEndLine())
.setUnit(duplicationBlock.getStartTokenIndex(), duplicationBlock.getEndTokenIndex())
.build();
indexInFile++;
return block;
}
}
内容来源于网络,如有侵权,请联系作者删除!