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 @Override
027 public boolean canHandleType(String doctype, Document root) {
028 return doctype.contains("struts-config");
029 }
030
031 @Override
032 public ElementIdentifier[] getElementsIdentifiedByAttribute() {
033 return _ELEMENTS_IDENTIFIED_BY_ATTR;
034 }
035
036 @Override
037 public String[] getJoinableElements() {
038 return _JOINABLE_ELEMENTS;
039 }
040
041 @Override
042 public String[] getRootChildrenOrder() {
043 return _ROOT_ORDERED_CHILDREN;
044 }
045
046 @Override
047 public String[] getUniqueElements() {
048 return _UNIQUE_ELEMENTS;
049 }
050
051 private static final ElementIdentifier[] _ELEMENTS_IDENTIFIED_BY_ATTR = {
052 new ElementIdentifier("forward", "name"),
053 new ElementIdentifier("action", "path"),
054 new ElementIdentifier("data-source", "id"),
055 new ElementIdentifier("form-bean", "name")
056 };
057
058 private static final String[] _JOINABLE_ELEMENTS = {
059 "data-sources", "form-beans", "global-exceptions", "global-forwards",
060 "action-mappings"
061 };
062
063 private static final String[] _ROOT_ORDERED_CHILDREN = {
064 "data-sources", "form-beans", "global-exceptions", "global-forwards",
065 "action-mappings", "controller", "message-resources", "plug-in"
066 };
067
068 private static final String[] _UNIQUE_ELEMENTS = {
069 "data-sources", "form-beans", "global-exceptions", "global-forwards",
070 "action-mappings", "controller"
071 };
072
073 }