You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cd...@apache.org on 2017/04/16 22:32:41 UTC
[50/72] [abbrv] [partial] flex-blazeds git commit: - Major code scrub
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/common/src/flex/graphics/ImageSnapshot.java
----------------------------------------------------------------------
diff --git a/common/src/flex/graphics/ImageSnapshot.java b/common/src/flex/graphics/ImageSnapshot.java
deleted file mode 100644
index 1dc97f0..0000000
--- a/common/src/flex/graphics/ImageSnapshot.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package flex.graphics;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * This class corresponds to mx.graphics.ImageSnapshot on the client. Clients may choose
- * to capture images and send them to the server via a RemoteObject call. The PDF generation
- * feature of LCDS may then be used to generate PDF's from these images.
- *
- */
-public class ImageSnapshot extends HashMap
-{
- private static final long serialVersionUID = 7914317354403674061L;
-
- /**
- * Default constructor.
- */
- public ImageSnapshot()
- {
- }
-
- private Map properties;
- private String contentType;
- private byte[] data;
- private int height;
- private int width;
-
- /**
- * The content type for the image encoding format that was used to capture
- * this snapshot.
- *
- * @return content type of this image
- */
- public String getContentType()
- {
- return contentType;
- }
-
- /**
- * Sets content type of this snapshot.
- *
- * @param value content type
- */
- public void setContentType(String value)
- {
- contentType = value;
- }
-
- /**
- * The encoded data representing the image snapshot.
- *
- * @return encoded image data
- */
- public byte[] getData()
- {
- return data;
- }
-
- /**
- * Set the encoded data representing the image snapshot.
- *
- * @param value byte array of image data
- */
- public void setData(byte[] value)
- {
- data = value;
- }
-
- /**
- * The image height in pixels.
- *
- * @return image height in pixels
- */
- public int getHeight()
- {
- return height;
- }
-
- /**
- * Set image height in pixels.
- *
- * @param value image height in pixels.
- */
- public void setHeight(int value)
- {
- height = value;
- }
-
- /**
- * Additional properties of the image.
- *
- * @return a map containing the dynamically set properties on this snapshot
- */
- public Map getProperties()
- {
- return properties;
- }
-
- /**
- * Sets the map of dynamic properties for this snapshot.
- *
- * @param value map containing dynamic properties for this snapshot
- */
- public void setProperties(Map value)
- {
- properties = value;
- }
-
- /**
- * The image width in pixels.
- *
- * @return width in pixels
- */
- public int getWidth()
- {
- return width;
- }
-
- /**
- * Set width in pixels.
- *
- * @param value width in pixels.
- */
- public void setWidth(int value)
- {
- width = value;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/common/src/flex/graphics/package-info.java
----------------------------------------------------------------------
diff --git a/common/src/flex/graphics/package-info.java b/common/src/flex/graphics/package-info.java
deleted file mode 100644
index 87093bf..0000000
--- a/common/src/flex/graphics/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package flex.graphics;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/common/src/flex/messaging/LocalizedException.java
----------------------------------------------------------------------
diff --git a/common/src/flex/messaging/LocalizedException.java b/common/src/flex/messaging/LocalizedException.java
deleted file mode 100644
index 641f7be..0000000
--- a/common/src/flex/messaging/LocalizedException.java
+++ /dev/null
@@ -1,378 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging;
-
-import java.util.Locale;
-
-import flex.messaging.util.PropertyStringResourceLoader;
-import flex.messaging.util.ResourceLoader;
-
-/**
- * The LocalizedException class is the base class for server
- * exceptions that use localized error message and details strings. This class overloads
- * <code>setMessage</code> and <code>setDetails</code> to support passing an error
- * number and an optional message variant that is used to look up a localized error
- * message or details string using a <code>ResourceLoader</code>. These methods also
- * set the number property of the exception instance.
- *
- * The various overloads optionally support specifying a target locale as well as
- * arguments to substitute into the localized string if it is parameterized.
- *
- * Localized error message and details strings are stored in the flex.messaging.errors
- * resource bundle. Entries must have the following format.
- * <ul>
- * <li>Error message: {number}[-{variant}]={message}</li>
- * <li>Error details: {number}[-{variant}]-details={details}</li>
- * </ul>
- *
- * @see ResourceLoader
- */
-public class LocalizedException extends RuntimeException
-{
- /** - transient, the resourceLoader for localized strings doesn't need to serialize. */
- protected transient ResourceLoader resourceLoader;
-
- protected int number;
-
- protected String message;
-
- protected String details;
-
- protected Throwable rootCause;
-
- /**
- * This number was generated using the 'serialver' command line tool.
- * This number should remain consistent with the version used by
- * ColdFusion to communicate with the message broker over RMI.
- */
- private static final long serialVersionUID = 7980539484335065853L;
-
- /**
- * Create a LocalizedException with the default ResourceLoader.
- */
- public LocalizedException()
- {
- super();
- }
-
- /**
- * Create a LocalizedException that will use the specified
- * ResourceLoader.
- *
- * @param resourceLoader The resource loader to use.
- */
- public LocalizedException(ResourceLoader resourceLoader)
- {
- this.resourceLoader = resourceLoader;
- }
-
- /**
- * Returns the exception details.
- *
- * @return The exception details.
- */
- public String getDetails()
- {
- return details;
- }
-
- /**
- * Sets the exception details.
- *
- * @param details The exception details.
- */
- public void setDetails(String details)
- {
- this.details = details;
- }
-
- /**
- * Sets the message property to a localized string based on error number.
- *
- * @param number The error number for this exception instance.
- */
- public void setMessage(int number)
- {
- setMessage(number, null, null, null);
- }
-
- /**
- * Sets the message property to a localized string based on error number and target locale.
- *
- * @param number The error number for this exception instance.
- * @param locale The target locale for error message lookup.
- */
- public void setMessage(int number, Locale locale)
- {
- setMessage(number, null, locale, null);
- }
-
- /**
- * Sets the message property to a localized string based on error number.
- * The passed arguments are substituted into the parameterized error message string.
- *
- * @param number The error number for this exception instance.
- * @param arguments The arguments to substitute into the error message.
- */
- public void setMessage(int number, Object[] arguments)
- {
- setMessage(number, null, null, arguments);
- }
-
- /**
- * Sets the message property to a localized string based on error number and variant.
- *
- * @param number The error number for this exception instance.
- * @param variant The variant of the error message for this instance.
- */
- public void setMessage(int number, String variant)
- {
- setMessage(number, variant, null, null);
- }
-
- /**
- * Sets the message property to a localized string based on error number, variant
- * and target locale.
- *
- * @param number The error number for this exception instance.
- * @param variant The variant of the error message for this instance.
- * @param locale The target locale for error message lookup.
- */
- public void setMessage(int number, String variant, Locale locale)
- {
- setMessage(number, variant, locale, null);
- }
-
- /**
- * Sets the message property to a localized string based on error number and variant.
- * The passed arguments are substituted into the parameterized error message string.
- *
- * @param number The error number for this exception instance.
- * @param variant The varient of the error message for this instance.
- * @param arguments The arguments to substitute into the error message.
- */
- public void setMessage(int number, String variant, Object[] arguments)
- {
- setMessage(number, variant, null, arguments);
- }
-
- /**
- * Sets the message property to a localized string based on error number, variant and
- * target locale. The passed arguments are substituted into the parameterized error
- * message string.
- *
- * @param number The error number for this exception instance.
- * @param variant The variant of the error message for this instance.
- * @param locale The target locale for error message lookup.
- * @param arguments The arguments to substitute into the error message.
- */
- public void setMessage(int number, String variant, Locale locale, Object[] arguments)
- {
- setNumber(number);
- ResourceLoader resources = getResourceLoader();
- setMessage(resources.getString(generateFullKey(number, variant), locale, arguments));
- }
-
- /**
- * Returns the exception message.
- *
- * @return The exception message.
- */
- public String getMessage()
- {
- return message;
- }
-
- /**
- * Sets the exception message.
- *
- * @param message The exception message.
- */
- public void setMessage(String message)
- {
- this.message = message;
- }
-
- /**
- * Sets the localized exception number.
- *
- * @param number The localized exception number.
- */
- public void setNumber(int number)
- {
- this.number = number;
- }
-
- /**
- * Returns the localized exception number.
- *
- * @return The localized exception number.
- */
- public int getNumber()
- {
- return number;
- }
-
- /**
- * Sets the details property to a localized string based on error number.
- *
- * @param number The error number to lookup details for.
- */
- public void setDetails(int number)
- {
- setDetails(number, null, null, null);
- }
-
- /**
- * Sets the details property to a localized string based on error number and variant.
- *
- * @param number The error number to lookup details for.
- * @param variant The variant of the details string to lookup.
- */
- public void setDetails(int number, String variant)
- {
- setDetails(number, variant, null, null);
- }
-
- /**
- * Sets the details property to a localized string based on error number, variant
- * and target locale.
- *
- * @param number The error number to lookup details for.
- * @param variant The variant of the details string to lookup.
- * @param locale The target locale for the lookup.
- */
- public void setDetails(int number, String variant, Locale locale)
- {
- setDetails(number, variant, locale, null);
- }
-
- /**
- * Sets the details property to a localized string based on error number and variant.
- * The passed arguments are substituted into the parameterized error details string.
- *
- * @param number The error number to lookup details for.
- * @param variant The variant of the details string to lookup.
- * @param arguments The arguments to substitute into the details string.
- */
- public void setDetails(int number, String variant, Object[] arguments)
- {
- setDetails(number, variant, null, arguments);
- }
-
-
- /**
- * Sets the details property to a localized string based on error number, variant,
- * and target locale. The passed arguments are substituted into the parameterized error
- * details string.
- *
- * @param number The error number to lookup a localized details string for.
- * @param variant The variant of the details string to lookup.
- * @param locale The target locale for the lookup.
- * @param arguments The arguments to substitute into the details string.
- */
- public void setDetails(int number, String variant, Locale locale, Object[] arguments)
- {
- setNumber(number);
- ResourceLoader resources = getResourceLoader();
- setDetails(resources.getString(generateDetailsKey(number, variant), locale, arguments));
- }
-
- /**
- * Returns the root cause for this exception.
- *
- * @return The root cause for this exception.
- */
- public Throwable getRootCause()
- {
- return rootCause;
- }
-
- /**
- * Sets the root cause for this exception.
- *
- * @param cause The root cause for this exception.
- */
- public void setRootCause(Throwable cause)
- {
- rootCause = cause;
- // Assign through to the base cause property to include it in general stack traces.
- initCause(cause);
- }
-
- /**
- * Returns the <code>ResourceLoader</code> used to load localized strings.
- *
- * @return The <code>ResourceLoader</code> used to load localized strings.
- */
- protected ResourceLoader getResourceLoader()
- {
- if (resourceLoader == null)
- resourceLoader = new PropertyStringResourceLoader();
-
- return resourceLoader;
- }
-
- /**
- * Generates the full key to lookup a localized error message based on an error number
- * and an optional variant followed by a "-details" suffix. If the variant is null, the
- * lookup key is the error number.
- *
- * @param number The error number.
- * @param variant The variant of the error message.
- * @return The full lookup key for a localized error message.
- */
- private String generateFullKey(int number, String variant)
- {
- return (variant != null) ? (number + "-" + variant) : String.valueOf(number);
- }
-
- /**
- * Generates the full key to lookup a localized details string based on an error number
- * and an optional variant followed by a "-details" suffix. If the variant is null, the
- * lookup key is the error number followed by a "-details" suffix.
- *
- * @param number The error number.
- * @param variant The variant of the details message.
- * @return The full lookup key for a localized details message.
- */
- private String generateDetailsKey(int number, String variant)
- {
- return (generateFullKey(number, variant) + "-details");
- }
-
- /**
- * Returns a string represenation of the exception.
- *
- * @return A string representation of the exception.
- */
- public String toString()
- {
- String result = super.toString();
- if (details != null)
- {
- StringBuffer buffer = new StringBuffer(result);
- if (!result.endsWith("."))
- {
- buffer.append(".");
- }
- buffer.append(' ').append(details);
- result = buffer.toString();
- }
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/common/src/flex/messaging/config/AbstractConfigurationParser.java
----------------------------------------------------------------------
diff --git a/common/src/flex/messaging/config/AbstractConfigurationParser.java b/common/src/flex/messaging/config/AbstractConfigurationParser.java
deleted file mode 100644
index 297f6fc..0000000
--- a/common/src/flex/messaging/config/AbstractConfigurationParser.java
+++ /dev/null
@@ -1,556 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.config;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-import flex.messaging.util.FileUtils;
-
-/**
- * Provides a common base for DOM / XPath based ConfigurationParsers.
- */
-public abstract class AbstractConfigurationParser implements ConfigurationParser, ConfigurationConstants, EntityResolver
-{
- protected ServicesConfiguration config;
- protected DocumentBuilder docBuilder;
- protected ConfigurationFileResolver fileResolver;
- protected TokenReplacer tokenReplacer;
-
- private Map fileByDocument = new HashMap();
-
- protected AbstractConfigurationParser()
- {
- initializeDocumentBuilder();
- tokenReplacer = new TokenReplacer();
- }
-
- /**
- * Parse the configurations in the configuration file.
- *
- * @param path the configuration file path
- * @param fileResolver the ConfigurationFileResolver object
- * @param config the ServicesConfiguration object
- **/
- public void parse(String path, ConfigurationFileResolver fileResolver, ServicesConfiguration config)
- {
- this.config = config;
- this.fileResolver = fileResolver;
- Document doc = loadDocument(path, fileResolver.getConfigurationFile(path));
- initializeExpressionQuery();
- parseTopLevelConfig(doc);
- }
-
- /**
- * Report Tokens.
- **/
- public void reportTokens()
- {
- tokenReplacer.reportTokens();
- }
-
- protected void initializeDocumentBuilder()
- {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setIgnoringComments(true);
- factory.setIgnoringElementContentWhitespace(true);
-
- try
- {
- docBuilder = factory.newDocumentBuilder();
- docBuilder.setEntityResolver(this);
- }
- catch (ParserConfigurationException ex)
- {
- // Error initializing configuration parser.
- ConfigurationException e = new ConfigurationException();
- e.setMessage(PARSER_INIT_ERROR);
- e.setRootCause(ex);
- throw e;
- }
- }
-
- protected Document loadDocument(String path, InputStream in)
- {
- try
- {
- Document doc;
-
- if (!in.markSupported())
- in = new BufferedInputStream(in);
-
- // Consume UTF-8 Byte Order Mark (BOM). The InputStream must support mark()
- // as FileUtils.consumeBOM sets a mark for 3 bytes in order to check for a BOM.
- String encoding = FileUtils.consumeBOM(in, null);
- if (FileUtils.UTF_8.equals(encoding) || FileUtils.UTF_16.equals(encoding))
- {
- InputSource inputSource = new InputSource(in);
- inputSource.setEncoding(encoding);
- doc = docBuilder.parse(inputSource);
- }
- else
- {
- doc = docBuilder.parse(in);
- }
-
- addFileByDocument(path, doc);
- doc.getDocumentElement().normalize();
- return doc;
- }
- catch (SAXParseException ex)
- {
- Integer line = new Integer(ex.getLineNumber());
- Integer col = new Integer(ex.getColumnNumber());
- String message = ex.getMessage();
-
- // Configuration error on line {line}, column {col}: '{message}'
- ConfigurationException e = new ConfigurationException();
- e.setMessage(XML_PARSER_ERROR, new Object[]{line, col, message});
- e.setRootCause(ex);
- throw e;
- }
- catch (SAXException ex)
- {
- ConfigurationException e = new ConfigurationException();
- e.setMessage(ex.getMessage());
- e.setRootCause(ex);
- throw e;
- }
- catch (IOException ex)
- {
- ConfigurationException e = new ConfigurationException();
- e.setMessage(ex.getMessage());
- e.setRootCause(ex);
- throw e;
- }
- }
-
- protected void addFileByDocument(String path, Node node)
- {
- String shortPath = path;
- if (shortPath != null && ((shortPath.indexOf('/') != -1) || (shortPath.indexOf("\\") != -1)) )
- {
- int start = 0;
- start = shortPath.lastIndexOf('/');
- if (start == -1)
- {
- start = shortPath.lastIndexOf("\\");
- }
- shortPath = path.substring(start + 1);
- }
- fileByDocument.put(node, shortPath);
- }
-
- protected String getSourceFileOf(Node node)
- {
- return (String)fileByDocument.get(node.getOwnerDocument());
- }
-
- protected abstract void parseTopLevelConfig(Document doc);
-
- protected abstract void initializeExpressionQuery();
- protected abstract Node selectSingleNode(Node source, String expression);
- protected abstract NodeList selectNodeList(Node source, String expression);
- protected abstract Object evaluateExpression(Node source, String expression);
-
- /**
- * Recursively processes all child elements for each of the properties in the provided
- * node list.
- * <p>
- * If a property is a simple element with a text value then it is stored as a String
- * using the element name as the property name. If the same element appears again then
- * the element is converted to a List of values and further occurences are simply added
- * to the List.
- * </p>
- * <p>
- * If a property element has child elements the children are recursively processed
- * and added as a Map.
- * </p>
- * <p>
- * The sourceFileName argument is used as a parameter for token replacement in order
- * to generate a meaningful error message when a token is failed to be replaced.
- * </p>
- * @param properties the NodeList object
- * @return ConfigMap the ConfigMap object
- */
- public ConfigMap properties(NodeList properties)
- {
- return properties(properties, ConfigurationConstants.UNKNOWN_SOURCE_FILE);
- }
-
- /**
- * Recursively processes all child elements for each of the properties in the provided
- * node list.
- *
- * @param properties the NodeList object
- * @param sourceFileName the source file name
- * @return ConfigMap the ConfigMap object
- */
- public ConfigMap properties(NodeList properties, String sourceFileName)
- {
- int length = properties.getLength();
- ConfigMap map = new ConfigMap(length);
-
- for (int p = 0; p < length; p++)
- {
- Node prop = properties.item(p);
- String propName = prop.getNodeName();
-
- if (propName != null)
- {
- propName = propName.trim();
- if (prop.getNodeType() == Node.ELEMENT_NODE)
- {
- NodeList attributes = selectNodeList(prop, "@*");
- NodeList children = selectNodeList(prop, "*");
- if (children.getLength() > 0 || attributes.getLength() > 0)
- {
- ConfigMap childMap = new ConfigMap();
-
- if (children.getLength() > 0)
- childMap.addProperties(properties(children, sourceFileName));
-
- if (attributes.getLength() > 0)
- childMap.addProperties(properties(attributes, sourceFileName));
-
- map.addProperty(propName, childMap);
- }
- else
- {
- // replace tokens before setting property
- tokenReplacer.replaceToken(prop, sourceFileName);
- String propValue = evaluateExpression(prop, ".").toString();
- map.addProperty(propName, propValue);
- }
- }
- else
- {
- // replace tokens before setting property
- tokenReplacer.replaceToken(prop, sourceFileName);
- map.addProperty(propName, prop.getNodeValue());
- }
- }
- }
-
- return map;
- }
-
- /**
- * Get the item value by name if the item is present in the current node as attribute or child element.
- *
- * @param node the current Node object
- * @param name item name
- * @return String the value of item
- **/
- public String getAttributeOrChildElement(Node node, String name)
- {
- String attr = evaluateExpression(node, "@" + name).toString().trim();
- if (attr.length() == 0)
- {
- attr = evaluateExpression(node, name).toString().trim();
- }
- return attr;
- }
-
- /**
- * Check whether the required items are present in the current node as child elements.
- *
- * @param node the current Node object
- * @param allowed the String array of the allowed items
- **/
- public void allowedChildElements(Node node, String[] allowed)
- {
- NodeList children = selectNodeList(node, "*");
-
- String unexpected = unexpected(children, allowed);
- if (unexpected != null)
- {
- // Unexpected child element '{0}' found in '{1}'.
- ConfigurationException ex = new ConfigurationException();
- Object[] args = {unexpected, node.getNodeName(), getSourceFilename(node)};
- ex.setMessage(UNEXPECTED_ELEMENT, args);
- throw ex;
- }
-
- NodeList textNodes = selectNodeList(node, "text()");
- for (int i = 0; i < textNodes.getLength(); i++)
- {
- String text = evaluateExpression(textNodes.item(i), ".").toString().trim();
- if (text.length() > 0)
- {
- //Unexpected text '{0}' found in '{1}'.
- ConfigurationException ex = new ConfigurationException();
- Object[] args = {text, node.getNodeName(), getSourceFilename(node)};
- ex.setMessage(UNEXPECTED_TEXT, args);
- throw ex;
- }
- }
- }
-
- /**
- * Check whether the required items are present in the current node as attributes.
- *
- * @param node the current Node object
- * @param allowed the String array of the allowed items
- **/
-
- public void allowedAttributes(Node node, String[] allowed)
- {
- NodeList attributes = selectNodeList(node, "@*");
- String unexpectedAttribute = unexpected(attributes, allowed);
- if (unexpectedAttribute != null)
- {
- //Unexpected attribute '{0}' found in '{1}'.
- ConfigurationException ex = new ConfigurationException();
- Object[] args =
- {unexpectedAttribute, node.getNodeName(), getSourceFilename(node)};
- ex.setMessage(UNEXPECTED_ATTRIBUTE, args);
- throw ex;
- }
- }
-
- private String getSourceFilename(Node node)
- {
- return getSourceFileOf(node);
- }
-
- /**
- * Check whether the allowed items are present in the current node as elements or attributes.
- *
- * @param node the current Node object
- * @param allowed the String array of the allowed items
- **/
-
- public void allowedAttributesOrElements(Node node, String[] allowed)
- {
- allowedAttributes(node, allowed);
- allowedChildElements(node, allowed);
- }
-
- /**
- * Check whether the required items are present in the current node as elements or attributes.
- *
- * @param node the current Node object
- * @param required the String array of the required items
- **/
- public void requiredAttributesOrElements(Node node, String[] required)
- {
- String nodeName = node.getNodeName();
- NodeList attributes = selectNodeList(node, "@*");
-
- List list = new ArrayList();
- for (int i = 0; i < required.length; i++)
- {
- list.add(required[i]);
- }
-
- String missingAttribute = null;
-
- do
- {
- missingAttribute = required(attributes, list);
- if (missingAttribute != null)
- {
- Node child = selectSingleNode(node, missingAttribute);
- if (child != null)
- {
- list.remove(missingAttribute);
- }
- else
- {
- // Attribute '{0}' must be specified for element '{1}'
- ConfigurationException ex = new ConfigurationException();
- ex.setMessage(MISSING_ATTRIBUTE, new Object[]{missingAttribute, nodeName});
- throw ex;
- }
- }
- }
- while (missingAttribute != null && list.size() > 0);
- }
-
- /**
- * Check whether the required items are present in the current node (Child elements).
- *
- * @param node the current Node object
- * @param required the String array of the required items
- **/
- public void requiredChildElements(Node node, String[] required)
- {
- String nodeName = node.getNodeName();
- NodeList children = selectNodeList(node, "*");
-
- List list = new ArrayList();
- for (int i = 0; i < required.length; i++)
- {
- list.add(required[i]);
- }
-
- String missing = required(children, list);
- if (missing != null)
- {
- // Child element '{0}' must be specified for element '{1}'
- ConfigurationException ex = new ConfigurationException();
- ex.setMessage(MISSING_ELEMENT, new Object[]{missing, nodeName});
- throw ex;
- }
- }
-
- /**
- * Check whether there is any unexpected item in the node list object.
- *
- * @param attributes the current NodeList object
- * @param allowed, the String array of allowed items
- * @return Name of the first unexpected item from the list of allowed attributes, or null if all
- * items present were allowed.
- **/
- public String unexpected(NodeList attributes, String[] allowed)
- {
- for (int i = 0; i < attributes.getLength(); i++)
- {
- Node attrib = attributes.item(i);
- String attribName = attrib.getNodeName();
- boolean match = false;
-
- for (int j = 0; j < allowed.length; j++)
- {
- String a = allowed[j];
- if (a.equals(attribName))
- {
- match = true;
- break;
- }
- }
-
- if (!match)
- {
- return attribName;
- }
-
- // Go ahead and replace tokens in node values.
- tokenReplacer.replaceToken(attrib, getSourceFilename(attrib));
- }
-
- return null;
- }
-
- /**
- * Check whether all the required items are present in the node list.
- * @param attributes the NodeList object
- * @param required a list of required items
- * @return Name of the first missing item from the list of required attributes, or null if all required
- * items were present.
- **/
- public String required(NodeList attributes, List required)
- {
- for (int i = 0; i < required.size(); i++)
- {
- boolean found = false;
- String req = (String)required.get(i);
-
- Node attrib = null;
- for (int j = 0; j < attributes.getLength(); j++)
- {
- attrib = attributes.item(j);
- String attribName = attrib.getNodeName();
-
- if (req.equals(attribName))
- {
- found = true;
- break;
- }
- }
-
- if (!found)
- {
- return req;
- }
-
- // Go ahead and replace tokens in node values.
- tokenReplacer.replaceToken(attrib, getSourceFilename(attrib));
-
- }
-
- return null;
- }
-
-
- /**
- * Tests whether a configuration element's id is a valid
- * identifier. An id must be a String that is not null,
- * greater than 0 characters in length and not contain
- * any of the list delimiter characters, i.e. commas,
- * semi-colons or colons.
- * @param id the Id String
- * @return boolean true if the id string is valid identification
- * @see ConfigurationConstants#LIST_DELIMITERS
- */
- public static boolean isValidID(String id)
- {
- if (id != null && id.length() > 0 && id.length() < 256)
- {
- char[] chars = id.toCharArray();
- for (int i = 0; i < chars.length; i++)
- {
- char c = chars[i];
- if (LIST_DELIMITERS.indexOf(c) != -1)
- {
- return false;
- }
- }
-
- return true;
- }
-
- return false;
- }
-
- /**
- * Implement {@link org.xml.sax.EntityResolver#resolveEntity(String, String)}.
- *
- * Flex Configuration does not need or use external entities, so disallow external entities
- * to prevent external entity injection attacks.
- * @param publicId the public Id
- * @param systemId the system Id
- * @return InputSource the InputSource object
- * @throws SAXException when the parsing process failed with exceptions
- * @throws IOException when the parsing process failed with exceptions
- */
- public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
- {
- // Flex Configuration does not allow external entity defined by publicId {0} and SystemId {1}
- ConfigurationException ex = new ConfigurationException();
- ex.setMessage(EXTERNAL_ENTITY_NOT_ALLOW, new Object[] { publicId, systemId });
- throw ex;
- }
-}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/common/src/flex/messaging/config/AdapterSettings.java
----------------------------------------------------------------------
diff --git a/common/src/flex/messaging/config/AdapterSettings.java b/common/src/flex/messaging/config/AdapterSettings.java
deleted file mode 100644
index 8dea7ca..0000000
--- a/common/src/flex/messaging/config/AdapterSettings.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.config;
-
-/**
- * A service must register the adapters that it will use
- * to process messages. Each destination selects an adapter
- * that processes the request by referring to it by id.
- * <p>
- * Adapters can also be configured with initialization
- * properties.
- * </p>
- */
-public class AdapterSettings extends PropertiesSettings
-{
- private final String id;
- private String sourceFile;
- private String className;
- private boolean defaultAdapter;
-
- /**
- * Used to construct a new set of properties to describe an adapter. Note
- * that an identity is required in order for destinations to refer to this
- * adapter.
- *
- * @param id the <code>String</code> representing the unique identity for
- * this adapter.
- */
- public AdapterSettings(String id)
- {
- super();
- this.id = id;
- }
-
- /**
- * The identity that destinations will refer to when assigning and adapter.
- *
- * @return the adapter identity as a <code>String</code>.
- */
- public String getId()
- {
- return id;
- }
-
- /**
- * Gets the name of the Java class implementation for this adapter.
- *
- * @return String The name of the adapter implementation.
- */
- public String getClassName()
- {
- return className;
- }
-
- /**
- * Sets name of the Java class implementation for this adapter. The
- * implementation is resolved from the current classpath and must extend
- * <code>flex.messaging.services.ServiceAdapter</code>.
- *
- * @param name the <code>String</code>
- */
- public void setClassName(String name)
- {
- className = name;
- }
-
- /**
- * Returns a boolean flag that determines whether this adapter is the
- * default for a service's destinations. Only one default adapter can be
- * set for a given service.
- *
- * @return boolean true if this adapter is the default.
- */
- public boolean isDefault()
- {
- return defaultAdapter;
- }
-
- /**
- * Sets a flag to determine whether an adapter will be used as the default
- * (for example, in the event that a destination did not specify an adapter
- * explicitly).
- *
- * Only one default can be set for a given service.
- *
- * @param b a <code>boolean</code> flag, true if this adapter should be
- * used as the default for the service.
- */
- public void setDefault(boolean b)
- {
- defaultAdapter = b;
- }
-
- /**
- * Internal use only.
- *
- */
- String getSourceFile()
- {
- return sourceFile;
- }
-
- /**
- * Internal use only.
- *
- */
- void setSourceFile(String file)
- {
- this.sourceFile = file;
- }
-}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/common/src/flex/messaging/config/ApacheXPathClientConfigurationParser.java
----------------------------------------------------------------------
diff --git a/common/src/flex/messaging/config/ApacheXPathClientConfigurationParser.java b/common/src/flex/messaging/config/ApacheXPathClientConfigurationParser.java
deleted file mode 100644
index 2ad8764..0000000
--- a/common/src/flex/messaging/config/ApacheXPathClientConfigurationParser.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.config;
-
-import org.apache.xpath.CachedXPathAPI;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import javax.xml.transform.TransformerException;
-
-/**
- * Uses Apache XPath on a DOM representation of a messaging configuration
- * file.
- * <p>
- * NOTE: Since reference ids are used between elements, certain
- * sections of the document need to be parsed first.
- * </p>
- *
- *
- */
-public class ApacheXPathClientConfigurationParser extends ClientConfigurationParser
-{
- private CachedXPathAPI xpath;
-
- protected void initializeExpressionQuery()
- {
- this.xpath = new CachedXPathAPI();
- }
-
- protected Node selectSingleNode(Node source, String expression)
- {
- try
- {
- return xpath.selectSingleNode(source, expression);
- }
- catch (TransformerException transformerException)
- {
- throw wrapException(transformerException);
- }
- }
-
- protected NodeList selectNodeList(Node source, String expression)
- {
- try
- {
- return xpath.selectNodeList(source, expression);
- }
- catch (TransformerException transformerException)
- {
- throw wrapException(transformerException);
- }
- }
-
- protected Object evaluateExpression(Node source, String expression)
- {
- try
- {
- return xpath.eval(source, expression);
- }
- catch (TransformerException transformerException)
- {
- throw wrapException(transformerException);
- }
- }
-
- private ConfigurationException wrapException(TransformerException exception)
- {
- ConfigurationException result = new ConfigurationException();
- result.setDetails(PARSER_INTERNAL_ERROR);
- result.setRootCause(exception);
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/common/src/flex/messaging/config/ChannelSettings.java
----------------------------------------------------------------------
diff --git a/common/src/flex/messaging/config/ChannelSettings.java b/common/src/flex/messaging/config/ChannelSettings.java
deleted file mode 100644
index badc6e2..0000000
--- a/common/src/flex/messaging/config/ChannelSettings.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.config;
-import flex.messaging.util.StringUtils;
-
-/**
- * The channel configuration is intentionally generic so that
- * other channels can be added in the future. This format also allows
- * server-endpoint specific and client code-generation specific settings
- * to be modified without affecting needing to update the configuration
- * parser.
- *
- *
- */
-public class ChannelSettings extends PropertiesSettings
-{
- protected String id;
- protected boolean remote;
- protected String serverId;
- private String sourceFile;
-
- protected SecurityConstraint constraint;
-
- // ENDPOINT
- protected String uri;
- protected int port;
- protected String endpointType;
- protected String clientType;
- protected boolean serverOnly;
-
- protected String parsedUri;
- protected boolean contextParsed;
- protected String parsedClientUri;
- protected boolean clientContextParsed;
-
- public ChannelSettings(String id)
- {
- this.id = id;
- }
-
- public String getId()
- {
- return id;
- }
-
- public boolean isRemote()
- {
- return remote;
- }
-
- public void setRemote(boolean value)
- {
- remote = value;
- }
-
- public String getServerId()
- {
- return serverId;
- }
-
- public void setServerId(String value)
- {
- serverId = value;
- }
-
- public String getClientType()
- {
- return clientType;
- }
-
- public void setClientType(String type)
- {
- this.clientType = type;
- }
-
- public boolean getServerOnly()
- {
- return serverOnly;
- }
-
- public void setServerOnly(boolean serverOnly)
- {
- this.serverOnly = serverOnly;
- }
-
- String getSourceFile()
- {
- return sourceFile;
- }
-
- void setSourceFile(String sourceFile)
- {
- this.sourceFile = sourceFile;
- }
-
- /**
- * A return value of 0 denotes no port in channel url.
- *
- * @return the port number for this channel
- * or 0 if channel url does not contain a port number
- */
- public int getPort()
- {
- return port;
- }
-
- public String getUri()
- {
- return uri;
- }
-
- public void setUri(String uri)
- {
- this.uri = uri;
- port = parsePort(uri);
- port = (port == -1)? 0 : port; // Replace -1 with 0.
- contextParsed = false;
- clientContextParsed = false;
- }
-
- public String getClientParsedUri(String contextPath)
- {
- if (!clientContextParsed)
- parseClientUri(this, contextPath);
-
- return parsedClientUri;
- }
-
- public String getEndpointType()
- {
- return endpointType;
- }
-
- public void setEndpointType(String type)
- {
- this.endpointType = type;
- }
-
- public SecurityConstraint getConstraint()
- {
- return constraint;
- }
-
- public void setConstraint(SecurityConstraint constraint)
- {
- this.constraint = constraint;
- }
-
- /**
- * In this client version of the URI parser we're just looking to
- * replace the context root tokens.
- */
- private static void parseClientUri(ChannelSettings cs, String contextPath)
- {
- if (!cs.clientContextParsed)
- {
- String channelEndpoint = cs.getUri().trim();
-
- // either {context-root} or {context.root} is legal
- channelEndpoint = StringUtils.substitute(channelEndpoint, "{context-root}", ConfigurationConstants.CONTEXT_PATH_TOKEN);
-
- if ((contextPath == null) && (channelEndpoint.indexOf(ConfigurationConstants.CONTEXT_PATH_TOKEN) != -1))
- {
- // context root must be specified before it is used
- ConfigurationException e = new ConfigurationException();
- e.setMessage(ConfigurationConstants.UNDEFINED_CONTEXT_ROOT, new Object[]{cs.getId()});
- throw e;
- }
-
- // simplify the number of combinations to test by ensuring our
- // context path always starts with a slash
- if (contextPath != null && !contextPath.startsWith("/"))
- {
- contextPath = "/" + contextPath;
- }
-
- // avoid double-slashes from context root by replacing /{context.root}
- // in a single replacement step
- if (channelEndpoint.indexOf(ConfigurationConstants.SLASH_CONTEXT_PATH_TOKEN) != -1)
- {
- // but avoid double-slash for /{context.root}/etc when we have
- // the default context root
- if ("/".equals(contextPath) && !ConfigurationConstants.SLASH_CONTEXT_PATH_TOKEN.equals(channelEndpoint))
- contextPath = "";
-
- channelEndpoint = StringUtils.substitute(channelEndpoint, ConfigurationConstants.SLASH_CONTEXT_PATH_TOKEN, contextPath);
- }
- // otherwise we have something like {server.name}:{server.port}{context.root}...
- else
- {
- // but avoid double-slash for {context.root}/etc when we have
- // the default context root
- if ("/".equals(contextPath) && !ConfigurationConstants.CONTEXT_PATH_TOKEN.equals(channelEndpoint))
- contextPath = "";
-
- channelEndpoint = StringUtils.substitute(channelEndpoint, ConfigurationConstants.CONTEXT_PATH_TOKEN, contextPath);
- }
-
- cs.parsedClientUri = channelEndpoint;
- cs.clientContextParsed = true;
- }
- }
-
- /**
- * Returns the host name in the URL, or an empty <tt>String</tt> if the URL does not contain a host name.
- *
- * @param url The URL to parse for a host name.
- * @return The host name or an empty <tt>String</tt> if the URL does not contain a host name.
- */
- // The reason for this method, rather than just using java.net.URL, is that the Java class
- // doesn't recognize many of our protocol types/schemes (e.g. rtmp, amfsocket, etc.)
- public static String parseHost(String url)
- {
- int start = url.indexOf(":/");
- if (start == -1)
- return "";
-
- start = start + 3; // Advance past all of '://' to beginning of host name.
- int end = url.indexOf('/', start);
- String hostnameWithPort = end == -1 ? url.substring(start) : url.substring(start, end);
-
- // IPv6 hostnames may contain ':' but the full value is wrapped in [] - skip past if necessary.
- int delim = hostnameWithPort.indexOf(']');
- delim = (delim != -1) ? hostnameWithPort.indexOf(':', delim) : hostnameWithPort.indexOf(':');
- if (delim == -1) // No port.
- return hostnameWithPort;
- else
- return hostnameWithPort.substring(0, delim);
- }
-
- /**
- * Returns the port number specified in the URL, or 0 if the URL
- * does not contain a port number, or -1 if the URL contains a server.port
- * token.
- *
- * @param url The URL to parse for a contained port number.
- * @return the port number in the URL, or 0 if the URL does not
- * contain a port number, or -1 if the URL contains a server.port token.
- */
- // The reason for this method, rather than just using java.net.URL, is that the Java class
- // doesn't recognize many of our protocol types/schemes (e.g. rtmp, amfsocket, etc.)
- public static int parsePort(String url)
- {
- // rtmp://localhost:2035/foo/bar
- // Find first slash with colon
- int start = url.indexOf(":/");
- if (start == -1)
- return 0;
-
- // Second slash should be +1, so start 3 after for ://
- start = start + 3;
- int end = url.indexOf('/', start);
-
- // take everything up until the next slash for servername:port
- String snp = end == -1 ? url.substring(start) : url.substring(start, end);
-
- // If IPv6 is in use, start looking after the square bracket.
- int delim = snp.indexOf(']');
- delim = (delim > -1)? snp.indexOf(':', delim) : snp.indexOf(':');
- if (delim == -1)
- return 0;
-
- int port = 0;
- try
- {
- int p = Integer.parseInt(snp.substring(delim + 1));
- port = (p > 0)? p : 0;
- }
- catch (Throwable t)
- {
- port = -1; // To denote that the url contained server.port token.
- }
- return port;
- }
-
- /**
- * Remove protocol, host, port and context-root from a given url.
- * Unlike parseClientUri, this method does not check if the channel
- * setting has been parsed before.
- *
- * @param url Original url.
- * @return Url with protocol, host, port and context-root removed.
- */
- public static String removeTokens(String url)
- {
- String channelEndpoint = url.toLowerCase().trim();
-
- // remove protocol and host info
- if (channelEndpoint.startsWith("http://") ||
- channelEndpoint.startsWith("https://") ||
- channelEndpoint.startsWith("rtmp://") ||
- channelEndpoint.startsWith("rtmps://")) {
- int nextSlash = channelEndpoint.indexOf('/', 8);
- // Check to see if there is a 'next slash', and also that the next
- // slash isn't the last character
- if ((nextSlash > 0) && (nextSlash != channelEndpoint.length()-1))
- channelEndpoint = channelEndpoint.substring(nextSlash);
- }
-
- // either {context-root} or {context.root} is legal
- channelEndpoint = StringUtils.substitute(channelEndpoint, "{context-root}", ConfigurationConstants.CONTEXT_PATH_TOKEN);
-
- // Remove context path info
- if (channelEndpoint.startsWith(ConfigurationConstants.CONTEXT_PATH_TOKEN))
- {
- channelEndpoint = channelEndpoint.substring(ConfigurationConstants.CONTEXT_PATH_TOKEN.length());
- }
- else if (channelEndpoint.startsWith(ConfigurationConstants.SLASH_CONTEXT_PATH_TOKEN))
- {
- channelEndpoint = channelEndpoint.substring(ConfigurationConstants.SLASH_CONTEXT_PATH_TOKEN.length());
- }
-
- // We also don't match on trailing slashes
- if (channelEndpoint.endsWith("/"))
- {
- channelEndpoint = channelEndpoint.substring(0, channelEndpoint.length() - 1);
- }
- return channelEndpoint;
- }
-}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/common/src/flex/messaging/config/ClientConfiguration.java
----------------------------------------------------------------------
diff --git a/common/src/flex/messaging/config/ClientConfiguration.java b/common/src/flex/messaging/config/ClientConfiguration.java
deleted file mode 100644
index df6f03f..0000000
--- a/common/src/flex/messaging/config/ClientConfiguration.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package flex.messaging.config;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- *
- */
-public class ClientConfiguration implements ServicesConfiguration
-{
- protected final Map channelSettings;
- protected final List defaultChannels;
- protected final List serviceSettings;
- protected LoggingSettings loggingSettings;
- protected Map configPaths;
- protected final Map clusterSettings;
- protected FlexClientSettings flexClientSettings;
-
- public ClientConfiguration()
- {
- channelSettings = new HashMap();
- defaultChannels = new ArrayList(4);
- clusterSettings = new HashMap();
- serviceSettings = new ArrayList();
- configPaths = new HashMap();
- }
-
- /*
- * CHANNEL CONFIGURATION
- */
-
- public void addChannelSettings(String id, ChannelSettings settings)
- {
- channelSettings.put(id, settings);
- }
-
- public ChannelSettings getChannelSettings(String ref)
- {
- return (ChannelSettings)channelSettings.get(ref);
- }
-
- public Map getAllChannelSettings()
- {
- return channelSettings;
- }
-
- /*
- * DEFAULT CHANNELS CONFIGURATION
- */
- public void addDefaultChannel(String id)
- {
- defaultChannels.add(id);
- }
-
- public List getDefaultChannels()
- {
- return defaultChannels;
- }
-
- /*
- * SERVICE CONFIGURATION
- */
-
- public void addServiceSettings(ServiceSettings settings)
- {
- serviceSettings.add(settings);
- }
-
- public ServiceSettings getServiceSettings(String serviceType)
- {
- for (Iterator iter = serviceSettings.iterator(); iter.hasNext();)
- {
- ServiceSettings serviceSettings = (ServiceSettings) iter.next();
- if (serviceSettings.getId().equals(serviceType))
- return serviceSettings;
- }
- return null;
- }
-
- public List getAllServiceSettings()
- {
- return serviceSettings;
- }
-
- /*
- * CLUSTER CONFIGURATION
- */
-
- public void addClusterSettings(ClusterSettings settings)
- {
- if (settings.isDefault())
- {
- for (Iterator it = clusterSettings.values().iterator(); it.hasNext(); )
- {
- ClusterSettings cs = (ClusterSettings) it.next();
-
- if (cs.isDefault())
- {
- ConfigurationException cx = new ConfigurationException();
- cx.setMessage(10214, new Object[] { settings.getClusterName(), cs.getClusterName() });
- throw cx;
- }
- }
- }
- if (clusterSettings.containsKey(settings.getClusterName()))
- {
- ConfigurationException cx = new ConfigurationException();
- cx.setMessage(10206, new Object[] { settings.getClusterName() });
- throw cx;
- }
- clusterSettings.put(settings.getClusterName(), settings);
- }
-
- public ClusterSettings getClusterSettings(String clusterId)
- {
- for (Iterator it = clusterSettings.values().iterator(); it.hasNext(); )
- {
- ClusterSettings cs = (ClusterSettings) it.next();
- if (cs.getClusterName() == null && clusterId == null)
- return cs; // handle null case
- if (cs.getClusterName() != null && cs.getClusterName().equals(clusterId))
- return cs;
- }
- return null;
- }
-
- public ClusterSettings getDefaultCluster()
- {
- for (Iterator it = clusterSettings.values().iterator(); it.hasNext(); )
- {
- ClusterSettings cs = (ClusterSettings) it.next();
- if (cs.isDefault())
- return cs;
- }
- return null;
- }
-
- /*
- * LOGGING CONFIGURATION
- */
- public void setLoggingSettings(LoggingSettings settings)
- {
- loggingSettings = settings;
- }
-
- public LoggingSettings getLoggingSettings()
- {
- return loggingSettings;
- }
-
-
- public void addConfigPath(String path, long modified)
- {
- configPaths.put(path, new Long(modified));
- }
-
- public Map getConfigPaths()
- {
- return configPaths;
- }
-
- public void setFlexClientSettings(FlexClientSettings value)
- {
- flexClientSettings = value;
- }
-
- public FlexClientSettings getFlexClientSettings()
- {
- return flexClientSettings;
- }
-
-}