Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.0.0.GA, 3.1
-
Fix Version/s: EE-3.0.0.GA_P01, 3.2
-
Component/s: Framework
-
Labels:None
-
Environment:N/A
Description
Currently DomBasicRenderer.java class does not support detection of global String converters in an application. It is designed in such way that it always returns a String value before detecting a global custom String converter. (line 205@ DomBasicRenderer.java)
201 if (converter == null) {
202 if (currentValue == null) {
203 return "";
204 } else if (currentValue instanceof String) {
205 return (String) currentValue;
206 }
207
208 converter = getConverterForClass(currentValue.getClass());
209
210 if (converter == null) {
211 return currentValue.toString();
212 }
213 }
a fix below is proposed by one of our clients to allow detection of such converters in application:
...
if (converter == null) {
if (currentValue == null) {
return "";
} else if (currentValue instanceof String) {
// Addition for global String converter detection.
converter = getConverterForClass(currentValue.getClass());
if (converter == null) {
return (String) currentValue;
} else {
return converter.getAsString(facesContext, uiComponent, currentValue);
}
}
converter = getConverterForClass(currentValue.getClass());
if (converter == null) {
return currentValue.toString();
}
}
...
We need to review proposed fix and determine if it can be safely incorporated into our code.
201 if (converter == null) {
202 if (currentValue == null) {
203 return "";
204 } else if (currentValue instanceof String) {
205 return (String) currentValue;
206 }
207
208 converter = getConverterForClass(currentValue.getClass());
209
210 if (converter == null) {
211 return currentValue.toString();
212 }
213 }
a fix below is proposed by one of our clients to allow detection of such converters in application:
...
if (converter == null) {
if (currentValue == null) {
return "";
} else if (currentValue instanceof String) {
// Addition for global String converter detection.
converter = getConverterForClass(currentValue.getClass());
if (converter == null) {
return (String) currentValue;
} else {
return converter.getAsString(facesContext, uiComponent, currentValue);
}
}
converter = getConverterForClass(currentValue.getClass());
if (converter == null) {
return currentValue.toString();
}
}
...
We need to review proposed fix and determine if it can be safely incorporated into our code.
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Evgheni Sadovoi
created issue -
Evgheni Sadovoi
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [5007000000NGgTm] |
Evgheni Sadovoi
made changes -
Description |
Currently DomBasicRenderer.java class does not support multiple spaces in a String: 201 if (converter == null) { 202 if (currentValue == null) { 203 return ""; 204 } else if (currentValue instanceof String) { 205 return (String) currentValue; 206 } 207 208 converter = getConverterForClass(currentValue.getClass()); 209 210 if (converter == null) { 211 return currentValue.toString(); 212 } 213 } a fix below is proposed to fix it: ... if (converter == null) { if (currentValue == null) { return ""; } else if (currentValue instanceof String) { // Additional overriding for ATOM String converter. // TODO : Remove it later. converter = getConverterForClass(currentValue.getClass()); if (converter == null) { return (String) currentValue; } else { return converter.getAsString(facesContext, uiComponent, currentValue); } } converter = getConverterForClass(currentValue.getClass()); if (converter == null) { return currentValue.toString(); } } ... NOTE: This JIRA is under construction. I will update it once I get more feedback from a client. |
Currently DomBasicRenderer.java class does not support detection of global String converters in an application. It is designed in such way that it is always returns String value before detecting a global custom String converter. (line 205@ . DomBasicRenderer.java) 201 if (converter == null) { 202 if (currentValue == null) { 203 return ""; 204 } else if (currentValue instanceof String) { 205 return (String) currentValue; 206 } 207 208 converter = getConverterForClass(currentValue.getClass()); 209 210 if (converter == null) { 211 return currentValue.toString(); 212 } 213 } a fix below is proposed to allow detection of such converters in application: ... if (converter == null) { if (currentValue == null) { return ""; } else if (currentValue instanceof String) { // Additional overriding for ATOM String converter. // TODO : Remove it later. converter = getConverterForClass(currentValue.getClass()); if (converter == null) { return (String) currentValue; } else { return converter.getAsString(facesContext, uiComponent, currentValue); } } converter = getConverterForClass(currentValue.getClass()); if (converter == null) { return currentValue.toString(); } } ... We need to review proposed fix and determine if it can be safely incorporated into our code. |
Evgheni Sadovoi
made changes -
Description |
Currently DomBasicRenderer.java class does not support detection of global String converters in an application. It is designed in such way that it is always returns String value before detecting a global custom String converter. (line 205@ . DomBasicRenderer.java) 201 if (converter == null) { 202 if (currentValue == null) { 203 return ""; 204 } else if (currentValue instanceof String) { 205 return (String) currentValue; 206 } 207 208 converter = getConverterForClass(currentValue.getClass()); 209 210 if (converter == null) { 211 return currentValue.toString(); 212 } 213 } a fix below is proposed to allow detection of such converters in application: ... if (converter == null) { if (currentValue == null) { return ""; } else if (currentValue instanceof String) { // Additional overriding for ATOM String converter. // TODO : Remove it later. converter = getConverterForClass(currentValue.getClass()); if (converter == null) { return (String) currentValue; } else { return converter.getAsString(facesContext, uiComponent, currentValue); } } converter = getConverterForClass(currentValue.getClass()); if (converter == null) { return currentValue.toString(); } } ... We need to review proposed fix and determine if it can be safely incorporated into our code. |
Currently DomBasicRenderer.java class does not support detection of global String converters in an application. It is designed in such way that it always returns a String value before detecting a global custom String converter. (line 205@ DomBasicRenderer.java) 201 if (converter == null) { 202 if (currentValue == null) { 203 return ""; 204 } else if (currentValue instanceof String) { 205 return (String) currentValue; 206 } 207 208 converter = getConverterForClass(currentValue.getClass()); 209 210 if (converter == null) { 211 return currentValue.toString(); 212 } 213 } a fix below is proposed by one of our clients to allow detection of such converters in application: ... if (converter == null) { if (currentValue == null) { return ""; } else if (currentValue instanceof String) { // Addition for global String converter detection. converter = getConverterForClass(currentValue.getClass()); if (converter == null) { return (String) currentValue; } else { return converter.getAsString(facesContext, uiComponent, currentValue); } } converter = getConverterForClass(currentValue.getClass()); if (converter == null) { return currentValue.toString(); } } ... We need to review proposed fix and determine if it can be safely incorporated into our code. |
Evgheni Sadovoi
made changes -
Issue Type | Improvement [ 4 ] | Bug [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | EE-3.0.0.GA_P01 [ 10327 ] | |
Fix Version/s | 3.2 [ 10338 ] | |
Assignee Priority | P1 | |
Affects Version/s | 3.1 [ 10312 ] | |
Affects Version/s | 3.1.0.RC1 [ 10337 ] | |
Assignee | Deryk Sinotte [ deryk.sinotte ] |
Deryk Sinotte
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee Priority | P1 [ 10010 ] |