java/code/src/com/redhat/rhn/common/util/StringUtil.java | 46 +++++++++++----
java/spacewalk-java.spec | 6 +
rel-eng/packages/spacewalk-java | 2
3 files changed, 41 insertions(+), 13 deletions(-)
New commits:
commit eec889d85accfcd9bccc6a9dd40d217e991275b3
Author: Jan Dobes <jdobes(a)redhat.com>
Date: Thu Apr 4 13:26:18 2013 +0200
Automatic commit of package [spacewalk-java] release [1.10.41-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 1c19bfc..c4f9ed2 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -28,7 +28,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 1.10.40
+Version: 1.10.41
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -678,6 +678,10 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Thu Apr 04 2013 Jan Dobes 1.10.41-1
+- checkstyle fix
+- 928198 - fixing URL detection to not contain dot or comma at the end.
+
* Wed Apr 03 2013 Stephen Herr <sherr(a)redhat.com> 1.10.40-1
- Display number of sockets in system details and spacewalk-reports
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 7c5c774..1a2658a 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-1.10.40-1 java/
+1.10.41-1 java/
commit 1dd7cbd1ade1b8c9ccbc8dee7b12bb8a1eeefa1d
Author: Jan Dobes <jdobes(a)redhat.com>
Date: Thu Apr 4 12:40:17 2013 +0200
checkstyle fix
diff --git a/java/code/src/com/redhat/rhn/common/util/StringUtil.java
b/java/code/src/com/redhat/rhn/common/util/StringUtil.java
index 94ac2ea..6a5d8d9 100644
--- a/java/code/src/com/redhat/rhn/common/util/StringUtil.java
+++ b/java/code/src/com/redhat/rhn/common/util/StringUtil.java
@@ -15,18 +15,7 @@
package com.redhat.rhn.common.util;
-import com.redhat.rhn.common.localization.LocalizationService;
-import com.redhat.rhn.common.validator.ValidatorException;
-
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
-import org.apache.xml.utils.XMLChar;
-import org.stringtree.json.JSONReader;
-import org.stringtree.json.JSONWriter;
-
import java.net.URLEncoder;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -40,6 +29,16 @@ import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
+import org.apache.xml.utils.XMLChar;
+import org.stringtree.json.JSONReader;
+import org.stringtree.json.JSONWriter;
+
+import com.redhat.rhn.common.localization.LocalizationService;
+import com.redhat.rhn.common.validator.ValidatorException;
+
/**
* A simple class that assists with String manipulation
* @version $Rev$
@@ -398,7 +397,7 @@ public class StringUtil {
int line = entireToken.indexOf("<br/>");
int tag = entireToken.indexOf("<");
int end = -1;
-
+
// end characters
Set<Character> endChars = new HashSet<Character>();
endChars.add(new Character('.'));
@@ -414,10 +413,10 @@ public class StringUtil {
if (end == -1 || (end > tag && tag != -1)) {
end = tag;
}
-
+
// dot before the end
if (end > 0 && (endChars.contains(
- new Character(entireToken.charAt(end-1))))) {
+ new Character(entireToken.charAt(end - 1))))) {
end--;
}
// dot at the end
@@ -425,7 +424,7 @@ public class StringUtil {
new Character(entireToken.charAt(entireToken.length() - 1)))) {
end = entireToken.length() - 1;
}
-
+
return end;
}
commit f7f29935ceee60501d183f10f49302e9cc9d4812
Author: Jan Dobes <jdobes(a)redhat.com>
Date: Thu Apr 4 12:18:26 2013 +0200
928198 - fixing URL detection to not contain dot or comma at the end.
diff --git a/java/code/src/com/redhat/rhn/common/util/StringUtil.java
b/java/code/src/com/redhat/rhn/common/util/StringUtil.java
index a7c3b3b..94ac2ea 100644
--- a/java/code/src/com/redhat/rhn/common/util/StringUtil.java
+++ b/java/code/src/com/redhat/rhn/common/util/StringUtil.java
@@ -26,13 +26,16 @@ import org.stringtree.json.JSONReader;
import org.stringtree.json.JSONWriter;
import java.net.URLEncoder;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Random;
+import java.util.Set;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -385,11 +388,21 @@ public class StringUtil {
return ret.toString();
}
+ /**
+ * Finds end of URL.
+ * @param entireToken input String (URL)
+ * @return position of last char of URL, returns -1 when entire String is URL
+ */
private static int findEndOfUrl(String entireToken) {
int space = entireToken.indexOf(" ");
int line = entireToken.indexOf("<br/>");
int tag = entireToken.indexOf("<");
int end = -1;
+
+ // end characters
+ Set<Character> endChars = new HashSet<Character>();
+ endChars.add(new Character('.'));
+ endChars.add(new Character(','));
if (space == -1 || (space > line && line != -1)) {
end = line;
@@ -399,8 +412,20 @@ public class StringUtil {
}
if (end == -1 || (end > tag && tag != -1)) {
- return tag;
+ end = tag;
+ }
+
+ // dot before the end
+ if (end > 0 && (endChars.contains(
+ new Character(entireToken.charAt(end-1))))) {
+ end--;
+ }
+ // dot at the end
+ else if (endChars.contains(
+ new Character(entireToken.charAt(entireToken.length() - 1)))) {
+ end = entireToken.length() - 1;
}
+
return end;
}