Skip to content

Commit 025f82e

Browse files
authored
Reduce impact. Reset repoProviders caches. (#272)
* Reduce impact * Reset caches on start/stop * Relax checkstyle
1 parent 39890ae commit 025f82e

5 files changed

Lines changed: 34 additions & 6 deletions

File tree

github-pullrequest-plugin/src/main/java/com/github/kostyasha/github/integration/generic/GitHubRepoProvider.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,23 @@ public abstract class GitHubRepoProvider extends AbstractDescribableImpl<GitHubR
3636
@CheckForNull
3737
public abstract GitHub getGitHub(GitHubTrigger trigger);
3838

39+
/**
40+
* Called on trigger start. I.e. reset cache after some changes.
41+
*/
42+
public void onTriggerStart() {}
43+
44+
/**
45+
* Called on trigger stop. I.e. reset cache after some changes.
46+
*/
47+
public void onTriggerStop() {}
48+
3949
/**
4050
* alive connection to remote repo.
4151
*/
4252
@CheckForNull
4353
public abstract GHRepository getGHRepository(GitHubTrigger trigger);
4454

55+
4556
public abstract static class GitHubRepoProviderDescriptor
4657
extends Descriptor<GitHubRepoProvider> {
4758
@Nonnull

github-pullrequest-plugin/src/main/java/com/github/kostyasha/github/integration/generic/GitHubRepository.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,23 +62,24 @@ public void actualise(@Nonnull GHRepository ghRepository, @Nonnull TaskListener
6262
PrintStream logger = listener.getLogger();
6363
// just in case your organisation decided to change domain
6464
// take into account only repo/name
65-
if (isNull(fullName) || !fullName.equals(ghRepository.getFullName())) {
65+
if (isNull(fullName) || !fullName.equalsIgnoreCase(ghRepository.getFullName())) {
6666
logger.printf("Repository full name changed from '%s' to '%s'.\n", fullName, ghRepository.getFullName());
6767
fullName = ghRepository.getFullName();
6868
changed = true;
6969
}
7070

71-
if (isNull(githubUrl) || !githubUrl.equals(ghRepository.getHtmlUrl())) {
71+
if (isNull(githubUrl)
72+
|| !githubUrl.toExternalForm().equalsIgnoreCase(ghRepository.getHtmlUrl().toExternalForm())) {
7273
logger.printf("Changing GitHub url from '%s' to '%s'.\n", githubUrl, ghRepository.getHtmlUrl());
7374
githubUrl = ghRepository.getHtmlUrl();
7475
}
7576

76-
if (isNull(gitUrl) || !gitUrl.equals(ghRepository.getGitTransportUrl())) {
77+
if (isNull(gitUrl) || !gitUrl.equalsIgnoreCase(ghRepository.getGitTransportUrl())) {
7778
logger.printf("Changing Git url from '%s' to '%s'.\n", gitUrl, ghRepository.getGitTransportUrl());
7879
gitUrl = ghRepository.getGitTransportUrl();
7980
}
8081

81-
if (isNull(sshUrl) || !sshUrl.equals(ghRepository.getSshUrl())) {
82+
if (isNull(sshUrl) || !sshUrl.equalsIgnoreCase(ghRepository.getSshUrl())) {
8283
logger.printf("Changing SSH url from '%s' to '%s'.\n", sshUrl, ghRepository.getSshUrl());
8384
sshUrl = ghRepository.getSshUrl();
8485
}

github-pullrequest-plugin/src/main/java/com/github/kostyasha/github/integration/generic/GitHubTrigger.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ public void setRepoName(GitHubRepositoryName repoName) {
111111
@Override
112112
public void start(Job<?, ?> project, boolean newInstance) {
113113
repoName = null; // reset cache
114+
getRepoProviders().forEach(GitHubRepoProvider::onTriggerStart);
114115
super.start(project, newInstance);
115116
}
116117

@@ -187,6 +188,7 @@ public GitHubErrorsAction getErrorsAction() {
187188
@Override
188189
public void stop() {
189190
repoName = null;
191+
getRepoProviders().forEach(GitHubRepoProvider::onTriggerStop);
190192
//TODO clean hooks?
191193
if (nonNull(job)) {
192194
LOG.info("Stopping '{}' for project '{}'", getDescriptor().getDisplayName(), job.getFullName());

github-pullrequest-plugin/src/main/java/com/github/kostyasha/github/integration/generic/repoprovider/GitHubPluginRepoProvider.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,18 @@ public boolean isManageHooks(GitHubTrigger trigger) {
8989
return isManageHooks() && GitHubPlugin.configuration().isManageHooks();
9090
}
9191

92+
@Override
93+
public void onTriggerStart() {
94+
gitHub = null;
95+
remoteRepository = null;
96+
}
97+
98+
@Override
99+
public void onTriggerStop() {
100+
gitHub = null;
101+
remoteRepository = null;
102+
}
103+
92104
@Nonnull
93105
@Override
94106
public synchronized GitHub getGitHub(GitHubTrigger trigger) {
@@ -157,6 +169,7 @@ protected Object readResolve() {
157169

158170
@Extension
159171
public static class DescriptorImpl extends GitHubRepoProviderDescriptor {
172+
@Nonnull
160173
@Override
161174
public String getDisplayName() {
162175
return "GitHub Plugin Repository Provider";

github-pullrequest-plugin/src/test/resources/checkstyle/checkstyle.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,9 @@
159159
<module name="ParenPad"/>
160160
<module name="TypecastParenPad"/>
161161
<module name="WhitespaceAfter"/>
162-
<module name="WhitespaceAround"/>
163-
162+
<module name="WhitespaceAround">
163+
<property name="allowEmptyMethods" value="true"/>
164+
</module>
164165

165166
<!-- Modifier Checks -->
166167
<!-- See http://checkstyle.sf.net/config_modifiers.html -->

0 commit comments

Comments
 (0)