001// ______________________________________________________ 002// Generated by codegen - https://gitee.com/l0km/codegen 003// template: thrift/client_thrifty/perservice/client.service.decorator.class.vm 004// ______________________________________________________ 005package net.gdface.facedb.thrift; 006import java.nio.ByteBuffer; 007import java.util.Date; 008import java.util.List; 009import java.util.Map; 010import net.gdface.exception.NotFoundBeanException; 011import net.gdface.facedb.DuplicateRecordException; 012import net.gdface.facedb.FaceDb; 013import net.gdface.facedb.SearchResult; 014import net.gdface.facedb.db.FaceBean; 015import net.gdface.facedb.db.FeatureBean; 016import net.gdface.facedb.db.ImageBean; 017import net.gdface.image.ImageErrorException; 018import net.gdface.image.MatType; 019import net.gdface.sdk.CodeInfo; 020import net.gdface.sdk.CompareResult; 021import net.gdface.sdk.NotFaceDetectedException; 022import net.gdface.thrift.TypeTransformer; 023 024import java.io.IOException; 025import java.util.concurrent.atomic.AtomicReference; 026import net.gdface.thrift.ClientFactory; 027import com.google.common.base.Function; 028import com.google.common.base.Throwables; 029import com.google.common.net.HostAndPort; 030import com.microsoft.thrifty.service.AsyncClientBase; 031import com.microsoft.thrifty.service.ServiceMethodCallback; 032 033import static com.google.common.base.Preconditions.*; 034import static net.gdface.thrift.ThriftUtils.returnNull; 035/** 036 * 基于thrift/swift框架生成的client端代码提供{@link FaceDb}接口的RPC实现(线程安全)<br> 037 * 转发所有{@link FaceDb}接口方法到{@link net.gdface.facedb.thrift.client.FaceDbClient}实例<br> 038 * 所有服务端抛出的{@link RuntimeException}异常被封装到{@link ServiceRuntimeException}中抛出<br> 039 * Example:<br> 040 * <pre> 041 * FaceDbThriftClient thriftInstance = ClientFactory 042 * .builder() 043 * .setHostAndPort("127.0.0.1",26413) 044 * .build(FaceDbThriftClient.class); 045 * </pre> 046 * 计算机生成代码(generated by automated tools ThriftServiceDecoratorGenerator @author guyadong)<br> 047 * @author guyadong 048 * 049 */ 050public class FaceDbThriftClient implements FaceDb { 051 private final ClientFactory factory; 052 053 public ClientFactory getFactory() { 054 return factory; 055 } 056 public FaceDbThriftClient(ClientFactory factory) { 057 super(); 058 this.factory = checkNotNull(factory,"factory is null"); 059 } 060 /** 061 * @param host RPC service host 062 * @param port RPC service port 063 */ 064 public FaceDbThriftClient(String host,int port) { 065 this(ClientFactory.builder().setHostAndPort(host,port)); 066 } 067 /** 068 * @param hostAndPort RPC service host and port 069 */ 070 public FaceDbThriftClient(HostAndPort hostAndPort) { 071 this(ClientFactory.builder().setHostAndPort(hostAndPort)); 072 } 073 /** 074 * test if connectable for RPC service 075 * @return return {@code true} if connectable ,otherwise {@code false} 076 */ 077 public boolean testConnect(){ 078 return factory.testConnect(); 079 } 080 /** 081 * 服务异步调用接口 082 * 083 * @param <T> 084 */ 085 private interface ServiceAsyncCall<T> { 086 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<T> callback); 087 } 088 /** 089 * 异常调用转同步调用实现 090 * @param transformer 091 * @param serviceCall 092 * @return R 返回值对象 093 * @throws Throwable 094 */ 095 private <R,L>R syncCall(final Function<L, R> transformer,final ServiceAsyncCall<L> serviceCall) throws Throwable{ 096 final AtomicReference<R> res = new AtomicReference<R>(null); 097 final AtomicReference<Throwable> err = new AtomicReference<Throwable>(null); 098 /* 异步调用结束标志信号量 */ 099 final Object lock = new Object(); 100 final ServiceMethodCallback<L> callback = new ServiceMethodCallback<L>() { 101 102 @Override 103 public void onSuccess(L result) { 104 res.set(transformer.apply(result)); 105 /* 异步调用结束,唤醒等待线程 */ 106 synchronized(lock){ 107 lock.notifyAll(); 108 } 109 } 110 111 @Override 112 public void onError(Throwable error) { 113 err.set(error); 114 /* 异步调用结束,唤醒等待线程 */ 115 synchronized(lock){ 116 lock.notifyAll(); 117 } 118 } 119 }; 120 /* 连接关闭侦听器当检测到异常时调用callback来处理 */ 121 AsyncClientBase.Listener closeListener = new AsyncClientBase.Listener(){ 122 @Override 123 public void onTransportClosed() { 124 } 125 126 @Override 127 public void onError(Throwable error) { 128 callback.onError(error); 129 }}; 130 net.gdface.facedb.thrift.client.FaceDbClient service = factory.applyInstance(net.gdface.facedb.thrift.client.FaceDbClient.class,closeListener); 131 132 synchronized(lock){ 133 try { 134 serviceCall.call(service,callback); 135 /* 等待异步调用结束 */ 136 lock.wait(); 137 } catch (InterruptedException e) { 138 err.set(e); 139 } finally{ 140 try { 141 /* 调用结束关闭连接 */ 142 service.close(); 143 } catch (IOException e) {} 144 } 145 } 146 Throwable e = err.get(); 147 if(null != e){ 148 /** 判断异常类型返回null */ 149 returnNull(e); 150 } 151 return res.get(); 152 } 153 @Override 154 public String toString() { 155 StringBuilder builder = new StringBuilder(); 156 builder.append("FaceDbThriftClient [factory="); 157 builder.append(factory); 158 builder.append(",interface="); 159 builder.append(FaceDb.class.getName()); 160 builder.append("]"); 161 return builder.toString(); 162 } 163 @Override 164 public FeatureBean addFeature(final byte[] feature, 165 final Map<ByteBuffer, CodeInfo> faces) 166 throws DuplicateRecordException{ 167 try{ 168 return syncCall(new Function<net.gdface.facedb.thrift.client.FeatureBean,FeatureBean>() { 169 @Override 170 public FeatureBean apply(net.gdface.facedb.thrift.client.FeatureBean input) { 171 return TypeTransformer.getInstance().to( 172 input, 173 net.gdface.facedb.thrift.client.FeatureBean.class, 174 FeatureBean.class); 175 }}, 176 new ServiceAsyncCall<net.gdface.facedb.thrift.client.FeatureBean>(){ 177 @Override 178 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.FeatureBean> nativeCallback){ 179 service.addFeature(TypeTransformer.getInstance().to( 180 feature, 181 byte[].class, 182 okio.ByteString.class),TypeTransformer.getInstance().to( 183 faces, 184 ByteBuffer.class, 185 CodeInfo.class, 186 okio.ByteString.class, 187 net.gdface.facedb.thrift.client.CodeInfo.class),nativeCallback); 188 }}); 189 } 190 catch(net.gdface.facedb.thrift.client.DuplicateRecordException e){ 191 throw TypeTransformer.getInstance().to( 192 e, 193 net.gdface.facedb.thrift.client.DuplicateRecordException.class, 194 DuplicateRecordException.class); 195 } 196 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 197 throw new ServiceRuntimeException(e); 198 } 199 catch (Throwable e) { 200 Throwables.throwIfUnchecked(e); 201 throw new RuntimeException(e); 202 } 203 } 204 @Override 205 public ImageBean addImage(final byte[] imgData, 206 final List<CodeInfo> features) 207 throws DuplicateRecordException{ 208 try{ 209 return syncCall(new Function<net.gdface.facedb.thrift.client.ImageBean,ImageBean>() { 210 @Override 211 public ImageBean apply(net.gdface.facedb.thrift.client.ImageBean input) { 212 return TypeTransformer.getInstance().to( 213 input, 214 net.gdface.facedb.thrift.client.ImageBean.class, 215 ImageBean.class); 216 }}, 217 new ServiceAsyncCall<net.gdface.facedb.thrift.client.ImageBean>(){ 218 @Override 219 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.ImageBean> nativeCallback){ 220 service.addImage(TypeTransformer.getInstance().to( 221 imgData, 222 byte[].class, 223 okio.ByteString.class),TypeTransformer.getInstance().to( 224 features, 225 CodeInfo.class, 226 net.gdface.facedb.thrift.client.CodeInfo.class),nativeCallback); 227 }}); 228 } 229 catch(net.gdface.facedb.thrift.client.DuplicateRecordException e){ 230 throw TypeTransformer.getInstance().to( 231 e, 232 net.gdface.facedb.thrift.client.DuplicateRecordException.class, 233 DuplicateRecordException.class); 234 } 235 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 236 throw new ServiceRuntimeException(e); 237 } 238 catch (Throwable e) { 239 Throwables.throwIfUnchecked(e); 240 throw new RuntimeException(e); 241 } 242 } 243 @Override 244 public ImageBean addImageIfAbsent(final byte[] imgData, 245 final CodeInfo code, 246 final double similarty) 247 throws ImageErrorException,NotFaceDetectedException{ 248 try{ 249 return syncCall(new Function<net.gdface.facedb.thrift.client.ImageBean,ImageBean>() { 250 @Override 251 public ImageBean apply(net.gdface.facedb.thrift.client.ImageBean input) { 252 return TypeTransformer.getInstance().to( 253 input, 254 net.gdface.facedb.thrift.client.ImageBean.class, 255 ImageBean.class); 256 }}, 257 new ServiceAsyncCall<net.gdface.facedb.thrift.client.ImageBean>(){ 258 @Override 259 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.ImageBean> nativeCallback){ 260 service.addImageIfAbsent(TypeTransformer.getInstance().to( 261 imgData, 262 byte[].class, 263 okio.ByteString.class),TypeTransformer.getInstance().to( 264 code, 265 CodeInfo.class, 266 net.gdface.facedb.thrift.client.CodeInfo.class),similarty,nativeCallback); 267 }}); 268 } 269 catch(net.gdface.facedb.thrift.client.ImageErrorException e){ 270 throw TypeTransformer.getInstance().to( 271 e, 272 net.gdface.facedb.thrift.client.ImageErrorException.class, 273 ImageErrorException.class); 274 } 275 catch(net.gdface.facedb.thrift.client.NotFaceDetectedException e){ 276 throw TypeTransformer.getInstance().to( 277 e, 278 net.gdface.facedb.thrift.client.NotFaceDetectedException.class, 279 NotFaceDetectedException.class); 280 } 281 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 282 throw new ServiceRuntimeException(e); 283 } 284 catch (Throwable e) { 285 Throwables.throwIfUnchecked(e); 286 throw new RuntimeException(e); 287 } 288 } 289 @Override 290 public double[] compareFaces(final String featureId, 291 final byte[] imgData, 292 final CodeInfo[] facePos) 293 throws NotFoundBeanException,NotFaceDetectedException{ 294 try{ 295 return syncCall(new Function<java.util.List<Double>,double[]>() { 296 @Override 297 public double[] apply(java.util.List<Double> input) { 298 return TypeTransformer.getInstance().todoubleArray( 299 input, 300 double.class, 301 double.class); 302 }}, 303 new ServiceAsyncCall<java.util.List<Double>>(){ 304 @Override 305 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<java.util.List<Double>> nativeCallback){ 306 service.compareFaces(featureId,TypeTransformer.getInstance().to( 307 imgData, 308 byte[].class, 309 okio.ByteString.class),TypeTransformer.getInstance().to( 310 facePos, 311 CodeInfo.class, 312 net.gdface.facedb.thrift.client.CodeInfo.class),nativeCallback); 313 }}); 314 } 315 catch(net.gdface.facedb.thrift.client.NotFoundBeanException e){ 316 throw TypeTransformer.getInstance().to( 317 e, 318 net.gdface.facedb.thrift.client.NotFoundBeanException.class, 319 NotFoundBeanException.class); 320 } 321 catch(net.gdface.facedb.thrift.client.NotFaceDetectedException e){ 322 throw TypeTransformer.getInstance().to( 323 e, 324 net.gdface.facedb.thrift.client.NotFaceDetectedException.class, 325 NotFaceDetectedException.class); 326 } 327 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 328 throw new ServiceRuntimeException(e); 329 } 330 catch (Throwable e) { 331 Throwables.throwIfUnchecked(e); 332 throw new RuntimeException(e); 333 } 334 } 335 @Override 336 public double compareFeature(final String featureId, 337 final byte[] feature) 338 throws NotFoundBeanException{ 339 try{ 340 return syncCall(new Function<Double,Double>() { 341 @Override 342 public Double apply(Double input) { 343 return input; 344 }}, 345 new ServiceAsyncCall<Double>(){ 346 @Override 347 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Double> nativeCallback){ 348 service.compareFeature(featureId,TypeTransformer.getInstance().to( 349 feature, 350 byte[].class, 351 okio.ByteString.class),nativeCallback); 352 }}); 353 } 354 catch(net.gdface.facedb.thrift.client.NotFoundBeanException e){ 355 throw TypeTransformer.getInstance().to( 356 e, 357 net.gdface.facedb.thrift.client.NotFoundBeanException.class, 358 NotFoundBeanException.class); 359 } 360 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 361 throw new ServiceRuntimeException(e); 362 } 363 catch (Throwable e) { 364 Throwables.throwIfUnchecked(e); 365 throw new RuntimeException(e); 366 } 367 } 368 @Override 369 public double compareFeatureId(final String featureId1, 370 final String featureId2) 371 throws NotFoundBeanException{ 372 try{ 373 return syncCall(new Function<Double,Double>() { 374 @Override 375 public Double apply(Double input) { 376 return input; 377 }}, 378 new ServiceAsyncCall<Double>(){ 379 @Override 380 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Double> nativeCallback){ 381 service.compareFeatureId(featureId1,featureId2,nativeCallback); 382 }}); 383 } 384 catch(net.gdface.facedb.thrift.client.NotFoundBeanException e){ 385 throw TypeTransformer.getInstance().to( 386 e, 387 net.gdface.facedb.thrift.client.NotFoundBeanException.class, 388 NotFoundBeanException.class); 389 } 390 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 391 throw new ServiceRuntimeException(e); 392 } 393 catch (Throwable e) { 394 Throwables.throwIfUnchecked(e); 395 throw new RuntimeException(e); 396 } 397 } 398 @Override 399 public double[] compareFeatures(final String featureId, 400 final CodeInfo[] features) 401 throws NotFoundBeanException{ 402 try{ 403 return syncCall(new Function<java.util.List<Double>,double[]>() { 404 @Override 405 public double[] apply(java.util.List<Double> input) { 406 return TypeTransformer.getInstance().todoubleArray( 407 input, 408 double.class, 409 double.class); 410 }}, 411 new ServiceAsyncCall<java.util.List<Double>>(){ 412 @Override 413 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<java.util.List<Double>> nativeCallback){ 414 service.compareFeatures(featureId,TypeTransformer.getInstance().to( 415 features, 416 CodeInfo.class, 417 net.gdface.facedb.thrift.client.CodeInfo.class),nativeCallback); 418 }}); 419 } 420 catch(net.gdface.facedb.thrift.client.NotFoundBeanException e){ 421 throw TypeTransformer.getInstance().to( 422 e, 423 net.gdface.facedb.thrift.client.NotFoundBeanException.class, 424 NotFoundBeanException.class); 425 } 426 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 427 throw new ServiceRuntimeException(e); 428 } 429 catch (Throwable e) { 430 Throwables.throwIfUnchecked(e); 431 throw new RuntimeException(e); 432 } 433 } 434 @Override 435 public Map<String, String> dbCapacity() 436 { 437 try{ 438 return syncCall(new Function<Map<String,String>,Map<String, String>>() { 439 @Override 440 public Map<String, String> apply(Map<String,String> input) { 441 return TypeTransformer.getInstance().to( 442 input, 443 String.class, 444 String.class, 445 String.class, 446 String.class); 447 }}, 448 new ServiceAsyncCall<Map<String,String>>(){ 449 @Override 450 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Map<String,String>> nativeCallback){ 451 service.dbCapacity(nativeCallback); 452 }}); 453 } 454 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 455 throw new ServiceRuntimeException(e); 456 } 457 catch (Throwable e) { 458 Throwables.throwIfUnchecked(e); 459 throw new RuntimeException(e); 460 } 461 } 462 @Override 463 public boolean deleteFeature(final String featureId, 464 final boolean cascade) 465 { 466 try{ 467 return syncCall(new Function<Boolean,Boolean>() { 468 @Override 469 public Boolean apply(Boolean input) { 470 return input; 471 }}, 472 new ServiceAsyncCall<Boolean>(){ 473 @Override 474 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Boolean> nativeCallback){ 475 service.deleteFeature(featureId,cascade,nativeCallback); 476 }}); 477 } 478 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 479 throw new ServiceRuntimeException(e); 480 } 481 catch (Throwable e) { 482 Throwables.throwIfUnchecked(e); 483 throw new RuntimeException(e); 484 } 485 } 486 @Override 487 public int deleteFeatures(final List<String> featureIdList, 488 final boolean cascade) 489 { 490 try{ 491 return syncCall(new Function<Integer,Integer>() { 492 @Override 493 public Integer apply(Integer input) { 494 return input; 495 }}, 496 new ServiceAsyncCall<Integer>(){ 497 @Override 498 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Integer> nativeCallback){ 499 service.deleteFeatures(featureIdList,cascade,nativeCallback); 500 }}); 501 } 502 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 503 throw new ServiceRuntimeException(e); 504 } 505 catch (Throwable e) { 506 Throwables.throwIfUnchecked(e); 507 throw new RuntimeException(e); 508 } 509 } 510 @Override 511 public boolean deleteImage(final String imgMd5, 512 final boolean cascade) 513 { 514 try{ 515 return syncCall(new Function<Boolean,Boolean>() { 516 @Override 517 public Boolean apply(Boolean input) { 518 return input; 519 }}, 520 new ServiceAsyncCall<Boolean>(){ 521 @Override 522 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Boolean> nativeCallback){ 523 service.deleteImage(imgMd5,cascade,nativeCallback); 524 }}); 525 } 526 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 527 throw new ServiceRuntimeException(e); 528 } 529 catch (Throwable e) { 530 Throwables.throwIfUnchecked(e); 531 throw new RuntimeException(e); 532 } 533 } 534 @Override 535 public int deleteImages(final List<String> imgMd5List, 536 final boolean cascade) 537 { 538 try{ 539 return syncCall(new Function<Integer,Integer>() { 540 @Override 541 public Integer apply(Integer input) { 542 return input; 543 }}, 544 new ServiceAsyncCall<Integer>(){ 545 @Override 546 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Integer> nativeCallback){ 547 service.deleteImages(imgMd5List,cascade,nativeCallback); 548 }}); 549 } 550 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 551 throw new ServiceRuntimeException(e); 552 } 553 catch (Throwable e) { 554 Throwables.throwIfUnchecked(e); 555 throw new RuntimeException(e); 556 } 557 } 558 @Override 559 public ImageBean detectAndAddFeatures(final byte[] imgData, 560 final int faceNum) 561 throws DuplicateRecordException,ImageErrorException,NotFaceDetectedException{ 562 try{ 563 return syncCall(new Function<net.gdface.facedb.thrift.client.ImageBean,ImageBean>() { 564 @Override 565 public ImageBean apply(net.gdface.facedb.thrift.client.ImageBean input) { 566 return TypeTransformer.getInstance().to( 567 input, 568 net.gdface.facedb.thrift.client.ImageBean.class, 569 ImageBean.class); 570 }}, 571 new ServiceAsyncCall<net.gdface.facedb.thrift.client.ImageBean>(){ 572 @Override 573 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.ImageBean> nativeCallback){ 574 service.detectAndAddFeatures(TypeTransformer.getInstance().to( 575 imgData, 576 byte[].class, 577 okio.ByteString.class),faceNum,nativeCallback); 578 }}); 579 } 580 catch(net.gdface.facedb.thrift.client.DuplicateRecordException e){ 581 throw TypeTransformer.getInstance().to( 582 e, 583 net.gdface.facedb.thrift.client.DuplicateRecordException.class, 584 DuplicateRecordException.class); 585 } 586 catch(net.gdface.facedb.thrift.client.ImageErrorException e){ 587 throw TypeTransformer.getInstance().to( 588 e, 589 net.gdface.facedb.thrift.client.ImageErrorException.class, 590 ImageErrorException.class); 591 } 592 catch(net.gdface.facedb.thrift.client.NotFaceDetectedException e){ 593 throw TypeTransformer.getInstance().to( 594 e, 595 net.gdface.facedb.thrift.client.NotFaceDetectedException.class, 596 NotFaceDetectedException.class); 597 } 598 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 599 throw new ServiceRuntimeException(e); 600 } 601 catch (Throwable e) { 602 Throwables.throwIfUnchecked(e); 603 throw new RuntimeException(e); 604 } 605 } 606 @Override 607 public CompareResult detectAndCompareFaces(final String featureId, 608 final byte[] imgData, 609 final int faceNum) 610 throws NotFoundBeanException,ImageErrorException,NotFaceDetectedException{ 611 try{ 612 return syncCall(new Function<net.gdface.facedb.thrift.client.CompareResult,CompareResult>() { 613 @Override 614 public CompareResult apply(net.gdface.facedb.thrift.client.CompareResult input) { 615 return TypeTransformer.getInstance().to( 616 input, 617 net.gdface.facedb.thrift.client.CompareResult.class, 618 CompareResult.class); 619 }}, 620 new ServiceAsyncCall<net.gdface.facedb.thrift.client.CompareResult>(){ 621 @Override 622 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.CompareResult> nativeCallback){ 623 service.detectAndCompareFaces(featureId,TypeTransformer.getInstance().to( 624 imgData, 625 byte[].class, 626 okio.ByteString.class),faceNum,nativeCallback); 627 }}); 628 } 629 catch(net.gdface.facedb.thrift.client.NotFoundBeanException e){ 630 throw TypeTransformer.getInstance().to( 631 e, 632 net.gdface.facedb.thrift.client.NotFoundBeanException.class, 633 NotFoundBeanException.class); 634 } 635 catch(net.gdface.facedb.thrift.client.ImageErrorException e){ 636 throw TypeTransformer.getInstance().to( 637 e, 638 net.gdface.facedb.thrift.client.ImageErrorException.class, 639 ImageErrorException.class); 640 } 641 catch(net.gdface.facedb.thrift.client.NotFaceDetectedException e){ 642 throw TypeTransformer.getInstance().to( 643 e, 644 net.gdface.facedb.thrift.client.NotFaceDetectedException.class, 645 NotFaceDetectedException.class); 646 } 647 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 648 throw new ServiceRuntimeException(e); 649 } 650 catch (Throwable e) { 651 Throwables.throwIfUnchecked(e); 652 throw new RuntimeException(e); 653 } 654 } 655 @Override 656 public CodeInfo[] detectAndGetCodeInfo(final byte[] imgData) 657 throws ImageErrorException{ 658 try{ 659 return syncCall(new Function<java.util.List<net.gdface.facedb.thrift.client.CodeInfo>,CodeInfo[]>() { 660 @Override 661 public CodeInfo[] apply(java.util.List<net.gdface.facedb.thrift.client.CodeInfo> input) { 662 return TypeTransformer.getInstance().toArray( 663 input, 664 net.gdface.facedb.thrift.client.CodeInfo.class, 665 CodeInfo.class); 666 }}, 667 new ServiceAsyncCall<java.util.List<net.gdface.facedb.thrift.client.CodeInfo>>(){ 668 @Override 669 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<java.util.List<net.gdface.facedb.thrift.client.CodeInfo>> nativeCallback){ 670 service.detectAndGetCodeInfo(TypeTransformer.getInstance().to( 671 imgData, 672 byte[].class, 673 okio.ByteString.class),nativeCallback); 674 }}); 675 } 676 catch(net.gdface.facedb.thrift.client.ImageErrorException e){ 677 throw TypeTransformer.getInstance().to( 678 e, 679 net.gdface.facedb.thrift.client.ImageErrorException.class, 680 ImageErrorException.class); 681 } 682 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 683 throw new ServiceRuntimeException(e); 684 } 685 catch (Throwable e) { 686 Throwables.throwIfUnchecked(e); 687 throw new RuntimeException(e); 688 } 689 } 690 @Override 691 public CodeInfo[] detectAndGetCodeInfo(final MatType matType, 692 final byte[] matData, 693 final int width, 694 final int height) 695 throws ImageErrorException{ 696 try{ 697 return syncCall(new Function<java.util.List<net.gdface.facedb.thrift.client.CodeInfo>,CodeInfo[]>() { 698 @Override 699 public CodeInfo[] apply(java.util.List<net.gdface.facedb.thrift.client.CodeInfo> input) { 700 return TypeTransformer.getInstance().toArray( 701 input, 702 net.gdface.facedb.thrift.client.CodeInfo.class, 703 CodeInfo.class); 704 }}, 705 new ServiceAsyncCall<java.util.List<net.gdface.facedb.thrift.client.CodeInfo>>(){ 706 @Override 707 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<java.util.List<net.gdface.facedb.thrift.client.CodeInfo>> nativeCallback){ 708 service.detectAndGetCodeInfoMat(TypeTransformer.getInstance().to( 709 matType, 710 MatType.class, 711 net.gdface.facedb.thrift.client.MatType.class),TypeTransformer.getInstance().to( 712 matData, 713 byte[].class, 714 okio.ByteString.class),width,height,nativeCallback); 715 }}); 716 } 717 catch(net.gdface.facedb.thrift.client.ImageErrorException e){ 718 throw TypeTransformer.getInstance().to( 719 e, 720 net.gdface.facedb.thrift.client.ImageErrorException.class, 721 ImageErrorException.class); 722 } 723 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 724 throw new ServiceRuntimeException(e); 725 } 726 catch (Throwable e) { 727 Throwables.throwIfUnchecked(e); 728 throw new RuntimeException(e); 729 } 730 } 731 @Override 732 public SearchResult[] detectAndSearchFaces(final byte[] imgData, 733 final double similarty, 734 final int rows, 735 final String where) 736 throws ImageErrorException,NotFaceDetectedException{ 737 try{ 738 return syncCall(new Function<java.util.List<net.gdface.facedb.thrift.client.SearchResult>,SearchResult[]>() { 739 @Override 740 public SearchResult[] apply(java.util.List<net.gdface.facedb.thrift.client.SearchResult> input) { 741 return TypeTransformer.getInstance().toArray( 742 input, 743 net.gdface.facedb.thrift.client.SearchResult.class, 744 SearchResult.class); 745 }}, 746 new ServiceAsyncCall<java.util.List<net.gdface.facedb.thrift.client.SearchResult>>(){ 747 @Override 748 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<java.util.List<net.gdface.facedb.thrift.client.SearchResult>> nativeCallback){ 749 service.detectAndSearchFaces(TypeTransformer.getInstance().to( 750 imgData, 751 byte[].class, 752 okio.ByteString.class),similarty,rows,where,nativeCallback); 753 }}); 754 } 755 catch(net.gdface.facedb.thrift.client.ImageErrorException e){ 756 throw TypeTransformer.getInstance().to( 757 e, 758 net.gdface.facedb.thrift.client.ImageErrorException.class, 759 ImageErrorException.class); 760 } 761 catch(net.gdface.facedb.thrift.client.NotFaceDetectedException e){ 762 throw TypeTransformer.getInstance().to( 763 e, 764 net.gdface.facedb.thrift.client.NotFaceDetectedException.class, 765 NotFaceDetectedException.class); 766 } 767 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 768 throw new ServiceRuntimeException(e); 769 } 770 catch (Throwable e) { 771 Throwables.throwIfUnchecked(e); 772 throw new RuntimeException(e); 773 } 774 } 775 @Override 776 public CodeInfo getCodeInfo(final int faceId) 777 { 778 try{ 779 return syncCall(new Function<net.gdface.facedb.thrift.client.CodeInfo,CodeInfo>() { 780 @Override 781 public CodeInfo apply(net.gdface.facedb.thrift.client.CodeInfo input) { 782 return TypeTransformer.getInstance().to( 783 input, 784 net.gdface.facedb.thrift.client.CodeInfo.class, 785 CodeInfo.class); 786 }}, 787 new ServiceAsyncCall<net.gdface.facedb.thrift.client.CodeInfo>(){ 788 @Override 789 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.CodeInfo> nativeCallback){ 790 service.getCodeInfo(faceId,nativeCallback); 791 }}); 792 } 793 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 794 throw new ServiceRuntimeException(e); 795 } 796 catch (Throwable e) { 797 Throwables.throwIfUnchecked(e); 798 throw new RuntimeException(e); 799 } 800 } 801 @Override 802 public CodeInfo getCodeInfoByFeatureId(final String featureId) 803 { 804 try{ 805 return syncCall(new Function<net.gdface.facedb.thrift.client.CodeInfo,CodeInfo>() { 806 @Override 807 public CodeInfo apply(net.gdface.facedb.thrift.client.CodeInfo input) { 808 return TypeTransformer.getInstance().to( 809 input, 810 net.gdface.facedb.thrift.client.CodeInfo.class, 811 CodeInfo.class); 812 }}, 813 new ServiceAsyncCall<net.gdface.facedb.thrift.client.CodeInfo>(){ 814 @Override 815 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.CodeInfo> nativeCallback){ 816 service.getCodeInfoByFeatureId(featureId,nativeCallback); 817 }}); 818 } 819 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 820 throw new ServiceRuntimeException(e); 821 } 822 catch (Throwable e) { 823 Throwables.throwIfUnchecked(e); 824 throw new RuntimeException(e); 825 } 826 } 827 @Override 828 public CodeInfo getCodeInfoByImageMd5(final String imageMd5) 829 { 830 try{ 831 return syncCall(new Function<net.gdface.facedb.thrift.client.CodeInfo,CodeInfo>() { 832 @Override 833 public CodeInfo apply(net.gdface.facedb.thrift.client.CodeInfo input) { 834 return TypeTransformer.getInstance().to( 835 input, 836 net.gdface.facedb.thrift.client.CodeInfo.class, 837 CodeInfo.class); 838 }}, 839 new ServiceAsyncCall<net.gdface.facedb.thrift.client.CodeInfo>(){ 840 @Override 841 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.CodeInfo> nativeCallback){ 842 service.getCodeInfoByImageMd5(imageMd5,nativeCallback); 843 }}); 844 } 845 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 846 throw new ServiceRuntimeException(e); 847 } 848 catch (Throwable e) { 849 Throwables.throwIfUnchecked(e); 850 throw new RuntimeException(e); 851 } 852 } 853 @Override 854 public List<CodeInfo> getCodeInfosByFeatureId(final String featureId) 855 { 856 try{ 857 return syncCall(new Function<List<net.gdface.facedb.thrift.client.CodeInfo>,List<CodeInfo>>() { 858 @Override 859 public List<CodeInfo> apply(List<net.gdface.facedb.thrift.client.CodeInfo> input) { 860 return TypeTransformer.getInstance().to( 861 input, 862 net.gdface.facedb.thrift.client.CodeInfo.class, 863 CodeInfo.class); 864 }}, 865 new ServiceAsyncCall<List<net.gdface.facedb.thrift.client.CodeInfo>>(){ 866 @Override 867 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<net.gdface.facedb.thrift.client.CodeInfo>> nativeCallback){ 868 service.getCodeInfosByFeatureId(featureId,nativeCallback); 869 }}); 870 } 871 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 872 throw new ServiceRuntimeException(e); 873 } 874 catch (Throwable e) { 875 Throwables.throwIfUnchecked(e); 876 throw new RuntimeException(e); 877 } 878 } 879 @Override 880 public List<CodeInfo> getCodeInfosByImageMd5(final String imageMd5) 881 { 882 try{ 883 return syncCall(new Function<List<net.gdface.facedb.thrift.client.CodeInfo>,List<CodeInfo>>() { 884 @Override 885 public List<CodeInfo> apply(List<net.gdface.facedb.thrift.client.CodeInfo> input) { 886 return TypeTransformer.getInstance().to( 887 input, 888 net.gdface.facedb.thrift.client.CodeInfo.class, 889 CodeInfo.class); 890 }}, 891 new ServiceAsyncCall<List<net.gdface.facedb.thrift.client.CodeInfo>>(){ 892 @Override 893 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<net.gdface.facedb.thrift.client.CodeInfo>> nativeCallback){ 894 service.getCodeInfosByImageMd5(imageMd5,nativeCallback); 895 }}); 896 } 897 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 898 throw new ServiceRuntimeException(e); 899 } 900 catch (Throwable e) { 901 Throwables.throwIfUnchecked(e); 902 throw new RuntimeException(e); 903 } 904 } 905 @Override 906 public FaceBean getFace(final int faceId) 907 { 908 try{ 909 return syncCall(new Function<net.gdface.facedb.thrift.client.FaceBean,FaceBean>() { 910 @Override 911 public FaceBean apply(net.gdface.facedb.thrift.client.FaceBean input) { 912 return TypeTransformer.getInstance().to( 913 input, 914 net.gdface.facedb.thrift.client.FaceBean.class, 915 FaceBean.class); 916 }}, 917 new ServiceAsyncCall<net.gdface.facedb.thrift.client.FaceBean>(){ 918 @Override 919 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.FaceBean> nativeCallback){ 920 service.getFace(faceId,nativeCallback); 921 }}); 922 } 923 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 924 throw new ServiceRuntimeException(e); 925 } 926 catch (Throwable e) { 927 Throwables.throwIfUnchecked(e); 928 throw new RuntimeException(e); 929 } 930 } 931 @Override 932 public FaceBean getFaceByFeatureId(final String featureId) 933 { 934 try{ 935 return syncCall(new Function<net.gdface.facedb.thrift.client.FaceBean,FaceBean>() { 936 @Override 937 public FaceBean apply(net.gdface.facedb.thrift.client.FaceBean input) { 938 return TypeTransformer.getInstance().to( 939 input, 940 net.gdface.facedb.thrift.client.FaceBean.class, 941 FaceBean.class); 942 }}, 943 new ServiceAsyncCall<net.gdface.facedb.thrift.client.FaceBean>(){ 944 @Override 945 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.FaceBean> nativeCallback){ 946 service.getFaceByFeatureId(featureId,nativeCallback); 947 }}); 948 } 949 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 950 throw new ServiceRuntimeException(e); 951 } 952 catch (Throwable e) { 953 Throwables.throwIfUnchecked(e); 954 throw new RuntimeException(e); 955 } 956 } 957 @Override 958 public FaceBean getFaceByImageMd5(final String imageMd5) 959 { 960 try{ 961 return syncCall(new Function<net.gdface.facedb.thrift.client.FaceBean,FaceBean>() { 962 @Override 963 public FaceBean apply(net.gdface.facedb.thrift.client.FaceBean input) { 964 return TypeTransformer.getInstance().to( 965 input, 966 net.gdface.facedb.thrift.client.FaceBean.class, 967 FaceBean.class); 968 }}, 969 new ServiceAsyncCall<net.gdface.facedb.thrift.client.FaceBean>(){ 970 @Override 971 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.FaceBean> nativeCallback){ 972 service.getFaceByImageMd5(imageMd5,nativeCallback); 973 }}); 974 } 975 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 976 throw new ServiceRuntimeException(e); 977 } 978 catch (Throwable e) { 979 Throwables.throwIfUnchecked(e); 980 throw new RuntimeException(e); 981 } 982 } 983 @Override 984 public int getFaceCount(final String where) 985 { 986 try{ 987 return syncCall(new Function<Integer,Integer>() { 988 @Override 989 public Integer apply(Integer input) { 990 return input; 991 }}, 992 new ServiceAsyncCall<Integer>(){ 993 @Override 994 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Integer> nativeCallback){ 995 service.getFaceCount(where,nativeCallback); 996 }}); 997 } 998 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 999 throw new ServiceRuntimeException(e); 1000 } 1001 catch (Throwable e) { 1002 Throwables.throwIfUnchecked(e); 1003 throw new RuntimeException(e); 1004 } 1005 } 1006 @Override 1007 public List<FaceBean> getFacesByFeatureId(final String featureId) 1008 { 1009 try{ 1010 return syncCall(new Function<List<net.gdface.facedb.thrift.client.FaceBean>,List<FaceBean>>() { 1011 @Override 1012 public List<FaceBean> apply(List<net.gdface.facedb.thrift.client.FaceBean> input) { 1013 return TypeTransformer.getInstance().to( 1014 input, 1015 net.gdface.facedb.thrift.client.FaceBean.class, 1016 FaceBean.class); 1017 }}, 1018 new ServiceAsyncCall<List<net.gdface.facedb.thrift.client.FaceBean>>(){ 1019 @Override 1020 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<net.gdface.facedb.thrift.client.FaceBean>> nativeCallback){ 1021 service.getFacesByFeatureId(featureId,nativeCallback); 1022 }}); 1023 } 1024 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1025 throw new ServiceRuntimeException(e); 1026 } 1027 catch (Throwable e) { 1028 Throwables.throwIfUnchecked(e); 1029 throw new RuntimeException(e); 1030 } 1031 } 1032 @Override 1033 public List<FaceBean> getFacesByImageMd5(final String imageMd5) 1034 { 1035 try{ 1036 return syncCall(new Function<List<net.gdface.facedb.thrift.client.FaceBean>,List<FaceBean>>() { 1037 @Override 1038 public List<FaceBean> apply(List<net.gdface.facedb.thrift.client.FaceBean> input) { 1039 return TypeTransformer.getInstance().to( 1040 input, 1041 net.gdface.facedb.thrift.client.FaceBean.class, 1042 FaceBean.class); 1043 }}, 1044 new ServiceAsyncCall<List<net.gdface.facedb.thrift.client.FaceBean>>(){ 1045 @Override 1046 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<net.gdface.facedb.thrift.client.FaceBean>> nativeCallback){ 1047 service.getFacesByImageMd5(imageMd5,nativeCallback); 1048 }}); 1049 } 1050 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1051 throw new ServiceRuntimeException(e); 1052 } 1053 catch (Throwable e) { 1054 Throwables.throwIfUnchecked(e); 1055 throw new RuntimeException(e); 1056 } 1057 } 1058 @Override 1059 public FeatureBean getFeature(final String featureId) 1060 { 1061 try{ 1062 return syncCall(new Function<net.gdface.facedb.thrift.client.FeatureBean,FeatureBean>() { 1063 @Override 1064 public FeatureBean apply(net.gdface.facedb.thrift.client.FeatureBean input) { 1065 return TypeTransformer.getInstance().to( 1066 input, 1067 net.gdface.facedb.thrift.client.FeatureBean.class, 1068 FeatureBean.class); 1069 }}, 1070 new ServiceAsyncCall<net.gdface.facedb.thrift.client.FeatureBean>(){ 1071 @Override 1072 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.FeatureBean> nativeCallback){ 1073 service.getFeature(featureId,nativeCallback); 1074 }}); 1075 } 1076 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1077 throw new ServiceRuntimeException(e); 1078 } 1079 catch (Throwable e) { 1080 Throwables.throwIfUnchecked(e); 1081 throw new RuntimeException(e); 1082 } 1083 } 1084 @Override 1085 public FeatureBean getFeatureByFaceId(final int faceId) 1086 { 1087 try{ 1088 return syncCall(new Function<net.gdface.facedb.thrift.client.FeatureBean,FeatureBean>() { 1089 @Override 1090 public FeatureBean apply(net.gdface.facedb.thrift.client.FeatureBean input) { 1091 return TypeTransformer.getInstance().to( 1092 input, 1093 net.gdface.facedb.thrift.client.FeatureBean.class, 1094 FeatureBean.class); 1095 }}, 1096 new ServiceAsyncCall<net.gdface.facedb.thrift.client.FeatureBean>(){ 1097 @Override 1098 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.FeatureBean> nativeCallback){ 1099 service.getFeatureByFaceId(faceId,nativeCallback); 1100 }}); 1101 } 1102 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1103 throw new ServiceRuntimeException(e); 1104 } 1105 catch (Throwable e) { 1106 Throwables.throwIfUnchecked(e); 1107 throw new RuntimeException(e); 1108 } 1109 } 1110 @Override 1111 public FeatureBean getFeatureByImageMd5(final String imageMd5) 1112 { 1113 try{ 1114 return syncCall(new Function<net.gdface.facedb.thrift.client.FeatureBean,FeatureBean>() { 1115 @Override 1116 public FeatureBean apply(net.gdface.facedb.thrift.client.FeatureBean input) { 1117 return TypeTransformer.getInstance().to( 1118 input, 1119 net.gdface.facedb.thrift.client.FeatureBean.class, 1120 FeatureBean.class); 1121 }}, 1122 new ServiceAsyncCall<net.gdface.facedb.thrift.client.FeatureBean>(){ 1123 @Override 1124 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.FeatureBean> nativeCallback){ 1125 service.getFeatureByImageMd5(imageMd5,nativeCallback); 1126 }}); 1127 } 1128 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1129 throw new ServiceRuntimeException(e); 1130 } 1131 catch (Throwable e) { 1132 Throwables.throwIfUnchecked(e); 1133 throw new RuntimeException(e); 1134 } 1135 } 1136 @Override 1137 public int getFeatureCount() 1138 { 1139 try{ 1140 return syncCall(new Function<Integer,Integer>() { 1141 @Override 1142 public Integer apply(Integer input) { 1143 return input; 1144 }}, 1145 new ServiceAsyncCall<Integer>(){ 1146 @Override 1147 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Integer> nativeCallback){ 1148 service.getFeatureCount(nativeCallback); 1149 }}); 1150 } 1151 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1152 throw new ServiceRuntimeException(e); 1153 } 1154 catch (Throwable e) { 1155 Throwables.throwIfUnchecked(e); 1156 throw new RuntimeException(e); 1157 } 1158 } 1159 @Override 1160 public List<FeatureBean> getFeaturesByImageMd5(final String imageMd5) 1161 { 1162 try{ 1163 return syncCall(new Function<List<net.gdface.facedb.thrift.client.FeatureBean>,List<FeatureBean>>() { 1164 @Override 1165 public List<FeatureBean> apply(List<net.gdface.facedb.thrift.client.FeatureBean> input) { 1166 return TypeTransformer.getInstance().to( 1167 input, 1168 net.gdface.facedb.thrift.client.FeatureBean.class, 1169 FeatureBean.class); 1170 }}, 1171 new ServiceAsyncCall<List<net.gdface.facedb.thrift.client.FeatureBean>>(){ 1172 @Override 1173 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<net.gdface.facedb.thrift.client.FeatureBean>> nativeCallback){ 1174 service.getFeaturesByImageMd5(imageMd5,nativeCallback); 1175 }}); 1176 } 1177 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1178 throw new ServiceRuntimeException(e); 1179 } 1180 catch (Throwable e) { 1181 Throwables.throwIfUnchecked(e); 1182 throw new RuntimeException(e); 1183 } 1184 } 1185 @Override 1186 public ImageBean getImage(final String imageMd5) 1187 { 1188 try{ 1189 return syncCall(new Function<net.gdface.facedb.thrift.client.ImageBean,ImageBean>() { 1190 @Override 1191 public ImageBean apply(net.gdface.facedb.thrift.client.ImageBean input) { 1192 return TypeTransformer.getInstance().to( 1193 input, 1194 net.gdface.facedb.thrift.client.ImageBean.class, 1195 ImageBean.class); 1196 }}, 1197 new ServiceAsyncCall<net.gdface.facedb.thrift.client.ImageBean>(){ 1198 @Override 1199 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.ImageBean> nativeCallback){ 1200 service.getImage(imageMd5,nativeCallback); 1201 }}); 1202 } 1203 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1204 throw new ServiceRuntimeException(e); 1205 } 1206 catch (Throwable e) { 1207 Throwables.throwIfUnchecked(e); 1208 throw new RuntimeException(e); 1209 } 1210 } 1211 @Override 1212 public ImageBean getImage(final String primaryKey, 1213 final String refType) 1214 { 1215 try{ 1216 return syncCall(new Function<net.gdface.facedb.thrift.client.ImageBean,ImageBean>() { 1217 @Override 1218 public ImageBean apply(net.gdface.facedb.thrift.client.ImageBean input) { 1219 return TypeTransformer.getInstance().to( 1220 input, 1221 net.gdface.facedb.thrift.client.ImageBean.class, 1222 ImageBean.class); 1223 }}, 1224 new ServiceAsyncCall<net.gdface.facedb.thrift.client.ImageBean>(){ 1225 @Override 1226 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.ImageBean> nativeCallback){ 1227 service.getImageRef(primaryKey,refType,nativeCallback); 1228 }}); 1229 } 1230 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1231 throw new ServiceRuntimeException(e); 1232 } 1233 catch (Throwable e) { 1234 Throwables.throwIfUnchecked(e); 1235 throw new RuntimeException(e); 1236 } 1237 } 1238 @Override 1239 public ImageBean getImageByFaceId(final int faceId) 1240 { 1241 try{ 1242 return syncCall(new Function<net.gdface.facedb.thrift.client.ImageBean,ImageBean>() { 1243 @Override 1244 public ImageBean apply(net.gdface.facedb.thrift.client.ImageBean input) { 1245 return TypeTransformer.getInstance().to( 1246 input, 1247 net.gdface.facedb.thrift.client.ImageBean.class, 1248 ImageBean.class); 1249 }}, 1250 new ServiceAsyncCall<net.gdface.facedb.thrift.client.ImageBean>(){ 1251 @Override 1252 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.ImageBean> nativeCallback){ 1253 service.getImageByFaceId(faceId,nativeCallback); 1254 }}); 1255 } 1256 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1257 throw new ServiceRuntimeException(e); 1258 } 1259 catch (Throwable e) { 1260 Throwables.throwIfUnchecked(e); 1261 throw new RuntimeException(e); 1262 } 1263 } 1264 @Override 1265 public ImageBean getImageByFeatureId(final String featureId) 1266 { 1267 try{ 1268 return syncCall(new Function<net.gdface.facedb.thrift.client.ImageBean,ImageBean>() { 1269 @Override 1270 public ImageBean apply(net.gdface.facedb.thrift.client.ImageBean input) { 1271 return TypeTransformer.getInstance().to( 1272 input, 1273 net.gdface.facedb.thrift.client.ImageBean.class, 1274 ImageBean.class); 1275 }}, 1276 new ServiceAsyncCall<net.gdface.facedb.thrift.client.ImageBean>(){ 1277 @Override 1278 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<net.gdface.facedb.thrift.client.ImageBean> nativeCallback){ 1279 service.getImageByFeatureId(featureId,nativeCallback); 1280 }}); 1281 } 1282 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1283 throw new ServiceRuntimeException(e); 1284 } 1285 catch (Throwable e) { 1286 Throwables.throwIfUnchecked(e); 1287 throw new RuntimeException(e); 1288 } 1289 } 1290 @Override 1291 public byte[] getImageBytes(final String imageMd5) 1292 { 1293 try{ 1294 return syncCall(new Function<okio.ByteString,byte[]>() { 1295 @Override 1296 public byte[] apply(okio.ByteString input) { 1297 return TypeTransformer.getInstance().to( 1298 input, 1299 okio.ByteString.class, 1300 byte[].class); 1301 }}, 1302 new ServiceAsyncCall<okio.ByteString>(){ 1303 @Override 1304 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<okio.ByteString> nativeCallback){ 1305 service.getImageBytes(imageMd5,nativeCallback); 1306 }}); 1307 } 1308 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1309 throw new ServiceRuntimeException(e); 1310 } 1311 catch (Throwable e) { 1312 Throwables.throwIfUnchecked(e); 1313 throw new RuntimeException(e); 1314 } 1315 } 1316 @Override 1317 public byte[] getImageBytes(final String primaryKey, 1318 final String refType) 1319 { 1320 try{ 1321 return syncCall(new Function<okio.ByteString,byte[]>() { 1322 @Override 1323 public byte[] apply(okio.ByteString input) { 1324 return TypeTransformer.getInstance().to( 1325 input, 1326 okio.ByteString.class, 1327 byte[].class); 1328 }}, 1329 new ServiceAsyncCall<okio.ByteString>(){ 1330 @Override 1331 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<okio.ByteString> nativeCallback){ 1332 service.getImageBytesRef(primaryKey,refType,nativeCallback); 1333 }}); 1334 } 1335 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1336 throw new ServiceRuntimeException(e); 1337 } 1338 catch (Throwable e) { 1339 Throwables.throwIfUnchecked(e); 1340 throw new RuntimeException(e); 1341 } 1342 } 1343 @Override 1344 public int getImageCount(final String where) 1345 { 1346 try{ 1347 return syncCall(new Function<Integer,Integer>() { 1348 @Override 1349 public Integer apply(Integer input) { 1350 return input; 1351 }}, 1352 new ServiceAsyncCall<Integer>(){ 1353 @Override 1354 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Integer> nativeCallback){ 1355 service.getImageCount(where,nativeCallback); 1356 }}); 1357 } 1358 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1359 throw new ServiceRuntimeException(e); 1360 } 1361 catch (Throwable e) { 1362 Throwables.throwIfUnchecked(e); 1363 throw new RuntimeException(e); 1364 } 1365 } 1366 @Override 1367 public List<ImageBean> getImagesByFeatureId(final String featureId) 1368 { 1369 try{ 1370 return syncCall(new Function<List<net.gdface.facedb.thrift.client.ImageBean>,List<ImageBean>>() { 1371 @Override 1372 public List<ImageBean> apply(List<net.gdface.facedb.thrift.client.ImageBean> input) { 1373 return TypeTransformer.getInstance().to( 1374 input, 1375 net.gdface.facedb.thrift.client.ImageBean.class, 1376 ImageBean.class); 1377 }}, 1378 new ServiceAsyncCall<List<net.gdface.facedb.thrift.client.ImageBean>>(){ 1379 @Override 1380 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<net.gdface.facedb.thrift.client.ImageBean>> nativeCallback){ 1381 service.getImagesByFeatureId(featureId,nativeCallback); 1382 }}); 1383 } 1384 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1385 throw new ServiceRuntimeException(e); 1386 } 1387 catch (Throwable e) { 1388 Throwables.throwIfUnchecked(e); 1389 throw new RuntimeException(e); 1390 } 1391 } 1392 @Override 1393 public boolean hasFeature(final byte[] feature) 1394 { 1395 try{ 1396 return syncCall(new Function<Boolean,Boolean>() { 1397 @Override 1398 public Boolean apply(Boolean input) { 1399 return input; 1400 }}, 1401 new ServiceAsyncCall<Boolean>(){ 1402 @Override 1403 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Boolean> nativeCallback){ 1404 service.hasFeature(TypeTransformer.getInstance().to( 1405 feature, 1406 byte[].class, 1407 okio.ByteString.class),nativeCallback); 1408 }}); 1409 } 1410 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1411 throw new ServiceRuntimeException(e); 1412 } 1413 catch (Throwable e) { 1414 Throwables.throwIfUnchecked(e); 1415 throw new RuntimeException(e); 1416 } 1417 } 1418 @Override 1419 public boolean hasFeatureByMD5(final String featureId) 1420 { 1421 try{ 1422 return syncCall(new Function<Boolean,Boolean>() { 1423 @Override 1424 public Boolean apply(Boolean input) { 1425 return input; 1426 }}, 1427 new ServiceAsyncCall<Boolean>(){ 1428 @Override 1429 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Boolean> nativeCallback){ 1430 service.hasFeatureByMD5(featureId,nativeCallback); 1431 }}); 1432 } 1433 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1434 throw new ServiceRuntimeException(e); 1435 } 1436 catch (Throwable e) { 1437 Throwables.throwIfUnchecked(e); 1438 throw new RuntimeException(e); 1439 } 1440 } 1441 @Override 1442 public boolean hasImage(final String imageMd5) 1443 { 1444 try{ 1445 return syncCall(new Function<Boolean,Boolean>() { 1446 @Override 1447 public Boolean apply(Boolean input) { 1448 return input; 1449 }}, 1450 new ServiceAsyncCall<Boolean>(){ 1451 @Override 1452 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<Boolean> nativeCallback){ 1453 service.hasImage(imageMd5,nativeCallback); 1454 }}); 1455 } 1456 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1457 throw new ServiceRuntimeException(e); 1458 } 1459 catch (Throwable e) { 1460 Throwables.throwIfUnchecked(e); 1461 throw new RuntimeException(e); 1462 } 1463 } 1464 @Override 1465 public boolean isLocal(){ 1466 return false; 1467 } 1468 @Override 1469 public List<String> loadFeaturesMd5ByCreateTime(final String timestamp) 1470 { 1471 try{ 1472 return syncCall(new Function<List<String>,List<String>>() { 1473 @Override 1474 public List<String> apply(List<String> input) { 1475 return input; 1476 }}, 1477 new ServiceAsyncCall<List<String>>(){ 1478 @Override 1479 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<String>> nativeCallback){ 1480 service.loadFeaturesMd5ByCreateTimeTimeStr(timestamp,nativeCallback); 1481 }}); 1482 } 1483 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1484 throw new ServiceRuntimeException(e); 1485 } 1486 catch (Throwable e) { 1487 Throwables.throwIfUnchecked(e); 1488 throw new RuntimeException(e); 1489 } 1490 } 1491 @Override 1492 public List<String> loadFeaturesMd5ByCreateTime(final Date timestamp) 1493 { 1494 try{ 1495 return syncCall(new Function<List<String>,List<String>>() { 1496 @Override 1497 public List<String> apply(List<String> input) { 1498 return input; 1499 }}, 1500 new ServiceAsyncCall<List<String>>(){ 1501 @Override 1502 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<String>> nativeCallback){ 1503 service.loadFeaturesMd5ByCreateTime(TypeTransformer.getInstance().to( 1504 timestamp, 1505 Date.class, 1506 Long.class),nativeCallback); 1507 }}); 1508 } 1509 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1510 throw new ServiceRuntimeException(e); 1511 } 1512 catch (Throwable e) { 1513 Throwables.throwIfUnchecked(e); 1514 throw new RuntimeException(e); 1515 } 1516 } 1517 @Override 1518 public List<String> loadFeaturesMd5ByWhere(final String where) 1519 { 1520 try{ 1521 return syncCall(new Function<List<String>,List<String>>() { 1522 @Override 1523 public List<String> apply(List<String> input) { 1524 return input; 1525 }}, 1526 new ServiceAsyncCall<List<String>>(){ 1527 @Override 1528 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<String>> nativeCallback){ 1529 service.loadFeaturesMd5ByWhere(where,nativeCallback); 1530 }}); 1531 } 1532 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1533 throw new ServiceRuntimeException(e); 1534 } 1535 catch (Throwable e) { 1536 Throwables.throwIfUnchecked(e); 1537 throw new RuntimeException(e); 1538 } 1539 } 1540 @Override 1541 public List<ImageBean> loadImagesByWhere(final String where, 1542 final int startRow, 1543 final int numRows) 1544 { 1545 try{ 1546 return syncCall(new Function<List<net.gdface.facedb.thrift.client.ImageBean>,List<ImageBean>>() { 1547 @Override 1548 public List<ImageBean> apply(List<net.gdface.facedb.thrift.client.ImageBean> input) { 1549 return TypeTransformer.getInstance().to( 1550 input, 1551 net.gdface.facedb.thrift.client.ImageBean.class, 1552 ImageBean.class); 1553 }}, 1554 new ServiceAsyncCall<List<net.gdface.facedb.thrift.client.ImageBean>>(){ 1555 @Override 1556 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<net.gdface.facedb.thrift.client.ImageBean>> nativeCallback){ 1557 service.loadImagesByWhere(where,startRow,numRows,nativeCallback); 1558 }}); 1559 } 1560 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1561 throw new ServiceRuntimeException(e); 1562 } 1563 catch (Throwable e) { 1564 Throwables.throwIfUnchecked(e); 1565 throw new RuntimeException(e); 1566 } 1567 } 1568 @Override 1569 public List<String> loadImagesMd5ByCreateTime(final String timestamp) 1570 { 1571 try{ 1572 return syncCall(new Function<List<String>,List<String>>() { 1573 @Override 1574 public List<String> apply(List<String> input) { 1575 return input; 1576 }}, 1577 new ServiceAsyncCall<List<String>>(){ 1578 @Override 1579 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<String>> nativeCallback){ 1580 service.loadImagesMd5ByCreateTimeTimeStr(timestamp,nativeCallback); 1581 }}); 1582 } 1583 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1584 throw new ServiceRuntimeException(e); 1585 } 1586 catch (Throwable e) { 1587 Throwables.throwIfUnchecked(e); 1588 throw new RuntimeException(e); 1589 } 1590 } 1591 @Override 1592 public List<String> loadImagesMd5ByCreateTime(final Date timestamp) 1593 { 1594 try{ 1595 return syncCall(new Function<List<String>,List<String>>() { 1596 @Override 1597 public List<String> apply(List<String> input) { 1598 return input; 1599 }}, 1600 new ServiceAsyncCall<List<String>>(){ 1601 @Override 1602 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<String>> nativeCallback){ 1603 service.loadImagesMd5ByCreateTime(TypeTransformer.getInstance().to( 1604 timestamp, 1605 Date.class, 1606 Long.class),nativeCallback); 1607 }}); 1608 } 1609 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1610 throw new ServiceRuntimeException(e); 1611 } 1612 catch (Throwable e) { 1613 Throwables.throwIfUnchecked(e); 1614 throw new RuntimeException(e); 1615 } 1616 } 1617 @Override 1618 public List<String> loadImagesMd5ByWhere(final String where) 1619 { 1620 try{ 1621 return syncCall(new Function<List<String>,List<String>>() { 1622 @Override 1623 public List<String> apply(List<String> input) { 1624 return input; 1625 }}, 1626 new ServiceAsyncCall<List<String>>(){ 1627 @Override 1628 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<List<String>> nativeCallback){ 1629 service.loadImagesMd5ByWhere(where,nativeCallback); 1630 }}); 1631 } 1632 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1633 throw new ServiceRuntimeException(e); 1634 } 1635 catch (Throwable e) { 1636 Throwables.throwIfUnchecked(e); 1637 throw new RuntimeException(e); 1638 } 1639 } 1640 @Override 1641 public SearchResult[] searchFaces(final byte[] imgData, 1642 final CodeInfo facePos, 1643 final double similarty, 1644 final int rows, 1645 final String where) 1646 throws ImageErrorException,NotFaceDetectedException{ 1647 try{ 1648 return syncCall(new Function<java.util.List<net.gdface.facedb.thrift.client.SearchResult>,SearchResult[]>() { 1649 @Override 1650 public SearchResult[] apply(java.util.List<net.gdface.facedb.thrift.client.SearchResult> input) { 1651 return TypeTransformer.getInstance().toArray( 1652 input, 1653 net.gdface.facedb.thrift.client.SearchResult.class, 1654 SearchResult.class); 1655 }}, 1656 new ServiceAsyncCall<java.util.List<net.gdface.facedb.thrift.client.SearchResult>>(){ 1657 @Override 1658 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<java.util.List<net.gdface.facedb.thrift.client.SearchResult>> nativeCallback){ 1659 service.searchFaces(TypeTransformer.getInstance().to( 1660 imgData, 1661 byte[].class, 1662 okio.ByteString.class),TypeTransformer.getInstance().to( 1663 facePos, 1664 CodeInfo.class, 1665 net.gdface.facedb.thrift.client.CodeInfo.class),similarty,rows,where,nativeCallback); 1666 }}); 1667 } 1668 catch(net.gdface.facedb.thrift.client.ImageErrorException e){ 1669 throw TypeTransformer.getInstance().to( 1670 e, 1671 net.gdface.facedb.thrift.client.ImageErrorException.class, 1672 ImageErrorException.class); 1673 } 1674 catch(net.gdface.facedb.thrift.client.NotFaceDetectedException e){ 1675 throw TypeTransformer.getInstance().to( 1676 e, 1677 net.gdface.facedb.thrift.client.NotFaceDetectedException.class, 1678 NotFaceDetectedException.class); 1679 } 1680 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1681 throw new ServiceRuntimeException(e); 1682 } 1683 catch (Throwable e) { 1684 Throwables.throwIfUnchecked(e); 1685 throw new RuntimeException(e); 1686 } 1687 } 1688 @Override 1689 public SearchResult[] searchFaces(final MatType matType, 1690 final byte[] matData, 1691 final int width, 1692 final int height, 1693 final CodeInfo facePos, 1694 final double similarty, 1695 final int rows, 1696 final String where) 1697 throws NotFaceDetectedException{ 1698 try{ 1699 return syncCall(new Function<java.util.List<net.gdface.facedb.thrift.client.SearchResult>,SearchResult[]>() { 1700 @Override 1701 public SearchResult[] apply(java.util.List<net.gdface.facedb.thrift.client.SearchResult> input) { 1702 return TypeTransformer.getInstance().toArray( 1703 input, 1704 net.gdface.facedb.thrift.client.SearchResult.class, 1705 SearchResult.class); 1706 }}, 1707 new ServiceAsyncCall<java.util.List<net.gdface.facedb.thrift.client.SearchResult>>(){ 1708 @Override 1709 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<java.util.List<net.gdface.facedb.thrift.client.SearchResult>> nativeCallback){ 1710 service.searchFacesMat(TypeTransformer.getInstance().to( 1711 matType, 1712 MatType.class, 1713 net.gdface.facedb.thrift.client.MatType.class),TypeTransformer.getInstance().to( 1714 matData, 1715 byte[].class, 1716 okio.ByteString.class),width,height,TypeTransformer.getInstance().to( 1717 facePos, 1718 CodeInfo.class, 1719 net.gdface.facedb.thrift.client.CodeInfo.class),similarty,rows,where,nativeCallback); 1720 }}); 1721 } 1722 catch(net.gdface.facedb.thrift.client.NotFaceDetectedException e){ 1723 throw TypeTransformer.getInstance().to( 1724 e, 1725 net.gdface.facedb.thrift.client.NotFaceDetectedException.class, 1726 NotFaceDetectedException.class); 1727 } 1728 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1729 throw new ServiceRuntimeException(e); 1730 } 1731 catch (Throwable e) { 1732 Throwables.throwIfUnchecked(e); 1733 throw new RuntimeException(e); 1734 } 1735 } 1736 @Override 1737 public SearchResult[] searchFeatures(final byte[] feature, 1738 final double similarty, 1739 final int rows, 1740 final String where) 1741 { 1742 try{ 1743 return syncCall(new Function<java.util.List<net.gdface.facedb.thrift.client.SearchResult>,SearchResult[]>() { 1744 @Override 1745 public SearchResult[] apply(java.util.List<net.gdface.facedb.thrift.client.SearchResult> input) { 1746 return TypeTransformer.getInstance().toArray( 1747 input, 1748 net.gdface.facedb.thrift.client.SearchResult.class, 1749 SearchResult.class); 1750 }}, 1751 new ServiceAsyncCall<java.util.List<net.gdface.facedb.thrift.client.SearchResult>>(){ 1752 @Override 1753 public void call(net.gdface.facedb.thrift.client.FaceDbClient service,ServiceMethodCallback<java.util.List<net.gdface.facedb.thrift.client.SearchResult>> nativeCallback){ 1754 service.searchFeatures(TypeTransformer.getInstance().to( 1755 feature, 1756 byte[].class, 1757 okio.ByteString.class),similarty,rows,where,nativeCallback); 1758 }}); 1759 } 1760 catch(net.gdface.facedb.thrift.client.ServiceRuntimeException e){ 1761 throw new ServiceRuntimeException(e); 1762 } 1763 catch (Throwable e) { 1764 Throwables.throwIfUnchecked(e); 1765 throw new RuntimeException(e); 1766 } 1767 } 1768}