/* jBilling - The Enterprise Open Source Billing System Copyright (C) 2003-2011 Enterprise jBilling Software Ltd. and Emiliano Conde This file is part of jbilling. jbilling is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. jbilling is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with jbilling. If not, see <http://www.gnu.org/licenses/>. */ package com.sapienter.jbilling.server.util; import com.sapienter.jbilling.common.CommonConstants; /** * @author emilc * */ public final class Constants implements CommonConstants { /* * DATA BASE CONSTANTS * These values are in the database, should be initialized by the * InitDataBase program and remain static. */ // the agreed maximum length for a varchar. public static final int MAX_VARCHAR_LENGTH = 1000; // this should be equal to hibernate.jdbc.batch_size public static final int HIBERNATE_BATCH_SIZE = 100; // tables public static final String TABLE_ITEM = "item"; public static final String TABLE_PUCHASE_ORDER = "purchase_order"; public static final String TABLE_ORDER_PROCESSING_RULE = "order_processing_rule"; public static final String TABLE_ORDER_PERIOD = "order_period"; public static final String TABLE_ORDER_LINE_TYPE = "order_line_type"; public static final String TABLE_BILLING_PROCESS = "billing_process"; public static final String TABLE_BILLING_PROCESS_RUN = "process_run"; public static final String TABLE_BILLING_PROCESS_RUN_TOTAL = "process_run_total"; public static final String TABLE_BILLING_PROCESS_RUN_TOTAL_PM = "process_run_total_pm"; public static final String TABLE_BILLING_PROCESS_CONFIGURATION = "billing_process_configuration"; public static final String TABLE_INVOICE = "invoice"; public static final String TABLE_INVOICE_STATUS = "invoice_status"; public static final String TABLE_INVOICE_LINE= "invoice_line"; public static final String TABLE_EVENT_LOG = "event_log"; public static final String TABLE_INTERNATIONAL_DESCRIPTION = "international_description"; public static final String TABLE_LANGUAGE = "language"; public static final String TABLE_ENTITY = "entity"; public static final String TABLE_USER_TYPE = "user_type"; public static final String TABLE_BASE_USER = "base_user"; public static final String TABLE_CUSTOMER = "customer"; public static final String TABLE_PERIOD_UNIT = "period_unit"; public static final String TABLE_ORDER_BILLING_TYPE = "order_billing_type"; public static final String TABLE_ORDER_STATUS = "order_status"; public static final String TABLE_ORDER_LINE = "order_line"; public static final String TABLE_PLUGGABLE_TASK_TYPE_CATEGORY = "pluggable_task_type_category"; public static final String TABLE_PLUGGABLE_TASK_TYPE = "pluggable_task_type"; public static final String TABLE_PLUGGABLE_TASK = "pluggable_task"; public static final String TABLE_PLUGGABLE_TASK_PARAMETER = "pluggable_task_parameter"; public static final String TABLE_CONTACT = "contact"; public static final String TABLE_CONTACT_FIELD = "contact_field"; public static final String TABLE_CONTACT_FIELD_TYPE = "contact_field_type"; public static final String TABLE_CONTACT_TYPE = "contact_type"; public static final String TABLE_CONTACT_MAP = "contact_map"; public static final String TABLE_INVOICE_LINE_TYPE = "invoice_line_type"; public static final String TABLE_PAYMENT = "payment"; public static final String TABLE_PAYMENT_INFO_CHEQUE = "payment_info_cheque"; public static final String TABLE_PAYMENT_RESULT = "payment_result"; public static final String TABLE_PAYMENT_METHOD = "payment_method"; public static final String TABLE_PAYMENT_INVOICE_MAP = "payment_invoice"; public static final String TABLE_EVENT_LOG_MODULE = "event_log_module"; public static final String TABLE_EVENT_LOG_MESSAGE = "event_log_message"; public static final String TABLE_ORDER_PROCESS = "order_process"; public static final String TABLE_PREFERENCE = "preference"; public static final String TABLE_PREFERENCE_TYPE = "preference_type"; public static final String TABLE_NOTIFICATION_MESSAGE = "notification_message"; public static final String TABLE_NOTIFICATION_MESSAGE_SECTION = "notification_message_section"; public static final String TABLE_NOTIFICATION_MESSAGE_TYPE = "notification_message_type"; public static final String TABLE_NOTIFICATION_MESSAGE_LINE = "notification_message_line"; public static final String TABLE_NOTIFICATION_MESSAGE_ARCHIVE = "notification_message_arch"; public static final String TABLE_NOTIFICATION_MESSAGE_ARCHIVE_LINE = "notification_message_arch_line"; public static final String TABLE_REPORT = "report"; public static final String TABLE_REPORT_TYPE = "report_type"; public static final String TABLE_PERMISSION = "permission"; public static final String TABLE_PERMISSION_TYPE = "permission_type"; public static final String TABLE_ROLE= "role"; public static final String TABLE_PERMISSION_ROLE_MAP= "permission_role_map"; public static final String TABLE_USER_ROLE_MAP= "user_role_map"; public static final String TABLE_MENU_OPTION = "menu_option"; public static final String TABLE_COUNTRY = "country"; public static final String TABLE_PARTNER = "partner"; public static final String TABLE_PARTNER_RANGE = "partner_range"; public static final String TABLE_PARTNER_PAYOUT = "partner_payout"; public static final String TABLE_USER_STATUS = "user_status"; public static final String TABLE_USER_SUBSCRIBER_STATUS = "subscriber_status"; public static final String TABLE_ITEM_TYPE = "item_type"; public static final String TABLE_ITEM_USER_PRICE= "item_user_price"; public static final String TABLE_PROMOTION= "promotion"; public static final String TABLE_CREDIT_CARD= "credit_card"; public static final String TABLE_USER_CREDIT_CARD_MAP= "user_credit_card_map"; public static final String TABLE_PAYMENT_AUTHORIZATION="payment_authorization"; public static final String TABLE_ENTITY_PAYMENT_METHOD_MAP = "entity_payment_method_map"; public static final String TABLE_CURRENCY = "currency"; public static final String TABLE_CURRENCY_ENTITY_MAP = "currency_entity_map"; public static final String TABLE_CURRENCY_EXCHANGE= "currency_exchange"; public static final String TABLE_ITEM_PRICE = "item_price"; public static final String TABLE_AGEING_ENTITY_STEP = "ageing_entity_step"; public static final String TABLE_INVOICE_DELIVERY_METHOD = "invoice_delivery_method"; public static final String TABLE_ENTITY_DELIVERY_METHOD_MAP = "entity_delivery_method_map"; public static final String TABLE_PAPER_INVOICE_BATCH = "paper_invoice_batch"; public static final String TABLE_ACH = "ach"; public static final String TABLE_LIST_ENTITY = "list_entity"; public static final String TABLE_LIST_FIELD_ENTITY = "list_field_entity"; public static final String TABLE_MEDIATION_CFG = "mediation_cfg"; public static final String TABLE_BLACKLIST = "blacklist"; public static final String TABLE_GENERIC_STATUS_TYPE = "generic_status_type"; public static final String TABLE_GENERIC_STATUS = "generic_status"; public static final String TABLE_ORDER_LINE_PROVISIONING_STATUS = "order_line_provisioning_status"; public static final String TABLE_MEDIATION_RECORD_STATUS = "mediation_record_status"; public static final String TABLE_PROCESS_RUN_STATUS = "process_run_status"; public static final String TABLE_NOTIFICATION_CATEGORY = "notification_category"; // order line types public static final Integer ORDER_LINE_TYPE_ITEM = new Integer(1); public static final Integer ORDER_LINE_TYPE_TAX = new Integer(2); public static final Integer ORDER_LINE_TYPE_PENALTY = new Integer(3); // order periods. This are those NOT related with any single entity public static final Integer ORDER_PERIOD_ONCE = new Integer(1); // period unit types public static final Integer PERIOD_UNIT_MONTH = new Integer(1); public static final Integer PERIOD_UNIT_WEEK = new Integer(2); public static final Integer PERIOD_UNIT_DAY = new Integer(3); public static final Integer PERIOD_UNIT_YEAR= new Integer(4); // order billing types public static final Integer ORDER_BILLING_PRE_PAID = new Integer(1); public static final Integer ORDER_BILLING_POST_PAID = new Integer(2); // pluggable tasks categories public static final Integer PLUGGABLE_TASK_PROCESSING_ORDERS = new Integer(1); public static final Integer PLUGGABLE_TASK_ORDER_FILTER = new Integer(2); public static final Integer PLUGGABLE_TASK_INVOICE_FILTER = new Integer(3); public static final Integer PLUGGABLE_TASK_INVOICE_COMPOSITION = new Integer(4); public static final Integer PLUGGABLE_TASK_ORDER_PERIODS = new Integer(5); public static final Integer PLUGGABLE_TASK_PAYMENT = new Integer(6); public static final Integer PLUGGABLE_TASK_NOTIFICATION = new Integer(7); public static final Integer PLUGGABLE_TASK_PAYMENT_INFO = new Integer(8); public static final Integer PLUGGABLE_TASK_PENALTY = new Integer(9); public static final Integer PLUGGABLE_TASK_PROCESSOR_ALARM = new Integer(10); public static final Integer PLUGGABLE_TASK_SUBSCRIPTION_STATUS = new Integer(11); public static final Integer PLUGGABLE_TASK_ASYNC_PAYMENT_PARAMS = new Integer(12); public static final Integer PLUGGABLE_TASK_ITEM_MANAGER = new Integer(13); public static final Integer PLUGGABLE_TASK_ITEM_PRICING = new Integer(14); public static final Integer PLUGGABLE_TASK_MEDIATION_READER = new Integer(15); public static final Integer PLUGGABLE_TASK_MEDIATION_PROCESS = new Integer(16); public static final Integer PLUGGABLE_TASK_INTERNAL_EVENT = new Integer(17); public static final Integer PLUGGABLE_TASK_EXTERNAL_PROVISIONING = new Integer(18); public static final Integer PLUGGABLE_TASK_VALIDATE_PURCHASE = new Integer(19); public static final Integer PLUGGABLE_TASK_BILL_PROCESS_FILTER = new Integer(20); public static final Integer PLUGGABLE_TASK_MEDIATION_ERROR_HANDLER = new Integer(21); public static final Integer PLUGGABLE_TASK_SCHEDULED = new Integer(22); public static final Integer PLUGGABLE_TASK_RULES_GENERATOR = new Integer(23); public static final Integer PLUGGABLE_TASK_AGEING = new Integer(24); // pluggable task types (belongs to a category) public static final Integer PLUGGABLE_TASK_T_PAPER_INVOICE = new Integer(12); // invoice line types public static final Integer INVOICE_LINE_TYPE_ITEM_RECURRING = new Integer(1); public static final Integer INVOICE_LINE_TYPE_TAX = new Integer(2); public static final Integer INVOICE_LINE_TYPE_DUE_INVOICE = new Integer(3); public static final Integer INVOICE_LINE_TYPE_PENALTY = new Integer(4); public static final Integer INVOICE_LINE_TYPE_SUB_ACCOUNT = new Integer(5); public static final Integer INVOICE_LINE_TYPE_ITEM_ONETIME = new Integer(6); // permission types - this should be moved to PermissionConstant.java public static final Integer PERMISSION_TYPE_MENU= new Integer(1); // languages - when the project is a big company, we can do this right ! :p public static final Integer LANGUAGE_ENGLISH_ID = new Integer(1); public static final String LANGUAGE_ENGLISH_STR = "English"; public static final Integer LANGUAGE_SPANISH_ID = new Integer(2); public static final String LANGUAGE_SPANISH_STR = "Spanish"; public static final Integer ORDER_PROCESS_ORIGIN_PROCESS = new Integer(1); public static final Integer ORDER_PROCESS_ORIGIN_MANUAL = new Integer(2); //Notification Preference Types public static final Integer PREFERENCE_TYPE_SELF_DELIVER_PAPER_INVOICES = new Integer(13); public static final Integer PREFERENCE_TYPE_INCLUDE_CUSTOMER_NOTES = new Integer(14); public static final Integer PREFERENCE_TYPE_DAY_BEFORE_ORDER_NOTIF_EXP = new Integer(15); public static final Integer PREFERENCE_TYPE_DAY_BEFORE_ORDER_NOTIF_EXP2 = new Integer(16); public static final Integer PREFERENCE_TYPE_DAY_BEFORE_ORDER_NOTIF_EXP3 = new Integer(17); public static final Integer PREFERENCE_TYPE_USE_INVOICE_REMINDERS = new Integer(21); public static final Integer PREFERENCE_TYPE_NO_OF_DAYS_INVOICE_GEN_1_REMINDER = new Integer(22); public static final Integer PREFERENCE_TYPE_NO_OF_DAYS_NEXT_REMINDER = new Integer(23); // notification message types public static final Integer NOTIFICATION_TYPE_INVOICE_EMAIL = 1; public static final Integer NOTIFICATION_TYPE_USER_REACTIVATED = 2; public static final Integer NOTIFICATION_TYPE_USER_OVERDUE = 3; public static final Integer NOTIFICATION_TYPE_USER_OVERDUE_2 = 4; public static final Integer NOTIFICATION_TYPE_USER_OVERDUE_3 = 5; public static final Integer NOTIFICATION_TYPE_USER_SUSPENDED = 6; public static final Integer NOTIFICATION_TYPE_USER_SUSPENDED_2 = 7; public static final Integer NOTIFICATION_TYPE_USER_SUSPENDED_3 = 8; public static final Integer NOTIFICATION_TYPE_USER_DELETED = 9; public static final Integer NOTIFICATION_TYPE_PAYOUT_REMINDER = 10; public static final Integer NOTIFICATION_TYPE_PARTNER_PAYOUT = 11; public static final Integer NOTIFICATION_TYPE_INVOICE_PAPER = 12; public static final Integer NOTIFICATION_TYPE_ORDER_EXPIRE_1 = 13; public static final Integer NOTIFICATION_TYPE_ORDER_EXPIRE_2 = 14; public static final Integer NOTIFICATION_TYPE_ORDER_EXPIRE_3 = 15; public static final Integer NOTIFICATION_TYPE_PAYMENT_SUCCESS = 16; public static final Integer NOTIFICATION_TYPE_PAYMENT_FAILED = 17; public static final Integer NOTIFICATION_TYPE_INVOICE_REMINDER = 18; public static final Integer NOTIFICATION_TYPE_CREDIT_CARD_UPDATE = 19; public static final Integer NOTIFICATION_TYPE_LOST_PASSWORD = 20; // contact type public static final Integer ENTITY_CONTACT_TYPE = new Integer(1); //Jbilling Table Ids public static final Integer ENTITY_TABLE_ID = new Integer(5); }