experimental rtl support (#209)

This commit is contained in:
Athou
2013-05-31 08:17:58 +02:00
parent 7dcfe4314b
commit 9568ccfeac
5 changed files with 32 additions and 2 deletions

View File

@@ -24,6 +24,8 @@ import org.slf4j.LoggerFactory;
import com.commafeed.backend.model.Feed;
import com.commafeed.backend.model.FeedEntry;
import com.google.api.client.util.Lists;
import com.google.gwt.i18n.client.HasDirection.Direction;
import com.google.gwt.i18n.shared.BidiUtils;
public class FeedUtils {
@@ -120,6 +122,12 @@ public class FeedUtils {
return found;
}
public static boolean isRTL(FeedEntry entry) {
String content = entry.getContent().getContent();
Direction direction = BidiUtils.get().estimateDirection(content, true);
return direction == Direction.RTL;
}
public static String trimInvalidXmlCharacters(String xml) {
if (StringUtils.isBlank(xml)) {
return null;

View File

@@ -31,6 +31,7 @@ public class Entry implements Serializable {
entry.setGuid(feedEntry.getGuid());
entry.setTitle(feedEntry.getContent().getTitle());
entry.setContent(feedEntry.getContent().getContent());
entry.setRtl(FeedUtils.isRTL(feedEntry));
entry.setAuthor(feedEntry.getAuthor());
entry.setEnclosureUrl(status.getEntry().getContent().getEnclosureUrl());
entry.setEnclosureType(status.getEntry().getContent()
@@ -77,6 +78,9 @@ public class Entry implements Serializable {
@ApiProperty("entry content")
private String content;
@ApiProperty("wether entry content and title are rtl")
private boolean rtl;
@ApiProperty("entry author")
private String author;
@@ -241,4 +245,12 @@ public class Entry implements Serializable {
this.iconUrl = iconUrl;
}
public boolean isRtl() {
return rtl;
}
public void setRtl(boolean rtl) {
this.rtl = rtl;
}
}