📄 templates_xml.java
字号:
//// ____.// __/\ ______| |__/\. _______// __ .____| | \ | +----+ \// _______| /--| | | - \ _ | : - \_________// \\______: :---| : : | : | \________>// |__\---\_____________:______: :____|____:_____\// /_____|//// . . . i n j a h i a w e t r u s t . . .//////// Templates_Xml//// NK 29.01.2001////package org.jahia.data.templates;import java.io.*;import java.util.*;import java.util.zip.*;//import com.sun.xml.tree.*;import org.w3c.dom.*;//import org.xml.sax.*;import org.jahia.exceptions.*;import org.jahia.utils.zip.*; // JahiaarHandlerimport org.jahia.utils.*; // JahiaCmdExecimport org.jahia.data.xml.*; // JahiaXmlDocumentimport org.jahia.utils.xml.*; // JahiaConsole, XMLParser/** * Holds Informations about a template deployment descriptor file * templates.xml * * <tpml> * <parameter name="package-name">DigitalCortexDHTML</parameter> * <parameter name="root-folder">DigitalCortexDHTML</parameter> * <parameter name="classes-file">digicorp.jar</parameter> * <parameter name="provider">www.jahia.org</parameter> * <template id="1" visible="1"> * <parameter name="name">DigitalCortexDHTML</parameter> * <parameter name="filename">digicorp.jsp</parameter> * <parameter name="display-name">Digital Cortex DHTML</parameter> * </template> * </tpml> * * @author Khue ng * @version 1.0 */public class Templates_Xml extends JahiaXmlDocument { /** The Package name **/ private String m_Name =""; /** The Root_Folder **/ private String m_RootFolder; /** The classes file **/ private String m_ClassesFile; /** The provider **/ private String m_Provider; /** The thumbnail image file name **/ private String m_Thumbnail; /** The list of Templates * * @associates JahiaTemplateDef*/ private Vector m_Templates = new Vector(); private static final String TPML_TAG = "tpml"; private static final String CLASSES_FILE_ENTRY = "jahiatemplates/"; /** * Constructor * * @param (String) path, the full path to the templates.xml file */ public Templates_Xml (String docPath) throws JahiaException { super(docPath); } /** * Extracts data from the Templates.xml file. Build the JahiaWebAppsWarPackage object * to store extracted data */ public void extractDocumentData() throws JahiaException { //JahiaConsole.println("Templates_Xml.extractDocumentData","started"); if (m_XMLDocument == null) { throw new JahiaException( "Templates_Xml", "Parsed Templates.xml document is null", JahiaException.ERROR, JahiaException.SERVICE_ERROR); } if (!m_XMLDocument.hasChildNodes()) { throw new JahiaException( "Templates_Xml", "Main document node has no children", JahiaException.ERROR, JahiaException.SERVICE_ERROR); } // get the document node Element docElNode = (Element) m_XMLDocument.getDocumentElement(); if (!docElNode.getNodeName().equalsIgnoreCase(TPML_TAG)) { throw new JahiaException( "Invalid XML format", "tpml tag is not present as starting tag in file", JahiaException.ERROR, JahiaException.SERVICE_ERROR); } // get the package name m_Name = XMLParser.getParameterValue(docElNode,"package-name"); //JahiaConsole.println(">>"," template package name :" + m_Name); // get the root folder m_RootFolder = XMLParser.getParameterValue(docElNode,"root-folder"); //JahiaConsole.println(">>"," template root-folder :" + m_RootFolder); // get the class file entry m_ClassesFile = XMLParser.getParameterValue(docElNode,"classes-file"); //JahiaConsole.println(">>"," template classes-file :" + m_ClassesFile); // get the provider info m_Provider = XMLParser.getParameterValue(docElNode,"provider"); //JahiaConsole.println(">>"," template provider :" + m_Provider); // get the thumbnail image file name m_Thumbnail = XMLParser.getParameterValue(docElNode,"thumbnail"); //JahiaConsole.println(">>"," template provider :" + m_Provider); // build the templates list Vector nodesList = XMLParser.getChildNodes(docElNode,"template"); int size = nodesList.size(); if ( size>0 ){ Node nodeItem = null; String templateName = ""; String templateFile = ""; String templateDisplayName = ""; Node currNode = null; for ( int i=0 ; i<size ; i++ ){ nodeItem = (Node)nodesList.get(i); templateName = XMLParser.getParameterValue(nodeItem,"name"); templateFile = XMLParser.getParameterValue(nodeItem,"filename"); templateDisplayName = XMLParser.getParameterValue(nodeItem,"display-name"); if ( templateDisplayName.length()<=0 ){ templateDisplayName = templateName; } boolean visible = true; String val = XMLParser.getAttributeValue(nodeItem,"visible"); if ( val != null ){ visible = ( Integer.parseInt(val) == 1 ); } boolean isHomePage = false; val = XMLParser.getAttributeValue(nodeItem,"homepage"); if ( val != null ){ isHomePage = ( Integer.parseInt(val) == 1 ); } if ( (templateName != null) && (templateName.length()>0) && (templateFile != null) && (templateFile.length()>0) && (templateDisplayName != null) && (templateDisplayName.length()>0) ){ JahiaTemplateDef template = new JahiaTemplateDef( templateName, templateFile, templateDisplayName, visible, isHomePage ); //JahiaConsole.println(">>"," template name :" + template.getName()); //JahiaConsole.println(">>"," display name :" + template.getDisplayName()); //JahiaConsole.println(">>"," filename :" + template.getFileName()); m_Templates.add(template); } } } //JahiaConsole.println("Templates_Xml.extractDocumentData","extraction done"); } /** * Return the Package Name * * @return (String) the package name */ public String getPackageName(){ return m_Name; } /** * Set the package name * @param (String) the package name */ public void setPackageName(String name){ m_Name = name; } /** * Return the Root folder * * @return (String) the root folder */ public String getRootFolder(){ return m_RootFolder; } /** * Set the Root Folder * @param (String) the root folder */ public void setRootFolder(String rootFolder){ m_RootFolder = rootFolder; } /** * Return the Classes file name * * @return (String) the classes file name */ public String getClassesFile(){ return m_ClassesFile; } /** * Set the Classes file * @param (String) the file name */ public void setClassesFile(String filename){ m_ClassesFile = filename; } /** * Return the Provider value * * @return (String) the provider value */ public String getProvider(){ return m_Provider; } /** * Set the provider attribute * @param (String) the value */ public void setProvider(String val){ m_Provider = val; } /** * Return the thumbnail file name * * @return (String) the thumbnail file name */ public String getThumbnail(){ return m_Thumbnail; } /** * Set the thumbnail file name * @param (String) the file name */ public void setThumbnail(String val){ m_Thumbnail = val; } /** * Return the list of templates * * @return (Vector) list of templates */ public Vector getTemplates(){ return m_Templates; }} // end Templates_Xml
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -