Package org.rioproject.eventcollector.service

Source Code of org.rioproject.eventcollector.service.BasicEventListener

package org.rioproject.eventcollector.service;

import net.jini.core.event.RemoteEvent;
import net.jini.core.event.RemoteEventListener;
import net.jini.core.event.UnknownEventException;
import net.jini.export.Exporter;
import net.jini.jeri.BasicILFactory;
import net.jini.jeri.BasicJeriExporter;
import net.jini.jeri.tcp.TcpServerEndpoint;

import java.rmi.RemoteException;
import java.rmi.server.ExportException;
import java.util.ArrayList;
import java.util.List;

/**
* @author Dennis Reedy
*/
public class BasicEventListener implements RemoteEventListener {
    private final List<RemoteEvent> events = new ArrayList<RemoteEvent>();

    RemoteEventListener export() throws ExportException {
        Exporter exporter = new BasicJeriExporter(TcpServerEndpoint.getInstance(0),
                                                  new BasicILFactory(),
                                                  false,
                                                  true);
        return (RemoteEventListener) exporter.export(this);
    }

    int eventCollectionCount() {
        return events.size();
    }

    public String printEventCollection() {
        StringBuilder builder = new StringBuilder();
        for(RemoteEvent event : events) {
            if(builder.length()>0)
                builder.append("\n");
            builder.append(event.toString());
        }
        return builder.toString();
    }

    public void notify(RemoteEvent remoteEvent) throws UnknownEventException, RemoteException {
        events.add(remoteEvent);
    }
}
TOP

Related Classes of org.rioproject.eventcollector.service.BasicEventListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.