cmshtmlimport.java
来自「找了很久才找到到源代码」· Java 代码 · 共 1,633 行 · 第 1/5 页
JAVA
1,633 行
* Returns the startPattern.<p>
*
* @return the startPattern
*/
public String getStartPattern() {
return m_startPattern;
}
/**
* Returns the template.<p>
*
* @return the template
*/
public String getTemplate() {
return m_template;
}
/**
* Returns the keepBrokenLinks.<p>
*
* @return the keepBrokenLinks
*/
public boolean isKeepBrokenLinks() {
return m_keepBrokenLinks;
}
/**
* Returns the leaveDownloads.<p>
*
* @return the leaveDownloads
*/
public boolean isLeaveDownloads() {
return m_leaveDownloads;
}
/**
* Returns the leaveExternalLinks.<p>
*
* @return the leaveExternalLinks
*/
public boolean isLeaveExternalLinks() {
return m_leaveExternalLinks;
}
/**
* Returns the leaveImages.<p>
*
* @return the leaveImages
*/
public boolean isLeaveImages() {
return m_leaveImages;
}
/**
* Returns the overwrite.<p>
*
* @return the overwrite
*/
public boolean isOverwrite() {
return m_overwrite;
}
/**
* Sets the destinationDir.<p>
*
* @param destinationDir the destinationDir to set
*/
public void setDestinationDir(String destinationDir) {
m_destinationDir = destinationDir;
}
/**
* Sets the downloadGallery.<p>
*
* @param downloadGallery the downloadGallery to set
*/
public void setDownloadGallery(String downloadGallery) {
m_downloadGallery = downloadGallery;
}
/**
* Sets the element.<p>
*
* @param element the element to set
*/
public void setElement(String element) {
m_element = element;
}
/**
* Sets the endPattern.<p>
*
* @param endPattern the endPattern to set
*/
public void setEndPattern(String endPattern) {
m_endPattern = endPattern;
}
/**
* Sets the imageGallery.<p>
*
* @param imageGallery the imageGallery to set
*/
public void setImageGallery(String imageGallery) {
m_imageGallery = imageGallery;
}
/**
* Sets the inputDir.<p>
*
* @param inputDir the inputDir to set
*/
public void setInputDir(String inputDir) {
m_inputDir = inputDir;
}
/**
* Sets the inputEncoding.<p>
*
* @param inputEncoding the inputEncoding to set
*/
public void setInputEncoding(String inputEncoding) {
m_inputEncoding = inputEncoding;
}
/**
* Sets the keepBrokenLinks.<p>
*
* @param keepBrokenLinks the keepBrokenLinks to set
*/
public void setKeepBrokenLinks(boolean keepBrokenLinks) {
m_keepBrokenLinks = keepBrokenLinks;
}
/**
* Sets the leaveDownloads.<p>
*
* @param leaveDownloads the leaveDownloads to set
*/
public void setLeaveDownloads(boolean leaveDownloads) {
m_leaveDownloads = leaveDownloads;
}
/**
* Sets the leaveExternalLinks.<p>
*
* @param leaveExternalLinks the leaveExternalLinks to set
*/
public void setLeaveExternalLinks(boolean leaveExternalLinks) {
m_leaveExternalLinks = leaveExternalLinks;
}
/**
* Sets the leaveImages.<p>
*
* @param leaveImages the leaveImages to set
*/
public void setLeaveImages(boolean leaveImages) {
m_leaveImages = leaveImages;
}
/**
* Sets the linkGallery.<p>
*
* @param linkGallery the linkGallery to set
*/
public void setLinkGallery(String linkGallery) {
m_linkGallery = linkGallery;
}
/**
* Sets the locale.<p>
*
* @param locale the locale to set
*/
public void setLocale(String locale) {
m_locale = locale;
}
/**
* Sets the overwrite.<p>
*
* @param overwrite the overwrite to set
*/
public void setOverwrite(boolean overwrite) {
m_overwrite = overwrite;
}
/**
* Sets the startPattern.<p>
*
* @param startPattern the startPattern to set
*/
public void setStartPattern(String startPattern) {
m_startPattern = startPattern;
}
/**
* Sets the template.<p>
*
* @param template the template to set
*/
public void setTemplate(String template) {
m_template = template;
}
/**
* Imports all resources from the real filesystem, stores them into the correct locations
* in the OpenCms VFS and modifies all links. This method is called form the JSP to start the
* import process.<p>
* @param report StringBuffer for reporting
* @throws Exception if something goes wrong
*/
public void startImport(I_CmsReport report) throws Exception {
try {
m_report = report;
m_report.println(Messages.get().container(Messages.RPT_HTML_IMPORT_BEGIN_0), I_CmsReport.FORMAT_HEADLINE);
// first build the index of all resources
buildIndex(m_inputDir);
// build list with all parent resources of input directory for links to outside import folder
buildParentPath();
// copy and parse all html files first. during the copy process we will collect all
// required data for downloads and images
copyHtmlFiles(m_inputDir);
// now copy the other files
copyOtherFiles(m_inputDir);
// finally create all the external links
createExternalLinks();
m_report.println(Messages.get().container(Messages.RPT_HTML_IMPORT_END_0), I_CmsReport.FORMAT_HEADLINE);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Add a new external link to the storage of external links.<p>
*
* All links in this storage are later used to create entries in the external link gallery.
* @param externalLink link to an external resource
* @return the complete path to the external link file, if one is created.
*/
public String storeExternalLink(String externalLink) {
if (!m_leaveExternalLinks) {
m_externalLinks.add(externalLink);
return getExternalLinkFile(externalLink);
}
return null;
}
/**
* Add a new image info to the storage of image infos.<p>
*
* The image infoes are later used to set the description properties of the images.
* @param image the name of the image
* @param altText the alt-text of the image
*/
public void storeImageInfo(String image, String altText) {
m_imageInfo.put(image, altText);
}
/**
* Translated a link into the real filesystem to its new location in the OpenCms VFS.<p>
*
* This is needed by the HtmlConverter to get the correct links for link translation.
* @param link link to the real filesystem
* @return string containing absulute link into the OpenCms VFS
*/
public String translateLink(String link) {
String translatedLink = null;
translatedLink = (String)m_fileIndex.get(link.replace('\\', '/'));
if (translatedLink == null) {
// its an anchor link, so copy use it
if (link.startsWith("#")) {
translatedLink = link;
}
// relative link to opencms root
else if (link.startsWith("/")) {
// strip cms context path
if (link.startsWith(OpenCms.getSystemInfo().getOpenCmsContext())) {
link = link.substring(OpenCms.getSystemInfo().getOpenCmsContext().length());
}
// check if resource exists
if ((m_keepBrokenLinks) || (m_cmsObject.existsResource(link))) {
translatedLink = link;
}
}
else {
String fileBase = getBasePath(m_inputDir, link);
String cmsBase = (String)m_parents.get(fileBase);
if (cmsBase != null) {
String outLink = cmsBase + link.substring(fileBase.length()).replace('\\', '/');
if ((m_keepBrokenLinks) || (m_cmsObject.existsResource(outLink))) {
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?