/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.pieShare.pieShareServer.springConfiguraton;
import org.pieShare.pieShareServer.services.InputTask;
import org.pieShare.pieShareServer.services.Server;
import org.pieShare.pieShareServer.services.UserPersistenceService;
import org.pieShare.pieTools.pieUtilities.service.beanService.BeanService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;
/**
*
* @author Richard
*/
@Configuration
public class PieShareServerServiceConfiguration {
@Bean
@Lazy
public Server server() {
Server server = new Server();
server.setBeanService(beanService());
server.setInputTask(inputTask());
return server;
}
@Bean
@Lazy
public BeanService beanService() {
BeanService beanService = new BeanService();
return beanService;
}
@Bean
@Lazy
public UserPersistenceService userPersistenceService() {
UserPersistenceService service = new UserPersistenceService();
return service;
}
@Bean
@Lazy
@Scope(value = "prototype")
public InputTask inputTask() {
InputTask incomeTask = new InputTask();
incomeTask.setUserPersistenceService(userPersistenceService());
return incomeTask;
}
}