/** * This file was automatically generated by the Mule Development Kit */ package org.mule.modules; import org.external.MyExternalApi; import org.external.model.Weather; import org.mule.api.ConnectionException; import org.mule.api.annotations.Configurable; import org.mule.api.annotations.Connect; import org.mule.api.annotations.ConnectionIdentifier; import org.mule.api.annotations.Connector; import org.mule.api.annotations.Disconnect; import org.mule.api.annotations.InvalidateConnectionOn; import org.mule.api.annotations.Processor; import org.mule.api.annotations.ValidateConnection; import org.mule.api.annotations.param.ConnectionKey; @Connector(name="weather", schemaVersion="1.0-SNAPSHOT") public class WeatherConnector { //<start id="lis_13_using-connect"/> @Configurable//<co id="lis_13_using-connect_1"/> boolean celsius; MyExternalApi myExternalApi = new MyExternalApi(); String sessionId; @Connect//<co id="lis_13_using-connect_2"/> public void connect (@ConnectionKey String username,//<co id="lis_13_using-connect_3"/> String password) throws ConnectionException { sessionId = myExternalApi.connect(username, password); } @Disconnect//<co id="lis_13_using-connect_4"/> public void disconnect() { if(this.sessionId != null ) { myExternalApi.logout(sessionId); } } //<end id="lis_13_using-connect"/> //<start id="lis_13_connection-validation"/> @Processor @InvalidateConnectionOn(exception=WeatherException.class) public Weather getWeather (String countryName, String cityName) { return myExternalApi.getWeather (sessionId, celsius, countryName, cityName); } @ValidateConnection public boolean isConnected() { return myExternalApi.isConnected(); } //<end id="lis_13_connection-validation"/> @ConnectionIdentifier public String connectionId() { return sessionId; } public boolean isCelsius() { return celsius; } public void setCelsius(boolean celsius) { this.celsius = celsius; } }