You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2012/05/21 23:12:56 UTC

svn commit: r1341206 - in /incubator/flex/trunk/modules: compiler/ compiler/src/java/flex2/compiler/ compiler/src/java/flex2/compiler/as3/managed/ compiler/src/java/flex2/compiler/common/ compiler/src/java/flex2/compiler/config/ compiler/src/java/flex2...

Author: aharui
Date: Mon May 21 21:12:55 2012
New Revision: 1341206

URL: http://svn.apache.org/viewvc?rev=1341206&view=rev
Log:
Remove dependency on flex-messaging-common.jar.

Also update project files to not use relative paths.  Relative paths don't provide enough flexibility in the location of your files.  Added FLEX_HOME variable to project files.

Added:
    incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/config/ServicesDependenciesWrapper.java   (with props)
Modified:
    incubator/flex/trunk/modules/compiler/.classpath
    incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/CompilerAPI.java
    incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedExtension.java
    incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedFirstPassEvaluator.java
    incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java
    incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/mxml/MxmlConfiguration.java
    incubator/flex/trunk/modules/compiler/src/java/flex2/tools/PreLink.java
    incubator/flex/trunk/modules/compiler/src/java/flex2/tools/oem/internal/OEMUtil.java
    incubator/flex/trunk/modules/swfutils/.classpath

Modified: incubator/flex/trunk/modules/compiler/.classpath
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/modules/compiler/.classpath?rev=1341206&r1=1341205&r2=1341206&view=diff
==============================================================================
--- incubator/flex/trunk/modules/compiler/.classpath (original)
+++ incubator/flex/trunk/modules/compiler/.classpath Mon May 21 21:12:55 2012
@@ -24,11 +24,10 @@
 	<classpathentry combineaccessrules="false" kind="src" path="/flex-fxgutils"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/flex-swfutils"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
-	<classpathentry kind="lib" path="../../lib/batik-all-flex.jar"/>
-	<classpathentry kind="lib" path="../../lib/velocity-dep-1.4-flex.jar"/>
-	<classpathentry kind="lib" path="../../lib/commons-collections.jar"/>
-	<classpathentry kind="lib" path="../../lib/flex-messaging-common.jar"/>
-	<classpathentry kind="lib" path="../../lib/xercesImpl.jar"/>
-	<classpathentry kind="lib" path="../../lib/saxon9.jar"/>
+	<classpathentry kind="var" path="FLEX_HOME/lib/batik-all-flex.jar"/>
+	<classpathentry kind="var" path="FLEX_HOME/lib/xercesImpl.jar"/>
+	<classpathentry kind="var" path="FLEX_HOME/lib/velocity-dep-1.4-flex.jar"/>
+	<classpathentry kind="var" path="FLEX_HOME/lib/commons-collections.jar"/>
+	<classpathentry kind="var" path="FLEX_HOME/lib/saxon9.jar"/>
 	<classpathentry kind="output" path="classes"/>
 </classpath>

Modified: incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/CompilerAPI.java
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/CompilerAPI.java?rev=1341206&r1=1341205&r2=1341206&view=diff
==============================================================================
--- incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/CompilerAPI.java (original)
+++ incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/CompilerAPI.java Mon May 21 21:12:55 2012
@@ -30,7 +30,7 @@ import flash.swf.TagEncoderReporter;
 import flash.swf.tools.SizeReport;
 import flash.util.FileUtils;
 
-import flex.messaging.config.ServicesDependencies;
+import flex2.compiler.config.ServicesDependenciesWrapper;
 
 import flex2.compiler.as3.As3Compiler;
 import flex2.compiler.as3.SignatureExtension;
@@ -1724,7 +1724,7 @@ public final class CompilerAPI
                                             Configuration configuration)
     {
         // The enterprise messaging config file may refer to some classes. We want to load them up-front.
-        ServicesDependencies services = configuration.getCompilerConfiguration().getServicesDependencies();
+        ServicesDependenciesWrapper services = configuration.getCompilerConfiguration().getServicesDependencies();
         if (services != null)
         {
             for (Iterator i = services.getChannelClasses().iterator(); i.hasNext();)

Modified: incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedExtension.java
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedExtension.java?rev=1341206&r1=1341205&r2=1341206&view=diff
==============================================================================
--- incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedExtension.java (original)
+++ incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedExtension.java Mon May 21 21:12:55 2012
@@ -19,7 +19,7 @@
 
 package flex2.compiler.as3.managed;
 
-import flex.messaging.config.ServicesDependencies;
+import flex2.compiler.config.ServicesDependenciesWrapper;
 import flex2.compiler.CompilationUnit;
 import flex2.compiler.as3.binding.TypeAnalyzer;
 import flex2.compiler.as3.genext.GenerativeExtension;
@@ -38,7 +38,7 @@ public final class ManagedExtension exte
 {
     public static final String IMANAGED = "IManaged";
 
-	private ServicesDependencies servicesDependencies;
+	private ServicesDependenciesWrapper servicesDependencies;
     
 	public ManagedExtension(String generatedOutputDirectory, boolean generateAbstractSyntaxTree, boolean processComments)
 	{
@@ -46,7 +46,7 @@ public final class ManagedExtension exte
 	}
 
     public ManagedExtension(String generatedOutputDirectory, boolean generateAbstractSyntaxTree,
-                            ServicesDependencies services, boolean processComments)
+                            ServicesDependenciesWrapper services, boolean processComments)
     {
         super(generatedOutputDirectory, generateAbstractSyntaxTree, processComments );
         servicesDependencies = services;

Modified: incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedFirstPassEvaluator.java
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedFirstPassEvaluator.java?rev=1341206&r1=1341205&r2=1341206&view=diff
==============================================================================
--- incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedFirstPassEvaluator.java (original)
+++ incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedFirstPassEvaluator.java Mon May 21 21:12:55 2012
@@ -19,7 +19,7 @@
 
 package flex2.compiler.as3.managed;
 
-import flex.messaging.config.ServicesDependencies;
+import flex2.compiler.config.ServicesDependenciesWrapper;
 import flex2.compiler.as3.genext.GenerativeFirstPassEvaluator;
 import flex2.compiler.as3.reflect.NodeMagic;
 import flex2.compiler.as3.reflect.TypeTable;
@@ -49,9 +49,9 @@ public class ManagedFirstPassEvaluator e
 
     private Map<DefinitionNode, ManagedClassInfo> managedProperties;  // used to set prop-level modes and detect wayward [Managed] tags
 
-    private ServicesDependencies servicesDependencies;
+    private ServicesDependenciesWrapper servicesDependencies;
 
-    public ManagedFirstPassEvaluator(TypeTable typeTable, StandardDefs defs, Set metaData, ServicesDependencies servicesDependencies)
+    public ManagedFirstPassEvaluator(TypeTable typeTable, StandardDefs defs, Set metaData, ServicesDependenciesWrapper servicesDependencies)
     {
         super(typeTable, defs);
         this.metaData = metaData;

Modified: incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java?rev=1341206&r1=1341205&r2=1341206&view=diff
==============================================================================
--- incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java (original)
+++ incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java Mon May 21 21:12:55 2012
@@ -21,7 +21,7 @@ package flex2.compiler.common;
 
 import flash.util.FileUtils;
 import flash.util.StringUtils;
-import flex.messaging.config.ServicesDependencies;
+import flex2.compiler.config.ServicesDependenciesWrapper;
 import flex2.compiler.io.LocalFile;
 import flex2.compiler.io.VirtualFile;
 import flex2.compiler.as3.As3Configuration;
@@ -1535,7 +1535,7 @@ public class CompilerConfiguration imple
 
 	private VirtualFile servicesConfigFile;
 
-	protected ServicesDependencies servicesDependencies;
+	protected ServicesDependenciesWrapper servicesDependencies;
 
 	public VirtualFile getServices()
 	{
@@ -1546,18 +1546,18 @@ public class CompilerConfiguration imple
      * Used by the compiler to record the client dependencies
      * from the Flex Data Services configuration file.
      */
-    public ServicesDependencies getServicesDependencies()
+    public ServicesDependenciesWrapper getServicesDependencies()
     {
         if (servicesDependencies == null && servicesConfigFile != null)
         {
             String servicesPath = servicesConfigFile.getName();
-            servicesDependencies = new ServicesDependencies(servicesPath, null, getContextRoot());
+            servicesDependencies = new ServicesDependenciesWrapper(servicesPath, null, getContextRoot());
         }
 
         return servicesDependencies;
     }
 
-    public void setServicesDependencies(ServicesDependencies deps)
+    public void setServicesDependencies(ServicesDependenciesWrapper deps)
     {
         servicesDependencies = deps;
     }

Added: incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/config/ServicesDependenciesWrapper.java
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/config/ServicesDependenciesWrapper.java?rev=1341206&view=auto
==============================================================================
--- incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/config/ServicesDependenciesWrapper.java (added)
+++ incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/config/ServicesDependenciesWrapper.java Mon May 21 21:12:55 2012
@@ -0,0 +1,415 @@
+/*
+ *
+ *  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 flex2.compiler.config;
+
+import java.io.File;
+import java.lang.reflect.*;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Flex MXMLC compiler uses the result of the client configuration parser
+ * to generate mixin initialization source code to be added to the SWF by
+ * PreLink. It also requires a list of channel classes to be added as
+ * dependencies.
+ *
+ * @exclude
+ */
+public class ServicesDependenciesWrapper
+{
+	private Object servicesDependenciesInstance;
+	private Class servicesDependenciesClass;
+	
+    public ServicesDependenciesWrapper(String path, String parserClass, String contextRoot)
+    {
+    	try 
+    	{
+    		servicesDependenciesClass = Class.forName("flex.messaging.config.ServicesDependencies");
+    	}
+    	catch (ClassNotFoundException e)
+    	{
+    		return;
+    	}
+		Class partypes[] = new Class[3];
+        partypes[0] = String.class;
+        partypes[1] = String.class;
+        partypes[2] = String.class;
+        try
+        {
+            Constructor ct = servicesDependenciesClass.getConstructor(partypes);        	
+            Object arglist[] = new Object[3];
+            arglist[0] = path;
+            arglist[1] = parserClass;
+            arglist[2] = contextRoot;
+            try 
+            {
+                servicesDependenciesInstance = ct.newInstance(arglist);            	
+            }
+            catch (Throwable e3)
+            {
+            	System.err.println(e3);
+            }
+        }
+        catch (NoSuchMethodException e2)
+        {
+        	
+        }
+    }
+
+    public Set getLazyAssociations(String destination)
+    {
+    	if (servicesDependenciesClass != null)
+    	{
+    		try
+    		{
+    			Method method = servicesDependenciesClass.getMethod("getLazyAssociations", new Class[] {String.class});
+    			Object arglist[] = new Object[1];
+                arglist[0] = destination;
+                return (Set)method.invoke(servicesDependenciesInstance, arglist);   			
+    		}
+    		catch (Throwable e)
+    		{
+    			
+    		}
+    	}
+    	
+    	return null;
+    }
+
+    public void addLazyAssociation(String destination, String associationProp)
+    {
+    	if (servicesDependenciesClass != null)
+    	{
+    		try
+    		{
+    			Method method = servicesDependenciesClass.getMethod("getLazyAssociations", new Class[] {String.class});
+    			Object arglist[] = new Object[2];
+                arglist[0] = destination;
+                arglist[1] = associationProp;
+                method.invoke(servicesDependenciesInstance, arglist);   			
+    		}
+    		catch (Throwable e)
+    		{
+    			
+    		}
+    	}
+    }
+
+    public String getServerConfigXmlInit()
+    {
+    	if (servicesDependenciesClass != null)
+    	{
+    		try
+    		{
+    			Method method = servicesDependenciesClass.getMethod("getServerConfigXmlInit", new Class[] {} );
+    			Object arglist[] = new Object[0];
+                return (String)method.invoke(servicesDependenciesInstance, arglist);   			
+    		}
+    		catch (Throwable e)
+    		{
+    			
+    		}
+    	}
+    	
+    	return null;
+    }
+
+    public String getImports()
+    {
+    	if (servicesDependenciesClass != null)
+    	{
+    		try
+    		{
+    			Method method = servicesDependenciesClass.getMethod("getImports", new Class[] {} );
+    			Object arglist[] = new Object[0];
+                return (String)method.invoke(servicesDependenciesInstance, arglist);   			
+    		}
+    		catch (Throwable e)
+    		{
+    			
+    		}
+    	}
+    	
+    	return null;
+    }
+
+    public String getReferences()
+    {
+    	if (servicesDependenciesClass != null)
+    	{
+    		try
+    		{
+    			Method method = servicesDependenciesClass.getMethod("getReferences", new Class[] {} );
+    			Object arglist[] = new Object[0];
+                return (String)method.invoke(servicesDependenciesInstance, arglist);   			
+    		}
+    		catch (Throwable e)
+    		{
+    			
+    		}
+    	}
+    	
+    	return null;
+    }
+
+    public List getChannelClasses()
+    {
+    	if (servicesDependenciesClass != null)
+    	{
+    		try
+    		{
+    			Method method = servicesDependenciesClass.getMethod("getChannelClasses", new Class[] {} );
+    			Object arglist[] = new Object[0];
+                return (List)method.invoke(servicesDependenciesInstance, arglist);   			
+    		}
+    		catch (Throwable e)
+    		{
+    			
+    		}
+    	}
+    	
+    	return null;
+    }
+
+    public void addChannelClass(String className)
+    {
+    	if (servicesDependenciesClass != null)
+    	{
+    		try
+    		{
+    			Method method = servicesDependenciesClass.getMethod("addChannelClass", new Class[] {} );
+    			Object arglist[] = new Object[0];
+                method.invoke(servicesDependenciesInstance, arglist);   			
+    		}
+    		catch (Throwable e)
+    		{
+    			
+    		}
+    	}
+    }
+
+    public void addConfigPath(String path, long modified)
+    {
+    	if (servicesDependenciesClass != null)
+    	{
+    		try
+    		{
+    			Method method = servicesDependenciesClass.getMethod("addConfigPath", new Class[] { String.class, Long.TYPE } );
+    			Object arglist[] = new Object[2];
+    			arglist[0] = path;
+    			arglist[1] = modified;
+                method.invoke(servicesDependenciesInstance, arglist);   			
+    		}
+    		catch (Throwable e)
+    		{
+    			
+    		}
+    	}
+    }
+
+    public Map getConfigPaths()
+    {
+    	if (servicesDependenciesClass != null)
+    	{
+    		try
+    		{
+    			Method method = servicesDependenciesClass.getMethod("getConfigPaths", new Class[] {} );
+    			Object arglist[] = new Object[0];
+                return (Map)method.invoke(servicesDependenciesInstance, arglist);   			
+    		}
+    		catch (Throwable e)
+    		{
+    			
+    		}
+    	}
+    	
+    	return null;
+    }
+
+    /*
+    public static ClientConfiguration getClientConfiguration(String path, String parserClass)
+    {
+        ClientConfiguration config = new ClientConfiguration();
+
+        ConfigurationParser parser = getConfigurationParser(parserClass);
+
+        if (parser == null)
+        {
+            // "Unable to create a parser to load messaging configuration."
+            LocalizedException lme = new LocalizedException();
+            lme.setMessage(10138);
+            throw lme;
+        }
+
+        LocalFileResolver local = new LocalFileResolver();
+        parser.parse(path, local, config);
+
+        config.addConfigPath(path, new File(path).lastModified());
+
+        return config;
+    }
+
+    static ConfigurationParser getConfigurationParser(String className)
+    {
+        ConfigurationParser parser = null;
+        Class parserClass = null;
+
+        // Check for Custom Parser Specification
+        if (className != null)
+        {
+            try
+            {
+                parserClass = Class.forName(className);
+                parser = (ConfigurationParser)parserClass.newInstance();
+            }
+            catch (Throwable t)
+            {
+                if (traceConfig)
+                {
+                    System.out.println("Could not load services configuration parser as: " + className);
+                }
+            }
+        }
+
+        // Try Sun JRE 1.4 / Apache Xalan Based Implementation
+        if (parser == null)
+        {
+            try
+            {
+                Class.forName("org.apache.xpath.CachedXPathAPI");
+                className = "flex.messaging.config.ApacheXPathClientConfigurationParser";
+                parserClass = Class.forName(className);
+                parser = (ConfigurationParser)parserClass.newInstance();
+            }
+            catch (Throwable t)
+            {
+                if (traceConfig)
+                {
+                    System.out.println("Could not load configuration parser as: " + className);
+                }
+            }
+        }
+
+        // Try Sun JRE 1.5 Based Implementation
+        if (parser == null)
+        {
+            try
+            {
+                className = "flex.messaging.config.XPathClientConfigurationParser";
+                parserClass = Class.forName(className);
+                // double-check, on some systems the above loads but the import classes don't
+                Class.forName("javax.xml.xpath.XPathExpressionException");
+
+                parser = (ConfigurationParser)parserClass.newInstance();
+            }
+            catch (Throwable t)
+            {
+                if (traceConfig)
+                {
+                    System.out.println("Could not load configuration parser as: " + className);
+                }
+            }
+        }
+
+        if (traceConfig && parser != null)
+        {
+            System.out.println("Services Configuration Parser: " + parser.getClass().getName());
+        }
+
+        return parser;
+    }
+
+    private static List listChannelClasses(ServicesConfiguration config)
+    {
+        List channelList = new ArrayList();
+        Iterator it = config.getAllChannelSettings().values().iterator();
+        while (it.hasNext())
+        {
+            ChannelSettings settings = (ChannelSettings)it.next();
+            if (!settings.serverOnly)
+            {
+                String clientType = settings.getClientType();
+                channelList.add(clientType);
+            }
+        }
+
+        return channelList;
+    }
+
+	 */
+    
+
+    /**
+     *
+    public void codegenServiceAssociations(ConfigMap metadata, StringBuffer e4x, String destination, String relation)
+    {
+    	if (servicesDependenciesClass != null)
+    	{
+    		try
+    		{
+    			Method method = servicesDependenciesClass.getMethod("getConfigPaths", new Class[] { ConfigMap.class, StringBuffer.class, String.class, String.class } );
+    			Object arglist[] = new Object[4];
+    			arglist[0] = metadata;
+    			arglist[1] = e4x;
+    			arglist[2] = destination;
+    			arglist[3] = relation;
+                method.invoke(servicesDependenciesInstance, arglist);   			
+    		}
+    		catch (Throwable e)
+    		{
+    			
+    		}
+    	}
+    }
+     */
+
+    /**
+     * This method will return an import and variable reference for channels specified in the map.
+     * @param map HashMap containing the client side channel type to be used, typically of the form
+     * "mx.messaging.channels.XXXXChannel", where the key and value are equal.
+     * @param imports StringBuffer of the imports needed for the given channel definitions
+     * @param references StringBuffer of the required references so that these classes will be linked in.
+    public static void codegenServiceImportsAndReferences(Map map, StringBuffer imports, StringBuffer references)
+    {
+        String channelSetImplType = (String)map.remove("ChannelSetImpl");
+        String type;
+        imports.append("import mx.messaging.config.ServerConfig;\n");
+        references.append("   // static references for configured channels\n");
+        for (Iterator chanIter = map.values().iterator(); chanIter.hasNext();)
+        {
+            type = (String)chanIter.next();
+            imports.append("import ");
+            imports.append(type);
+            imports.append(";\n");
+            references.append("   private static var ");
+            references.append(type.replace('.', '_'));
+            references.append("_ref:");
+            references.append(type.substring(type.lastIndexOf(".") +1) +";\n");
+        }
+        if (channelSetImplType != null)
+            imports.append("import mx.messaging.AdvancedChannelSet;\nimport mx.messaging.messages.ReliabilityMessage;\n");
+    }
+     */
+}

Propchange: incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/config/ServicesDependenciesWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/mxml/MxmlConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/mxml/MxmlConfiguration.java?rev=1341206&r1=1341205&r2=1341206&view=diff
==============================================================================
--- incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/mxml/MxmlConfiguration.java (original)
+++ incubator/flex/trunk/modules/compiler/src/java/flex2/compiler/mxml/MxmlConfiguration.java Mon May 21 21:12:55 2012
@@ -19,7 +19,7 @@
 
 package flex2.compiler.mxml;
 
-import flex.messaging.config.ServicesDependencies;
+import flex2.compiler.config.ServicesDependenciesWrapper;
 import flex2.compiler.common.FontsConfiguration;
 import flex2.compiler.io.VirtualFile;
 
@@ -108,7 +108,7 @@ public interface MxmlConfiguration
     /**
      * Compiler-specific representation of flex-enterprise-services.xml config file
      */
-    ServicesDependencies getServicesDependencies();
+    ServicesDependenciesWrapper getServicesDependencies();
 
 	/**
 	 * The compatibility version as a String.

Modified: incubator/flex/trunk/modules/compiler/src/java/flex2/tools/PreLink.java
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/modules/compiler/src/java/flex2/tools/PreLink.java?rev=1341206&r1=1341205&r2=1341206&view=diff
==============================================================================
--- incubator/flex/trunk/modules/compiler/src/java/flex2/tools/PreLink.java (original)
+++ incubator/flex/trunk/modules/compiler/src/java/flex2/tools/PreLink.java Mon May 21 21:12:55 2012
@@ -29,7 +29,7 @@ import flash.swf.tags.DefineTag;
 import flash.util.FileUtils;
 import flash.util.StringJoiner;
 import flash.util.Trace;
-import flex.messaging.config.ServicesDependencies;
+import flex2.compiler.config.ServicesDependenciesWrapper;
 import flex2.compiler.*;
 import flex2.compiler.abc.AbcClass;
 import flex2.compiler.as3.binding.ClassInfo;
@@ -877,7 +877,7 @@ public class PreLink implements flex2.co
     {
         StandardDefs standardDefs = ThreadLocalToolkit.getStandardDefs();
         CompilerConfiguration compilerConfig = configuration.getCompilerConfiguration();
-        ServicesDependencies servicesDependencies = compilerConfig.getServicesDependencies();
+        ServicesDependenciesWrapper servicesDependencies = compilerConfig.getServicesDependencies();
 
         StringBuilder sb = new StringBuilder();
         sb.append("package {\n");

Modified: incubator/flex/trunk/modules/compiler/src/java/flex2/tools/oem/internal/OEMUtil.java
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/modules/compiler/src/java/flex2/tools/oem/internal/OEMUtil.java?rev=1341206&r1=1341205&r2=1341206&view=diff
==============================================================================
--- incubator/flex/trunk/modules/compiler/src/java/flex2/tools/oem/internal/OEMUtil.java (original)
+++ incubator/flex/trunk/modules/compiler/src/java/flex2/tools/oem/internal/OEMUtil.java Mon May 21 21:12:55 2012
@@ -267,14 +267,26 @@ public class OEMUtil
 			Mxmlc.processConfigurationException(ex, "oem");
 			return null;
 		}
-		catch (flex.messaging.config.ConfigurationException ex)
+		catch (IOException ex)
 		{
 			ThreadLocalToolkit.logError(ex.getMessage());
 			return null;
 		}
-		catch (IOException ex)
+		catch (RuntimeException ex)
 		{
-			ThreadLocalToolkit.logError(ex.getMessage());
+			Class c;
+			try
+			{
+				c = Class.forName("flex.messaging.config.ConfigurationException");
+				if (c.isInstance(ex))
+				{
+					ThreadLocalToolkit.logError(ex.getMessage());
+				}
+			}
+			catch (ClassNotFoundException ex2)
+			{
+				
+			}
 			return null;
 		}
 	}
@@ -337,14 +349,26 @@ public class OEMUtil
 			Mxmlc.processConfigurationException(ex, "oem");
 			return null;
 		}
-		catch (flex.messaging.config.ConfigurationException ex)
+		catch (IOException ex)
 		{
 			ThreadLocalToolkit.logError(ex.getMessage());
 			return null;
 		}
-		catch (IOException ex)
+		catch (RuntimeException ex)
 		{
-			ThreadLocalToolkit.logError(ex.getMessage());
+			Class c;
+			try
+			{
+				c = Class.forName("flex.messaging.config.ConfigurationException");
+				if (c.isInstance(ex))
+				{
+					ThreadLocalToolkit.logError(ex.getMessage());
+				}
+			}
+			catch (ClassNotFoundException ex2)
+			{
+				
+			}
 			return null;
 		}
 	}
@@ -389,14 +413,26 @@ public class OEMUtil
 			Mxmlc.processConfigurationException(ex, "oem");
 			return null;
 		}
-		catch (flex.messaging.config.ConfigurationException ex)
+		catch (IOException ex)
 		{
 			ThreadLocalToolkit.logError(ex.getMessage());
 			return null;
 		}
-		catch (IOException ex)
+		catch (RuntimeException ex)
 		{
-			ThreadLocalToolkit.logError(ex.getMessage());
+			Class cls;
+			try
+			{
+				cls = Class.forName("flex.messaging.config.ConfigurationException");
+				if (cls.isInstance(ex))
+				{
+					ThreadLocalToolkit.logError(ex.getMessage());
+				}
+			}
+			catch (ClassNotFoundException ex2)
+			{
+				
+			}
 			return null;
 		}
 	}

Modified: incubator/flex/trunk/modules/swfutils/.classpath
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/modules/swfutils/.classpath?rev=1341206&r1=1341205&r2=1341206&view=diff
==============================================================================
--- incubator/flex/trunk/modules/swfutils/.classpath (original)
+++ incubator/flex/trunk/modules/swfutils/.classpath Mon May 21 21:12:55 2012
@@ -23,6 +23,6 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/flex-asc"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
-	<classpathentry kind="lib" path="../../lib/batik-all-flex.jar"/>
+	<classpathentry kind="var" path="FLEX_HOME/lib/batik-all-flex.jar"/>
 	<classpathentry kind="output" path="classes"/>
 </classpath>