import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
try (Reader sourceReader = new StringReader(source);
BufferedReader bufferedReader = new BufferedReader(sourceReader)) {
String line;
try (Reader sourceReader = new StringReader(source);
BufferedReader bufferedReader = new BufferedReader(sourceReader)) {
String line;
throw new RuntimeException(ioe1);
}
for (int partIndex = parts.size() - 1; partIndex >= 0; --partIndex) {
throw new RuntimeException(ioe1);
}
for (int partIndex = parts.size() - 1; partIndex >= 0; --partIndex) {
if (nextLink.isPresent()) {
if (nextLink.get().getPosition() < earliestLinkPosition) {
earliestNextLink = nextLink.get();
if (nextLink.isPresent()) {
if (nextLink.get().getPosition() < earliestLinkPosition) {
earliestNextLink = nextLink.get();
if (line.length() >= (7 + 43)) {
String soneId = line.substring(7, 50);
Optional<Sone> sone = soneProvider.getSone(soneId);
if (line.length() >= (7 + 43)) {
String soneId = line.substring(7, 50);
Optional<Sone> sone = soneProvider.getSone(soneId);
if (line.length() >= (7 + 36)) {
String postId = line.substring(7, 43);
Optional<Post> post = postProvider.getPost(postId);
if (line.length() >= (7 + 36)) {
String postId = line.substring(7, 43);
Optional<Post> post = postProvider.getPost(postId);
- private void renderFreenetLink(PartContainer parts, String link, LinkType linkType, @Nullable SoneTextParserContext context) {
+ private void renderFreenetLink(List<Part> parts, String link, LinkType linkType, @Nullable SoneTextParserContext context) {
}
if (name.endsWith("/")) {
name = name.substring(0, name.length() - 1);
}
if (name.endsWith("/")) {
name = name.substring(0, name.length() - 1);
name = link.substring(0, Math.min(9, link.length()));
}
boolean fromPostingSone = ((linkType == LinkType.SSK) || (linkType == LinkType.USK)) && (context != null) && (context.getPostingSone() != null) && link.substring(4, Math.min(link.length(), 47)).equals(context.getPostingSone().getId());
name = link.substring(0, Math.min(9, link.length()));
}
boolean fromPostingSone = ((linkType == LinkType.SSK) || (linkType == LinkType.USK)) && (context != null) && (context.getPostingSone() != null) && link.substring(4, Math.min(link.length(), 47)).equals(context.getPostingSone().getId());
- parts.add(new FreenetLinkPart(link, name, fromPostingSone));
+ parts.add(new FreenetLinkPart(link, name, linkWithoutParameters, fromPostingSone));
} catch (MalformedURLException mue1) {
/* not a valid link, insert as plain text. */
parts.add(new PlainTextPart(link));
} catch (MalformedURLException mue1) {
/* not a valid link, insert as plain text. */
parts.add(new PlainTextPart(link));
String name = link.substring(linkType == LinkType.HTTP ? 7 : 8);
int firstSlash = name.indexOf('/');
int lastSlash = name.lastIndexOf('/');
String name = link.substring(linkType == LinkType.HTTP ? 7 : 8);
int firstSlash = name.indexOf('/');
int lastSlash = name.lastIndexOf('/');
int separator = line.indexOf('@');
String freemailId = line.substring(separator + 1, separator + 53);
String identityId = Base64.encode(Base32.decode(freemailId));
int separator = line.indexOf('@');
String freemailId = line.substring(separator + 1, separator + 53);
String identityId = Base64.encode(Base32.decode(freemailId));