BatchProgramModule: Don't bind event classes to null

Instead, bind them to the DISABLED instance.

Change-Id: I599caac02ae98800fba641c1e4f6088a9c894c48
This commit is contained in:
David Pursehouse 2018-03-06 15:54:13 +09:00
parent 231f3dcccb
commit eb2f987ddb
2 changed files with 18 additions and 2 deletions

View File

@ -168,8 +168,8 @@ public class BatchProgramModule extends FactoryModule {
bind(ChangeJson.Factory.class).toProvider(Providers.<ChangeJson.Factory>of(null)); bind(ChangeJson.Factory.class).toProvider(Providers.<ChangeJson.Factory>of(null));
bind(EventUtil.class).toProvider(Providers.<EventUtil>of(null)); bind(EventUtil.class).toProvider(Providers.<EventUtil>of(null));
bind(GitReferenceUpdated.class).toProvider(Providers.<GitReferenceUpdated>of(null)); bind(GitReferenceUpdated.class).toInstance(GitReferenceUpdated.DISABLED);
bind(RevisionCreated.class).toProvider(Providers.<RevisionCreated>of(null)); bind(RevisionCreated.class).toInstance(RevisionCreated.DISABLED);
bind(AccountVisibility.class).toProvider(AccountVisibilityProvider.class).in(SINGLETON); bind(AccountVisibility.class).toProvider(AccountVisibilityProvider.class).in(SINGLETON);
} }
} }

View File

@ -37,6 +37,17 @@ import org.slf4j.LoggerFactory;
public class RevisionCreated { public class RevisionCreated {
private static final Logger log = LoggerFactory.getLogger(RevisionCreated.class); private static final Logger log = LoggerFactory.getLogger(RevisionCreated.class);
public static final RevisionCreated DISABLED =
new RevisionCreated() {
@Override
public void fire(
Change change,
PatchSet patchSet,
Account uploader,
Timestamp when,
NotifyHandling notify) {}
};
private final DynamicSet<RevisionCreatedListener> listeners; private final DynamicSet<RevisionCreatedListener> listeners;
private final EventUtil util; private final EventUtil util;
@ -46,6 +57,11 @@ public class RevisionCreated {
this.util = util; this.util = util;
} }
private RevisionCreated() {
this.listeners = null;
this.util = null;
}
public void fire( public void fire(
Change change, PatchSet patchSet, Account uploader, Timestamp when, NotifyHandling notify) { Change change, PatchSet patchSet, Account uploader, Timestamp when, NotifyHandling notify) {
if (!listeners.iterator().hasNext()) { if (!listeners.iterator().hasNext()) {