projects
/
Sone.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
1e25302
)
Replace Reader with String in Parser interface
author
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Sat, 25 Jun 2016 20:13:36 +0000
(22:13 +0200)
committer
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Sat, 25 Jun 2016 20:13:36 +0000
(22:13 +0200)
src/main/java/net/pterodactylus/sone/template/ParserFilter.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sone/text/Parser.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sone/text/ParserContext.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sone/text/SoneTextParser.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sone/web/WebInterface.java
patch
|
blob
|
history
src/test/java/net/pterodactylus/sone/text/SoneTextParserTest.java
patch
|
blob
|
history
diff --git
a/src/main/java/net/pterodactylus/sone/template/ParserFilter.java
b/src/main/java/net/pterodactylus/sone/template/ParserFilter.java
index
109222e
..
6c74f0b
100644
(file)
--- a/
src/main/java/net/pterodactylus/sone/template/ParserFilter.java
+++ b/
src/main/java/net/pterodactylus/sone/template/ParserFilter.java
@@
-102,7
+102,7
@@
public class ParserFilter implements Filter {
SoneTextParserContext context = new SoneTextParserContext(request, (Sone) sone);
StringWriter parsedTextWriter = new StringWriter();
try {
SoneTextParserContext context = new SoneTextParserContext(request, (Sone) sone);
StringWriter parsedTextWriter = new StringWriter();
try {
- Iterable<Part> parts = soneTextParser.parse(context,
new StringReader(text)
);
+ Iterable<Part> parts = soneTextParser.parse(context,
text
);
if (length > -1) {
int allPartsLength = 0;
List<Part> shortenedParts = new ArrayList<Part>();
if (length > -1) {
int allPartsLength = 0;
List<Part> shortenedParts = new ArrayList<Part>();
@@
-253,7
+253,7
@@
public class ParserFilter implements Filter {
SoneTextParser parser = new SoneTextParser(core, core);
SoneTextParserContext parserContext = new SoneTextParserContext(null, postPart.getPost().getSone());
try {
SoneTextParser parser = new SoneTextParser(core, core);
SoneTextParserContext parserContext = new SoneTextParserContext(null, postPart.getPost().getSone());
try {
- Iterable<Part> parts = parser.parse(parserContext,
new StringReader(postPart.getPost().getText()
));
+ Iterable<Part> parts = parser.parse(parserContext,
postPart.getPost().getText(
));
StringBuilder excerpt = new StringBuilder();
for (Part part : parts) {
excerpt.append(part.getText());
StringBuilder excerpt = new StringBuilder();
for (Part part : parts) {
excerpt.append(part.getText());
diff --git
a/src/main/java/net/pterodactylus/sone/text/Parser.java
b/src/main/java/net/pterodactylus/sone/text/Parser.java
index
f5f8f1b
..
e654223
100644
(file)
--- a/
src/main/java/net/pterodactylus/sone/text/Parser.java
+++ b/
src/main/java/net/pterodactylus/sone/text/Parser.java
@@
-41,6
+41,6
@@
public interface Parser<C extends ParserContext> {
* @throws IOException
* if an I/O error occurs
*/
* @throws IOException
* if an I/O error occurs
*/
- public Iterable<Part> parse(C context,
Reader
source) throws IOException;
+ public Iterable<Part> parse(C context,
String
source) throws IOException;
}
}
diff --git
a/src/main/java/net/pterodactylus/sone/text/ParserContext.java
b/src/main/java/net/pterodactylus/sone/text/ParserContext.java
index
9782008
..
da60a72
100644
(file)
--- a/
src/main/java/net/pterodactylus/sone/text/ParserContext.java
+++ b/
src/main/java/net/pterodactylus/sone/text/ParserContext.java
@@
-20,7
+20,7
@@
package net.pterodactylus.sone.text;
/**
* Context for the {@link Parser}. This interface needs to be implemented by
* {@link Parser}s that need to provide more information than just the text to
/**
* Context for the {@link Parser}. This interface needs to be implemented by
* {@link Parser}s that need to provide more information than just the text to
- * parse to {@link Parser#parse(ParserContext,
java.io.Reader
)}.
+ * parse to {@link Parser#parse(ParserContext,
String
)}.
*
* @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
*
* @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
diff --git
a/src/main/java/net/pterodactylus/sone/text/SoneTextParser.java
b/src/main/java/net/pterodactylus/sone/text/SoneTextParser.java
index
f338286
..
18ac467
100644
(file)
--- a/
src/main/java/net/pterodactylus/sone/text/SoneTextParser.java
+++ b/
src/main/java/net/pterodactylus/sone/text/SoneTextParser.java
@@
-21,7
+21,7
@@
import static java.util.logging.Logger.getLogger;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.IOException;
-import java.io.Reader;
+import java.io.
String
Reader;
import java.net.MalformedURLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.net.MalformedURLException;
import java.util.logging.Level;
import java.util.logging.Logger;
@@
-118,9
+118,9
@@
public class SoneTextParser implements Parser<SoneTextParserContext> {
* {@inheritDoc}
*/
@Override
* {@inheritDoc}
*/
@Override
- public Iterable<Part> parse(SoneTextParserContext context,
Reader
source) throws IOException {
+ public Iterable<Part> parse(SoneTextParserContext context,
String
source) throws IOException {
PartContainer parts = new PartContainer();
PartContainer parts = new PartContainer();
- BufferedReader bufferedReader =
(source instanceof BufferedReader) ? (BufferedReader) source : new BufferedReader(source
);
+ BufferedReader bufferedReader =
new BufferedReader(new StringReader(source)
);
try {
String line;
boolean lastLineEmpty = true;
try {
String line;
boolean lastLineEmpty = true;
@@
-272,9
+272,7
@@
public class SoneTextParser implements Parser<SoneTextParserContext> {
lastLineEmpty = false;
}
} finally {
lastLineEmpty = false;
}
} finally {
- if (bufferedReader != source) {
- Closer.close(bufferedReader);
- }
+ Closer.close(bufferedReader);
}
for (int partIndex = parts.size() - 1; partIndex >= 0; --partIndex) {
Part part = parts.getPart(partIndex);
}
for (int partIndex = parts.size() - 1; partIndex >= 0; --partIndex) {
Part part = parts.getPart(partIndex);
diff --git
a/src/main/java/net/pterodactylus/sone/web/WebInterface.java
b/src/main/java/net/pterodactylus/sone/web/WebInterface.java
index
4185c93
..
f08ad5d
100644
(file)
--- a/
src/main/java/net/pterodactylus/sone/web/WebInterface.java
+++ b/
src/main/java/net/pterodactylus/sone/web/WebInterface.java
@@
-796,7
+796,7
@@
public class WebInterface {
/* we need no context to find mentioned Sones. */
Set<Sone> mentionedSones = new HashSet<Sone>();
try {
/* we need no context to find mentioned Sones. */
Set<Sone> mentionedSones = new HashSet<Sone>();
try {
- for (Part part : soneTextParser.parse(null,
new StringReader(text)
)) {
+ for (Part part : soneTextParser.parse(null,
text
)) {
if (part instanceof SonePart) {
mentionedSones.add(((SonePart) part).getSone());
}
if (part instanceof SonePart) {
mentionedSones.add(((SonePart) part).getSone());
}
diff --git
a/src/test/java/net/pterodactylus/sone/text/SoneTextParserTest.java
b/src/test/java/net/pterodactylus/sone/text/SoneTextParserTest.java
index
051c235
..
b630ac5
100644
(file)
--- a/
src/test/java/net/pterodactylus/sone/text/SoneTextParserTest.java
+++ b/
src/test/java/net/pterodactylus/sone/text/SoneTextParserTest.java
@@
-53,17
+53,17
@@
public class SoneTextParserTest extends TestCase {
Iterable<Part> parts;
/* check basic operation. */
Iterable<Part> parts;
/* check basic operation. */
- parts = soneTextParser.parse(null,
new StringReader("Test.")
);
+ parts = soneTextParser.parse(null,
"Test."
);
assertNotNull("Parts", parts);
assertEquals("Part Text", "Test.", convertText(parts, PlainTextPart.class));
/* check empty lines at start and end. */
assertNotNull("Parts", parts);
assertEquals("Part Text", "Test.", convertText(parts, PlainTextPart.class));
/* check empty lines at start and end. */
- parts = soneTextParser.parse(null,
new StringReader("\nTest.\n\n")
);
+ parts = soneTextParser.parse(null,
"\nTest.\n\n"
);
assertNotNull("Parts", parts);
assertEquals("Part Text", "Test.", convertText(parts, PlainTextPart.class));
/* check duplicate empty lines in the text. */
assertNotNull("Parts", parts);
assertEquals("Part Text", "Test.", convertText(parts, PlainTextPart.class));
/* check duplicate empty lines in the text. */
- parts = soneTextParser.parse(null,
new StringReader("\nTest.\n\n\nTest.")
);
+ parts = soneTextParser.parse(null,
"\nTest.\n\n\nTest."
);
assertNotNull("Parts", parts);
assertEquals("Part Text", "Test.\n\nTest.", convertText(parts, PlainTextPart.class));
}
assertNotNull("Parts", parts);
assertEquals("Part Text", "Test.\n\nTest.", convertText(parts, PlainTextPart.class));
}
@@
-80,17
+80,17
@@
public class SoneTextParserTest extends TestCase {
Iterable<Part> parts;
/* check basic links. */
Iterable<Part> parts;
/* check basic links. */
- parts = soneTextParser.parse(null,
new StringReader("KSK@gpl.txt")
);
+ parts = soneTextParser.parse(null,
"KSK@gpl.txt"
);
assertNotNull("Parts", parts);
assertEquals("Part Text", "[KSK@gpl.txt|gpl.txt|gpl.txt]", convertText(parts, FreenetLinkPart.class));
/* check embedded links. */
assertNotNull("Parts", parts);
assertEquals("Part Text", "[KSK@gpl.txt|gpl.txt|gpl.txt]", convertText(parts, FreenetLinkPart.class));
/* check embedded links. */
- parts = soneTextParser.parse(null,
new StringReader("Link is KSK@gpl.txt\u200b.")
);
+ parts = soneTextParser.parse(null,
"Link is KSK@gpl.txt\u200b."
);
assertNotNull("Parts", parts);
assertEquals("Part Text", "Link is [KSK@gpl.txt|gpl.txt|gpl.txt]\u200b.", convertText(parts, PlainTextPart.class, FreenetLinkPart.class));
/* check embedded links and line breaks. */
assertNotNull("Parts", parts);
assertEquals("Part Text", "Link is [KSK@gpl.txt|gpl.txt|gpl.txt]\u200b.", convertText(parts, PlainTextPart.class, FreenetLinkPart.class));
/* check embedded links and line breaks. */
- parts = soneTextParser.parse(null,
new StringReader("Link is KSK@gpl.txt\nKSK@test.dat\n")
);
+ parts = soneTextParser.parse(null,
"Link is KSK@gpl.txt\nKSK@test.dat\n"
);
assertNotNull("Parts", parts);
assertEquals("Part Text", "Link is [KSK@gpl.txt|gpl.txt|gpl.txt]\n[KSK@test.dat|test.dat|test.dat]", convertText(parts, PlainTextPart.class, FreenetLinkPart.class));
}
assertNotNull("Parts", parts);
assertEquals("Part Text", "Link is [KSK@gpl.txt|gpl.txt|gpl.txt]\n[KSK@test.dat|test.dat|test.dat]", convertText(parts, PlainTextPart.class, FreenetLinkPart.class));
}
@@
-107,7
+107,7
@@
public class SoneTextParserTest extends TestCase {
Iterable<Part> parts;
/* check basic links. */
Iterable<Part> parts;
/* check basic links. */
- parts = soneTextParser.parse(null,
new StringReader("Some text.\n\nLink to sone://DAxKQzS48mtaQc7sUVHIgx3fnWZPQBz0EueBreUVWrU and stuff.")
);
+ parts = soneTextParser.parse(null,
"Some text.\n\nLink to sone://DAxKQzS48mtaQc7sUVHIgx3fnWZPQBz0EueBreUVWrU and stuff."
);
assertNotNull("Parts", parts);
assertEquals("Part Text", "Some text.\n\nLink to [Sone|DAxKQzS48mtaQc7sUVHIgx3fnWZPQBz0EueBreUVWrU] and stuff.", convertText(parts, PlainTextPart.class, SonePart.class));
}
assertNotNull("Parts", parts);
assertEquals("Part Text", "Some text.\n\nLink to [Sone|DAxKQzS48mtaQc7sUVHIgx3fnWZPQBz0EueBreUVWrU] and stuff.", convertText(parts, PlainTextPart.class, SonePart.class));
}
@@
-125,7
+125,7
@@
public class SoneTextParserTest extends TestCase {
Iterable<Part> parts;
/* check empty http links. */
Iterable<Part> parts;
/* check empty http links. */
- parts = soneTextParser.parse(null,
new StringReader("Some text. Empty link: http:// – nice!")
);
+ parts = soneTextParser.parse(null,
"Some text. Empty link: http:// – nice!"
);
assertNotNull("Parts", parts);
assertEquals("Part Text", "Some text. Empty link: http:// – nice!", convertText(parts, PlainTextPart.class));
}
assertNotNull("Parts", parts);
assertEquals("Part Text", "Some text. Empty link: http:// – nice!", convertText(parts, PlainTextPart.class));
}