本文整理汇总了Java中org.osgi.util.promise.Promise.getValue方法的典型用法代码示例。如果您正苦于以下问题:Java Promise.getValue方法的具体用法?Java Promise.getValue怎么用?Java Promise.getValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.osgi.util.promise.Promise
的用法示例。
在下文中一共展示了Promise.getValue方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testInvokeFutureExceptionally
import org.osgi.util.promise.Promise; //导入方法依赖的package包/类
@Test
public void testInvokeFutureExceptionally() throws Exception {
Promise<String> promise = testService.exceptionPromise();
try{
promise.getValue();
fail("Must throw an exception");
} catch (InvocationTargetException e) {
assertTrue(e.getTargetException() instanceof IOException);
assertEquals("test", e.getCause().getMessage());
assertTrue(promise.getFailure() instanceof IOException);
}
}
示例2: testAsyncPromiseException
import org.osgi.util.promise.Promise; //导入方法依赖的package包/类
@Test(expected = ExpectedTestException.class)
public void testAsyncPromiseException() throws Throwable {
Promise<String> result = myServiceProxy.callAsyncPromise(-1);
try {
result.getValue();
} catch (InvocationTargetException e) {
throw e.getCause();
}
}
示例3: forward
import org.osgi.util.promise.Promise; //导入方法依赖的package包/类
@Override
public Tensor forward(Tensor input, String... tags){
Tensor result = null;
Promise<NeuralNetworkResult> p = forward(null, null, input, tags);
try {
if(p.getFailure()!=null){
throw new RuntimeException("Error forwarding input", p.getFailure());
}
result = p.getValue().tensor;
} catch(InterruptedException|InvocationTargetException e){
throw new RuntimeException("Error forwarding input", e);
}
return result;
}
示例4: backward
import org.osgi.util.promise.Promise; //导入方法依赖的package包/类
@Override
public Tensor backward(Tensor gradOutput, boolean accGradParameters, String... tags){
Tensor result = null;
Promise<NeuralNetworkResult> p = backward(null, null, gradOutput, accGradParameters, tags);
try {
if(p.getFailure()!=null){
throw new RuntimeException("Error back propagating gradOutput", p.getFailure());
}
result = p.getValue().tensor;
} catch(InterruptedException|InvocationTargetException e){
throw new RuntimeException("Error back propagating gradOutput", e);
}
return result;
}
示例5: testAsyncPromise
import org.osgi.util.promise.Promise; //导入方法依赖的package包/类
@Test
public void testAsyncPromise() throws Exception {
Promise<String> result = myServiceProxy.callAsyncPromise(100);
String answer = result.getValue();
assertEquals("Finished", answer);
}
示例6: executeAction
import org.osgi.util.promise.Promise; //导入方法依赖的package包/类
@Override
protected void executeAction(Tensor a) throws Exception {
int action = TensorOps.argmax(a);
if(TensorOps.max(a) == 0.0f) {
// no-op?
kukaPlatform.stop();
} else {
switch(action){
case 0:
kukaPlatform.move(0f, config.speed, 0f);
break;
case 1:
kukaPlatform.move(0f, -config.speed, 0f);
break;
case 2:
kukaPlatform.move(config.speed, 0f, 0f);
break;
case 3:
kukaPlatform.move(-config.speed, 0f, 0f);
break;
case 4:
kukaPlatform.move(0f, 0.f, 2*config.speed);
break;
case 5:
kukaPlatform.move(0f, 0.f, -2*config.speed);
break;
case 6:
grip = true;
kukaPlatform.stop();
if(config.earlyStop){
break;
}
Promise<Arm> result = kukaArm.openGripper()
.then(p -> kukaArm.setPositions(2.92f, 0.0f, 0.0f, 0.0f, 2.875f))
.then(p -> kukaArm.setPositions(2.92f, 1.76f, -1.37f, 2.55f))
.then(p -> kukaArm.closeGripper())
.then(p -> kukaArm.setPositions(0.01f, 0.8f))
.then(p -> kukaArm.setPositions(0.01f, 0.8f, -1f, 2.9f))
.then(p -> kukaArm.openGripper())
.then(p -> kukaArm.setPosition(1, -1.3f))
.then(p -> kukaArm.reset());
// in simulation keep on ticking to let the action complete
if(simulator != null){
for(int i=0;i<130;i++){
simulator.tick();
// stop when colliding
if(simulator.checkCollisions("Border")){
return;
}
}
} else {
// wait until grip is done
result.getValue();
}
break;
}
}
// simulate an iteration further
if(simulator != null){
for(int i=0;i<=config.skip;i++){
simulator.tick();
}
}
}
示例7: executeAction
import org.osgi.util.promise.Promise; //导入方法依赖的package包/类
@Override
protected void executeAction(Tensor a) throws Exception {
Tensor v = getVelocities(a);
if(TensorOps.dot(v, v) < config.stopThreshold) {
grip = true;
kukaPlatform.stop();
if(!super.config.earlyStop) {
Promise<Arm> result = kukaArm.openGripper()
.then(p -> kukaArm.setPositions(2.92f, 0.0f, 0.0f, 0.0f, 2.875f))
.then(p -> kukaArm.setPositions(2.92f, 1.76f, -1.37f, 2.55f))
.then(p -> kukaArm.closeGripper())
.then(p -> kukaArm.setPositions(0.01f, 0.8f))
.then(p -> kukaArm.setPositions(0.01f, 0.8f, -1f, 2.9f))
.then(p -> kukaArm.openGripper())
.then(p -> kukaArm.setPosition(1, -1.3f))
.then(p -> kukaArm.reset());
// in simulation keep on ticking to let the action complete
if(simulator != null){
for(int i=0;i<130;i++){
simulator.tick();
// stop when colliding
if(simulator.checkCollisions("Border")){
return;
}
}
} else {
// wait until grip is done
result.getValue();
}
}
} else {
float[] velocities = v.get();
kukaPlatform.move(velocities[0]*super.config.speed, velocities[1]*super.config.speed, velocities[2]*super.config.speed*2);
}
// simulate an iteration further
if(simulator != null){
for(int i=0;i<=super.config.skip;i++){
simulator.tick();
}
}
}