/**
* Copyright (C) 2010 Talend Inc. - www.talend.com
*/
package server;
import java.util.Collections;
import java.util.List;
import javax.annotation.security.RolesAllowed;
import org.springframework.security.core.context.SecurityContextHolder;
import com.example.customerservice.Customer;
import com.example.customerservice.CustomerService;
import com.example.customerservice.CustomerType;
import com.example.customerservice.NoSuchCustomerException;
public class CustomerServiceImpl implements CustomerService {
@RolesAllowed("ROLE_ADMIN")
@Override
public void updateCustomer(Customer customer) {
String userName = SecurityContextHolder.getContext().getAuthentication().getName();
System.out.println("Customer " + customer.getName() + " updated by user " + userName);
}
@RolesAllowed("ROLE_USER")
@Override
public List<Customer> getCustomersByName(String name) throws NoSuchCustomerException {
// The authenticated users can be retrieved from the spring security context at any time
String userName = SecurityContextHolder.getContext().getAuthentication().getName();
System.out.println("Customers matching name " + name + " are read by user " + userName);
Customer customer = createDummyCustomer(name);
return Collections.singletonList(customer);
}
private Customer createDummyCustomer(String name) {
Customer customer = new Customer();
customer.setName(name);
customer.setNumOrders(10);
customer.setRevenue(10.500d);
customer.setType(CustomerType.BUSINESS);
return customer;
}
}