Issue #1580 - Refactor events framework so EventBus is available from CAVE or EDEX.
Change-Id: If8d9c18108ca244b044b1ddc5a80e9e5de623c7a Former-commit-id:06ddb6cce7
[formerly1b1d00f8a9
] [formerly06ddb6cce7
[formerly1b1d00f8a9
] [formerly36909dd6c0
[formerly 1d3f9e0d5b32f96fc4eff47f040d5eb159a38d3c]]] Former-commit-id:36909dd6c0
Former-commit-id:cd52a94032
[formerly4400265394
] Former-commit-id:0cb979038b
This commit is contained in:
parent
53c04aac63
commit
28e854de25
38 changed files with 596 additions and 226 deletions
|
@ -187,7 +187,6 @@
|
||||||
install-size="0"
|
install-size="0"
|
||||||
version="0.0.0"
|
version="0.0.0"
|
||||||
unpack="false"/>
|
unpack="false"/>
|
||||||
|
|
||||||
|
|
||||||
<plugin
|
<plugin
|
||||||
id="com.raytheon.uf.common.dataplugin.maps"
|
id="com.raytheon.uf.common.dataplugin.maps"
|
||||||
|
@ -246,4 +245,10 @@
|
||||||
version="0.0.0"
|
version="0.0.0"
|
||||||
unpack="false"/>
|
unpack="false"/>
|
||||||
|
|
||||||
|
<plugin
|
||||||
|
id="com.raytheon.uf.viz.event"
|
||||||
|
download-size="0"
|
||||||
|
install-size="0"
|
||||||
|
version="0.0.0"/>
|
||||||
|
|
||||||
</feature>
|
</feature>
|
||||||
|
|
7
cave/com.raytheon.uf.viz.event/.classpath
Normal file
7
cave/com.raytheon.uf.viz.event/.classpath
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
</classpath>
|
28
cave/com.raytheon.uf.viz.event/.project
Normal file
28
cave/com.raytheon.uf.viz.event/.project
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>com.raytheon.uf.viz.event</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.pde.PluginNature</nature>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
|
@ -0,0 +1,8 @@
|
||||||
|
#Tue Feb 05 09:52:42 CST 2013
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||||
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.source=1.6
|
13
cave/com.raytheon.uf.viz.event/META-INF/MANIFEST.MF
Normal file
13
cave/com.raytheon.uf.viz.event/META-INF/MANIFEST.MF
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
Manifest-Version: 1.0
|
||||||
|
Bundle-ManifestVersion: 2
|
||||||
|
Bundle-Name: Event
|
||||||
|
Bundle-SymbolicName: com.raytheon.uf.viz.event
|
||||||
|
Bundle-Version: 1.0.0.qualifier
|
||||||
|
Bundle-Activator: com.raytheon.uf.viz.event.Activator
|
||||||
|
Bundle-Vendor: RAYTHEON
|
||||||
|
Require-Bundle: org.eclipse.core.runtime,
|
||||||
|
com.raytheon.uf.common.event;bundle-version="1.0.0",
|
||||||
|
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174",
|
||||||
|
com.raytheon.uf.common.status;bundle-version="1.12.1174"
|
||||||
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||||
|
Bundle-ActivationPolicy: lazy
|
|
@ -0,0 +1 @@
|
||||||
|
com.raytheon.uf.viz.event.CaveEventBusHandler
|
4
cave/com.raytheon.uf.viz.event/build.properties
Normal file
4
cave/com.raytheon.uf.viz.event/build.properties
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
source.. = src/
|
||||||
|
output.. = bin/
|
||||||
|
bin.includes = META-INF/,\
|
||||||
|
.
|
|
@ -0,0 +1,80 @@
|
||||||
|
/**
|
||||||
|
* This software was developed and / or modified by Raytheon Company,
|
||||||
|
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||||
|
*
|
||||||
|
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||||
|
* This software product contains export-restricted data whose
|
||||||
|
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||||
|
* to non-U.S. persons whether in the United States or abroad requires
|
||||||
|
* an export license or other authorization.
|
||||||
|
*
|
||||||
|
* Contractor Name: Raytheon Company
|
||||||
|
* Contractor Address: 6825 Pine Street, Suite 340
|
||||||
|
* Mail Stop B8
|
||||||
|
* Omaha, NE 68106
|
||||||
|
* 402.291.0100
|
||||||
|
*
|
||||||
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
|
* further licensing information.
|
||||||
|
**/
|
||||||
|
package com.raytheon.uf.viz.event;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.event.Event;
|
||||||
|
import com.raytheon.uf.common.event.EventPublishRequest;
|
||||||
|
import com.raytheon.uf.common.event.IEventBusHandler;
|
||||||
|
import com.raytheon.uf.common.serialization.comm.RequestRouter;
|
||||||
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cave implementation of the {@link IEventBusHandler}
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* Feb 5, 2013 1580 mpduff Initial creation.
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author mpduff
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class CaveEventBusHandler implements IEventBusHandler {
|
||||||
|
private static final IUFStatusHandler statusHandler = UFStatus
|
||||||
|
.getHandler(CaveEventBusHandler.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void publish(Event event) {
|
||||||
|
EventPublishRequest request = new EventPublishRequest(event);
|
||||||
|
try {
|
||||||
|
RequestRouter.route(request);
|
||||||
|
} catch (Exception e) {
|
||||||
|
statusHandler.handle(Priority.PROBLEM, "Error sending Event", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void register(Object subscriber) {
|
||||||
|
throw new UnsupportedOperationException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void unregister(Object subscriber) {
|
||||||
|
throw new UnsupportedOperationException();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -8,5 +8,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||||
Require-Bundle: com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
Require-Bundle: com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||||
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174",
|
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174",
|
||||||
javax.persistence;bundle-version="1.0.0",
|
javax.persistence;bundle-version="1.0.0",
|
||||||
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174"
|
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||||
|
com.google.guava;bundle-version="1.0.0",
|
||||||
|
com.raytheon.uf.common.status;bundle-version="1.12.1174"
|
||||||
Export-Package: com.raytheon.uf.common.event
|
Export-Package: com.raytheon.uf.common.event
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
package com.raytheon.uf.common.event;
|
||||||
|
|
||||||
|
import java.util.ServiceLoader;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The EventBus.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* Oct 11, 2012 1261 djohnson Add SW history, create constants for fields,
|
||||||
|
* add unregister.
|
||||||
|
* Dec 11, 2012 1407 djohnson Separate the creation of the Google EventBus from the wrapper class.
|
||||||
|
* Feb 05, 2013 1580 mpduff Moved to common, use IEventBusHandler.
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author djohnson
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
public final class EventBus {
|
||||||
|
|
||||||
|
private static final IEventBusHandler handler;
|
||||||
|
static {
|
||||||
|
handler = ServiceLoader.<IEventBusHandler> load(IEventBusHandler.class)
|
||||||
|
.iterator().next();
|
||||||
|
}
|
||||||
|
|
||||||
|
private EventBus() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register with the EventBus.
|
||||||
|
*
|
||||||
|
* @param subscriber
|
||||||
|
* The subscriber to register
|
||||||
|
*/
|
||||||
|
public static void register(Object subscriber) {
|
||||||
|
handler.register(subscriber);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister from the EventBus.
|
||||||
|
*
|
||||||
|
* @param subscriber
|
||||||
|
* The subscriber to unregister
|
||||||
|
*/
|
||||||
|
public static void unregister(Object subscriber) {
|
||||||
|
handler.unregister(subscriber);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Publish the event.
|
||||||
|
*
|
||||||
|
* @param event
|
||||||
|
* The event to publish
|
||||||
|
*/
|
||||||
|
public static void publish(Event event) {
|
||||||
|
if (event == null) {
|
||||||
|
throw new IllegalArgumentException("Cannot publish a null event");
|
||||||
|
}
|
||||||
|
|
||||||
|
handler.publish(event);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,78 @@
|
||||||
|
/**
|
||||||
|
* This software was developed and / or modified by Raytheon Company,
|
||||||
|
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||||
|
*
|
||||||
|
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||||
|
* This software product contains export-restricted data whose
|
||||||
|
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||||
|
* to non-U.S. persons whether in the United States or abroad requires
|
||||||
|
* an export license or other authorization.
|
||||||
|
*
|
||||||
|
* Contractor Name: Raytheon Company
|
||||||
|
* Contractor Address: 6825 Pine Street, Suite 340
|
||||||
|
* Mail Stop B8
|
||||||
|
* Omaha, NE 68106
|
||||||
|
* 402.291.0100
|
||||||
|
*
|
||||||
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
|
* further licensing information.
|
||||||
|
**/
|
||||||
|
package com.raytheon.uf.common.event;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
|
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
||||||
|
import com.raytheon.uf.common.serialization.comm.IServerRequest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Publish event request.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* Feb 5, 2013 1580 mpduff Initial creation.
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author mpduff
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
@DynamicSerialize
|
||||||
|
public class EventPublishRequest implements IServerRequest {
|
||||||
|
@DynamicSerializeElement
|
||||||
|
private Event event;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default Constructor.
|
||||||
|
*/
|
||||||
|
public EventPublishRequest() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convenience constructor.
|
||||||
|
*
|
||||||
|
* @param event
|
||||||
|
* The event to publish
|
||||||
|
*/
|
||||||
|
public EventPublishRequest(Event event) {
|
||||||
|
this.event = event;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param event
|
||||||
|
* the event to set
|
||||||
|
*/
|
||||||
|
public void setEvent(Event event) {
|
||||||
|
this.event = event;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the event
|
||||||
|
*/
|
||||||
|
public Event getEvent() {
|
||||||
|
return event;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,65 @@
|
||||||
|
/**
|
||||||
|
* This software was developed and / or modified by Raytheon Company,
|
||||||
|
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||||
|
*
|
||||||
|
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||||
|
* This software product contains export-restricted data whose
|
||||||
|
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||||
|
* to non-U.S. persons whether in the United States or abroad requires
|
||||||
|
* an export license or other authorization.
|
||||||
|
*
|
||||||
|
* Contractor Name: Raytheon Company
|
||||||
|
* Contractor Address: 6825 Pine Street, Suite 340
|
||||||
|
* Mail Stop B8
|
||||||
|
* Omaha, NE 68106
|
||||||
|
* 402.291.0100
|
||||||
|
*
|
||||||
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
|
* further licensing information.
|
||||||
|
**/
|
||||||
|
package com.raytheon.uf.common.event;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IEventBusHandler interface.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* Feb 5, 2013 1580 mpduff Initial creation.
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author mpduff
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public interface IEventBusHandler {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Publishes events for all subscribers to receive
|
||||||
|
*
|
||||||
|
* @param event
|
||||||
|
* the event
|
||||||
|
*/
|
||||||
|
void publish(Event event);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register an object with the event bus.
|
||||||
|
*
|
||||||
|
* @param subscriber
|
||||||
|
* the subscriber to register
|
||||||
|
*/
|
||||||
|
void register(Object subscriber);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister an object with the event bus.
|
||||||
|
*
|
||||||
|
* @param subscriber
|
||||||
|
* the object subscribed to the event buss
|
||||||
|
*/
|
||||||
|
void unregister(Object subscriber);
|
||||||
|
|
||||||
|
}
|
|
@ -30,6 +30,7 @@ import com.raytheon.edex.urifilter.URIFilter;
|
||||||
import com.raytheon.edex.urifilter.URIGenerateMessage;
|
import com.raytheon.edex.urifilter.URIGenerateMessage;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginException;
|
import com.raytheon.uf.common.dataplugin.PluginException;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.monitor.cpg.MonitorStateConfigurationManager;
|
import com.raytheon.uf.common.monitor.cpg.MonitorStateConfigurationManager;
|
||||||
import com.raytheon.uf.common.serialization.SerializationUtil;
|
import com.raytheon.uf.common.serialization.SerializationUtil;
|
||||||
import com.raytheon.uf.common.stats.ProcessEvent;
|
import com.raytheon.uf.common.stats.ProcessEvent;
|
||||||
|
@ -42,7 +43,6 @@ import com.raytheon.uf.edex.core.EdexException;
|
||||||
import com.raytheon.uf.edex.database.dao.CoreDao;
|
import com.raytheon.uf.edex.database.dao.CoreDao;
|
||||||
import com.raytheon.uf.edex.database.dao.DaoConfig;
|
import com.raytheon.uf.edex.database.dao.DaoConfig;
|
||||||
import com.raytheon.uf.edex.database.plugin.PluginDao;
|
import com.raytheon.uf.edex.database.plugin.PluginDao;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CompositeProductGenerator
|
* CompositeProductGenerator
|
||||||
|
@ -57,7 +57,8 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* 02/07/2009 1981 dhladky Initial Creation.
|
* 02/07/2009 1981 dhladky Initial Creation.
|
||||||
* 30NOV2012 1372 dhladky Added statistics
|
* 30NOV2012 1372 dhladky Added statistics.
|
||||||
|
* 02/05/2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -107,8 +108,6 @@ public abstract class CompositeProductGenerator implements
|
||||||
|
|
||||||
protected String routeId = null;
|
protected String routeId = null;
|
||||||
|
|
||||||
protected static final EventBus eventBus = EventBus.getInstance();
|
|
||||||
|
|
||||||
public CompositeProductGenerator(String name, String compositeProductType) {
|
public CompositeProductGenerator(String name, String compositeProductType) {
|
||||||
this(name, compositeProductType, null);
|
this(name, compositeProductType, null);
|
||||||
}
|
}
|
||||||
|
@ -463,7 +462,7 @@ public abstract class CompositeProductGenerator implements
|
||||||
// error occurred and statement logged incorrectly
|
// error occurred and statement logged incorrectly
|
||||||
if ((processEvent.getProcessingLatency() > 0)
|
if ((processEvent.getProcessingLatency() > 0)
|
||||||
&& (processEvent.getProcessingTime() > 0)) {
|
&& (processEvent.getProcessingTime() > 0)) {
|
||||||
eventBus.publish(processEvent);
|
EventBus.publish(processEvent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,6 +41,7 @@ import com.raytheon.uf.common.datadelivery.registry.Network;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.Time;
|
import com.raytheon.uf.common.datadelivery.registry.Time;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.registry.event.InsertRegistryEvent;
|
import com.raytheon.uf.common.registry.event.InsertRegistryEvent;
|
||||||
import com.raytheon.uf.common.registry.event.RemoveRegistryEvent;
|
import com.raytheon.uf.common.registry.event.RemoveRegistryEvent;
|
||||||
import com.raytheon.uf.common.registry.handler.IRegistryObjectHandler;
|
import com.raytheon.uf.common.registry.handler.IRegistryObjectHandler;
|
||||||
|
@ -76,7 +77,6 @@ import com.raytheon.uf.edex.datadelivery.bandwidth.retrieval.RetrievalStatus;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.retrieval.SubscriptionRetrievalFulfilled;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.retrieval.SubscriptionRetrievalFulfilled;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.util.BandwidthDaoUtil;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.util.BandwidthDaoUtil;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.util.BandwidthUtil;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.util.BandwidthUtil;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract {@link IBandwidthManager} implementation which provides core
|
* Abstract {@link IBandwidthManager} implementation which provides core
|
||||||
|
@ -99,6 +99,7 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* Jan 25, 2013 1528 djohnson Compare priorities as primitive ints.
|
* Jan 25, 2013 1528 djohnson Compare priorities as primitive ints.
|
||||||
* Jan 28, 2013 1530 djohnson Unschedule all allocations for a subscription that does not fully schedule.
|
* Jan 28, 2013 1530 djohnson Unschedule all allocations for a subscription that does not fully schedule.
|
||||||
* Jan 30, 2013 1501 djohnson Fix broken calculations for determining required latency.
|
* Jan 30, 2013 1501 djohnson Fix broken calculations for determining required latency.
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author dhladky
|
* @author dhladky
|
||||||
|
@ -137,7 +138,7 @@ abstract class BandwidthManager extends
|
||||||
this.retrievalManager = retrievalManager;
|
this.retrievalManager = retrievalManager;
|
||||||
this.bandwidthDaoUtil = bandwidthDaoUtil;
|
this.bandwidthDaoUtil = bandwidthDaoUtil;
|
||||||
|
|
||||||
EventBus.getInstance().register(this);
|
EventBus.register(this);
|
||||||
BandwidthEventBus.register(this);
|
BandwidthEventBus.register(this);
|
||||||
|
|
||||||
// Start a MaintenanceTask
|
// Start a MaintenanceTask
|
||||||
|
@ -1520,7 +1521,7 @@ abstract class BandwidthManager extends
|
||||||
*/
|
*/
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void shutdown() {
|
void shutdown() {
|
||||||
EventBus.getInstance().unregister(this);
|
EventBus.unregister(this);
|
||||||
BandwidthEventBus.unregister(this);
|
BandwidthEventBus.unregister(this);
|
||||||
retrievalManager.shutdown();
|
retrievalManager.shutdown();
|
||||||
scheduler.shutdownNow();
|
scheduler.shutdownNow();
|
||||||
|
|
|
@ -8,6 +8,7 @@ import java.util.TreeMap;
|
||||||
|
|
||||||
import com.google.common.eventbus.Subscribe;
|
import com.google.common.eventbus.Subscribe;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.Network;
|
import com.raytheon.uf.common.datadelivery.registry.Network;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.time.util.TimeUtil;
|
import com.raytheon.uf.common.time.util.TimeUtil;
|
||||||
|
@ -16,7 +17,6 @@ import com.raytheon.uf.edex.datadelivery.bandwidth.dao.IBandwidthDao;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.SubscriptionRetrieval;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.SubscriptionRetrieval;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.notification.BandwidthEventBus;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.notification.BandwidthEventBus;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.RetrievalManagerNotifyEvent;
|
import com.raytheon.uf.edex.datadelivery.retrieval.RetrievalManagerNotifyEvent;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -31,6 +31,7 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* Oct 11, 2012 0726 djohnson Add SW history, check for bandwidth enabled,
|
* Oct 11, 2012 0726 djohnson Add SW history, check for bandwidth enabled,
|
||||||
* change the event listener type.
|
* change the event listener type.
|
||||||
* Oct 26, 2012 1286 djohnson Return list of unscheduled allocations.
|
* Oct 26, 2012 1286 djohnson Return list of unscheduled allocations.
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -59,7 +60,7 @@ public class RetrievalManager {
|
||||||
this.bandwidthDao = bandwidthDao;
|
this.bandwidthDao = bandwidthDao;
|
||||||
this.notifier = notifier;
|
this.notifier = notifier;
|
||||||
|
|
||||||
EventBus.getInstance().register(this);
|
EventBus.register(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<Network, RetrievalPlan> getRetrievalPlans() {
|
public Map<Network, RetrievalPlan> getRetrievalPlans() {
|
||||||
|
@ -207,7 +208,7 @@ public class RetrievalManager {
|
||||||
* Shutdown the retrieval manager.
|
* Shutdown the retrieval manager.
|
||||||
*/
|
*/
|
||||||
public void shutdown() {
|
public void shutdown() {
|
||||||
EventBus.getInstance().unregister(this);
|
EventBus.unregister(this);
|
||||||
// From this point forward, only return a poison pill for this retrieval
|
// From this point forward, only return a poison pill for this retrieval
|
||||||
// manager, which will cause threads attempting to receive bandwidth
|
// manager, which will cause threads attempting to receive bandwidth
|
||||||
// allocations to die
|
// allocations to die
|
||||||
|
|
|
@ -14,6 +14,7 @@ import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.SubscriptionBundle;
|
import com.raytheon.uf.common.datadelivery.registry.SubscriptionBundle;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
||||||
import com.raytheon.uf.common.datadelivery.retrieval.xml.Retrieval;
|
import com.raytheon.uf.common.datadelivery.retrieval.xml.Retrieval;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.registry.handler.RegistryHandlerException;
|
import com.raytheon.uf.common.registry.handler.RegistryHandlerException;
|
||||||
import com.raytheon.uf.common.serialization.SerializationException;
|
import com.raytheon.uf.common.serialization.SerializationException;
|
||||||
import com.raytheon.uf.common.serialization.SerializationUtil;
|
import com.raytheon.uf.common.serialization.SerializationUtil;
|
||||||
|
@ -32,7 +33,6 @@ import com.raytheon.uf.edex.datadelivery.retrieval.RetrievalManagerNotifyEvent;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.ServiceTypeFactory;
|
import com.raytheon.uf.edex.datadelivery.retrieval.ServiceTypeFactory;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalDao;
|
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalDao;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord;
|
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class used to process SubscriptionRetrieval BandwidthAllocations.
|
* Class used to process SubscriptionRetrieval BandwidthAllocations.
|
||||||
|
@ -46,6 +46,7 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* Oct 10, 2012 0726 djohnson Add generics, constants, defaultPriority.
|
* Oct 10, 2012 0726 djohnson Add generics, constants, defaultPriority.
|
||||||
* Nov 26, 2012 dhladky Override default ingest routes based on plugin
|
* Nov 26, 2012 dhladky Override default ingest routes based on plugin
|
||||||
* Jan 30, 2013 1543 djohnson Should not implement IRetrievalHandler.
|
* Jan 30, 2013 1543 djohnson Should not implement IRetrievalHandler.
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -114,7 +115,7 @@ public class SubscriptionRetrievalAgent extends
|
||||||
// retrievals were generated we have to send it manually
|
// retrievals were generated we have to send it manually
|
||||||
RetrievalManagerNotifyEvent retrievalManagerNotifyEvent = new RetrievalManagerNotifyEvent();
|
RetrievalManagerNotifyEvent retrievalManagerNotifyEvent = new RetrievalManagerNotifyEvent();
|
||||||
retrievalManagerNotifyEvent.setId(Long.toString(retrieval.getId()));
|
retrievalManagerNotifyEvent.setId(Long.toString(retrieval.getId()));
|
||||||
EventBus.getInstance().publish(retrievalManagerNotifyEvent);
|
EventBus.publish(retrievalManagerNotifyEvent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,8 @@ import com.google.common.eventbus.AllowConcurrentEvents;
|
||||||
import com.google.common.eventbus.Subscribe;
|
import com.google.common.eventbus.Subscribe;
|
||||||
import com.raytheon.uf.common.datadelivery.event.INotifiableEvent;
|
import com.raytheon.uf.common.datadelivery.event.INotifiableEvent;
|
||||||
import com.raytheon.uf.common.datadelivery.event.notification.NotificationRecord;
|
import com.raytheon.uf.common.datadelivery.event.notification.NotificationRecord;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.registry.event.RemoveRegistryEvent;
|
import com.raytheon.uf.common.registry.event.RemoveRegistryEvent;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -25,6 +25,7 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* Jul 06, 2012 740 djohnson Fix bug that assumes {@link RemoveRegistryEvent}s will only be received by
|
* Jul 06, 2012 740 djohnson Fix bug that assumes {@link RemoveRegistryEvent}s will only be received by
|
||||||
* the method with it as a parameter (i.e. superclass parameter methods receive it too).
|
* the method with it as a parameter (i.e. superclass parameter methods receive it too).
|
||||||
* Dec 07, 2012 1104 djohnson Changed to use INotifiableEvent for events with notifications.
|
* Dec 07, 2012 1104 djohnson Changed to use INotifiableEvent for events with notifications.
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -33,8 +34,6 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
*/
|
*/
|
||||||
public class NotificationHandler extends AbstractHandler {
|
public class NotificationHandler extends AbstractHandler {
|
||||||
|
|
||||||
private static EventBus eventBus = EventBus.getInstance();
|
|
||||||
|
|
||||||
private String endpoint;
|
private String endpoint;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -42,7 +41,7 @@ public class NotificationHandler extends AbstractHandler {
|
||||||
* DataDeliveryEventBus
|
* DataDeliveryEventBus
|
||||||
*/
|
*/
|
||||||
public NotificationHandler() {
|
public NotificationHandler() {
|
||||||
eventBus.register(this);
|
EventBus.register(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -51,7 +50,7 @@ public class NotificationHandler extends AbstractHandler {
|
||||||
*/
|
*/
|
||||||
public NotificationHandler(String endpoint) {
|
public NotificationHandler(String endpoint) {
|
||||||
this.endpoint = endpoint;
|
this.endpoint = endpoint;
|
||||||
eventBus.register(this);
|
EventBus.register(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -17,6 +17,7 @@ import com.raytheon.uf.common.datadelivery.registry.Provider;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.Utils;
|
import com.raytheon.uf.common.datadelivery.registry.Utils;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.handlers.IProviderHandler;
|
import com.raytheon.uf.common.datadelivery.registry.handlers.IProviderHandler;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.localization.IPathManager;
|
import com.raytheon.uf.common.localization.IPathManager;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext;
|
import com.raytheon.uf.common.localization.LocalizationContext;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
||||||
|
@ -43,7 +44,6 @@ import com.raytheon.uf.edex.datadelivery.retrieval.LinkStore;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.ProviderCollectionLinkStore;
|
import com.raytheon.uf.edex.datadelivery.retrieval.ProviderCollectionLinkStore;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.ServiceFactory;
|
import com.raytheon.uf.edex.datadelivery.retrieval.ServiceFactory;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.ServiceTypeFactory;
|
import com.raytheon.uf.edex.datadelivery.retrieval.ServiceTypeFactory;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Harvest MetaData
|
* Harvest MetaData
|
||||||
|
@ -60,6 +60,7 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* Sept 12,2012 1038 dhladky Reconfigured config.
|
* Sept 12,2012 1038 dhladky Reconfigured config.
|
||||||
* Oct 03, 2012 1241 djohnson Use registry handler.
|
* Oct 03, 2012 1241 djohnson Use registry handler.
|
||||||
* Nov 09, 2012 1263 dhladky Changed to Site Level
|
* Nov 09, 2012 1263 dhladky Changed to Site Level
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -209,8 +210,7 @@ public class CrawlMetaDataHandler {
|
||||||
List<Throwable> errors = communicationStrategy.getErrors();
|
List<Throwable> errors = communicationStrategy.getErrors();
|
||||||
|
|
||||||
for (Throwable throwable : errors) {
|
for (Throwable throwable : errors) {
|
||||||
EventBus.getInstance().publish(
|
EventBus.publish(new HarvesterEvent(throwable.getMessage()));
|
||||||
new HarvesterEvent(throwable.getMessage()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,10 +27,10 @@ import com.raytheon.uf.common.datadelivery.retrieval.util.DataSizeUtils;
|
||||||
import com.raytheon.uf.common.datadelivery.retrieval.xml.Retrieval;
|
import com.raytheon.uf.common.datadelivery.retrieval.xml.Retrieval;
|
||||||
import com.raytheon.uf.common.datadelivery.retrieval.xml.RetrievalAttribute;
|
import com.raytheon.uf.common.datadelivery.retrieval.xml.RetrievalAttribute;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord;
|
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Performs processing on the retrieved plugin data objects, and then sends an
|
* Performs processing on the retrieved plugin data objects, and then sends an
|
||||||
|
@ -43,6 +43,7 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Feb 01, 2013 1543 djohnson Initial creation
|
* Feb 01, 2013 1543 djohnson Initial creation
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -55,8 +56,6 @@ public class NotifyOfPluginDataObjectsDecorator implements
|
||||||
private static final IUFStatusHandler statusHandler = UFStatus
|
private static final IUFStatusHandler statusHandler = UFStatus
|
||||||
.getHandler(NotifyOfPluginDataObjectsDecorator.class);
|
.getHandler(NotifyOfPluginDataObjectsDecorator.class);
|
||||||
|
|
||||||
private static final EventBus EVENT_BUS = EventBus.getInstance();
|
|
||||||
|
|
||||||
private final IRetrievalPluginDataObjectsProcessor retrievedDataProcessor;
|
private final IRetrievalPluginDataObjectsProcessor retrievedDataProcessor;
|
||||||
|
|
||||||
public NotifyOfPluginDataObjectsDecorator(
|
public NotifyOfPluginDataObjectsDecorator(
|
||||||
|
@ -103,7 +102,7 @@ public class NotifyOfPluginDataObjectsDecorator implements
|
||||||
event.setNumRecords(value.length);
|
event.setNumRecords(value.length);
|
||||||
event.setBytes(DataSizeUtils.calculateSize(attXML, serviceType));
|
event.setBytes(DataSizeUtils.calculateSize(attXML, serviceType));
|
||||||
|
|
||||||
EVENT_BUS.publish(event);
|
EventBus.publish(event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@ import com.raytheon.uf.common.datadelivery.registry.Network;
|
||||||
import com.raytheon.uf.common.datadelivery.retrieval.xml.Retrieval;
|
import com.raytheon.uf.common.datadelivery.retrieval.xml.Retrieval;
|
||||||
import com.raytheon.uf.common.datadelivery.retrieval.xml.Retrieval.SubscriptionType;
|
import com.raytheon.uf.common.datadelivery.retrieval.xml.Retrieval.SubscriptionType;
|
||||||
import com.raytheon.uf.common.datadelivery.retrieval.xml.RetrievalAttribute;
|
import com.raytheon.uf.common.datadelivery.retrieval.xml.RetrievalAttribute;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.serialization.SerializationException;
|
import com.raytheon.uf.common.serialization.SerializationException;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
|
@ -26,7 +27,6 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.RetrievalManagerNotifyEvent;
|
import com.raytheon.uf.edex.datadelivery.retrieval.RetrievalManagerNotifyEvent;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalDao;
|
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalDao;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord;
|
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -41,6 +41,7 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* Aug 9, 2012 1022 djohnson No longer extends Thread, simplify {@link SubscriptionDelay}.
|
* Aug 9, 2012 1022 djohnson No longer extends Thread, simplify {@link SubscriptionDelay}.
|
||||||
* Oct 10, 2012 0726 djohnson Use the subRetrievalKey for notifying the retrieval manager.
|
* Oct 10, 2012 0726 djohnson Use the subRetrievalKey for notifying the retrieval manager.
|
||||||
* Nov 25, 2012 1268 dhladky Added additional fields to process subscription tracking
|
* Nov 25, 2012 1268 dhladky Added additional fields to process subscription tracking
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -70,8 +71,7 @@ public class SubscriptionNotifyTask implements Runnable {
|
||||||
|
|
||||||
SubscriptionDelay(String subName, String owner, String plugin,
|
SubscriptionDelay(String subName, String owner, String plugin,
|
||||||
SubscriptionType subscriptionType, Network network,
|
SubscriptionType subscriptionType, Network network,
|
||||||
String provider,
|
String provider, Long subRetrievalKey, long delayedUntilMillis) {
|
||||||
Long subRetrievalKey, long delayedUntilMillis) {
|
|
||||||
this.subName = subName;
|
this.subName = subName;
|
||||||
this.owner = owner;
|
this.owner = owner;
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
|
@ -172,8 +172,6 @@ public class SubscriptionNotifyTask implements Runnable {
|
||||||
private static final IUFStatusHandler statusHandler = UFStatus
|
private static final IUFStatusHandler statusHandler = UFStatus
|
||||||
.getHandler(SubscriptionNotifyTask.class);
|
.getHandler(SubscriptionNotifyTask.class);
|
||||||
|
|
||||||
private static final EventBus eventBus = EventBus.getInstance();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a SubscriptionDelay delayed for 11 seconds.
|
* Creates a SubscriptionDelay delayed for 11 seconds.
|
||||||
*
|
*
|
||||||
|
@ -189,10 +187,9 @@ public class SubscriptionNotifyTask implements Runnable {
|
||||||
// 11 seconds from start time
|
// 11 seconds from start time
|
||||||
return new SubscriptionDelay(record.getId().getSubscriptionName(),
|
return new SubscriptionDelay(record.getId().getSubscriptionName(),
|
||||||
record.getOwner(), record.getPlugin(),
|
record.getOwner(), record.getPlugin(),
|
||||||
record
|
record.getSubscriptionType(), record.getNetwork(),
|
||||||
.getSubscriptionType(), record.getNetwork(),
|
record.getProvider(), record.getSubRetrievalKey(),
|
||||||
record.getProvider(),
|
startTime + 11000);
|
||||||
record.getSubRetrievalKey(), startTime + 11000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// set written to by other threads
|
// set written to by other threads
|
||||||
|
@ -317,8 +314,8 @@ public class SubscriptionNotifyTask implements Runnable {
|
||||||
} else {
|
} else {
|
||||||
event.setNumFailed(numFailed);
|
event.setNumFailed(numFailed);
|
||||||
}
|
}
|
||||||
eventBus.publish(event);
|
EventBus.publish(event);
|
||||||
eventBus.publish(retrievalManagerNotifyEvent);
|
EventBus.publish(retrievalManagerNotifyEvent);
|
||||||
dao.removeSubscription(subToCheck.subName);
|
dao.removeSubscription(subToCheck.subName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ import java.util.HashMap;
|
||||||
|
|
||||||
import com.raytheon.uf.common.datadelivery.retrieval.xml.RetrievalAttribute;
|
import com.raytheon.uf.common.datadelivery.retrieval.xml.RetrievalAttribute;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
|
@ -34,7 +35,6 @@ import com.raytheon.uf.edex.datadelivery.retrieval.interfaces.IRetrievalResponse
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.response.OpenDAPTranslator;
|
import com.raytheon.uf.edex.datadelivery.retrieval.response.OpenDAPTranslator;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.response.RetrievalResponse;
|
import com.raytheon.uf.edex.datadelivery.retrieval.response.RetrievalResponse;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.util.ConnectionUtil;
|
import com.raytheon.uf.edex.datadelivery.retrieval.util.ConnectionUtil;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
import dods.dap.DConnect;
|
import dods.dap.DConnect;
|
||||||
import dods.dap.DataDDS;
|
import dods.dap.DataDDS;
|
||||||
|
@ -50,6 +50,7 @@ import dods.dap.DataDDS;
|
||||||
* Jan 07, 2011 dhladky Initial creation
|
* Jan 07, 2011 dhladky Initial creation
|
||||||
* Jun 28, 2012 819 djohnson Use utility class for DConnect.
|
* Jun 28, 2012 819 djohnson Use utility class for DConnect.
|
||||||
* Jul 25, 2012 955 djohnson Make package-private.
|
* Jul 25, 2012 955 djohnson Make package-private.
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -63,8 +64,7 @@ class OpenDAPRetrievalAdapter extends RetrievalAdapter {
|
||||||
.getHandler(OpenDAPRetrievalAdapter.class);
|
.getHandler(OpenDAPRetrievalAdapter.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OpenDAPRequestBuilder createRequestMessage(
|
public OpenDAPRequestBuilder createRequestMessage(RetrievalAttribute attXML) {
|
||||||
RetrievalAttribute attXML) {
|
|
||||||
|
|
||||||
OpenDAPRequestBuilder reqBuilder = new OpenDAPRequestBuilder(this,
|
OpenDAPRequestBuilder reqBuilder = new OpenDAPRequestBuilder(this,
|
||||||
attXML);
|
attXML);
|
||||||
|
@ -82,7 +82,7 @@ class OpenDAPRetrievalAdapter extends RetrievalAdapter {
|
||||||
data = connect.getData(null);
|
data = connect.getData(null);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
statusHandler.handle(Priority.ERROR, e.getLocalizedMessage(), e);
|
statusHandler.handle(Priority.ERROR, e.getLocalizedMessage(), e);
|
||||||
EventBus.getInstance().publish(new RetrievalEvent(e.getMessage()));
|
EventBus.publish(new RetrievalEvent(e.getMessage()));
|
||||||
}
|
}
|
||||||
|
|
||||||
RetrievalResponse pr = new RetrievalResponse(request.getAttribute());
|
RetrievalResponse pr = new RetrievalResponse(request.getAttribute());
|
||||||
|
@ -90,6 +90,7 @@ class OpenDAPRetrievalAdapter extends RetrievalAdapter {
|
||||||
|
|
||||||
return pr;
|
return pr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HashMap<String, PluginDataObject[]> processResponse(
|
public HashMap<String, PluginDataObject[]> processResponse(
|
||||||
IRetrievalResponse response) throws TranslationException {
|
IRetrievalResponse response) throws TranslationException {
|
||||||
|
@ -103,23 +104,21 @@ class OpenDAPRetrievalAdapter extends RetrievalAdapter {
|
||||||
"Unable to instantiate a required class!", e);
|
"Unable to instantiate a required class!", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (response.getPayLoad() != null
|
if (response.getPayLoad() != null && response.getPayLoad().length > 0) {
|
||||||
&& response.getPayLoad().length > 0) {
|
for (Object obj : response.getPayLoad()) {
|
||||||
for (Object obj : response.getPayLoad()) {
|
PluginDataObject[] pdos = null;
|
||||||
PluginDataObject[] pdos = null;
|
|
||||||
|
|
||||||
if (obj instanceof DataDDS) {
|
if (obj instanceof DataDDS) {
|
||||||
pdos = translator.asPluginDataObjects((DataDDS) obj);
|
pdos = translator.asPluginDataObjects((DataDDS) obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pdos != null && pdos.length > 0) {
|
if (pdos != null && pdos.length > 0) {
|
||||||
String pluginName = pdos[0].getPluginName();
|
String pluginName = pdos[0].getPluginName();
|
||||||
// TODO Need to check if pluginName already exists
|
// TODO Need to check if pluginName already exists
|
||||||
map.put(pluginName, pdos);
|
map.put(pluginName, pdos);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,9 +21,9 @@ package com.raytheon.uf.edex.datadelivery.service.verify;
|
||||||
|
|
||||||
import com.raytheon.uf.common.datadelivery.event.INotifiableEvent;
|
import com.raytheon.uf.common.datadelivery.event.INotifiableEvent;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.edex.datadelivery.service.verify.SubscriptionIntegrityVerifier.IVerificationAction;
|
import com.raytheon.uf.edex.datadelivery.service.verify.SubscriptionIntegrityVerifier.IVerificationAction;
|
||||||
import com.raytheon.uf.edex.datadelivery.service.verify.SubscriptionIntegrityVerifier.IVerificationResponse;
|
import com.raytheon.uf.edex.datadelivery.service.verify.SubscriptionIntegrityVerifier.IVerificationResponse;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of {@link IVerificationAction} that sends an
|
* Implementation of {@link IVerificationAction} that sends an
|
||||||
|
@ -37,14 +37,14 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Dec 07, 2012 1104 djohnson Initial creation
|
* Dec 07, 2012 1104 djohnson Initial creation
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author djohnson
|
* @author djohnson
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
class NotifyFailedVerification implements
|
class NotifyFailedVerification implements IVerificationAction {
|
||||||
IVerificationAction {
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
|
@ -52,9 +52,8 @@ class NotifyFailedVerification implements
|
||||||
@Override
|
@Override
|
||||||
public void verificationPerformed(Subscription subscription,
|
public void verificationPerformed(Subscription subscription,
|
||||||
IVerificationResponse response) {
|
IVerificationResponse response) {
|
||||||
EventBus.getInstance().publish(
|
EventBus.publish(new SubscriptionVerificationFailedEvent(subscription,
|
||||||
new SubscriptionVerificationFailedEvent(subscription, response
|
response.getNotificationMessage()));
|
||||||
.getNotificationMessage()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,12 +28,12 @@ import com.raytheon.uf.common.datadelivery.registry.DataDeliveryRegistryObjectTy
|
||||||
import com.raytheon.uf.common.datadelivery.registry.DataSet;
|
import com.raytheon.uf.common.datadelivery.registry.DataSet;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.registry.event.InsertRegistryEvent;
|
import com.raytheon.uf.common.registry.event.InsertRegistryEvent;
|
||||||
import com.raytheon.uf.common.registry.handler.RegistryHandlerException;
|
import com.raytheon.uf.common.registry.handler.RegistryHandlerException;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Performs subscription integrity verification.
|
* Performs subscription integrity verification.
|
||||||
|
@ -45,6 +45,7 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Dec 7, 2012 1104 djohnson Initial creation
|
* Dec 7, 2012 1104 djohnson Initial creation
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -155,7 +156,7 @@ public class SubscriptionIntegrityVerifier {
|
||||||
verificationStrategy, successfulVerificationActions,
|
verificationStrategy, successfulVerificationActions,
|
||||||
failedVerificationActions);
|
failedVerificationActions);
|
||||||
|
|
||||||
EventBus.getInstance().register(verifier);
|
EventBus.register(verifier);
|
||||||
|
|
||||||
return verifier;
|
return verifier;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,11 +29,11 @@ import org.apache.camel.Header;
|
||||||
import org.apache.camel.Headers;
|
import org.apache.camel.Headers;
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.stats.ProcessEvent;
|
import com.raytheon.uf.common.stats.ProcessEvent;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides logging and deletion services for camel
|
* Provides logging and deletion services for camel
|
||||||
|
@ -44,6 +44,7 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Dec 1, 2008 chammack Initial creation
|
* Dec 1, 2008 chammack Initial creation
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -55,8 +56,6 @@ public class ProcessUtil {
|
||||||
protected static final IUFStatusHandler handler = UFStatus
|
protected static final IUFStatusHandler handler = UFStatus
|
||||||
.getNamedHandler("Ingest");
|
.getNamedHandler("Ingest");
|
||||||
|
|
||||||
protected static final EventBus eventBus = EventBus.getInstance();
|
|
||||||
|
|
||||||
protected transient final static ThreadLocal<DecimalFormat> FORMAT = new ThreadLocal<DecimalFormat>() {
|
protected transient final static ThreadLocal<DecimalFormat> FORMAT = new ThreadLocal<DecimalFormat>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -166,7 +165,7 @@ public class ProcessUtil {
|
||||||
// error occurred and statement logged incorrectly
|
// error occurred and statement logged incorrectly
|
||||||
if ((processEvent.getProcessingLatency() > 0)
|
if ((processEvent.getProcessingLatency() > 0)
|
||||||
&& (processEvent.getProcessingTime() > 0)) {
|
&& (processEvent.getProcessingTime() > 0)) {
|
||||||
eventBus.publish(processEvent);
|
EventBus.publish(processEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure we have something to log.
|
// Make sure we have something to log.
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
com.raytheon.uf.edex.event.EdexEventBusHandler
|
|
@ -6,4 +6,6 @@
|
||||||
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||||
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
||||||
<bean id="logHandler" class="com.raytheon.uf.edex.event.handler.LogHandler"/>
|
<bean id="logHandler" class="com.raytheon.uf.edex.event.handler.LogHandler"/>
|
||||||
|
|
||||||
|
<bean id="statsPublishHandler" class="com.raytheon.uf.edex.event.handler.StatsHandler"/>
|
||||||
</beans>
|
</beans>
|
|
@ -0,0 +1,86 @@
|
||||||
|
/**
|
||||||
|
* This software was developed and / or modified by Raytheon Company,
|
||||||
|
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||||
|
*
|
||||||
|
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||||
|
* This software product contains export-restricted data whose
|
||||||
|
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||||
|
* to non-U.S. persons whether in the United States or abroad requires
|
||||||
|
* an export license or other authorization.
|
||||||
|
*
|
||||||
|
* Contractor Name: Raytheon Company
|
||||||
|
* Contractor Address: 6825 Pine Street, Suite 340
|
||||||
|
* Mail Stop B8
|
||||||
|
* Omaha, NE 68106
|
||||||
|
* 402.291.0100
|
||||||
|
*
|
||||||
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
|
* further licensing information.
|
||||||
|
**/
|
||||||
|
package com.raytheon.uf.edex.event;
|
||||||
|
|
||||||
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
import com.raytheon.uf.common.event.Event;
|
||||||
|
import com.raytheon.uf.common.event.IEventBusHandler;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* EDEX implementation of {@link IEventBusHandler}
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* Feb 5, 2013 1580 mpduff Initial creation.
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author mpduff
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class EdexEventBusHandler implements IEventBusHandler {
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
EdexEventBusHandler(GoogleEventBusFactory eventBusFactory) {
|
||||||
|
this.googleEventBus = eventBusFactory.getEventBus();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The actual Google EventBus being wrapped.
|
||||||
|
*/
|
||||||
|
private final com.google.common.eventbus.EventBus googleEventBus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor.
|
||||||
|
*/
|
||||||
|
public EdexEventBusHandler() {
|
||||||
|
this(new AsynchronousEventBusFactory());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void publish(Event event) {
|
||||||
|
this.googleEventBus.post(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void register(Object subscriber) {
|
||||||
|
this.googleEventBus.register(subscriber);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void unregister(Object subscriber) {
|
||||||
|
this.googleEventBus.unregister(subscriber);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,94 +0,0 @@
|
||||||
package com.raytheon.uf.edex.event;
|
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
|
||||||
import com.raytheon.uf.common.event.Event;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* The EventBus.
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
*
|
|
||||||
* SOFTWARE HISTORY
|
|
||||||
*
|
|
||||||
* Date Ticket# Engineer Description
|
|
||||||
* ------------ ---------- ----------- --------------------------
|
|
||||||
* Oct 11, 2012 1261 djohnson Add SW history, create constants for fields,
|
|
||||||
* add unregister.
|
|
||||||
* Dec 11, 2012 1407 djohnson Separate the creation of the Google EventBus from the wrapper class.
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @author djohnson
|
|
||||||
* @version 1.0
|
|
||||||
*/
|
|
||||||
public class EventBus {
|
|
||||||
|
|
||||||
@VisibleForTesting
|
|
||||||
static GoogleEventBusFactory eventBusFactory = new AsynchronousEventBusFactory();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Holder class which allows safe, concurrent, and on-demand creation of the
|
|
||||||
* EventBus. It also enforces the singleton contract.
|
|
||||||
*/
|
|
||||||
private static class EventBusHolder {
|
|
||||||
private static com.google.common.eventbus.EventBus eventBus = eventBusFactory
|
|
||||||
.getEventBus();
|
|
||||||
|
|
||||||
private static final EventBus instance = new EventBus(eventBus);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the singleton instance of the data delivery event bus
|
|
||||||
*
|
|
||||||
* @return the singleton instance
|
|
||||||
*/
|
|
||||||
public static EventBus getInstance() {
|
|
||||||
return EventBusHolder.instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The actual Google EventBus being wrapped.
|
|
||||||
*/
|
|
||||||
private final com.google.common.eventbus.EventBus googleEventBus;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor that accepts a Google EventBus.
|
|
||||||
*
|
|
||||||
* @param eventBus
|
|
||||||
* the Google EventBus
|
|
||||||
*/
|
|
||||||
private EventBus(com.google.common.eventbus.EventBus eventBus) {
|
|
||||||
this.googleEventBus = eventBus;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register an object with the event bus.
|
|
||||||
*
|
|
||||||
* @param subscriber
|
|
||||||
* the subscriber to register
|
|
||||||
*/
|
|
||||||
public void register(Object subscriber) {
|
|
||||||
this.googleEventBus.register(subscriber);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Publishes events for all subscribers to receive
|
|
||||||
*
|
|
||||||
* @param event
|
|
||||||
* the event
|
|
||||||
*/
|
|
||||||
public void publish(Event event) {
|
|
||||||
this.googleEventBus.post(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Unregister an object with the event bus.
|
|
||||||
*
|
|
||||||
* @param subscriber
|
|
||||||
* the object subscribed to the event buss
|
|
||||||
*/
|
|
||||||
public void unregister(Object subscriber) {
|
|
||||||
this.googleEventBus.unregister(subscriber);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
/**
|
||||||
|
* This software was developed and / or modified by Raytheon Company,
|
||||||
|
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||||
|
*
|
||||||
|
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||||
|
* This software product contains export-restricted data whose
|
||||||
|
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||||
|
* to non-U.S. persons whether in the United States or abroad requires
|
||||||
|
* an export license or other authorization.
|
||||||
|
*
|
||||||
|
* Contractor Name: Raytheon Company
|
||||||
|
* Contractor Address: 6825 Pine Street, Suite 340
|
||||||
|
* Mail Stop B8
|
||||||
|
* Omaha, NE 68106
|
||||||
|
* 402.291.0100
|
||||||
|
*
|
||||||
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
|
* further licensing information.
|
||||||
|
**/
|
||||||
|
package com.raytheon.uf.edex.event.handler;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
|
import com.raytheon.uf.common.event.EventPublishRequest;
|
||||||
|
import com.raytheon.uf.common.serialization.comm.IRequestHandler;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stats handler bean.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* Feb 5, 2013 1580 mpduff Initial creation.
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author mpduffT
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class EventPublishHandler implements
|
||||||
|
IRequestHandler<EventPublishRequest> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object handleRequest(EventPublishRequest request) throws Exception {
|
||||||
|
EventBus.publish(request.getEvent());
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -6,7 +6,7 @@ import org.apache.commons.logging.LogFactory;
|
||||||
import com.google.common.eventbus.AllowConcurrentEvents;
|
import com.google.common.eventbus.AllowConcurrentEvents;
|
||||||
import com.google.common.eventbus.Subscribe;
|
import com.google.common.eventbus.Subscribe;
|
||||||
import com.raytheon.uf.common.event.Event;
|
import com.raytheon.uf.common.event.Event;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -20,6 +20,7 @@ import com.raytheon.uf.edex.event.EventBus;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Mar 1, 2012 jsanchez Initial creation
|
* Mar 1, 2012 jsanchez Initial creation
|
||||||
* Nov 5, 2012 #1305 bgonzale Added log level Event logging.
|
* Nov 5, 2012 #1305 bgonzale Added log level Event logging.
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -30,13 +31,11 @@ public class LogHandler {
|
||||||
|
|
||||||
private final Log logger;
|
private final Log logger;
|
||||||
|
|
||||||
private static EventBus eventBus = EventBus.getInstance();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new object
|
* Creates a new object
|
||||||
*/
|
*/
|
||||||
public LogHandler() {
|
public LogHandler() {
|
||||||
eventBus.register(this);
|
EventBus.register(this);
|
||||||
logger = LogFactory.getLog("Event");
|
logger = LogFactory.getLog("Event");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,10 +26,10 @@ import org.hibernate.HibernateException;
|
||||||
import org.hibernate.Transaction;
|
import org.hibernate.Transaction;
|
||||||
|
|
||||||
import com.raytheon.uf.common.event.Event;
|
import com.raytheon.uf.common.event.Event;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.util.session.SessionContext;
|
import com.raytheon.uf.common.util.session.SessionContext;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
import com.raytheon.uf.edex.registry.ebxml.dao.RegistryObjectTypeDao;
|
import com.raytheon.uf.edex.registry.ebxml.dao.RegistryObjectTypeDao;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -43,6 +43,7 @@ import com.raytheon.uf.edex.registry.ebxml.dao.RegistryObjectTypeDao;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Sep 26, 2012 1187 djohnson Moved in from {@link RegistrySessionManager}.
|
* Sep 26, 2012 1187 djohnson Moved in from {@link RegistrySessionManager}.
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -81,9 +82,8 @@ public class RegistrySessionContext implements SessionContext {
|
||||||
// Now that the Objects are persisted in the database, send
|
// Now that the Objects are persisted in the database, send
|
||||||
// the notifications to the other components that might be
|
// the notifications to the other components that might be
|
||||||
// looking for them.
|
// looking for them.
|
||||||
EventBus eventBus = EventBus.getInstance();
|
|
||||||
for (Event event : events) {
|
for (Event event : events) {
|
||||||
eventBus.publish(event);
|
EventBus.publish(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
statusHandler
|
statusHandler
|
||||||
|
@ -110,8 +110,7 @@ public class RegistrySessionContext implements SessionContext {
|
||||||
* @throws IllegalStateException
|
* @throws IllegalStateException
|
||||||
* If an attempt is made to add an event to an inactive Session.
|
* If an attempt is made to add an event to an inactive Session.
|
||||||
*/
|
*/
|
||||||
public void postEvent(Event event)
|
public void postEvent(Event event) throws IllegalStateException {
|
||||||
throws IllegalStateException {
|
|
||||||
if (!transaction.isActive()) {
|
if (!transaction.isActive()) {
|
||||||
throw new IllegalStateException(
|
throw new IllegalStateException(
|
||||||
"Attempt to add event to an inactive transaction.");
|
"Attempt to add event to an inactive transaction.");
|
||||||
|
|
|
@ -27,6 +27,7 @@ import java.util.Set;
|
||||||
import com.google.common.eventbus.AllowConcurrentEvents;
|
import com.google.common.eventbus.AllowConcurrentEvents;
|
||||||
import com.google.common.eventbus.Subscribe;
|
import com.google.common.eventbus.Subscribe;
|
||||||
import com.raytheon.uf.common.event.Event;
|
import com.raytheon.uf.common.event.Event;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.serialization.SerializationException;
|
import com.raytheon.uf.common.serialization.SerializationException;
|
||||||
import com.raytheon.uf.common.serialization.SerializationUtil;
|
import com.raytheon.uf.common.serialization.SerializationUtil;
|
||||||
import com.raytheon.uf.common.stats.StatsRecord;
|
import com.raytheon.uf.common.stats.StatsRecord;
|
||||||
|
@ -36,7 +37,6 @@ import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.edex.database.dao.CoreDao;
|
import com.raytheon.uf.edex.database.dao.CoreDao;
|
||||||
import com.raytheon.uf.edex.database.dao.DaoConfig;
|
import com.raytheon.uf.edex.database.dao.DaoConfig;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
import com.raytheon.uf.edex.stats.util.ConfigLoader;
|
import com.raytheon.uf.edex.stats.util.ConfigLoader;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -50,6 +50,7 @@ import com.raytheon.uf.edex.stats.util.ConfigLoader;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Aug 21, 2012 jsanchez Removed instance variable of event bus.
|
* Aug 21, 2012 jsanchez Removed instance variable of event bus.
|
||||||
* Nov 07, 2012 1317 mpduff Updated config files.
|
* Nov 07, 2012 1317 mpduff Updated config files.
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -85,7 +86,7 @@ public class StatsHandler {
|
||||||
*/
|
*/
|
||||||
public StatsHandler() throws Exception {
|
public StatsHandler() throws Exception {
|
||||||
loadEventValidTypes();
|
loadEventValidTypes();
|
||||||
EventBus.getInstance().register(this);
|
EventBus.register(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
com.raytheon.uf.edex.event.TestEventBusHandler
|
|
@ -22,7 +22,6 @@ package com.raytheon.uf.edex.datadelivery.bandwidth.notification;
|
||||||
import org.junit.Ignore;
|
import org.junit.Ignore;
|
||||||
|
|
||||||
import com.google.common.eventbus.EventBus;
|
import com.google.common.eventbus.EventBus;
|
||||||
import com.raytheon.uf.edex.event.EventBusTest;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test {@link BandwidthEventBus}.
|
* Test {@link BandwidthEventBus}.
|
||||||
|
@ -34,6 +33,7 @@ import com.raytheon.uf.edex.event.EventBusTest;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Dec 11, 2012 djohnson Initial creation
|
* Dec 11, 2012 djohnson Initial creation
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -48,8 +48,6 @@ public class BandwidthEventBusTest {
|
||||||
*/
|
*/
|
||||||
public static void initSynchronous() {
|
public static void initSynchronous() {
|
||||||
// Need the normal event bus synchronous as well
|
// Need the normal event bus synchronous as well
|
||||||
EventBusTest.initSynchronous();
|
|
||||||
|
|
||||||
BandwidthEventBus.eventBusFactory = new BandwidthEventBusFactory() {
|
BandwidthEventBus.eventBusFactory = new BandwidthEventBusFactory() {
|
||||||
@Override
|
@Override
|
||||||
public EventBus getSubscriptionBus() {
|
public EventBus getSubscriptionBus() {
|
||||||
|
|
|
@ -27,11 +27,9 @@ import java.util.Collections;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.junit.BeforeClass;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalDao;
|
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalDao;
|
||||||
import com.raytheon.uf.edex.event.EventBusTest;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test {@link RetrievalHandler}.
|
* Test {@link RetrievalHandler}.
|
||||||
|
@ -46,6 +44,7 @@ import com.raytheon.uf.edex.event.EventBusTest;
|
||||||
* Aug 09. 2012 1022 djohnson Changes to RetrievalHandler.
|
* Aug 09. 2012 1022 djohnson Changes to RetrievalHandler.
|
||||||
* Nov 19, 2012 1166 djohnson Clean up JAXB representation of registry objects.
|
* Nov 19, 2012 1166 djohnson Clean up JAXB representation of registry objects.
|
||||||
* Jan 30, 2013 1543 djohnson RetrievalTask now requires a Network.
|
* Jan 30, 2013 1543 djohnson RetrievalTask now requires a Network.
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -71,11 +70,6 @@ public class RetrievalHandlerTest {
|
||||||
executorService, mockDao, Arrays.asList(retrievalTask),
|
executorService, mockDao, Arrays.asList(retrievalTask),
|
||||||
subNotifyTask);
|
subNotifyTask);
|
||||||
|
|
||||||
@BeforeClass
|
|
||||||
public static void classSetUp() {
|
|
||||||
EventBusTest.initSynchronous();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAllRunningRetrievalsAreResetToPendingOnConstruction() {
|
public void testAllRunningRetrievalsAreResetToPendingOnConstruction() {
|
||||||
verify(mockDao).resetRunningRetrievalsToPending();
|
verify(mockDao).resetRunningRetrievalsToPending();
|
||||||
|
|
|
@ -30,13 +30,13 @@ import java.util.List;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.BeforeClass;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import com.google.common.eventbus.Subscribe;
|
import com.google.common.eventbus.Subscribe;
|
||||||
import com.raytheon.uf.common.datadelivery.event.retrieval.DataRetrievalEvent;
|
import com.raytheon.uf.common.datadelivery.event.retrieval.DataRetrievalEvent;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.Network;
|
import com.raytheon.uf.common.datadelivery.registry.Network;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.localization.PathManagerFactoryTest;
|
import com.raytheon.uf.common.localization.PathManagerFactoryTest;
|
||||||
import com.raytheon.uf.common.registry.handler.RegistryHandlerException;
|
import com.raytheon.uf.common.registry.handler.RegistryHandlerException;
|
||||||
import com.raytheon.uf.common.serialization.SerializationException;
|
import com.raytheon.uf.common.serialization.SerializationException;
|
||||||
|
@ -45,8 +45,6 @@ import com.raytheon.uf.edex.database.dao.DatabaseUtil;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalDao;
|
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalDao;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord;
|
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord;
|
||||||
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord.State;
|
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord.State;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
import com.raytheon.uf.edex.event.EventBusTest;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test {@link RetrievalTask}.
|
* Test {@link RetrievalTask}.
|
||||||
|
@ -103,11 +101,6 @@ public class RetrievalTaskTest {
|
||||||
|
|
||||||
private final List<DataRetrievalEvent> eventsReceived = new ArrayList<DataRetrievalEvent>();
|
private final List<DataRetrievalEvent> eventsReceived = new ArrayList<DataRetrievalEvent>();
|
||||||
|
|
||||||
@BeforeClass
|
|
||||||
public static void classSetUp() {
|
|
||||||
EventBusTest.initSynchronous();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws RegistryHandlerException {
|
public void setUp() throws RegistryHandlerException {
|
||||||
DatabaseUtil.start();
|
DatabaseUtil.start();
|
||||||
|
@ -118,7 +111,7 @@ public class RetrievalTaskTest {
|
||||||
|
|
||||||
dao = new RetrievalDao();
|
dao = new RetrievalDao();
|
||||||
|
|
||||||
EventBus.getInstance().register(this);
|
EventBus.register(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
|
|
|
@ -32,7 +32,6 @@ import java.util.List;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.BeforeClass;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import com.raytheon.uf.common.datadelivery.registry.DataDeliveryRegistryObjectTypes;
|
import com.raytheon.uf.common.datadelivery.registry.DataDeliveryRegistryObjectTypes;
|
||||||
|
@ -42,14 +41,13 @@ import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.SubscriptionFixture;
|
import com.raytheon.uf.common.datadelivery.registry.SubscriptionFixture;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.handlers.ISubscriptionHandler;
|
import com.raytheon.uf.common.datadelivery.registry.handlers.ISubscriptionHandler;
|
||||||
|
import com.raytheon.uf.common.event.EventBus;
|
||||||
import com.raytheon.uf.common.registry.event.InsertRegistryEvent;
|
import com.raytheon.uf.common.registry.event.InsertRegistryEvent;
|
||||||
import com.raytheon.uf.common.registry.handler.RegistryHandlerException;
|
import com.raytheon.uf.common.registry.handler.RegistryHandlerException;
|
||||||
import com.raytheon.uf.common.registry.handler.RegistryObjectHandlersUtil;
|
import com.raytheon.uf.common.registry.handler.RegistryObjectHandlersUtil;
|
||||||
import com.raytheon.uf.edex.datadelivery.service.verify.SubscriptionIntegrityVerifier.IVerificationAction;
|
import com.raytheon.uf.edex.datadelivery.service.verify.SubscriptionIntegrityVerifier.IVerificationAction;
|
||||||
import com.raytheon.uf.edex.datadelivery.service.verify.SubscriptionIntegrityVerifier.IVerificationResponse;
|
import com.raytheon.uf.edex.datadelivery.service.verify.SubscriptionIntegrityVerifier.IVerificationResponse;
|
||||||
import com.raytheon.uf.edex.datadelivery.service.verify.SubscriptionIntegrityVerifier.IVerificationStrategy;
|
import com.raytheon.uf.edex.datadelivery.service.verify.SubscriptionIntegrityVerifier.IVerificationStrategy;
|
||||||
import com.raytheon.uf.edex.event.EventBus;
|
|
||||||
import com.raytheon.uf.edex.event.EventBusTest;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test {@link SubscriptionIntegrityVerifier}.
|
* Test {@link SubscriptionIntegrityVerifier}.
|
||||||
|
@ -61,6 +59,7 @@ import com.raytheon.uf.edex.event.EventBusTest;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Dec 07, 2012 1104 djohnson Initial creation
|
* Dec 07, 2012 1104 djohnson Initial creation
|
||||||
|
* Feb 05, 2013 1580 mpduff EventBus refactor.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -101,13 +100,6 @@ public class SubscriptionIntegrityVerifierTest {
|
||||||
private final InsertRegistryEvent dataSetUpdateEvent = new InsertRegistryEvent(
|
private final InsertRegistryEvent dataSetUpdateEvent = new InsertRegistryEvent(
|
||||||
"someId", "someLid", DataDeliveryRegistryObjectTypes.DATASET);
|
"someId", "someLid", DataDeliveryRegistryObjectTypes.DATASET);
|
||||||
|
|
||||||
private final EventBus eventBus = EventBus.getInstance();
|
|
||||||
|
|
||||||
@BeforeClass
|
|
||||||
public static void classSetUp() {
|
|
||||||
EventBusTest.initSynchronous();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws RegistryHandlerException {
|
public void setUp() throws RegistryHandlerException {
|
||||||
whenRegistryEventIdLookedUpReturnDataSet();
|
whenRegistryEventIdLookedUpReturnDataSet();
|
||||||
|
@ -115,14 +107,14 @@ public class SubscriptionIntegrityVerifierTest {
|
||||||
|
|
||||||
@After
|
@After
|
||||||
public void tearDown() {
|
public void tearDown() {
|
||||||
eventBus.unregister(verifier);
|
EventBus.unregister(verifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSubscriptionsForDataSetAreRetrieved()
|
public void testSubscriptionsForDataSetAreRetrieved()
|
||||||
throws RegistryHandlerException {
|
throws RegistryHandlerException {
|
||||||
|
|
||||||
eventBus.publish(dataSetUpdateEvent);
|
EventBus.publish(dataSetUpdateEvent);
|
||||||
|
|
||||||
verifySubscriptionsAreRetrievedForDataSet();
|
verifySubscriptionsAreRetrievedForDataSet();
|
||||||
}
|
}
|
||||||
|
@ -135,7 +127,7 @@ public class SubscriptionIntegrityVerifierTest {
|
||||||
whenSubscriptionIsVerifiedItSucceeds(sub1);
|
whenSubscriptionIsVerifiedItSucceeds(sub1);
|
||||||
whenSubscriptionIsVerifiedItSucceeds(sub2);
|
whenSubscriptionIsVerifiedItSucceeds(sub2);
|
||||||
|
|
||||||
eventBus.publish(dataSetUpdateEvent);
|
EventBus.publish(dataSetUpdateEvent);
|
||||||
|
|
||||||
verifyEachSubscriptionIsVerifiedAgainstDataSet();
|
verifyEachSubscriptionIsVerifiedAgainstDataSet();
|
||||||
}
|
}
|
||||||
|
@ -149,7 +141,7 @@ public class SubscriptionIntegrityVerifierTest {
|
||||||
// sub2 is already invalid, should not be verified
|
// sub2 is already invalid, should not be verified
|
||||||
sub2.setValid(false);
|
sub2.setValid(false);
|
||||||
|
|
||||||
eventBus.publish(dataSetUpdateEvent);
|
EventBus.publish(dataSetUpdateEvent);
|
||||||
|
|
||||||
verifySubscriptionIsNotVerifiedAgainstDataSet(sub2);
|
verifySubscriptionIsNotVerifiedAgainstDataSet(sub2);
|
||||||
}
|
}
|
||||||
|
@ -162,7 +154,7 @@ public class SubscriptionIntegrityVerifierTest {
|
||||||
whenSubscriptionIsVerifiedItSucceeds(sub1);
|
whenSubscriptionIsVerifiedItSucceeds(sub1);
|
||||||
whenSubscriptionIsVerifiedItFails(sub2);
|
whenSubscriptionIsVerifiedItFails(sub2);
|
||||||
|
|
||||||
eventBus.publish(dataSetUpdateEvent);
|
EventBus.publish(dataSetUpdateEvent);
|
||||||
|
|
||||||
verifyFailedVerificationActionInvoked(sub2);
|
verifyFailedVerificationActionInvoked(sub2);
|
||||||
}
|
}
|
||||||
|
@ -174,8 +166,7 @@ public class SubscriptionIntegrityVerifierTest {
|
||||||
whenSubscriptionsAreRetrievedForDataSetReturnTwo();
|
whenSubscriptionsAreRetrievedForDataSetReturnTwo();
|
||||||
whenSubscriptionIsVerifiedItSucceeds(sub1);
|
whenSubscriptionIsVerifiedItSucceeds(sub1);
|
||||||
whenSubscriptionIsVerifiedItFails(sub2);
|
whenSubscriptionIsVerifiedItFails(sub2);
|
||||||
|
EventBus.publish(dataSetUpdateEvent);
|
||||||
eventBus.publish(dataSetUpdateEvent);
|
|
||||||
|
|
||||||
verifyFailedVerificationActionNotInvoked(sub1);
|
verifyFailedVerificationActionNotInvoked(sub1);
|
||||||
}
|
}
|
||||||
|
@ -188,7 +179,7 @@ public class SubscriptionIntegrityVerifierTest {
|
||||||
whenSubscriptionIsVerifiedItSucceeds(sub1);
|
whenSubscriptionIsVerifiedItSucceeds(sub1);
|
||||||
whenSubscriptionIsVerifiedItFails(sub2);
|
whenSubscriptionIsVerifiedItFails(sub2);
|
||||||
|
|
||||||
eventBus.publish(dataSetUpdateEvent);
|
EventBus.publish(dataSetUpdateEvent);
|
||||||
|
|
||||||
verifySuccessfulVerificationActionNotInvoked(sub2);
|
verifySuccessfulVerificationActionNotInvoked(sub2);
|
||||||
}
|
}
|
||||||
|
@ -201,7 +192,7 @@ public class SubscriptionIntegrityVerifierTest {
|
||||||
whenSubscriptionIsVerifiedItSucceeds(sub1);
|
whenSubscriptionIsVerifiedItSucceeds(sub1);
|
||||||
whenSubscriptionIsVerifiedItFails(sub2);
|
whenSubscriptionIsVerifiedItFails(sub2);
|
||||||
|
|
||||||
eventBus.publish(dataSetUpdateEvent);
|
EventBus.publish(dataSetUpdateEvent);
|
||||||
|
|
||||||
verifySuccessfulVerificationActionInvoked(sub1);
|
verifySuccessfulVerificationActionInvoked(sub1);
|
||||||
}
|
}
|
||||||
|
@ -212,7 +203,7 @@ public class SubscriptionIntegrityVerifierTest {
|
||||||
|
|
||||||
whenSubscriptionsAreRetrievedForDataSetThrowException();
|
whenSubscriptionsAreRetrievedForDataSetThrowException();
|
||||||
|
|
||||||
eventBus.publish(dataSetUpdateEvent);
|
EventBus.publish(dataSetUpdateEvent);
|
||||||
|
|
||||||
verifySuccessfulVerificationActionNotInvoked(sub1);
|
verifySuccessfulVerificationActionNotInvoked(sub1);
|
||||||
verifySuccessfulVerificationActionNotInvoked(sub2);
|
verifySuccessfulVerificationActionNotInvoked(sub2);
|
||||||
|
|
|
@ -19,10 +19,8 @@
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.edex.event;
|
package com.raytheon.uf.edex.event;
|
||||||
|
|
||||||
import org.junit.Ignore;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test {@link EventBus}.
|
* Test event bus handler.
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
*
|
*
|
||||||
|
@ -30,19 +28,15 @@ import org.junit.Ignore;
|
||||||
*
|
*
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Dec 10, 2012 1104 djohnson Initial creation
|
* Feb 5, 2013 1580 mpduff Initial creation
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author djohnson
|
* @author mpduff
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
@Ignore
|
|
||||||
public class EventBusTest {
|
|
||||||
|
|
||||||
/**
|
public class TestEventBusHandler extends EdexEventBusHandler {
|
||||||
* Creates a synchronous Google EventBus.
|
|
||||||
*/
|
|
||||||
private static class SynchronousEventBusFactory implements
|
private static class SynchronousEventBusFactory implements
|
||||||
GoogleEventBusFactory {
|
GoogleEventBusFactory {
|
||||||
@Override
|
@Override
|
||||||
|
@ -52,10 +46,7 @@ public class EventBusTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public TestEventBusHandler() {
|
||||||
* Overrides the {@link EventBus} instance to be a synchronous version, useful for unit testing.
|
super(new SynchronousEventBusFactory());
|
||||||
*/
|
|
||||||
public static void initSynchronous() {
|
|
||||||
EventBus.eventBusFactory = new SynchronousEventBusFactory();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue