/** * @param errorCode * @param errorMessage * @return built RPC error result. */ protected RpcResult<QueryOutput> buildErrorRpcResult( String errorCode, String errorMessage) { return RpcResultBuilder.<QueryOutput> failed() .withError(RpcError.ErrorType.APPLICATION, errorCode, errorMessage) .build(); } }
@Override public Future<RpcResult<Void>> unregisterOwnership(UnregisterOwnershipInput input) { return RpcResultBuilder.<Void>success().buildFuture(); }
@Override public void onFailure(final Throwable ex) { LOG.info("Failed to commit Rule", ex); futureResult.set(RpcResultBuilder.<UpdateAlertFieldContentRuleOutput> failed() .withRpcErrors(((TransactionCommitFailedException) ex).getErrorList()).build()); } });
@Override public ListenableFuture<RpcResult<AddFabricLinkOutput>> apply(Void submitResult) throws Exception { RpcResultBuilder<AddFabricLinkOutput> resultBuilder = RpcResultBuilder.<AddFabricLinkOutput>success(); AddFabricLinkOutput output = new AddFabricLinkOutputBuilder().setLinkId(lnkId).build(); return Futures.immediateFuture(resultBuilder.withResult(output).build()); } });
/** * DOMRpcResult does not have a notion of success, hence we have to reverse-engineer it by looking at reported * errors and checking whether they are just warnings. */ static <T> RpcResult<T> rpcResultFromDOM(final Collection<? extends RpcError> errors, final @Nullable T result) { return RpcResultBuilder.<T>status(errors.stream().noneMatch(err -> err.getSeverity() == ErrorSeverity.ERROR)) .withResult(result).withRpcErrors(errors).build(); } }
@Override public Future<RpcResult<Void>> registerOwnership(RegisterOwnershipInput input) { if(registeredListener.compareAndSet(false, true)) { ownershipService.registerListener(ENTITY_TYPE, ownershipListener); } Entity entity = new Entity(ENTITY_TYPE, input.getCarId()); try { ownershipService.registerCandidate(entity); } catch (CandidateAlreadyRegisteredException e) { return RpcResultBuilder.<Void>failed().withError(ErrorType.APPLICATION, "Could not register for car " + input.getCarId(), e).buildFuture(); } return RpcResultBuilder.<Void>success().buildFuture(); }
@Override public Future<RpcResult<AdjustFlowOutput>> adjustFlow(AdjustFlowInput input) { List<Flow> adjustedFlows = new ArrayList<Flow>(); LOG.info("Mininet adjustFlow"); // TODO: finish this method, but for now just return the same flow that was received org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.didm.drivers.openflow.rev150211.adjust.flow.input.Flow flow = input.getFlow(); adjustedFlows.add(new FlowBuilder(flow).build()); AdjustFlowOutputBuilder outputBuilder = new AdjustFlowOutputBuilder(); outputBuilder.setFlow(adjustedFlows); AdjustFlowOutput rpcResultType = outputBuilder.build(); return Futures.immediateFuture(RpcResultBuilder .<AdjustFlowOutput>status(true).withResult(rpcResultType).build()); }
@Override public ListenableFuture<RpcResult<CreateGatewayOutput>> apply(Void submitResult) throws Exception { resultBuilder.withResult(outputBuilder); return Futures.immediateFuture(resultBuilder.build()); } }, executor);
@Override public Future<RpcResult<java.lang.Void>> registerLoggingDtcl() { LOG.info("Registering a new CarDataTreeChangeListener"); final ListenerRegistration<CarDataTreeChangeListener> carsDtclRegistration = dataProvider.registerDataTreeChangeListener(CARS_DTID, new CarDataTreeChangeListener()); if (carsDtclRegistration != null) { carsDtclRegistrations.add(carsDtclRegistration); return RpcResultBuilder.<Void>success().buildFuture(); } return RpcResultBuilder.<Void>failed().buildFuture(); }
public static <T> ListenableFuture<RpcResult<T>> closeRequestContextWithRpcError(final RequestContext<T> requestContext, final String errorMessage) { RpcResultBuilder<T> rpcResultBuilder = RpcResultBuilder.<T>failed().withRpcError(RpcResultBuilder.newError(RpcError.ErrorType.APPLICATION, "", errorMessage)); requestContext.setResult(rpcResultBuilder.build()); closeRequstContext(requestContext); return requestContext.getFuture(); }
/** * Create RcpError object * @param info * @param severity - error severity * @param message * @param cause - details of reason * @return */ static RpcError buildRpcError(final String info, final String message, final Throwable cause) { return RpcResultBuilder.newError(ErrorType.RPC, TAG, message, APPLICATION_TAG, info, cause); }
public Collection<RpcError> getRpcErrors() { final Collection<RpcError> rpcErrors = new ArrayList<>(); for (final RpcErrorData ed: rpcErrorDataList) { final RpcError rpcError = ed.severity == ErrorSeverity.ERROR ? RpcResultBuilder.newError(ed.errorType, ed.tag, ed.message, ed.applicationTag, ed.info, ed.cause) : RpcResultBuilder.newWarning(ed.errorType, ed.tag, ed.message, ed.applicationTag, ed.info, ed.cause); rpcErrors.add(rpcError); } return rpcErrors; } }
/** * Sets the value of the result. * * @param builder builder for the result value */ public RpcResultBuilder<T> withResult(final Builder<T> builder) { return withResult(builder.build()); }
@Override public void onFailure(final Throwable ex) { LOG.debug("Failed to commit Rule", ex); futureResult.set(RpcResultBuilder.<PauseStreamOutput> failed() .withRpcErrors(((TransactionCommitFailedException) ex).getErrorList()).build()); } });
@Override public Future<RpcResult<Void>> resetStats() { LOG.trace("resetStats called!!"); LispSouthboundStats stats = lispSbPlugin.getStats(); if (stats == null) { return Futures.immediateFuture(RpcResultBuilder.<Void>failed() .withError(RpcError.ErrorType.APPLICATION, "data-missing", "No stats found") .build()); } else { stats.resetStats(); return Futures.immediateFuture(RpcResultBuilder.<Void>success().build()); } }
@Override public Future<RpcResult<GetOperationalStatusOutput>> getOperationalStatus() { RpcResultBuilder<GetOperationalStatusOutput> rpcResultBuilder = RpcResultBuilder.success(); GetOperationalStatusOutputBuilder getOperationalStatusOutputBuilder = new GetOperationalStatusOutputBuilder(); getOperationalStatusOutputBuilder.setOperationalStatus(speakerInstance.getOperationalStatus()); rpcResultBuilder.withResult(getOperationalStatusOutputBuilder.build()); return Futures.immediateFuture(rpcResultBuilder.build()); } }