[hmath-commits] org.hmath.server/WEB-INF/src/org/hartmath/server/filter WikipediaFilter.java,1.5,1.6
Status: Pre-Alpha
Brought to you by:
jsurfer
|
From: Klaus H. <js...@us...> - 2004-04-02 18:24:23
|
Update of /cvsroot/hmath/org.hmath.server/WEB-INF/src/org/hartmath/server/filter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9563/WEB-INF/src/org/hartmath/server/filter Modified Files: WikipediaFilter.java Log Message: misc changes Index: WikipediaFilter.java =================================================================== RCS file: /cvsroot/hmath/org.hmath.server/WEB-INF/src/org/hartmath/server/filter/WikipediaFilter.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** WikipediaFilter.java 28 Mar 2004 17:24:26 -0000 1.5 --- WikipediaFilter.java 2 Apr 2004 18:12:13 -0000 1.6 *************** *** 21,24 **** --- 21,25 ---- import java.io.IOException; import java.io.Writer; + import java.text.MessageFormat; import java.util.ArrayList; import java.util.HashMap; *************** *** 465,468 **** --- 466,470 ---- if ((fCurrentCharacter = fSource[fCurrentPosition++]) == '\\') { fResult.append(Encoder.toEntity(fCurrentCharacter)); + break; } else { fResult.append("<br />"); *************** *** 804,809 **** continue; } ! } ! if (levelMinus==2) { copyWhite(fWhiteStart, fWhiteStartPosition, 2); fWhiteStart = false; --- 806,811 ---- continue; } ! } ! if (levelMinus == 2) { copyWhite(fWhiteStart, fWhiteStartPosition, 2); fWhiteStart = false; *************** *** 846,849 **** --- 848,866 ---- } break; + + case '@' : // images @xml@ -> /static/rss-small.png + copyWhite(fWhiteStart, fWhiteStartPosition, 1); + fWhiteStart = false; + int atStart = fCurrentPosition; + if (readUntilChar('@')) { + String imageTag = new String(fSource, atStart, fCurrentPosition - atStart - 1); + if (imageTag != null) { + if (createStaticImage(imageTag, fResult)) { + continue; + } + } + } + fCurrentPosition = atStart; + break; case '&' : int ampersandStart = fCurrentPosition - 1; *************** *** 967,971 **** private void createExternalLink(String urlString) { ! // Does our engine know images? if (fWikiEngine instanceof ImageRenderEngine) { --- 984,988 ---- private void createExternalLink(String urlString) { ! // Does our engine know images? if (fWikiEngine instanceof ImageRenderEngine) { *************** *** 1111,1123 **** StringBuffer result = new StringBuffer(); char ch; for (int i = 0; i < head.length(); i++) { ch = head.charAt(i); ! switch (ch) { ! case ' ' : ! result.append('_'); ! break; ! default : ! result.append(ch); } } return result.toString(); --- 1128,1164 ---- StringBuffer result = new StringBuffer(); char ch; + result.append('a'); + // reduce Anchorstring for (int i = 0; i < head.length(); i++) { ch = head.charAt(i); ! if ('a' <= ch && 'z' >= ch) { ! result.append(ch); ! } else if ('A' <= ch && 'Z' >= ch) { ! result.append(ch); ! } else if ('0' <= ch && '9' >= ch) { ! result.append(ch); } + // switch (ch) { + // case ' ' : + // result.append('_'); + // break; + // case '<' : // special html escape character + // fResult.append(Encoder.toEntity('<')); + // break; + // case '>' : // special html escape character + // fResult.append(Encoder.toEntity('>')); + // break; + // case '&' : // special html escape character + // fResult.append(Encoder.toEntity('&')); + // break; + // case '\'' : // special html escape character + // fResult.append(Encoder.toEntity('\'')); + // break; + // case '\"' : // special html escape character + // fResult.append(Encoder.toEntity('\"')); + // break; + // default : + // result.append(ch); + // } } return result.toString(); *************** *** 1790,1793 **** --- 1831,1835 ---- final static HashSet ENTITY_SET = new HashSet(); + final static HashMap IMAGE_MAP = new HashMap(); private static Log log = LogFactory.getLog(WikipediaFilter.class); *************** *** 1797,1800 **** --- 1839,1845 ---- ENTITY_SET.add(ENTITY_STRINGS[i]); } + for (int i = 0; i < IMAGE_STRINGS.length; i += 2) { + IMAGE_MAP.put(IMAGE_STRINGS[i], IMAGE_STRINGS[i + 1]); + } OPEN_TAGS.put("br", HTML_BR_OPEN); OPEN_TAGS.put("hr", HTML_HR_OPEN); *************** *** 1882,1885 **** --- 1927,1939 ---- } + public static boolean createStaticImage(String imageTag, StringBuffer buff) { + String value = (String) IMAGE_MAP.get(imageTag); + if (value != null) { + buff.append(MessageFormat.format(value, ARGUMENTS)); + return true; + } + return false; + } + private MacroRepository macros; *************** *** 1892,1897 **** fWikiEngine = context.getRenderContext().getRenderEngine(); try { ! SnipMacroParameter params = (SnipMacroParameter) fContext.getMacroParameter(); ! fSnip = params.getSnipRenderContext().getSnip(); } catch (ClassCastException e) { e.printStackTrace(); --- 1946,1951 ---- fWikiEngine = context.getRenderContext().getRenderEngine(); try { ! SnipMacroParameter params = (SnipMacroParameter) fContext.getMacroParameter(); ! fSnip = params.getSnipRenderContext().getSnip(); } catch (ClassCastException e) { e.printStackTrace(); |