git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271809 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -5,7 +5,7 @@ | |||||
| * version 1.1, a copy of which has been included with this distribution in | * version 1.1, a copy of which has been included with this distribution in | ||||
| * the LICENSE.txt file. | * the LICENSE.txt file. | ||||
| */ | */ | ||||
| package org.apache.myrmidon.components.deployer; | |||||
| package org.apache.myrmidon.components.classloader; | |||||
| import java.io.File; | import java.io.File; | ||||
| import java.net.JarURLConnection; | import java.net.JarURLConnection; | ||||
| @@ -27,6 +27,7 @@ import org.apache.avalon.framework.logger.AbstractLogEnabled; | |||||
| import org.apache.avalon.framework.service.ServiceException; | import org.apache.avalon.framework.service.ServiceException; | ||||
| import org.apache.avalon.framework.service.ServiceManager; | import org.apache.avalon.framework.service.ServiceManager; | ||||
| import org.apache.avalon.framework.service.Serviceable; | import org.apache.avalon.framework.service.Serviceable; | ||||
| import org.apache.myrmidon.interfaces.classloader.ClassLoaderManager; | |||||
| import org.apache.myrmidon.interfaces.deployer.DeploymentException; | import org.apache.myrmidon.interfaces.deployer.DeploymentException; | ||||
| import org.apache.myrmidon.interfaces.extensions.ExtensionManager; | import org.apache.myrmidon.interfaces.extensions.ExtensionManager; | ||||
| @@ -160,26 +161,8 @@ public class DefaultClassLoaderManager | |||||
| if( 0 != unsatisfied.size() ) | if( 0 != unsatisfied.size() ) | ||||
| { | { | ||||
| final int size = unsatisfied.size(); | |||||
| for( int i = 0; i < size; i++ ) | |||||
| { | |||||
| final Extension extension = (Extension)unsatisfied.get( i ); | |||||
| final Object[] params = new Object[] | |||||
| { | |||||
| extension.getExtensionName(), | |||||
| extension.getSpecificationVendor(), | |||||
| extension.getSpecificationVersion(), | |||||
| extension.getImplementationVendor(), | |||||
| extension.getImplementationVendorId(), | |||||
| extension.getImplementationVersion(), | |||||
| extension.getImplementationURL() | |||||
| }; | |||||
| final String message = REZ.format( "missing.extension", params ); | |||||
| getLogger().warn( message ); | |||||
| } | |||||
| final String message = | final String message = | ||||
| REZ.getString( "unsatisfied.extensions.error", new Integer( size ) ); | |||||
| REZ.getString( "unsatisfied.extensions.error", new Integer( unsatisfied.size() ) ); | |||||
| throw new Exception( message ); | throw new Exception( message ); | ||||
| } | } | ||||
| @@ -0,0 +1,6 @@ | |||||
| create-classloader-for-file.error=Could not create ClassLoader for file {0}. | |||||
| available-extensions.notice=The list of available extensions for type library includes; {0} | |||||
| required-extensions.notice=The list of required extensions for type library includes; {0} | |||||
| unsatisfied.extensions.error=Missing {0} extensions for type library. | |||||
| no-file.error=Could not find type library "{0}". | |||||
| file-is-dir.error=Type library "{0}" is a directory. | |||||
| @@ -18,6 +18,7 @@ import org.apache.avalon.framework.logger.AbstractLogEnabled; | |||||
| import org.apache.avalon.framework.service.ServiceException; | import org.apache.avalon.framework.service.ServiceException; | ||||
| import org.apache.avalon.framework.service.ServiceManager; | import org.apache.avalon.framework.service.ServiceManager; | ||||
| import org.apache.avalon.framework.service.Serviceable; | import org.apache.avalon.framework.service.Serviceable; | ||||
| import org.apache.myrmidon.interfaces.classloader.ClassLoaderManager; | |||||
| import org.apache.myrmidon.interfaces.converter.ConverterRegistry; | import org.apache.myrmidon.interfaces.converter.ConverterRegistry; | ||||
| import org.apache.myrmidon.interfaces.deployer.ConverterDefinition; | import org.apache.myrmidon.interfaces.deployer.ConverterDefinition; | ||||
| import org.apache.myrmidon.interfaces.deployer.Deployer; | import org.apache.myrmidon.interfaces.deployer.Deployer; | ||||
| @@ -13,8 +13,6 @@ deploy-services.error=Could not register services from "{0}". | |||||
| deploy-converter.error=Could not register converter that converts from {0} to {1}. | deploy-converter.error=Could not register converter that converts from {0} to {1}. | ||||
| deploy-type.error=Could not register type {0}/{1}. | deploy-type.error=Could not register type {0}/{1}. | ||||
| unknown-role4name.error=Unknown role "{0}". | unknown-role4name.error=Unknown role "{0}". | ||||
| no-file.error=Could not find type library "{0}". | |||||
| file-is-dir.error=Type library "{0}" is a directory. | |||||
| typedef.no-classname.error=Must specify the classname parameter. | typedef.no-classname.error=Must specify the classname parameter. | ||||
| typedef.no-name.error=Must specify name parameter. | typedef.no-name.error=Must specify name parameter. | ||||
| typedef.no-role.error=Must specify type parameter. | typedef.no-role.error=Must specify type parameter. | ||||
| @@ -27,7 +25,3 @@ build-type-descriptor.error=Could not build type library descriptor from "{0}". | |||||
| service-descriptor-version.error=Service descriptor version {0} is incompatible with current version {1}. | service-descriptor-version.error=Service descriptor version {0} is incompatible with current version {1}. | ||||
| build-service-descriptor.error=Could not build service descriptor from "{0}". | build-service-descriptor.error=Could not build service descriptor from "{0}". | ||||
| available-extensions.notice=The list of available extensions for type library includes; {0} | |||||
| required-extensions.notice=The list of required extensions for type library includes; {0} | |||||
| unsatisfied.extensions.error=Missing {0} extensions for type library. | |||||
| create-classloader-for-file.error=Could not create ClassLoader for file {0}. | |||||
| @@ -17,6 +17,7 @@ import org.apache.avalon.excalibur.i18n.ResourceManager; | |||||
| import org.apache.avalon.excalibur.i18n.Resources; | import org.apache.avalon.excalibur.i18n.Resources; | ||||
| import org.apache.avalon.excalibur.io.ExtensionFileFilter; | import org.apache.avalon.excalibur.io.ExtensionFileFilter; | ||||
| import org.apache.avalon.excalibur.io.FileUtil; | import org.apache.avalon.excalibur.io.FileUtil; | ||||
| import org.apache.avalon.framework.CascadingException; | |||||
| import org.apache.avalon.framework.activity.Disposable; | import org.apache.avalon.framework.activity.Disposable; | ||||
| import org.apache.avalon.framework.activity.Initializable; | import org.apache.avalon.framework.activity.Initializable; | ||||
| import org.apache.avalon.framework.logger.AbstractLogEnabled; | import org.apache.avalon.framework.logger.AbstractLogEnabled; | ||||
| @@ -25,9 +26,9 @@ import org.apache.avalon.framework.parameters.Parameters; | |||||
| import org.apache.avalon.framework.service.DefaultServiceManager; | import org.apache.avalon.framework.service.DefaultServiceManager; | ||||
| import org.apache.avalon.framework.service.ServiceManager; | import org.apache.avalon.framework.service.ServiceManager; | ||||
| import org.apache.avalon.framework.service.Serviceable; | import org.apache.avalon.framework.service.Serviceable; | ||||
| import org.apache.myrmidon.components.deployer.ClassLoaderManager; | |||||
| import org.apache.myrmidon.interfaces.aspect.AspectManager; | import org.apache.myrmidon.interfaces.aspect.AspectManager; | ||||
| import org.apache.myrmidon.interfaces.builder.ProjectBuilder; | import org.apache.myrmidon.interfaces.builder.ProjectBuilder; | ||||
| import org.apache.myrmidon.interfaces.classloader.ClassLoaderManager; | |||||
| import org.apache.myrmidon.interfaces.configurer.Configurer; | import org.apache.myrmidon.interfaces.configurer.Configurer; | ||||
| import org.apache.myrmidon.interfaces.converter.ConverterRegistry; | import org.apache.myrmidon.interfaces.converter.ConverterRegistry; | ||||
| import org.apache.myrmidon.interfaces.deployer.Deployer; | import org.apache.myrmidon.interfaces.deployer.Deployer; | ||||
| @@ -93,14 +94,22 @@ public class DefaultEmbeddor | |||||
| final Parameters parameters ) | final Parameters parameters ) | ||||
| throws Exception | throws Exception | ||||
| { | { | ||||
| String projectType = type; | |||||
| if( null == projectType ) | |||||
| try | |||||
| { | { | ||||
| projectType = FileUtil.getExtension( location ); | |||||
| } | |||||
| String projectType = type; | |||||
| if( null == projectType ) | |||||
| { | |||||
| projectType = FileUtil.getExtension( location ); | |||||
| } | |||||
| final ProjectBuilder builder = getProjectBuilder( projectType, parameters ); | |||||
| return builder.build( location ); | |||||
| final ProjectBuilder builder = getProjectBuilder( projectType, parameters ); | |||||
| return builder.build( location ); | |||||
| } | |||||
| catch( final Exception e ) | |||||
| { | |||||
| final String message = REZ.getString( "create-project.error", location ); | |||||
| throw new CascadingException( message, e ); | |||||
| } | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -110,7 +119,6 @@ public class DefaultEmbeddor | |||||
| final Parameters parameters ) | final Parameters parameters ) | ||||
| throws Exception | throws Exception | ||||
| { | { | ||||
| final TypeFactory factory = m_typeManager.getFactory( ProjectBuilder.class ); | final TypeFactory factory = m_typeManager.getFactory( ProjectBuilder.class ); | ||||
| final ProjectBuilder builder = (ProjectBuilder)factory.create( type ); | final ProjectBuilder builder = (ProjectBuilder)factory.create( type ); | ||||
| setupObject( builder, m_workspaceServiceManager, parameters ); | setupObject( builder, m_workspaceServiceManager, parameters ); | ||||
| @@ -253,7 +261,7 @@ public class DefaultEmbeddor | |||||
| createComponent( RoleManager.class, PREFIX + "role.DefaultRoleManager" ); | createComponent( RoleManager.class, PREFIX + "role.DefaultRoleManager" ); | ||||
| createComponent( AspectManager.class, PREFIX + "aspect.DefaultAspectManager" ); | createComponent( AspectManager.class, PREFIX + "aspect.DefaultAspectManager" ); | ||||
| createComponent( Deployer.class, PREFIX + "deployer.DefaultDeployer" ); | createComponent( Deployer.class, PREFIX + "deployer.DefaultDeployer" ); | ||||
| createComponent( ClassLoaderManager.class, PREFIX + "deployer.DefaultClassLoaderManager" ); | |||||
| createComponent( ClassLoaderManager.class, PREFIX + "classloader.DefaultClassLoaderManager" ); | |||||
| createComponent( Executor.class, PREFIX + "executor.AspectAwareExecutor" ); | createComponent( Executor.class, PREFIX + "executor.AspectAwareExecutor" ); | ||||
| createComponent( PropertyResolver.class, PREFIX + "workspace.DefaultPropertyResolver" ); | createComponent( PropertyResolver.class, PREFIX + "workspace.DefaultPropertyResolver" ); | ||||
| @@ -6,4 +6,5 @@ no-instantiate.error=Error instantiating class for {0} {1}. | |||||
| no-class.error=Could not find the class for {0} ({1}). | no-class.error=Could not find the class for {0} ({1}). | ||||
| bad-filename.error=Unable to retrieve filename for file {0}. | bad-filename.error=Unable to retrieve filename for file {0}. | ||||
| home-dir.name=Myrmidon home directory | home-dir.name=Myrmidon home directory | ||||
| task-lib-dir.name=Task library directory | |||||
| task-lib-dir.name=Task library directory | |||||
| create-project.error=Could not load the project definition from {0}. | |||||
| @@ -5,7 +5,7 @@ | |||||
| * version 1.1, a copy of which has been included with this distribution in | * version 1.1, a copy of which has been included with this distribution in | ||||
| * the LICENSE.txt file. | * the LICENSE.txt file. | ||||
| */ | */ | ||||
| package org.apache.myrmidon.components.deployer; | |||||
| package org.apache.myrmidon.interfaces.classloader; | |||||
| import java.io.File; | import java.io.File; | ||||
| import org.apache.myrmidon.interfaces.deployer.DeploymentException; | import org.apache.myrmidon.interfaces.deployer.DeploymentException; | ||||
| @@ -18,16 +18,16 @@ import org.apache.avalon.framework.service.ServiceException; | |||||
| import org.apache.avalon.framework.service.ServiceManager; | import org.apache.avalon.framework.service.ServiceManager; | ||||
| import org.apache.avalon.framework.service.Serviceable; | import org.apache.avalon.framework.service.Serviceable; | ||||
| import org.apache.myrmidon.AbstractMyrmidonTest; | import org.apache.myrmidon.AbstractMyrmidonTest; | ||||
| import org.apache.myrmidon.components.classloader.DefaultClassLoaderManager; | |||||
| import org.apache.myrmidon.components.configurer.DefaultConfigurer; | import org.apache.myrmidon.components.configurer.DefaultConfigurer; | ||||
| import org.apache.myrmidon.components.converter.DefaultConverterRegistry; | import org.apache.myrmidon.components.converter.DefaultConverterRegistry; | ||||
| import org.apache.myrmidon.components.converter.DefaultMasterConverter; | import org.apache.myrmidon.components.converter.DefaultMasterConverter; | ||||
| import org.apache.myrmidon.components.deployer.ClassLoaderManager; | |||||
| import org.apache.myrmidon.components.deployer.DefaultClassLoaderManager; | |||||
| import org.apache.myrmidon.components.deployer.DefaultDeployer; | import org.apache.myrmidon.components.deployer.DefaultDeployer; | ||||
| import org.apache.myrmidon.components.extensions.DefaultExtensionManager; | import org.apache.myrmidon.components.extensions.DefaultExtensionManager; | ||||
| import org.apache.myrmidon.components.role.DefaultRoleManager; | import org.apache.myrmidon.components.role.DefaultRoleManager; | ||||
| import org.apache.myrmidon.components.type.DefaultTypeManager; | import org.apache.myrmidon.components.type.DefaultTypeManager; | ||||
| import org.apache.myrmidon.components.workspace.DefaultPropertyResolver; | import org.apache.myrmidon.components.workspace.DefaultPropertyResolver; | ||||
| import org.apache.myrmidon.interfaces.classloader.ClassLoaderManager; | |||||
| import org.apache.myrmidon.interfaces.configurer.Configurer; | import org.apache.myrmidon.interfaces.configurer.Configurer; | ||||
| import org.apache.myrmidon.interfaces.converter.ConverterRegistry; | import org.apache.myrmidon.interfaces.converter.ConverterRegistry; | ||||
| import org.apache.myrmidon.interfaces.deployer.Deployer; | import org.apache.myrmidon.interfaces.deployer.Deployer; | ||||
| @@ -18,16 +18,16 @@ import org.apache.avalon.framework.service.ServiceException; | |||||
| import org.apache.avalon.framework.service.ServiceManager; | import org.apache.avalon.framework.service.ServiceManager; | ||||
| import org.apache.avalon.framework.service.Serviceable; | import org.apache.avalon.framework.service.Serviceable; | ||||
| import org.apache.myrmidon.AbstractMyrmidonTest; | import org.apache.myrmidon.AbstractMyrmidonTest; | ||||
| import org.apache.myrmidon.components.classloader.DefaultClassLoaderManager; | |||||
| import org.apache.myrmidon.components.configurer.DefaultConfigurer; | import org.apache.myrmidon.components.configurer.DefaultConfigurer; | ||||
| import org.apache.myrmidon.components.converter.DefaultConverterRegistry; | import org.apache.myrmidon.components.converter.DefaultConverterRegistry; | ||||
| import org.apache.myrmidon.components.converter.DefaultMasterConverter; | import org.apache.myrmidon.components.converter.DefaultMasterConverter; | ||||
| import org.apache.myrmidon.components.deployer.ClassLoaderManager; | |||||
| import org.apache.myrmidon.components.deployer.DefaultClassLoaderManager; | |||||
| import org.apache.myrmidon.components.deployer.DefaultDeployer; | import org.apache.myrmidon.components.deployer.DefaultDeployer; | ||||
| import org.apache.myrmidon.components.extensions.DefaultExtensionManager; | import org.apache.myrmidon.components.extensions.DefaultExtensionManager; | ||||
| import org.apache.myrmidon.components.role.DefaultRoleManager; | import org.apache.myrmidon.components.role.DefaultRoleManager; | ||||
| import org.apache.myrmidon.components.type.DefaultTypeManager; | import org.apache.myrmidon.components.type.DefaultTypeManager; | ||||
| import org.apache.myrmidon.components.workspace.DefaultPropertyResolver; | import org.apache.myrmidon.components.workspace.DefaultPropertyResolver; | ||||
| import org.apache.myrmidon.interfaces.classloader.ClassLoaderManager; | |||||
| import org.apache.myrmidon.interfaces.configurer.Configurer; | import org.apache.myrmidon.interfaces.configurer.Configurer; | ||||
| import org.apache.myrmidon.interfaces.converter.ConverterRegistry; | import org.apache.myrmidon.interfaces.converter.ConverterRegistry; | ||||
| import org.apache.myrmidon.interfaces.deployer.Deployer; | import org.apache.myrmidon.interfaces.deployer.Deployer; | ||||