@Override public <T> ListenableFuture<T> submit(Runnable task, T result) { try { queueingPermits.acquire(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return Futures.immediateFailedCheckedFuture(e); } return super.submit(new RunnableWithPermitRelease(task), result); }
@Override public ListenableFuture<?> submit(Runnable task) { try { queueingPermits.acquire(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return Futures.immediateFailedCheckedFuture(e); } return super.submit(new RunnableWithPermitRelease(task)); }
@Override public <T> ListenableFuture<T> submit(Callable<T> task) { try { queueingPermits.acquire(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return Futures.immediateFailedCheckedFuture(e); } return super.submit(new CallableWithPermitRelease<>(task)); }
@GwtIncompatible // immediateFailedCheckedFuture public void testImmediateFailedCheckedFuture() throws Exception { MyException exception = new MyException(); CheckedFuture<String, MyException> future = immediateFailedCheckedFuture(exception); assertThat(future.toString()).endsWith("[status=FAILURE, cause=[" + exception + "]]"); try { future.get(0L, MILLISECONDS); fail(); } catch (ExecutionException expected) { assertSame(exception, expected.getCause()); } try { future.checkedGet(0L, MILLISECONDS); fail(); } catch (MyException expected) { assertSame(exception, expected); } }
UnknownDOMRpcRoutingTableEntry(final SchemaPath schemaPath, final Map<YangInstanceIdentifier, List<DOMRpcImplementation>> impls) { super(schemaPath, impls); unknownRpc = Futures.<DOMRpcResult, DOMRpcException>immediateFailedCheckedFuture( new DOMRpcImplementationNotAvailableException("SchemaPath %s is not resolved to an RPC", schemaPath)); }
@Override public <T> ListenableFuture<T> submit(Callable<T> task) { try { queueingPermits.acquire(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return Futures.immediateFailedCheckedFuture(e); } return super.submit(new CallableWithPermitRelease<>(task)); }
@Override public <T> ListenableFuture<T> submit(Runnable task, T result) { try { queueingPermits.acquire(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return Futures.immediateFailedCheckedFuture(e); } return super.submit(new RunnableWithPermitRelease(task), result); }
@Override public ListenableFuture<?> submit(Runnable task) { try { queueingPermits.acquire(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return Futures.immediateFailedCheckedFuture(e); } return super.submit(new RunnableWithPermitRelease(task)); }
@Override public <T> ListenableFuture<T> submit(Callable<T> task) { try { queueingPermits.acquire(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return Futures.immediateFailedCheckedFuture(e); } return super.submit(new CallableWithPermitRelease<>(task)); }
CheckedFuture<DOMRpcResult, DOMRpcException> invokeRpc(final SchemaPath type, final NormalizedNode<?, ?> input) { final AbstractDOMRpcRoutingTableEntry entry = rpcs.get(type); if (entry == null) { return Futures.<DOMRpcResult, DOMRpcException>immediateFailedCheckedFuture(new DOMRpcImplementationNotAvailableException("No implementation of RPC %s available", type)); } return entry.invokeRpc(input); }
@Override public CheckedFuture<Boolean, ReadFailedException> exists(final YangInstanceIdentifier path) { LOG.debug("Tx: {} Exists: {}", getIdentifier(), path); checkNotNull(path, "Path must not be null."); try { return Futures.immediateCheckedFuture(read(path).checkedGet().isPresent()); } catch (ReadFailedException e) { return Futures.immediateFailedCheckedFuture(e); } } }
@Override public CheckedFuture<Boolean, ReadFailedException> exists(final YangInstanceIdentifier path) { LOG.debug("Tx: {} Exists: {}", getIdentifier(), path); checkNotNull(path, "Path must not be null."); try { return Futures.immediateCheckedFuture(read(path).checkedGet().isPresent()); } catch (ReadFailedException e) { return Futures.immediateFailedCheckedFuture(e); } } }
@Deprecated @Override public ListenableFuture<RpcResult<TransactionStatus>> commit() { if (AuthzServiceImpl.isAuthorized(ActionType.Commit)) { return domDataWriteTransaction.commit(); } TransactionCommitFailedException e = new TransactionCommitFailedException( "Unauthorized User"); return Futures.immediateFailedCheckedFuture(e); }
@Override public CheckedFuture<Boolean, ReadFailedException> exists(final YangInstanceIdentifier path) { try { return Futures.immediateCheckedFuture( read(path).checkedGet().isPresent()); } catch (ReadFailedException e) { return Futures.immediateFailedCheckedFuture(e); } } }
@Override public CheckedFuture<Boolean, ReadFailedException> exists(final YangInstanceIdentifier path) { try { return Futures.immediateCheckedFuture( read(path).checkedGet().isPresent()); } catch (ReadFailedException e) { return Futures.immediateFailedCheckedFuture(e); } } }
@Override public CheckedFuture<Void, TransactionCommitFailedException> submit() { if (AuthzServiceImpl.isAuthorized(ActionType.Submit)) { return domDataReadWriteTransaction.submit(); } TransactionCommitFailedException e = new TransactionCommitFailedException( "Unauthorized User"); return Futures.immediateFailedCheckedFuture(e); }
@Override public CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> read( LogicalDatastoreType logicalDatastoreType, YangInstanceIdentifier yangInstanceIdentifier) { if (AuthzServiceImpl.isAuthorized(logicalDatastoreType, yangInstanceIdentifier, ActionType.Read)) { return ro.read(logicalDatastoreType, yangInstanceIdentifier); } ReadFailedException e = new ReadFailedException("Authorization Failed"); return Futures.immediateFailedCheckedFuture(e); }
@Override public CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> read( LogicalDatastoreType logicalDatastoreType, YangInstanceIdentifier yangInstanceIdentifier) { if (AuthzServiceImpl.isAuthorized(logicalDatastoreType, yangInstanceIdentifier, ActionType.Read)) { return domDataReadWriteTransaction.read(logicalDatastoreType, yangInstanceIdentifier); } ReadFailedException e = new ReadFailedException("Authorization Failed"); return Futures.immediateFailedCheckedFuture(e); }
@Override public CheckedFuture<Boolean, ReadFailedException> exists( LogicalDatastoreType logicalDatastoreType, YangInstanceIdentifier yangInstanceIdentifier) { if (AuthzServiceImpl.isAuthorized(logicalDatastoreType, yangInstanceIdentifier, ActionType.Exists)) { return domDataReadWriteTransaction.exists(logicalDatastoreType, yangInstanceIdentifier); } ReadFailedException e = new ReadFailedException("Authorization Failed"); return Futures.immediateFailedCheckedFuture(e); }
@Test(expected = SchemaSourceException.class) public void testGetNonExistentYangTextSchemaSource() throws Exception { Mockito.when(mockedLocalRepository.getSchemaSource(ID, YangTextSchemaSource.class)).thenReturn( Futures.immediateFailedCheckedFuture( new SchemaSourceException("Source is not provided"))); Future<YangTextSchemaSourceSerializationProxy> retrievedSourceFuture = remoteRepository.getYangTextSchemaSource(ID); assertTrue(retrievedSourceFuture.isCompleted()); Await.result(retrievedSourceFuture, FiniteDuration.Zero()); }