// Path: SensorStorm/src/nl/tno/sensorstorm/api/particles/DataParticle.java
// public interface DataParticle extends Particle {
// 
// }
// 
// Path: SensorStorm/src/nl/tno/sensorstorm/api/processing/SingleParticleOperation.java
// public interface SingleParticleOperation extends Operation {
// 
// 	/**
// 	 * A new particle has arrived for this operation. A list containing zero or
// 	 * more particles can be returned to be sent further up into the topology.
// 	 * 
// 	 * @param inputParticle
// 	 *            The dataParticle that need to be processed.
// 	 * @return Returns a list of zero or more data particles to be sent further
// 	 *         up to the topology (null is also allowed)
// 	 * @throws OperationException
// 	 *             when an error occurs in the Operation
// 	 */
// 	List<? extends DataParticle> execute(DataParticle inputParticle)
// 			throws OperationException;
// 
// }
// 
// Path: ExternalStormConfiguration/src/nl/tno/storm/configuration/api/ExternalStormConfiguration.java
// public interface ExternalStormConfiguration {
// 
// 	public Map<String, String> getTopologyConfiguration()
// 			throws StormConfigurationException;
// 
// 	public void registerTopologyConfigurationListener(
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// 	public void unregisterTopologyConfigurationListener(
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// 	public Map<String, String> getTaskConfiguration(String taskId)
// 			throws StormConfigurationException;
// 
// 	public void registerTaskConfigurationListener(String taskId,
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// 	public void unregisterTaskConfigurationListener(String taskId,
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// 	public Map<String, String> getChannelConfiguration(String channelId)
// 			throws StormConfigurationException;
// 
// 	public void registerChannelConfigurationListener(String channelId,
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// 	public void unregisterChannelConfigurationListener(String channelId,
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// }


import java.util.List;
import java.util.Map;
import nl.tno.sensorstorm.api.annotation.OperationDeclaration;
import nl.tno.sensorstorm.api.particles.DataParticle;
import nl.tno.sensorstorm.api.processing.SingleParticleOperation;
import nl.tno.storm.configuration.api.ExternalStormConfiguration;
package nl.tno.timeseries.testapp;



@OperationDeclaration(inputs = { MyDataParticle.class }, outputs = {})
public class MyOperation implements SingleParticleOperation {
	private static final long serialVersionUID = 773649574489299505L;

	@Override
	public void init(String fieldGroupValue, long startTimestamp,
			@SuppressWarnings("rawtypes") Map stormNativeConfig,
			ExternalStormConfiguration stormConfiguration) {
		System.out.println("myoperation.init for fieldGroupValue "
				+ fieldGroupValue + " at " + startTimestamp);
	}

	@Override
// Path: SensorStorm/src/nl/tno/sensorstorm/api/particles/DataParticle.java
// public interface DataParticle extends Particle {
// 
// }
// 
// Path: SensorStorm/src/nl/tno/sensorstorm/api/processing/SingleParticleOperation.java
// public interface SingleParticleOperation extends Operation {
// 
// 	/**
// 	 * A new particle has arrived for this operation. A list containing zero or
// 	 * more particles can be returned to be sent further up into the topology.
// 	 * 
// 	 * @param inputParticle
// 	 *            The dataParticle that need to be processed.
// 	 * @return Returns a list of zero or more data particles to be sent further
// 	 *         up to the topology (null is also allowed)
// 	 * @throws OperationException
// 	 *             when an error occurs in the Operation
// 	 */
// 	List<? extends DataParticle> execute(DataParticle inputParticle)
// 			throws OperationException;
// 
// }
// 
// Path: ExternalStormConfiguration/src/nl/tno/storm/configuration/api/ExternalStormConfiguration.java
// public interface ExternalStormConfiguration {
// 
// 	public Map<String, String> getTopologyConfiguration()
// 			throws StormConfigurationException;
// 
// 	public void registerTopologyConfigurationListener(
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// 	public void unregisterTopologyConfigurationListener(
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// 	public Map<String, String> getTaskConfiguration(String taskId)
// 			throws StormConfigurationException;
// 
// 	public void registerTaskConfigurationListener(String taskId,
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// 	public void unregisterTaskConfigurationListener(String taskId,
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// 	public Map<String, String> getChannelConfiguration(String channelId)
// 			throws StormConfigurationException;
// 
// 	public void registerChannelConfigurationListener(String channelId,
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// 	public void unregisterChannelConfigurationListener(String channelId,
// 			ConfigurationListener listener) throws StormConfigurationException;
// 
// }


// Path: SensorStorm/test/nl/tno/timeseries/testapp/MyOperation.java
import java.util.List;
import java.util.Map;
import nl.tno.sensorstorm.api.annotation.OperationDeclaration;
import nl.tno.sensorstorm.api.particles.DataParticle;
import nl.tno.sensorstorm.api.processing.SingleParticleOperation;
import nl.tno.storm.configuration.api.ExternalStormConfiguration;

package nl.tno.timeseries.testapp;



@OperationDeclaration(inputs = { MyDataParticle.class }, outputs = {})
public class MyOperation implements SingleParticleOperation {
	private static final long serialVersionUID = 773649574489299505L;

	@Override
	public void init(String fieldGroupValue, long startTimestamp,
			@SuppressWarnings("rawtypes") Map stormNativeConfig,
			ExternalStormConfiguration stormConfiguration) {
		System.out.println("myoperation.init for fieldGroupValue "
				+ fieldGroupValue + " at " + startTimestamp);
	}

	@Override
	public List<DataParticle> execute(DataParticle inputParticle) {