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 if (doctype.indexOf("struts-config") != -1) {
029 return true;
030 }
031 else {
032 return false;
033 }
034 }
035
036 @Override
037 public ElementIdentifier[] getElementsIdentifiedByAttribute() {
038 return _ELEMENTS_IDENTIFIED_BY_ATTR;
039 }
040
041 @Override
042 public String[] getJoinableElements() {
043 return _JOINABLE_ELEMENTS;
044 }
045
046 @Override
047 public String[] getRootChildrenOrder() {
048 return _ROOT_ORDERED_CHILDREN;
049 }
050
051 @Override
052 public String[] getUniqueElements() {
053 return _UNIQUE_ELEMENTS;
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[] _JOINABLE_ELEMENTS = {
064 "data-sources", "form-beans", "global-exceptions", "global-forwards",
065 "action-mappings"
066 };
067
068 private static final String[] _ROOT_ORDERED_CHILDREN = {
069 "data-sources", "form-beans", "global-exceptions", "global-forwards",
070 "action-mappings", "controller", "message-resources", "plug-in"
071 };
072
073 private static final String[] _UNIQUE_ELEMENTS = {
074 "data-sources", "form-beans", "global-exceptions", "global-forwards",
075 "action-mappings", "controller"
076 };
077
078 }