Moved RoleManager and separated interface/implementation into deployer package. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269091 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -8,8 +8,6 @@ | |||
| package org.apache.ant.modules.core; | |||
| import java.io.File; | |||
| import java.net.MalformedURLException; | |||
| import java.net.URL; | |||
| import org.apache.avalon.framework.component.ComponentException; | |||
| import org.apache.avalon.framework.component.ComponentManager; | |||
| import org.apache.avalon.framework.component.Composable; | |||
| @@ -69,9 +67,9 @@ public abstract class AbstractTypeDefinition | |||
| "lib parameter" ); | |||
| } | |||
| final URL url = getURL( m_lib ); | |||
| final File file = getFile( m_lib ); | |||
| registerResource( m_name, m_classname, url ); | |||
| registerResource( m_name, m_classname, file ); | |||
| } | |||
| protected final TskDeployer getDeployer() | |||
| @@ -84,17 +82,12 @@ public abstract class AbstractTypeDefinition | |||
| return m_typeManager; | |||
| } | |||
| private final URL getURL( final String libName ) | |||
| private final File getFile( final String libName ) | |||
| throws TaskException | |||
| { | |||
| if( null != libName ) | |||
| { | |||
| final File lib = getContext().resolveFile( libName ); | |||
| try { return lib.toURL(); } | |||
| catch( final MalformedURLException mue ) | |||
| { | |||
| throw new TaskException( "Malformed task-lib parameter " + m_lib, mue ); | |||
| } | |||
| return getContext().resolveFile( libName ); | |||
| } | |||
| else | |||
| { | |||
| @@ -102,6 +95,6 @@ public abstract class AbstractTypeDefinition | |||
| } | |||
| } | |||
| protected abstract void registerResource( String name, String classname, URL url ) | |||
| protected abstract void registerResource( String name, String classname, File file ) | |||
| throws TaskException; | |||
| } | |||
| @@ -76,10 +76,10 @@ public class RegisterConverter | |||
| throw new TaskException( "Must specify classname parameter" ); | |||
| } | |||
| final URL url = getURL( m_lib ); | |||
| boolean isFullyDefined = true; | |||
| final File file = getFile( m_lib ); | |||
| if( null == m_sourceType && null == m_destinationType ) | |||
| { | |||
| isFullyDefined = false; | |||
| @@ -90,7 +90,7 @@ public class RegisterConverter | |||
| "parameters when supplying a name" ); | |||
| } | |||
| if( !isFullyDefined && null == url ) | |||
| if( !isFullyDefined && null == file ) | |||
| { | |||
| throw new TaskException( "Must supply parameter if not fully specifying converter" ); | |||
| } | |||
| @@ -99,22 +99,26 @@ public class RegisterConverter | |||
| { | |||
| try | |||
| { | |||
| m_tskDeployer.deployConverter( m_classname, url.toString(), url ); | |||
| m_tskDeployer.deployConverter( m_classname, file ); | |||
| } | |||
| catch( final DeploymentException de ) | |||
| { | |||
| throw new TaskException( "Failed deploying " + m_classname + | |||
| " from " + url, de ); | |||
| " from " + file, de ); | |||
| } | |||
| } | |||
| else | |||
| { | |||
| m_converterRegistry.registerConverter( m_classname, m_sourceType, m_destinationType ); | |||
| final DefaultTypeFactory factory = new DefaultTypeFactory( new URL[] { url } ); | |||
| factory.addNameClassMapping( m_classname, m_classname ); | |||
| try | |||
| { | |||
| m_converterRegistry.registerConverter( m_classname, m_sourceType, m_destinationType ); | |||
| try { m_typeManager.registerType( Converter.ROLE, m_classname, factory ); } | |||
| final URL url = file.toURL(); | |||
| final DefaultTypeFactory factory = new DefaultTypeFactory( new URL[] { url } ); | |||
| factory.addNameClassMapping( m_classname, m_classname ); | |||
| m_typeManager.registerType( Converter.ROLE, m_classname, factory ); | |||
| } | |||
| catch( final Exception e ) | |||
| { | |||
| throw new TaskException( "Failed to register converter " + m_classname, e ); | |||
| @@ -122,17 +126,12 @@ public class RegisterConverter | |||
| } | |||
| } | |||
| private URL getURL( final String libName ) | |||
| private File getFile( final String libName ) | |||
| throws TaskException | |||
| { | |||
| if( null != libName ) | |||
| { | |||
| final File lib = getContext().resolveFile( libName ); | |||
| try { return lib.toURL(); } | |||
| catch( final MalformedURLException mue ) | |||
| { | |||
| throw new TaskException( "Malformed task-lib parameter " + m_lib, mue ); | |||
| } | |||
| return getContext().resolveFile( libName ); | |||
| } | |||
| else | |||
| { | |||
| @@ -7,6 +7,7 @@ | |||
| */ | |||
| package org.apache.ant.modules.core; | |||
| import java.io.File; | |||
| import java.net.URL; | |||
| import org.apache.myrmidon.api.DataType; | |||
| import org.apache.myrmidon.api.TaskException; | |||
| @@ -23,25 +24,29 @@ public class RegisterDataType | |||
| { | |||
| protected void registerResource( final String name, | |||
| final String className, | |||
| final URL url ) | |||
| final File file ) | |||
| throws TaskException | |||
| { | |||
| if( null == className ) | |||
| { | |||
| try { getDeployer().deployDataType( name, url.toString(), url ); } | |||
| try { getDeployer().deployDataType( name, file ); } | |||
| catch( final DeploymentException de ) | |||
| { | |||
| throw new TaskException( "Failed deploying " + name + " from " + url, de ); | |||
| throw new TaskException( "Failed deploying " + name + " from " + file, de ); | |||
| } | |||
| } | |||
| else | |||
| { | |||
| final DefaultTypeFactory factory = new DefaultTypeFactory( new URL[] { url } ); | |||
| factory.addNameClassMapping( name, className ); | |||
| try { getTypeManager().registerType( DataType.ROLE, name, factory ); } | |||
| try | |||
| { | |||
| final URL url = file.toURL(); | |||
| final DefaultTypeFactory factory = new DefaultTypeFactory( new URL[] { url } ); | |||
| factory.addNameClassMapping( name, className ); | |||
| getTypeManager().registerType( DataType.ROLE, name, factory ); | |||
| } | |||
| catch( final Exception e ) | |||
| { | |||
| throw new TaskException( "Failed registering " + name + " from " + url, e ); | |||
| throw new TaskException( "Failed registering " + name + " from " + file, e ); | |||
| } | |||
| } | |||
| } | |||
| @@ -7,6 +7,7 @@ | |||
| */ | |||
| package org.apache.ant.modules.core; | |||
| import java.io.File; | |||
| import java.net.URL; | |||
| import org.apache.myrmidon.api.Task; | |||
| import org.apache.myrmidon.api.TaskException; | |||
| @@ -23,25 +24,29 @@ public class RegisterTasklet | |||
| { | |||
| protected void registerResource( final String name, | |||
| final String className, | |||
| final URL url ) | |||
| final File file ) | |||
| throws TaskException | |||
| { | |||
| if( null == className ) | |||
| { | |||
| try { getDeployer().deployTask( name, url.toString(), url ); } | |||
| try { getDeployer().deployTask( name, file ); } | |||
| catch( final DeploymentException de ) | |||
| { | |||
| throw new TaskException( "Failed deploying " + name + " from " + url, de ); | |||
| throw new TaskException( "Failed deploying " + name + " from " + file, de ); | |||
| } | |||
| } | |||
| else | |||
| { | |||
| final DefaultTypeFactory factory = new DefaultTypeFactory( new URL[] { url } ); | |||
| factory.addNameClassMapping( name, className ); | |||
| try { getTypeManager().registerType( Task.ROLE, name, factory ); } | |||
| try | |||
| { | |||
| final URL url = file.toURL(); | |||
| final DefaultTypeFactory factory = new DefaultTypeFactory( new URL[] { url } ); | |||
| factory.addNameClassMapping( name, className ); | |||
| getTypeManager().registerType( Task.ROLE, name, factory ); | |||
| } | |||
| catch( final Exception e ) | |||
| { | |||
| throw new TaskException( "Failed registering " + name + " from " + url, e ); | |||
| throw new TaskException( "Failed registering " + name + " from " + file, e ); | |||
| } | |||
| } | |||
| } | |||
| @@ -51,16 +51,11 @@ public class RegisterTasklib | |||
| URL url = null; | |||
| final File lib = getContext().resolveFile( m_lib ); | |||
| try { url = lib.toURL(); } | |||
| catch( final MalformedURLException mue ) | |||
| { | |||
| throw new TaskException( "Malformed task-lib parameter " + m_lib, mue ); | |||
| } | |||
| final File file = getContext().resolveFile( m_lib ); | |||
| try | |||
| { | |||
| m_tskDeployer.deploy( url.toString(), url ); | |||
| m_tskDeployer.deploy( file ); | |||
| } | |||
| catch( final DeploymentException de ) | |||
| { | |||
| @@ -5,7 +5,7 @@ | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE file. | |||
| */ | |||
| package org.apache.myrmidon.components.type; | |||
| package org.apache.myrmidon.components.deployer; | |||
| import java.util.HashMap; | |||
| @@ -18,18 +18,22 @@ import java.util.HashMap; | |||
| * @author <a href="mailto:donaldp@apache.org">Peter Donald</a> | |||
| * @version CVS $Revision$ $Date$ | |||
| */ | |||
| public class RoleManager | |||
| public class DefaultRoleManager | |||
| implements RoleManager | |||
| { | |||
| /** Parent <code>RoleManager</code> for nested resolution */ | |||
| private final RoleManager m_parent; | |||
| /** Map for shorthand to role mapping */ | |||
| private final HashMap m_shorthands = new HashMap(); | |||
| /** Map for name to role mapping */ | |||
| private final HashMap m_names = new HashMap(); | |||
| /** Map for role to name mapping */ | |||
| private final HashMap m_roles = new HashMap(); | |||
| /** | |||
| * constructor--this RoleManager has no parent. | |||
| */ | |||
| public RoleManager() | |||
| public DefaultRoleManager() | |||
| { | |||
| this( null ); | |||
| } | |||
| @@ -40,7 +44,7 @@ public class RoleManager | |||
| * | |||
| * @param parent The parent <code>RoleManager</code>. | |||
| */ | |||
| public RoleManager( final RoleManager parent ) | |||
| public DefaultRoleManager( final RoleManager parent ) | |||
| { | |||
| m_parent = parent; | |||
| } | |||
| @@ -48,32 +52,50 @@ public class RoleManager | |||
| /** | |||
| * Find Role name based on shorthand name. | |||
| * | |||
| * @param shorthandName the shorthand name | |||
| * @param name the shorthand name | |||
| * @return the role | |||
| */ | |||
| public String getRoleForName( final String shorthandName ) | |||
| public String getRoleForName( final String name ) | |||
| { | |||
| final String role = (String)m_shorthands.get( shorthandName ); | |||
| final String role = (String)m_names.get( name ); | |||
| if( null == role && null != m_parent ) | |||
| { | |||
| return m_parent.getRoleForName( shorthandName ); | |||
| return m_parent.getRoleForName( name ); | |||
| } | |||
| return role; | |||
| } | |||
| /** | |||
| * Add a mapping between shorthand name and role | |||
| * Find name based on role. | |||
| * | |||
| * @param role the role | |||
| * @return the name | |||
| */ | |||
| public String getNameForRole( final String role ) | |||
| { | |||
| final String name = (String)m_roles.get( role ); | |||
| if( null == name && null != m_parent ) | |||
| { | |||
| return m_parent.getNameForRole( name ); | |||
| } | |||
| return name; | |||
| } | |||
| /** | |||
| * Add a mapping between name and role | |||
| * | |||
| * @param shorthandName the shorthand name | |||
| * @param name the shorthand name | |||
| * @param role the role | |||
| * @exception IllegalArgumentException if an name is already mapped to a different role | |||
| */ | |||
| public void addNameRoleMapping( final String shorthandName, final String role ) | |||
| public void addNameRoleMapping( final String name, final String role ) | |||
| throws IllegalArgumentException | |||
| { | |||
| final String oldRole = (String)m_shorthands.get( shorthandName ); | |||
| final String oldRole = (String)m_names.get( name ); | |||
| if( null != oldRole && oldRole.equals( role ) ) | |||
| { | |||
| @@ -81,6 +103,7 @@ public class RoleManager | |||
| oldRole + ")" ); | |||
| } | |||
| m_shorthands.put( shorthandName, role ); | |||
| m_names.put( name, role ); | |||
| m_roles.put( role, name ); | |||
| } | |||
| } | |||
| @@ -47,15 +47,7 @@ public class DefaultTskDeployer | |||
| private DefaultConfigurationBuilder m_configurationBuilder = new DefaultConfigurationBuilder(); | |||
| private ConverterRegistry m_converterRegistry; | |||
| private TypeManager m_typeManager; | |||
| /** | |||
| * Default constructor. | |||
| */ | |||
| public DefaultTskDeployer() | |||
| { | |||
| //m_autoUndeploy = true; | |||
| //m_type = "Task"; | |||
| } | |||
| private RoleManager m_roleManager; | |||
| /** | |||
| * Retrieve relevent services needed to deploy. | |||
| @@ -68,42 +60,29 @@ public class DefaultTskDeployer | |||
| { | |||
| m_converterRegistry = (ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE ); | |||
| m_typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE ); | |||
| m_roleManager = (RoleManager)componentManager.lookup( RoleManager.ROLE ); | |||
| } | |||
| public void deploy( final String location, final URL url ) | |||
| public void deploy( final File file ) | |||
| throws DeploymentException | |||
| { | |||
| //checkDeployment( location, url ); | |||
| final File file = getFileFor( url ); | |||
| getLogger().info( "Deploying AntLib file (" + file + ")" ); | |||
| getLogger().info( "Deploying AntLib file (" + file + ") as " + location ); | |||
| deployFromFile( location, file ); | |||
| } | |||
| final URL url = getURL( file ); | |||
| /** | |||
| * Deploy a file. | |||
| * Eventually this should be cached for performance reasons. | |||
| * | |||
| * @param location the location | |||
| * @param file the file | |||
| * @exception DeploymentException if an error occurs | |||
| */ | |||
| protected void deployFromFile( final String location, final File file ) | |||
| throws DeploymentException | |||
| { | |||
| final ZipFile zipFile = getZipFileFor( file ); | |||
| URL url = null; | |||
| try | |||
| { | |||
| try { url = file.toURL(); } | |||
| catch( final MalformedURLException mue ) | |||
| { | |||
| throw new DeploymentException( "Unable to form url", mue ); | |||
| } | |||
| loadResources( zipFile, location, url ); | |||
| loadResources( zipFile, url ); | |||
| } | |||
| catch( final DeploymentException de ) | |||
| { | |||
| throw de; | |||
| } | |||
| catch( final Exception e ) | |||
| { | |||
| throw new DeploymentException( "Error deploying library", e ); | |||
| } | |||
| finally | |||
| { | |||
| try { zipFile.close(); } | |||
| @@ -111,10 +90,10 @@ public class DefaultTskDeployer | |||
| } | |||
| } | |||
| private void loadResources( final ZipFile zipFile, final String location, final URL url ) | |||
| throws DeploymentException | |||
| private void loadResources( final ZipFile zipFile, final URL url ) | |||
| throws Exception | |||
| { | |||
| final Configuration taskdefs = loadConfiguration( zipFile, TSKDEF_FILE ); | |||
| final Configuration taskdefs = getDescriptor( zipFile ); | |||
| final DefaultTypeFactory factory = new DefaultTypeFactory( new URL[] { url } ); | |||
| try | |||
| @@ -141,18 +120,13 @@ public class DefaultTskDeployer | |||
| { | |||
| throw new DeploymentException( "Malformed taskdefs.xml", ce ); | |||
| } | |||
| catch( final Exception e ) | |||
| { | |||
| throw new DeploymentException( "Failed to deploy " + location, e ); | |||
| } | |||
| } | |||
| public void deployConverter( String name, String location, URL url ) | |||
| public void deployConverter( final String name, final File file ) | |||
| throws DeploymentException | |||
| { | |||
| //checkDeployment( location, url ); | |||
| final ZipFile zipFile = getZipFileFor( getFileFor( url ) ); | |||
| final Configuration taskdefs = loadConfiguration( zipFile, TSKDEF_FILE ); | |||
| final ZipFile zipFile = getZipFileFor( file ); | |||
| final Configuration taskdefs = getDescriptor( zipFile ); | |||
| try | |||
| { | |||
| @@ -161,6 +135,7 @@ public class DefaultTskDeployer | |||
| { | |||
| if( converters[ i ].getAttribute( "classname" ).equals( name ) ) | |||
| { | |||
| final URL url = getURL( file ); | |||
| final DefaultTypeFactory factory = new DefaultTypeFactory( new URL[] { url } ); | |||
| handleConverter( converters[ i ], url, factory ); | |||
| break; | |||
| @@ -177,13 +152,11 @@ public class DefaultTskDeployer | |||
| } | |||
| } | |||
| public void deployDataType( final String name, final String location, final URL url ) | |||
| public void deployDataType( final String name, final File file ) | |||
| throws DeploymentException | |||
| { | |||
| //checkDeployment( location, url ); | |||
| final ZipFile zipFile = getZipFileFor( getFileFor( url ) ); | |||
| final Configuration datatypedefs = | |||
| loadConfiguration( zipFile, TSKDEF_FILE ); | |||
| final ZipFile zipFile = getZipFileFor( file ); | |||
| final Configuration datatypedefs = getDescriptor( zipFile ); | |||
| try | |||
| { | |||
| @@ -192,6 +165,7 @@ public class DefaultTskDeployer | |||
| { | |||
| if( datatypes[ i ].getAttribute( "name" ).equals( name ) ) | |||
| { | |||
| final URL url = getURL( file ); | |||
| final DefaultTypeFactory factory = new DefaultTypeFactory( new URL[] { url } ); | |||
| handleDataType( datatypes[ i ], url, factory ); | |||
| break; | |||
| @@ -208,12 +182,11 @@ public class DefaultTskDeployer | |||
| } | |||
| } | |||
| public void deployTask( final String name, final String location, final URL url ) | |||
| public void deployTask( final String name, final File file ) | |||
| throws DeploymentException | |||
| { | |||
| //checkDeployment( location, url ); | |||
| final ZipFile zipFile = getZipFileFor( getFileFor( url ) ); | |||
| final Configuration taskdefs = loadConfiguration( zipFile, TSKDEF_FILE ); | |||
| final ZipFile zipFile = getZipFileFor( file ); | |||
| final Configuration taskdefs = getDescriptor( zipFile ); | |||
| try | |||
| { | |||
| @@ -222,6 +195,7 @@ public class DefaultTskDeployer | |||
| { | |||
| if( tasks[ i ].getAttribute( "name" ).equals( name ) ) | |||
| { | |||
| final URL url = getURL( file ); | |||
| final DefaultTypeFactory factory = new DefaultTypeFactory( new URL[] { url } ); | |||
| handleTask( tasks[ i ], url, factory ); | |||
| break; | |||
| @@ -265,10 +239,10 @@ public class DefaultTskDeployer | |||
| * @return the Configuration | |||
| * @exception DeploymentException if an error occurs | |||
| */ | |||
| private Configuration loadConfiguration( final ZipFile zipFile, final String filename ) | |||
| private Configuration getDescriptor( final ZipFile zipFile ) | |||
| throws DeploymentException | |||
| { | |||
| return buildConfiguration( loadResourceStream( zipFile, filename ) ); | |||
| return buildConfiguration( loadResourceStream( zipFile, TSKDEF_FILE ) ); | |||
| } | |||
| /** | |||
| @@ -403,4 +377,14 @@ public class DefaultTskDeployer | |||
| ioe ); | |||
| } | |||
| } | |||
| private URL getURL( final File file ) | |||
| throws DeploymentException | |||
| { | |||
| try { return file.toURL(); } | |||
| catch( final MalformedURLException mue ) | |||
| { | |||
| throw new DeploymentException( "Unable to form url", mue ); | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,41 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE file. | |||
| */ | |||
| package org.apache.myrmidon.components.deployer; | |||
| import org.apache.avalon.framework.component.Component; | |||
| /** | |||
| * Interface to manage roles and mapping to shorthand names. | |||
| * | |||
| * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a> | |||
| * @author <a href="mailto:ricardo@apache,org">Ricardo Rocha</a> | |||
| * @author <a href="mailto:giacomo@apache,org">Giacomo Pati</a> | |||
| * @author <a href="mailto:donaldp@apache.org">Peter Donald</a> | |||
| * @version CVS $Revision$ $Date$ | |||
| */ | |||
| public interface RoleManager | |||
| extends Component | |||
| { | |||
| String ROLE = "org.apache.myrmidon.components.deployer.RoleManager"; | |||
| /** | |||
| * Find Role name based on shorthand name. | |||
| * | |||
| * @param shorthandName the shorthand name | |||
| * @return the role | |||
| */ | |||
| String getRoleForName( String shorthandName ); | |||
| /** | |||
| * Find name based on role. | |||
| * | |||
| * @param role the role | |||
| * @return the name | |||
| */ | |||
| String getNameForRole( String role ); | |||
| } | |||
| @@ -7,7 +7,7 @@ | |||
| */ | |||
| package org.apache.myrmidon.components.deployer; | |||
| import java.net.URL; | |||
| import java.io.File; | |||
| import org.apache.avalon.framework.component.Component; | |||
| /** | |||
| @@ -21,22 +21,21 @@ public interface TskDeployer | |||
| String ROLE = "org.apache.myrmidon.components.deployer.TskDeployer"; | |||
| /** | |||
| * Deploy a resource indicate by url to location. | |||
| * Deploy a library. | |||
| * | |||
| * @param location the location to deploy to | |||
| * @param url the url of deployment | |||
| * @param file the file deployment | |||
| * @exception DeploymentException if an error occurs | |||
| */ | |||
| void deploy( String location, URL url ) | |||
| void deploy( File file ) | |||
| throws DeploymentException; | |||
| void deployConverter( String name, String location, URL url ) | |||
| void deployConverter( String name, File file ) | |||
| throws DeploymentException; | |||
| void deployDataType( String name, String location, URL url ) | |||
| void deployDataType( String name, File file ) | |||
| throws DeploymentException; | |||
| void deployTask( String name, String location, URL url ) | |||
| void deployTask( String name, File file ) | |||
| throws DeploymentException; | |||
| } | |||
| @@ -24,6 +24,7 @@ import org.apache.myrmidon.api.JavaVersion; | |||
| import org.apache.myrmidon.components.builder.ProjectBuilder; | |||
| import org.apache.myrmidon.components.configurer.Configurer; | |||
| import org.apache.myrmidon.components.deployer.TskDeployer; | |||
| import org.apache.myrmidon.components.deployer.RoleManager; | |||
| import org.apache.myrmidon.components.deployer.DeploymentException; | |||
| import org.apache.myrmidon.components.executor.Executor; | |||
| import org.apache.myrmidon.components.manager.ProjectManager; | |||
| @@ -42,6 +43,7 @@ public class MyrmidonEmbeddor | |||
| private ProjectManager m_projectManager; | |||
| private ProjectBuilder m_builder; | |||
| private TskDeployer m_deployer; | |||
| private RoleManager m_roleManager; | |||
| private TypeManager m_typeManager; | |||
| private MasterConverter m_converter; | |||
| @@ -133,8 +135,8 @@ public class MyrmidonEmbeddor | |||
| * @exception Exception if an error occurs | |||
| */ | |||
| public void dispose() | |||
| throws Exception | |||
| { | |||
| m_roleManager = null; | |||
| m_converterRegistry = null; | |||
| m_converter = null; | |||
| m_executor = null; | |||
| @@ -166,6 +168,8 @@ public class MyrmidonEmbeddor | |||
| defaults.setParameter( "myrmidon.lib.path", "lib" ); | |||
| //create all the default properties for components | |||
| defaults.setParameter( RoleManager.ROLE, | |||
| "org.apache.myrmidon.components.deployer.DefaultRoleManager" ); | |||
| defaults.setParameter( MasterConverter.ROLE, | |||
| "org.apache.myrmidon.components.converter.DefaultMasterConverter" ); | |||
| defaults.setParameter( ConverterRegistry.ROLE, | |||
| @@ -202,6 +206,7 @@ public class MyrmidonEmbeddor | |||
| componentManager.put( ProjectBuilder.ROLE, m_builder ); | |||
| //Following components required when Myrmidon allows user deployment of tasks etal. | |||
| componentManager.put( RoleManager.ROLE, m_roleManager ); | |||
| componentManager.put( TskDeployer.ROLE, m_deployer ); | |||
| //Following components used when want to types (ie tasks/mappers etc) | |||
| @@ -237,6 +242,9 @@ public class MyrmidonEmbeddor | |||
| component = getParameter( TypeManager.ROLE ); | |||
| m_typeManager = (TypeManager)createComponent( component, TypeManager.class ); | |||
| component = getParameter( RoleManager.ROLE ); | |||
| m_roleManager = (RoleManager)createComponent( component, RoleManager.class ); | |||
| component = getParameter( TskDeployer.ROLE ); | |||
| m_deployer = (TskDeployer)createComponent( component, TskDeployer.class ); | |||
| @@ -258,6 +266,7 @@ public class MyrmidonEmbeddor | |||
| private void setupComponents() | |||
| throws Exception | |||
| { | |||
| setupComponent( m_roleManager ); | |||
| setupComponent( m_converterRegistry ); | |||
| setupComponent( m_converter ); | |||
| setupComponent( m_executor ); | |||
| @@ -452,7 +461,7 @@ public class MyrmidonEmbeddor | |||
| try | |||
| { | |||
| final File file = files[ i ].getCanonicalFile(); | |||
| deployer.deploy( name, file.toURL() ); | |||
| deployer.deploy( file ); | |||
| } | |||
| catch( final DeploymentException de ) | |||
| { | |||