diff options
Diffstat (limited to 'bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java')
-rw-r--r-- | bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java | 479 |
1 files changed, 0 insertions, 479 deletions
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java deleted file mode 100644 index 004abca8e..000000000 --- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java +++ /dev/null @@ -1,479 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2002-2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.wsi.internal.core.monitor.config.impl; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.Reader; - -import org.eclipse.wst.wsi.internal.core.WSIConstants; -import org.eclipse.wst.wsi.internal.core.WSIException; -import org.eclipse.wst.wsi.internal.core.WSIFileNotFoundException; -import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet; -import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl; -import org.eclipse.wst.wsi.internal.core.monitor.config.Comment; -import org.eclipse.wst.wsi.internal.core.monitor.config.ManInTheMiddle; -import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig; -import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfigReader; -import org.eclipse.wst.wsi.internal.core.monitor.config.Redirect; -import org.eclipse.wst.wsi.internal.core.util.MessageList; -import org.eclipse.wst.wsi.internal.core.util.TestUtils; -import org.eclipse.wst.wsi.internal.core.xml.XMLUtils; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -/** - * Defines the implementation used to read the monitor config documents. - * - * @version 1.0.1 - * @author Peter Brittenham (peterbr@us.ibm.com) - */ -public class MonitorConfigReaderImpl implements MonitorConfigReader -{ - /** - * Message list reference. - */ - protected MessageList messageList = null; - - /** - * Document location. - */ - protected String documentURI; - - /** - * Initialize monitor config. - */ - public void init(MessageList messageList) - { - this.messageList = messageList; - } - - /* (non-Javadoc) - * @see org.wsi.test.monitor.config.MonitorConfigReader#readMonitorConfig(String) - */ - public MonitorConfig readMonitorConfig(String monitorConfigURI) - throws WSIException - { - FileReader fileReader = null; - - try - { - fileReader = new FileReader(monitorConfigURI); - } - - catch (FileNotFoundException fnfe) - { - throw new WSIFileNotFoundException( - getMessage("config02", monitorConfigURI, "Could not find file:"), - fnfe); - } - - catch (Exception e) - { - throw new WSIException( - getMessage("config03", monitorConfigURI, "Could not read file:"), - e); - } - - return readMonitorConfig(fileReader); - } - - /* (non-Javadoc) - * @see org.wsi.test.monitor.config.MonitorConfigReader#readMonitorConfig(Reader) - */ - public MonitorConfig readMonitorConfig(Reader reader) throws WSIException - { - MonitorConfig monitorConfig = new MonitorConfigImpl(); - - // Parse XML - Document doc = XMLUtils.parseXML(reader); - - // Parse elements in the config document - parseConfigElement(monitorConfig, doc.getDocumentElement()); - - return monitorConfig; - } - - /* (non-Javadoc) - * @see org.wsi.test.document.DocumentReader#getLocation() - */ - public String getLocation() - { - return this.documentURI; - } - - /* (non-Javadoc) - * @see org.wsi.test.document.DocumentReader#setLocation(String) - */ - public void setLocation(String documentURI) - { - this.documentURI = documentURI; - } - - /** - * Parse config element. - */ - private void parseConfigElement(MonitorConfig monitorConfig, Element element) - throws WSIException - { - // ADD: Verify that this is the config element - - // Get first child element - Element nextElement = XMLUtils.getFirstChild(element); - - boolean isLogDurationDefine = false; - boolean isCleanupTimeoutSecondsDefine = false; - - // Process each child element - while (nextElement != null) - { - // <logFile> - if (isElement(nextElement, WSIConstants.ELEM_LOG_FILE)) - { - // Parse the log element - parseLogFileElement(monitorConfig, nextElement); - } - - // <logDuration> - else if (isElement(nextElement, WSIConstants.ELEM_LOG_DURATION)) - { - monitorConfig.setLogDuration(getIntValue(nextElement)); - if (monitorConfig.getLogDuration() < 0) - throw new IllegalArgumentException( - getMessage( - "config09", - WSIConstants.ELEM_LOG_DURATION, - "Parameter value can't be negative. Element name:")); - isLogDurationDefine = true; - } - - // <cleanupTimeoutSeconds> - else if ( - isElement(nextElement, WSIConstants.ELEM_CLEANUP_TIMEOUT_SECONDS)) - { - monitorConfig.setTimeout(getIntValue(nextElement)); - if (monitorConfig.getTimeout() < 0) - throw new IllegalArgumentException( - getMessage( - "config09", - WSIConstants.ELEM_CLEANUP_TIMEOUT_SECONDS, - "Parameter value can't be negative. Element name:")); - isCleanupTimeoutSecondsDefine = true; - } - - // <manInTheMiddle> - else if (isElement(nextElement, WSIConstants.ELEM_MAN_IN_THE_MIDDLE)) - { - ManInTheMiddle manInTheMiddle = new ManInTheMiddleImpl(); - monitorConfig.setManInTheMiddle(manInTheMiddle); - parseManInTheMiddleElement(manInTheMiddle, nextElement); - } - - // <comment> - else if (isElement(nextElement, WSIConstants.ELEM_COMMENT)) - { - Comment comment = new CommentImpl(); - comment.setText(XMLUtils.getText(nextElement)); - monitorConfig.setComment(comment); - } - - else - { - // ADD: handle invalid elements - } - - // Get next element - nextElement = XMLUtils.getNextSibling(nextElement); - } - - if (!isLogDurationDefine) - { - throw new IllegalArgumentException( - getMessage( - "config10", - WSIConstants.ELEM_LOG_DURATION, - "Element is missing. Element name:")); - } - if (!isCleanupTimeoutSecondsDefine) - { - throw new IllegalArgumentException( - getMessage( - "config10", - WSIConstants.ELEM_CLEANUP_TIMEOUT_SECONDS, - "Element is missing. Element name:")); - } - } - - /** - * Parse logFile element. - */ - private void parseLogFileElement( - MonitorConfig monitorConfig, - Element element) - throws WSIException - { - // Get the location attribute - monitorConfig.setLogLocation( - XMLUtils.getAttributeValue(element, WSIConstants.ATTR_LOCATION)); - - // Get the replace attribute - monitorConfig.setReplaceLog( - XMLUtils.getBooleanValue(element, WSIConstants.ATTR_REPLACE, false)); - - // Get first child element - Element nextElement = XMLUtils.getFirstChild(element); - - // Process each child element - while (nextElement != null) - { - // <addStyleSheet> - if (isElement(nextElement, WSIConstants.ELEM_ADD_STYLE_SHEET)) - { - AddStyleSheet addStyleSheet = new AddStyleSheetImpl(); - - // Parse the element - TestUtils.parseAddStyleSheet( - nextElement, - addStyleSheet, - WSIConstants.DEFAULT_LOG_XSL); - - // Set add style sheet - monitorConfig.setAddStyleSheet(addStyleSheet); - } - - else - { - // ADD: handle invalid elements - } - - // Get next element - nextElement = XMLUtils.getNextSibling(nextElement); - } - } - - /** - * Parse manIntheMiddle element. - */ - private void parseManInTheMiddleElement( - ManInTheMiddle manInTheMiddle, - Element element) - throws WSIException - { - // Get first child element - Element nextElement = XMLUtils.getFirstChild(element); - - // Process each child element - while (nextElement != null) - { - // <redirect> - if (isElement(nextElement, WSIConstants.ELEM_REDIRECT)) - { - Redirect redirect = new RedirectImpl(); - manInTheMiddle.addRedirect(redirect); - parseRedirectElement(redirect, nextElement); - } - - // <comment> - else if (isElement(nextElement, WSIConstants.ELEM_COMMENT)) - { - Comment comment = new CommentImpl(); - comment.setText(XMLUtils.getText(nextElement)); - manInTheMiddle.setComment(comment); - } - - else - { - // ADD: handle invalid elements - } - - // Get next element - nextElement = XMLUtils.getNextSibling(nextElement); - } - } - - /** - * Parse redirect element. - */ - private void parseRedirectElement(Redirect redirect, Element element) - throws WSIException - { - // Get first child element - Element nextElement = XMLUtils.getFirstChild(element); - - boolean isListenPortDefine = false; - boolean isSchemeAndHostPortDefine = false; - boolean isMaxConnectionsDefine = false; - boolean isReadTimeoutSecondsDefine = false; - - // Process each child element - while (nextElement != null) - { - // <listenPort> - if (isElement(nextElement, WSIConstants.ELEM_LISTEN_PORT)) - { - redirect.setListenPort(getIntValue(nextElement)); - isListenPortDefine = true; - } - - // <schemeAndHostPort> - else if (isElement(nextElement, WSIConstants.ELEM_SCHEME_AND_HOSTPORT)) - { - redirect.setHost(XMLUtils.getText(nextElement)); - isSchemeAndHostPortDefine = true; - } - - // <maxConnections> - else if (isElement(nextElement, WSIConstants.ELEM_MAX_CONNECTIONS)) - { - redirect.setMaxConnections(getIntValue(nextElement)); - isMaxConnectionsDefine = true; - } - - // <readTimeoutSeconds> - else if (isElement(nextElement, WSIConstants.ELEM_READ_TIMEOUT_SECONDS)) - { - redirect.setReadTimeoutSeconds(getIntValue(nextElement)); - if (redirect.getReadTimeoutSeconds() < 0) - { - throw new IllegalArgumentException( - getMessage( - "config09", - WSIConstants.ELEM_READ_TIMEOUT_SECONDS, - "Parameter value can't be negative. Element name:")); - } - isReadTimeoutSecondsDefine = true; - } - - // <comment> - else if (isElement(nextElement, WSIConstants.ELEM_COMMENT)) - { - Comment comment = new CommentImpl(); - comment.setText(XMLUtils.getText(nextElement)); - redirect.setComment(comment); - } - - else - { - // ADD: handle invalid elements - } - - // Get next element - nextElement = XMLUtils.getNextSibling(nextElement); - } - - if (!isListenPortDefine) - { - throw new IllegalArgumentException( - getMessage( - "config10", - WSIConstants.ELEM_LISTEN_PORT, - "Element is missing. Element name:")); - } - if (!isSchemeAndHostPortDefine) - { - throw new IllegalArgumentException( - getMessage( - "config10", - WSIConstants.ELEM_SCHEME_AND_HOSTPORT, - "Element is missing. Element name:")); - - } - if (!isMaxConnectionsDefine) - { - throw new IllegalArgumentException( - getMessage( - "config10", - WSIConstants.ELEM_MAX_CONNECTIONS, - "Element is missing. Element name:")); - } - if (!isReadTimeoutSecondsDefine) - { - throw new IllegalArgumentException( - getMessage( - "config10", - WSIConstants.ELEM_READ_TIMEOUT_SECONDS, - "Element is missing. Element name:")); - } - } - - /** - * Determine if this element matches specified local name in the analyzer config namespace. - */ - private boolean isElement(Element element, String localName) - { - return isElement( - element, - WSIConstants.NS_URI_WSI_MONITOR_CONFIG, - localName); - } - - /** - * Determine if this element matches specified local name in the analyzer config namespace. - */ - private boolean isElement( - Element element, - String namespace, - String localName) - { - return XMLUtils.isElement(element, namespace, localName); - } - - /** - * Get element text as an int. - */ - private int getIntValue(Element element) throws WSIException - { - int returnValue; - String intValue = null; - - // Get value as a string - if ((intValue = XMLUtils.getText(element)) == null) - { - throw new WSIException( - getMessage( - "config04", - element.getLocalName() + "Element must contain an integer value:")); - } - - else - { - returnValue = Integer.valueOf(intValue).intValue(); - } - - // Return int - return returnValue; - } - - /** - * Get message from resource bundle. - */ - private String getMessage(String messageID, String defaultMessage) - { - return getMessage(messageID, null, defaultMessage); - } - - /** - * Get message from resource bundle. - */ - private String getMessage( - String messageID, - String messageData, - String defaultMessage) - { - String message = defaultMessage; - if (messageList != null) - message = messageList.getMessage(messageID, messageData, defaultMessage); - else - message += " " + messageData + "."; - - return message; - } -} |