From 4368e83f65cd067f2ac70668e35cd1ab4432c4d6 Mon Sep 17 00:00:00 2001 From: zapata Date: Thu, 1 Jun 2006 17:57:20 +0000 Subject: [PATCH] replaced some gnu RE's with the much faster jakarta ORO --- lib/oro-2.0.8.jar | Bin 0 -> 65261 bytes source/mir/misc/StringUtil.java | 167 +-------------------- source/mir/util/FileRoutines.java | 26 +++- source/mir/util/HTMLStripper.java | 164 ++++++++++++++++++++ source/mir/util/ShellRoutines.java | 2 +- source/mircoders/global/MirGlobal.java | 14 +- ...LocalizerDecorator.java => LocalizerCache.java} | 6 +- .../basic/MirBasicProducerAssistantLocalizer.java | 32 ++-- .../mircoders/servlet/ServletModuleFileEdit.java | 28 ++-- 9 files changed, 227 insertions(+), 212 deletions(-) create mode 100644 lib/oro-2.0.8.jar create mode 100644 source/mir/util/HTMLStripper.java rename source/mircoders/localizer/{MirCachingLocalizerDecorator.java => LocalizerCache.java} (97%) diff --git a/lib/oro-2.0.8.jar b/lib/oro-2.0.8.jar new file mode 100644 index 0000000000000000000000000000000000000000..23488d2600f5f4784c0ba2be5baa4c41f396f616 GIT binary patch literal 65261 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 EKLN5E{r~^~ literal 0 HcmV?d00001 diff --git a/source/mir/misc/StringUtil.java b/source/mir/misc/StringUtil.java index fc9b84ad..a4686979 100755 --- a/source/mir/misc/StringUtil.java +++ b/source/mir/misc/StringUtil.java @@ -40,18 +40,13 @@ import java.util.TimeZone; public final class StringUtil { private static TimeZone UTC = TimeZone.getTimeZone("UTC"); - private static RE re_newline2br, re_brbr2p, re_mail, re_url, re_tags, - re_tables, re_forbiddenTags; + private static RE re_tags, re_tables, re_forbiddenTags; private StringUtil() { } // this avoids contruction static { try { //precompile regex - re_newline2br = new RE("(\r?\n){1}"); - re_brbr2p = new RE("(
\r?\n
){1,}"); - re_mail = new RE("\\b([a-zA-Z0-9_.-]+)@([a-zA-Z0-9_-]+)\\.([a-zA-Z0-9_.-]+)\\b"); - re_url = new RE("((https://)|(http://)|(ftp://)){1}([a-zA-Z0-9_-]+).([a-zA-Z0-9_.:-]+)/?([^ \t\r\n<>\\)\\]]+[^ \t\r\n.,<>\\)\\]])"); re_tags = new RE("<[^>]*>",RE.REG_ICASE); re_tables = new RE("<[ \t\r\n/]*(table|td|tr)[ \t\r\n]*>",RE.REG_ICASE); re_forbiddenTags = new RE("<[ \t\r\n/]*(html|meta|body|head|script)[ \t\r\n]*>",RE.REG_ICASE); @@ -89,23 +84,6 @@ public final class StringUtil { } /** - * Wandelt Calendar in einen 12-ziffrigen String um (yyyymmddhhmm) - * @param theDate - * @return 12-ziffriger String (yyyymmdd) - */ - - public static final String date2webdbDateTime (GregorianCalendar theDate) { - StringBuffer webdbDate = new StringBuffer(); - webdbDate.append(String.valueOf(theDate.get(Calendar.YEAR))); - webdbDate.append(pad2(theDate.get(Calendar.MONTH) + 1)); - webdbDate.append(pad2(theDate.get(Calendar.DATE))); - webdbDate.append(pad2(theDate.get(Calendar.HOUR))); - webdbDate.append(pad2(theDate.get(Calendar.MINUTE))); - - return webdbDate.toString(); - } - - /** * Return a http://www.w3.org/TR/NOTE-datetime formatted date (yyyy-mm-ddThh:mm:ssTZ) * @param theDate * @return w3approved datetime @@ -157,22 +135,6 @@ public final class StringUtil { } /** - * deleteForbiddenTags - * this method deletes all