package dmo.fs.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Err {

    private static final Logger log = LoggerFactory.getLogger(Err.class);

    protected enum ErrMessages {
        E1("Query all users error: "),
        E2("Query user names error: "),
        E3("Query all users close error: "),
        E4("User by name error: "),
        E5("Query user by id Error: "),
        E6("Query undelivered create error: "),
        E7("Find messages error: "),
        E8("Persist message error: {} -- {}"),
        E9("Undelivered persist error: "),
        E10("On persist undelivered Error: "),
        E11("On close undelivered persist error: "),
        E12("On Flush all undelivered error: "),
        E13("On close all undelivered error: "),
        E14("Close merge user error: "),
        E15("Merge user error: "),
        E16("User persist error: "),
        E17("Close on persist user error: "),
        E18("User flush error: "),
        E19("Find message to remove error: "),
        E20("Message remove error: "),
        E21("Remove message flush error: "),
        E22("Remove message close error: "),
        E23("Find undelivered error: "),
        E24("Remove undelivered error: "),
        E25("Flushing undelivered error: "),
        E26("Closing session error: "),
        E27("Process messages session error: "),
        E28("Error in getUserDelivered(): "),
        E29("Websocket send text error: "),
        E30("Find/Remove undelivered error: "),
        E31("Query user by id error: "),
        E32("Delete user error: "),
        E33("Process messages error: "),
        E34("Delete user error: "),
        E35("Add message error: "),
        E36("Add message zero key error"),
        E37("Add undelivered error: "),
        E38("Connection error: "),
        E39("Open hibernate session error: "),
        E40("Collect users error: "),
        E41("Process user messages error: "),
        E42("{}Context configuration failed...{}{}"),
        E43("{}Starting web socket...{}{}"),
        E44("In production with database: "),
        E45("In development with database: "),
        E46("{}Websocket-connection...Unable to send message: {}{}"),
        E47("%d %s received your broadcast"),
        E48("{}Messages delivered: {} to {}{}"),
        E49("{}Unable to send message: {}{}{}"),
        E50("MutinySessionFactory from CDI"),
        E51("MutinySessionFactory Found: {}"),
        E52("MutinySessionFactory from CDI not found"),
        E53("Select user error: {}"),
        E54("Get group: {}"),
        E55("Get members by group: {}"),
        E56("Group query by name error: {}"),
        E57("Users query by name error: {}"),
        E58("Persist member error: {}"),
        E59("Add group error: {}"),
        E60("Remove group error: {}"),
        E61("Users query by ID error: {}"),
        E62("Remove member error: {}"),
        E63("Find member by ID error: {}"),
        E64("Fetch member for removal error: {}"),
        E65("Check on members error: {}"),
        E66("No result found"),
        E67(" Error persisting course/rating: {}"),
        E68("Error querying courses: {}"),
        E69(" name required for new golfer."),
        E70("Error adding golfer: {}"),
        E71("Error updating golfer: {}"),
        E72("Problem persisting golfer: {}"),
        E73("Problem with persist/update Golfer: {}"),
        E74("Problem closing session: {}"),
        E75("Problem getting session: {}"),
        E76("Error retrieving scores: {}"),
        E77("Error closing session: {}"),
        E78("Query scores error: {}"),
        E79("Last Score Query Error: {}"),
        E80("Error deleting score: {}"),
        E81("Update scores error: {}"),
        E82("Flush update scores error: {}"),
        E83("Set used error: {}"),
        E84("Clear used error: {}"),
        E85("Query score by tee error: {}"),
        E86("Persist score error: {}"),
        E87("Persist score failed"),
        E88("Update golfer score failed"),
        E89("Error flushing golfer: {}"),
        E90("Error while setting golfer handicap: "),
        E91("Error clearing used: "),
        E92("%sError Setting used - %s%s"),
        E93("Add rating error: {}"),
        E94("Add score error: {}"),
        E95("Got json from Client: {}"),
        E96("Cmd - Not between 0 and 8"),
        E97("Handicap Data Sent: {}"),
        E98("Failed to populate course: {}"),
        E99("Setting handicap failed: {}"),
        ;

        final String err;

        ErrMessages(String err) {
            this.err = err;
        }
    }

    public static String displayErr(Integer enumEntry) {
        return Err.ErrMessages.valueOf("E" + enumEntry).err;
    }
}
