From d4de5ba0d30ffd593b237370b377d3b8d9f9a897 Mon Sep 17 00:00:00 2001 From: Peter Donald Date: Thu, 14 Jun 2001 16:37:54 +0000 Subject: [PATCH] Starting to reintroduce Ant1 adapters. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269173 13f79535-47bb-0310-9956-ffa450edef68 --- .../framework/ant1/Ant1TypeFactory.java | 57 +++++++++++++++++++ .../myrmidon/framework/ant1/TaskAdapter.java | 2 +- 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 proposal/myrmidon/src/java/org/apache/myrmidon/framework/ant1/Ant1TypeFactory.java diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/framework/ant1/Ant1TypeFactory.java b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/ant1/Ant1TypeFactory.java new file mode 100644 index 000000000..56ea15a93 --- /dev/null +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/ant1/Ant1TypeFactory.java @@ -0,0 +1,57 @@ +/* + * 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.framework.ant1; + +import java.net.URL; +import org.apache.myrmidon.components.type.DefaultTypeFactory; +import org.apache.myrmidon.components.type.TypeException; +import org.apache.tools.ant.Task; + +/** + * Factory used to create adaptors for Ant1 tasks. + * + * @author Peter Donald + */ +public class Ant1TypeFactory + extends DefaultTypeFactory +{ + public Ant1TypeFactory( final URL url ) + { + super( url ); + } + + public Ant1TypeFactory( final URL[] urls ) + { + super( urls ); + } + + public Ant1TypeFactory( final URL[] urls, final ClassLoader parent ) + { + super( urls, parent ); + } + + public Ant1TypeFactory( final ClassLoader classLoader ) + { + super( classLoader ); + } + + public Object create( final String name ) + throws TypeException + { + final Object object = super.create( name ); + + if( !(object instanceof Task) ) + { + throw new TypeException( "Expected an Ant1 task but received an " + + "object of type : " + object.getClass().getName() ); + } + + return new TaskAdapter( (Task)object ); + } +} + diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/framework/ant1/TaskAdapter.java b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/ant1/TaskAdapter.java index c2a4fdbf5..09d06354c 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/framework/ant1/TaskAdapter.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/ant1/TaskAdapter.java @@ -20,7 +20,7 @@ import org.apache.myrmidon.framework.AbstractContainerTask; import org.apache.tools.ant.Task; /** - * This is the property "task" to declare a binding of a datatype to a name. + * Adapter of Ant1 tasks to ant2. * * @author Peter Donald */