Browse Source

Remove unused task

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271175 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 23 years ago
parent
commit
343325b50f
2 changed files with 0 additions and 788 deletions
  1. +0
    -394
      proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ManifestFile.java
  2. +0
    -394
      proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/ManifestFile.java

+ 0
- 394
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ManifestFile.java View File

@@ -1,394 +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.txt file.
*/
package org.apache.tools.ant.taskdefs.optional;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.ListIterator;
import java.util.StringTokenizer;
import org.apache.avalon.excalibur.util.StringUtil;
import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.Task;

/**
* Task for creating a manifest file for a jar archiv. use: <pre>
* <taskdef name="manifest" classname="ManifestFile"/>
* <target name="jar_manifest">
* <manifest file="manifest.mf" method="replaceAll">
* <entry value="Manifest-Version: 1_0"/>
* </manifest> </target> </pre>
*
* @author Thomas Kerle
*/
public class ManifestFile extends Task
{
private final static String keyValueSeparator = ":";
private final static String UPDATE_ = "update";
private final static String REPLACEALL_ = "replaceAll";
private EntryContainer container;
private String currentMethod;
private ArrayList entries;

private File manifestFile;

public ManifestFile()
{
entries = new ArrayList();
container = new EntryContainer();
}

/**
* Setter for the file attribute
*
* @param f The new File value
*/
public void setFile( File f )
{
manifestFile = f;
}

/**
* Setter for the method attribute (update/replaceAll)
*
* @param method Method to set task
*/
public void setMethod( String method )
{
currentMethod = method.toUpperCase();
}

/**
* creating entries by Ant
*
* @return Description of the Returned Value
*/
public Entry createEntry()
{
final Entry entry = new Entry();
entries.add( entry );
return entry;
}

/**
* execute task
*
* @exception TaskException : Failure in building
*/
public void execute()
throws TaskException
{
checkParameters();
if( isUpdate( currentMethod ) ) {
readFile();
}

executeOperation();
writeFile();
}

private StringTokenizer getLineTokens( StringBuffer buffer )
{
String manifests = buffer.toString();
StringTokenizer strTokens = new StringTokenizer( manifests, StringUtil.LINE_SEPARATOR );
return strTokens;
}

private boolean isReplaceAll( String method )
{
return method.equals( REPLACEALL_.toUpperCase() );
}

private boolean isUpdate( String method )
{
return method.equals( UPDATE_.toUpperCase() );
}

private void addLine( final String line )
throws TaskException
{
Entry entry = new Entry();

entry.setValue( line );
entry.addTo( container );
}

private StringBuffer buildBuffer()
{
StringBuffer buffer = new StringBuffer();

ListIterator iterator = container.iterator();

while( iterator.hasNext() )
{
Entry entry = (Entry)iterator.next();

String key = (String)entry.getKey();
String value = (String)entry.getValue();
String entry_string = key + keyValueSeparator + value;

buffer.append( entry_string + StringUtil.LINE_SEPARATOR );
}

return buffer;
}

private boolean checkParam( String param )
{
return !( ( param == null ) || ( param.equals( "null" ) ) );
}

private boolean checkParam( File param )
{
return !( param == null );
}

private void checkParameters()
throws TaskException
{
if( !checkParam( manifestFile ) )
{
throw new TaskException( "file token must not be null." );
}
}

/**
* adding entries to a container
*
* @exception TaskException
*/
private void executeOperation()
throws TaskException
{
Iterator enum = entries.iterator();

while( enum.hasNext() )
{
Entry entry = (Entry)enum.next();
entry.addTo( container );
}
}

private void readFile()
throws TaskException
{

if( manifestFile.exists() )
{
getLogger().info( "update existing manifest file " + manifestFile.getAbsolutePath() );

if( container != null )
{
try
{
FileInputStream fis = new FileInputStream( manifestFile );

int c;
StringBuffer buffer = new StringBuffer( "" );
boolean stop = false;
while( !stop )
{
c = fis.read();
if( c == -1 )
{
stop = true;
}
else {
buffer.append( (char)c );
}
}
fis.close();
StringTokenizer lineTokens = getLineTokens( buffer );
while( lineTokens.hasMoreElements() )
{
String currentLine = (String)lineTokens.nextElement();
addLine( currentLine );
}
}
catch( FileNotFoundException fnfe )
{
throw new TaskException( "File not found exception " + fnfe.toString() );
}
catch( IOException ioe )
{
throw new TaskException( "Unknown input/output exception " + ioe.toString() );
}
}
}

}

private void writeFile()
throws TaskException
{
try
{
manifestFile.delete();
getLogger().info( "Replacing or creating new manifest file " + manifestFile.getAbsolutePath() );
if( manifestFile.createNewFile() )
{
FileOutputStream fos = new FileOutputStream( manifestFile );

StringBuffer buffer = buildBuffer();

int size = buffer.length();

for( int i = 0; i < size; i++ )
{
fos.write( (char)buffer.charAt( i ) );
}

fos.flush();
fos.close();
}
else
{
throw new TaskException( "Can't create manifest file" );
}

}
catch( IOException ioe )
{
throw new TaskException( "An input/ouput error occured" + ioe.toString() );
}
}

public class Entry implements Comparator
{
//extern format
private String value = null;

//intern representation
private String val = null;
private String key = null;

public Entry()
{
}

public void setValue( String value )
{
this.value = new String( value );
}

public String getKey()
{
return key;
}

public String getValue()
{
return val;
}

public int compare( Object o1, Object o2 )
{
int result = -1;

try
{
Entry e1 = (Entry)o1;
Entry e2 = (Entry)o2;

String key_1 = e1.getKey();
String key_2 = e2.getKey();

result = key_1.compareTo( key_2 );
}
catch( Exception e )
{

}
return result;
}

public boolean equals( Object obj )
{
Entry ent = new Entry();
boolean result = false;
int res = ent.compare( this, (Entry)obj );
if( res == 0 ) {
result = true;
}

return result;
}

protected void addTo( EntryContainer container )
throws TaskException
{
checkFormat();
split();
container.set( this );
}

private void checkFormat()
throws TaskException
{

if( value == null )
{
throw new TaskException( "no argument for value" );
}

StringTokenizer st = new StringTokenizer( value, ManifestFile.keyValueSeparator );
int size = st.countTokens();

if( size < 2 )
{
throw new TaskException( "value has not the format of a manifest entry" );
}
}

private void split()
{
StringTokenizer st = new StringTokenizer( value, ManifestFile.keyValueSeparator );
key = (String)st.nextElement();
val = (String)st.nextElement();
}

}

public class EntryContainer
{

private ArrayList list = null;

public EntryContainer()
{
list = new ArrayList();
}

public void set( Entry entry )
{

if( list.contains( entry ) )
{
int index = list.indexOf( entry );

list.remove( index );
list.add( index, entry );
}
else
{
list.add( entry );
}
}

public ListIterator iterator()
{
ListIterator iterator = list.listIterator();
return iterator;
}
}
}

+ 0
- 394
proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/ManifestFile.java View File

@@ -1,394 +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.txt file.
*/
package org.apache.tools.ant.taskdefs.optional;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.ListIterator;
import java.util.StringTokenizer;
import org.apache.avalon.excalibur.util.StringUtil;
import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.Task;

/**
* Task for creating a manifest file for a jar archiv. use: <pre>
* <taskdef name="manifest" classname="ManifestFile"/>
* <target name="jar_manifest">
* <manifest file="manifest.mf" method="replaceAll">
* <entry value="Manifest-Version: 1_0"/>
* </manifest> </target> </pre>
*
* @author Thomas Kerle
*/
public class ManifestFile extends Task
{
private final static String keyValueSeparator = ":";
private final static String UPDATE_ = "update";
private final static String REPLACEALL_ = "replaceAll";
private EntryContainer container;
private String currentMethod;
private ArrayList entries;

private File manifestFile;

public ManifestFile()
{
entries = new ArrayList();
container = new EntryContainer();
}

/**
* Setter for the file attribute
*
* @param f The new File value
*/
public void setFile( File f )
{
manifestFile = f;
}

/**
* Setter for the method attribute (update/replaceAll)
*
* @param method Method to set task
*/
public void setMethod( String method )
{
currentMethod = method.toUpperCase();
}

/**
* creating entries by Ant
*
* @return Description of the Returned Value
*/
public Entry createEntry()
{
final Entry entry = new Entry();
entries.add( entry );
return entry;
}

/**
* execute task
*
* @exception TaskException : Failure in building
*/
public void execute()
throws TaskException
{
checkParameters();
if( isUpdate( currentMethod ) ) {
readFile();
}

executeOperation();
writeFile();
}

private StringTokenizer getLineTokens( StringBuffer buffer )
{
String manifests = buffer.toString();
StringTokenizer strTokens = new StringTokenizer( manifests, StringUtil.LINE_SEPARATOR );
return strTokens;
}

private boolean isReplaceAll( String method )
{
return method.equals( REPLACEALL_.toUpperCase() );
}

private boolean isUpdate( String method )
{
return method.equals( UPDATE_.toUpperCase() );
}

private void addLine( final String line )
throws TaskException
{
Entry entry = new Entry();

entry.setValue( line );
entry.addTo( container );
}

private StringBuffer buildBuffer()
{
StringBuffer buffer = new StringBuffer();

ListIterator iterator = container.iterator();

while( iterator.hasNext() )
{
Entry entry = (Entry)iterator.next();

String key = (String)entry.getKey();
String value = (String)entry.getValue();
String entry_string = key + keyValueSeparator + value;

buffer.append( entry_string + StringUtil.LINE_SEPARATOR );
}

return buffer;
}

private boolean checkParam( String param )
{
return !( ( param == null ) || ( param.equals( "null" ) ) );
}

private boolean checkParam( File param )
{
return !( param == null );
}

private void checkParameters()
throws TaskException
{
if( !checkParam( manifestFile ) )
{
throw new TaskException( "file token must not be null." );
}
}

/**
* adding entries to a container
*
* @exception TaskException
*/
private void executeOperation()
throws TaskException
{
Iterator enum = entries.iterator();

while( enum.hasNext() )
{
Entry entry = (Entry)enum.next();
entry.addTo( container );
}
}

private void readFile()
throws TaskException
{

if( manifestFile.exists() )
{
getLogger().info( "update existing manifest file " + manifestFile.getAbsolutePath() );

if( container != null )
{
try
{
FileInputStream fis = new FileInputStream( manifestFile );

int c;
StringBuffer buffer = new StringBuffer( "" );
boolean stop = false;
while( !stop )
{
c = fis.read();
if( c == -1 )
{
stop = true;
}
else {
buffer.append( (char)c );
}
}
fis.close();
StringTokenizer lineTokens = getLineTokens( buffer );
while( lineTokens.hasMoreElements() )
{
String currentLine = (String)lineTokens.nextElement();
addLine( currentLine );
}
}
catch( FileNotFoundException fnfe )
{
throw new TaskException( "File not found exception " + fnfe.toString() );
}
catch( IOException ioe )
{
throw new TaskException( "Unknown input/output exception " + ioe.toString() );
}
}
}

}

private void writeFile()
throws TaskException
{
try
{
manifestFile.delete();
getLogger().info( "Replacing or creating new manifest file " + manifestFile.getAbsolutePath() );
if( manifestFile.createNewFile() )
{
FileOutputStream fos = new FileOutputStream( manifestFile );

StringBuffer buffer = buildBuffer();

int size = buffer.length();

for( int i = 0; i < size; i++ )
{
fos.write( (char)buffer.charAt( i ) );
}

fos.flush();
fos.close();
}
else
{
throw new TaskException( "Can't create manifest file" );
}

}
catch( IOException ioe )
{
throw new TaskException( "An input/ouput error occured" + ioe.toString() );
}
}

public class Entry implements Comparator
{
//extern format
private String value = null;

//intern representation
private String val = null;
private String key = null;

public Entry()
{
}

public void setValue( String value )
{
this.value = new String( value );
}

public String getKey()
{
return key;
}

public String getValue()
{
return val;
}

public int compare( Object o1, Object o2 )
{
int result = -1;

try
{
Entry e1 = (Entry)o1;
Entry e2 = (Entry)o2;

String key_1 = e1.getKey();
String key_2 = e2.getKey();

result = key_1.compareTo( key_2 );
}
catch( Exception e )
{

}
return result;
}

public boolean equals( Object obj )
{
Entry ent = new Entry();
boolean result = false;
int res = ent.compare( this, (Entry)obj );
if( res == 0 ) {
result = true;
}

return result;
}

protected void addTo( EntryContainer container )
throws TaskException
{
checkFormat();
split();
container.set( this );
}

private void checkFormat()
throws TaskException
{

if( value == null )
{
throw new TaskException( "no argument for value" );
}

StringTokenizer st = new StringTokenizer( value, ManifestFile.keyValueSeparator );
int size = st.countTokens();

if( size < 2 )
{
throw new TaskException( "value has not the format of a manifest entry" );
}
}

private void split()
{
StringTokenizer st = new StringTokenizer( value, ManifestFile.keyValueSeparator );
key = (String)st.nextElement();
val = (String)st.nextElement();
}

}

public class EntryContainer
{

private ArrayList list = null;

public EntryContainer()
{
list = new ArrayList();
}

public void set( Entry entry )
{

if( list.contains( entry ) )
{
int index = list.indexOf( entry );

list.remove( index );
list.add( index, entry );
}
else
{
list.add( entry );
}
}

public ListIterator iterator()
{
ListIterator iterator = list.listIterator();
return iterator;
}
}
}

Loading…
Cancel
Save