EIDSProductReceiver.java
- /*
- * EIDSProductReceiver
- */
- package gov.usgs.earthquake.eids;
- import gov.usgs.earthquake.distribution.EIDSNotificationReceiver;
- import gov.usgs.earthquake.distribution.Notification;
- import gov.usgs.earthquake.distribution.ProductSender;
- import gov.usgs.earthquake.eidsutil.EIDSMessageEvent;
- import gov.usgs.earthquake.product.Product;
- import gov.usgs.earthquake.product.io.ObjectProductSource;
- import gov.usgs.util.Config;
- /**
- * Wrap EIDSProductBuilder in NotificationReceiver interface.
- */
- public class EIDSProductReceiver extends EIDSNotificationReceiver {
- /** The EIDS builder. */
- private EIDSProductBuilder builder;
- /**
- * Construct a new EIDSProductReceiver.
- *
- * Uses the Configurable interface, see EIDSNotificationReceiver.
- */
- public EIDSProductReceiver() {
- builder = new EIDSProductBuilder();
- // add a product sender that sends to this receiver
- builder.addProductSender(new ProductSender() {
- @Override
- public void configure(Config arg0) throws Exception {
- }
- @Override
- public void shutdown() throws Exception {
- }
- @Override
- public void startup() throws Exception {
- }
- @Override
- public void sendProduct(Product product) throws Exception {
- // forward built products to receiver
- Notification notification = storeProductSource(new ObjectProductSource(
- product));
- receiveNotification(notification);
- }
- @Override
- public String getName() {
- return null;
- }
- @Override
- public void setName(String arg0) {
- }
- });
- }
- /**
- * Receive messages from the EIDSNotificationReceiver EIDS Client.s
- *
- * Forwards messages to builder, which sends built products to
- * receiveNotification method.
- */
- public void onEIDSMessage(EIDSMessageEvent event) {
- // forward eids messages to builder
- builder.onEIDSMessage(event);
- }
- @Override
- public void configure(final Config config) throws Exception {
- super.configure(config);
- // load builder configuration properties too
- builder.configure(config);
- }
- }