Skip to content
This repository was archived by the owner on Jun 12, 2022. It is now read-only.

Commit 0fd0d96

Browse files
committed
Complete inline and global comments
1 parent a28af93 commit 0fd0d96

File tree

9 files changed

+42
-72
lines changed

9 files changed

+42
-72
lines changed

pom.xml

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>io.nthienan</groupId>
88
<artifactId>phdiff</artifactId>
9-
<version>1.0-SNAPSHOT</version>
9+
<version>0.1.0</version>
1010
<!-- This is important for sonar-packaging-maven-plugin -->
1111
<packaging>sonar-plugin</packaging>
1212

@@ -26,7 +26,14 @@
2626
<email>nthienan.it@gmail.com</email>
2727
</developer>
2828
</developers>
29-
29+
<url>https://github.com/thienan93/phdiff</url>
30+
<issueManagement>
31+
<url>https://github.com/thienan93/phdiff/issues</url>
32+
</issueManagement>
33+
<scm>
34+
<url>https://github.com/thienan93/phdiff</url>
35+
<connection>scm:git:https://github.com/thienan93/phdiff/issues</connection>
36+
</scm>
3037
<properties>
3138
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3239
<!-- Minimal version of SonarQube to support -->
@@ -75,14 +82,6 @@
7582
<version>2.5</version>
7683
</dependency>
7784

78-
79-
<!-- Just for test, should be remove when submitting -->
80-
<dependency>
81-
<groupId>org.springframework.boot</groupId>
82-
<artifactId>spring-boot-starter-web</artifactId>
83-
<version>1.5.4.RELEASE</version>
84-
</dependency>
85-
8685
<dependency>
8786
<groupId>org.jetbrains.kotlin</groupId>
8887
<artifactId>kotlin-stdlib-jre8</artifactId>

src/main/java/io/nthienan/phdiff/PhabricatorDifferentialPlugin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.nthienan.phdiff;
22

3-
import io.nthienan.phdiff.report.RemarkGlobalReportBuilder;
3+
import io.nthienan.phdiff.report.RemarkupGlobalReportBuilder;
44
import io.nthienan.phdiff.report.RemarkupInlineReportBuilder;
55
import io.nthienan.phdiff.report.RemarkupUtils;
66
import org.sonar.api.Plugin;
@@ -46,7 +46,7 @@ public void define(Context context) {
4646
context.addExtensions(
4747
PhabricatorDifferentialPostJob.class,
4848
Configuration.class,
49-
RemarkGlobalReportBuilder.class,
49+
RemarkupGlobalReportBuilder.class,
5050
RemarkupUtils.class,
5151
RemarkupInlineReportBuilder.class
5252
);

src/main/java/io/nthienan/phdiff/PhabricatorDifferentialPostJob.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ public class PhabricatorDifferentialPostJob implements PostJob {
2828

2929
private static final Comparator<PostJobIssue> ISSUE_COMPARATOR = new IssueComparator();
3030

31-
private final GlobalReportBuilder reportBuilder;
31+
private final GlobalReportBuilder globalReportBuilder;
3232
private final InlineReportBuilder inlineReportBuilder;
3333
private final String projectKey;
3434
private final Configuration configuration;
3535
private DifferentialClient differentialClient;
3636

37-
public PhabricatorDifferentialPostJob(GlobalReportBuilder reportBuilder, InlineReportBuilder inlineReportBuilder, Configuration configuration) {
38-
this.reportBuilder = reportBuilder;
37+
public PhabricatorDifferentialPostJob(GlobalReportBuilder globalReportBuilder, InlineReportBuilder inlineReportBuilder, Configuration configuration) {
38+
this.globalReportBuilder = globalReportBuilder;
3939
this.inlineReportBuilder = inlineReportBuilder;
4040
this.configuration = configuration;
4141
String url = this.configuration.phabricatorUrl();
@@ -63,20 +63,19 @@ public void execute(PostJobContext context) {
6363
.filter(i -> i.inputComponent().isFile())
6464
.sorted(ISSUE_COMPARATOR)
6565
.forEach(i -> {
66-
reportBuilder.add(i);
66+
globalReportBuilder.add(i);
6767
String ic = inlineReportBuilder.issue(i).build();
68-
LOG.error(ic);
6968
String filePath = i.componentKey().replace(projectKey, "").substring(1);
70-
LOG.error(filePath);
7169
try {
7270
differentialClient.postInlineComment(diffID, filePath, i.line(), ic);
71+
LOG.debug("Comment " + ic + " has been published");
7372
} catch (ConduitException e) {
7473
LOG.error(e.getMessage());
7574
}
7675
});
7776
}
78-
LOG.error(reportBuilder.buildReport());
79-
differentialClient.postComment(diff.getRevisionId(), reportBuilder.buildReport());
77+
differentialClient.postComment(diff.getRevisionId(), globalReportBuilder.summarize());
78+
LOG.info("Analysis result has been published to your differential revision");
8079
} catch (ConduitException e) {
8180
LOG.error(e.getMessage());
8281
}

src/main/java/io/nthienan/phdiff/report/GlobalReportBuilder.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ public interface GlobalReportBuilder {
2626
*
2727
* @return String in format
2828
*/
29-
String buildReport();
29+
String build();
30+
31+
String summarize();
3032

3133
}

src/main/java/io/nthienan/phdiff/report/RemarkGlobalReportBuilder.java renamed to src/main/java/io/nthienan/phdiff/report/RemarkupGlobalReportBuilder.java

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616
*/
1717
@BatchSide
1818
@InstantiationStrategy(InstantiationStrategy.PER_BATCH)
19-
public class RemarkGlobalReportBuilder implements GlobalReportBuilder {
19+
public class RemarkupGlobalReportBuilder implements GlobalReportBuilder {
2020

2121
private RemarkupUtils remarkupUtils;
2222
private StringBuilder sb = new StringBuilder();
2323
private int[] numberOfIssuesBySeverity = new int[Severity.values().length];
2424

25-
public RemarkGlobalReportBuilder(RemarkupUtils remarkupUtils) {
25+
public RemarkupGlobalReportBuilder(RemarkupUtils remarkupUtils) {
2626
this.remarkupUtils = remarkupUtils;
2727
}
2828

@@ -40,16 +40,17 @@ public GlobalReportBuilder add(PostJobIssue issue) {
4040
}
4141

4242
@Override
43-
public String buildReport() {
44-
return summarize().append(sb).toString();
43+
public String build() {
44+
return new StringBuilder(summarize()).append(sb).toString();
4545
}
4646

47-
private StringBuilder summarize() {
47+
@Override
48+
public String summarize() {
4849
StringBuilder sum = new StringBuilder();
4950
if (hasIssues()) {
5051
int totalIssues = totalIssues();
51-
sum.append(bold("SonarQube")).append(" ")
52-
.append("analysis reported ")
52+
sum.append(bold("SonarQube"))
53+
.append(" reported ")
5354
.append(bold(String.valueOf(totalIssues)))
5455
.append(" issue")
5556
.append(totalIssues > 1 ? "s" : "")
@@ -99,23 +100,24 @@ private StringBuilder summarize() {
99100
.append(infoIssues > 1 ? "s" : "")
100101
.append(" (").append(remarkupUtils.icon(Severity.INFO)).append(")\n");
101102
}
103+
sum.append("See inline comments for more detail.");
102104
} else {
103-
sum.append("You are great developer.\n")
104-
.append(bold("SonarQube"))
105-
.append(" analysis reported no issues.");
105+
sum.append(bold("SonarQube"))
106+
.append(" has found no issue.")
107+
.append(" You are great developer.");
106108
}
107-
return sum;
109+
return sum.toString();
108110
}
109111

110-
public boolean hasIssues() {
112+
private boolean hasIssues() {
111113
return totalIssues() > 0;
112114
}
113115

114116
private int numberOfIssues(Severity s) {
115117
return numberOfIssuesBySeverity[s.ordinal()];
116118
}
117119

118-
public int totalIssues() {
120+
private int totalIssues() {
119121
final int[] total = {0};
120122
Arrays.stream(Severity.values())
121123
.forEach(severity -> total[0] += numberOfIssues(severity));
@@ -124,6 +126,6 @@ public int totalIssues() {
124126

125127
@Override
126128
public String toString() {
127-
return buildReport();
129+
return build();
128130
}
129131
}

src/main/kotlin/io/nthienan/phdiff/Application.kt

Lines changed: 0 additions & 34 deletions
This file was deleted.

src/main/kotlin/io/nthienan/phdiff/conduit/ConduitClient.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,24 @@ import org.apache.http.client.methods.HttpPost
88
import org.apache.http.impl.client.HttpClientBuilder
99
import org.apache.http.message.BasicNameValuePair
1010
import org.json.JSONObject
11+
import org.sonar.api.utils.log.Loggers
1112
import java.net.URL
1213
import java.util.ArrayList
1314

1415
/**
1516
* Created on 17-Jul-17.
1617
* @author nthienan
1718
*/
19+
val LOG = Loggers.get(ConduitClient::class.java)
20+
1821
class ConduitClient(var url: String, var token: String) {
1922

2023
fun perform(action: String, params: JSONObject): JSONObject {
2124
val httpClient = HttpClientBuilder.create().build()
2225
val postRequest = makeRequest(action, params)
2326
val response = httpClient.execute(postRequest)
2427
val responseBody = IOUtils.toString(response.entity.content, Charsets.UTF_8)
28+
LOG.debug("$url responses: $responseBody")
2529
if (response.statusLine.statusCode != HttpStatus.SC_OK) {
2630
throw ConduitException(responseBody, response.statusLine.statusCode)
2731
}

src/main/kotlin/io/nthienan/phdiff/conduit/DifferentialClient.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,9 @@ class DifferentialClient(val conduitClient: ConduitClient) {
5555
val diff = Diff()
5656
diff.id = diffJsonObj.get("id").toString()
5757
diff.revisionId = diffJsonObj.getString("revisionID")
58-
// diff.branch = diffJsonObj.getString("branch")
5958
diff.dateCreated = Date(diffJsonObj.getLong("dateCreated"))
6059
diff.dateModified = Date(diffJsonObj.getLong("dateModified"))
6160
return diff
62-
6361
}
6462

6563
/**

src/main/kotlin/io/nthienan/phdiff/report/RemarkupInlineReportBuilder.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class RemarkupInlineReportBuilder(val remarkupUtils: RemarkupUtils) : InlineRepo
2424
issue?.let { issue ->
2525
str = StringBuilder().append(remarkupUtils.icon(issue.severity()))
2626
.append(" ").append(remarkupUtils.message(issue.message()))
27-
.append(" ").append(remarkupUtils.rule(issue.ruleKey().rule()))
27+
.append(" ").append(remarkupUtils.rule(issue.ruleKey().toString()))
2828
.toString()
2929
}
3030
return str

0 commit comments

Comments
 (0)