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 String[] getRootChildrenOrder() {
038 return _ROOT_ORDERED_CHILDREN;
039 }
040
041 @Override
042 public ElementIdentifier[] getElementsIdentifiedByAttribute() {
043 return _ELEMENTS_IDENTIFIED_BY_ATTR;
044 }
045
046 @Override
047 public String[] getUniqueElements() {
048 return _UNIQUE_ELEMENTS;
049 }
050
051 @Override
052 public String[] getJoinableElements() {
053 return _JOINABLE_ELEMENTS;
054 }
055
056 private static final String[] _ROOT_ORDERED_CHILDREN = {
057 "data-sources", "form-beans", "global-exceptions", "global-forwards",
058 "action-mappings", "controller", "message-resources", "plug-in"
059 };
060
061 private static final ElementIdentifier[] _ELEMENTS_IDENTIFIED_BY_ATTR = {
062 new ElementIdentifier("forward", "name"),
063 new ElementIdentifier("action", "path"),
064 new ElementIdentifier("data-source", "id"),
065 new ElementIdentifier("form-bean", "name")
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 private static final String[] _JOINABLE_ELEMENTS = {
074 "data-sources", "form-beans", "global-exceptions", "global-forwards",
075 "action-mappings"
076 };
077
078 }