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:31:57 UTC

[06/72] [abbrv] [partial] flex-blazeds git commit: - Major code scrub

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/RedeployManager.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/RedeployManager.java b/core/src/flex/messaging/util/RedeployManager.java
deleted file mode 100644
index b14c812..0000000
--- a/core/src/flex/messaging/util/RedeployManager.java
+++ /dev/null
@@ -1,296 +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.util;
-
-import flex.messaging.FlexComponent;
-import flex.messaging.config.ConfigMap;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.TimeUnit;
-
-/**
- * This class watches for changes on files and forces a re-deploy by touching the specified files.
- * 
- *
- */
-public class RedeployManager implements FlexComponent
-{
-    private boolean enabled;
-    private long watchInterval;
-    private List watches;
-    private List touches;
-
-    private ScheduledExecutorService redeployService;
-    private boolean started;
-    
-    //--------------------------------------------------------------------------
-    //
-    // Constructor
-    //
-    //--------------------------------------------------------------------------
-    
-    /**
-     * Constructs a new <code>RedeployManager</code> with default settings.
-     */
-    public RedeployManager()
-    {
-        this(null);
-    }
-
-    /**
-     * Constructs a new <code>RedeployManager</code> with the supplied thread
-     * factory.
-     * 
-     * @param tf Thread factory to use for the scheduled service used.
-     */
-    public RedeployManager(ThreadFactory tf)
-    {
-        if (tf == null)
-            tf = new MonitorThreadFactory();
-
-        enabled = false;        
-        touches = new ArrayList();
-        watchInterval = 20;
-        watches = new ArrayList();
-        
-        redeployService = Executors.newSingleThreadScheduledExecutor(tf);
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    // Initialize, validate, start, and stop methods. 
-    //
-    //--------------------------------------------------------------------------
-   
-    /**
-     * Implements FlexComponents.initialize.
-     * This is no-op for RedeployManager as it does not have an id and all 
-     * its properties are directly settable. 
-     */
-    public void initialize(String id, ConfigMap properties)
-    {       
-        // No-op
-    }
-    
-    /**
-     * Implements FlexComponent.start.
-     * Starts the <code>RedeployManager</code>. 
-     */
-    public void start()
-    {      
-        if (!started && enabled)
-        {
-            redeployService.schedule(new RedeployTask(), 20 * 1000, TimeUnit.MILLISECONDS);
-            started = true;
-        }
-    }
-
-    /**
-     * Stops the <code>RedeployManager</code>. 
-     */
-    public void stop()
-    {
-        if (started && enabled)
-        {
-            started = false;
-        }
-        redeployService.shutdownNow();
-    }
-    
-    //--------------------------------------------------------------------------
-    //
-    // Public Methods
-    //         
-    //--------------------------------------------------------------------------
-    
-    /**
-     * Returns whether redeploy is enabled or not.
-     * 
-     * @return <code>true</code> if redeploy is enabled; otherwise <code>false</code>. 
-     */
-    public boolean isEnabled()
-    {
-        return enabled;
-    }
-    
-    /**
-     * Sets whether redeploy is enabled or not.
-     * 
-     * @param enabled Whether redeploy is enabled or not.
-     */
-    public void setEnabled(boolean enabled)
-    {
-        this.enabled = enabled;        
-    }
-
-    /**
-     * Implements FlexComponent.isStarted.
-     * Returns whether the RedeployManager is started or not.
-     * 
-     * @return <code>true</code> if the component is started; otherwise <code>false</code>.
-     */
-    public boolean isStarted()
-    {
-        return started;
-    }
-    
-    /**
-     * Returns the watch interval.
-     * 
-     * @return The watch interval.
-     */
-    public long getWatchInterval()
-    {
-        return watchInterval;
-    }
-
-    /**
-     * Sets the watch interval.
-     * 
-     * @param watchInterval The watch interval to set.
-     */
-    public void setWatchInterval(long watchInterval)
-    {
-        this.watchInterval = watchInterval;
-    }
-
-    /**
-     * Returns the list of watch files.
-     * 
-     * @return The list of watch files.
-     */
-    public List getWatchFiles()
-    {
-        return watches;
-    }
-
-    /**
-     * Adds a watch file. Note that the watch file set with this method should 
-     * not contain the context.root token.
-     * 
-     * @param watch The watch file to add.
-     */
-    public void addWatchFile(String watch)
-    {       
-        watches.add(watch);
-    }
-    
-    /**
-     * Sets the list of watch files. Note that watch files set with this method 
-     * should not contain contain the context.root token.
-     * 
-     * @param watches The list of watch files to set.
-     */
-    public void setWatchFiles(List watches)
-    {
-        this.watches = watches;
-    }
-    
-    /**
-     * Returns the list of touch files.
-     * 
-     * @return The list of touch files.
-     */
-    public List getTouchFiles()
-    {
-        return touches;
-    }
-
-    /**
-     * Adds a touch file. Note that the touch file set with this method should
-     * not contain the context.root token.
-     * 
-     * @param touch The touch file to add.
-     */
-    public void addTouchFile(String touch)
-    {
-        touches.add(touch);
-    }
-    
-    /**
-     * Sets the list of touch files. Note that touch files set with this method
-     * should not contain the context.root token.
-     * 
-     * @param touches The list of touch files to set.
-     */
-    public void setTouchFiles(List touches)
-    {
-        this.touches = touches;
-    }
-    
-    /**
-     * Forces the redeployment.
-     */
-    public void forceRedeploy()
-    {
-        Iterator iter = touches.iterator();
-        while (iter.hasNext())
-        {
-            String filename = (String)iter.next();
-            File file = new File(filename);
-            if (file.exists() && (file.isFile() || file.isDirectory()))
-            {
-                file.setLastModified(System.currentTimeMillis());
-            }
-        }
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    // Nested Classes
-    //
-    //--------------------------------------------------------------------------
-    
-    class MonitorThreadFactory implements ThreadFactory
-    {
-        public Thread newThread(Runnable r)
-        {
-            Thread t = new Thread(r);
-            t.setDaemon(true);
-            t.setName("RedeployManager");
-            return t;
-        }
-    }
-
-    class RedeployTask implements Runnable
-    {
-        public void run()
-        {
-            boolean redeploy = false;
-
-            // check if any of the redeploy watches have changed
-            Iterator iter = watches.iterator();
-            while (iter.hasNext() && !redeploy)
-            {
-                WatchedObject watched = (WatchedObject)iter.next();
-                if (!watched.isUptodate())
-                    redeploy = true;
-            }
-
-            if (redeploy)
-                forceRedeploy();
-            else
-                redeployService.schedule(new RedeployTask(), watchInterval * 1000, TimeUnit.MILLISECONDS);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/SettingsReplaceUtil.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/SettingsReplaceUtil.java b/core/src/flex/messaging/util/SettingsReplaceUtil.java
deleted file mode 100644
index 5edc4e0..0000000
--- a/core/src/flex/messaging/util/SettingsReplaceUtil.java
+++ /dev/null
@@ -1,369 +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.util;
-
-import flex.messaging.MessageException;
-import flex.messaging.FlexContext;
-
-import java.net.InetAddress;
-import java.net.NetworkInterface;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Methods for replacing tokens in config files
- * {context.root}, {context-root}, {server.name}, {server-name}, {server.port}, {server-port}.
- * 
- *
- */
-public class SettingsReplaceUtil
-{
-    private static final int TOKEN_NOT_SUPPORTED = 10129;
-    private static final int TOKEN_NOT_SUPPORTED_ANY = 10130;
-    private static final int PARSE_ERROR_DYNAMIC_URL = 10131;
-
-    public static final String SLASH_CONTEXT_PATH_TOKEN = "/{context.root}";
-    public static final String CONTEXT_PATH_TOKEN = "{context.root}";
-    public static final String CONTEXT_PATH_ALT_TOKEN = "{context-root}";
-    public static final String SERVER_NAME_TOKEN = "{server.name}";
-    public static final String SERVER_NAME_ALT_TOKEN = "{server-name}";
-    public static final String SERVER_PORT_TOKEN = "{server.port}";
-    public static final String SERVER_PORT_ALT_TOKEN = "{server-port}";
-
-    /**
-     * Replace {context.root} in the url string.
-     * @param url the url string
-     * @param contextPath the context path
-     * @return String the url string after replacement
-     */
-    public static String replaceContextPath(String url, String contextPath)
-    {
-        String token = CONTEXT_PATH_TOKEN;
-        int contextIndex = url.indexOf(CONTEXT_PATH_ALT_TOKEN);
-        if (contextIndex != -1)
-        {
-            token = CONTEXT_PATH_ALT_TOKEN;
-            url = StringUtils.substitute(url, CONTEXT_PATH_ALT_TOKEN, CONTEXT_PATH_TOKEN);
-        }
-        contextIndex = url.indexOf(CONTEXT_PATH_TOKEN);
-
-        if ((contextPath == null) && (contextIndex != -1))
-        {
-            MessageException me = new MessageException();
-            if (FlexContext.getHttpRequest() == null)
-                me.setMessage(TOKEN_NOT_SUPPORTED, "0", new Object[] {token});
-            else
-                me.setMessage(TOKEN_NOT_SUPPORTED, new Object[] {token});
-            throw me;
-        }
-        else if (contextPath != null)
-        {
-            if (contextIndex == 0)
-            {
-                url = contextPath + url.substring(CONTEXT_PATH_TOKEN.length());
-            }
-            else if (contextIndex > 0)
-            {
-                // Avoid adding //contextPath to URLs that have a /{context.root} pattern
-                if (url.indexOf(SLASH_CONTEXT_PATH_TOKEN) != -1)
-                {
-                    url = StringUtils.substitute(url, SLASH_CONTEXT_PATH_TOKEN, contextPath);
-                }
-                else
-                {
-                    url = StringUtils.substitute(url, CONTEXT_PATH_TOKEN, contextPath);
-                }
-            }
-        }
-
-        return url;
-    }
-
-    public static String replaceAllTokensGivenServerName(String url, String contextPath, String serverName,
-                                                         String serverPort, String serverProtocol)
-    {
-        if (url.startsWith("/"))
-        {
-            url = serverProtocol + "://{server.name}:{server.port}" + url;
-        }
-        url = SettingsReplaceUtil.replaceContextPath(url, contextPath);
-
-        String token = SERVER_NAME_TOKEN;
-        int serverNameIndex = url.indexOf(SERVER_NAME_ALT_TOKEN);
-        if (serverNameIndex != -1)
-        {
-            token = SERVER_NAME_ALT_TOKEN;
-            url = StringUtils.substitute(url, SERVER_NAME_ALT_TOKEN, SERVER_NAME_TOKEN);
-        }
-
-        serverNameIndex = url.indexOf(SERVER_NAME_TOKEN);
-        if ((serverName == null) && (serverNameIndex != -1))
-        {
-            MessageException me = new MessageException();
-            me.setMessage(TOKEN_NOT_SUPPORTED, new Object[] {token});
-            throw me;
-        }
-        else if ((serverName != null) && (serverNameIndex != -1))
-        {
-            url = StringUtils.substitute(url, SERVER_NAME_TOKEN, serverName);
-        }
-
-        token = SERVER_PORT_TOKEN;
-        int serverPortIndex = url.indexOf(SERVER_PORT_ALT_TOKEN);
-        if (serverPortIndex != -1)
-        {
-            token = SERVER_PORT_ALT_TOKEN;
-            url = StringUtils.substitute(url, SERVER_PORT_ALT_TOKEN, SERVER_PORT_TOKEN);
-        }
-
-        serverPortIndex = url.indexOf(SERVER_PORT_TOKEN);
-        if ((serverPort == null) && (serverPortIndex != -1))
-        {
-            MessageException me = new MessageException();
-            me.setMessage(TOKEN_NOT_SUPPORTED, new Object[] {token});
-            throw me;
-        }
-        else if ((serverPort != null) && (serverPortIndex != -1))
-        {
-            url = StringUtils.substitute(url, SERVER_PORT_TOKEN, serverPort);
-        }
-
-        return updateIPv6(url);
-    }
-
-    /**
-     * Replace all tokens in the urls.
-     * @param urls a list of urls
-     * @param contextPath the context path
-     * @return Set a set of urls after replacement
-     */
-    public static Set replaceAllTokensCalculateServerName(List urls, String contextPath)
-    {
-        List contextParsedUrls = new ArrayList(urls.size());
-        Set newURLs = new HashSet(urls.size());
-
-        // first replace context path
-        for (int i = 0; i < urls.size(); i++)
-        {
-            String url = (String)urls.get(i);
-            url = url.toLowerCase().trim();
-            url = SettingsReplaceUtil.replaceContextPath(url, contextPath);
-            contextParsedUrls.add(url);
-
-        }
-        // then replace {server.name}
-        replaceServerNameWithLocalHost(contextParsedUrls, newURLs);
-
-        return newURLs;
-    }
-
-
-    /**
-     * Replace {server.name} a horribly complicated way.  This is needed to support relative
-     * URLs.  I would like for us to rethink this someday and find a better way to do this
-     *
-     * @param urls the list of urls to replace
-     * @param newURLs the set of new urls
-     */
-    public static void replaceServerNameWithLocalHost(List urls, Set newURLs)
-    {
-        for (Iterator iterator = urls.iterator(); iterator.hasNext();)
-        {
-            String url = (String) iterator.next();
-            url = url.toLowerCase().trim();
-
-            String token = SERVER_PORT_TOKEN;
-            int serverPortIndex = url.indexOf(SERVER_PORT_ALT_TOKEN);
-            if (serverPortIndex != -1)
-            {
-                token = SERVER_PORT_ALT_TOKEN;
-                url = StringUtils.substitute(url, SERVER_PORT_ALT_TOKEN, SERVER_PORT_TOKEN);
-            }
-
-            serverPortIndex = url.indexOf(SERVER_PORT_TOKEN);
-            if (serverPortIndex != -1)
-            {
-                MessageException me = new MessageException();
-                me.setMessage(TOKEN_NOT_SUPPORTED_ANY, new Object[] {token});
-                throw me;
-            }
-
-            if (url.indexOf(SERVER_NAME_ALT_TOKEN) != 0)
-            {
-                StringUtils.substitute(url, SERVER_NAME_ALT_TOKEN, SERVER_NAME_TOKEN);
-            }
-
-            if (url.indexOf(SERVER_NAME_TOKEN) != 0)
-            {
-
-                try
-                {
-                    addLocalServerURL(url, "localhost", newURLs);
-                    addLocalServerURL(url, "127.0.0.1", newURLs);
-                    addLocalServerURL(url, "[::1]", newURLs); // for IPv6
-                    
-                    InetAddress local  = InetAddress.getLocalHost();
-                    addInetAddress(local, url, newURLs);
-
-                    // if we're using JDK 1.4 or higher, we use NetworkInterface to get the list of hostnames
-                    // and IP addresses.
-                    Enumeration e = NetworkInterface.getNetworkInterfaces();
-                    while (e.hasMoreElements())
-                    {
-                        NetworkInterface address = (NetworkInterface)e.nextElement();
-                        Enumeration e2 = (Enumeration)address.getInetAddresses();
-                        while (e2.hasMoreElements())
-                        {
-                            local = (InetAddress) e2.nextElement();
-                            addInetAddress(local, url, newURLs);
-                        }
-                    }
-                }
-                catch(Exception e)
-                {
-                    MessageException me = new MessageException();
-                    me.setMessage(PARSE_ERROR_DYNAMIC_URL);
-                    throw me;
-                }
-            }
-            else {
-                addParsedURL(url, newURLs);
-            }
-        }
-    }
-
-    private static void addInetAddress(InetAddress local, String url, Set newURLs) throws Exception
-    {
-        String localHostAddress = local.getHostAddress();
-        if (localHostAddress != null)
-        {
-            addLocalServerURL(url, localHostAddress, newURLs);
-        }
-
-        String localHostName = local.getHostName();
-        if (localHostName != null)
-        {
-            addLocalServerURL(url, localHostName, newURLs);
-
-            InetAddress[] addrs = InetAddress.getAllByName(localHostName);
-            for (int i = 0; i < addrs.length; i++)
-            {
-                InetAddress addr = addrs[i];
-                String hostName = addr.getHostName();
-                if (! hostName.equals(localHostName))
-                {
-                    addLocalServerURL(url, hostName, newURLs);
-                }
-                String hostAddress = addr.getHostAddress();
-                if (! hostAddress.equals(localHostAddress))
-                {
-                    addLocalServerURL(url, hostAddress, newURLs);
-                }
-            }
-        }
-    }
-
-    private static void addLocalServerURL(String url, String sub, Set newURLs)
-    {
-        String toSub = null;
-        
-        // if ipv6, then add square brackets
-        if (sub.indexOf(":") != -1)
-        {
-            StringBuffer ipv6Sub = new StringBuffer("[");
-            ipv6Sub.append(sub);
-            ipv6Sub.append("]");
-            toSub = ipv6Sub.toString();
-        }
-        else
-        {
-            toSub = sub;
-        }
-            
-        String newUrl = StringUtils.substitute(url, SERVER_NAME_TOKEN, toSub);
-        addParsedURL(newUrl, newURLs);
-    }
-
-    private static void addParsedURL(String url, Set newURLs)
-    {
-        if (! newURLs.contains(url))
-        {
-            newURLs.add(updateIPv6(url));
-        }
-    }
-    
-    /**
-     * Update IPv6 IP address.
-     * @param src the source IP address string
-     * @return String the updated IP address string
-     */
-    public static String updateIPv6(String src)
-    {
-        // if the ip address has "[" and "]" then it's IPv6, check that it's long form as well
-        if ((src != null) && (src.indexOf('[') != -1) && (src.indexOf(']') != -1))
-        {
-            // then, it's IPv6 and remove the square brackets and update to long form if required    
-            int start = src.indexOf('[');
-            int end = src.indexOf(']');
-
-            StringBuffer updated = new StringBuffer(src.substring(0, start + 1));
-            updated.append(updateToLongForm(src.substring(start + 1, end)));
-            updated.append(src.substring(end));
-            
-            return updated.toString();
-        }
-        else
-        {
-            return src;
-        }
-    }
-
-    protected static String updateToLongForm(String src)
-    {
-        // Let's see if the short form is in use.
-        int numberOfTokens = 0;
-        int doubleColonIndex = src.indexOf("::", 0);
-        if (doubleColonIndex != -1)
-        {
-            String[] hexTokens = src.split("\\:");
-            for (int i = 0; i < hexTokens.length; i++) 
-            {
-                if (!hexTokens[i].equals(""))
-                    numberOfTokens++;
-            }               
-
-            // Replace missing zeros
-            int numberOfMissingZeros = 8 - numberOfTokens;
-            if (numberOfMissingZeros > 0)
-            {
-                String replacement = "";
-                if (!src.startsWith("::"))
-                    replacement = ":";
-                while (numberOfMissingZeros-- > 0)
-                    replacement += "0:";                
-                src = src.replaceFirst("\\::", replacement);
-            }
-        }
-
-        return src;
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/TimeoutAbstractObject.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/TimeoutAbstractObject.java b/core/src/flex/messaging/util/TimeoutAbstractObject.java
deleted file mode 100644
index 1314ef0..0000000
--- a/core/src/flex/messaging/util/TimeoutAbstractObject.java
+++ /dev/null
@@ -1,177 +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.util;
-
-import java.util.concurrent.Future;
-
-/**
- * This class defines the default implementation of TimeoutCapable,
- * providing the default behavior for an object that is capable of timing
- * out where that time out mechanism is managed by TimeoutManager.
- *
- *
- */
-public abstract class TimeoutAbstractObject implements TimeoutCapable
-{
-    private long lastUse;
-    private volatile boolean timeoutCanceled;
-    private TimeoutManager timeoutManager;
-    private Runnable timeoutTask;
-    private Future timeoutFuture;
-    private long timeoutPeriod;
-    private final Object lock = new Object();
-
-    /** {@inheritDoc} */
-    public void cancelTimeout()
-    {
-        if (timeoutCanceled)
-            return;
-
-        boolean purged = false;
-        if ((timeoutManager != null) && (timeoutTask != null) && (timeoutFuture != null))
-            purged = timeoutManager.unscheduleTimeout(this);
-
-        if (!purged && (timeoutFuture != null))
-        {
-            timeoutFuture.cancel(false);
-        }
-
-        timeoutCanceled = true;
-    }
-
-    /** {@inheritDoc} */
-    public long getLastUse()
-    {
-        synchronized (lock)
-        {
-            return lastUse;
-        }
-    }
-
-    /**
-     * Updates the time this object was last used.
-     * @param lastUse time this object was last used
-     */
-    public void setLastUse(long lastUse)
-    {
-        synchronized (lock)
-        {
-            this.lastUse = lastUse;
-        }
-    }
-
-    /**
-     * Updates the time this object was last used to be the current time.
-     */
-    public void updateLastUse()
-    {
-        synchronized (lock)
-        {
-            this.lastUse = System.currentTimeMillis();
-        }
-    }
-
-    /**
-     * Returns manager responsible for this object.
-     * @return manager responsible for this object
-     */
-    public TimeoutManager getTimeoutManager()
-    {
-        synchronized (lock)
-        {
-            return timeoutManager;
-        }
-    }
-
-    /**
-     * Sets the manager responsible for this object.
-     * @param timeoutManager manager responsible for this object
-     */
-    public void setTimeoutManager(TimeoutManager timeoutManager)
-    {
-        synchronized (lock)
-        {
-            this.timeoutManager = timeoutManager;
-        }
-    }
-
-    /**
-     * Returns the runnable task that will be executed once this object times out.
-     * @return the runnable task that will be executed once this object times out
-     */
-    public Runnable getTimeoutTask()
-    {
-        synchronized (lock)
-        {
-            return timeoutTask;
-        }
-    }
-
-    /**
-     * Sets the runnable task that will be executed once this object times out.
-     * @param timeoutTask the runnable task that will be executed once this object times out
-     */
-    public void setTimeoutTask(Runnable timeoutTask)
-    {
-        synchronized (lock)
-        {
-            this.timeoutTask = timeoutTask;
-        }
-    }
-
-    /**
-     * Return the object encapsulating result of the execution of this object once it has timed out.
-     * @return the object encapsulating result of the execution of this object once it has timed out
-     */
-    public Future getTimeoutFuture()
-    {
-        synchronized (lock)
-        {
-            return timeoutFuture;
-        }
-    }
-
-    /** {@inheritDoc} */
-    public void setTimeoutFuture(Future timeoutFuture)
-    {
-        synchronized (lock)
-        {
-            this.timeoutFuture = timeoutFuture;
-        }
-    }
-
-    /** {@inheritDoc} */
-    public long getTimeoutPeriod()
-    {
-        synchronized (lock)
-        {
-            return timeoutPeriod;
-        }
-    }
-
-    /**
-     * Set the time to be elapsed before this object times out and its associated task gets executed.
-     * @param timeoutPeriod the time to be elapsed before this object times out and its associated task gets executed
-     */
-    public void setTimeoutPeriod(long timeoutPeriod)
-    {
-        synchronized (lock)
-        {
-            this.timeoutPeriod = timeoutPeriod;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/TimeoutCapable.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/TimeoutCapable.java b/core/src/flex/messaging/util/TimeoutCapable.java
deleted file mode 100644
index e6226ae..0000000
--- a/core/src/flex/messaging/util/TimeoutCapable.java
+++ /dev/null
@@ -1,64 +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.util;
-
-import java.util.concurrent.Future;
-
-/**
- * This interface defines the contract for an object that can time
- * out, where the timeout mechanism is provided by the TimeoutManager
- * class.
- *
- *
- */
-public interface TimeoutCapable
-{
-    /**
-     * Revoke the timeout task, removing it from future evaluation and execution.
-     */
-    void cancelTimeout();
-
-    /**
-     * Determine the timestamp of this object's last use, where "last use" should
-     * denote all tasks that eliminate idleness.
-     * 
-     * @return last used time
-     */
-    long getLastUse();
-
-    /**
-     * Determine the time, in milliseconds, that this object is allowed to idle
-     * before having its timeout method invoked.
-     * 
-     * @return timeout period
-     */
-    long getTimeoutPeriod();
-
-    /**
-     * Set the Future used to provide access to the Runnable task that invokes
-     * the timeout method. A Future is used instead of a Runnable so that it may
-     * be canceled according to the Java concurrency standard.
-     * 
-     * @param future Future used to provide access to the Runnable task that invokes the timeout method.
-     */
-    void setTimeoutFuture(Future future);
-
-    /**
-     * Inform the object that it has timed out.
-     */
-    void timeout();
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/TimeoutManager.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/TimeoutManager.java b/core/src/flex/messaging/util/TimeoutManager.java
deleted file mode 100644
index 3c794d3..0000000
--- a/core/src/flex/messaging/util/TimeoutManager.java
+++ /dev/null
@@ -1,231 +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.util;
-
-import flex.messaging.log.Log;
-import flex.messaging.log.LogCategories;
-
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.ScheduledThreadPoolExecutor;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-
-/**
- * This class provides a means of managing TimeoutCapable objects. It leverages
- * facilities in the the Java concurrency package to provide a common utility
- * for scheduling timeout Futures and managing the underlying worker thread pools.
- *
- *
- */
-public class TimeoutManager
-{
-    private static final String LOG_CATEGORY = LogCategories.TIMEOUT;
-
-    private ScheduledThreadPoolExecutor timeoutService;
-    
-    /**
-     * Default constructor calls parameterized constructor will a null factory argument.
-     */
-    public TimeoutManager()
-    {
-        this(null);
-    }
-
-    /**
-     * Constructs a new TimeoutManager using the passed in factory for thread creation.
-     * and a single thread of the TimeoutManager.
-     * 
-     * @param tf ThreadFactory
-     */
-    public TimeoutManager(ThreadFactory tf)
-    {
-        this(tf, 1);
-    }
-
-    /**
-     * Constructs a new TimeoutManager using the passe din factory for thread creation
-     * and the passed in number of threads for TimeoutManager to use.
-     * 
-     * @param tf The ThreadFactory to use.
-     * @param numberOfThreads The number of threads for the ThreadFactory to use.
-     */
-    public TimeoutManager(ThreadFactory tf, int numberOfThreads)
-    {
-        if (tf == null)
-        {
-            tf = new MonitorThreadFactory();
-        }
-        if (numberOfThreads < 1)
-            numberOfThreads = 1;
-        timeoutService = new ScheduledThreadPoolExecutor(numberOfThreads, tf);
-    }
-
-    /**
-     * Schedule a task to be executed in the future.
-     * 
-     * @param t task to be executed at some future time
-     * @return a Future object that enables access to the value(s) returned by the task
-     */
-    public Future scheduleTimeout(TimeoutCapable t)
-    {
-        Future future = null;
-        if (t.getTimeoutPeriod() > 0)
-        {
-            Runnable timeoutTask = new TimeoutTask(t);
-            future = timeoutService.schedule(timeoutTask, t.getTimeoutPeriod(), TimeUnit.MILLISECONDS);
-            t.setTimeoutFuture(future);
-            if (t instanceof TimeoutAbstractObject)
-            {
-                TimeoutAbstractObject timeoutAbstract = (TimeoutAbstractObject)t;
-                timeoutAbstract.setTimeoutManager(this);
-                timeoutAbstract.setTimeoutTask(timeoutTask);
-            }
-            if (Log.isDebug())
-                Log.getLogger(LOG_CATEGORY).debug("TimeoutManager '" + System.identityHashCode(this) + "' has scheduled instance '" +
-                    System.identityHashCode(t) + "' of type '" + t.getClass().getName() + "' to be timed out in " + t.getTimeoutPeriod() + " milliseconds. Task queue size: "+ timeoutService.getQueue().size());
-        }
-        return future;
-    }
-
-    /**
-     * Cancel the execution of a future task and remove all references to it.
-     * 
-     * @param timeoutAbstract the task to be canceled
-     * @return true if cancellation were successful
-     */
-    public boolean unscheduleTimeout(TimeoutAbstractObject timeoutAbstract)
-    {
-        Object toRemove = timeoutAbstract.getTimeoutFuture();
-        /*
-         * In more recent versions of the backport, they are requiring that we
-         * pass in the Future returned by the schedule method.  This should always 
-         * implement Runnable even in 2.2 but I'm a little paranoid here so just
-         * to be sure, if we get a future which is not a runnable we go back to the old
-         * code which calls the remove on the instance we passed into the schedule method.
-         */
-        if (!(toRemove instanceof Runnable))
-            toRemove = timeoutAbstract.getTimeoutTask();
-        if (timeoutService.remove((Runnable) toRemove))
-        {
-            if (Log.isDebug())
-                Log.getLogger(LOG_CATEGORY).debug("TimeoutManager '" + System.identityHashCode(this) + "' has removed the timeout task for instance '" +
-                    System.identityHashCode(timeoutAbstract) + "' of type '" + timeoutAbstract.getClass().getName() + "' that has requested its timeout be cancelled. Task queue size: "+ timeoutService.getQueue().size());
-        }
-        else
-        {
-            Future timeoutFuture = timeoutAbstract.getTimeoutFuture();
-            timeoutFuture.cancel(false); // Don't interrupt it if it's running.
-            if (Log.isDebug())
-                Log.getLogger(LOG_CATEGORY).debug("TimeoutManager '" + System.identityHashCode(this) + "' cancelling timeout task for instance '" +
-                    System.identityHashCode(timeoutAbstract) + "' of type '" + timeoutAbstract.getClass().getName() + "' that has requested its timeout be cancelled. Task queue size: "+ timeoutService.getQueue().size());
-            if (timeoutFuture.isDone())
-            {
-                timeoutService.purge(); // Force the service to give up refs to task immediately rather than hanging on to them.
-                if (Log.isDebug())
-                    Log.getLogger(LOG_CATEGORY).debug("TimeoutManager '" + System.identityHashCode(this) + "' purged queue of any cancelled or completed tasks. Task queue size: "+ timeoutService.getQueue().size());
-            }
-        }
-        
-        // to aggressively clean up memory remove the reference from the unscheduled timeout to its 
-        // time out object
-        Object unscheduledTimeoutTask = timeoutAbstract.getTimeoutTask();
-        if (unscheduledTimeoutTask != null && unscheduledTimeoutTask instanceof TimeoutTask)
-            ((TimeoutTask)timeoutAbstract.getTimeoutTask()).clearTimeoutCapable();
-        
-        return true;
-    }
-    
-    /**
-     * Cancel all outstanding and any future tasks.
-     */
-    public void shutdown()
-    {
-        timeoutService.shutdownNow();
-        // shutdownNow() returns List<Runnable> for all unexecuted tasks
-        // but we ignore these because we're only queuing dependent tasks
-        // for timed execution and they can be safely discarded when the 
-        // parent object goes away and shuts down the TimeoutManager it is using.
-        // Also, we may need to introduce an interface that encompasses 
-        // using either a ScheduledThreadPoolExecutor or a CommonJ Timer;
-        // in the case of a CommonJ Timer only a stop() method is provided 
-        // which does not return handles to any queued, unexecuted tasks.
-    }
-
-    class MonitorThreadFactory implements ThreadFactory
-    {
-        public Thread newThread(Runnable r)
-        {
-            Thread t = new Thread(r);
-            t.setDaemon(true);
-            t.setName("TimeoutManager");
-            return t;
-        }
-    }
-
-    class TimeoutTask implements Runnable
-    {
-        private TimeoutCapable timeoutObject;
-        
-        
-        /**
-         * Removes the reference from this timeout task to the object that would 
-         * have been timed out.  This is useful for memory clean up when timeouts are unscheduled. 
-         */
-        public void clearTimeoutCapable()
-        {
-            timeoutObject = null;
-        }
-
-        public TimeoutTask(TimeoutCapable timeoutObject)
-        {
-            this.timeoutObject = timeoutObject;
-        }
-
-        public void run()
-        {
-            // Because of the weird clearTimeCapable() in the middle of timeout call, we got NPE in the debug log level.
-            // Now copy the reference to local varable
-            TimeoutCapable timeoutObject = this.timeoutObject;
-            long inactiveMillis = System.currentTimeMillis() - timeoutObject.getLastUse();
-            if (inactiveMillis >= timeoutObject.getTimeoutPeriod())
-            {
-                try
-                {
-                    timeoutObject.timeout();
-                    
-                    if (Log.isDebug())
-                        Log.getLogger(LOG_CATEGORY).debug("TimeoutManager '" + System.identityHashCode(TimeoutManager.this) + "' has run the timeout task for instance '" +
-                            System.identityHashCode(timeoutObject) + "' of type '" + timeoutObject.getClass().getName() + "'. Task queue size: "+ timeoutService.getQueue().size());
-                }
-                catch (Throwable t)
-                {
-                    if (Log.isError())
-                        Log.getLogger(LOG_CATEGORY).error("TimeoutManager '" + System.identityHashCode(TimeoutManager.this) + "' encountered an error running the timeout task for instance '" +
-                            System.identityHashCode(timeoutObject) + "' of type '" + timeoutObject.getClass().getName() + "'. Task queue size: "+ timeoutService.getQueue().size(), t);   
-                }
-            }
-            else
-            {
-                // Reschedule timeout and store new Future for cancellation.
-                timeoutObject.setTimeoutFuture(timeoutService.schedule(this, (timeoutObject.getTimeoutPeriod()-inactiveMillis), TimeUnit.MILLISECONDS));
-                if (Log.isDebug())
-                    Log.getLogger(LOG_CATEGORY).debug("TimeoutManager '" + System.identityHashCode(TimeoutManager.this) + "' has rescheduled a timeout for the active instance '" +
-                        System.identityHashCode(timeoutObject) + "' of type '" + timeoutObject.getClass().getName() + "'. Task queue size: "+ timeoutService.getQueue().size());
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/ToStringPrettyPrinter.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/ToStringPrettyPrinter.java b/core/src/flex/messaging/util/ToStringPrettyPrinter.java
deleted file mode 100644
index 9f4b434..0000000
--- a/core/src/flex/messaging/util/ToStringPrettyPrinter.java
+++ /dev/null
@@ -1,232 +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.util;
-
-import java.io.IOException;
-import java.lang.reflect.Array;
-import java.util.Collection;
-import java.util.IdentityHashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.w3c.dom.Document;
-
-import flex.messaging.io.PropertyProxy;
-import flex.messaging.io.PropertyProxyRegistry;
-import flex.messaging.log.Log;
-
-/**
- * Recursively convert an Object graph into a String
- * for logging/debugging purposes. Cyclical references are
- * handled by tracking known objects.
- * 
- *  TODO: Remove check for custom toString implementations... we
- *  should be able to extend the PrettyPrintable interface to handle
- *  any custom toString requirements without needing to actually call
- *  toString on a custom object.
- */
-public class ToStringPrettyPrinter extends BasicPrettyPrinter
-{
-    private IdentityHashMap knownObjects;
-    private int knownObjectsCount;
-
-    /**
-     * Default constructor.
-     */
-    public ToStringPrettyPrinter()
-    {
-        super();
-    }
-    
-    /** {@inheritDoc} */
-    public String prettify(Object o)
-    {
-        try
-        {
-            knownObjects = new IdentityHashMap();
-            knownObjectsCount = 0;
-            return super.prettify(o);    
-        }
-        finally
-        {
-            knownObjects = null;
-            knownObjectsCount = 0;
-        }
-    }
-    
-    /** {@inheritDoc} */
-    public Object copy()
-    {
-        return new ToStringPrettyPrinter();
-    }
-
-    protected void prettifyComplexType(Object o)
-    {
-        // Avoid circular references
-        if (!isKnownObject(o))
-        {
-            StringBuffer header = new StringBuffer(); 
-
-            Class c = o.getClass();
-
-            if (hasCustomToStringMethod(c))
-            {
-                trace.write(String.valueOf(o));
-            }
-            else if (o instanceof Collection)
-            {
-                Collection col = ((Collection)o);
-                header.append(c.getName()).append(" (Collection size:").append(col.size()).append(")");
-                trace.startArray(header.toString());
-
-                Iterator it = col.iterator();
-                int i = 0;
-                while (it.hasNext())
-                {
-                    trace.arrayElement(i);
-                    internalPrettify(it.next());
-                    trace.newLine();
-                    i++;
-                }
-                
-                trace.endArray();
-            }
-            else if (c.isArray())
-            {
-                Class componentType = c.getComponentType();
-                int count = Array.getLength(o);
-
-                header.append(componentType.getName()).append("[] (Array length:").append(count).append(")");
-                trace.startArray(header.toString());
-                
-                // Check whether it is primitive array case, we omit printing the content of primitive array
-                // To avoid cases like large byte array. 
-                if (!componentType.isPrimitive())
-                {
-                    for (int i = 0; i < count; i++)
-                    {
-                        trace.arrayElement(i);
-                        internalPrettify(Array.get(o, i));
-                        trace.newLine();
-                    }
-                }
-
-                trace.endArray();
-            }
-            else if (o instanceof Document)
-            {
-                try
-                {
-                    String xml = XMLUtil.documentToString((Document)o);
-                    trace.write(xml);
-                }
-                catch (IOException ex)
-                {
-                    trace.write("(Document not printable)");
-                }
-            }
-            else
-            {
-                PropertyProxy proxy = PropertyProxyRegistry.getProxy(o);
-                
-                if (o instanceof PrettyPrintable)
-                {
-                    PrettyPrintable pp = (PrettyPrintable)o;
-                    header.append(pp.toStringHeader()); 
-                }
-                else
-                {
-                    header.append(c.getName());
-                    if (o instanceof Map)
-                    {
-                        header.append(" (Map size:").append(((Map)o).size()).append(")");
-                    }
-                }
-
-                trace.startObject(header.toString());
-
-                List propertyNames = proxy.getPropertyNames();
-                if (propertyNames != null)
-                {
-                    Iterator it = propertyNames.iterator();
-                    while (it.hasNext())
-                    {
-                        String propName = (String)it.next();
-                        trace.namedElement(propName);
-                        
-                        Object value = null;
-                        if (trace.nextElementExclude)
-                        {
-                            trace.nextElementExclude = false;
-                            value = Log.VALUE_SUPRESSED;
-                        }
-                        else
-                        {
-                            if (o instanceof PrettyPrintable)
-                            {
-                                String customToString = ((PrettyPrintable)o).toStringCustomProperty(propName);
-                                if (customToString != null)
-                                {
-                                    value = customToString;
-                                }
-                            }
-
-
-                            if (value == null)
-                            {
-                                value = proxy.getValue(propName);
-                            }
-                        }
-
-                        internalPrettify(value);
-                        trace.newLine();
-                    }
-                }
-
-                trace.endObject();
-            }
-        }
-    }
-    
-    private boolean isKnownObject(Object o)
-    {
-        Object ref = knownObjects.get(o);
-        if (ref != null)
-        {
-            try
-            {
-                int refNum = ((Integer)ref).intValue();
-                trace.writeRef(refNum);
-            }
-            catch (ClassCastException e)
-            {
-                // Ignore
-            }
-        }
-        else
-        {
-            rememberObject(o);
-        }
-        return (ref != null);
-    }
-    
-    private void rememberObject(Object o)
-    {
-        knownObjects.put(o, new Integer(knownObjectsCount++));
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/Trace.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/Trace.java b/core/src/flex/messaging/util/Trace.java
deleted file mode 100644
index 39a5604..0000000
--- a/core/src/flex/messaging/util/Trace.java
+++ /dev/null
@@ -1,105 +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.util;
-
-import java.util.Date;
-
-
-/**
- * Primitive run-time tracing class
- *
- * Code as follows:
- * if (Trace.foo)
- *     Trace.trace("trace msg"...);
- *
- * Enable as follows:
- * java -Dtrace.foo -Dtrace.foo2 -Dtrace.foo3 or -Dtrace.all
- *
- * Special flags:
- * -Dtrace.flex                  -- enables all tracing
- * -Dtrace.foo                   -- enables tracing on foo subsystem
- * -Dtrace.timeStamp             -- timeStamp all output lines
- * -Dtrace.caller                -- print the Class:method caller
- * -Dtrace.stackLines=10         -- print 10 stack lines
- * -Dtrace.stackPrefix=java.lang -- print the stack up to java.lang
- *
- * Add new xxx members as desired.
- *
- *
- */
-
-public class Trace 
-{
-    public static final boolean config = (System.getProperty("trace.config") != null);
-
-    public static final boolean amf = (System.getProperty("trace.amf") != null);
-    public static final boolean remote = amf || (System.getProperty("trace.remote") != null);
-    public static final boolean ssl = (System.getProperty("trace.ssl") != null);
-
-    public static final boolean rtmp = (System.getProperty("trace.rtmp") != null);
-    public static final boolean command = rtmp || (System.getProperty("trace.command") != null);
-    public static final boolean error = rtmp || (System.getProperty("trace.error") != null);
-    public static final boolean message = rtmp || (System.getProperty("trace.message") != null);
-    public static final boolean resolve = rtmp || (System.getProperty("trace.resolve") != null);
-    public static final boolean transport = rtmp || (System.getProperty("trace.transport") != null);
-    public static final boolean ack = rtmp || (System.getProperty("trace.ack") != null);
-    public static final boolean io = rtmp || (System.getProperty("trace.io") != null);
-    public static final boolean threadpool = rtmp || (System.getProperty("trace.threadpool") != null);
-
-    // print just the stack caller
-    public static final boolean caller = (System.getProperty("trace.caller") != null);
-    // print stack up to the prefix
-    public static final String stackPrefix = System.getProperty("trace.stackPrefix");
-
-    // print this number of stack lines
-    public static int stackLines = 0;
-    static {
-        try 
-        {
-            stackLines = Integer.parseInt(System.getProperty("trace.stackLines"));
-        } 
-        catch (NumberFormatException e) 
-        {
-        }
-    }
-    // print a timestamp with each line
-    public static final boolean timeStamp = (System.getProperty("trace.timeStamp") != null);
-
-    /**
-     * Write the string as a line to the trace stream. If the
-     * "stack" property is enabled, then the caller's stack call
-     * is also shown in the date.
-     * 
-     * @param str string to write to the trace stream
-     */
-    public static void trace(String str) 
-    {
-        if (timeStamp)
-            System.err.print(new Date());
-
-        if(caller)
-            System.err.print(ExceptionUtil.getCallAt(new Throwable(), 1) + " ");
-
-        System.err.println(str);
-
-        if (stackLines > 0)
-            System.err.println(ExceptionUtil.getStackTraceLines(new Throwable(), stackLines));
-        else if (stackPrefix != null)
-            System.err.println(ExceptionUtil.getStackTraceUpTo(new Throwable(), stackPrefix));
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/URLDecoder.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/URLDecoder.java b/core/src/flex/messaging/util/URLDecoder.java
deleted file mode 100644
index c240e83..0000000
--- a/core/src/flex/messaging/util/URLDecoder.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.util;
-
-import java.io.UnsupportedEncodingException;
-
-
-/**
- * Utility class for URL decoding.
- */
-public final class URLDecoder
-{
-    public static String decode(String s)
-    {
-        try
-        {
-            return decode(s, "UTF8");
-        }
-        catch (UnsupportedEncodingException ex)
-        {
-            throw new IllegalArgumentException("UTF8");
-        }
-    }
-
-    public static String decode(String s, String enc) throws UnsupportedEncodingException
-    {
-        if (!needsDecoding(s))
-        {
-            return s;
-        }
-
-        int length = s.length();
-        byte[] bytes = new byte[length];
-        // FIXME: This needs to specify a character encoding (ASCII?)
-        s.getBytes(0, length, bytes, 0);
-        int k = 0;
-        length = bytes.length;
-        for (int i = 0; i < length; i++)
-        {
-            if (bytes[i] == '%')
-            {
-                while (bytes[i + 1] == '%')
-                {
-                    i++;
-                }
-                if (i < length - 2)
-                {
-                    bytes[k] = x2c(bytes, i);
-                    i += 2;
-                }
-                else
-                {
-                    throw new IllegalArgumentException(s);
-                }
-            }
-            else if (bytes[i] == '+')
-            {
-                bytes[k] = (byte)' ';
-            }
-            else
-            {
-                bytes[k] = bytes[i];
-            }
-            k++;
-        }
-
-        return new String(bytes, 0, k, enc);
-    }
-
-    private static boolean needsDecoding(String s)
-    {
-        if (s == null)
-        {
-            return false;
-        }
-
-        int length = s.length();
-
-        for (int i = 0; i < length; i++)
-        {
-            int c = (int)s.charAt(i);
-            if (c == '+' || c == '%')
-            {
-                return true;
-            }
-        }
-
-        return false;
-
-    }
-
-    private static byte x2c(byte[] b, int i)
-    {
-        int result;
-        byte b1 = b[i + 1];
-        byte b2 = b[i + 2];
-
-        // return Byte.parseByte("" + (char) b1 + (char) b2, 16);
-
-        if (b1 < '0' || (b1 > 'F' && b1 < 'a') || b1 > 'f' ||
-                b2 < '0' || (b2 > 'F' && b2 < 'a') || b2 > 'f')
-        {
-            throw new IllegalArgumentException("%" + (char)b1 + (char)b2);
-        }
-
-        result = b1 >= 'A' ? (b1 & 0xdf) - 'A' + 10 : b1 - '0';
-        result *= 16;
-        result += b2 >= 'A' ? (b2 & 0xdf) - 'A' + 10 : b2 - '0';
-        return (byte)result;
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/URLEncoder.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/URLEncoder.java b/core/src/flex/messaging/util/URLEncoder.java
deleted file mode 100644
index 65e1ffa..0000000
--- a/core/src/flex/messaging/util/URLEncoder.java
+++ /dev/null
@@ -1,155 +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.util;
-
-import java.io.BufferedWriter;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-
-/**
- * Utility class for URL encoding.
- * 
- *
- */
-public final class URLEncoder
-{
-    public static String charset = "UTF8";
-
-    private URLEncoder()
-    {
-    }
-
-    public static String encode(String s)
-    {
-        try
-        {
-            return encode(s, charset);
-        }
-        catch (UnsupportedEncodingException ex)
-        {
-            throw new IllegalArgumentException(charset);
-        }
-    }
-
-    public static String encode(String s, String enc) throws UnsupportedEncodingException
-    {
-        if (!needsEncoding(s))
-        {
-            return s;
-        }
-
-        int length = s.length();
-
-        StringBuffer out = new StringBuffer(length);
-
-        ByteArrayOutputStream buf = new ByteArrayOutputStream(10); // why 10? w3c says so.
-
-        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buf, enc));
-
-        for (int i = 0; i < length; i++)
-        {
-            int c = (int)s.charAt(i);
-            if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == ' ')
-            {
-                if (c == ' ')
-                {
-                    c = '+';
-                }
-
-                toHex(out, buf.toByteArray());
-                buf.reset();
-
-                out.append((char)c);
-            }
-            else
-            {
-                try
-                {
-                    writer.write(c);
-
-                    if (c >= 0xD800 && c <= 0xDBFF && i < length - 1)
-                    {
-                        int d = (int)s.charAt(i + 1);
-                        if (d >= 0xDC00 && d <= 0xDFFF)
-                        {
-                            writer.write(d);
-                            i++;
-                        }
-                    }
-
-                    writer.flush();
-                }
-                catch (IOException ex)
-                {
-                    throw new IllegalArgumentException(s);
-                }
-            }
-        }
-        try
-        {
-            writer.close();
-        }
-        catch (IOException ioe)
-        {
-            // Ignore exceptions on close.
-        }
-
-        toHex(out, buf.toByteArray());
-       
-        return out.toString();
-    }
-
-    private static void toHex(StringBuffer buffer, byte[] b)
-    {
-        for (int i = 0; i < b.length; i++)
-        {
-            buffer.append('%');
-
-            char ch = Character.forDigit((b[i] >> 4) & 0xF, 16);
-            if (Character.isLetter(ch))
-            {
-                ch -= 32;
-            }
-            buffer.append(ch);
-
-            ch = Character.forDigit(b[i] & 0xF, 16);
-            if (Character.isLetter(ch))
-            {
-                ch -= 32;
-            }
-            buffer.append(ch);
-        }
-    }
-
-    private static boolean needsEncoding(String s)
-    {
-        if (s == null)
-            return false;
-
-        for (int i = 0; i < s.length(); i++)
-        {
-            int c = (int)s.charAt(i);
-            if (!(c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9'))
-                return true;
-            // Otherwise, keep going
-        }
-
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/URLEncoderUtil.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/URLEncoderUtil.java b/core/src/flex/messaging/util/URLEncoderUtil.java
deleted file mode 100644
index 9b8433b..0000000
--- a/core/src/flex/messaging/util/URLEncoderUtil.java
+++ /dev/null
@@ -1,42 +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.util;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-
-/**
- * Utility class for URL encoding
- * 
- *
- */
-public class URLEncoderUtil
-{
-    /**
-     * Encode a URL into using the specified encoding string.
-     * 
-     * @param s URL to encode
-     * @param encoding encoding string
-     * @return encoded URL
-     * @throws UnsupportedEncodingException Throws UnsupportedEncodingException
-     */
-    public static String encode(String s, String encoding)
-        throws UnsupportedEncodingException
-    {
-        return URLEncoder.encode(s, encoding);
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/URLEncoderUtil.jsl
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/URLEncoderUtil.jsl b/core/src/flex/messaging/util/URLEncoderUtil.jsl
deleted file mode 100644
index b1e30d4..0000000
--- a/core/src/flex/messaging/util/URLEncoderUtil.jsl
+++ /dev/null
@@ -1,40 +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.util;
-
-import java.io.UnsupportedEncodingException;
-import System.NotSupportedException;
-import System.Text.Encoding;
-import System.Web.HttpUtility;
-
-public class URLEncoderUtil
-{
-    public static String encode(String s, String encoding)
-        throws UnsupportedEncodingException
-    {
-        try
-        {
-            return HttpUtility.UrlEncode(s, Encoding.GetEncoding(encoding));
-        }
-        catch (NotSupportedException notSupportedException)
-        {
-            throw new UnsupportedEncodingException();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/UUIDGenerator.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/UUIDGenerator.java b/core/src/flex/messaging/util/UUIDGenerator.java
deleted file mode 100644
index cedba04..0000000
--- a/core/src/flex/messaging/util/UUIDGenerator.java
+++ /dev/null
@@ -1,31 +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.util;
-
-/**
- * A custom UUID generator can be set on MessageBroker in order to provide custom
- * uuid generation for NIO-HTTP session cookie and FlexClient id.
- */
-public interface UUIDGenerator
-{
-    /**
-     * Creates and returns a UUID.
-     * 
-     * @return UUID.
-     */
-    String createUUID();
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/UserAgentManager.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/UserAgentManager.java b/core/src/flex/messaging/util/UserAgentManager.java
deleted file mode 100644
index b02d375..0000000
--- a/core/src/flex/messaging/util/UserAgentManager.java
+++ /dev/null
@@ -1,207 +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.util;
-
-import flex.messaging.client.UserAgentSettings;
-import flex.messaging.config.ConfigMap;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Manages user agent information.
- */
-public class UserAgentManager
-{
-    /**
-     * The name of the HTTP header that transports the user agent value.
-     */
-    public static final String USER_AGENT_HEADER_NAME = "User-Agent";
-
-    /*
-    * Configuration constants
-    */
-    private static final String KICKSTART_BYTES = "kickstart-bytes";
-    private static final String MATCH_ON = "match-on";
-    // max-streaming-connections-per-session is deprecated; use max-persistent-connections-per-session instead.
-    public static final String MAX_STREAMING_CONNECTIONS_PER_SESSION = "max-streaming-connections-per-session";
-    public static final String MAX_PERSISTENT_CONNECTIONS_PER_SESSION = "max-persistent-connections-per-session";
-    private static final String USER_AGENT = "user-agent";
-    private static final String USER_AGENT_SETTINGS = "user-agent-settings";
-
-    /**
-     * Used to keep track of the mapping between user agent match strings and
-     * the settings object.
-     */
-    private Map<String, UserAgentSettings> userAgentSettingsMap = new HashMap<String, UserAgentSettings>();
-
-    /**
-     * Default settings, where match="*".
-     */
-    private UserAgentSettings defaultSettings;
-
-    /**
-     * Given a match-on string, returns the settings for that user agent, or
-     * null if no user agent settings exist for that match-on string.
-     *
-     * @param matchOn The match-on string used to match a specific user agent.
-     * @return The settings for that user agent, or null if no user agent settings
-     *         exist for that match-on string.
-     */
-    public UserAgentSettings getUserAgentSettings(String matchOn)
-    {
-        return userAgentSettingsMap.get(matchOn);
-    }
-
-    /**
-     * Returns the collection of user agent settings.
-     * Collection can be empty.
-     *
-     * @return The (possibly empty) collection of user agent settings.
-     */
-    public Collection<UserAgentSettings> getUserAgentSettings()
-    {
-        return userAgentSettingsMap.values();
-    }
-
-    /**
-     * Puts a new user agent to the existing list of user agents. If an existing
-     * user agent with the same match-on property as the new user agent exists,
-     * it is simply overwritten.
-     * @param userAgent the UserAgentSettings
-     */
-    public void putUserAgentSettings(UserAgentSettings userAgent)
-    {
-        userAgentSettingsMap.put(userAgent.getMatchOn(), userAgent);
-    }
-
-    /**
-     * Removes the user agent with the same match-on property from the list of
-     * existing user agents.
-     * @param useAgent the UserAgentSettings object
-     */
-    public void removeUserAgentSettings(UserAgentSettings userAgent)
-    {
-        if (userAgent != null)
-            userAgentSettingsMap.remove(userAgent.getMatchOn());
-    }
-
-    /**
-     * Set the default settings to return when there is no match found.
-     * @param settings the UserAgentSettings object
-     */
-    public void setDefaultUserAgentSettings(UserAgentSettings settings)
-    {
-        defaultSettings = settings;
-    }
-
-    /**
-     * Look for the best match (based on longest match) for a user agent.
-     * If no match is found, the default settings are returned if set.
-     *
-     * @param userAgent a user agent to look for
-     * @return settings or null if no match and no default.
-     * @see UserAgentManager#setDefaultUserAgentSettings(flex.messaging.client.UserAgentSettings)
-     */
-    public UserAgentSettings match(String userAgent)
-    {
-        // Dearch for the longest match
-        if (userAgent != null && userAgentSettingsMap.size() > 0)
-        {
-            // Search for the best match based upon length.
-            int bestMatchLength = 0;
-            String matchedAgent = null;
-            for (String key : userAgentSettingsMap.keySet())
-            {
-                if (userAgent.indexOf(key) != -1)
-                {
-                    int matchLength = key.length();
-                    if (matchLength > bestMatchLength)
-                    {
-                        bestMatchLength = matchLength;
-                        matchedAgent = key;
-                    }
-                }
-            }
-
-            if (matchedAgent != null)
-                return userAgentSettingsMap.get(matchedAgent);
-        }
-
-        // Return default if we have one
-        return defaultSettings;
-    }
-
-    /**
-     * Initializes the provided manager with settings from the property map.
-     * Sets default settings if it encounters a match="*" entry.
-     *
-     * @param properties configuration properties, possibly containing "user-agent-settings" element
-     * @param manager    the UserAgentManager to configure
-     */
-    public static void setupUserAgentManager(ConfigMap properties, UserAgentManager manager)
-    {
-        // Add default entries for user agents.
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_ANDROID));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_CHROME));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_FIREFOX));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_FIREFOX_1));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_FIREFOX_2));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_MSIE));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_MSIE_5));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_MSIE_6));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_MSIE_7));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_OPERA));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_OPERA_8));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_OPERA_10));
-        manager.putUserAgentSettings(UserAgentSettings.getAgent(UserAgentSettings.USER_AGENT_SAFARI));
-
-        if (properties == null)
-            return;
-
-        ConfigMap userAgents = properties.getPropertyAsMap(USER_AGENT_SETTINGS, null);
-        if (userAgents == null)
-            return;
-
-        List userAgent = userAgents.getPropertyAsList(USER_AGENT, null);
-        if (userAgent == null || userAgent.size() == 0)
-            return;
-
-        for (Object anUserAgent : userAgent)
-        {
-            ConfigMap agent = (ConfigMap)anUserAgent;
-            String matchOn = agent.getPropertyAsString(MATCH_ON, null);
-            if (matchOn == null)
-                continue;
-
-            int kickstartBytes = agent.getPropertyAsInt(KICKSTART_BYTES, 0);
-            int connectionsPerSession = agent.getPropertyAsInt(MAX_PERSISTENT_CONNECTIONS_PER_SESSION,
-                    agent.getPropertyAsInt(MAX_STREAMING_CONNECTIONS_PER_SESSION, UserAgentSettings.MAX_PERSISTENT_CONNECTIONS_DEFAULT));
-
-            UserAgentSettings ua = UserAgentSettings.getAgent(matchOn);
-            ua.setKickstartBytes(kickstartBytes);
-            ua.setMaxPersistentConnectionsPerSession(connectionsPerSession);
-            if (matchOn.equals("*"))
-                manager.setDefaultUserAgentSettings(ua);
-            else
-                manager.putUserAgentSettings(ua);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/WatchedObject.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/WatchedObject.java b/core/src/flex/messaging/util/WatchedObject.java
deleted file mode 100644
index baa0471..0000000
--- a/core/src/flex/messaging/util/WatchedObject.java
+++ /dev/null
@@ -1,72 +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.util;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-
-/**
- * Used by redeployment manager to monitor for changes to the files.
- *
- *
- */
-public class WatchedObject
-{
-    private String filename;
-    private long modified;
-
-    /**
-     * Creates a watched object for the specified file.
-     * 
-     * @param filename file to watch
-     * @throws FileNotFoundException when specified file could not be found
-     */
-    public WatchedObject(String filename) throws FileNotFoundException
-    {
-        this.filename = filename;
-        File file = new File(filename);
-
-        if (!file.isFile() && !file.isDirectory())
-        {
-            throw new FileNotFoundException();
-        }
-        this.modified = file.lastModified();
-    }
-
-    /**
-     * Returns true if the watched file has been modified since creation of this 
-     * watched object or since the last call to this method.
-     * 
-     * @return true if the watched file has been modified since creation of this 
-     * watched object or since the last call to this method
-     */
-    public boolean isUptodate()
-    {
-        boolean uptodate = true;
-
-        long current = new File(filename).lastModified();
-
-        if (Math.abs(current - modified) > 1000)
-        {
-            uptodate = false;
-        }
-
-        modified = current;
-
-        return uptodate;
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/messaging/util/XMLUtil.java
----------------------------------------------------------------------
diff --git a/core/src/flex/messaging/util/XMLUtil.java b/core/src/flex/messaging/util/XMLUtil.java
deleted file mode 100644
index e27149c..0000000
--- a/core/src/flex/messaging/util/XMLUtil.java
+++ /dev/null
@@ -1,155 +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.util;
-
-import flex.messaging.MessageException;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
-
-/**
- * Utility class for converting strings to XML documents and
- * vice versa.
- *
- *
- */
-public class XMLUtil
-{
-    public static String INDENT_XML = "no";
-    public static String OMIT_XML_DECLARATION = "yes";
-
-    private XMLUtil()
-    {
-    }
-
-    /**
-     * Uses a TransformerFactory with an identity transformation to convert a
-     * Document into a String representation of the XML.
-     *
-     * @param document Document.
-     * @return An XML String.
-     * @throws IOException if an error occurs during transformation.
-     */
-    public static String documentToString(Document document) throws IOException
-    {
-        String xml;
-
-        try
-        {
-            DOMSource dom = new DOMSource(document);
-            StringWriter writer = new StringWriter();
-            StreamResult output = new StreamResult(writer);
-
-            // Use Transformer to serialize a DOM
-            TransformerFactory factory = TransformerFactory.newInstance();
-            Transformer transformer = factory.newTransformer();
-
-            // No need for pretty printing
-            transformer.setOutputProperty(OutputKeys.INDENT, INDENT_XML);
-
-            // XML Declarations unexpected whitespace for legacy AS XMLDocument type,
-            // so we always omit it. We can't tell whether one was present when
-            // constructing the Document in the first place anyway...
-            transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, OMIT_XML_DECLARATION);
-
-            transformer.transform(dom, output);
-
-            xml = writer.toString();
-        }
-        catch (TransformerException te)
-        {
-            throw new IOException("Error serializing Document as String: " + te.getMessageAndLocation());
-        }
-        return xml;
-    }
-
-    /**
-     * Uses the current DocumentBuilderFactory to converts a String
-     * representation of XML into a Document.
-     *
-     * @param xml XML serialized as a String
-     * @return Document
-     */
-    public static Document stringToDocument(String xml)
-    {
-        return stringToDocument(xml, true, false, false);
-    }
-
-    /**
-     * Uses the current DocumentBuilderFactory to converts a String
-     * representation of XML into a Document.
-     *
-     * @param xml XML serialized as a String
-     * @param nameSpaceAware determines whether the constructed Document
-     * is name-space aware
-     * @return Document
-     */
-    public static Document stringToDocument(String xml, boolean nameSpaceAware, boolean allowXmlDoctypeDeclaration,
-                                            boolean allowXmlExternalEntityExpansion)
-    {
-        ClassUtil.validateCreation(Document.class);
-
-        Document document = null;
-        try
-        {
-            if (xml != null)
-            {
-                StringReader reader = new StringReader(xml);
-                InputSource input = new InputSource(reader);
-                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-
-                if(!allowXmlDoctypeDeclaration)
-                {
-                    factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
-                }
-
-                if(!allowXmlExternalEntityExpansion)
-                {
-                    // Disable local resolution of entities due to security issues
-                    // See: https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing
-                    factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
-                    factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
-                    factory.setXIncludeAware(false);
-                    factory.setExpandEntityReferences(false);
-                }
-
-                factory.setNamespaceAware(nameSpaceAware);
-                factory.setValidating(false);
-                DocumentBuilder builder = factory.newDocumentBuilder();
-
-                document = builder.parse(input);
-            }
-        }
-        catch (Exception ex)
-        {
-            throw new MessageException("Error deserializing XML type " + ex.getMessage());
-        }
-
-        return document;
-    }
-}