Project

General

Profile

« Previous | Next » 

Revision 59807

[Users]: Fix update service

View differences:

modules/dnet-openaire-users/trunk/src/main/java/eu/dnetlib/openaire/usermanagement/RegisterServiceServlet.java
151 151
        String serviceId = request.getParameter("id");
152 152

  
153 153
        String name = request.getParameter("first_name").trim();
154
        if (name == null || name.isEmpty()) {
154
        if (name.isEmpty()) {
155 155
            request.getSession().setAttribute("first_name_error", true);
156 156
            canProceed = false;
157 157
        }
......
192 192
        }
193 193
        String userid = authentication.getSub();
194 194
        String email = authentication.getUserInfo().getEmail();
195
        String serverRequestJSON;
196
        if (keyType.equals("uri")){
197
            serverRequestJSON = createServiceJson(name, email, jwksUri);
198
        } else {
199
            serverRequestJSON = createServiceJson(name, email, jwks);
200
        }
201

  
202
        System.out.println("SERVER JSON " + serverRequestJSON);
203

  
204 195
        ServiceResponse serviceResponse = null;
205 196

  
206 197
        if (nameIsValid(name) && userInfoIsValid(userid, email) && keyIsValid(keyType, jwksUri, jwksString) && canProceed) {
......
210 201
            if(mode.equals("create")) {
211 202
                //Careful! Redirects in method
212 203
                checkNumberOfRegisteredServices(request, response, authentication);
204
                String serverRequestJSON;
205
                if (keyType.equals("uri")){
206
                    serverRequestJSON = createServiceJson(null, name, email, jwksUri);
207
                } else {
208
                    serverRequestJSON = createServiceJson(null, name, email, jwks);
209
                }
213 210

  
211
                System.out.println("SERVER JSON " + serverRequestJSON);
214 212

  
215 213
                serverMessage = tokenUtils.registerService(serverRequestJSON);
216 214
                logger.debug(serverMessage);
......
237 235
                    return;
238 236
                }
239 237
            } else {
240
                        int serviceIdInt = 0;
241

  
238
                int serviceIdInt = 0;
242 239
                if (serviceId == null || serviceId.isEmpty()) { //TODO WRONG MESSAGE
243 240
                    request.getSession().setAttribute("message", "Service with id " + serviceId + " does not exist.");
244 241
                    response.sendRedirect("./registeredServices");
......
252 249
                            response.sendRedirect("./registeredServices");
253 250
                        }
254 251

  
255
                        RegisteredService registeredService = null;
256
                        registeredService = registeredServicesUtils.getRegisteredServiceDao().fetchRegisteredServiceById(serviceIdInt);
257

  
252
                        RegisteredService registeredService = registeredServicesUtils.getRegisteredServiceDao().fetchRegisteredServiceById(serviceIdInt);
258 253
                        if (registeredService != null && registeredService.getClientId() != null) {
259
                            serviceResponse = tokenUtils.getRegisteredService(registeredService.getClientId(), registeredService.getRegistrationAccessToken());
254
                            String serverRequestJSON;
255
                            if (keyType.equals("uri")){
256
                                serverRequestJSON = createServiceJson(registeredService.getClientId(), name, email, jwksUri);
257
                            } else {
258
                                serverRequestJSON = createServiceJson(registeredService.getClientId(), name, email, jwks);
259
                            }
260
                            System.out.println("SERVER JSON " + serverRequestJSON);
260 261
                            HttpResponse resp = tokenUtils.updateService(registeredService.getClientId(), serverRequestJSON, registeredService.getRegistrationAccessToken());
261

  
262 262
                            if (resp.getStatusLine().getStatusCode()==200) {
263 263
                                System.out.println("NAME >>>>" + name);
264 264
                                registeredService.setName(name);
......
275 275
                                }
276 276

  
277 277
                                request.getSession().setAttribute("success", "Your service with name " + name + " was successfully updated.The id of your service " +
278
                                        "is " + serviceResponse.getClientId());
278
                                        "is " + registeredService.getClientId());
279 279
                            }
280 280

  
281 281
                        } else {
......
358 358
        }
359 359
    }
360 360

  
361
    private static String createServiceJson(String name, String email, String jwksURI) {
361
    private static String createServiceJson(String clientId, String name, String email, String jwksURI) {
362 362
        ServiceRequest serviceJSON = new ServiceRequest();
363
        serviceJSON.setClientId(clientId);
363 364
        serviceJSON.setClientName(name);
364 365
        serviceJSON.setContacts(new String[]{email});
365 366
        serviceJSON.setJwksUri(jwksURI);
......
371 372
        return gson.toJson(serviceJSON);
372 373
    }
373 374

  
374
    private static String createServiceJson(String name, String email, Jwks jwks) {
375
    private static String createServiceJson(String clientId, String name, String email, Jwks jwks) {
375 376
        ServiceRequest serviceJSON = new ServiceRequest();
377
        serviceJSON.setClientId(clientId);
376 378
        serviceJSON.setClientName(name);
377 379
        serviceJSON.setContacts(new String[]{email});
378 380
        serviceJSON.setJwks(jwks);

Also available in: Unified diff