import java.util.ArrayList;
import java.util.List;
+import javax.validation.Valid;
+
import org.oransc.ric.portal.dashboard.DashboardApplication;
import org.oransc.ric.portal.dashboard.DashboardConstants;
import org.oransc.ric.portal.dashboard.config.E2ManagerApiBuilder;
import org.oransc.ricplt.e2mgr.client.api.NodebApi;
import org.oransc.ricplt.e2mgr.client.model.GetNodebResponse;
import org.oransc.ricplt.e2mgr.client.model.NodebIdentity;
-import org.oransc.ricplt.e2mgr.client.model.ResetRequest;
+import org.oransc.ricplt.e2mgr.client.model.UpdateGnbRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.annotation.Secured;
import org.springframework.util.Assert;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
/**
* Proxies calls from the front end to the E2 Manager API.
*
- * If a method throws RestClientResponseException, it is handled by
- * {@link CustomResponseEntityExceptionHandler#handleProxyMethodException(Exception, org.springframework.web.context.request.WebRequest)}
- * which returns status 502. All other exceptions are handled by Spring which
- * returns status 500.
+ * If a method throws RestClientResponseException, it is handled by a method in
+ * {@link CustomResponseEntityExceptionHandler} which returns status 502. All
+ * other exceptions are handled by Spring which returns status 500.
*/
@Configuration
@RestController
public static final String RAN_METHOD = NODEB_PREFIX + "/ran";
public static final String NODEB_SHUTDOWN_METHOD = NODEB_PREFIX + "/shutdown";
public static final String NODEB_LIST_METHOD = NODEB_PREFIX + "/ids";
- // Reset uses prefix, adds a path parameter below
- public static final String RESET_METHOD = "reset";
// Path parameters
private static final String PP_RANNAME = "ranName";
return ResponseEntity.status(api.getApiClient().getStatusCode().value()).body(null);
}
- @ApiOperation(value = "Abort any other ongoing procedures over X2 between the RIC and the RAN.")
+ @ApiOperation(value = "Update GNB.")
@PutMapping(DashboardConstants.RIC_INSTANCE_KEY + "/{" + DashboardConstants.RIC_INSTANCE_KEY + "}/" + NODEB_PREFIX
- + "/{" + PP_RANNAME + "}/" + RESET_METHOD)
+ + "/{" + PP_RANNAME + "}")
@Secured({ DashboardConstants.ROLE_ADMIN })
- public ResponseEntity<String> reset(@PathVariable(DashboardConstants.RIC_INSTANCE_KEY) String instanceKey,
- @PathVariable(PP_RANNAME) String ranName, @RequestBody ResetRequest resetRequest) {
- logger.debug("reset instance {} name {}", instanceKey, ranName);
+ public ResponseEntity<String> updateGnb(@PathVariable(DashboardConstants.RIC_INSTANCE_KEY) String instanceKey,
+ @PathVariable(PP_RANNAME) String ranName, //
+ @Valid @Validated @RequestBody UpdateGnbRequest updateGnbRequest) {
+ logger.debug("updateGnb instance {} ran {}", instanceKey, ranName);
NodebApi api = e2ManagerApiBuilder.getNodebApi(instanceKey);
- api.reset(ranName, resetRequest);
+ api.updateGnb(updateGnbRequest, ranName);
return ResponseEntity.status(api.getApiClient().getStatusCode().value()).body(null);
}