// Path: com.polyhedral.security.testing.zedattackproxy/src/com/polyhedral/security/testing/zedattackproxy/actions/ScanProgress.java
// public class ScanProgress {
// 	private String ascanId;
// 	private String spiderId;
// 
// 	public String getAscanId() {
// 		return ascanId;
// 	}
// 
// 	public String getSpiderId() {
// 		return spiderId;
// 	}
// 
// 	public void setAscanId(String ascanId) {
// 		this.ascanId = ascanId;
// 	}
// 
// 	public void setSpiderId(String spiderId) {
// 		this.spiderId = spiderId;
// 	}
// }


import org.eclipse.core.runtime.ListenerList;
import com.polyhedral.security.testing.zedattackproxy.actions.ScanProgress;

package com.polyhedral.security.testing.zedattackproxy.events;



/**
 * ZAP event handler implementation. When a ZAP event is fired, this will notify
 * all of the appropriate listeners.
 */
public class ZAPEventHandler implements IZAPEventHandler {
	private ListenerList actionList = new ListenerList();

	/**
	 * Add a ZAP event listener.
	 */
	public void addZAPEventListener(final IZAPEventListener listener) {
		actionList.add(listener);
	}

	/**
	 * Fire a new ZAP event.
	 * 
	 * @param eventType
	 *            The {@link ZAPEventType} event that was triggered.
	 */
	public void fireZAPEvent(final ZAPEventType eventType) {
		final Object[] list = actionList.getListeners();
		for (int i = 0; i < list.length; ++i) {
			((IZAPEventListener) list[i]).handleZAPEvent(eventType, null);
		}
	}

	/**
	 * Fire a new ZAP event. This event is part of a ZAP scan and includes
	 * {@link ScanProgress} information.
	 * 
	 * @param eventType
	 *            The {@link ZAPEventType} event that was triggered.
	 * @param scanProgress
	 *            The {@link ScanProgress} details to be reported with the
	 *            event.
	 */

// Path: com.polyhedral.security.testing.zedattackproxy/src/com/polyhedral/security/testing/zedattackproxy/actions/ScanProgress.java
// public class ScanProgress {
// 	private String ascanId;
// 	private String spiderId;
// 
// 	public String getAscanId() {
// 		return ascanId;
// 	}
// 
// 	public String getSpiderId() {
// 		return spiderId;
// 	}
// 
// 	public void setAscanId(String ascanId) {
// 		this.ascanId = ascanId;
// 	}
// 
// 	public void setSpiderId(String spiderId) {
// 		this.spiderId = spiderId;
// 	}
// }


// Path: com.polyhedral.security.testing.zedattackproxy/src/com/polyhedral/security/testing/zedattackproxy/events/ZAPEventHandler.java
import org.eclipse.core.runtime.ListenerList;
import com.polyhedral.security.testing.zedattackproxy.actions.ScanProgress;

package com.polyhedral.security.testing.zedattackproxy.events;



/**
 * ZAP event handler implementation. When a ZAP event is fired, this will notify
 * all of the appropriate listeners.
 */
public class ZAPEventHandler implements IZAPEventHandler {
	private ListenerList actionList = new ListenerList();

	/**
	 * Add a ZAP event listener.
	 */
	public void addZAPEventListener(final IZAPEventListener listener) {
		actionList.add(listener);
	}

	/**
	 * Fire a new ZAP event.
	 * 
	 * @param eventType
	 *            The {@link ZAPEventType} event that was triggered.
	 */
	public void fireZAPEvent(final ZAPEventType eventType) {
		final Object[] list = actionList.getListeners();
		for (int i = 0; i < list.length; ++i) {
			((IZAPEventListener) list[i]).handleZAPEvent(eventType, null);
		}
	}

	/**
	 * Fire a new ZAP event. This event is part of a ZAP scan and includes
	 * {@link ScanProgress} information.
	 * 
	 * @param eventType
	 *            The {@link ZAPEventType} event that was triggered.
	 * @param scanProgress
	 *            The {@link ScanProgress} details to be reported with the
	 *            event.
	 */

	public void fireZAPEvent(final ZAPEventType eventType, ScanProgress scanProgress) {
