Skip to content

Commit d8bf8e1

Browse files
committed
Remove external dependancy on commons-lang3
1 parent 160d231 commit d8bf8e1

5 files changed

Lines changed: 34 additions & 17 deletions

File tree

biojava3-core/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,6 @@
3232
<artifactId>junit</artifactId>
3333
<scope>test</scope>
3434
</dependency>
35-
<dependency>
36-
<groupId>org.apache.commons</groupId>
37-
<artifactId>commons-lang3</artifactId>
38-
<version>3.1</version>
39-
</dependency>
4035
</dependencies>
4136
<properties>
4237
<jdk.version>1.6</jdk.version>

biojava3-core/src/main/java/org/biojava3/core/sequence/io/GenbankWriter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
import java.io.PrintWriter;
88
import java.util.Collection;
99

10-
import org.apache.commons.lang3.StringUtils;
1110
import org.biojava3.core.sequence.io.template.GenbankHeaderFormatInterface;
1211
import org.biojava3.core.sequence.template.Compound;
1312
import org.biojava3.core.sequence.template.Sequence;
13+
import org.biojava3.core.util.StringManipulationHelper;
1414

1515

1616
/**
@@ -90,7 +90,7 @@ public void process() throws Exception {
9090
// os.write(lineSep);
9191

9292
for (int line_number = 0; line_number < seq_len; line_number += lineLength) {
93-
writer.print(StringUtils.leftPad(
93+
writer.print(StringManipulationHelper.padLeft(
9494
Integer.toString(line_number + 1), SEQUENCE_INDENT));
9595
for (int words = line_number; words < Math.min(line_number
9696
+ lineLength, seq_len); words += 10) {
@@ -158,4 +158,5 @@ public int getLineLength() {
158158
public void setLineLength(int lineLength) {
159159
this.lineLength = lineLength;
160160
}
161+
161162
}

biojava3-core/src/main/java/org/biojava3/core/sequence/io/GenericGenbankHeaderFormat.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
import java.util.Formatter;
88
import java.util.Locale;
99

10-
import org.apache.commons.lang3.StringUtils;
1110
import org.biojava3.core.sequence.compound.AminoAcidCompoundSet;
1211
import org.biojava3.core.sequence.compound.DNACompoundSet;
1312
import org.biojava3.core.sequence.features.FeatureInterface;
1413
import org.biojava3.core.sequence.io.template.GenbankHeaderFormatInterface;
1514
import org.biojava3.core.sequence.template.AbstractSequence;
1615
import org.biojava3.core.sequence.template.Compound;
1716
import org.biojava3.core.sequence.io.GenericInsdcHeaderFormat;
17+
import org.biojava3.core.util.StringManipulationHelper;
1818

1919
public class GenericGenbankHeaderFormat<S extends AbstractSequence<C>, C extends Compound>
2020
extends GenericInsdcHeaderFormat<S, C> implements
@@ -39,7 +39,7 @@ public GenericGenbankHeaderFormat(String seqType) {
3939
*/
4040
private String _write_single_line(String tag, String text) {
4141
assert tag.length() < HEADER_WIDTH;
42-
return StringUtils.rightPad(tag, HEADER_WIDTH)
42+
return StringManipulationHelper.padRight(tag, HEADER_WIDTH)
4343
+ text.replace('\n', ' ') + lineSep;
4444
}
4545

@@ -180,10 +180,10 @@ private String _write_the_first_line(S sequence) {
180180
Formatter formatter = new Formatter(sb, Locale.US);
181181
formatter
182182
.format("LOCUS %s %s %s %s %s %s" + lineSep,
183-
StringUtils.rightPad(locus, 16),
184-
StringUtils.leftPad(
183+
StringManipulationHelper.padRight(locus, 16),
184+
StringManipulationHelper.padLeft(
185185
Integer.toString(sequence.getLength()), 11),
186-
units, StringUtils.rightPad(mol_type, 6), division,
186+
units, StringManipulationHelper.padRight(mol_type, 6), division,
187187
_get_date(sequence));
188188
String output = formatter.toString();
189189
formatter.close();

biojava3-core/src/main/java/org/biojava3/core/sequence/io/GenericInsdcHeaderFormat.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
import java.util.Formatter;
99
import java.util.Locale;
1010

11-
import org.apache.commons.lang3.StringUtils;
1211
import org.biojava3.core.sequence.Strand;
1312
import org.biojava3.core.sequence.features.FeatureInterface;
1413
import org.biojava3.core.sequence.features.Qualifier;
1514
import org.biojava3.core.sequence.location.SequenceLocation;
1615
import org.biojava3.core.sequence.location.template.Point;
1716
import org.biojava3.core.sequence.template.AbstractSequence;
1817
import org.biojava3.core.sequence.template.Compound;
18+
import org.biojava3.core.util.StringManipulationHelper;
1919

2020
/**
2121
* @author mckeee1
@@ -176,7 +176,7 @@ private String _insdc_feature_location_string(FeatureInterface<AbstractSequence<
176176
for(FeatureInterface<AbstractSequence<C>, C> f : feature.getChildrenFeatures()) {
177177
locations.add(_insdc_location_string_ignoring_strand_and_subfeatures(f.getLocations(), record_length));
178178
}
179-
String location = StringUtils.join(locations, ",");
179+
String location = StringManipulationHelper.join(locations, ",");
180180
formatter.format("complement(%s(%s))", /*feature.location_operator*/ "join", location);
181181
String output = formatter.toString();
182182
formatter.close();
@@ -189,7 +189,7 @@ private String _insdc_feature_location_string(FeatureInterface<AbstractSequence<
189189
for(FeatureInterface<AbstractSequence<C>, C> f : feature.getChildrenFeatures()) {
190190
locations.add(_insdc_location_string_ignoring_strand_and_subfeatures(f.getLocations(), record_length));
191191
}
192-
String location = StringUtils.join(locations, ",");
192+
String location = StringManipulationHelper.join(locations, ",");
193193
formatter.format("%s(%s)", /*feature.location_operator*/ "join", location);
194194
String output = formatter.toString();
195195
formatter.close();
@@ -317,7 +317,7 @@ raise ValueError("Expected a SeqFeature position object.")
317317
protected ArrayList<String> _split_multi_line(String text, int max_len) {
318318
// TODO Auto-generated method stub
319319
ArrayList<String> output = new ArrayList<String>();
320-
text = StringUtils.strip(text);
320+
text = text.trim();
321321
if(text.length() <= max_len) {
322322
output.add(text);
323323
return output;
@@ -329,7 +329,7 @@ protected ArrayList<String> _split_multi_line(String text, int max_len) {
329329
text = words.remove(0);
330330
while(!words.isEmpty() && (text.length() + 1 + words.get(0).length()) <= max_len) {
331331
text += " " + words.remove(0);
332-
text = StringUtils.strip(text);
332+
text = text.trim();
333333
}
334334
output.add(text);
335335
}

biojava3-core/src/main/java/org/biojava3/core/util/StringManipulationHelper.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
import java.io.IOException;
2929
import java.io.InputStream;
3030
import java.io.InputStreamReader;
31+
import java.util.AbstractCollection;
32+
import java.util.Iterator;
3133
import java.util.Scanner;
3234

3335
import javax.xml.parsers.DocumentBuilder;
@@ -166,4 +168,23 @@ public static boolean equalsToXml(String expected, String actual) {
166168
throw new UnsupportedOperationException("not yet implemented");
167169
}
168170

171+
public static String padLeft(String s, int n) {
172+
return String.format("%1$" + n + "s", s);
173+
}
174+
175+
public static String padRight(String s, int n) {
176+
return String.format("%1$-" + n + "s", s);
177+
}
178+
179+
public static String join(AbstractCollection<String> s, String delimiter) {
180+
if (s == null || s.isEmpty()) return "";
181+
Iterator<String> iter = s.iterator();
182+
StringBuilder builder = new StringBuilder(iter.next());
183+
while( iter.hasNext() )
184+
{
185+
builder.append(delimiter).append(iter.next());
186+
}
187+
return builder.toString();
188+
}
189+
169190
}

0 commit comments

Comments
 (0)