Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Blocker
-
Resolution: Fixed
-
Affects Version/s: 1.1
-
Fix Version/s: 1.2
-
Component/s: XMLRPC Interface
-
Labels:None
-
Complexity:Intermediate
-
Number of attachments :
Description
This problem is due to a recursive call when testing the authorizations :
At line 221 of ContinuumServiceImpl.java
protected String getProjectGroupName( int projectGroupId )
throws ContinuumException
private ProjectGroupSummary getPGSummary( int projectGroupId )
throws ContinuumException
getProjectGroupName makes a call to getPGSummary that makes a call to getProjectGroupName that makes a call to getPGSummary ......
I think the getPGSummary should be implemented like this :
private ProjectGroupSummary getPGSummary( int projectGroupId )
throws ContinuumException
This problem also occurs in all these methods:
- getProjectGroupSummary (line 242)
- getProjectGroupWithProjects (line 253)
- removeProjectGroup (line 264)
- getProjects (line 91)
Issue Links
- is duplicated by
-
CONTINUUM-1734
Loop in getProjects methode
-
I had a similar problem with this simple client code :
ContinuumXmlRpcClient client = new ContinuumXmlRpcClient(new URL(" http://localhost:8080/continuum/xmlrpc"), "admin", "manager1");
{ System.out.println("PGID : "+pg.getId()); client.getProjects(pg.getId()); }List<ProjectGroup> projectGroups = client.getAllProjectGroupsWithAllDetails ();
for (ProjectGroup pg : projectGroups)
My StackOverflowError happens at the line 224.
jvm 1 | Caused by:
jvm 1 | java.lang.StackOverflowError
jvm 1 | at org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(ContinuumServiceImpl.java:
231)
jvm 1 | at org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName(ContinuumServiceImp
l.java:224)
jvm 1 | at org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary (ContinuumServiceImpl.java:
231)
jvm 1 | at org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName(ContinuumServiceImp
l.java:224)
Maybe, it is not usefull at line 231 in the private method to call checkViewProjectGroupAuthorization().