001
014
015 package com.liferay.util.xml.descriptor;
016
017 import com.liferay.util.xml.ElementIdentifier;
018
019 import org.dom4j.Document;
020
021
024 public class StrutsConfigDescriptor extends SimpleXMLDescriptor {
025
026 public boolean canHandleType(String doctype, Document root) {
027 if (doctype.indexOf("struts-config") != -1) {
028 return true;
029 }
030 else {
031 return false;
032 }
033 }
034
035 public String[] getRootChildrenOrder() {
036 return _ROOT_ORDERED_CHILDREN;
037 }
038
039 public ElementIdentifier[] getElementsIdentifiedByAttribute() {
040 return _ELEMENTS_IDENTIFIED_BY_ATTR;
041 }
042
043 public String[] getUniqueElements() {
044 return _UNIQUE_ELEMENTS;
045 }
046
047 public String[] getJoinableElements() {
048 return _JOINABLE_ELEMENTS;
049 }
050
051 private static final String[] _ROOT_ORDERED_CHILDREN = {
052 "data-sources", "form-beans", "global-exceptions", "global-forwards",
053 "action-mappings", "controller", "message-resources", "plug-in"
054 };
055
056 private static final ElementIdentifier[] _ELEMENTS_IDENTIFIED_BY_ATTR = {
057 new ElementIdentifier("forward", "name"),
058 new ElementIdentifier("action", "path"),
059 new ElementIdentifier("data-source", "id"),
060 new ElementIdentifier("form-bean", "name")
061 };
062
063 private static final String[] _UNIQUE_ELEMENTS = {
064 "data-sources", "form-beans", "global-exceptions", "global-forwards",
065 "action-mappings", "controller"
066 };
067
068 private static final String[] _JOINABLE_ELEMENTS = {
069 "data-sources", "form-beans", "global-exceptions", "global-forwards",
070 "action-mappings"
071 };
072
073 }