📄 cmsadminmodulereplacethread.java
字号:
/*
* File : $Source: /usr/local/cvs/opencms/src/com/opencms/workplace/Attic/CmsAdminModuleReplaceThread.java,v $
* Date : $Date: 2003/02/28 13:03:49 $
* Version: $Revision: 1.3 $
*
* This library is part of OpenCms -
* the Open Source Content Mananagement System
*
* Copyright (C) 2002 The OpenCms Group
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* For further information about OpenCms, please see the
* OpenCms Website: http://www.opencms.org
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package com.opencms.workplace;
import com.opencms.file.CmsObject;
import com.opencms.file.I_CmsRegistry;
import com.opencms.report.A_CmsReportThread;
import com.opencms.report.CmsHtmlReport;
import com.opencms.report.I_CmsReport;
import java.util.Vector;
/**
* Replaces a module, showing a progress indicator report dialog that is continuously updated.
*
* @author Alexander Kandzior (a.kandzior@alkacon.com)
*
* @version $Revision: 1.3 $
* @since 5.0
*/
public class CmsAdminModuleReplaceThread extends A_CmsReportThread {
private String m_moduleName;
private String m_zipName;
private Vector m_conflictFiles;
private Vector m_projectFiles;
private I_CmsRegistry m_registry;
private CmsObject m_cms;
private I_CmsReport m_report;
private A_CmsReportThread m_deleteThread;
private A_CmsReportThread m_importThread;
private int m_phase;
private String m_reportContent = null;
/** DEBUG flag */
private static final boolean DEBUG = false;
/**
* Creates the module replace thread.
*
* @param cms the current cms context
* @param reg the registry to write the new module information to
* @param moduleName the name of the module
* @param conflictFiles vector of conflict files
* @param projectFiles vector of project files
*/
public CmsAdminModuleReplaceThread(CmsObject cms, I_CmsRegistry reg, String moduleName, String zipName, Vector conflictFiles, Vector projectFiles) {
m_cms = cms;
m_cms.getRequestContext().setUpdateSessionEnabled(false);
m_moduleName = moduleName;
m_zipName = zipName;
m_registry = reg;
m_conflictFiles = conflictFiles;
m_projectFiles = projectFiles;
String locale = CmsXmlLanguageFile.getCurrentUserLanguage(cms);
m_report = new CmsHtmlReport(locale);
m_deleteThread = new CmsAdminModuleDeleteThread(m_cms, m_registry, m_moduleName, m_conflictFiles, m_projectFiles, true);
m_importThread = new CmsAdminModuleImportThread(m_cms, m_registry, m_moduleName, m_zipName, m_conflictFiles, m_projectFiles);
if (DEBUG) System.err.println("CmsAdminModuleReplaceThread() constructed");
m_phase = 0;
}
/**
* @see java.lang.Runnable#run()
*/
public void run() {
if (DEBUG) System.err.println("CmsAdminModuleReplaceThread() starting delete action ");
// phase 1: delete the existing module
m_phase = 1;
m_deleteThread.run();
// get remaining report contents
m_reportContent = m_deleteThread.getReportUpdate();
if (DEBUG) System.err.println("CmsAdminModuleReplaceThread() starting import action ");
// phase 2: import the new module
m_phase = 2;
m_importThread.run();
if (DEBUG) System.err.println("CmsAdminModuleReplaceThread() finished ");
}
/**
* Returns the part of the report that is ready.
*
* @return the part of the report that is ready
*/
public String getReportUpdate(){
switch (m_phase) {
case 1:
return m_deleteThread.getReportUpdate();
case 2:
String content;
if (m_reportContent != null) {
content = m_reportContent;
m_reportContent = null;
} else {
content = "";
}
return content + m_importThread.getReportUpdate();
}
return "";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -