Package sk.iway.iwcm.stat
Class StatNewDB
java.lang.Object
sk.iway.iwcm.stat.StatNewDB
StatNewDB.java
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic String
static String
static void
createStatTable
(String tableName, String suffix) Vytvori tabulku stat_views_X_Y (ak treba)static boolean
createStatTablesFromError
(String errorMessage, String suffix) Skontroluje v popise chyby ci nastala chyba, ze neexistuje partitioning tabulka ak ano vytvori ju a vrati true, inak vrati false.static boolean
createStatTablesFromError
(String errorMessage, String suffix, String tableName) static String
getDateGroupBy
(String type, String fieldName, String as) static String
getDateSelect
(String type, String fieldName, String as) Vrati SQL pre datum pre rozne DBgetDayViews
(Date from, Date to, int rootGroupId) Vrati statistiku podla dni za dane obdobiegetDayViews
(Date from, Date to, int rootGroupId, boolean filterBotsOut) getDayViews
(Date from, Date to, String groupIds) getDayViews
(Date from, Date to, String groupIds, boolean withoutBots) Vrati statistiku podla dni za dane obdobiestatic String
getDMYGroupBy
(String fieldName) static String
getDMYSelect
(String fieldName) Vrati SQL volanie pre vypis vt_day, vt_month a vt_year pre jednotlive DBVrati statistiku podla hodin za dane obdobieVrati statistiku podla hodin za dane obdobiegetIncomingStats
(int docId, Date from, Date to, String groupIdsQuery, javax.servlet.http.HttpServletRequest request) Vygeneruje pre zvolene docID tabulku kolko na dane docId prislo navstev z ktoreho docIdgetMonthViews
(Date from, Date to, int rootGroupId) Vrati statistiku podla dni za dane obdobiegetMonthViews
(Date from, Date to, int rootGroupId, boolean withoutBots) getMonthViews
(Date from, Date to, String groupIds) getMonthViews
(Date from, Date to, String groupIds, boolean withoutBots) Vrati statistiku podla dni za dane obdobiegetMonthViewsForDoc
(int backInterval, int docId) Vygeneruje pre zvolenu rootGroupID tabulku videni, sedeni, roznych userov za zvolene obdobiegetOutgoingStats
(int docId, Date from, Date to) Vygeneruje pre zvolene docID tabulku kolko z docId navstev islo na ktore docIdgetPageViews
(int docId, Date from, Date to) Vygeneruje pre zvolene docID tabulku videni, sedeni, roznych userov za zvolene obdobie podla DNIgetPageViews
(int docId, Date from, Date to, int lastDocId) Vygeneruje pre zvolene docID tabulku videni, sedeni, roznych userov za zvolene obdobie podla DNI a podla refereragetStatReferer
(Date from, Date to, int maxRows, String groupIdsQuery) static String[]
getTableSuffix
(long dateFrom, long dateTo) Vytvori pole suffixov tabuliek v rozsahu zadanych datumovstatic String
getTableSuffix
(String tableName) static String[]
getTableSuffix
(String tableName, long dateFrom, long dateTo) Vytvori pole suffixov tabuliek v rozsahu zadanych datumov pre zadanu tabulkugetTopPages
(int max_size, Date from, Date to, int rootGroupId, String skipDocIds) getTopPages
(int max_size, Date from, Date to, int rootGroupId, String skipDocIds, boolean withoutBots) Vygeneruje tabulku videni, sedeni, roznych userov pre top stranky za zvolene obdobiegetTopPagesIn
(int max_size, Date from, Date to, int rootGroupId, String skipDocIds) getTopPagesIn
(int max_size, Date from, Date to, int rootGroupId, String skipDocIds, boolean withoutBots) Vrati zoznam nanavstevovanejsich vstupnych stranokgetTopPagesOut
(int max_size, Date from, Date to, int rootGroupId, String skipDocIds) getTopPagesOut
(int max_size, Date from, Date to, int rootGroupId, String skipDocIds, boolean withoutBots) Ziska z databazy zoznam stranok, ktore boli posledne vramci sessionstatic int
getUniqueUsersFromStatViews
(Date from, Date to, int rootGroupId) Vrati pocet unikatnych pouzivatelov za stanovene obdobie z tab.static int
getUniqueUsersFromStatViews
(Date from, Date to, int rootGroupId, boolean withoutBots) static int
getUniqueUsersFromStatViews
(Date from, Date to, String groupIds) static int
getUniqueUsersFromStatViews
(Date from, Date to, String groupIds, boolean withoutBots) Vrati pocet unikatnych pouzivatelov za stanovene obdobie z tab.getUserStatViews
(int userId, Date from, Date to, int rootGroupId) Funkcia, ktora vrati zoznam vsetkych pristupov daneho registrovaneho pouzivatela zoradenych od najnovsieho po najstarsi.getViewsForDoc
(Date from, Date to, int docId) Vygeneruje pre zvolene docID tabulku videni, sedeni, roznych userov za zvolene obdobie podla TYZDNOVgetWeekViews
(Date from, Date to, int rootGroupId) Vrati statistiku podla tyzdnov za dane obdobie a adresargetWeekViews
(Date from, Date to, int rootGroupId, boolean withoutBots) getWeekViews
(Date from, Date to, String groupIds) getWeekViews
(Date from, Date to, String groupIds, boolean withoutBots) Vrati statistiku podla tyzdnov za dane obdobie a adresarstatic String
vrati " AND browser_ua_id IN [povolene prehliadace]", alebo prazdny stringstatic String
getYMGroupBy
(String fieldName) static String
getYMSelect
(String fieldName) static String
getYWGroupBy
(String fieldName) static String
getYWSelect
(String fieldName) Vrati SQL volanie do SELECTU pre vypis vt_year a vt_weekstatic boolean
grantRightsToUser
(String tableName, String suffix, String publicWebDbUserName) Grants SELECT, UPDATE, INSERT, DELETE on specified table to supplied usernamestatic PreparedStatement
prepareStatement
(Connection dbConn, String sql) Vytvori a nastavi default parametre pre PS - cursor a fetch size (setri pamat)static boolean
tableExists
(String tablename) Checks if there exists table with spacified name in DB method ignores case
-
Constructor Details
-
StatNewDB
protected StatNewDB()
-
-
Method Details
-
getTableSuffix
Vytvori pole suffixov tabuliek v rozsahu zadanych datumov- Parameters:
dateFrom
-dateTo
-- Returns:
-
getTableSuffix
Vytvori pole suffixov tabuliek v rozsahu zadanych datumov pre zadanu tabulku- Parameters:
tableName
-dateFrom
-dateTo
-- Returns:
-
getTableSuffix
-
createStatTablesFromError
Skontroluje v popise chyby ci nastala chyba, ze neexistuje partitioning tabulka ak ano vytvori ju a vrati true, inak vrati false. Takato chyba nastava v statistike ked je nastavene obdobie, pre ktore este neexistuje vytvorena tabulka.- Parameters:
errorMessage
-suffix
-- Returns:
-
createStatTablesFromError
-
prepareStatement
Vytvori a nastavi default parametre pre PS - cursor a fetch size (setri pamat)- Parameters:
dbConn
-sql
-- Returns:
- Throws:
SQLException
-
createStatTable
Vytvori tabulku stat_views_X_Y (ak treba)- Parameters:
tableName
-suffix
- - suffix tabulky, alebo null (vytvori sa suffix pre aktualny mesiac)
-
getDMYSelect
Vrati SQL volanie pre vypis vt_day, vt_month a vt_year pre jednotlive DB- Parameters:
fieldName
-- Returns:
-
getYWSelect
Vrati SQL volanie do SELECTU pre vypis vt_year a vt_week- Parameters:
fieldName
-- Returns:
-
getYMSelect
-
getDateSelect
Vrati SQL pre datum pre rozne DB- Parameters:
type
-fieldName
-as
-- Returns:
-
getDateGroupBy
-
getDMYGroupBy
-
getYWGroupBy
-
getYMGroupBy
-
getTopPages
-
getTopPages
public static List<Column> getTopPages(int max_size, Date from, Date to, int rootGroupId, String skipDocIds, boolean withoutBots) Vygeneruje tabulku videni, sedeni, roznych userov pre top stranky za zvolene obdobie- Parameters:
max_size
-from
-to
-rootGroupId
-skipDocIds
-- Returns:
-
getTopPagesIn
-
getTopPagesIn
public static List<Column> getTopPagesIn(int max_size, Date from, Date to, int rootGroupId, String skipDocIds, boolean withoutBots) Vrati zoznam nanavstevovanejsich vstupnych stranok- Parameters:
max_size
-from
-to
-rootGroupId
-skipDocIds
-- Returns:
-
getTopPagesOut
-
getTopPagesOut
public static List<Column> getTopPagesOut(int max_size, Date from, Date to, int rootGroupId, String skipDocIds, boolean withoutBots) Ziska z databazy zoznam stranok, ktore boli posledne vramci session- Parameters:
max_size
-from
-to
-rootGroupId
-skipDocIds
-- Returns:
-
getPageViews
Vygeneruje pre zvolene docID tabulku videni, sedeni, roznych userov za zvolene obdobie podla DNI- Parameters:
docId
-from
-to
-- Returns:
-
getPageViews
Vygeneruje pre zvolene docID tabulku videni, sedeni, roznych userov za zvolene obdobie podla DNI a podla referera- Parameters:
docId
-from
-to
-lastDocId
- - referer, ak je nastavene na -1, neberie sa do uvahy- Returns:
-
getWeekViews
Vrati statistiku podla tyzdnov za dane obdobie a adresar- Parameters:
from
-to
-rootGroupId
-- Returns:
-
getWeekViews
-
getWeekViews
-
getWeekViews
Vrati statistiku podla tyzdnov za dane obdobie a adresar- Parameters:
from
-to
-groupIds
-withoutBots
-- Returns:
-
getDayViews
Vrati statistiku podla dni za dane obdobie- Parameters:
from
-to
-rootGroupId
-- Returns:
-
getDayViews
-
getDayViews
-
getDayViews
Vrati statistiku podla dni za dane obdobie- Parameters:
from
-to
-groupIds
-withoutBots
-- Returns:
-
getHours
Vrati statistiku podla hodin za dane obdobie- Parameters:
from
-to
-rootGroupId
-- Returns:
-
getHours
-
getHours
-
getHours
Vrati statistiku podla hodin za dane obdobie- Parameters:
from
-to
-groupIds
-withoutBots
-- Returns:
-
getMonthViews
Vrati statistiku podla dni za dane obdobie- Parameters:
from
-to
-rootGroupId
-- Returns:
-
getMonthViews
-
getMonthViews
-
getMonthViews
Vrati statistiku podla dni za dane obdobie- Parameters:
from
-to
-groupIds
- - id adresarov oddelenych ciarkouwithoutBots
-- Returns:
-
getStatReferer
- Parameters:
from
-to
-maxRows
-groupIdsQuery
-- Returns:
-
getUniqueUsersFromStatViews
Vrati pocet unikatnych pouzivatelov za stanovene obdobie z tab. stat_ views- Parameters:
from
-to
-rootGroupId
-- Returns:
-
getUniqueUsersFromStatViews
-
getUniqueUsersFromStatViews
-
getUniqueUsersFromStatViews
public static int getUniqueUsersFromStatViews(Date from, Date to, String groupIds, boolean withoutBots) Vrati pocet unikatnych pouzivatelov za stanovene obdobie z tab. stat_ views- Parameters:
from
-to
-groupIds
-withoutBots
-- Returns:
-
getViewsForDoc
Vygeneruje pre zvolene docID tabulku videni, sedeni, roznych userov za zvolene obdobie podla TYZDNOV- Parameters:
from
-to
-docId
-- Returns:
-
getMonthViewsForDoc
Vygeneruje pre zvolenu rootGroupID tabulku videni, sedeni, roznych userov za zvolene obdobie- Parameters:
backInterval
- - pocet mesiacov spat, za ktore sa ma vygenerovat statistikadocId
-- Returns:
-
getIncomingStats
public static List<Column> getIncomingStats(int docId, Date from, Date to, String groupIdsQuery, javax.servlet.http.HttpServletRequest request) Vygeneruje pre zvolene docID tabulku kolko na dane docId prislo navstev z ktoreho docId- Parameters:
docId
-from
-to
-- Returns:
-
getOutgoingStats
Vygeneruje pre zvolene docID tabulku kolko z docId navstev islo na ktore docId- Parameters:
docId
-from
-to
-- Returns:
-
getUserStatViews
Funkcia, ktora vrati zoznam vsetkych pristupov daneho registrovaneho pouzivatela zoradenych od najnovsieho po najstarsi.
Zoznam obshauje identifikacne cislo prihlasenia (intColumn1), prehliadany dokument (column1), posledne prehliadany dokument (last_doc), nazov skupiny, do ktorej patri prehliadana stranka (column3) a cas pristupu (dateColumn1)- Parameters:
from
- datetime, od ktoreho chceme vyhladavat zobrazenia stranokto
- datetime, do ktoreho chceme vyhladavat zobrazenia stranokrootGroupId
- identifikator skupiny, ktoru chceme filtrovat. Ak sa rovna -1, tak to znamena, ze chceme vyhladavat vo vsetkych skupinach- Returns:
- List naplneny jednotlivymi zobrazeniami stranok pre urceneho registrovaneho pouzivatela s roznymi vlastnostami
-
grantRightsToUser
public static boolean grantRightsToUser(String tableName, String suffix, String publicWebDbUserName) Grants SELECT, UPDATE, INSERT, DELETE on specified table to supplied username- Parameters:
tableName
- name of table (ie stat_error)suffix
- suffix for partitioning (ie _2012_10) _YYYY_MMpublicWebDbUserName
- name of user to whom will be granted priviledges- Returns:
- true if grant was successful, otherwise false
- Throws:
IllegalArgumentException
- if suffix, tableName od udername is nullIllegalStateException
- if there is exception while granting permissions
-
tableExists
Checks if there exists table with spacified name in DB method ignores case- Parameters:
tablename
- name of the table- Returns:
- true if table with specified name exists in DB
- Throws:
IllegalArgumentException
- if tablename is null or empty
-
amChartsData
-
amChartsData
-
getWhiteListedUAQuery
vrati " AND browser_ua_id IN [povolene prehliadace]", alebo prazdny string- Returns:
-