Class SeoManager

java.lang.Object
sk.iway.iwcm.components.seo.SeoManager

public class SeoManager extends Object
SeoManager.java - trieda sluziaca na pracu v komponente SEO, rozne zvacsa staticke metody vyuzivajuce sa v komponente SEO
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static boolean
    Funkcia prida zaznam noveho vyhladavacieho stroja do tabulky seo_bots, ak taky neexistuje
    Ak taky uz existuje, len zvysi pocet navstev o jeden a zmeni datum poslednej navstevy na aktualny cas
    static SeoKeyword
    Funkcia, ktora precisti zadanu domenu pre dane klucove slovo o substring "www" a "http://" pripadne ich kombinaciu kvoli jedinecnosti klucovych slov, ktore sa identifikuju prave dvojicou nazov domena
    static boolean
    deleteSeoKeyword(int seoKeywordId)
    Vymaze klucove slovo z tabulky seo_keywords
    static Column
    getActualPosition(int seoKeywordId)
    Funkcia, ktora vrati aktualnu (najnovsie zaznamenanu) poziciu daneho klucoveho slova vo vyhladavani pre jeho domenu na vyhladavaci, ktory bol urceny pri vytvarani
    static List<String>
    Funkcia, ktora vrati vsetky ROZNE klucove slova podla mena pouzivane pri SEO z tabulky seo_keywords
    static List<Column>
    getFilterSeoKeywords(Date from, Date to, String serverName, int searchDocId, String groupIdsQuery)
    Funkcia, ktora vrati mnozinu udajov, ktore su potrebne na vytvorenie stlpcoveho grafu zobrazujuceho pocet vyhladavani klucovych slov (meno a pocet vyhladavani)
    static String
    Funkcia, ktora vrati zoznam nazvov klucovych slov oddelenych bodkociarkou - vyuzitie v triede EditorForm pri nastavovani defaultnych klucovych slov pre kazdy dokument
    static String
    Funkcia, ktora vrati zoznam nazvov klucovych slov v tvare ('keyword1', 'keyword2', ...
    static String[]
    Funkcia, ktora vrati zoznam nazvov klucovych slov v poli String[] - vyuzitie v triede StatDB a vo funkcii getKeywordsBarData na vykreslenie grafu
    static List<Column>
    getNumberSeoKeywordsOnPage(int searchDocId, String groupIdsQuery)
    Funkcia, ktora vrati List, v ktorom budu ulozene dvojice: nazov klucoveho slova a pocet vyskytov na stranke resp.
    static int
     
    Funkcia, ktora vrati vsetky klucove slova, ktore maju rovnake meno, ale lisia sa v domene a su pouzivane pri SEO z tabulky seo_keywords
    static int
    Funkcia, ktora vrati identifikator vyhladavacieho stroja z tabulky seo_bots na zaklade jeho mena
    static String
    getSearchEngineName(int browserId)
    Funkcia, ktora vrati nazov vyhladavacieho stroja na zaklade jeho identifikatora z tabulky seo_bots
    static SeoKeyword
    getSeoKeyword(int seoKeywordId)
    Funkcia, ktora vrati naplneny bean klucoveho slova z tabulky seo_keywords na zaklade jeho identifikatora
    static int
    getSeoKeywordId(String seoKeywordName)
    Funkcia, ktora vrati identifikator klucoveho slova z tabulky seo_keywords na zaklade jeho mena
    static String
    getSeoKeywordName(int seoKeywordId)
    Funkcia, ktora vrati nazov klucoveho slova z tabulky seo_keywords na zaklade jeho identifikatora
    getSeoKeywords(int author)
    Funkcia, ktora vrati vsetky klucove slova pouzivane pri SEO z tabulky seo_keywords pre daneho autora bez ohladu na domenu
    getSeoKeywords(int author, String domain)
    Funkcia, ktora vrati vsetky klucove slova pouzivane pri SEO z tabulky seo_keywords bez ohladu na vyhladavaci stroj
    getSeoKeywords(int author, String domain, String searchBot)
    Funkcia, ktora vrati vsetky klucove slova pouzivane pri SEO z tabulky seo_keywords
    static List<Column>
    Funkcia, ktora vrati vsetkych roznych pouzivatelov, ktori pridali klucove slovo kvoli moznosti filtracie
    static List<String>
    Funkcia, ktora vrati vsetky rozne domeny, pre ktore sa pridali klucove slova kvoli moznosti filtracie
    static List<String>
    Funkcia, ktora vrati vsetky rozne vyhladavace, pre ktore sa pridali klucove slova kvoli moznosti filtracie
    static boolean
    Skontroluje, ci dane klucove slovo sa uz nenachadza v databaze
    static void
    main(String[] args)
    Toto sa vola z crontabu raz za den, kontroluje pozicie klucovych slov na google.com pre stranku Constants.getString("webSiteGooglePosition")
    static boolean
    saveSeoKeyword(SeoKeyword seoKeyword, int loggedUserId)
    Ulozi nove klucove slovo do databazy
    static boolean
    saveSeoKeyword(SeoKeyword seoKeyword, int loggedUserId, int seoKeywordId)
    Updejtne informacie o klucovom slove

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SeoManager

      public SeoManager()
  • Method Details

    • main

      public static void main(String[] args)
      Toto sa vola z crontabu raz za den, kontroluje pozicie klucovych slov na google.com pre stranku Constants.getString("webSiteGooglePosition")
      Parameters:
      args -
    • addSearchEngineVisit

      public static boolean addSearchEngineVisit(String browserName)
      Funkcia prida zaznam noveho vyhladavacieho stroja do tabulky seo_bots, ak taky neexistuje
      Ak taky uz existuje, len zvysi pocet navstev o jeden a zmeni datum poslednej navstevy na aktualny cas
      Parameters:
      browserName - nazov browsera, ktory si prehliada stranky webJETu identifikovany ako vyhladavaci stroj
      Returns:
      true ak sa insert (update) podaril, inak false
    • getSearchEngineId

      public static int getSearchEngineId(String browserName)
      Funkcia, ktora vrati identifikator vyhladavacieho stroja z tabulky seo_bots na zaklade jeho mena
      Parameters:
      browserName - meno vyhladavacieho bota, z ktoreho chceme urcit jeho identifikator
      Returns:
      identifikator daneho vyhladavacieho stroja, ak taky stroj neexistuje, vrati 0
    • getSeoKeywordId

      public static int getSeoKeywordId(String seoKeywordName)
      Funkcia, ktora vrati identifikator klucoveho slova z tabulky seo_keywords na zaklade jeho mena
      Parameters:
      seoKeywordName - nazov klucoveho slova, z ktoreho chceme urcit jeho identifikator
      Returns:
      identifikator daneho klucoveho slova, ak take slovo neexistuje, vrati 0
    • getActualPosition

      public static Column getActualPosition(int seoKeywordId)
      Funkcia, ktora vrati aktualnu (najnovsie zaznamenanu) poziciu daneho klucoveho slova vo vyhladavani pre jeho domenu na vyhladavaci, ktory bol urceny pri vytvarani
      Parameters:
      seoKeywordId - identifikator klucoveho slova, ktoreho aktualnu poziciu chceme zistit
      Returns:
      aktualna (najnovsie zaznamenana) pozicia daneho klucoveho slova vo vyhladavani pre jeho domenu na vyhladavaci, ktory bol urceny pri vytvarani
    • getSeoKeywordName

      public static String getSeoKeywordName(int seoKeywordId)
      Funkcia, ktora vrati nazov klucoveho slova z tabulky seo_keywords na zaklade jeho identifikatora
      Parameters:
      seoKeywordId - id klucoveho slova, z ktoreho chceme urcit jeho nazov
      Returns:
      meno daneho klucoveho slova, ak take slovo neexistuje, vrati null
    • getSeoKeyword

      public static SeoKeyword getSeoKeyword(int seoKeywordId)
      Funkcia, ktora vrati naplneny bean klucoveho slova z tabulky seo_keywords na zaklade jeho identifikatora
      Parameters:
      seoKeywordId - id klucoveho slova, z ktoreho chceme urcit jeho vlastnosti
      Returns:
      klucove slovo, ak take slovo neexistuje, vrati null
    • getSearchEngineName

      public static String getSearchEngineName(int browserId)
      Funkcia, ktora vrati nazov vyhladavacieho stroja na zaklade jeho identifikatora z tabulky seo_bots
      Parameters:
      browserId - identifikator vyhladavacieho stroja, ktoreho meno sa chceme dozvediet
      Returns:
      nazov daneho vyhladavacieho stroja, ak neexistuje, vrati null
    • getSeoKeywords

      public static List<SeoKeyword> getSeoKeywords(int author)
      Funkcia, ktora vrati vsetky klucove slova pouzivane pri SEO z tabulky seo_keywords pre daneho autora bez ohladu na domenu
      Parameters:
      author - identifikator pouzivatela, podla ktoreho sa filtruju klucove slova
      Returns:
      zoznam klucovych slov, ak je identifikator autora -1, vrati vsetky zaznamy klucovych slov
    • getSeoKeywords

      public static List<SeoKeyword> getSeoKeywords(int author, String domain)
      Funkcia, ktora vrati vsetky klucove slova pouzivane pri SEO z tabulky seo_keywords bez ohladu na vyhladavaci stroj
      Parameters:
      author - identifikator pouzivatela, podla ktoreho sa filtruju klucove slova
      domain - domena, podla ktorej sa maju vyfiltrovat klucove slova
      Returns:
      zoznam klucovych slov, ak je identifikator autora -1, vrati vsetky zaznamy klucovych slov
    • getSeoKeywords

      public static List<SeoKeyword> getSeoKeywords(int author, String domain, String searchBot)
      Funkcia, ktora vrati vsetky klucove slova pouzivane pri SEO z tabulky seo_keywords
      Parameters:
      author - identifikator pouzivatela, podla ktoreho sa filtruju klucove slova
      domain - domena, podla ktorej sa maju vyfiltrovat klucove slova
      searchBot - vyhladavac, podla ktoreho sa vyfiltruju klucove slova
      Returns:
      zoznam klucovych slov, ak je identifikator autora -1, vrati vsetky zaznamy klucovych slov
    • getDistinctSeoKeywords

      public static List<String> getDistinctSeoKeywords()
      Funkcia, ktora vrati vsetky ROZNE klucove slova podla mena pouzivane pri SEO z tabulky seo_keywords
      Returns:
      zoznam ROZNYCH klucovych slov podla mena
    • getSameSeoKeywords

      public static List<SeoKeyword> getSameSeoKeywords(String name)
      Funkcia, ktora vrati vsetky klucove slova, ktore maju rovnake meno, ale lisia sa v domene a su pouzivane pri SEO z tabulky seo_keywords
      Parameters:
      name - nazov klucoveho slova, podla ktoreho hladame klucove slova, ktore sa rovnako volaju, ale maju prednastavenu inu domenu
      Returns:
      zoznam klucovych slov(bean SeoKeyword), ktore maju rovnake meno ako je vstupny parameter name, ale lisia sa v domene
    • getFilterSeoKeywords

      public static List<Column> getFilterSeoKeywords(Date from, Date to, String serverName, int searchDocId, String groupIdsQuery)
      Funkcia, ktora vrati mnozinu udajov, ktore su potrebne na vytvorenie stlpcoveho grafu zobrazujuceho pocet vyhladavani klucovych slov (meno a pocet vyhladavani)
      Parameters:
      from - dateTime, od ktoreho sa zapocitavaju vyhladavania
      to - dateTime, do ktoreho sa zapocitavaju vyhladavania
      serverName -
      searchDocId -
      groupIdsQuery - retazec, ktory sa ma pridat ku sql query na zaklade filtrovania servera, z ktoreho sa uskutocnilo
      Returns:
      mnozinu udajov, ktore su potrebne na vytvorenie stlpcoveho grafu zobrazujuceho pocet vyhladavani klucovych slov (meno a pocet vyhladavani)
    • getNumberSeoKeywordsOnPage

      public static List<Column> getNumberSeoKeywordsOnPage(int searchDocId, String groupIdsQuery)
      Funkcia, ktora vrati List, v ktorom budu ulozene dvojice: nazov klucoveho slova a pocet vyskytov na stranke resp. skupiny stranok
      Parameters:
      searchDocId - Identifikator stranky, na ktorej zisti vyskyt klucovych slov
      groupIdsQuery - Retazec, ktory sa pridava na koniec query, zisti vyskyt klucovych slov v skupine stranok
      Returns:
      Vrati List, v ktorom budu ulozene dvojice: nazov klucoveho slova a pocet vyskytov na stranke resp. skupiny stranok
    • getNumberSubstringNoBoundary

      public static int getNumberSubstringNoBoundary(String src, String subString)
    • getUniqueAuthors

      public static List<Column> getUniqueAuthors()
      Funkcia, ktora vrati vsetkych roznych pouzivatelov, ktori pridali klucove slovo kvoli moznosti filtracie
      Returns:
      zoznam unikatnych pouzivatelov, ktori pridali klucove slovo
    • getUniqueDomains

      public static List<String> getUniqueDomains()
      Funkcia, ktora vrati vsetky rozne domeny, pre ktore sa pridali klucove slova kvoli moznosti filtracie
      Returns:
      zoznam unikatnych domen, pre ktore sa pridali klucove slova
    • getUniqueSearchBots

      public static List<String> getUniqueSearchBots()
      Funkcia, ktora vrati vsetky rozne vyhladavace, pre ktore sa pridali klucove slova kvoli moznosti filtracie
      Returns:
      zoznam unikatnych vyhladavacov, pre ktore sa pridali klucove slova
    • deleteSeoKeyword

      public static boolean deleteSeoKeyword(int seoKeywordId)
      Vymaze klucove slovo z tabulky seo_keywords
      Parameters:
      seoKeywordId - - identifikacne cislo klucoveho slova, ktore chceme vymazat
      Returns:
      true ak vymazanie z databazy prebehlo v poriadku, inak false
    • saveSeoKeyword

      public static boolean saveSeoKeyword(SeoKeyword seoKeyword, int loggedUserId)
      Ulozi nove klucove slovo do databazy
      Parameters:
      seoKeyword - bean s vlastnostami klucoveho slova
      loggedUserId - pouzivatel, ktory slovo vytvoril a ulozil
      Returns:
      true, ak sa zapis zaznamu do tabulky prebehne v poriadku, inak false
    • saveSeoKeyword

      public static boolean saveSeoKeyword(SeoKeyword seoKeyword, int loggedUserId, int seoKeywordId)
      Updejtne informacie o klucovom slove
      Parameters:
      seoKeyword - bean s vlastnostami klucoveho slova
      loggedUserId - pouzivatel, ktory slovo vytvoril a ulozil
      seoKeywordId - id klucoveho slova, ktore chceme aktualizovat
      Returns:
      true, ak sa zapis zaznamu do tabulky prebehne v poriadku, inak false
    • isKeywordNonExist

      public static boolean isKeywordNonExist(SeoKeyword seoKeyword)
      Skontroluje, ci dane klucove slovo sa uz nenachadza v databaze
      Parameters:
      seoKeyword - bean s vlastnostami klucoveho slova (nazov, domena a vyhladavac)
      Returns:
      true, ak sa klucove slovo v tabulke nenachadza, inak false
    • getKeywordsInQuery

      public static String getKeywordsInQuery()
      Funkcia, ktora vrati zoznam nazvov klucovych slov v tvare ('keyword1', 'keyword2', ... , 'keywordN') kvoli doplneniu do sql query ku klauzule IN vo funkcii StatDB.getKeywordsBarData()
      Returns:
      zoznam nazvov klucovych slov zapisanych za sebou v Stringu oddelenych ciarkami
    • getKeywordsNameInArray

      public static String[] getKeywordsNameInArray()
      Funkcia, ktora vrati zoznam nazvov klucovych slov v poli String[] - vyuzitie v triede StatDB a vo funkcii getKeywordsBarData na vykreslenie grafu
      Returns:
      zoznam nazvov klucovych slov zapisanych v poli String[]
    • getKeywordNames

      public static String getKeywordNames()
      Funkcia, ktora vrati zoznam nazvov klucovych slov oddelenych bodkociarkou - vyuzitie v triede EditorForm pri nastavovani defaultnych klucovych slov pre kazdy dokument
      Returns:
    • cleanupDomain

      public static SeoKeyword cleanupDomain(SeoKeyword seoKeyword)
      Funkcia, ktora precisti zadanu domenu pre dane klucove slovo o substring "www" a "http://" pripadne ich kombinaciu kvoli jedinecnosti klucovych slov, ktore sa identifikuju prave dvojicou nazov domena
      Parameters:
      seoKeyword - bean klucoveho slova
      Returns:
      bean SeoKeyword s upravenou domenou