// Path: cassandra-spring/cassandra-spring-lucene/src/java/linguagil/cassandra/temperatura/model/PrevisaoTempoID.java
// public class PrevisaoTempoID implements Serializable {
// 
// 	private static final long serialVersionUID = -3202328496277683345L;
// 	@Column
// 	private String cidade;
// 	@Column
// 	private Date dia;
// 
// 	public String getCidade() {
// 		return cidade;
// 	}
// 
// 	public void setCidade(String cidade) {
// 		this.cidade = cidade;
// 	}
// 
// 	public Date getDia() {
// 		return dia;
// 	}
// 
// 	public void setDia(Date dia) {
// 		this.dia = dia;
// 	}
// 	
// 	
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (obj instanceof PrevisaoTempoID) {
// 			PrevisaoTempoID other = PrevisaoTempoID.class.cast(obj);
// 			return new EqualsBuilder().append(cidade, other.cidade)
// 					.append(dia, other.dia).isEquals();
// 		}
// 		return false;
// 	}
// 	@Override
// 	public int hashCode() {
// 		
// 		return new HashCodeBuilder().append(dia).append(cidade).toHashCode();
// 	}
// 	
// 	@Override
// 	public String toString() {
// 		
// 		return ToStringBuilder.reflectionToString(this,
// 				ToStringStyle.SHORT_PREFIX_STYLE);
// 	}
// }
// 
// Path: cassandra-spring/cassandra-spring-lucene/src/java/linguagil/cassandra/temperatura/service/PrevisaoMediaService.java
// @Service
// public class PrevisaoMediaService extends AbstractService{
// 
// 	@Autowired
// 	private PrevisaoTempoMediaRepository repository;
// 
// 	@Autowired
// 	private PrevisaoTempoRepository previsaoTempoRepository;
// 
// 	public void atualizar(PrevisaoTempoID id) {
// 		PrevisaoTempo previsao = previsaoTempoRepository.findOne(id);
// 		Double temperaturaMedia = 0d;
// 		for (Double temperatura: previsao.getTemperaturas() ){
// 			temperaturaMedia+=temperatura;
// 		}
// 		temperaturaMedia/=previsao.getTemperaturas().size();
// 		
// 		PrevisaoTempoMedia previsaoTempoMedia = new PrevisaoTempoMedia();
// 		previsaoTempoMedia.setId(id);
// 		previsaoTempoMedia.setTemperatura(temperaturaMedia);
// 
// 		repository.save(previsaoTempoMedia);
// 	}
// 	public PrevisaoTempoMedia findById(PrevisaoTempoID id) {
// 		Date dia = limparDia(id.getDia());
// 		id.setDia(dia);
// 		return repository.findOne(id);
// 	}
// }
// 
// Path: cassandra-spring/cassandra-spring-lucene/src/java/linguagil/cassandra/temperatura/service/PrevisaoService.java
// @Service
// public class PrevisaoService extends AbstractService{
// 
// 	@Autowired
// 	private PrevisaoTempoRepository repository;
// 	
// 	@Autowired
// 	private PrevisaoMediaService mediaService;
// 
// 	public void inserir(PrevisaoTempoID id, double temperatura) {
// 		Date dia = limparDia(id.getDia());
// 		id.setDia(dia);
// 		
// 		UpdateBuilder<PrevisaoTempo> updateBuilder = repository.updateBuilder(id);
// 		updateBuilder.addList("temperaturas", temperatura).value("temperatura", temperatura);
// 		updateBuilder.executeAsync();
// 		
// 		mediaService.atualizar(id);
// 	}
// 	
// 	public PrevisaoTempo findById(PrevisaoTempoID id) {
// 		Date dia = limparDia(id.getDia());
// 		id.setDia(dia);
// 		return repository.findOne(id);
// 	}
// 	
// 
// }


import java.util.Date;
import linguagil.cassandra.temperatura.model.PrevisaoTempoID;
import linguagil.cassandra.temperatura.service.PrevisaoMediaService;
import linguagil.cassandra.temperatura.service.PrevisaoService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
package linguagil.cassandra.temperatura;




/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
    	@SuppressWarnings("resource")
		ApplicationContext ctx = new GenericXmlApplicationContext("SpringConfig.xml");
    	
    	PrevisaoService service = ctx.getBean(PrevisaoService.class);
// Path: cassandra-spring/cassandra-spring-lucene/src/java/linguagil/cassandra/temperatura/model/PrevisaoTempoID.java
// public class PrevisaoTempoID implements Serializable {
// 
// 	private static final long serialVersionUID = -3202328496277683345L;
// 	@Column
// 	private String cidade;
// 	@Column
// 	private Date dia;
// 
// 	public String getCidade() {
// 		return cidade;
// 	}
// 
// 	public void setCidade(String cidade) {
// 		this.cidade = cidade;
// 	}
// 
// 	public Date getDia() {
// 		return dia;
// 	}
// 
// 	public void setDia(Date dia) {
// 		this.dia = dia;
// 	}
// 	
// 	
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (obj instanceof PrevisaoTempoID) {
// 			PrevisaoTempoID other = PrevisaoTempoID.class.cast(obj);
// 			return new EqualsBuilder().append(cidade, other.cidade)
// 					.append(dia, other.dia).isEquals();
// 		}
// 		return false;
// 	}
// 	@Override
// 	public int hashCode() {
// 		
// 		return new HashCodeBuilder().append(dia).append(cidade).toHashCode();
// 	}
// 	
// 	@Override
// 	public String toString() {
// 		
// 		return ToStringBuilder.reflectionToString(this,
// 				ToStringStyle.SHORT_PREFIX_STYLE);
// 	}
// }
// 
// Path: cassandra-spring/cassandra-spring-lucene/src/java/linguagil/cassandra/temperatura/service/PrevisaoMediaService.java
// @Service
// public class PrevisaoMediaService extends AbstractService{
// 
// 	@Autowired
// 	private PrevisaoTempoMediaRepository repository;
// 
// 	@Autowired
// 	private PrevisaoTempoRepository previsaoTempoRepository;
// 
// 	public void atualizar(PrevisaoTempoID id) {
// 		PrevisaoTempo previsao = previsaoTempoRepository.findOne(id);
// 		Double temperaturaMedia = 0d;
// 		for (Double temperatura: previsao.getTemperaturas() ){
// 			temperaturaMedia+=temperatura;
// 		}
// 		temperaturaMedia/=previsao.getTemperaturas().size();
// 		
// 		PrevisaoTempoMedia previsaoTempoMedia = new PrevisaoTempoMedia();
// 		previsaoTempoMedia.setId(id);
// 		previsaoTempoMedia.setTemperatura(temperaturaMedia);
// 
// 		repository.save(previsaoTempoMedia);
// 	}
// 	public PrevisaoTempoMedia findById(PrevisaoTempoID id) {
// 		Date dia = limparDia(id.getDia());
// 		id.setDia(dia);
// 		return repository.findOne(id);
// 	}
// }
// 
// Path: cassandra-spring/cassandra-spring-lucene/src/java/linguagil/cassandra/temperatura/service/PrevisaoService.java
// @Service
// public class PrevisaoService extends AbstractService{
// 
// 	@Autowired
// 	private PrevisaoTempoRepository repository;
// 	
// 	@Autowired
// 	private PrevisaoMediaService mediaService;
// 
// 	public void inserir(PrevisaoTempoID id, double temperatura) {
// 		Date dia = limparDia(id.getDia());
// 		id.setDia(dia);
// 		
// 		UpdateBuilder<PrevisaoTempo> updateBuilder = repository.updateBuilder(id);
// 		updateBuilder.addList("temperaturas", temperatura).value("temperatura", temperatura);
// 		updateBuilder.executeAsync();
// 		
// 		mediaService.atualizar(id);
// 	}
// 	
// 	public PrevisaoTempo findById(PrevisaoTempoID id) {
// 		Date dia = limparDia(id.getDia());
// 		id.setDia(dia);
// 		return repository.findOne(id);
// 	}
// 	
// 
// }


// Path: cassandra-spring/cassandra-spring-lucene/src/java/linguagil/cassandra/temperatura/App.java
import java.util.Date;
import linguagil.cassandra.temperatura.model.PrevisaoTempoID;
import linguagil.cassandra.temperatura.service.PrevisaoMediaService;
import linguagil.cassandra.temperatura.service.PrevisaoService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;

package linguagil.cassandra.temperatura;




/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
    	@SuppressWarnings("resource")
		ApplicationContext ctx = new GenericXmlApplicationContext("SpringConfig.xml");
    	
    	PrevisaoService service = ctx.getBean(PrevisaoService.class);
    	PrevisaoMediaService mediaService = ctx.getBean(PrevisaoMediaService.class);