Author: adrianc Date: Tue Oct 22 04:17:55 2013 New Revision: 1534488 URL: http://svn.apache.org/r1534488 Log: Reformatted ConfigXMLReader.java - no functional change. This is in preparation for some refactoring.
Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ConfigXMLReader.java Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ConfigXMLReader.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ConfigXMLReader.java?rev=1534488&r1=1534487&r2=1534488&view=diff ============================================================================== --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ConfigXMLReader.java (original) +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ConfigXMLReader.java Tue Oct 22 04:17:55 2013 @@ -53,17 +53,78 @@ public class ConfigXMLReader { public static final String module = ConfigXMLReader.class.getName(); public static final String controllerXmlFileName = "/WEB-INF/controller.xml"; - private static final UtilCache<URL, ControllerConfig> controllerCache = UtilCache.createUtilCache("webapp.ControllerConfig"); private static final UtilCache<String, List<ControllerConfig>> controllerSearchResultsCache = UtilCache.createUtilCache("webapp.ControllerSearchResults"); + public static final RequestResponse emptyNoneRequestResponse = RequestResponse.createEmptyNoneRequestResponse(); - public static URL getControllerConfigURL(ServletContext context) { - try { - return context.getResource(controllerXmlFileName); - } catch (MalformedURLException e) { - Debug.logError(e, "Error Finding XML Config File: " + controllerXmlFileName, module); + public static Set<String> findControllerFilesWithRequest(String requestUri, String controllerPartialPath) throws GeneralException { + Set<String> allControllerRequestSet = FastSet.newInstance(); + if (UtilValidate.isEmpty(requestUri)) { + return allControllerRequestSet; + } + String cacheId = controllerPartialPath != null ? controllerPartialPath : "NOPARTIALPATH"; + List<ControllerConfig> controllerConfigs = controllerSearchResultsCache.get(cacheId); + if (controllerConfigs == null) { + try { + // find controller.xml file with webappMountPoint + "/WEB-INF" in the path + List<File> controllerFiles = FileUtil.findXmlFiles(null, controllerPartialPath, "site-conf", "site-conf.xsd"); + controllerConfigs = FastList.newInstance(); + for (File controllerFile : controllerFiles) { + URL controllerUrl = null; + try { + controllerUrl = controllerFile.toURI().toURL(); + } catch (MalformedURLException mue) { + throw new GeneralException(mue); + } + ControllerConfig cc = ConfigXMLReader.getControllerConfig(controllerUrl); + controllerConfigs.add(cc); + } + controllerConfigs = controllerSearchResultsCache.putIfAbsentAndGet(cacheId, controllerConfigs); + } catch (IOException e) { + throw new GeneralException("Error finding controller XML files to lookup request references: " + e.toString(), e); + } + } + if (controllerConfigs != null) { + for (ControllerConfig cc : controllerConfigs) { + // make sure it has the named request in it + if (cc.requestMapMap.get(requestUri) != null) { + String requestUniqueId = cc.url.toExternalForm() + "#" + requestUri; + allControllerRequestSet.add(requestUniqueId); + // Debug.logInfo("========== In findControllerFilesWithRequest found controller with request here [" + requestUniqueId + "]", module); + } + } + } + return allControllerRequestSet; + } + + public static Set<String> findControllerRequestUniqueForTargetType(String target, String urlMode) throws GeneralException { + if (UtilValidate.isEmpty(urlMode)) { + urlMode = "intra-app"; + } + int indexOfDollarSignCurlyBrace = target.indexOf("${"); + int indexOfQuestionMark = target.indexOf("?"); + if (indexOfDollarSignCurlyBrace >= 0 && (indexOfQuestionMark < 0 || indexOfQuestionMark > indexOfDollarSignCurlyBrace)) { + // we have an expanded string in the requestUri part of the target, not much we can do about that... return null; } + if ("intra-app".equals(urlMode)) { + // look through all controller.xml files and find those with the request-uri referred to by the target + String requestUri = UtilHttp.getRequestUriFromTarget(target); + Set<String> controllerLocAndRequestSet = ConfigXMLReader.findControllerFilesWithRequest(requestUri, null); + // if (controllerLocAndRequestSet.size() > 0) Debug.logInfo("============== In findRequestNamesLinkedtoInWidget, controllerLocAndRequestSet: " + controllerLocAndRequestSet, module); + return controllerLocAndRequestSet; + } else if ("inter-app".equals(urlMode)) { + String webappMountPoint = UtilHttp.getWebappMountPointFromTarget(target); + if (webappMountPoint != null) + webappMountPoint += "/WEB-INF"; + String requestUri = UtilHttp.getRequestUriFromTarget(target); + + Set<String> controllerLocAndRequestSet = ConfigXMLReader.findControllerFilesWithRequest(requestUri, webappMountPoint); + // if (controllerLocAndRequestSet.size() > 0) Debug.logInfo("============== In findRequestNamesLinkedtoInWidget, controllerLocAndRequestSet: " + controllerLocAndRequestSet, module); + return controllerLocAndRequestSet; + } else { + return FastSet.newInstance(); + } } public static ControllerConfig getControllerConfig(URL url) { @@ -74,147 +135,163 @@ public class ConfigXMLReader { return controllerConfig; } + public static URL getControllerConfigURL(ServletContext context) { + try { + return context.getResource(controllerXmlFileName); + } catch (MalformedURLException e) { + Debug.logError(e, "Error Finding XML Config File: " + controllerXmlFileName, module); + return null; + } + } + + /** Loads the XML file and returns the root element */ + public static Element loadDocument(URL location) { + Document document; + try { + document = UtilXml.readXmlDocument(location, true); + Element rootElement = document.getDocumentElement(); + // rootElement.normalize(); + if (Debug.verboseOn()) + Debug.logVerbose("Loaded XML Config - " + location, module); + return rootElement; + } catch (Exception e) { + Debug.logError(e, module); + } + return null; + } + public static class ControllerConfig { public URL url; - private String errorpage; private String protectView; private String owner; private String securityClass; private String defaultRequest; private String statusCode; - private List<URL> includes = FastList.newInstance(); private Map<String, Event> firstVisitEventList = FastMap.newInstance(); private Map<String, Event> preprocessorEventList = FastMap.newInstance(); private Map<String, Event> postprocessorEventList = FastMap.newInstance(); private Map<String, Event> afterLoginEventList = FastMap.newInstance(); private Map<String, Event> beforeLogoutEventList = FastMap.newInstance(); - private Map<String, String> eventHandlerMap = FastMap.newInstance(); private Map<String, String> viewHandlerMap = FastMap.newInstance(); - private Map<String, RequestMap> requestMapMap = FastMap.newInstance(); private Map<String, ViewMap> viewMapMap = FastMap.newInstance(); public ControllerConfig(URL url) { this.url = url; - Element rootElement = loadDocument(url); if (rootElement != null) { long startTime = System.currentTimeMillis(); - loadIncludes(rootElement); loadGeneralConfig(rootElement); loadHandlerMap(rootElement); loadRequestMap(rootElement); loadViewMap(rootElement); - if (Debug.infoOn()) { - double totalSeconds = (System.currentTimeMillis() - startTime)/1000.0; + double totalSeconds = (System.currentTimeMillis() - startTime) / 1000.0; String locString = this.url.toExternalForm(); Debug.logInfo("controller loaded: " + totalSeconds + "s, " + this.requestMapMap.size() + " requests, " + this.viewMapMap.size() + " views in " + locString, module); } } } - public String getErrorpage() { - if (errorpage != null) { - return errorpage; - } - for (URL includeLocation: includes) { + public Map<String, Event> getAfterLoginEventList() { + MapContext<String, Event> result = MapContext.getMapContext(); + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); - String errorpage = controllerConfig.getErrorpage(); - if (errorpage != null) { - return errorpage; - } + result.push(controllerConfig.getAfterLoginEventList()); } - return null; + result.push(afterLoginEventList); + return result; } - public String getProtectView() { - if (protectView != null) { - return protectView; - } - for (URL includeLocation: includes) { + public Map<String, Event> getBeforeLogoutEventList() { + MapContext<String, Event> result = MapContext.getMapContext(); + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); - String protectView = controllerConfig.getProtectView(); - if (protectView != null) { - return protectView; - } + result.push(controllerConfig.getBeforeLogoutEventList()); } - return null; + result.push(beforeLogoutEventList); + return result; } - public String getStatusCode() { - if (statusCode != null) { - return statusCode; + public String getDefaultRequest() { + if (defaultRequest != null) { + return defaultRequest; } - for (URL includeLocation: includes) { + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); - String statusCode = controllerConfig.getStatusCode(); - if (statusCode != null) { - return statusCode; + String defaultRequest = controllerConfig.getDefaultRequest(); + if (defaultRequest != null) { + return defaultRequest; } } return null; } - public String getOwner() { - if (owner != null) { - return owner; + public String getErrorpage() { + if (errorpage != null) { + return errorpage; } - for (URL includeLocation: includes) { + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); - String owner = controllerConfig.getOwner(); - if (owner != null) { - return owner; + String errorpage = controllerConfig.getErrorpage(); + if (errorpage != null) { + return errorpage; } } return null; } - public String getSecurityClass() { - if (securityClass != null) { - return securityClass; + public Map<String, String> getEventHandlerMap() { + MapContext<String, String> result = MapContext.getMapContext(); + for (URL includeLocation : includes) { + ControllerConfig controllerConfig = getControllerConfig(includeLocation); + result.push(controllerConfig.getEventHandlerMap()); } - for (URL includeLocation: includes) { + result.push(eventHandlerMap); + return result; + } + + public Map<String, Event> getFirstVisitEventList() { + MapContext<String, Event> result = MapContext.getMapContext(); + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); - String securityClass = controllerConfig.getSecurityClass(); - if (securityClass != null) { - return securityClass; - } + result.push(controllerConfig.getFirstVisitEventList()); } - return null; + result.push(firstVisitEventList); + return result; } - public String getDefaultRequest() { - if (defaultRequest != null) { - return defaultRequest; + public String getOwner() { + if (owner != null) { + return owner; } - for (URL includeLocation: includes) { + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); - String defaultRequest = controllerConfig.getDefaultRequest(); - if (defaultRequest != null) { - return defaultRequest; + String owner = controllerConfig.getOwner(); + if (owner != null) { + return owner; } } return null; } - public Map<String, Event> getFirstVisitEventList() { + public Map<String, Event> getPostprocessorEventList() { MapContext<String, Event> result = MapContext.getMapContext(); - for (URL includeLocation: includes) { + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); - result.push(controllerConfig.getFirstVisitEventList()); + result.push(controllerConfig.getPostprocessorEventList()); } - result.push(firstVisitEventList); + result.push(postprocessorEventList); return result; } public Map<String, Event> getPreprocessorEventList() { MapContext<String, Event> result = MapContext.getMapContext(); - for (URL includeLocation: includes) { + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); result.push(controllerConfig.getPreprocessorEventList()); } @@ -222,49 +299,61 @@ public class ConfigXMLReader { return result; } - public Map<String, Event> getPostprocessorEventList() { - MapContext<String, Event> result = MapContext.getMapContext(); - for (URL includeLocation: includes) { + public String getProtectView() { + if (protectView != null) { + return protectView; + } + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); - result.push(controllerConfig.getPostprocessorEventList()); + String protectView = controllerConfig.getProtectView(); + if (protectView != null) { + return protectView; + } } - result.push(postprocessorEventList); - return result; + return null; } - public Map<String, Event> getAfterLoginEventList() { - MapContext<String, Event> result = MapContext.getMapContext(); - for (URL includeLocation: includes) { + public Map<String, RequestMap> getRequestMapMap() { + MapContext<String, RequestMap> result = MapContext.getMapContext(); + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); - result.push(controllerConfig.getAfterLoginEventList()); + result.push(controllerConfig.getRequestMapMap()); } - result.push(afterLoginEventList); + result.push(requestMapMap); return result; } - public Map<String, Event> getBeforeLogoutEventList() { - MapContext<String, Event> result = MapContext.getMapContext(); - for (URL includeLocation: includes) { + public String getSecurityClass() { + if (securityClass != null) { + return securityClass; + } + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); - result.push(controllerConfig.getBeforeLogoutEventList()); + String securityClass = controllerConfig.getSecurityClass(); + if (securityClass != null) { + return securityClass; + } } - result.push(beforeLogoutEventList); - return result; + return null; } - public Map<String, String> getEventHandlerMap() { - MapContext<String, String> result = MapContext.getMapContext(); - for (URL includeLocation: includes) { + public String getStatusCode() { + if (statusCode != null) { + return statusCode; + } + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); - result.push(controllerConfig.getEventHandlerMap()); + String statusCode = controllerConfig.getStatusCode(); + if (statusCode != null) { + return statusCode; + } } - result.push(eventHandlerMap); - return result; + return null; } public Map<String, String> getViewHandlerMap() { MapContext<String, String> result = MapContext.getMapContext(); - for (URL includeLocation: includes) { + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); result.push(controllerConfig.getViewHandlerMap()); } @@ -272,19 +361,9 @@ public class ConfigXMLReader { return result; } - public Map<String, RequestMap> getRequestMapMap() { - MapContext<String, RequestMap> result = MapContext.getMapContext(); - for (URL includeLocation: includes) { - ControllerConfig controllerConfig = getControllerConfig(includeLocation); - result.push(controllerConfig.getRequestMapMap()); - } - result.push(requestMapMap); - return result; - } - public Map<String, ViewMap> getViewMapMap() { MapContext<String, ViewMap> result = MapContext.getMapContext(); - for (URL includeLocation: includes) { + for (URL includeLocation : includes) { ControllerConfig controllerConfig = getControllerConfig(includeLocation); result.push(controllerConfig.getViewMapMap()); } @@ -292,25 +371,10 @@ public class ConfigXMLReader { return result; } - protected void loadIncludes(Element rootElement) { - for (Element includeElement: UtilXml.childElementList(rootElement, "include")) { - String includeLocation = includeElement.getAttribute("location"); - if (UtilValidate.isNotEmpty(includeLocation)) { - try { - URL urlLocation = FlexibleLocation.resolveLocation(includeLocation); - includes.add(urlLocation); - } catch (MalformedURLException mue) { - Debug.logError(mue, "Error processing include at [" + includeLocation + "]:" + mue.toString(), module); - } - } - } - } - protected void loadGeneralConfig(Element rootElement) { if (rootElement == null) { rootElement = loadDocument(this.url); } - this.errorpage = UtilXml.childElementValue(rootElement, "errorpage"); this.statusCode = UtilXml.childElementValue(rootElement, "status-code"); Element protectElement = UtilXml.firstChildElement(rootElement, "protect"); @@ -323,11 +387,10 @@ public class ConfigXMLReader { if (defaultRequestElement != null) { this.defaultRequest = defaultRequestElement.getAttribute("request-uri"); } - // first visit event Element firstvisitElement = UtilXml.firstChildElement(rootElement, "firstvisit"); if (firstvisitElement != null) { - for (Element eventElement: UtilXml.childElementList(firstvisitElement, "event")) { + for (Element eventElement : UtilXml.childElementList(firstvisitElement, "event")) { String eventName = eventElement.getAttribute("name"); if (UtilValidate.isEmpty(eventName)) { eventName = eventElement.getAttribute("type") + "::" + eventElement.getAttribute("path") + "::" + eventElement.getAttribute("invoke"); @@ -335,11 +398,10 @@ public class ConfigXMLReader { this.firstVisitEventList.put(eventName, new Event(eventElement)); } } - // preprocessor events Element preprocessorElement = UtilXml.firstChildElement(rootElement, "preprocessor"); if (preprocessorElement != null) { - for (Element eventElement: UtilXml.childElementList(preprocessorElement, "event")) { + for (Element eventElement : UtilXml.childElementList(preprocessorElement, "event")) { String eventName = eventElement.getAttribute("name"); if (UtilValidate.isEmpty(eventName)) { eventName = eventElement.getAttribute("type") + "::" + eventElement.getAttribute("path") + "::" + eventElement.getAttribute("invoke"); @@ -347,11 +409,10 @@ public class ConfigXMLReader { this.preprocessorEventList.put(eventName, new Event(eventElement)); } } - // postprocessor events Element postprocessorElement = UtilXml.firstChildElement(rootElement, "postprocessor"); if (postprocessorElement != null) { - for (Element eventElement: UtilXml.childElementList(postprocessorElement, "event")) { + for (Element eventElement : UtilXml.childElementList(postprocessorElement, "event")) { String eventName = eventElement.getAttribute("name"); if (UtilValidate.isEmpty(eventName)) { eventName = eventElement.getAttribute("type") + "::" + eventElement.getAttribute("path") + "::" + eventElement.getAttribute("invoke"); @@ -359,11 +420,10 @@ public class ConfigXMLReader { this.postprocessorEventList.put(eventName, new Event(eventElement)); } } - // after-login events Element afterLoginElement = UtilXml.firstChildElement(rootElement, "after-login"); if (afterLoginElement != null) { - for (Element eventElement: UtilXml.childElementList(afterLoginElement, "event")) { + for (Element eventElement : UtilXml.childElementList(afterLoginElement, "event")) { String eventName = eventElement.getAttribute("name"); if (UtilValidate.isEmpty(eventName)) { eventName = eventElement.getAttribute("type") + "::" + eventElement.getAttribute("path") + "::" + eventElement.getAttribute("invoke"); @@ -371,11 +431,10 @@ public class ConfigXMLReader { this.afterLoginEventList.put(eventName, new Event(eventElement)); } } - // before-logout events Element beforeLogoutElement = UtilXml.firstChildElement(rootElement, "before-logout"); if (beforeLogoutElement != null) { - for (Element eventElement: UtilXml.childElementList(beforeLogoutElement, "event")) { + for (Element eventElement : UtilXml.childElementList(beforeLogoutElement, "event")) { String eventName = eventElement.getAttribute("name"); if (UtilValidate.isEmpty(eventName)) { eventName = eventElement.getAttribute("type") + "::" + eventElement.getAttribute("path") + "::" + eventElement.getAttribute("invoke"); @@ -389,9 +448,9 @@ public class ConfigXMLReader { if (rootElement == null) { rootElement = loadDocument(this.url); } - if (rootElement == null) return; - - for (Element handlerElement: UtilXml.childElementList(rootElement, "handler")) { + if (rootElement == null) + return; + for (Element handlerElement : UtilXml.childElementList(rootElement, "handler")) { String name = handlerElement.getAttribute("name"); String type = handlerElement.getAttribute("type"); String className = handlerElement.getAttribute("class"); @@ -404,13 +463,27 @@ public class ConfigXMLReader { } } + protected void loadIncludes(Element rootElement) { + for (Element includeElement : UtilXml.childElementList(rootElement, "include")) { + String includeLocation = includeElement.getAttribute("location"); + if (UtilValidate.isNotEmpty(includeLocation)) { + try { + URL urlLocation = FlexibleLocation.resolveLocation(includeLocation); + includes.add(urlLocation); + } catch (MalformedURLException mue) { + Debug.logError(mue, "Error processing include at [" + includeLocation + "]:" + mue.toString(), module); + } + } + } + } + public void loadRequestMap(Element root) { if (root == null) { root = loadDocument(this.url); } - if (root == null) return; - - for (Element requestMapElement: UtilXml.childElementList(root, "request-map")) { + if (root == null) + return; + for (Element requestMapElement : UtilXml.childElementList(root, "request-map")) { RequestMap requestMap = new RequestMap(requestMapElement); this.requestMapMap.put(requestMap.uri, requestMap); } @@ -420,10 +493,9 @@ public class ConfigXMLReader { if (rootElement == null) { rootElement = loadDocument(this.url); } - - if (rootElement == null) return; - - for (Element viewMapElement: UtilXml.childElementList(rootElement, "view-map")) { + if (rootElement == null) + return; + for (Element viewMapElement : UtilXml.childElementList(rootElement, "view-map")) { ViewMap viewMap = new ViewMap(viewMapElement); this.viewMapMap.put(viewMap.name, viewMap); } @@ -431,98 +503,31 @@ public class ConfigXMLReader { } - public static Set<String> findControllerFilesWithRequest(String requestUri, String controllerPartialPath) throws GeneralException { - Set<String> allControllerRequestSet = FastSet.newInstance(); - - if (UtilValidate.isEmpty(requestUri)) { - return allControllerRequestSet; - } - - String cacheId = controllerPartialPath != null ? controllerPartialPath : "NOPARTIALPATH"; - List<ControllerConfig> controllerConfigs = controllerSearchResultsCache.get(cacheId); - - if (controllerConfigs == null) { - try { - // find controller.xml file with webappMountPoint + "/WEB-INF" in the path - List<File> controllerFiles = FileUtil.findXmlFiles(null, controllerPartialPath, "site-conf", "site-conf.xsd"); - - controllerConfigs = FastList.newInstance(); - for (File controllerFile: controllerFiles) { - URL controllerUrl = null; - try { - controllerUrl = controllerFile.toURI().toURL(); - } catch (MalformedURLException mue) { - throw new GeneralException(mue); - } - ControllerConfig cc = ConfigXMLReader.getControllerConfig(controllerUrl); - controllerConfigs.add(cc); - } - - controllerConfigs = controllerSearchResultsCache.putIfAbsentAndGet(cacheId, controllerConfigs); - } catch (IOException e) { - throw new GeneralException("Error finding controller XML files to lookup request references: " + e.toString(), e); - } - } + public static class Event { + public String type; + public String path; + public String invoke; + public boolean globalTransaction = true; + public Metrics metrics = null; - if (controllerConfigs != null) { - for (ControllerConfig cc: controllerConfigs) { - // make sure it has the named request in it - if (cc.requestMapMap.get(requestUri) != null) { - String requestUniqueId = cc.url.toExternalForm() + "#" + requestUri; - allControllerRequestSet.add(requestUniqueId); - // Debug.logInfo("========== In findControllerFilesWithRequest found controller with request here [" + requestUniqueId + "]", module); - } + public Event(Element eventElement) { + this.type = eventElement.getAttribute("type"); + this.path = eventElement.getAttribute("path"); + this.invoke = eventElement.getAttribute("invoke"); + this.globalTransaction = !"false".equals(eventElement.getAttribute("global-transaction")); + // Get metrics. + Element metricsElement = UtilXml.firstChildElement(eventElement, "metric"); + if (metricsElement != null) { + this.metrics = MetricsFactory.getInstance(metricsElement); } } - return allControllerRequestSet; - } - - public static Set<String> findControllerRequestUniqueForTargetType(String target, String urlMode) throws GeneralException { - if (UtilValidate.isEmpty(urlMode)) { - urlMode = "intra-app"; - } - - int indexOfDollarSignCurlyBrace = target.indexOf("${"); - int indexOfQuestionMark = target.indexOf("?"); - if (indexOfDollarSignCurlyBrace >= 0 && (indexOfQuestionMark < 0 || indexOfQuestionMark > indexOfDollarSignCurlyBrace)) { - // we have an expanded string in the requestUri part of the target, not much we can do about that... - return null; - } - - if ("intra-app".equals(urlMode)) { - // look through all controller.xml files and find those with the request-uri referred to by the target - String requestUri = UtilHttp.getRequestUriFromTarget(target); - - Set<String> controllerLocAndRequestSet = ConfigXMLReader.findControllerFilesWithRequest(requestUri, null); - // if (controllerLocAndRequestSet.size() > 0) Debug.logInfo("============== In findRequestNamesLinkedtoInWidget, controllerLocAndRequestSet: " + controllerLocAndRequestSet, module); - return controllerLocAndRequestSet; - } else if ("inter-app".equals(urlMode)) { - String webappMountPoint = UtilHttp.getWebappMountPointFromTarget(target); - if (webappMountPoint != null) webappMountPoint += "/WEB-INF"; - String requestUri = UtilHttp.getRequestUriFromTarget(target); - - Set<String> controllerLocAndRequestSet = ConfigXMLReader.findControllerFilesWithRequest(requestUri, webappMountPoint); - // if (controllerLocAndRequestSet.size() > 0) Debug.logInfo("============== In findRequestNamesLinkedtoInWidget, controllerLocAndRequestSet: " + controllerLocAndRequestSet, module); - return controllerLocAndRequestSet; - } else { - return FastSet.newInstance(); - } - } - - /** Loads the XML file and returns the root element */ - public static Element loadDocument(URL location) { - Document document; - try { - document = UtilXml.readXmlDocument(location, true); - Element rootElement = document.getDocumentElement(); - // rootElement.normalize(); - if (Debug.verboseOn()) Debug.logVerbose("Loaded XML Config - " + location, module); - return rootElement; - } catch (Exception e) { - Debug.logError(e, module); + public Event(String type, String path, String invoke, boolean globalTransaction) { + this.type = type; + this.path = path; + this.invoke = invoke; + this.globalTransaction = globalTransaction; } - return null; } public static class RequestMap { @@ -531,26 +536,21 @@ public class ConfigXMLReader { public boolean trackVisit = true; public boolean trackServerHit = true; public String description; - public Event event; - public boolean securityHttps = false; public boolean securityAuth = false; public boolean securityCert = false; public boolean securityExternalView = true; public boolean securityDirectRequest = true; - public Map<String, RequestResponse> requestResponseMap = FastMap.newInstance(); public Metrics metrics = null; public RequestMap(Element requestMapElement) { - // Get the URI info this.uri = requestMapElement.getAttribute("uri"); this.edit = !"false".equals(requestMapElement.getAttribute("edit")); this.trackServerHit = !"false".equals(requestMapElement.getAttribute("track-serverhit")); this.trackVisit = !"false".equals(requestMapElement.getAttribute("track-visit")); - // Check for security Element securityElement = UtilXml.firstChildElement(requestMapElement, "security"); if (securityElement != null) { @@ -560,18 +560,15 @@ public class ConfigXMLReader { this.securityExternalView = !"false".equals(securityElement.getAttribute("external-view")); this.securityDirectRequest = !"false".equals(securityElement.getAttribute("direct-request")); } - // Check for event Element eventElement = UtilXml.firstChildElement(requestMapElement, "event"); if (eventElement != null) { this.event = new Event(eventElement); } - // Check for description this.description = UtilXml.childElementValue(requestMapElement, "description"); - // Get the response(s) - for (Element responseElement: UtilXml.childElementList(requestMapElement, "response")) { + for (Element responseElement : UtilXml.childElementList(requestMapElement, "response")) { RequestResponse response = new RequestResponse(responseElement); requestResponseMap.put(response.name, response); } @@ -583,35 +580,16 @@ public class ConfigXMLReader { } } - public static class Event { - public String type; - public String path; - public String invoke; - public boolean globalTransaction = true; - public Metrics metrics = null; - - public Event(Element eventElement) { - this.type = eventElement.getAttribute("type"); - this.path = eventElement.getAttribute("path"); - this.invoke = eventElement.getAttribute("invoke"); - this.globalTransaction = !"false".equals(eventElement.getAttribute("global-transaction")); - // Get metrics. - Element metricsElement = UtilXml.firstChildElement(eventElement, "metric"); - if (metricsElement != null) { - this.metrics = MetricsFactory.getInstance(metricsElement); - } - } + public static class RequestResponse { - public Event(String type, String path, String invoke, boolean globalTransaction) { - this.type = type; - this.path = path; - this.invoke = invoke; - this.globalTransaction = globalTransaction; + public static RequestResponse createEmptyNoneRequestResponse() { + RequestResponse requestResponse = new RequestResponse(); + requestResponse.name = "empty-none"; + requestResponse.type = "none"; + requestResponse.value = null; + return requestResponse; } - } - public static final RequestResponse emptyNoneRequestResponse = RequestResponse.createEmptyNoneRequestResponse(); - public static class RequestResponse { public String name; public String type; public String value; @@ -622,6 +600,9 @@ public class ConfigXMLReader { public Map<String, String> redirectParameterMap = FastMap.newInstance(); public Map<String, String> redirectParameterValueMap = FastMap.newInstance(); + public RequestResponse() { + } + public RequestResponse(Element responseElement) { this.name = responseElement.getAttribute("name"); this.type = responseElement.getAttribute("type"); @@ -630,26 +611,17 @@ public class ConfigXMLReader { this.saveLastView = "true".equals(responseElement.getAttribute("save-last-view")); this.saveCurrentView = "true".equals(responseElement.getAttribute("save-current-view")); this.saveHomeView = "true".equals(responseElement.getAttribute("save-home-view")); - for (Element redirectParameterElement: UtilXml.childElementList(responseElement, "redirect-parameter")) { + for (Element redirectParameterElement : UtilXml.childElementList(responseElement, "redirect-parameter")) { if (UtilValidate.isNotEmpty(redirectParameterElement.getAttribute("value"))) { this.redirectParameterValueMap.put(redirectParameterElement.getAttribute("name"), redirectParameterElement.getAttribute("value")); } else { String from = redirectParameterElement.getAttribute("from"); - if (UtilValidate.isEmpty(from)) from = redirectParameterElement.getAttribute("name"); + if (UtilValidate.isEmpty(from)) + from = redirectParameterElement.getAttribute("name"); this.redirectParameterMap.put(redirectParameterElement.getAttribute("name"), from); } } } - - public RequestResponse() { } - - public static RequestResponse createEmptyNoneRequestResponse() { - RequestResponse requestResponse = new RequestResponse(); - requestResponse.name = "empty-none"; - requestResponse.type = "none"; - requestResponse.value = null; - return requestResponse; - } } public static class ViewMap {