Package sk.iway.iwcm.editor.service
Class EditorService
java.lang.Object
sk.iway.iwcm.editor.service.EditorService
Servis pre ukladanie web stranok (tabulka documents a documents_history).
NEPOUZIVAT standardne je potrebne pouzit EditorFacade, ktora zapuzdruje dalsie operacie pri ulozeni
Servis je RequestScope aby pre kazdy request boli objeky oddelene (thread safe)
-
Constructor Summary
ConstructorsConstructorDescriptionEditorService
(DocDetailsRepository docRepo, DocHistoryRepository historyRepo, DocAtrRepository docAtrRepository, MediaService mediaService, ApproveService approveService, javax.servlet.http.HttpServletRequest request) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addNotify
(NotifyBean notifyBean) Prida notifikaciuboolean
Perform insert/update webpage action (aka waiting docHistory) by approve/reject throu calling ApproveSrvice.approveAction methodboolean
Perform delete webpage action (aka waiting docHistory) by approve/reject throu calling ApproveSrvice.approveDelAction methodvoid
approveDocHistory
(DocHistory editedHistory) Approve waiting DocHistory to change some webpage (can be update/insert).void
checkPermissions
(Identity user, DocDetails doc, boolean isDelete) Skontroluje prava na editaciu web stranky a throwne Runtime exception v pripade nedostatocnych pravboolean
deleteWebpage
(DocDetails doc, boolean publishEvents) Zmazanie web stranky, kontroluje prava pouzivatela, ak nema prava throwne RuntimeExceptionprotected String
deleteWebpageLogic
(int delDocId, ApproveService approveService, boolean publishEvents) Delete webpage logic + checkPermissions and check approve posibility.Ak nastalo schvalovanie vrati zoznam schvalovatelovgetCssListJson
(DocBasic doc) Vrati mapu CSS stylov pre roletku vyberu stylu v editoregetDoc
(int docId, int historyId) Vrati DocDetails objekt podla zadaneho docId alebo historyId (ak je zadane)Vrati zoznam moznych notifikacii pre pouzivatelagetProp()
Ak ma web stranka publikovanie v buducnosti nastavi sa sem timestamp zaciatku publikovaniaboolean
Vrati true ak je potrebne obnovit stromovu strukturu web stranok na GUIboolean
isPageEditable
(Identity user, DocDetails doc, boolean isDelete) Overi, ci pouzivatel ma pravo na editaciu zadanej web strankyboolean
Ak bola stranka korektne ulozena ako rozpracovana verzia vrati trueboolean
Ak bola stranka uspesne vypublikovana na verejne zobrazenie vrati trueprepareDocForEditor
(int docId, int historyId) Vrati existujuci DocDetails objekt podla zadaneho historyId/docId.prepareDocForEditor
(int docId, int historyId, boolean ignoreMultigroupMapping) Vrati existujuci DocDetails objekt podla zadaneho historyId/docId.prepareNewDocForEditor
(int docId, GroupDetails group) Vrati instanciu noveho DocDetailsvoid
recoverWebpageFromTrash
(int recoverDocId) Recover webpage from trash folder: - set groupId from history (latest where actual=1 or latest) - set available from history (latest where actual=1 or latest)void
saveAttrs
(DocDetails doc, List<DocAtrDefEntity> attrs, boolean cleanBeforeSave) int
saveEditedDoc
(DocDetails editedDoc) Ulozi DocDetials do databazy vratane vsetkych akcii spojenych s ulozenim web stranky (schvalovanie, nastavenie adresara...)void
setForceReload
(boolean forceReload) Vyvola reload=true atribut v JSON odpovedi pre obnovenie stromovej struktury/datatabulkyboolean
setSortPriority
(DocDetails editedDoc, GroupDetails group) Set next available sort priority for docprotected void
setVirtualPath
(DocDetails editedDoc) Nastavi stranke URL adresu (virtual_path), ak uz nejaka ina stranka takuto URL ma, tak prida cislo 1,2,3...
-
Constructor Details
-
EditorService
@Autowired public EditorService(DocDetailsRepository docRepo, DocHistoryRepository historyRepo, DocAtrRepository docAtrRepository, MediaService mediaService, ApproveService approveService, javax.servlet.http.HttpServletRequest request) -
EditorService
public EditorService()
-
-
Method Details
-
getDoc
Vrati DocDetails objekt podla zadaneho docId alebo historyId (ak je zadane)- Parameters:
docId
-historyId
-- Returns:
-
saveEditedDoc
Ulozi DocDetials do databazy vratane vsetkych akcii spojenych s ulozenim web stranky (schvalovanie, nastavenie adresara...)- Parameters:
editedDoc
-- Returns:
- historyId alebo hodnotu < 1 ak nastala chyba
-
prepareNewDocForEditor
Vrati instanciu noveho DocDetails- Parameters:
docId
- - -1 alebo -DOCID sablony prazdnej strankygroup
- - adresar kde ma vzniknut (podla toho sa nastavi sablona, sort priority...)- Returns:
-
setSortPriority
Set next available sort priority for doc- Parameters:
editedDoc
-group
-- Returns:
-
prepareDocForEditor
Vrati existujuci DocDetails objekt podla zadaneho historyId/docId. Riesi aj problem s MultigroupMaping, kedy nacita udaje master dokumentu.- Parameters:
docId
-historyId
-- Returns:
-
prepareDocForEditor
Vrati existujuci DocDetails objekt podla zadaneho historyId/docId. ak je ignoreMultigroupMapping=false Riesi aj problem s MultigroupMaping, kedy nacita udaje master dokumentu.- Parameters:
docId
-historyId
-ignoreMultigroupMapping
-- Returns:
-
deleteWebpage
Zmazanie web stranky, kontroluje prava pouzivatela, ak nema prava throwne RuntimeException- Parameters:
doc
-publishEvents
- - true to publish WebjetEvents (default true)- Returns:
-
setVirtualPath
Nastavi stranke URL adresu (virtual_path), ak uz nejaka ina stranka takuto URL ma, tak prida cislo 1,2,3... na koniec URL adresy- Parameters:
editedDoc
-
-
getApprovers
Ak nastalo schvalovanie vrati zoznam schvalovatelov- Returns:
-
getPublihStart
Ak ma web stranka publikovanie v buducnosti nastavi sa sem timestamp zaciatku publikovania- Returns:
-
isPageSavedToPublic
public boolean isPageSavedToPublic()Ak bola stranka uspesne vypublikovana na verejne zobrazenie vrati true- Returns:
-
isPageSavedAsWorkVersion
public boolean isPageSavedAsWorkVersion()Ak bola stranka korektne ulozena ako rozpracovana verzia vrati true- Returns:
-
isForceReload
public boolean isForceReload()Vrati true ak je potrebne obnovit stromovu strukturu web stranok na GUI- Returns:
-
setForceReload
public void setForceReload(boolean forceReload) Vyvola reload=true atribut v JSON odpovedi pre obnovenie stromovej struktury/datatabulky- Parameters:
forceReload
-
-
getNotify
Vrati zoznam moznych notifikacii pre pouzivatela- Returns:
-
addNotify
Prida notifikaciu- Parameters:
notifyBean
-
-
isPageEditable
Overi, ci pouzivatel ma pravo na editaciu zadanej web stranky- Parameters:
user
-doc
-isDelete
-- Returns:
-
checkPermissions
Skontroluje prava na editaciu web stranky a throwne Runtime exception v pripade nedostatocnych prav- Parameters:
user
-doc
-isDelete
- - nastavte na true, ak sa jedna o kontrolu prav pre mazanie stranky
-
getProp
-
getCssListJson
Vrati mapu CSS stylov pre roletku vyberu stylu v editore- Parameters:
doc
-- Returns:
-
saveAttrs
-
approveDocHistory
Approve waiting DocHistory to change some webpage (can be update/insert).- Parameters:
editedHistory
-
-
approveAction
public boolean approveAction()Perform insert/update webpage action (aka waiting docHistory) by approve/reject throu calling ApproveSrvice.approveAction method- Returns:
-
approveDelAction
public boolean approveDelAction()Perform delete webpage action (aka waiting docHistory) by approve/reject throu calling ApproveSrvice.approveDelAction method- Returns:
-
deleteWebpageLogic
protected String deleteWebpageLogic(int delDocId, ApproveService approveService, boolean publishEvents) Delete webpage logic + checkPermissions and check approve posibility. It will move webpage to trash folder (soft delete) OR if delete is called from trash folder perform permanent delete.- Parameters:
delDocId
-approveService
-publishEvents
-- Returns:
- Return "success" or other string taht represend some sort of error taht occured
-
recoverWebpageFromTrash
public void recoverWebpageFromTrash(int recoverDocId) Recover webpage from trash folder: - set groupId from history (latest where actual=1 or latest) - set available from history (latest where actual=1 or latest)- Parameters:
recoverDocId
-
-