Browse Source

Removed ConverterInfo and simplified ConverterRegistry

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269088 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 24 years ago
parent
commit
362616390f
6 changed files with 22 additions and 86 deletions
  1. +3
    -6
      proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterConverter.java
  2. +0
    -48
      proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/ConverterInfo.java
  3. +5
    -4
      proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/ConverterRegistry.java
  4. +5
    -6
      proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/DefaultConverterRegistry.java
  5. +4
    -5
      proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/DefaultMasterConverter.java
  6. +5
    -17
      proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java

+ 3
- 6
proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterConverter.java View File

@@ -15,7 +15,6 @@ import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.Composable;
import org.apache.myrmidon.api.AbstractTask;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.components.converter.ConverterInfo;
import org.apache.myrmidon.components.converter.ConverterRegistry;
import org.apache.myrmidon.components.deployer.DeploymentException;
import org.apache.myrmidon.components.deployer.TskDeployer;
@@ -110,13 +109,11 @@ public class RegisterConverter
}
else
{
final ConverterInfo info = new ConverterInfo( m_sourceType, m_destinationType );
m_converterRegistry.registerConverterInfo( m_classname, info );

final DefaultComponentFactory factory =
new DefaultComponentFactory( new URL[] { url } );
m_converterRegistry.registerConverter( m_classname, m_sourceType, m_destinationType );

final DefaultComponentFactory factory = new DefaultComponentFactory( new URL[] { url } );
factory.addNameClassMapping( m_classname, m_classname );

try { m_typeManager.registerType( Converter.ROLE, m_classname, factory ); }
catch( final Exception e )
{


+ 0
- 48
proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/ConverterInfo.java View File

@@ -1,48 +0,0 @@
/*
* 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.converter;

/**
* This info represents meta-information about a converter.
*
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/
public class ConverterInfo
{
private final String m_source;
private final String m_destination;

public ConverterInfo( final String source, final String destination )
{
m_source = source;
m_destination = destination;
}

/**
* Retrieve the source type from which it can convert.
* NB: Should this be an array ????
*
* @return the classname from which object produced
*/
public String getSource()
{
return m_source;
}

/**
* Retrieve the type to which the converter converts.
* NB: Should this be an array ????
*
* @return the classname of the produced object
*/
public String getDestination()
{
return m_destination;
}
}


+ 5
- 4
proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/ConverterRegistry.java View File

@@ -27,13 +27,14 @@ public interface ConverterRegistry
* @param destination the destination classname
* @return the className of converter or null if none available
*/
String getConverterInfoName( String source, String destination );
String getConverterName( String source, String destination );

/**
* Register a converter-info
* Register a converter
*
* @param className the className of converter
* @param info the ConverterInfo
* @param source the source classname
* @param destination the destination classname
*/
void registerConverterInfo( String className, ConverterInfo info );
void registerConverter( String className, String source, String destination );
}

+ 5
- 6
proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/DefaultConverterRegistry.java View File

@@ -10,7 +10,7 @@ package org.apache.myrmidon.components.converter;
import java.util.HashMap;

/**
* Default implementation of ConverterInfo registry.
* Default implementation of Converter registry.
*
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/
@@ -19,18 +19,17 @@ public class DefaultConverterRegistry
{
private final HashMap m_mapping = new HashMap();

public String getConverterInfoName( final String source, final String destination )
public String getConverterName( final String source, final String destination )
{
final HashMap map = (HashMap)m_mapping.get( source );
if( null == map ) return null;
return (String)map.get( destination );
}

public void registerConverterInfo( final String className, final ConverterInfo info )
public void registerConverter( final String className,
final String source,
final String destination )
{
final String source = info.getSource();
final String destination = info.getDestination();

HashMap map = (HashMap)m_mapping.get( source );
if( null == map )
{


+ 4
- 5
proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/DefaultMasterConverter.java View File

@@ -29,7 +29,7 @@ public class DefaultMasterConverter
{
private final static boolean DEBUG = false;

private ConverterRegistry m_infoRegistry;
private ConverterRegistry m_registry;
private ComponentSelector m_selector;

/**
@@ -41,7 +41,7 @@ public class DefaultMasterConverter
public void compose( final ComponentManager componentManager )
throws ComponentException
{
m_infoRegistry = (ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE );
m_registry = (ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE );

final TypeManager typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
m_selector = (ComponentSelector)typeManager.lookup( Converter.ROLE + "Selector" );
@@ -73,9 +73,8 @@ public class DefaultMasterConverter
}

//TODO: Start searching inheritance hierarchy for converter
final String name =
m_infoRegistry.getConverterInfoName( originalClass.getName(),
destination.getName() );
final String name = m_registry.getConverterName( originalClass.getName(),
destination.getName() );

if( null == name )
{


+ 5
- 17
proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java View File

@@ -26,7 +26,6 @@ import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
import org.apache.avalon.framework.logger.AbstractLoggable;
import org.apache.myrmidon.api.Task;
import org.apache.myrmidon.api.DataType;
import org.apache.myrmidon.components.converter.ConverterInfo;
import org.apache.myrmidon.components.converter.ConverterRegistry;
import org.apache.myrmidon.components.executor.Executor;
import org.apache.myrmidon.components.type.ComponentFactory;
@@ -46,8 +45,8 @@ public class DefaultTskDeployer
{
private final static String TSKDEF_FILE = "TASK-LIB/taskdefs.xml";

private DefaultConfigurationBuilder m_configurationBuilder;
private ConverterRegistry m_converterInfoRegistry;
private DefaultConfigurationBuilder m_configurationBuilder = new DefaultConfigurationBuilder();
private ConverterRegistry m_converterRegistry;
private TypeManager m_typeManager;

/**
@@ -68,7 +67,7 @@ public class DefaultTskDeployer
public void compose( final ComponentManager componentManager )
throws ComponentException
{
m_converterInfoRegistry = (ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE );
m_converterRegistry = (ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE );
m_typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
}

@@ -245,16 +244,6 @@ public class DefaultTskDeployer
}
}

private DefaultConfigurationBuilder getBuilder()
{
if( null == m_configurationBuilder )
{
m_configurationBuilder = new DefaultConfigurationBuilder();
}

return m_configurationBuilder;
}

/**
* Retrieve zip file for file.
*
@@ -298,7 +287,7 @@ public class DefaultTskDeployer
private Configuration buildConfiguration( final InputStream input )
throws DeploymentException
{
try { return getBuilder().build( input ); }
try { return m_configurationBuilder.build( input ); }
catch( final SAXException se )
{
throw new DeploymentException( "Malformed configuration data", se );
@@ -354,8 +343,7 @@ public class DefaultTskDeployer
final String source = converter.getAttribute( "source" );
final String destination = converter.getAttribute( "destination" );

final ConverterInfo info = new ConverterInfo( source, destination );
m_converterInfoRegistry.registerConverterInfo( name, info );
m_converterRegistry.registerConverter( name, source, destination );

factory.addNameClassMapping( name, name );
m_typeManager.registerType( Converter.ROLE, name, factory );


Loading…
Cancel
Save