Package ru.bitel.bgbilling.server.util
Class ServerUtils
java.lang.Object
ru.bitel.bgbilling.server.util.ServerUtils
Серверный утилс. Работа с соединениями с БД.
 Также содержит методы импортируемые в xslt-шаблонах.
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionaddItemsFromRS(Connection con, XMLStreamWriter whereAdd, String table, String keyColumn, String keyValue, String retColumn, boolean dateFilter, String date1, String date2) addItemsFromRS(Connection con, XMLStreamWriter whereAdd, String table, String keyColumn, String keyValue, String retColumn, boolean dateFilter, String date1, String date2, String joins) addItemsFromRS(Connection con, Element whereAdd, String table, String keyColumn, String keyValue, String retColumn, boolean dateFilter, String date1, String date2) addItemsFromRS(Connection con, Element whereAdd, String table, String keyColumn, String keyValue, String retColumn, boolean dateFilter, String date1, String date2, String joins) static voidaddNoCache(jakarta.servlet.http.HttpServletResponse response) static voidchangeLastModificationTime(Connection con, String param) static voidcheckPeriod(Date date1, Date date2) проверка как в старых экшенах, чтобы date2>=date1 или одна их них null, внимание: допускается date1=nullstatic voidcheckTable(Connection con, String tableName, String createQuery) проверка наличия таблицы и создание ее если нет для месячных таблиц желательно использовать @ru.bitel.bgbilling.server.util.DefaultServerSetup.checkModuleMonthTableNamestatic final voidБезопасное закрытие одного соединения с БД.static final voidcloseConnection(Connection... con) Безопасное закрытие одного или нескольких соединений с БД.static final voidcloseConnection(Connection con, Connection conSlave) Безопасное закрытие одного или двух соединений с БД.static booleancolumnExist(Connection con, String table, String column) static final voidКаммит одного соединения с БД.static voidcreateDirectoriesOnFTP(org.apache.commons.net.ftp.FTPClient ftpConnect, String pathOnFTP) Разбивает переданный путь по / , затем по каждой директории проверяет существует ли она, если нет, то создаётstatic StringdateToString(String source, String inPattern, String outPattern) static voiddeleteRowsFromTable(Connection con, String table, String keyColumn, String keyValue, String retColumn) static voiddropExistColumn(Connection con, String table, String column) static final voiddropExistTable(Connection con, String tableName) static StringformatNumber(Number value, String formatPattern) Используется XSLT скриптами в качестве расширения.static intfoundRows(Connection con) getEntriesFromZip(ZipInputStream zis, String mask) getFileEntriesFromZipByPrefix(ZipInputStream zis, String prefix) static CalendargetLastModificationTime(Connection con, String param) static StringgetModuleMonthDayTableName(String name, Date time, int moduleId) Вернет name_mid_yyyyMMdd</>static StringgetModuleMonthTableName(String name, LocalDate time, int moduleId) static StringgetModuleMonthTableName(String name, Date time, int moduleId) Функция выдает название помесячной таблицы на основании префикса, календаря с месяцем и кода модуля
name_mid_yyyyMM</>static StringgetModuleTableName(String name, int mid) Функция выдает название таблицы на основании префикса и кода модуля name_mid</>static StringgetMonthTableName(String name, Date time) Вернет name_yyyyMM</>static StringgetQuestions(int count) Получаем строку вида ?Парсит конфиги вида 1-10;12;20-4096 добавляем их парамми. для одного числа делает дублированиеstatic Stringобщий код в серверах - получает полный путь до корня сервера (там где находится каталог data итд)static StringgetSetupValue(Connection con, String name) static StringgetSetupValue(Connection con, String name, String defaultValue) Возвращает данные из таблицы setupstatic BufferedReadergetSocketIn(Socket socket) static PrintWritergetSocketOut(Socket socket) static intlastInsertId(Connection con) static intstatic longstatic voidstatic voidstatic voidremoveSetupValue(Connection con, String name) static StringИспользуется XSLT скриптами в качестве расширения.static voidresultSetToXML(ResultSet rs, XMLStreamWriter whereAdd, String table) static voidresultSetToXML(ResultSet rs, Element whereAdd, String table) сериализует таблицу в XML елементstatic final voidsetAutoCommit(Connection con, boolean auto) static voidsetSetupValue(Connection con, String name, String value) static booleantableExists(Connection con, String table) Проверка на существование таблицы в БД с периодической (раз в час) чисткой тех к которым за последний час не было обращенийstatic StringИспользуется XSLT скриптами в качестве расширения.static final StringuptimeStatus(Date startTime) Сстатус uptime чего либо.static StringДекодирование mime данных в урлах, НЕ декодирование урлов целиком, обратная к urlencode.static StringКодирование mime данных в урлах (в x-www-form-urlencoded), НЕ кодирование урлов целиком.static StringvalueOrDefault(String value, String defaultValue) Используется XSLT скриптами в качестве расширения. 
- 
Constructor Details
- 
ServerUtils
public ServerUtils() 
 - 
 - 
Method Details
- 
tableExists
Проверка на существование таблицы в БД с периодической (раз в час) чисткой тех к которым за последний час не было обращений- Parameters:
 con- объект доступа к БДtableName- имя проверяемой таблицы- Returns:
 - true - таблица существует, false - таблица не существует или нет доступа к БД
 - Throws:
 SQLException- если возникают проблемы с доступом к БД
 - 
columnExist
 - 
dropExistColumn
- Throws:
 SQLException
 - 
addItemsFromRS
public static List<String> addItemsFromRS(Connection con, Element whereAdd, String table, String keyColumn, String keyValue, String retColumn, boolean dateFilter, String date1, String date2) throws SQLException, XMLStreamException - Throws:
 SQLExceptionXMLStreamException
 - 
addItemsFromRS
public static List<String> addItemsFromRS(Connection con, Element whereAdd, String table, String keyColumn, String keyValue, String retColumn, boolean dateFilter, String date1, String date2, String joins) throws SQLException, XMLStreamException - Throws:
 SQLExceptionXMLStreamException
 - 
addItemsFromRS
public static List<String> addItemsFromRS(Connection con, XMLStreamWriter whereAdd, String table, String keyColumn, String keyValue, String retColumn, boolean dateFilter, String date1, String date2) throws SQLException, XMLStreamException - Throws:
 SQLExceptionXMLStreamException
 - 
addItemsFromRS
public static List<String> addItemsFromRS(Connection con, XMLStreamWriter whereAdd, String table, String keyColumn, String keyValue, String retColumn, boolean dateFilter, String date1, String date2, String joins) throws SQLException, XMLStreamException - Throws:
 SQLExceptionXMLStreamException
 - 
deleteRowsFromTable
public static List<String> deleteRowsFromTable(Connection con, String table, String keyColumn, String keyValue, String retColumn) throws SQLException - Throws:
 SQLException
 - 
getModuleMonthTableName
 - 
getModuleMonthTableName
Функция выдает название помесячной таблицы на основании префикса, календаря с месяцем и кода модуля
name_mid_yyyyMM</> - 
getModuleMonthDayTableName
Вернет name_mid_yyyyMMdd</> - 
getModuleTableName
Функция выдает название таблицы на основании префикса и кода модуля name_mid</> - 
getMonthTableName
Вернет name_yyyyMM</> - 
prepareElementToSerialize
 - 
checkTable
public static void checkTable(Connection con, String tableName, String createQuery) throws SQLException проверка наличия таблицы и создание ее если нет для месячных таблиц желательно использовать @ru.bitel.bgbilling.server.util.DefaultServerSetup.checkModuleMonthTableName- Throws:
 SQLException
 - 
uptimeStatus
Сстатус uptime чего либо. Используется в отдельнозапущенных серверах для инфы в статусе.- Parameters:
 startTime- время запуска этого "что-либо"- Returns:
 - некая uptime-информация в виде строки
 
 - 
getSetupValue
 - 
getSetupValue
Возвращает данные из таблицы setup- Parameters:
 con-name- имя параметраdefaultValue- значение по умолчанию- Returns:
 - значение из таблицы если есть запись с заданным именем, иначе defaultValue
 
 - 
setSetupValue
 - 
removeSetupValue
 - 
getLastModificationTime
 - 
lastInsertId
- Throws:
 SQLException
 - 
lastInsertId
- Throws:
 SQLException
 - 
lastInsertLongId
- Throws:
 SQLException
 - 
foundRows
- Throws:
 SQLException
 - 
changeLastModificationTime
 - 
closeConnection
Безопасное закрытие одного или нескольких соединений с БД.- Parameters:
 con-
 - 
closeConnection
Безопасное закрытие одного соединения с БД. Более быстр по сравнению сcloseConnection(Connection...), т.к. на каждый вызов не создаётся массив.- Parameters:
 con- - соединение, не может быть null
 - 
closeConnection
Безопасное закрытие одного или двух соединений с БД. Более быстр по сравнению сcloseConnection(Connection...), т.к. на каждый вызов не создаётся массив.- Parameters:
 con- - первое соединение, не может быть nullconSlave- - второе соединенеи может быть null
 - 
commitConnection
Каммит одного соединения с БД.- Parameters:
 con- - соединение.
 - 
getRanges
Парсит конфиги вида 1-10;12;20-4096 добавляем их парамми. для одного числа делает дублирование- Parameters:
 gid-range-- Returns:
 
 - 
getEntriesFromZip
 - 
resultSetToXML
сериализует таблицу в XML елемент- Throws:
 SQLException
 - 
getFileEntriesFromZipByPrefix
 - 
getSocketOut
- Throws:
 Exception
 - 
getSocketIn
- Throws:
 Exception
 - 
dropExistTable
- Throws:
 SQLException
 - 
setAutoCommit
 - 
resultSetToXML
public static void resultSetToXML(ResultSet rs, XMLStreamWriter whereAdd, String table) throws SQLException, XMLStreamException - Throws:
 SQLExceptionXMLStreamException
 - 
replace
Используется XSLT скриптами в качестве расширения.- Parameters:
 value-from-to-- Returns:
 
 - 
urlencode
Кодирование mime данных в урлах (в x-www-form-urlencoded), НЕ кодирование урлов целиком. personalAcc=adfuf|name=mmmmm personalAcc%3Dadfuf%2Fname%3Dmmmmm Используется XSLT скриптами в качестве расширения. - 
urldecode
Декодирование mime данных в урлах, НЕ декодирование урлов целиком, обратная к urlencode. Используется XSLT скриптами в качестве расширения. - 
valueOrDefault
Используется XSLT скриптами в качестве расширения.- Parameters:
 value-defaultValue-- Returns:
 
 - 
formatNumber
Используется XSLT скриптами в качестве расширения.- Parameters:
 value-formatPattern-- Returns:
 
 - 
upd5
Используется XSLT скриптами в качестве расширения.- Parameters:
 doc1-doc2-date1-date2-- Returns:
 
 - 
dateToString
 - 
recycle
 - 
addNoCache
public static void addNoCache(jakarta.servlet.http.HttpServletResponse response)  - 
deleteDir
 - 
getQuestions
Получаем строку вида ?,?,?- Parameters:
 count-- Returns:
 
 - 
createDirectoriesOnFTP
public static void createDirectoriesOnFTP(org.apache.commons.net.ftp.FTPClient ftpConnect, String pathOnFTP) throws IOException Разбивает переданный путь по / , затем по каждой директории проверяет существует ли она, если нет, то создаёт- Parameters:
 ftpConnect- коннект с FTP серверомpathOnFTP- абсолютный путь до нужной директории- Throws:
 IOException
 - 
checkPeriod
проверка как в старых экшенах, чтобы date2>=date1 или одна их них null, внимание: допускается date1=null- Throws:
 ru.bitel.bgbilling.common.BGException
 - 
getServerHome
общий код в серверах - получает полный путь до корня сервера (там где находится каталог data итд) 
 -