// Path: be.iminds.iot.things.api/src/be/iminds/iot/things/api/sensor/temperature/Temperature.java
// public final class Temperature extends SensorValue {
// 
// 	public Temperature(double value){
// 		super(value, "\u00b0C");
// 	}
// }
// 
// Path: be.iminds.iot.things.api/src/be/iminds/iot/things/api/sensor/temperature/TemperatureSensor.java
// public interface TemperatureSensor extends Thing {
// 
//     public final static String TEMPERATURE = "temperature";
// 
//     public Temperature getTemperature();
//     
// }
// 
// Path: be.iminds.iot.things.dyamand.adapter/src/be/iminds/iot/things/dyamand/adapter/ServiceAdapter.java
// public interface ServiceAdapter {
// 
// 	/**
// 	 * @return the type string
// 	 */
// 	public String getType();
// 	
// 	/**
// 	 * @return The target interfaces to adapt to 
// 	 */
// 	public String[] getTargets();
// 	
// 	/**
// 	 * Translate the ServicePojo source to an object that implements all target interfaces 
// 	 * @param source The source service
// 	 * @return an object implementing all target interfaces
// 	 */
// 	public Object getServiceObject(final Object source) throws Exception;
// 	
// 	/**
// 	 * Translate a variable name and value to a new state variable
// 	 * @param variable state variable name
// 	 * @param value state variable value
// 	 * @return translated state variable
// 	 */
// 	public StateVariable translateStateVariable(final String variable,
// 		    final Object value) throws Exception;
// 	
// }
// 
// Path: be.iminds.iot.things.dyamand.adapter/src/be/iminds/iot/things/dyamand/adapter/StateVariable.java
// public class StateVariable {
// 
// 	public final String name;
// 	public final Object value;
// 
// 	public StateVariable(final String n, final Object v) {
// 		this.name = n;
// 		this.value = v;
// 	}
// 
// 	public String getName() {
// 		return this.name;
// 	}
// 
// 	public Object getValue() {
// 		return this.value;
// 	}
// }


import org.osgi.service.component.annotations.Component;
import be.iminds.iot.things.api.sensor.temperature.Temperature;
import be.iminds.iot.things.api.sensor.temperature.TemperatureSensor;
import be.iminds.iot.things.dyamand.adapter.ServiceAdapter;
import be.iminds.iot.things.dyamand.adapter.StateVariable;
import org.dyamand.sensors.environment.TemperatureSensorServiceType;
			be.iminds.iot.things.api.Thing.class.getName(),
			be.iminds.iot.things.api.sensor.temperature.TemperatureSensor.class.getName()};
    }

	@Override
	public Object getServiceObject(final Object source) throws Exception {
		if (!(source instanceof org.dyamand.sensors.environment.TemperatureSensor)) {
			throw new Exception("Cannot translate object!");
		}
		final TemperatureSensor sensor = new TemperatureSensor() {

			@Override
			public Temperature getTemperature() {
				final org.dyamand.sensors.environment.Temperature t = ((org.dyamand.sensors.environment.TemperatureSensor) source)
						.getTemperature();
				if(t.getScale().equals(org.dyamand.sensors.environment.Temperature.Scale.CELCIUS)){
					final Temperature temp = new Temperature(t.getValue());
					return temp;
				} else {
					System.err.println("For now we only support sensor values in Celcius");
					return null;
				}
			}

		};

		return sensor;
	}

	@Override
// Path: be.iminds.iot.things.api/src/be/iminds/iot/things/api/sensor/temperature/Temperature.java
// public final class Temperature extends SensorValue {
// 
// 	public Temperature(double value){
// 		super(value, "\u00b0C");
// 	}
// }
// 
// Path: be.iminds.iot.things.api/src/be/iminds/iot/things/api/sensor/temperature/TemperatureSensor.java
// public interface TemperatureSensor extends Thing {
// 
//     public final static String TEMPERATURE = "temperature";
// 
//     public Temperature getTemperature();
//     
// }
// 
// Path: be.iminds.iot.things.dyamand.adapter/src/be/iminds/iot/things/dyamand/adapter/ServiceAdapter.java
// public interface ServiceAdapter {
// 
// 	/**
// 	 * @return the type string
// 	 */
// 	public String getType();
// 	
// 	/**
// 	 * @return The target interfaces to adapt to 
// 	 */
// 	public String[] getTargets();
// 	
// 	/**
// 	 * Translate the ServicePojo source to an object that implements all target interfaces 
// 	 * @param source The source service
// 	 * @return an object implementing all target interfaces
// 	 */
// 	public Object getServiceObject(final Object source) throws Exception;
// 	
// 	/**
// 	 * Translate a variable name and value to a new state variable
// 	 * @param variable state variable name
// 	 * @param value state variable value
// 	 * @return translated state variable
// 	 */
// 	public StateVariable translateStateVariable(final String variable,
// 		    final Object value) throws Exception;
// 	
// }
// 
// Path: be.iminds.iot.things.dyamand.adapter/src/be/iminds/iot/things/dyamand/adapter/StateVariable.java
// public class StateVariable {
// 
// 	public final String name;
// 	public final Object value;
// 
// 	public StateVariable(final String n, final Object v) {
// 		this.name = n;
// 		this.value = v;
// 	}
// 
// 	public String getName() {
// 		return this.name;
// 	}
// 
// 	public Object getValue() {
// 		return this.value;
// 	}
// }


// Path: be.iminds.iot.things.dyamand.adapter/src/be/iminds/iot/things/dyamand/adapters/TemperatureSensorAdapter.java
import org.osgi.service.component.annotations.Component;
import be.iminds.iot.things.api.sensor.temperature.Temperature;
import be.iminds.iot.things.api.sensor.temperature.TemperatureSensor;
import be.iminds.iot.things.dyamand.adapter.ServiceAdapter;
import be.iminds.iot.things.dyamand.adapter.StateVariable;
import org.dyamand.sensors.environment.TemperatureSensorServiceType;

			be.iminds.iot.things.api.Thing.class.getName(),
			be.iminds.iot.things.api.sensor.temperature.TemperatureSensor.class.getName()};
    }

	@Override
	public Object getServiceObject(final Object source) throws Exception {
		if (!(source instanceof org.dyamand.sensors.environment.TemperatureSensor)) {
			throw new Exception("Cannot translate object!");
		}
		final TemperatureSensor sensor = new TemperatureSensor() {

			@Override
			public Temperature getTemperature() {
				final org.dyamand.sensors.environment.Temperature t = ((org.dyamand.sensors.environment.TemperatureSensor) source)
						.getTemperature();
				if(t.getScale().equals(org.dyamand.sensors.environment.Temperature.Scale.CELCIUS)){
					final Temperature temp = new Temperature(t.getValue());
					return temp;
				} else {
					System.err.println("For now we only support sensor values in Celcius");
					return null;
				}
			}

		};

		return sensor;
	}

	@Override
	public StateVariable translateStateVariable(final String variable,