Skip to content

Commit 71205dd

Browse files
author
Timothy O'Brien
committed
Added Codec to commons from the sandbox
git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/codec/trunk@130120 13f79535-47bb-0310-9956-ffa450edef68
1 parent 16d3e23 commit 71205dd

40 files changed

Lines changed: 4861 additions & 0 deletions

LICENSE.txt

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/*
2+
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//codec/LICENSE.txt,v 1.1 2003/04/25 17:50:55 tobrien Exp $
3+
* $Revision: 1.1 $
4+
* $Date: 2003/04/25 17:50:55 $
5+
*
6+
* ====================================================================
7+
*
8+
* The Apache Software License, Version 1.1
9+
*
10+
* Copyright (c) 1999-2003 The Apache Software Foundation. All rights
11+
* reserved.
12+
*
13+
* Redistribution and use in source and binary forms, with or without
14+
* modification, are permitted provided that the following conditions
15+
* are met:
16+
*
17+
* 1. Redistributions of source code must retain the above copyright
18+
* notice, this list of conditions and the following disclaimer.
19+
*
20+
* 2. Redistributions in binary form must reproduce the above copyright
21+
* notice, this list of conditions and the following disclaimer in
22+
* the documentation and/or other materials provided with the
23+
* distribution.
24+
*
25+
* 3. The end-user documentation included with the redistribution, if
26+
* any, must include the following acknowlegement:
27+
* "This product includes software developed by the
28+
* Apache Software Foundation (http://www.apache.org/)."
29+
* Alternately, this acknowlegement may appear in the software itself,
30+
* if and wherever such third-party acknowlegements normally appear.
31+
*
32+
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
33+
* Foundation" must not be used to endorse or promote products derived
34+
* from this software without prior written permission. For written
35+
* permission, please contact apache@apache.org.
36+
*
37+
* 5. Products derived from this software may not be called "Apache"
38+
* nor may "Apache" appear in their names without prior written
39+
* permission of the Apache Group.
40+
*
41+
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
42+
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
43+
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
44+
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
45+
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
46+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
47+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
48+
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
49+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
50+
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
51+
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
52+
* SUCH DAMAGE.
53+
* ====================================================================
54+
*
55+
* This software consists of voluntary contributions made by many
56+
* individuals on behalf of the Apache Software Foundation. For more
57+
* information on the Apache Software Foundation, please see
58+
* <http://www.apache.org/>.
59+
*
60+
*/

PROPOSAL.html

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<?xml version="1.0"?>
2+
3+
<html>
4+
<head>
5+
<title>Jakarta Commons-Codec: Proposal</title>
6+
</head>
7+
8+
<body bgcolor="white">
9+
<div align="center">
10+
<h1>Proposal for <em>Codec</em> Package</h1><br/>
11+
<h4>January 24, 2002</h4>
12+
</div>
13+
14+
<h3>(0) Rationale</h3>
15+
<p>
16+
Many software projects have a need to use various formats of data,
17+
and to be able to switch between various formats. The codec package
18+
seeks to encapsulate some of the most popular encode/decode
19+
algorithms in one easy to use, well tested package. A base64 codec
20+
is the first candidate, with others to follow soon.
21+
</p>
22+
23+
<h3>(1) Scope of the Package</h3>
24+
<p>
25+
This proposal is to create a package of Java utility classes for the
26+
encoding/decoding of various types of data. A base64 codec will be the
27+
first implementation.
28+
</p>
29+
30+
<h3>(1.5) Interaction With Other Packages</h3>
31+
32+
<p>
33+
<em>Codec</em> relies only on standard JDK 1.2 (or later) APIs for
34+
production deployment. It utilizes the JUnit unit testing framework for
35+
developing and executing unit tests, but this is of interest only to
36+
developers of the component. Codec will be a dependency for
37+
several existing components in the open source world.
38+
</p>
39+
40+
<p>No external configuration files are utilized.</p>
41+
42+
<h3>(2) Initial Source of the Package</h3>
43+
44+
<p>
45+
The original Java classes (<code>Base64</code>, etc.) are splashed around
46+
various Apache subprojects. We intend to seek them out and integrate them.
47+
</p>
48+
49+
<p>
50+
The proposed package name for the new component is
51+
<code>org.apache.commons.codec</code>.
52+
</p>
53+
54+
<h3>(3) Required Jakarta-Commons Resources</h3>
55+
56+
<ul>
57+
<li>
58+
CVS Repository - New directory <code>codec</code> in the
59+
<code>jakarta-commons</code> CVS repository.
60+
</li>
61+
<li>
62+
Mailing List - Discussions will take place on the general
63+
<em>commons-dev@jakarta.apache.org</em> mailing list. To help
64+
list subscribers identify messages of interest, it is suggested that
65+
the message subject of messages about this component be prefixed with
66+
[Codec].
67+
</li>
68+
<li>
69+
Bugzilla - New component "Codec" under the "Commons" product
70+
category, with appropriate version identifiers as needed.
71+
</li>
72+
</ul>
73+
74+
<h3>(4) Initial Committers</h3>
75+
76+
<p>
77+
The initial committers on the Codec component shall be as follows:
78+
<ul>
79+
<li><a href="mailto:sanders@apache.org">Scott Sanders</a></li>
80+
<li><a href="mailto:bayard@apache.org">Henri Yandell</a></li>
81+
<li><a href="mailto:rwaldhoff@apache.org">Rodney Waldhoff</a></li>
82+
<li><a href="mailto:dlr@finemaltcoding.com">Daniel Rall</a></li>
83+
<li><a href="mailto:jon@collab.net">Jon S. Stevens</a></li>
84+
<li><a href="mailto:tobrien@apache.org">Tim O'Brien</a></li>
85+
</ul>
86+
</p>
87+
88+
</body>
89+
</html>

RELEASE-NOTES.txt

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
$Id: RELEASE-NOTES.txt,v 1.1 2003/04/25 17:50:55 tobrien Exp $
2+
3+
Commons Codec Package
4+
Version 1.0-dev
5+
Release Notes
6+
7+
8+
INTRODUCTION:
9+
10+
This document contains the release notes for this version of the Commons
11+
Codec package, and highlights changes since the previous version. The
12+
current release adds new features and bug fixes, and is being done now to
13+
follow the release early/release often mentality.
14+
15+
16+
NEW FEATURES:
17+
18+
* Base64 class from commons-httpclient in org.apache.commons.codec.base64
19+
* Soundex class from commons-util in org.apache.commons.codec
20+
* Metaphone class from commons-util in org.apache.commons.codec
21+
* SoundexComparator class from commons-util in org.apache.commons.codec
22+
23+
24+
BUG FIXES:
25+
26+

RELEASE-PLAN

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
$Id: RELEASE-PLAN,v 1.1 2003/04/25 17:50:55 tobrien Exp $
2+
3+
Jakarta Commons Codec
4+
5+
*** Release Plan
6+
7+
This document outline the current goals for the next release.
8+
This document defines objectives and action items that should
9+
be met before the next release. Longer term goals should be
10+
placed in the file named ROADMAP.
11+
12+
Objective:
13+
14+
The main objective of 1.1 release is to package a definitive
15+
implementation of Base64 and Hex in addition to the phonetic
16+
encoders currently implemented in the "language" package. It
17+
is the objective of the [codec] project to provide a point
18+
of consolidation for [binary|text|language] codecs.
19+
20+
The 1.1 release will be a foundation for further expansion
21+
of the available binary encoders and decoders, but it should
22+
be noted that the objective is to provide an implementation
23+
of Base64 and Hex - byte[] and IO stream.
24+
25+
Status:
26+
27+
* As described in the TODO
28+
29+
Codec 1.1 Release Candidate`1:
30+
31+
* Code freeze date: Apr 1, 2003
32+
* Tag date: Apr 8, 2003
33+
* Goals:
34+
* Cut a release which can be used to as the base for performing
35+
tests and reporting bugs.
36+
* Evaluate and clean up as many bugs that are there
37+
jakarta.apache.org/bugs.
38+
39+
Codec 1.1 Final (Tentative):
40+
41+
* Code freeze date: Apr 15, 2003
42+
* Tag date: Apr 20, 2003
43+
* Goals:
44+
* Fix bugs reported on the beta and subsequent builds.
45+
* Evaluate after the code freeze date if codec 1.1 is ready to be
46+
called "final".
47+
* Build out documentation using Forrest
48+
49+
* Release Manager: Tim O'Brien <tobrien@apache.org>
50+

STATUS.html

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
<?xml version="1.0"?>
2+
3+
<html>
4+
<head>
5+
<title>Jakarta Commons-Codec: Status</title>
6+
</head>
7+
8+
<body bgcolor="white">
9+
<div align="center">
10+
<h1>The Jakarta Commons <em>Codec</em> Component</h1>
11+
$Id: STATUS.html,v 1.1 2003/04/25 17:50:55 tobrien Exp $<br/>
12+
<a href="#Introduction">[Introduction]</a>
13+
<a href="#Dependencies">[Dependencies]</a>
14+
<a href="#Release Info">[Release Info]</a>
15+
<a href="#Committers">[Committers]</a>
16+
<a href="#Action Items">[Action Items]</a>
17+
<br/><br/>
18+
</div>
19+
20+
<a name="Introduction"></a>
21+
<h3>1. INTRODUCTION</h3>
22+
23+
<p>
24+
The <em>Codec</em> Component contains a set of Java classes that provide
25+
encode/decode functionality and helper methods for various data formats.
26+
The following classes are included:
27+
<ul>
28+
<li>Binary Encoders/Decoders
29+
<ul>
30+
<li><strong>Base64</strong> - Encoding/decoding of the popular base64 format.</li>
31+
</ul>
32+
</li>
33+
<li>Phonetic Encoders
34+
<ul>
35+
<li><strong>Soundex</strong> - Encoding of Strings to soundex values.</li>
36+
<li><strong>Metaphone</strong> - Encoding of Strings to metaphone values, a more
37+
advanced soundex-like algorithm.</li>
38+
<li><strong>RefinedSoundex</strong></li>
39+
</ul>
40+
</li>
41+
</ul>
42+
</p>
43+
44+
<a name="Dependencies"></a>
45+
<h3>2. DEPENDENCIES</h3>
46+
47+
<p>
48+
The <em>Codec</em> component is dependent upon the following external
49+
components for development and use:
50+
</p>
51+
52+
<table border="1" width="600">
53+
<tr>
54+
<td width="33%" rowspan="2" valign="middle" align="center">Component</td>
55+
<td width="10%" rowspan="2" valign="middle" align="center">Version</td>
56+
<td width="50%" colspan="3" align="center">Dependency</td>
57+
<td width="7%" rowspan="2" valign="middle" align="center">Distribute</td>
58+
</tr>
59+
<tr>
60+
<td align="center">
61+
Compilation
62+
</td>
63+
<td align="center">
64+
Runtime
65+
</td>
66+
<td align="center">
67+
Testing
68+
</td>
69+
</tr>
70+
<tr>
71+
<td align="right">
72+
<a href="http://java.sun.com/j2se">Java Development Kit</a>
73+
</td>
74+
<td align="center">1.2+</td>
75+
<td align="center" colspan="3" bgcolor="green">Yes</td>
76+
<td align="center"><b>No</b></td>
77+
</tr>
78+
<tr>
79+
<td align="right">
80+
<a href="http://www.junit.org">JUnit Testing Framework</a>
81+
</td>
82+
<td align="center">3.7+</td>
83+
<td align="center" colspan="2" bgcolor="red">No</td>
84+
<td align="center" bgcolor="green">Yes</td>
85+
<td align="center"><b>No</b></td>
86+
</tr>
87+
</table>
88+
89+
90+
91+
<a name="Release Info"></a>
92+
<h3>3. RELEASE INFO</h3>
93+
94+
<p>
95+
Current Release: Codec is a project in the Jakarta Commons Sandbox and does not
96+
currently have a quality release. Please see RELEASE-PLAN for details about
97+
the upcoming March 2003 release.
98+
</p>
99+
100+
<p>
101+
Planned Next Release: <b>1.1 April 2003</b>
102+
</p>
103+
104+
<a name="Committers"></a>
105+
<h3>4. COMMITTERS</h3>
106+
107+
<p>
108+
The following individuals are the primary developers and maintainers of this
109+
component. Developers who plan to use <em>Codec</em> in their own
110+
projects are encouraged to collaborate on the future development of this
111+
component to ensure that it continues to meet a variety of needs.
112+
</p>
113+
114+
<ul>
115+
<li><a href="mailto:sanders@apache.org">Scott Sanders</a></li>
116+
<li><a href="mailto:bayard@apache.org">Henri Yandell</a></li>
117+
<li><a href="mailto:rwaldhoff@apache.org">Rodney Waldhoff</a></li>
118+
<li><a href="mailto:dlr@finemaltcoding.com">Daniel Rall</a></li>
119+
<li><a href="mailto:jon@collab.net">Jon S. Stevens</a></li>
120+
<li><a href="mailto:tobrien@apache.org">Tim O'Brien</a></li>
121+
</ul>
122+
123+
<a name="Action Items"></a>
124+
<h3>5. ACTION ITEMS</h3>
125+
126+
<p>
127+
Please see the file TODO for more information.
128+
</p>
129+
130+
</table>
131+
132+
</body>
133+
</html>

TODO

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
This is a list of action items to be finished in the [codec] project.
2+
This TODO list reflects the current direction of development, and
3+
should be updated by all committers when a known issues or task
4+
is identified.
5+
6+
When a task in the TODO list is done, change the changes.xml document in xdocs
7+
8+
** TODO List
9+
10+
* Add a ship encode and decode to binary package
11+
12+
* Add a btoa encode and decode to binary package
13+
14+
* Add a BinHex endode and decode to binary package
15+
16+
* Add a uu encode and decode to binary package
17+
18+
* Add a Rot13 implementation to text package
19+
20+
* figure out a better way to supply test data and expected input/output
21+
to the JUNIT test cases
22+
23+
* develop multiple distributions for projects that only wish to use
24+
a specific class, and are worried about footprint (memory and diskspace).
25+
26+
27+
28+

build.properties.sample

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# junit.jar - JUnit Classpath - http://junit.org/
2+
junit.jar=/java/junit/junit.jar

0 commit comments

Comments
 (0)