package reseau;

/**
 * User: Andréa
 * Date: 23/12/10
 * Time: 06:06
 */
class ManagementMessageFactory extends MessageAbstractFactory {
    @Override
    public Message createMessage(Message.MessageAction action) {
        Message msg = new Message();
                msg.setMessageAction("GET");
        switch (action) {
            case AUTHENTICATION:
                msg.setMessageURL("/authentify");
                break;
            case FETCH_GROUPS:
                msg.setMessageURL("/groups");
                break;
            case FETCH_USERS:
                msg.setMessageURL("/groups/{groupId}/users");
                break;
            case FETCH_PROBLEMS:
                msg.setMessageURL("/groups/{groupId}/problems");
                break;
            case FETCH_RESULTS:
                msg.setMessageURL("/groups/{groupId}/results");
                break;
            case FETCH_BENCHMARKS:
                msg.setMessageURL("/groups/{groupId}/benchmarks");
                break;
            default:
                throw new IllegalArgumentException("Given message action is not handled by this factory");
        }
        return msg;
    }
}
