📄 extractdeploysite.java
字号:
// EXTRACT SERVER INFO extractServerInfo(); Vector sites = new Vector(); int size = selSiteIDs.size(); Integer I = null; for ( int i=0 ; i<size ; i++ ){ I = (Integer)selSiteIDs.get(i); JahiaSite site = siteServ.getSite(I.intValue()); if ( site != null ){ extractSite(site); sites.add(site); } else { throw new JahiaException("Error occured while processing your request", CLASS_NAME+": Site to extract is null", JahiaException.ERROR, JahiaException.ERROR); } } //------------------------------------------------------------------ // CREATE THE DESCRIPTION FILE if ( !createDescrFile(jahiaExtractName, jahiaExtractDesc, sites) ){ throw new JahiaException("Error occured while processing your request", CLASS_NAME+": Error creating the description file", JahiaException.ERROR, JahiaException.ERROR); } JahiaConsole.println(CLASS_NAME+".processExtract", " Extraction Done successfully\n"); request.setAttribute("siteExtDepMsg","Extraction done successfully"); request.setAttribute("siteExtPath",composeExtractionFolder(jahiaExtractName)); JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "extdep_site_extract_done.jsp" ); } catch (Throwable t ){ // clean extraction File f = new File(mSiteExtractionFolder); if ( f.isDirectory() ){ File dest = new File(mSiteExtractionFolder+"_error"); f.renameTo(dest); JahiaTools.deleteFile(dest); } JahiaConsole.println(CLASS_NAME+".processExtract", " exception occured,\n try clean extraction folder " + f.getAbsolutePath()+"\n"); t.printStackTrace(); session.setAttribute(CLASS_NAME+"warningMsg", "An error occured while extracting sites<br>"); displayChoice(request,response,session); } finally { // restore time out session.setMaxInactiveInterval(timeOut); } } } catch ( Throwable t ){ t.printStackTrace(); } finally { Jahia.releaseLock(jahiaLock); } } JahiaConsole.finalPrintln( "ExtractDeploySite", "extraction time [" +JahiaChrono.getInstance().read(startTime)+"ms]"); } //-------------------------------------------------------------------------- /** * Extract a site. * * @author Khue Nguyen * * @param JahiaSite the site to extract */ private void extractSite( JahiaSite site ) throws IOException, ServletException, JahiaException { JahiaConsole.println(CLASS_NAME+".extractSite","start extract site " + site.getServerName() ); // start the chrono... long startTime = JahiaChrono.getInstance().start(); try { JahiaDOMObject dom = null; // create an extraction folder for this site String siteKey = site.getSiteKey(); // get services JahiaPageService pageServ = sReg.getJahiaPageService(); JahiaPageTemplateService pageDefServ = sReg.getJahiaPageTemplateService(); JahiaFieldService fieldServ = sReg.getJahiaFieldService(); JahiaContainersService ctnServ = sReg.getJahiaContainersService(); JahiaFilemanagerService fmngServ = sReg.getJahiaFilemanagerService(); JahiaUserManagerService userServ = sReg.getJahiaUserManagerService(); JahiaGroupManagerService grpServ = sReg.getJahiaGroupManagerService(); JahiaSiteUserManagerService siteUsrServ = sReg.getJahiaSiteUserManagerService(); JahiaSiteGroupManagerService siteGrpServ = sReg.getJahiaSiteGroupManagerService(); JahiaApplicationsManagerService appServ = sReg.getJahiaApplicationsManagerService(); AppsShareService appShareServ = sReg.getAppsShareService(); JahiaAuditLogManagerService logServ = sReg.getJahiaAuditLogManagerService(); JahiaACLManagerService aclServ = sReg.getJahiaACLManagerService(); JahiaHomepagesService homepageServ = sReg.getJahiaHomepagesService(); // Create the xml_document folder File xmlDocFolder = createSubExtractionFolder(siteKey+File.separator+mXMLDOC); // EXTRACT SITE DEFINITION dom = siteServ.getSiteAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.SITE_FILE); } // EXTRACT SITE PROPS dom = siteServ.getSitePropsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.SITEPROPS_FILE); } // EXTRACT PAGE DATA dom = null; dom = pageServ.getPagesAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.PAGES_FILE); } // EXTRACT PAGE DEF dom = null; dom = pageDefServ.getPageDefsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.PAGEDEFS_FILE); } // EXTRACT PAGE DEF PROPERTIES dom = null; dom = pageDefServ.getPageDefPropsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.PAGEDEFPROPS_FILE); } startTime = JahiaChrono.getInstance().start(); // EXTRACT FIELD DATA dom = null; dom = fieldServ.getFieldsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.FIELDS_FILE); } dom = null; //System.gc(); JahiaConsole.finalPrintln( "ExtractDeploySite", "Field data extraction time [" +JahiaChrono.getInstance().read(startTime)+"ms]"); // EXTRACT FIELDS DEF dom = fieldServ.getFieldDefsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.FIELDDEFS_FILE); } // EXTRACT FIELDS DEF PROP dom = null; dom = fieldServ.getFieldDefPropsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.FIELDDEFPROPS_FILE); } // EXTRACT CONTAINERS dom = null; dom = ctnServ.getContainersAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.CONTAINERS_FILE); } // EXTRACT CONTAINER LISTS dom = null; dom = ctnServ.getContainerListsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.CONTAINERLISTS_FILE); } // EXTRACT CONTAINER LIST PROPS dom = null; dom = ctnServ.getContainerListPropsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.CONTAINERLISTPROPS_FILE); } // EXTRACT CONTAINER DEFS dom = null; dom = ctnServ.getContainerDefsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.CONTAINERDEFS_FILE); } // EXTRACT CONTAINER DEF PROPS dom = null; dom = ctnServ.getContainerDefPropsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.CONTAINERDEFPROPS_FILE); } // EXTRACT CONTAINER EXTENDED PROPS dom = null; dom = ctnServ.getContainerExtendedPropsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.CONTAINEREXTENDEDPROPS_FILE); } // EXTRACT CONTAINER STRUCTS dom = null; dom = ctnServ.getContainerStructsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.CONTAINERSTRUCTS_FILE); } // EXTRACT FILEMANAGER dom = null; dom = fmngServ.getFileMgrAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.FILEMGR_FILE); } // EXTRACT FILEMANAGER FOLDERS dom = null; dom = fmngServ.getFileMgrFoldersAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.FILEMGRFOLDERS_FILE); } // EXTRACT FILEMANAGER FILES dom = null; dom = fmngServ.getFileMgrFilesAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.FILEMGRFILES_FILE); } // EXTRACT FILE FIELDS dom = null; dom = fmngServ.getFileMgrFileFieldsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.FILEFIELDS_FILE); } // EXTRACT APP DEFINITIONS dom = null; dom = appServ.getApplicationDefsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.APPDEFS_FILE); } // EXTRACT APPLICATION SHARES dom = null; dom = appShareServ.getApplicationSharesAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.APPSHARES_FILE); } // EXTRACT APPLICATION GROUPS dom = null; dom = grpServ.getAppRoleGroupsAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.APPGROUPS_FILE); } // EXTRACT USERS /* dom = null; dom = userServ.getUsersAsDOM("jahia_db", site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, ExtDepSiteConstants.USERS_FILE); } */ UserManagerProviderBean usrProviderBean; Vector usrProviders = userServ.getProviderList(); int size = usrProviders.size(); // EXTRACT USERS dom = null; for ( int i=0 ; i<size ; i++ ){ usrProviderBean = (UserManagerProviderBean)usrProviders.get(i); dom = usrProviderBean.getInstance().getUsersAsDOM(site.getID()); if ( dom != null ){ saveDOMDocument(dom,xmlDocFolder, usrProviderBean.getKey() + "_" + ExtDepSiteConstants.USERS_FILE); } } // EXTRACT USER PROPS /* dom = null; dom = userServ.getUserPropsAsDOM("jahia_db", site.getID());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -