Java_Java10commonscodec
Java_Java10commonscodec
{
"id": 10,
"repo_name": "commons-codec",
"Commit URL":
"https://github.com/apache/commons-codec/commit/41c68e9ef470696009d72133c7f05a20e27
28e34?diff=split",
"Issue URL": "https://issues.apache.org/jira/browse/CODEC-117",
"language": "Java"
}
====================Info End====================================
While extracting for desired refinement code please be careful in choosing the
right line of code.
[CODEC-117] Caverphone encodes names starting and ending with "mb" in… …
correctly.git-svn-id:
https://svn.apache.org/repos/asf/commons/proper/codec/trunk@1075947 13f79535-47bb-
0310-9956-ffa450edef68
// End
- txt = txt.replaceAll("mb$", "m2");
+ txt = txt.replaceAll("^mb", "m2");
// 4. Handle replacements
txt = txt.replaceAll("cq", "2q");
====================Code Change End====================================
{
"Do you want to reject this annotation": {
"options": [
"1. Yes",
"2. No"
],
"answer": "2"
},
"Does the code have a valid bug": {
"options": [
"1. Yes",
"2. No"
],
"answer": "1"
},
"Is the provided refinement correct": {
"options": [
"1. Correct",
"2. Not Correct",
"3. Partially Correct"
],
"answer": "1"
},
When caverphone encode names starting and ending with `mb`, it is processing it
incorrectly. The caverphone encoding gives wrong results for names that start and
end with `mb` as it is wrongly declared when calling `replaceAll()` method, leading
to `NoSuchElementException`. This is not the expected code functionality.
====================Error Explanation End====================================
In order to encode names starting and ending with `mb` correctly, `^mb` should be
replaced by `mb$` in the `replaceAll()` method this change is because of the proper
representation for finding the required values in the name, which will encode it
correctly as per the requirement, which states that if the name ends with `mb` make
it `m2`. These changes make the code to function as expected.
src/java/org/apache/commons/codec/language/Caverphone.java
```
@@ -73,7 +73,7 @@ public class Caverphone implements StringEncoder {
txt = txt.replaceAll("^gn", "2n");
// End
txt = txt.replaceAll("mb$", "m2");
// 4. Handle replacements
txt = txt.replaceAll("cq", "2q");
```