99import  java .util .LinkedList ;
1010import  java .util .List ;
1111import  java .util .Map ;
12- import  java .util .stream .Collectors ;
1312import  javax .ws .rs .WebApplicationException ;
1413import  javax .ws .rs .client .WebTarget ;
1514import  javax .ws .rs .core .GenericType ;
@@ -70,9 +69,9 @@ public String getServerUrl() {
7069    public  Version  getVersion (UserCredentials  userCredentials ) {
7170        return  new  Version (getServerStatus (userCredentials ).getVersion ());
7271    }
73-      
72+ 
7473    public  ServerStatus  getServerStatus (UserCredentials  userCredentials ) {
75-         WebTarget  systemStatusTarget = getSystemStatusTarget (userCredentials );
74+         WebTarget  systemStatusTarget  =  getSystemStatusTarget (userCredentials );
7675        return  systemStatusTarget .request (MediaType .APPLICATION_JSON ).get (ServerStatus .class );
7776    }
7877
@@ -81,7 +80,7 @@ public List<RadarIssue> getIssues(UserCredentials auth, ResourceKey projectKey,
8180        if  (!existsProject (auth , projectKey )) {
8281            throw  new  NoSuchProjectException (projectKey );
8382        }
84-         Map <String , List <String >> params = new  HashMap <>();
83+         Map <String , List <String >> params  =  new  HashMap <>();
8584        params .put ("componentKeys" , Arrays .asList (projectKey .toString ()));
8685        params .put ("ps" , Arrays .asList (String .valueOf (MAX_SUPPORTED_PAGE_SIZE )));
8786        params .put ("statuses" , Arrays .asList ("OPEN" ));
@@ -93,19 +92,19 @@ public List<RadarIssue> getIssues(UserCredentials auth, ResourceKey projectKey,
9392
9493    private  List <RadarIssue > getIssues (UserCredentials  userCredentials , Map <String , List <String >> params ) {
9594        try  {
96-             WebTarget  issuesTarget = getIssuesTarget (userCredentials );
95+             WebTarget  issuesTarget  =  getIssuesTarget (userCredentials );
9796            for  (Map .Entry <String , List <String >> entry  : params .entrySet ()) {
98-                 issuesTarget = issuesTarget .queryParam (entry .getKey (), (Object [])entry .getValue ().toArray (new  String [0 ]));
97+                 issuesTarget  =  issuesTarget .queryParam (entry .getKey (), (Object [])  entry .getValue ().toArray (new  String [0 ]));
9998            }
100-             IssuesSearchResult  issuesSearchResult ;  
99+             IssuesSearchResult  issuesSearchResult ;
101100            List <RadarIssue > issues  = new  LinkedList <>();
102101            Map <String , Rule > rulesCache  = new  HashMap <>();
103102            int  pageIndex  = 1 ;
104103            do  {
105104                issuesSearchResult  = issuesTarget .queryParam ("p" , pageIndex ).request (MediaType .APPLICATION_JSON ).get (IssuesSearchResult .class );
106105                for  (RadarIssue  issue  : issuesSearchResult .getIssues ()) {
107106                    Rule  rule  = searchInCacheOrLoadFromServer (rulesCache , issue .ruleKey (), userCredentials );
108-                     RadarIssue  radarIssue = new  RadarIssue ();
107+                     RadarIssue  radarIssue  =  new  RadarIssue ();
109108                    radarIssue .setComponentKey (issue .componentKey ());
110109                    radarIssue .setCreationDate (issue .creationDate ());
111110                    radarIssue .setKey (issue .key ());
@@ -160,16 +159,21 @@ public Rule getRule(UserCredentials userCredentials, String ruleKey) {
160159    public  List <ResourceKey > getProjectsKeys (UserCredentials  userCredentials ) {
161160        try  {
162161            List <ResourceKey > keys  = new  ArrayList <>();
163-             if (getVersion (userCredentials ).compareTo (6 , 3 ) >= 0 ) {
164-                 WebTarget  componentsTarget = getProjectComponentsTarget (userCredentials );
165-                 ComponentSearchResult  searchResult  = componentsTarget .request (MediaType .APPLICATION_JSON ).get (ComponentSearchResult .class );
166-                 List <Component > components =searchResult .getComponents ();
167-                 components .forEach ((c ) -> {
168-                     keys .add (ResourceKey .valueOf (c .getKey ()));
162+             if  (getVersion (userCredentials ).compareTo (6 , 3 ) >= 0 ) {
163+                 WebTarget  componentsTarget  = getProjectComponentsTarget (userCredentials );
164+                 ComponentSearchResult  searchResult ;
165+                 int  pageIndex  = 1 ;
166+                 do  {
167+                     searchResult  = componentsTarget .queryParam ("p" , pageIndex ).request (MediaType .APPLICATION_JSON ).get (ComponentSearchResult .class );
168+                     searchResult .getComponents ().forEach ((c ) -> {
169+                         keys .add (ResourceKey .valueOf (c .getKey ()));
170+                     });
171+                     pageIndex ++;
172+                 } while  (searchResult .getPaging ().getTotalNumberOfResults () != null  && pageIndex  <= searchResult .getPaging ().getTotalPageCount ());
173+             } else  {
174+                 WebTarget  resourcesTarget  = getProjectsTarget (userCredentials );
175+                 List <Resource > resources  = resourcesTarget .request (MediaType .APPLICATION_JSON ).get (new  GenericType <List <Resource >>() {
169176                });
170-             }else {
171-                 WebTarget  resourcesTarget = getProjectsTarget (userCredentials );
172-                 List <Resource > resources =resourcesTarget .request (MediaType .APPLICATION_JSON ).get (new  GenericType <List <Resource >>() {});
173177                resources .forEach ((r ) -> {
174178                    keys .add (ResourceKey .valueOf (r .getKey ()));
175179                });
@@ -191,16 +195,21 @@ private static boolean isError401(WebApplicationException ex) {
191195    public  List <SonarQubeProjectConfiguration > getProjects (UserCredentials  userCredentials ) {
192196        try  {
193197            List <SonarQubeProjectConfiguration > projects  = new  ArrayList <>();
194-             if (getVersion (userCredentials ).compareTo (6 , 3 ) >= 0 ) {
195-                 WebTarget  componentsTarget = getProjectComponentsTarget (userCredentials );
196-                 ComponentSearchResult  searchResult  = componentsTarget .request (MediaType .APPLICATION_JSON ).get (ComponentSearchResult .class );
197-                 List <Component > components =searchResult .getComponents ();
198-                 components .forEach ((c ) -> {
199-                     projects .add (new  GenericSonarQubeProjectConfiguration (c .getName (), ResourceKey .valueOf (c .getKey ()), c .getVersion ()));
198+             if  (getVersion (userCredentials ).compareTo (6 , 3 ) >= 0 ) {
199+                 WebTarget  componentsTarget  = getProjectComponentsTarget (userCredentials );
200+                 ComponentSearchResult  searchResult ;
201+                 int  pageIndex  = 1 ;
202+                 do  {
203+                     searchResult  = componentsTarget .queryParam ("p" , pageIndex ).request (MediaType .APPLICATION_JSON ).get (ComponentSearchResult .class );
204+                     searchResult .getComponents ().forEach ((c ) -> {
205+                         projects .add (new  GenericSonarQubeProjectConfiguration (c .getName (), ResourceKey .valueOf (c .getKey ()), c .getVersion ()));
206+                     });
207+                     pageIndex ++;
208+                 } while  (searchResult .getPaging ().getTotalNumberOfResults () != null  && pageIndex  <= searchResult .getPaging ().getTotalPageCount ());
209+             } else  {
210+                 WebTarget  resourcesTarget  = getProjectsTarget (userCredentials );
211+                 List <Resource > resources  = resourcesTarget .request (MediaType .APPLICATION_JSON ).get (new  GenericType <List <Resource >>() {
200212                });
201-             }else {
202-                 WebTarget  resourcesTarget = getProjectsTarget (userCredentials );
203-                 List <Resource > resources  = resourcesTarget .request (MediaType .APPLICATION_JSON ).get (new  GenericType <List <Resource >>() {});
204213                resources .forEach ((r ) -> {
205214                    projects .add (new  GenericSonarQubeProjectConfiguration (r .getName (), ResourceKey .valueOf (r .getKey ()), r .getVersion ()));
206215                });
@@ -230,7 +239,7 @@ public <T extends Classifier> ClassifierSummary<T> getSummary(ClassifierType<T>
230239            throw  new  NoSuchProjectException (resourceKey );
231240        }
232241        SimpleClassifierSummary <T > simpleSummary  = new  SimpleClassifierSummary <>();
233-         List <T > values = classifierType .getValues ();
242+         List <T > values  =  classifierType .getValues ();
234243        for  (T  classifier  : values ) {
235244            List <IssueFilter > tempFilters  = new  LinkedList <>();
236245            tempFilters .add (classifier .createFilter ());
@@ -245,38 +254,38 @@ public <T extends Classifier> ClassifierSummary<T> getSummary(ClassifierType<T>
245254
246255    private  WebTarget  getProjectsTarget (UserCredentials  userCredentials ) {
247256        ResteasyClient  client  = getClient (userCredentials );
248-         return  client .target (serverUrl + "/api/resources" );
257+         return  client .target (serverUrl  +  "/api/resources" );
249258    }
250-      
259+ 
251260    private  WebTarget  getProjectComponentsTarget (UserCredentials  userCredentials ) {
252261        ResteasyClient  client  = getClient (userCredentials );
253-         return  client .target (serverUrl + "/api/components/search" ).queryParam ("qualifiers" , "TRK" );
262+         return  client .target (serverUrl  +  "/api/components/search" ).queryParam ("qualifiers" , "TRK" );
254263    }
255264
256265    private  WebTarget  getRulesTarget (UserCredentials  userCredentials ) {
257266        ResteasyClient  client  = getClient (userCredentials );
258-         return  client .target (serverUrl + "/api/rules/show" );
267+         return  client .target (serverUrl  +  "/api/rules/show" );
259268    }
260-      
269+ 
261270    private  WebTarget  getIssuesTarget (UserCredentials  userCredentials ) {
262271        ResteasyClient  client  = getClient (userCredentials );
263-         return  client .target (serverUrl + "/api/issues/search" );
272+         return  client .target (serverUrl  +  "/api/issues/search" );
264273    }
265274
266275    private  WebTarget  getSystemStatusTarget (UserCredentials  userCredentials ) {
267276        ResteasyClient  client  = getClient (userCredentials );
268-         return  client .target (serverUrl + "/api/system/status" );
277+         return  client .target (serverUrl  +  "/api/system/status" );
269278    }
270-      
279+ 
271280    private  ResteasyClient  getClient (UserCredentials  userCredentials ) {
272-         ClientHttpEngine  httpEngine = new  ApacheHttpClient4Engine (createHttpClient ());
281+         ClientHttpEngine  httpEngine  =  new  ApacheHttpClient4Engine (createHttpClient ());
273282        ResteasyClient  client  = new  ResteasyClientBuilder ().httpEngine (httpEngine ).build ();
274-         if (userCredentials  != null ) {
283+         if   (userCredentials  != null ) {
275284            client .register (new  BasicAuthentication (userCredentials .getUsername (), PassEncoder .decodeAsString (userCredentials .getPassword ())));
276285        }
277286        return  client ;
278287    }
279-      
288+ 
280289    private  HttpClient  createHttpClient () {
281290        final  ProxySettings  proxySettings  = getProxySettings ();
282291        DefaultHttpClient  httpClient  = new  DefaultHttpClient ();
0 commit comments