Merge "Add listener interface for usage data published events"

This commit is contained in:
Edwin Kempin 2014-06-26 12:42:37 +00:00 committed by Gerrit Code Review
commit bb053437df
3 changed files with 51 additions and 0 deletions

View File

@ -401,6 +401,10 @@ Project deletion
+ +
Update of HEAD on a project Update of HEAD on a project
* `com.google.gerrit.extensions.events.UsageDataPublishedListener`:
+
Publication of usage data
[[stream-events]] [[stream-events]]
== Sending Events to the Events Stream == Sending Events to the Events Stream

View File

@ -0,0 +1,45 @@
// Copyright (C) 2014 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.gerrit.extensions.events;
import com.google.gerrit.extensions.annotations.ExtensionPoint;
import java.sql.Timestamp;
import java.util.List;
/** Notified when usage data is published */
@ExtensionPoint
public interface UsageDataPublishedListener {
public interface Event {
MetaData getMetaData();
Timestamp getInstant();
List<Data> getData();
}
public interface Data {
long getValue();
String getProjectName();
}
public interface MetaData {
public String getName();
public String getUnitName();
public String getUnitSymbol();
public String getDescription();
}
void onUsageDataPublished(Event event);
}

View File

@ -27,6 +27,7 @@ import com.google.gerrit.extensions.events.HeadUpdatedListener;
import com.google.gerrit.extensions.events.LifecycleListener; import com.google.gerrit.extensions.events.LifecycleListener;
import com.google.gerrit.extensions.events.NewProjectCreatedListener; import com.google.gerrit.extensions.events.NewProjectCreatedListener;
import com.google.gerrit.extensions.events.ProjectDeletedListener; import com.google.gerrit.extensions.events.ProjectDeletedListener;
import com.google.gerrit.extensions.events.UsageDataPublishedListener;
import com.google.gerrit.extensions.registration.DynamicItem; import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.extensions.registration.DynamicMap;
import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.extensions.registration.DynamicSet;
@ -257,6 +258,7 @@ public class GerritGlobalModule extends FactoryModule {
DynamicSet.setOf(binder(), NewProjectCreatedListener.class); DynamicSet.setOf(binder(), NewProjectCreatedListener.class);
DynamicSet.setOf(binder(), ProjectDeletedListener.class); DynamicSet.setOf(binder(), ProjectDeletedListener.class);
DynamicSet.setOf(binder(), HeadUpdatedListener.class); DynamicSet.setOf(binder(), HeadUpdatedListener.class);
DynamicSet.setOf(binder(), UsageDataPublishedListener.class);
DynamicSet.bind(binder(), GitReferenceUpdatedListener.class).to(ChangeCache.class); DynamicSet.bind(binder(), GitReferenceUpdatedListener.class).to(ChangeCache.class);
DynamicSet.bind(binder(), GitReferenceUpdatedListener.class).to(MergeabilityChecker.class); DynamicSet.bind(binder(), GitReferenceUpdatedListener.class).to(MergeabilityChecker.class);
DynamicSet.bind(binder(), GitReferenceUpdatedListener.class) DynamicSet.bind(binder(), GitReferenceUpdatedListener.class)