When bean contains a property of type URL the json writer is trying to connect 
to the URL and retreive the contents rather than returning just the URL as a 
string 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: WW-3524
                 URL: https://issues.apache.org/jira/browse/WW-3524
             Project: Struts 2
          Issue Type: Bug
          Components: Plugin - JSON
    Affects Versions: 2.1.6
         Environment: java 1.6 running under windows or linux
            Reporter: matthew cooper


When a bean being serialized into a JSON string contains a member of type URL 
the JSONWriter identifys the URL itself as a bean type, this recusrivly looks 
at all the properties of the URL object and reteives the reader methods for 
each one which it invokes and repeats the process based on the returned object. 

The URL class contains a bunch of properties including content which has the 
getContent method as the reader.

when this method is invoked the URL class will make the HTTP request and return 
the html content, if the URL is not valid it will thrown an exception. 

THe following is a list of the properties and the associated reader methods 
from the URL class 

Property name authority
Accessor method is public java.lang.String java.net.URL.getAuthority()
  
Property name content
Accessor method is public final java.lang.Object java.net.URL.getContent() 
throws java.io.IOException
 
Property name defaultPort
Accessor method is public int java.net.URL.getDefaultPort()
 
Property name file
Accessor method is public java.lang.String java.net.URL.getFile()
 
Property name host
Accessor method is public java.lang.String java.net.URL.getHost()
 
Property name path
Accessor method is public java.lang.String java.net.URL.getPath()
 
Property name port
Accessor method is public int java.net.URL.getPort()
 
Property name protocol
Accessor method is public java.lang.String java.net.URL.getProtocol()
 
Property name query
Accessor method is public java.lang.String java.net.URL.getQuery()
 
Property name ref
Accessor method is public java.lang.String java.net.URL.getRef()
 
Property name userInfo
Accessor method is public java.lang.String java.net.URL.getUserInfo()

i think the JSONWriter needs a special case for the URL object as you would not 
want the getContent method being invoked.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to