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.facelog.thrift;
006import java.util.List;
007import java.util.Map;
008import net.gdface.facelog.DuplicateRecordException;
009import net.gdface.facelog.IFaceLog;
010import net.gdface.facelog.LockWakeupResponse;
011import net.gdface.facelog.MQParam;
012import net.gdface.facelog.ServiceSecurityException;
013import net.gdface.facelog.TmpPwdTargetType;
014import net.gdface.facelog.TmpwdTargetInfo;
015import net.gdface.facelog.Token;
016import net.gdface.facelog.TopGroupInfo;
017import net.gdface.facelog.db.DeviceBean;
018import net.gdface.facelog.db.DeviceGroupBean;
019import net.gdface.facelog.db.ErrorLogBean;
020import net.gdface.facelog.db.FaceBean;
021import net.gdface.facelog.db.FeatureBean;
022import net.gdface.facelog.db.ImageBean;
023import net.gdface.facelog.db.LogBean;
024import net.gdface.facelog.db.LogLightBean;
025import net.gdface.facelog.db.PermitBean;
026import net.gdface.facelog.db.PersonBean;
027import net.gdface.facelog.db.PersonGroupBean;
028import net.gdface.thrift.TypeTransformer;
029
030import java.io.IOException;
031import java.util.concurrent.atomic.AtomicReference;
032import net.gdface.thrift.ClientFactory;
033import com.google.common.base.Function;
034import com.google.common.base.Throwables;
035import com.google.common.net.HostAndPort;
036import com.microsoft.thrifty.service.AsyncClientBase;
037import com.microsoft.thrifty.service.ServiceMethodCallback;
038
039import static com.google.common.base.Preconditions.*;
040import static net.gdface.thrift.ThriftUtils.returnNull;
041/**
042 * 基于thrift/swift框架生成的client端代码提供{@link IFaceLog}接口的RPC实现(线程安全)<br>
043 * 转发所有{@link IFaceLog}接口方法到{@link net.gdface.facelog.client.thrift.IFaceLogClient}实例<br>
044 * 所有服务端抛出的{@link RuntimeException}异常被封装到{@link ServiceRuntimeException}中抛出<br>
045 * Example:<br>
046 * <pre>
047 *        IFaceLogThriftClient thriftInstance = ClientFactory
048 *            .builder()
049 *            .setHostAndPort("127.0.0.1",26413)
050 *            .build(IFaceLogThriftClient.class);
051 * </pre>
052 * 计算机生成代码(generated by automated tools ThriftServiceDecoratorGenerator @author guyadong)<br>
053 * @author guyadong
054 *
055 */
056public class IFaceLogThriftClient implements IFaceLog {
057    private final ClientFactory factory;
058
059    public ClientFactory getFactory() {
060        return factory;
061    }
062    public IFaceLogThriftClient(ClientFactory factory) {
063        super();
064        this.factory = checkNotNull(factory,"factory is null");
065    }
066    /**
067     * @param host RPC service host
068     * @param port RPC service port 
069     */
070    public IFaceLogThriftClient(String host,int port) {
071        this(ClientFactory.builder().setHostAndPort(host,port));
072    }
073    /**
074     * @param hostAndPort RPC service host and port 
075     */
076    public IFaceLogThriftClient(HostAndPort hostAndPort) {
077        this(ClientFactory.builder().setHostAndPort(hostAndPort));
078    }
079    /**
080     * test if connectable for RPC service
081     * @return return {@code true} if connectable ,otherwise {@code false}
082     */
083    public boolean testConnect(){
084        return factory.testConnect();
085    }
086    /**
087     * 服务异步调用接口
088     *
089     * @param <T>
090     */
091    private interface ServiceAsyncCall<T> {
092        public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<T> callback);
093    }
094    /**
095     * 异常调用转同步调用实现
096     * @param transformer
097     * @param serviceCall
098     * @return
099     * @throws Throwable
100     */
101    private <R,L>R syncCall(final Function<L, R> transformer,final ServiceAsyncCall<L> serviceCall) throws Throwable{
102        final AtomicReference<R> res = new AtomicReference<R>(null);
103        final AtomicReference<Throwable> err = new AtomicReference<Throwable>(null);
104        /* 异步调用结束标志信号量 */
105        final Object lock = new Object();
106        final ServiceMethodCallback<L> callback = new ServiceMethodCallback<L>() {
107
108            @Override
109            public void onSuccess(L result) {
110                res.set(transformer.apply(result));
111                /* 异步调用结束,唤醒等待线程 */
112                synchronized(lock){
113                    lock.notifyAll();
114                }
115            }
116
117            @Override
118            public void onError(Throwable error) {
119                err.set(error);
120                /* 异步调用结束,唤醒等待线程 */
121                synchronized(lock){
122                    lock.notifyAll();
123                }
124            }
125        };
126        /* 连接关闭侦听器当检测到异常时调用callback来处理 */
127        AsyncClientBase.Listener closeListener = new AsyncClientBase.Listener(){
128                @Override
129                public void onTransportClosed() {
130                }
131        
132                @Override
133                public void onError(Throwable error) {
134                    callback.onError(error);
135                }};
136        net.gdface.facelog.client.thrift.IFaceLogClient service = factory.applyInstance(net.gdface.facelog.client.thrift.IFaceLogClient.class,closeListener);
137
138        synchronized(lock){
139            try {
140                serviceCall.call(service,callback);
141                /* 等待异步调用结束 */
142                lock.wait();
143            } catch (InterruptedException e) {
144                err.set(e);
145            } finally{
146                try {
147                    /* 调用结束关闭连接 */
148                    service.close();
149                } catch (IOException e) {}
150            }
151        }
152        Throwable e = err.get(); 
153        if(null != e){
154            /** 判断异常类型返回null */
155            returnNull(e);
156        }
157        return res.get();
158    }    
159    @Override
160    public String toString() {
161        StringBuilder builder = new StringBuilder();
162        builder.append("IFaceLogThriftClient [factory=");
163        builder.append(factory);
164        builder.append(",interface=");
165        builder.append(IFaceLog.class.getName());
166        builder.append("]");
167        return builder.toString();
168    }
169    @Override
170    public void addErrorLog(final ErrorLogBean errorLogBean,
171        final Token token) 
172        {
173        try{
174             syncCall(new Function<Void,Void>() {
175                @Override
176                public Void apply(Void input) {
177                    return input;
178                }},
179                new ServiceAsyncCall<Void>(){
180                @Override
181                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
182                    service.addErrorLog(TypeTransformer.getInstance().to(
183                    errorLogBean,
184                    ErrorLogBean.class,
185                    net.gdface.facelog.client.thrift.ErrorLogBean.class),TypeTransformer.getInstance().to(
186                    token,
187                    Token.class,
188                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
189                }});
190        }
191        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
192            throw new ServiceRuntimeException(e);
193        }
194        catch (Throwable e) {
195            Throwables.throwIfUnchecked(e);
196            throw new RuntimeException(e);
197        }
198    }
199    @Override
200    public FeatureBean addFeature(final byte[] feature,
201        final String featureVersion,
202        final Integer personId,
203        final boolean asIdPhotoIfAbsent,
204        final byte[] featurePhoto,
205        final FaceBean faceBean,
206        final String removed,
207        final Token token) 
208        throws DuplicateRecordException{
209        try{
210            return syncCall(new Function<net.gdface.facelog.client.thrift.FeatureBean,FeatureBean>() {
211                @Override
212                public FeatureBean apply(net.gdface.facelog.client.thrift.FeatureBean input) {
213                    return TypeTransformer.getInstance().to(
214                    input,
215                    net.gdface.facelog.client.thrift.FeatureBean.class,
216                    FeatureBean.class);
217                }},
218                new ServiceAsyncCall<net.gdface.facelog.client.thrift.FeatureBean>(){
219                @Override
220                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.FeatureBean> nativeCallback){
221                    service.addFeatureWithImage(TypeTransformer.getInstance().to(
222                    feature,
223                    byte[].class,
224                    okio.ByteString.class),featureVersion,personId,asIdPhotoIfAbsent,TypeTransformer.getInstance().to(
225                    featurePhoto,
226                    byte[].class,
227                    okio.ByteString.class),TypeTransformer.getInstance().to(
228                    faceBean,
229                    FaceBean.class,
230                    net.gdface.facelog.client.thrift.FaceBean.class),removed,TypeTransformer.getInstance().to(
231                    token,
232                    Token.class,
233                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
234                }});
235        }
236        catch(net.gdface.facelog.client.thrift.DuplicateRecordException e){
237            throw TypeTransformer.getInstance().to(
238                    e,
239                    net.gdface.facelog.client.thrift.DuplicateRecordException.class,
240                    DuplicateRecordException.class);
241        }
242        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
243            throw new ServiceRuntimeException(e);
244        }
245        catch (Throwable e) {
246            Throwables.throwIfUnchecked(e);
247            throw new RuntimeException(e);
248        }
249    }
250    @Override
251    public FeatureBean addFeature(final byte[] feature,
252        final String featureVersion,
253        final Integer personId,
254        final List<FaceBean> faecBeans,
255        final String removed,
256        final Token token) 
257        throws DuplicateRecordException{
258        try{
259            return syncCall(new Function<net.gdface.facelog.client.thrift.FeatureBean,FeatureBean>() {
260                @Override
261                public FeatureBean apply(net.gdface.facelog.client.thrift.FeatureBean input) {
262                    return TypeTransformer.getInstance().to(
263                    input,
264                    net.gdface.facelog.client.thrift.FeatureBean.class,
265                    FeatureBean.class);
266                }},
267                new ServiceAsyncCall<net.gdface.facelog.client.thrift.FeatureBean>(){
268                @Override
269                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.FeatureBean> nativeCallback){
270                    service.addFeature(TypeTransformer.getInstance().to(
271                    feature,
272                    byte[].class,
273                    okio.ByteString.class),featureVersion,personId,TypeTransformer.getInstance().to(
274                    faecBeans,
275                    FaceBean.class,
276                    net.gdface.facelog.client.thrift.FaceBean.class),removed,TypeTransformer.getInstance().to(
277                    token,
278                    Token.class,
279                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
280                }});
281        }
282        catch(net.gdface.facelog.client.thrift.DuplicateRecordException e){
283            throw TypeTransformer.getInstance().to(
284                    e,
285                    net.gdface.facelog.client.thrift.DuplicateRecordException.class,
286                    DuplicateRecordException.class);
287        }
288        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
289            throw new ServiceRuntimeException(e);
290        }
291        catch (Throwable e) {
292            Throwables.throwIfUnchecked(e);
293            throw new RuntimeException(e);
294        }
295    }
296    @Override
297    public FeatureBean addFeature(final byte[] feature,
298        final String featureVersion,
299        final Integer personId,
300        final List<byte[]> photos,
301        final List<FaceBean> faces,
302        final String removed,
303        final Token token) 
304        throws DuplicateRecordException{
305        try{
306            return syncCall(new Function<net.gdface.facelog.client.thrift.FeatureBean,FeatureBean>() {
307                @Override
308                public FeatureBean apply(net.gdface.facelog.client.thrift.FeatureBean input) {
309                    return TypeTransformer.getInstance().to(
310                    input,
311                    net.gdface.facelog.client.thrift.FeatureBean.class,
312                    FeatureBean.class);
313                }},
314                new ServiceAsyncCall<net.gdface.facelog.client.thrift.FeatureBean>(){
315                @Override
316                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.FeatureBean> nativeCallback){
317                    service.addFeatureMulti(TypeTransformer.getInstance().to(
318                    feature,
319                    byte[].class,
320                    okio.ByteString.class),featureVersion,personId,TypeTransformer.getInstance().to(
321                    photos,
322                    byte[].class,
323                    okio.ByteString.class),TypeTransformer.getInstance().to(
324                    faces,
325                    FaceBean.class,
326                    net.gdface.facelog.client.thrift.FaceBean.class),removed,TypeTransformer.getInstance().to(
327                    token,
328                    Token.class,
329                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
330                }});
331        }
332        catch(net.gdface.facelog.client.thrift.DuplicateRecordException e){
333            throw TypeTransformer.getInstance().to(
334                    e,
335                    net.gdface.facelog.client.thrift.DuplicateRecordException.class,
336                    DuplicateRecordException.class);
337        }
338        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
339            throw new ServiceRuntimeException(e);
340        }
341        catch (Throwable e) {
342            Throwables.throwIfUnchecked(e);
343            throw new RuntimeException(e);
344        }
345    }
346    @Override
347    public ImageBean addImage(final byte[] imageData,
348        final Integer deviceId,
349        final FaceBean faceBean,
350        final Integer personId,
351        final Token token) 
352        throws DuplicateRecordException{
353        try{
354            return syncCall(new Function<net.gdface.facelog.client.thrift.ImageBean,ImageBean>() {
355                @Override
356                public ImageBean apply(net.gdface.facelog.client.thrift.ImageBean input) {
357                    return TypeTransformer.getInstance().to(
358                    input,
359                    net.gdface.facelog.client.thrift.ImageBean.class,
360                    ImageBean.class);
361                }},
362                new ServiceAsyncCall<net.gdface.facelog.client.thrift.ImageBean>(){
363                @Override
364                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.ImageBean> nativeCallback){
365                    service.addImage(TypeTransformer.getInstance().to(
366                    imageData,
367                    byte[].class,
368                    okio.ByteString.class),deviceId,TypeTransformer.getInstance().to(
369                    faceBean,
370                    FaceBean.class,
371                    net.gdface.facelog.client.thrift.FaceBean.class),personId,TypeTransformer.getInstance().to(
372                    token,
373                    Token.class,
374                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
375                }});
376        }
377        catch(net.gdface.facelog.client.thrift.DuplicateRecordException e){
378            throw TypeTransformer.getInstance().to(
379                    e,
380                    net.gdface.facelog.client.thrift.DuplicateRecordException.class,
381                    DuplicateRecordException.class);
382        }
383        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
384            throw new ServiceRuntimeException(e);
385        }
386        catch (Throwable e) {
387            Throwables.throwIfUnchecked(e);
388            throw new RuntimeException(e);
389        }
390    }
391    @Override
392    public void addLog(final LogBean logBean,
393        final byte[] faceImage,
394        final Token token) 
395        throws DuplicateRecordException{
396        try{
397             syncCall(new Function<Void,Void>() {
398                @Override
399                public Void apply(Void input) {
400                    return input;
401                }},
402                new ServiceAsyncCall<Void>(){
403                @Override
404                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
405                    service.addLogWithFaceImage(TypeTransformer.getInstance().to(
406                    logBean,
407                    LogBean.class,
408                    net.gdface.facelog.client.thrift.LogBean.class),TypeTransformer.getInstance().to(
409                    faceImage,
410                    byte[].class,
411                    okio.ByteString.class),TypeTransformer.getInstance().to(
412                    token,
413                    Token.class,
414                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
415                }});
416        }
417        catch(net.gdface.facelog.client.thrift.DuplicateRecordException e){
418            throw TypeTransformer.getInstance().to(
419                    e,
420                    net.gdface.facelog.client.thrift.DuplicateRecordException.class,
421                    DuplicateRecordException.class);
422        }
423        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
424            throw new ServiceRuntimeException(e);
425        }
426        catch (Throwable e) {
427            Throwables.throwIfUnchecked(e);
428            throw new RuntimeException(e);
429        }
430    }
431    @Override
432    public void addLog(final LogBean logBean,
433        final Token token) 
434        throws DuplicateRecordException{
435        try{
436             syncCall(new Function<Void,Void>() {
437                @Override
438                public Void apply(Void input) {
439                    return input;
440                }},
441                new ServiceAsyncCall<Void>(){
442                @Override
443                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
444                    service.addLog(TypeTransformer.getInstance().to(
445                    logBean,
446                    LogBean.class,
447                    net.gdface.facelog.client.thrift.LogBean.class),TypeTransformer.getInstance().to(
448                    token,
449                    Token.class,
450                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
451                }});
452        }
453        catch(net.gdface.facelog.client.thrift.DuplicateRecordException e){
454            throw TypeTransformer.getInstance().to(
455                    e,
456                    net.gdface.facelog.client.thrift.DuplicateRecordException.class,
457                    DuplicateRecordException.class);
458        }
459        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
460            throw new ServiceRuntimeException(e);
461        }
462        catch (Throwable e) {
463            Throwables.throwIfUnchecked(e);
464            throw new RuntimeException(e);
465        }
466    }
467    @Override
468    public void addLog(final LogBean logBean,
469        final FaceBean faceBean,
470        final byte[] featureImage,
471        final Token token) 
472        throws DuplicateRecordException{
473        try{
474             syncCall(new Function<Void,Void>() {
475                @Override
476                public Void apply(Void input) {
477                    return input;
478                }},
479                new ServiceAsyncCall<Void>(){
480                @Override
481                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
482                    service.addLogFull(TypeTransformer.getInstance().to(
483                    logBean,
484                    LogBean.class,
485                    net.gdface.facelog.client.thrift.LogBean.class),TypeTransformer.getInstance().to(
486                    faceBean,
487                    FaceBean.class,
488                    net.gdface.facelog.client.thrift.FaceBean.class),TypeTransformer.getInstance().to(
489                    featureImage,
490                    byte[].class,
491                    okio.ByteString.class),TypeTransformer.getInstance().to(
492                    token,
493                    Token.class,
494                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
495                }});
496        }
497        catch(net.gdface.facelog.client.thrift.DuplicateRecordException e){
498            throw TypeTransformer.getInstance().to(
499                    e,
500                    net.gdface.facelog.client.thrift.DuplicateRecordException.class,
501                    DuplicateRecordException.class);
502        }
503        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
504            throw new ServiceRuntimeException(e);
505        }
506        catch (Throwable e) {
507            Throwables.throwIfUnchecked(e);
508            throw new RuntimeException(e);
509        }
510    }
511    @Override
512    public void addLogs(final List<LogBean> logBeans,
513        final List<FaceBean> faceBeans,
514        final List<byte[]> featureImages,
515        final Token token) 
516        throws DuplicateRecordException{
517        try{
518             syncCall(new Function<Void,Void>() {
519                @Override
520                public Void apply(Void input) {
521                    return input;
522                }},
523                new ServiceAsyncCall<Void>(){
524                @Override
525                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
526                    service.addLogsFull(TypeTransformer.getInstance().to(
527                    logBeans,
528                    LogBean.class,
529                    net.gdface.facelog.client.thrift.LogBean.class),TypeTransformer.getInstance().to(
530                    faceBeans,
531                    FaceBean.class,
532                    net.gdface.facelog.client.thrift.FaceBean.class),TypeTransformer.getInstance().to(
533                    featureImages,
534                    byte[].class,
535                    okio.ByteString.class),TypeTransformer.getInstance().to(
536                    token,
537                    Token.class,
538                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
539                }});
540        }
541        catch(net.gdface.facelog.client.thrift.DuplicateRecordException e){
542            throw TypeTransformer.getInstance().to(
543                    e,
544                    net.gdface.facelog.client.thrift.DuplicateRecordException.class,
545                    DuplicateRecordException.class);
546        }
547        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
548            throw new ServiceRuntimeException(e);
549        }
550        catch (Throwable e) {
551            Throwables.throwIfUnchecked(e);
552            throw new RuntimeException(e);
553        }
554    }
555    @Override
556    public void addLogs(final List<LogBean> logBeans,
557        final List<byte[]> faceImages,
558        final Token token) 
559        throws DuplicateRecordException{
560        try{
561             syncCall(new Function<Void,Void>() {
562                @Override
563                public Void apply(Void input) {
564                    return input;
565                }},
566                new ServiceAsyncCall<Void>(){
567                @Override
568                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
569                    service.addLogsWithFaceImage(TypeTransformer.getInstance().to(
570                    logBeans,
571                    LogBean.class,
572                    net.gdface.facelog.client.thrift.LogBean.class),TypeTransformer.getInstance().to(
573                    faceImages,
574                    byte[].class,
575                    okio.ByteString.class),TypeTransformer.getInstance().to(
576                    token,
577                    Token.class,
578                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
579                }});
580        }
581        catch(net.gdface.facelog.client.thrift.DuplicateRecordException e){
582            throw TypeTransformer.getInstance().to(
583                    e,
584                    net.gdface.facelog.client.thrift.DuplicateRecordException.class,
585                    DuplicateRecordException.class);
586        }
587        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
588            throw new ServiceRuntimeException(e);
589        }
590        catch (Throwable e) {
591            Throwables.throwIfUnchecked(e);
592            throw new RuntimeException(e);
593        }
594    }
595    @Override
596    public void addLogs(final List<LogBean> beans,
597        final Token token) 
598        throws DuplicateRecordException{
599        try{
600             syncCall(new Function<Void,Void>() {
601                @Override
602                public Void apply(Void input) {
603                    return input;
604                }},
605                new ServiceAsyncCall<Void>(){
606                @Override
607                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
608                    service.addLogs(TypeTransformer.getInstance().to(
609                    beans,
610                    LogBean.class,
611                    net.gdface.facelog.client.thrift.LogBean.class),TypeTransformer.getInstance().to(
612                    token,
613                    Token.class,
614                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
615                }});
616        }
617        catch(net.gdface.facelog.client.thrift.DuplicateRecordException e){
618            throw TypeTransformer.getInstance().to(
619                    e,
620                    net.gdface.facelog.client.thrift.DuplicateRecordException.class,
621                    DuplicateRecordException.class);
622        }
623        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
624            throw new ServiceRuntimeException(e);
625        }
626        catch (Throwable e) {
627            Throwables.throwIfUnchecked(e);
628            throw new RuntimeException(e);
629        }
630    }
631    @Override
632    public String applyAckChannel(final int duration,
633        final Token token) 
634        {
635        try{
636            return syncCall(new Function<String,String>() {
637                @Override
638                public String apply(String input) {
639                    return input;
640                }},
641                new ServiceAsyncCall<String>(){
642                @Override
643                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<String> nativeCallback){
644                    service.applyAckChannelWithDuration(duration,TypeTransformer.getInstance().to(
645                    token,
646                    Token.class,
647                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
648                }});
649        }
650        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
651            throw new ServiceRuntimeException(e);
652        }
653        catch (Throwable e) {
654            Throwables.throwIfUnchecked(e);
655            throw new RuntimeException(e);
656        }
657    }
658    @Override
659    public String applyAckChannel(final Token token) 
660        {
661        try{
662            return syncCall(new Function<String,String>() {
663                @Override
664                public String apply(String input) {
665                    return input;
666                }},
667                new ServiceAsyncCall<String>(){
668                @Override
669                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<String> nativeCallback){
670                    service.applyAckChannel(TypeTransformer.getInstance().to(
671                    token,
672                    Token.class,
673                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
674                }});
675        }
676        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
677            throw new ServiceRuntimeException(e);
678        }
679        catch (Throwable e) {
680            Throwables.throwIfUnchecked(e);
681            throw new RuntimeException(e);
682        }
683    }
684    @Override
685    public int applyCmdSn(final Token token) 
686        {
687        try{
688            return syncCall(new Function<Integer,Integer>() {
689                @Override
690                public Integer apply(Integer input) {
691                    return input;
692                }},
693                new ServiceAsyncCall<Integer>(){
694                @Override
695                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
696                    service.applyCmdSn(TypeTransformer.getInstance().to(
697                    token,
698                    Token.class,
699                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
700                }});
701        }
702        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
703            throw new ServiceRuntimeException(e);
704        }
705        catch (Throwable e) {
706            Throwables.throwIfUnchecked(e);
707            throw new RuntimeException(e);
708        }
709    }
710    @Override
711    public Token applyPersonToken(final int personId,
712        final String password,
713        final boolean isMd5) 
714        throws ServiceSecurityException{
715        try{
716            return syncCall(new Function<net.gdface.facelog.client.thrift.Token,Token>() {
717                @Override
718                public Token apply(net.gdface.facelog.client.thrift.Token input) {
719                    return TypeTransformer.getInstance().to(
720                    input,
721                    net.gdface.facelog.client.thrift.Token.class,
722                    Token.class);
723                }},
724                new ServiceAsyncCall<net.gdface.facelog.client.thrift.Token>(){
725                @Override
726                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.Token> nativeCallback){
727                    service.applyPersonToken(personId,password,isMd5,nativeCallback);
728                }});
729        }
730        catch(net.gdface.facelog.client.thrift.ServiceSecurityException e){
731            throw TypeTransformer.getInstance().to(
732                    e,
733                    net.gdface.facelog.client.thrift.ServiceSecurityException.class,
734                    ServiceSecurityException.class);
735        }
736        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
737            throw new ServiceRuntimeException(e);
738        }
739        catch (Throwable e) {
740            Throwables.throwIfUnchecked(e);
741            throw new RuntimeException(e);
742        }
743    }
744    @Override
745    public Token applyRootToken(final String password,
746        final boolean isMd5) 
747        throws ServiceSecurityException{
748        try{
749            return syncCall(new Function<net.gdface.facelog.client.thrift.Token,Token>() {
750                @Override
751                public Token apply(net.gdface.facelog.client.thrift.Token input) {
752                    return TypeTransformer.getInstance().to(
753                    input,
754                    net.gdface.facelog.client.thrift.Token.class,
755                    Token.class);
756                }},
757                new ServiceAsyncCall<net.gdface.facelog.client.thrift.Token>(){
758                @Override
759                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.Token> nativeCallback){
760                    service.applyRootToken(password,isMd5,nativeCallback);
761                }});
762        }
763        catch(net.gdface.facelog.client.thrift.ServiceSecurityException e){
764            throw TypeTransformer.getInstance().to(
765                    e,
766                    net.gdface.facelog.client.thrift.ServiceSecurityException.class,
767                    ServiceSecurityException.class);
768        }
769        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
770            throw new ServiceRuntimeException(e);
771        }
772        catch (Throwable e) {
773            Throwables.throwIfUnchecked(e);
774            throw new RuntimeException(e);
775        }
776    }
777    @Override
778    public Token applyUserToken(final int userid,
779        final String password,
780        final boolean isMd5) 
781        throws ServiceSecurityException{
782        try{
783            return syncCall(new Function<net.gdface.facelog.client.thrift.Token,Token>() {
784                @Override
785                public Token apply(net.gdface.facelog.client.thrift.Token input) {
786                    return TypeTransformer.getInstance().to(
787                    input,
788                    net.gdface.facelog.client.thrift.Token.class,
789                    Token.class);
790                }},
791                new ServiceAsyncCall<net.gdface.facelog.client.thrift.Token>(){
792                @Override
793                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.Token> nativeCallback){
794                    service.applyUserToken(userid,password,isMd5,nativeCallback);
795                }});
796        }
797        catch(net.gdface.facelog.client.thrift.ServiceSecurityException e){
798            throw TypeTransformer.getInstance().to(
799                    e,
800                    net.gdface.facelog.client.thrift.ServiceSecurityException.class,
801                    ServiceSecurityException.class);
802        }
803        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
804            throw new ServiceRuntimeException(e);
805        }
806        catch (Throwable e) {
807            Throwables.throwIfUnchecked(e);
808            throw new RuntimeException(e);
809        }
810    }
811    @Override
812    public void bindBorder(final int personGroupId,
813        final int deviceGroupId,
814        final Token token) 
815        {
816        try{
817             syncCall(new Function<Void,Void>() {
818                @Override
819                public Void apply(Void input) {
820                    return input;
821                }},
822                new ServiceAsyncCall<Void>(){
823                @Override
824                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
825                    service.bindBorder(personGroupId,deviceGroupId,TypeTransformer.getInstance().to(
826                    token,
827                    Token.class,
828                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
829                }});
830        }
831        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
832            throw new ServiceRuntimeException(e);
833        }
834        catch (Throwable e) {
835            Throwables.throwIfUnchecked(e);
836            throw new RuntimeException(e);
837        }
838    }
839    @Override
840    public List<Integer> childListForDeviceGroup(final int deviceGroupId) 
841        {
842        try{
843            return syncCall(new Function<List<Integer>,List<Integer>>() {
844                @Override
845                public List<Integer> apply(List<Integer> input) {
846                    return TypeTransformer.getInstance().to(
847                    input,
848                    Integer.class,
849                    Integer.class);
850                }},
851                new ServiceAsyncCall<List<Integer>>(){
852                @Override
853                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
854                    service.childListForDeviceGroup(deviceGroupId,nativeCallback);
855                }});
856        }
857        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
858            throw new ServiceRuntimeException(e);
859        }
860        catch (Throwable e) {
861            Throwables.throwIfUnchecked(e);
862            throw new RuntimeException(e);
863        }
864    }
865    @Override
866    public List<Integer> childListForPersonGroup(final int personGroupId) 
867        {
868        try{
869            return syncCall(new Function<List<Integer>,List<Integer>>() {
870                @Override
871                public List<Integer> apply(List<Integer> input) {
872                    return TypeTransformer.getInstance().to(
873                    input,
874                    Integer.class,
875                    Integer.class);
876                }},
877                new ServiceAsyncCall<List<Integer>>(){
878                @Override
879                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
880                    service.childListForPersonGroup(personGroupId,nativeCallback);
881                }});
882        }
883        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
884            throw new ServiceRuntimeException(e);
885        }
886        catch (Throwable e) {
887            Throwables.throwIfUnchecked(e);
888            throw new RuntimeException(e);
889        }
890    }
891    @Override
892    public int countDeviceByWhere(final String where) 
893        {
894        try{
895            return syncCall(new Function<Integer,Integer>() {
896                @Override
897                public Integer apply(Integer input) {
898                    return input;
899                }},
900                new ServiceAsyncCall<Integer>(){
901                @Override
902                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
903                    service.countDeviceByWhere(where,nativeCallback);
904                }});
905        }
906        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
907            throw new ServiceRuntimeException(e);
908        }
909        catch (Throwable e) {
910            Throwables.throwIfUnchecked(e);
911            throw new RuntimeException(e);
912        }
913    }
914    @Override
915    public int countDeviceGroupByWhere(final String where) 
916        {
917        try{
918            return syncCall(new Function<Integer,Integer>() {
919                @Override
920                public Integer apply(Integer input) {
921                    return input;
922                }},
923                new ServiceAsyncCall<Integer>(){
924                @Override
925                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
926                    service.countDeviceGroupByWhere(where,nativeCallback);
927                }});
928        }
929        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
930            throw new ServiceRuntimeException(e);
931        }
932        catch (Throwable e) {
933            Throwables.throwIfUnchecked(e);
934            throw new RuntimeException(e);
935        }
936    }
937    @Override
938    public int countErrorLogByWhere(final String where) 
939        {
940        try{
941            return syncCall(new Function<Integer,Integer>() {
942                @Override
943                public Integer apply(Integer input) {
944                    return input;
945                }},
946                new ServiceAsyncCall<Integer>(){
947                @Override
948                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
949                    service.countErrorLogByWhere(where,nativeCallback);
950                }});
951        }
952        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
953            throw new ServiceRuntimeException(e);
954        }
955        catch (Throwable e) {
956            Throwables.throwIfUnchecked(e);
957            throw new RuntimeException(e);
958        }
959    }
960    @Override
961    public int countLogByWhere(final String where) 
962        {
963        try{
964            return syncCall(new Function<Integer,Integer>() {
965                @Override
966                public Integer apply(Integer input) {
967                    return input;
968                }},
969                new ServiceAsyncCall<Integer>(){
970                @Override
971                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
972                    service.countLogByWhere(where,nativeCallback);
973                }});
974        }
975        catch(net.gdface.facelog.client.thrift.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 countLogLightByVerifyTime(final String timestamp) 
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.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
995                    service.countLogLightByVerifyTimeTimestr(timestamp,nativeCallback);
996                }});
997        }
998        catch(net.gdface.facelog.client.thrift.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 int countLogLightByVerifyTime(final long timestamp) 
1008        {
1009        try{
1010            return syncCall(new Function<Integer,Integer>() {
1011                @Override
1012                public Integer apply(Integer input) {
1013                    return input;
1014                }},
1015                new ServiceAsyncCall<Integer>(){
1016                @Override
1017                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1018                    service.countLogLightByVerifyTime(timestamp,nativeCallback);
1019                }});
1020        }
1021        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1022            throw new ServiceRuntimeException(e);
1023        }
1024        catch (Throwable e) {
1025            Throwables.throwIfUnchecked(e);
1026            throw new RuntimeException(e);
1027        }
1028    }
1029    @Override
1030    public int countLogLightByWhere(final String where) 
1031        {
1032        try{
1033            return syncCall(new Function<Integer,Integer>() {
1034                @Override
1035                public Integer apply(Integer input) {
1036                    return input;
1037                }},
1038                new ServiceAsyncCall<Integer>(){
1039                @Override
1040                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1041                    service.countLogLightByWhere(where,nativeCallback);
1042                }});
1043        }
1044        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1045            throw new ServiceRuntimeException(e);
1046        }
1047        catch (Throwable e) {
1048            Throwables.throwIfUnchecked(e);
1049            throw new RuntimeException(e);
1050        }
1051    }
1052    @Override
1053    public int countPersonByWhere(final String where) 
1054        {
1055        try{
1056            return syncCall(new Function<Integer,Integer>() {
1057                @Override
1058                public Integer apply(Integer input) {
1059                    return input;
1060                }},
1061                new ServiceAsyncCall<Integer>(){
1062                @Override
1063                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1064                    service.countPersonByWhere(where,nativeCallback);
1065                }});
1066        }
1067        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1068            throw new ServiceRuntimeException(e);
1069        }
1070        catch (Throwable e) {
1071            Throwables.throwIfUnchecked(e);
1072            throw new RuntimeException(e);
1073        }
1074    }
1075    @Override
1076    public int countPersonGroupByWhere(final String where) 
1077        {
1078        try{
1079            return syncCall(new Function<Integer,Integer>() {
1080                @Override
1081                public Integer apply(Integer input) {
1082                    return input;
1083                }},
1084                new ServiceAsyncCall<Integer>(){
1085                @Override
1086                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1087                    service.countPersonGroupByWhere(where,nativeCallback);
1088                }});
1089        }
1090        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1091            throw new ServiceRuntimeException(e);
1092        }
1093        catch (Throwable e) {
1094            Throwables.throwIfUnchecked(e);
1095            throw new RuntimeException(e);
1096        }
1097    }
1098    @Override
1099    public Map<String, Integer> countPersonLog(final int personId,
1100        final Long startDate,
1101        final Long endDate) 
1102        {
1103        try{
1104            return syncCall(new Function<Map<String,Integer>,Map<String, Integer>>() {
1105                @Override
1106                public Map<String, Integer> apply(Map<String,Integer> input) {
1107                    return TypeTransformer.getInstance().to(
1108                    input,
1109                    String.class,
1110                    Integer.class,
1111                    String.class,
1112                    Integer.class);
1113                }},
1114                new ServiceAsyncCall<Map<String,Integer>>(){
1115                @Override
1116                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Map<String,Integer>> nativeCallback){
1117                    service.countPersonLog(personId,startDate,endDate,nativeCallback);
1118                }});
1119        }
1120        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1121            throw new ServiceRuntimeException(e);
1122        }
1123        catch (Throwable e) {
1124            Throwables.throwIfUnchecked(e);
1125            throw new RuntimeException(e);
1126        }
1127    }
1128    @Override
1129    public Map<String, Integer> countPersonLog(final int personId,
1130        final String startDate,
1131        final String endDate) 
1132        {
1133        try{
1134            return syncCall(new Function<Map<String,Integer>,Map<String, Integer>>() {
1135                @Override
1136                public Map<String, Integer> apply(Map<String,Integer> input) {
1137                    return TypeTransformer.getInstance().to(
1138                    input,
1139                    String.class,
1140                    Integer.class,
1141                    String.class,
1142                    Integer.class);
1143                }},
1144                new ServiceAsyncCall<Map<String,Integer>>(){
1145                @Override
1146                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Map<String,Integer>> nativeCallback){
1147                    service.countPersonLogTimeStr(personId,startDate,endDate,nativeCallback);
1148                }});
1149        }
1150        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1151            throw new ServiceRuntimeException(e);
1152        }
1153        catch (Throwable e) {
1154            Throwables.throwIfUnchecked(e);
1155            throw new RuntimeException(e);
1156        }
1157    }
1158    @Override
1159    public String createTempPwd(final int targetId,
1160        final TmpPwdTargetType targetType,
1161        final int duration,
1162        final Token token) 
1163        {
1164        try{
1165            return syncCall(new Function<String,String>() {
1166                @Override
1167                public String apply(String input) {
1168                    return input;
1169                }},
1170                new ServiceAsyncCall<String>(){
1171                @Override
1172                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<String> nativeCallback){
1173                    service.createTempPwdWithDuration(targetId,TypeTransformer.getInstance().to(
1174                    targetType,
1175                    TmpPwdTargetType.class,
1176                    net.gdface.facelog.client.thrift.TmpPwdTargetType.class),duration,TypeTransformer.getInstance().to(
1177                    token,
1178                    Token.class,
1179                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1180                }});
1181        }
1182        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1183            throw new ServiceRuntimeException(e);
1184        }
1185        catch (Throwable e) {
1186            Throwables.throwIfUnchecked(e);
1187            throw new RuntimeException(e);
1188        }
1189    }
1190    @Override
1191    public String createTempPwd(final int targetId,
1192        final TmpPwdTargetType targetType,
1193        final String expiryDate,
1194        final Token token) 
1195        {
1196        try{
1197            return syncCall(new Function<String,String>() {
1198                @Override
1199                public String apply(String input) {
1200                    return input;
1201                }},
1202                new ServiceAsyncCall<String>(){
1203                @Override
1204                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<String> nativeCallback){
1205                    service.createTempPwd(targetId,TypeTransformer.getInstance().to(
1206                    targetType,
1207                    TmpPwdTargetType.class,
1208                    net.gdface.facelog.client.thrift.TmpPwdTargetType.class),expiryDate,TypeTransformer.getInstance().to(
1209                    token,
1210                    Token.class,
1211                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1212                }});
1213        }
1214        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1215            throw new ServiceRuntimeException(e);
1216        }
1217        catch (Throwable e) {
1218            Throwables.throwIfUnchecked(e);
1219            throw new RuntimeException(e);
1220        }
1221    }
1222    @Override
1223    public int deleteAllFeaturesByPersonId(final int personId,
1224        final boolean deleteImage,
1225        final Token token) 
1226        {
1227        try{
1228            return syncCall(new Function<Integer,Integer>() {
1229                @Override
1230                public Integer apply(Integer input) {
1231                    return input;
1232                }},
1233                new ServiceAsyncCall<Integer>(){
1234                @Override
1235                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1236                    service.deleteAllFeaturesByPersonId(personId,deleteImage,TypeTransformer.getInstance().to(
1237                    token,
1238                    Token.class,
1239                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1240                }});
1241        }
1242        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1243            throw new ServiceRuntimeException(e);
1244        }
1245        catch (Throwable e) {
1246            Throwables.throwIfUnchecked(e);
1247            throw new RuntimeException(e);
1248        }
1249    }
1250    @Override
1251    public boolean deleteDevice(final int id,
1252        final Token token) 
1253        {
1254        try{
1255            return syncCall(new Function<Boolean,Boolean>() {
1256                @Override
1257                public Boolean apply(Boolean input) {
1258                    return input;
1259                }},
1260                new ServiceAsyncCall<Boolean>(){
1261                @Override
1262                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
1263                    service.deleteDevice(id,TypeTransformer.getInstance().to(
1264                    token,
1265                    Token.class,
1266                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1267                }});
1268        }
1269        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1270            throw new ServiceRuntimeException(e);
1271        }
1272        catch (Throwable e) {
1273            Throwables.throwIfUnchecked(e);
1274            throw new RuntimeException(e);
1275        }
1276    }
1277    @Override
1278    public boolean deleteDeviceByMac(final String mac,
1279        final Token token) 
1280        {
1281        try{
1282            return syncCall(new Function<Boolean,Boolean>() {
1283                @Override
1284                public Boolean apply(Boolean input) {
1285                    return input;
1286                }},
1287                new ServiceAsyncCall<Boolean>(){
1288                @Override
1289                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
1290                    service.deleteDeviceByMac(mac,TypeTransformer.getInstance().to(
1291                    token,
1292                    Token.class,
1293                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1294                }});
1295        }
1296        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1297            throw new ServiceRuntimeException(e);
1298        }
1299        catch (Throwable e) {
1300            Throwables.throwIfUnchecked(e);
1301            throw new RuntimeException(e);
1302        }
1303    }
1304    @Override
1305    public int deleteDeviceGroup(final int deviceGroupId,
1306        final Token token) 
1307        {
1308        try{
1309            return syncCall(new Function<Integer,Integer>() {
1310                @Override
1311                public Integer apply(Integer input) {
1312                    return input;
1313                }},
1314                new ServiceAsyncCall<Integer>(){
1315                @Override
1316                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1317                    service.deleteDeviceGroup(deviceGroupId,TypeTransformer.getInstance().to(
1318                    token,
1319                    Token.class,
1320                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1321                }});
1322        }
1323        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1324            throw new ServiceRuntimeException(e);
1325        }
1326        catch (Throwable e) {
1327            Throwables.throwIfUnchecked(e);
1328            throw new RuntimeException(e);
1329        }
1330    }
1331    @Override
1332    public int deleteErrorLogByWhere(final String where,
1333        final Token token) 
1334        {
1335        try{
1336            return syncCall(new Function<Integer,Integer>() {
1337                @Override
1338                public Integer apply(Integer input) {
1339                    return input;
1340                }},
1341                new ServiceAsyncCall<Integer>(){
1342                @Override
1343                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1344                    service.deleteErrorLogByWhere(where,TypeTransformer.getInstance().to(
1345                    token,
1346                    Token.class,
1347                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1348                }});
1349        }
1350        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1351            throw new ServiceRuntimeException(e);
1352        }
1353        catch (Throwable e) {
1354            Throwables.throwIfUnchecked(e);
1355            throw new RuntimeException(e);
1356        }
1357    }
1358    @Override
1359    public List<String> deleteFeature(final String featureMd5,
1360        final boolean deleteImage,
1361        final Token token) 
1362        {
1363        try{
1364            return syncCall(new Function<List<String>,List<String>>() {
1365                @Override
1366                public List<String> apply(List<String> input) {
1367                    return TypeTransformer.getInstance().to(
1368                    input,
1369                    String.class,
1370                    String.class);
1371                }},
1372                new ServiceAsyncCall<List<String>>(){
1373                @Override
1374                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<String>> nativeCallback){
1375                    service.deleteFeature(featureMd5,deleteImage,TypeTransformer.getInstance().to(
1376                    token,
1377                    Token.class,
1378                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1379                }});
1380        }
1381        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1382            throw new ServiceRuntimeException(e);
1383        }
1384        catch (Throwable e) {
1385            Throwables.throwIfUnchecked(e);
1386            throw new RuntimeException(e);
1387        }
1388    }
1389    @Override
1390    public int deleteGroupPermitOnDeviceGroup(final int deviceGroupId,
1391        final Token token) 
1392        {
1393        try{
1394            return syncCall(new Function<Integer,Integer>() {
1395                @Override
1396                public Integer apply(Integer input) {
1397                    return input;
1398                }},
1399                new ServiceAsyncCall<Integer>(){
1400                @Override
1401                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1402                    service.deleteGroupPermitOnDeviceGroup(deviceGroupId,TypeTransformer.getInstance().to(
1403                    token,
1404                    Token.class,
1405                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1406                }});
1407        }
1408        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1409            throw new ServiceRuntimeException(e);
1410        }
1411        catch (Throwable e) {
1412            Throwables.throwIfUnchecked(e);
1413            throw new RuntimeException(e);
1414        }
1415    }
1416    @Override
1417    public int deleteImage(final String imageMd5,
1418        final Token token) 
1419        {
1420        try{
1421            return syncCall(new Function<Integer,Integer>() {
1422                @Override
1423                public Integer apply(Integer input) {
1424                    return input;
1425                }},
1426                new ServiceAsyncCall<Integer>(){
1427                @Override
1428                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1429                    service.deleteImage(imageMd5,TypeTransformer.getInstance().to(
1430                    token,
1431                    Token.class,
1432                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1433                }});
1434        }
1435        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1436            throw new ServiceRuntimeException(e);
1437        }
1438        catch (Throwable e) {
1439            Throwables.throwIfUnchecked(e);
1440            throw new RuntimeException(e);
1441        }
1442    }
1443    @Override
1444    public int deleteLogByWhere(final String where,
1445        final Token token) 
1446        {
1447        try{
1448            return syncCall(new Function<Integer,Integer>() {
1449                @Override
1450                public Integer apply(Integer input) {
1451                    return input;
1452                }},
1453                new ServiceAsyncCall<Integer>(){
1454                @Override
1455                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1456                    service.deleteLogByWhere(where,TypeTransformer.getInstance().to(
1457                    token,
1458                    Token.class,
1459                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1460                }});
1461        }
1462        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1463            throw new ServiceRuntimeException(e);
1464        }
1465        catch (Throwable e) {
1466            Throwables.throwIfUnchecked(e);
1467            throw new RuntimeException(e);
1468        }
1469    }
1470    @Override
1471    public int deletePermit(final int deviceGroupId,
1472        final int personGroupId,
1473        final Token token) 
1474        {
1475        try{
1476            return syncCall(new Function<Integer,Integer>() {
1477                @Override
1478                public Integer apply(Integer input) {
1479                    return input;
1480                }},
1481                new ServiceAsyncCall<Integer>(){
1482                @Override
1483                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1484                    service.deletePermitById(deviceGroupId,personGroupId,TypeTransformer.getInstance().to(
1485                    token,
1486                    Token.class,
1487                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1488                }});
1489        }
1490        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1491            throw new ServiceRuntimeException(e);
1492        }
1493        catch (Throwable e) {
1494            Throwables.throwIfUnchecked(e);
1495            throw new RuntimeException(e);
1496        }
1497    }
1498    @Override
1499    public int deletePerson(final int personId,
1500        final Token token) 
1501        {
1502        try{
1503            return syncCall(new Function<Integer,Integer>() {
1504                @Override
1505                public Integer apply(Integer input) {
1506                    return input;
1507                }},
1508                new ServiceAsyncCall<Integer>(){
1509                @Override
1510                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1511                    service.deletePerson(personId,TypeTransformer.getInstance().to(
1512                    token,
1513                    Token.class,
1514                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1515                }});
1516        }
1517        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1518            throw new ServiceRuntimeException(e);
1519        }
1520        catch (Throwable e) {
1521            Throwables.throwIfUnchecked(e);
1522            throw new RuntimeException(e);
1523        }
1524    }
1525    @Override
1526    public int deletePersonByPapersNum(final String papersNum,
1527        final Token token) 
1528        {
1529        try{
1530            return syncCall(new Function<Integer,Integer>() {
1531                @Override
1532                public Integer apply(Integer input) {
1533                    return input;
1534                }},
1535                new ServiceAsyncCall<Integer>(){
1536                @Override
1537                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1538                    service.deletePersonByPapersNum(papersNum,TypeTransformer.getInstance().to(
1539                    token,
1540                    Token.class,
1541                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1542                }});
1543        }
1544        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1545            throw new ServiceRuntimeException(e);
1546        }
1547        catch (Throwable e) {
1548            Throwables.throwIfUnchecked(e);
1549            throw new RuntimeException(e);
1550        }
1551    }
1552    @Override
1553    public int deletePersonGroup(final int personGroupId,
1554        final Token token) 
1555        {
1556        try{
1557            return syncCall(new Function<Integer,Integer>() {
1558                @Override
1559                public Integer apply(Integer input) {
1560                    return input;
1561                }},
1562                new ServiceAsyncCall<Integer>(){
1563                @Override
1564                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1565                    service.deletePersonGroup(personGroupId,TypeTransformer.getInstance().to(
1566                    token,
1567                    Token.class,
1568                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1569                }});
1570        }
1571        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1572            throw new ServiceRuntimeException(e);
1573        }
1574        catch (Throwable e) {
1575            Throwables.throwIfUnchecked(e);
1576            throw new RuntimeException(e);
1577        }
1578    }
1579    @Override
1580    public int deletePersonGroupPermit(final int personGroupId,
1581        final Token token) 
1582        {
1583        try{
1584            return syncCall(new Function<Integer,Integer>() {
1585                @Override
1586                public Integer apply(Integer input) {
1587                    return input;
1588                }},
1589                new ServiceAsyncCall<Integer>(){
1590                @Override
1591                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1592                    service.deletePersonGroupPermit(personGroupId,TypeTransformer.getInstance().to(
1593                    token,
1594                    Token.class,
1595                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1596                }});
1597        }
1598        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1599            throw new ServiceRuntimeException(e);
1600        }
1601        catch (Throwable e) {
1602            Throwables.throwIfUnchecked(e);
1603            throw new RuntimeException(e);
1604        }
1605    }
1606    @Override
1607    public int deletePersons(final List<Integer> personIdList,
1608        final Token token) 
1609        {
1610        try{
1611            return syncCall(new Function<Integer,Integer>() {
1612                @Override
1613                public Integer apply(Integer input) {
1614                    return input;
1615                }},
1616                new ServiceAsyncCall<Integer>(){
1617                @Override
1618                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1619                    service.deletePersons(TypeTransformer.getInstance().to(
1620                    personIdList,
1621                    Integer.class,
1622                    Integer.class),TypeTransformer.getInstance().to(
1623                    token,
1624                    Token.class,
1625                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1626                }});
1627        }
1628        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1629            throw new ServiceRuntimeException(e);
1630        }
1631        catch (Throwable e) {
1632            Throwables.throwIfUnchecked(e);
1633            throw new RuntimeException(e);
1634        }
1635    }
1636    @Override
1637    public int deletePersonsByPapersNum(final List<String> papersNumlist,
1638        final Token token) 
1639        {
1640        try{
1641            return syncCall(new Function<Integer,Integer>() {
1642                @Override
1643                public Integer apply(Integer input) {
1644                    return input;
1645                }},
1646                new ServiceAsyncCall<Integer>(){
1647                @Override
1648                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1649                    service.deletePersonsByPapersNum(TypeTransformer.getInstance().to(
1650                    papersNumlist,
1651                    String.class,
1652                    String.class),TypeTransformer.getInstance().to(
1653                    token,
1654                    Token.class,
1655                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1656                }});
1657        }
1658        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1659            throw new ServiceRuntimeException(e);
1660        }
1661        catch (Throwable e) {
1662            Throwables.throwIfUnchecked(e);
1663            throw new RuntimeException(e);
1664        }
1665    }
1666    @Override
1667    public void disablePerson(final int personId,
1668        final Integer moveToGroupId,
1669        final boolean deletePhoto,
1670        final boolean deleteFeature,
1671        final boolean deleteLog,
1672        final Token token) 
1673        {
1674        try{
1675             syncCall(new Function<Void,Void>() {
1676                @Override
1677                public Void apply(Void input) {
1678                    return input;
1679                }},
1680                new ServiceAsyncCall<Void>(){
1681                @Override
1682                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
1683                    service.disablePerson(personId,moveToGroupId,deletePhoto,deleteFeature,deleteLog,TypeTransformer.getInstance().to(
1684                    token,
1685                    Token.class,
1686                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1687                }});
1688        }
1689        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1690            throw new ServiceRuntimeException(e);
1691        }
1692        catch (Throwable e) {
1693            Throwables.throwIfUnchecked(e);
1694            throw new RuntimeException(e);
1695        }
1696    }
1697    @Override
1698    public void disablePerson(final List<Integer> personIdList,
1699        final Token token) 
1700        {
1701        try{
1702             syncCall(new Function<Void,Void>() {
1703                @Override
1704                public Void apply(Void input) {
1705                    return input;
1706                }},
1707                new ServiceAsyncCall<Void>(){
1708                @Override
1709                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
1710                    service.disablePersonList(TypeTransformer.getInstance().to(
1711                    personIdList,
1712                    Integer.class,
1713                    Integer.class),TypeTransformer.getInstance().to(
1714                    token,
1715                    Token.class,
1716                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
1717                }});
1718        }
1719        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1720            throw new ServiceRuntimeException(e);
1721        }
1722        catch (Throwable e) {
1723            Throwables.throwIfUnchecked(e);
1724            throw new RuntimeException(e);
1725        }
1726    }
1727    @Override
1728    public boolean existsDevice(final int id) 
1729        {
1730        try{
1731            return syncCall(new Function<Boolean,Boolean>() {
1732                @Override
1733                public Boolean apply(Boolean input) {
1734                    return input;
1735                }},
1736                new ServiceAsyncCall<Boolean>(){
1737                @Override
1738                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
1739                    service.existsDevice(id,nativeCallback);
1740                }});
1741        }
1742        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1743            throw new ServiceRuntimeException(e);
1744        }
1745        catch (Throwable e) {
1746            Throwables.throwIfUnchecked(e);
1747            throw new RuntimeException(e);
1748        }
1749    }
1750    @Override
1751    public boolean existsFeature(final String md5) 
1752        {
1753        try{
1754            return syncCall(new Function<Boolean,Boolean>() {
1755                @Override
1756                public Boolean apply(Boolean input) {
1757                    return input;
1758                }},
1759                new ServiceAsyncCall<Boolean>(){
1760                @Override
1761                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
1762                    service.existsFeature(md5,nativeCallback);
1763                }});
1764        }
1765        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1766            throw new ServiceRuntimeException(e);
1767        }
1768        catch (Throwable e) {
1769            Throwables.throwIfUnchecked(e);
1770            throw new RuntimeException(e);
1771        }
1772    }
1773    @Override
1774    public boolean existsImage(final String md5) 
1775        {
1776        try{
1777            return syncCall(new Function<Boolean,Boolean>() {
1778                @Override
1779                public Boolean apply(Boolean input) {
1780                    return input;
1781                }},
1782                new ServiceAsyncCall<Boolean>(){
1783                @Override
1784                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
1785                    service.existsImage(md5,nativeCallback);
1786                }});
1787        }
1788        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1789            throw new ServiceRuntimeException(e);
1790        }
1791        catch (Throwable e) {
1792            Throwables.throwIfUnchecked(e);
1793            throw new RuntimeException(e);
1794        }
1795    }
1796    @Override
1797    public boolean existsPerson(final int persionId) 
1798        {
1799        try{
1800            return syncCall(new Function<Boolean,Boolean>() {
1801                @Override
1802                public Boolean apply(Boolean input) {
1803                    return input;
1804                }},
1805                new ServiceAsyncCall<Boolean>(){
1806                @Override
1807                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
1808                    service.existsPerson(persionId,nativeCallback);
1809                }});
1810        }
1811        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1812            throw new ServiceRuntimeException(e);
1813        }
1814        catch (Throwable e) {
1815            Throwables.throwIfUnchecked(e);
1816            throw new RuntimeException(e);
1817        }
1818    }
1819    @Override
1820    public int faceRecognizePersonPermitted(final byte[] imageData,
1821        final Float threshold,
1822        final int deviceId) 
1823        {
1824        try{
1825            return syncCall(new Function<Integer,Integer>() {
1826                @Override
1827                public Integer apply(Integer input) {
1828                    return input;
1829                }},
1830                new ServiceAsyncCall<Integer>(){
1831                @Override
1832                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
1833                    service.faceRecognizePersonPermitted(TypeTransformer.getInstance().to(
1834                    imageData,
1835                    byte[].class,
1836                    okio.ByteString.class),(threshold==null)?null:threshold.doubleValue(),deviceId,nativeCallback);
1837                }});
1838        }
1839        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1840            throw new ServiceRuntimeException(e);
1841        }
1842        catch (Throwable e) {
1843            Throwables.throwIfUnchecked(e);
1844            throw new RuntimeException(e);
1845        }
1846    }
1847    @Override
1848    public DeviceBean getDevice(final int deviceId) 
1849        {
1850        try{
1851            return syncCall(new Function<net.gdface.facelog.client.thrift.DeviceBean,DeviceBean>() {
1852                @Override
1853                public DeviceBean apply(net.gdface.facelog.client.thrift.DeviceBean input) {
1854                    return TypeTransformer.getInstance().to(
1855                    input,
1856                    net.gdface.facelog.client.thrift.DeviceBean.class,
1857                    DeviceBean.class);
1858                }},
1859                new ServiceAsyncCall<net.gdface.facelog.client.thrift.DeviceBean>(){
1860                @Override
1861                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.DeviceBean> nativeCallback){
1862                    service.getDevice(deviceId,nativeCallback);
1863                }});
1864        }
1865        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1866            throw new ServiceRuntimeException(e);
1867        }
1868        catch (Throwable e) {
1869            Throwables.throwIfUnchecked(e);
1870            throw new RuntimeException(e);
1871        }
1872    }
1873    @Override
1874    public DeviceBean getDeviceByMac(final String mac) 
1875        {
1876        try{
1877            return syncCall(new Function<net.gdface.facelog.client.thrift.DeviceBean,DeviceBean>() {
1878                @Override
1879                public DeviceBean apply(net.gdface.facelog.client.thrift.DeviceBean input) {
1880                    return TypeTransformer.getInstance().to(
1881                    input,
1882                    net.gdface.facelog.client.thrift.DeviceBean.class,
1883                    DeviceBean.class);
1884                }},
1885                new ServiceAsyncCall<net.gdface.facelog.client.thrift.DeviceBean>(){
1886                @Override
1887                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.DeviceBean> nativeCallback){
1888                    service.getDeviceByMac(mac,nativeCallback);
1889                }});
1890        }
1891        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1892            throw new ServiceRuntimeException(e);
1893        }
1894        catch (Throwable e) {
1895            Throwables.throwIfUnchecked(e);
1896            throw new RuntimeException(e);
1897        }
1898    }
1899    @Override
1900    public DeviceGroupBean getDeviceGroup(final int deviceGroupId) 
1901        {
1902        try{
1903            return syncCall(new Function<net.gdface.facelog.client.thrift.DeviceGroupBean,DeviceGroupBean>() {
1904                @Override
1905                public DeviceGroupBean apply(net.gdface.facelog.client.thrift.DeviceGroupBean input) {
1906                    return TypeTransformer.getInstance().to(
1907                    input,
1908                    net.gdface.facelog.client.thrift.DeviceGroupBean.class,
1909                    DeviceGroupBean.class);
1910                }},
1911                new ServiceAsyncCall<net.gdface.facelog.client.thrift.DeviceGroupBean>(){
1912                @Override
1913                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.DeviceGroupBean> nativeCallback){
1914                    service.getDeviceGroup(deviceGroupId,nativeCallback);
1915                }});
1916        }
1917        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1918            throw new ServiceRuntimeException(e);
1919        }
1920        catch (Throwable e) {
1921            Throwables.throwIfUnchecked(e);
1922            throw new RuntimeException(e);
1923        }
1924    }
1925    @Override
1926    public List<DeviceGroupBean> getDeviceGroups(final List<Integer> groupIdList) 
1927        {
1928        try{
1929            return syncCall(new Function<List<net.gdface.facelog.client.thrift.DeviceGroupBean>,List<DeviceGroupBean>>() {
1930                @Override
1931                public List<DeviceGroupBean> apply(List<net.gdface.facelog.client.thrift.DeviceGroupBean> input) {
1932                    return TypeTransformer.getInstance().to(
1933                    input,
1934                    net.gdface.facelog.client.thrift.DeviceGroupBean.class,
1935                    DeviceGroupBean.class);
1936                }},
1937                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.DeviceGroupBean>>(){
1938                @Override
1939                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.DeviceGroupBean>> nativeCallback){
1940                    service.getDeviceGroups(TypeTransformer.getInstance().to(
1941                    groupIdList,
1942                    Integer.class,
1943                    Integer.class),nativeCallback);
1944                }});
1945        }
1946        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1947            throw new ServiceRuntimeException(e);
1948        }
1949        catch (Throwable e) {
1950            Throwables.throwIfUnchecked(e);
1951            throw new RuntimeException(e);
1952        }
1953    }
1954    @Override
1955    public List<Integer> getDeviceGroupsBelongs(final int deviceId) 
1956        {
1957        try{
1958            return syncCall(new Function<List<Integer>,List<Integer>>() {
1959                @Override
1960                public List<Integer> apply(List<Integer> input) {
1961                    return TypeTransformer.getInstance().to(
1962                    input,
1963                    Integer.class,
1964                    Integer.class);
1965                }},
1966                new ServiceAsyncCall<List<Integer>>(){
1967                @Override
1968                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
1969                    service.getDeviceGroupsBelongs(deviceId,nativeCallback);
1970                }});
1971        }
1972        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1973            throw new ServiceRuntimeException(e);
1974        }
1975        catch (Throwable e) {
1976            Throwables.throwIfUnchecked(e);
1977            throw new RuntimeException(e);
1978        }
1979    }
1980    @Override
1981    public List<Integer> getDeviceGroupsPermit(final int personGroupId) 
1982        {
1983        try{
1984            return syncCall(new Function<List<Integer>,List<Integer>>() {
1985                @Override
1986                public List<Integer> apply(List<Integer> input) {
1987                    return TypeTransformer.getInstance().to(
1988                    input,
1989                    Integer.class,
1990                    Integer.class);
1991                }},
1992                new ServiceAsyncCall<List<Integer>>(){
1993                @Override
1994                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
1995                    service.getDeviceGroupsPermit(personGroupId,nativeCallback);
1996                }});
1997        }
1998        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
1999            throw new ServiceRuntimeException(e);
2000        }
2001        catch (Throwable e) {
2002            Throwables.throwIfUnchecked(e);
2003            throw new RuntimeException(e);
2004        }
2005    }
2006    @Override
2007    public List<Integer> getDeviceGroupsPermittedBy(final int personGroupId) 
2008        {
2009        try{
2010            return syncCall(new Function<List<Integer>,List<Integer>>() {
2011                @Override
2012                public List<Integer> apply(List<Integer> input) {
2013                    return TypeTransformer.getInstance().to(
2014                    input,
2015                    Integer.class,
2016                    Integer.class);
2017                }},
2018                new ServiceAsyncCall<List<Integer>>(){
2019                @Override
2020                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
2021                    service.getDeviceGroupsPermittedBy(personGroupId,nativeCallback);
2022                }});
2023        }
2024        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2025            throw new ServiceRuntimeException(e);
2026        }
2027        catch (Throwable e) {
2028            Throwables.throwIfUnchecked(e);
2029            throw new RuntimeException(e);
2030        }
2031    }
2032    @Override
2033    public Integer getDeviceIdOfFeature(final String featureMd5) 
2034        {
2035        try{
2036            return syncCall(new Function<Integer,Integer>() {
2037                @Override
2038                public Integer apply(Integer input) {
2039                    return input;
2040                }},
2041                new ServiceAsyncCall<Integer>(){
2042                @Override
2043                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
2044                    service.getDeviceIdOfFeature(featureMd5,nativeCallback);
2045                }});
2046        }
2047        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2048            throw new ServiceRuntimeException(e);
2049        }
2050        catch (Throwable e) {
2051            Throwables.throwIfUnchecked(e);
2052            throw new RuntimeException(e);
2053        }
2054    }
2055    @Override
2056    public List<DeviceBean> getDevices(final List<Integer> idList) 
2057        {
2058        try{
2059            return syncCall(new Function<List<net.gdface.facelog.client.thrift.DeviceBean>,List<DeviceBean>>() {
2060                @Override
2061                public List<DeviceBean> apply(List<net.gdface.facelog.client.thrift.DeviceBean> input) {
2062                    return TypeTransformer.getInstance().to(
2063                    input,
2064                    net.gdface.facelog.client.thrift.DeviceBean.class,
2065                    DeviceBean.class);
2066                }},
2067                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.DeviceBean>>(){
2068                @Override
2069                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.DeviceBean>> nativeCallback){
2070                    service.getDevices(TypeTransformer.getInstance().to(
2071                    idList,
2072                    Integer.class,
2073                    Integer.class),nativeCallback);
2074                }});
2075        }
2076        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2077            throw new ServiceRuntimeException(e);
2078        }
2079        catch (Throwable e) {
2080            Throwables.throwIfUnchecked(e);
2081            throw new RuntimeException(e);
2082        }
2083    }
2084    @Override
2085    public List<Integer> getDevicesOfGroup(final int deviceGroupId) 
2086        {
2087        try{
2088            return syncCall(new Function<List<Integer>,List<Integer>>() {
2089                @Override
2090                public List<Integer> apply(List<Integer> input) {
2091                    return TypeTransformer.getInstance().to(
2092                    input,
2093                    Integer.class,
2094                    Integer.class);
2095                }},
2096                new ServiceAsyncCall<List<Integer>>(){
2097                @Override
2098                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
2099                    service.getDevicesOfGroup(deviceGroupId,nativeCallback);
2100                }});
2101        }
2102        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2103            throw new ServiceRuntimeException(e);
2104        }
2105        catch (Throwable e) {
2106            Throwables.throwIfUnchecked(e);
2107            throw new RuntimeException(e);
2108        }
2109    }
2110    @Override
2111    public FaceBean getFace(final int faceId) 
2112        {
2113        try{
2114            return syncCall(new Function<net.gdface.facelog.client.thrift.FaceBean,FaceBean>() {
2115                @Override
2116                public FaceBean apply(net.gdface.facelog.client.thrift.FaceBean input) {
2117                    return TypeTransformer.getInstance().to(
2118                    input,
2119                    net.gdface.facelog.client.thrift.FaceBean.class,
2120                    FaceBean.class);
2121                }},
2122                new ServiceAsyncCall<net.gdface.facelog.client.thrift.FaceBean>(){
2123                @Override
2124                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.FaceBean> nativeCallback){
2125                    service.getFace(faceId,nativeCallback);
2126                }});
2127        }
2128        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2129            throw new ServiceRuntimeException(e);
2130        }
2131        catch (Throwable e) {
2132            Throwables.throwIfUnchecked(e);
2133            throw new RuntimeException(e);
2134        }
2135    }
2136    @Override
2137    public Map<String, String> getFaceApiParameters(final Token token) 
2138        {
2139        try{
2140            return syncCall(new Function<Map<String,String>,Map<String, String>>() {
2141                @Override
2142                public Map<String, String> apply(Map<String,String> input) {
2143                    return TypeTransformer.getInstance().to(
2144                    input,
2145                    String.class,
2146                    String.class,
2147                    String.class,
2148                    String.class);
2149                }},
2150                new ServiceAsyncCall<Map<String,String>>(){
2151                @Override
2152                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Map<String,String>> nativeCallback){
2153                    service.getFaceApiParameters(TypeTransformer.getInstance().to(
2154                    token,
2155                    Token.class,
2156                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
2157                }});
2158        }
2159        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2160            throw new ServiceRuntimeException(e);
2161        }
2162        catch (Throwable e) {
2163            Throwables.throwIfUnchecked(e);
2164            throw new RuntimeException(e);
2165        }
2166    }
2167    @Override
2168    public List<FaceBean> getFacesOfFeature(final String featureMd5) 
2169        {
2170        try{
2171            return syncCall(new Function<List<net.gdface.facelog.client.thrift.FaceBean>,List<FaceBean>>() {
2172                @Override
2173                public List<FaceBean> apply(List<net.gdface.facelog.client.thrift.FaceBean> input) {
2174                    return TypeTransformer.getInstance().to(
2175                    input,
2176                    net.gdface.facelog.client.thrift.FaceBean.class,
2177                    FaceBean.class);
2178                }},
2179                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.FaceBean>>(){
2180                @Override
2181                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.FaceBean>> nativeCallback){
2182                    service.getFacesOfFeature(featureMd5,nativeCallback);
2183                }});
2184        }
2185        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2186            throw new ServiceRuntimeException(e);
2187        }
2188        catch (Throwable e) {
2189            Throwables.throwIfUnchecked(e);
2190            throw new RuntimeException(e);
2191        }
2192    }
2193    @Override
2194    public List<FaceBean> getFacesOfImage(final String imageMd5) 
2195        {
2196        try{
2197            return syncCall(new Function<List<net.gdface.facelog.client.thrift.FaceBean>,List<FaceBean>>() {
2198                @Override
2199                public List<FaceBean> apply(List<net.gdface.facelog.client.thrift.FaceBean> input) {
2200                    return TypeTransformer.getInstance().to(
2201                    input,
2202                    net.gdface.facelog.client.thrift.FaceBean.class,
2203                    FaceBean.class);
2204                }},
2205                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.FaceBean>>(){
2206                @Override
2207                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.FaceBean>> nativeCallback){
2208                    service.getFacesOfImage(imageMd5,nativeCallback);
2209                }});
2210        }
2211        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2212            throw new ServiceRuntimeException(e);
2213        }
2214        catch (Throwable e) {
2215            Throwables.throwIfUnchecked(e);
2216            throw new RuntimeException(e);
2217        }
2218    }
2219    @Override
2220    public FeatureBean getFeature(final String md5) 
2221        {
2222        try{
2223            return syncCall(new Function<net.gdface.facelog.client.thrift.FeatureBean,FeatureBean>() {
2224                @Override
2225                public FeatureBean apply(net.gdface.facelog.client.thrift.FeatureBean input) {
2226                    return TypeTransformer.getInstance().to(
2227                    input,
2228                    net.gdface.facelog.client.thrift.FeatureBean.class,
2229                    FeatureBean.class);
2230                }},
2231                new ServiceAsyncCall<net.gdface.facelog.client.thrift.FeatureBean>(){
2232                @Override
2233                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.FeatureBean> nativeCallback){
2234                    service.getFeature(md5,nativeCallback);
2235                }});
2236        }
2237        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2238            throw new ServiceRuntimeException(e);
2239        }
2240        catch (Throwable e) {
2241            Throwables.throwIfUnchecked(e);
2242            throw new RuntimeException(e);
2243        }
2244    }
2245    @Override
2246    public byte[] getFeatureBytes(final String md5) 
2247        {
2248        try{
2249            return syncCall(new Function<okio.ByteString,byte[]>() {
2250                @Override
2251                public byte[] apply(okio.ByteString input) {
2252                    return TypeTransformer.getInstance().to(
2253                    input,
2254                    okio.ByteString.class,
2255                    byte[].class);
2256                }},
2257                new ServiceAsyncCall<okio.ByteString>(){
2258                @Override
2259                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<okio.ByteString> nativeCallback){
2260                    service.getFeatureBytes(md5,nativeCallback);
2261                }});
2262        }
2263        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2264            throw new ServiceRuntimeException(e);
2265        }
2266        catch (Throwable e) {
2267            Throwables.throwIfUnchecked(e);
2268            throw new RuntimeException(e);
2269        }
2270    }
2271    @Override
2272    public byte[] getFeatureBytes(final String md5,
2273        final boolean truncation) 
2274        {
2275        try{
2276            return syncCall(new Function<okio.ByteString,byte[]>() {
2277                @Override
2278                public byte[] apply(okio.ByteString input) {
2279                    return TypeTransformer.getInstance().to(
2280                    input,
2281                    okio.ByteString.class,
2282                    byte[].class);
2283                }},
2284                new ServiceAsyncCall<okio.ByteString>(){
2285                @Override
2286                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<okio.ByteString> nativeCallback){
2287                    service.getFeatureBytesTruncation(md5,truncation,nativeCallback);
2288                }});
2289        }
2290        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2291            throw new ServiceRuntimeException(e);
2292        }
2293        catch (Throwable e) {
2294            Throwables.throwIfUnchecked(e);
2295            throw new RuntimeException(e);
2296        }
2297    }
2298    @Override
2299    public List<byte[]> getFeatureBytesList(final List<String> md5List,
2300        final boolean truncation) 
2301        {
2302        try{
2303            return syncCall(new Function<List<okio.ByteString>,List<byte[]>>() {
2304                @Override
2305                public List<byte[]> apply(List<okio.ByteString> input) {
2306                    return TypeTransformer.getInstance().to(
2307                    input,
2308                    okio.ByteString.class,
2309                    byte[].class);
2310                }},
2311                new ServiceAsyncCall<List<okio.ByteString>>(){
2312                @Override
2313                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<okio.ByteString>> nativeCallback){
2314                    service.getFeatureBytesList(TypeTransformer.getInstance().to(
2315                    md5List,
2316                    String.class,
2317                    String.class),truncation,nativeCallback);
2318                }});
2319        }
2320        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2321            throw new ServiceRuntimeException(e);
2322        }
2323        catch (Throwable e) {
2324            Throwables.throwIfUnchecked(e);
2325            throw new RuntimeException(e);
2326        }
2327    }
2328    @Override
2329    public List<FeatureBean> getFeatures(final List<String> md5List) 
2330        {
2331        try{
2332            return syncCall(new Function<List<net.gdface.facelog.client.thrift.FeatureBean>,List<FeatureBean>>() {
2333                @Override
2334                public List<FeatureBean> apply(List<net.gdface.facelog.client.thrift.FeatureBean> input) {
2335                    return TypeTransformer.getInstance().to(
2336                    input,
2337                    net.gdface.facelog.client.thrift.FeatureBean.class,
2338                    FeatureBean.class);
2339                }},
2340                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.FeatureBean>>(){
2341                @Override
2342                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.FeatureBean>> nativeCallback){
2343                    service.getFeatures(TypeTransformer.getInstance().to(
2344                    md5List,
2345                    String.class,
2346                    String.class),nativeCallback);
2347                }});
2348        }
2349        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2350            throw new ServiceRuntimeException(e);
2351        }
2352        catch (Throwable e) {
2353            Throwables.throwIfUnchecked(e);
2354            throw new RuntimeException(e);
2355        }
2356    }
2357    @Override
2358    public List<String> getFeaturesByPersonIdAndSdkVersion(final int personId,
2359        final String sdkVersion) 
2360        {
2361        try{
2362            return syncCall(new Function<List<String>,List<String>>() {
2363                @Override
2364                public List<String> apply(List<String> input) {
2365                    return TypeTransformer.getInstance().to(
2366                    input,
2367                    String.class,
2368                    String.class);
2369                }},
2370                new ServiceAsyncCall<List<String>>(){
2371                @Override
2372                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<String>> nativeCallback){
2373                    service.getFeaturesByPersonIdAndSdkVersion(personId,sdkVersion,nativeCallback);
2374                }});
2375        }
2376        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2377            throw new ServiceRuntimeException(e);
2378        }
2379        catch (Throwable e) {
2380            Throwables.throwIfUnchecked(e);
2381            throw new RuntimeException(e);
2382        }
2383    }
2384    @Override
2385    public List<String> getFeaturesOfImage(final String imageMd5) 
2386        {
2387        try{
2388            return syncCall(new Function<List<String>,List<String>>() {
2389                @Override
2390                public List<String> apply(List<String> input) {
2391                    return TypeTransformer.getInstance().to(
2392                    input,
2393                    String.class,
2394                    String.class);
2395                }},
2396                new ServiceAsyncCall<List<String>>(){
2397                @Override
2398                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<String>> nativeCallback){
2399                    service.getFeaturesOfImage(imageMd5,nativeCallback);
2400                }});
2401        }
2402        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2403            throw new ServiceRuntimeException(e);
2404        }
2405        catch (Throwable e) {
2406            Throwables.throwIfUnchecked(e);
2407            throw new RuntimeException(e);
2408        }
2409    }
2410    @Override
2411    public List<String> getFeaturesOfPerson(final int personId) 
2412        {
2413        try{
2414            return syncCall(new Function<List<String>,List<String>>() {
2415                @Override
2416                public List<String> apply(List<String> input) {
2417                    return TypeTransformer.getInstance().to(
2418                    input,
2419                    String.class,
2420                    String.class);
2421                }},
2422                new ServiceAsyncCall<List<String>>(){
2423                @Override
2424                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<String>> nativeCallback){
2425                    service.getFeaturesOfPerson(personId,nativeCallback);
2426                }});
2427        }
2428        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2429            throw new ServiceRuntimeException(e);
2430        }
2431        catch (Throwable e) {
2432            Throwables.throwIfUnchecked(e);
2433            throw new RuntimeException(e);
2434        }
2435    }
2436    @Override
2437    public List<String> getFeaturesPermittedOnDevice(final int deviceId,
2438        final boolean ignoreSchedule,
2439        final String sdkVersion,
2440        final List<String> excludeFeatureIds,
2441        final Long timestamp) 
2442        {
2443        try{
2444            return syncCall(new Function<List<String>,List<String>>() {
2445                @Override
2446                public List<String> apply(List<String> input) {
2447                    return TypeTransformer.getInstance().to(
2448                    input,
2449                    String.class,
2450                    String.class);
2451                }},
2452                new ServiceAsyncCall<List<String>>(){
2453                @Override
2454                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<String>> nativeCallback){
2455                    service.getFeaturesPermittedOnDevice(deviceId,ignoreSchedule,sdkVersion,TypeTransformer.getInstance().to(
2456                    excludeFeatureIds,
2457                    String.class,
2458                    String.class),timestamp,nativeCallback);
2459                }});
2460        }
2461        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2462            throw new ServiceRuntimeException(e);
2463        }
2464        catch (Throwable e) {
2465            Throwables.throwIfUnchecked(e);
2466            throw new RuntimeException(e);
2467        }
2468    }
2469    @Override
2470    public PermitBean getGroupPermit(final int deviceId,
2471        final int personGroupId) 
2472        {
2473        try{
2474            return syncCall(new Function<net.gdface.facelog.client.thrift.PermitBean,PermitBean>() {
2475                @Override
2476                public PermitBean apply(net.gdface.facelog.client.thrift.PermitBean input) {
2477                    return TypeTransformer.getInstance().to(
2478                    input,
2479                    net.gdface.facelog.client.thrift.PermitBean.class,
2480                    PermitBean.class);
2481                }},
2482                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PermitBean>(){
2483                @Override
2484                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PermitBean> nativeCallback){
2485                    service.getGroupPermit(deviceId,personGroupId,nativeCallback);
2486                }});
2487        }
2488        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2489            throw new ServiceRuntimeException(e);
2490        }
2491        catch (Throwable e) {
2492            Throwables.throwIfUnchecked(e);
2493            throw new RuntimeException(e);
2494        }
2495    }
2496    @Override
2497    public PermitBean getGroupPermitOnDeviceGroup(final int deviceGroupId,
2498        final int personGroupId) 
2499        {
2500        try{
2501            return syncCall(new Function<net.gdface.facelog.client.thrift.PermitBean,PermitBean>() {
2502                @Override
2503                public PermitBean apply(net.gdface.facelog.client.thrift.PermitBean input) {
2504                    return TypeTransformer.getInstance().to(
2505                    input,
2506                    net.gdface.facelog.client.thrift.PermitBean.class,
2507                    PermitBean.class);
2508                }},
2509                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PermitBean>(){
2510                @Override
2511                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PermitBean> nativeCallback){
2512                    service.getGroupPermitOnDeviceGroup(deviceGroupId,personGroupId,nativeCallback);
2513                }});
2514        }
2515        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2516            throw new ServiceRuntimeException(e);
2517        }
2518        catch (Throwable e) {
2519            Throwables.throwIfUnchecked(e);
2520            throw new RuntimeException(e);
2521        }
2522    }
2523    @Override
2524    public List<PermitBean> getGroupPermits(final int deviceId,
2525        final List<Integer> personGroupIdList) 
2526        {
2527        try{
2528            return syncCall(new Function<List<net.gdface.facelog.client.thrift.PermitBean>,List<PermitBean>>() {
2529                @Override
2530                public List<PermitBean> apply(List<net.gdface.facelog.client.thrift.PermitBean> input) {
2531                    return TypeTransformer.getInstance().to(
2532                    input,
2533                    net.gdface.facelog.client.thrift.PermitBean.class,
2534                    PermitBean.class);
2535                }},
2536                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.PermitBean>>(){
2537                @Override
2538                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.PermitBean>> nativeCallback){
2539                    service.getGroupPermits(deviceId,TypeTransformer.getInstance().to(
2540                    personGroupIdList,
2541                    Integer.class,
2542                    Integer.class),nativeCallback);
2543                }});
2544        }
2545        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2546            throw new ServiceRuntimeException(e);
2547        }
2548        catch (Throwable e) {
2549            Throwables.throwIfUnchecked(e);
2550            throw new RuntimeException(e);
2551        }
2552    }
2553    @Override
2554    public ImageBean getImage(final String imageMD5) 
2555        {
2556        try{
2557            return syncCall(new Function<net.gdface.facelog.client.thrift.ImageBean,ImageBean>() {
2558                @Override
2559                public ImageBean apply(net.gdface.facelog.client.thrift.ImageBean input) {
2560                    return TypeTransformer.getInstance().to(
2561                    input,
2562                    net.gdface.facelog.client.thrift.ImageBean.class,
2563                    ImageBean.class);
2564                }},
2565                new ServiceAsyncCall<net.gdface.facelog.client.thrift.ImageBean>(){
2566                @Override
2567                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.ImageBean> nativeCallback){
2568                    service.getImage(imageMD5,nativeCallback);
2569                }});
2570        }
2571        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2572            throw new ServiceRuntimeException(e);
2573        }
2574        catch (Throwable e) {
2575            Throwables.throwIfUnchecked(e);
2576            throw new RuntimeException(e);
2577        }
2578    }
2579    @Override
2580    public ImageBean getImage(final String primaryKey,
2581        final String refType) 
2582        {
2583        try{
2584            return syncCall(new Function<net.gdface.facelog.client.thrift.ImageBean,ImageBean>() {
2585                @Override
2586                public ImageBean apply(net.gdface.facelog.client.thrift.ImageBean input) {
2587                    return TypeTransformer.getInstance().to(
2588                    input,
2589                    net.gdface.facelog.client.thrift.ImageBean.class,
2590                    ImageBean.class);
2591                }},
2592                new ServiceAsyncCall<net.gdface.facelog.client.thrift.ImageBean>(){
2593                @Override
2594                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.ImageBean> nativeCallback){
2595                    service.getImageRef(primaryKey,refType,nativeCallback);
2596                }});
2597        }
2598        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2599            throw new ServiceRuntimeException(e);
2600        }
2601        catch (Throwable e) {
2602            Throwables.throwIfUnchecked(e);
2603            throw new RuntimeException(e);
2604        }
2605    }
2606    @Override
2607    public byte[] getImageBytes(final String imageMD5) 
2608        {
2609        try{
2610            return syncCall(new Function<okio.ByteString,byte[]>() {
2611                @Override
2612                public byte[] apply(okio.ByteString input) {
2613                    return TypeTransformer.getInstance().to(
2614                    input,
2615                    okio.ByteString.class,
2616                    byte[].class);
2617                }},
2618                new ServiceAsyncCall<okio.ByteString>(){
2619                @Override
2620                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<okio.ByteString> nativeCallback){
2621                    service.getImageBytes(imageMD5,nativeCallback);
2622                }});
2623        }
2624        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2625            throw new ServiceRuntimeException(e);
2626        }
2627        catch (Throwable e) {
2628            Throwables.throwIfUnchecked(e);
2629            throw new RuntimeException(e);
2630        }
2631    }
2632    @Override
2633    public byte[] getImageBytes(final String primaryKey,
2634        final String refType) 
2635        {
2636        try{
2637            return syncCall(new Function<okio.ByteString,byte[]>() {
2638                @Override
2639                public byte[] apply(okio.ByteString input) {
2640                    return TypeTransformer.getInstance().to(
2641                    input,
2642                    okio.ByteString.class,
2643                    byte[].class);
2644                }},
2645                new ServiceAsyncCall<okio.ByteString>(){
2646                @Override
2647                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<okio.ByteString> nativeCallback){
2648                    service.getImageBytesRef(primaryKey,refType,nativeCallback);
2649                }});
2650        }
2651        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2652            throw new ServiceRuntimeException(e);
2653        }
2654        catch (Throwable e) {
2655            Throwables.throwIfUnchecked(e);
2656            throw new RuntimeException(e);
2657        }
2658    }
2659    @Override
2660    public List<String> getImagesAssociatedByFeature(final String featureMd5) 
2661        {
2662        try{
2663            return syncCall(new Function<List<String>,List<String>>() {
2664                @Override
2665                public List<String> apply(List<String> input) {
2666                    return TypeTransformer.getInstance().to(
2667                    input,
2668                    String.class,
2669                    String.class);
2670                }},
2671                new ServiceAsyncCall<List<String>>(){
2672                @Override
2673                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<String>> nativeCallback){
2674                    service.getImagesAssociatedByFeature(featureMd5,nativeCallback);
2675                }});
2676        }
2677        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2678            throw new ServiceRuntimeException(e);
2679        }
2680        catch (Throwable e) {
2681            Throwables.throwIfUnchecked(e);
2682            throw new RuntimeException(e);
2683        }
2684    }
2685    @Override
2686    public List<LogBean> getLogBeansByPersonId(final int personId) 
2687        {
2688        try{
2689            return syncCall(new Function<List<net.gdface.facelog.client.thrift.LogBean>,List<LogBean>>() {
2690                @Override
2691                public List<LogBean> apply(List<net.gdface.facelog.client.thrift.LogBean> input) {
2692                    return TypeTransformer.getInstance().to(
2693                    input,
2694                    net.gdface.facelog.client.thrift.LogBean.class,
2695                    LogBean.class);
2696                }},
2697                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.LogBean>>(){
2698                @Override
2699                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.LogBean>> nativeCallback){
2700                    service.getLogBeansByPersonId(personId,nativeCallback);
2701                }});
2702        }
2703        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2704            throw new ServiceRuntimeException(e);
2705        }
2706        catch (Throwable e) {
2707            Throwables.throwIfUnchecked(e);
2708            throw new RuntimeException(e);
2709        }
2710    }
2711    @Override
2712    public Map<MQParam, String> getMessageQueueParameters(final Token token) 
2713        {
2714        try{
2715            return syncCall(new Function<Map<net.gdface.facelog.client.thrift.MQParam,String>,Map<MQParam, String>>() {
2716                @Override
2717                public Map<MQParam, String> apply(Map<net.gdface.facelog.client.thrift.MQParam,String> input) {
2718                    return TypeTransformer.getInstance().to(
2719                    input,
2720                    net.gdface.facelog.client.thrift.MQParam.class,
2721                    String.class,
2722                    MQParam.class,
2723                    String.class);
2724                }},
2725                new ServiceAsyncCall<Map<net.gdface.facelog.client.thrift.MQParam,String>>(){
2726                @Override
2727                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Map<net.gdface.facelog.client.thrift.MQParam,String>> nativeCallback){
2728                    service.getMessageQueueParameters(TypeTransformer.getInstance().to(
2729                    token,
2730                    Token.class,
2731                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
2732                }});
2733        }
2734        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2735            throw new ServiceRuntimeException(e);
2736        }
2737        catch (Throwable e) {
2738            Throwables.throwIfUnchecked(e);
2739            throw new RuntimeException(e);
2740        }
2741    }
2742    @Override
2743    public PersonBean getPerson(final int personId) 
2744        {
2745        try{
2746            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
2747                @Override
2748                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
2749                    return TypeTransformer.getInstance().to(
2750                    input,
2751                    net.gdface.facelog.client.thrift.PersonBean.class,
2752                    PersonBean.class);
2753                }},
2754                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
2755                @Override
2756                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
2757                    service.getPerson(personId,nativeCallback);
2758                }});
2759        }
2760        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2761            throw new ServiceRuntimeException(e);
2762        }
2763        catch (Throwable e) {
2764            Throwables.throwIfUnchecked(e);
2765            throw new RuntimeException(e);
2766        }
2767    }
2768    @Override
2769    public PersonBean getPerson(final int personId,
2770        final Token token) 
2771        {
2772        try{
2773            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
2774                @Override
2775                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
2776                    return TypeTransformer.getInstance().to(
2777                    input,
2778                    net.gdface.facelog.client.thrift.PersonBean.class,
2779                    PersonBean.class);
2780                }},
2781                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
2782                @Override
2783                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
2784                    service.getPersonReal(personId,TypeTransformer.getInstance().to(
2785                    token,
2786                    Token.class,
2787                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
2788                }});
2789        }
2790        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2791            throw new ServiceRuntimeException(e);
2792        }
2793        catch (Throwable e) {
2794            Throwables.throwIfUnchecked(e);
2795            throw new RuntimeException(e);
2796        }
2797    }
2798    @Override
2799    public PersonBean getPersonByMobilePhone(final String mobilePhone) 
2800        {
2801        try{
2802            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
2803                @Override
2804                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
2805                    return TypeTransformer.getInstance().to(
2806                    input,
2807                    net.gdface.facelog.client.thrift.PersonBean.class,
2808                    PersonBean.class);
2809                }},
2810                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
2811                @Override
2812                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
2813                    service.getPersonByMobilePhone(mobilePhone,nativeCallback);
2814                }});
2815        }
2816        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2817            throw new ServiceRuntimeException(e);
2818        }
2819        catch (Throwable e) {
2820            Throwables.throwIfUnchecked(e);
2821            throw new RuntimeException(e);
2822        }
2823    }
2824    @Override
2825    public PersonBean getPersonByMobilePhone(final String mobilePhone,
2826        final Token token) 
2827        {
2828        try{
2829            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
2830                @Override
2831                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
2832                    return TypeTransformer.getInstance().to(
2833                    input,
2834                    net.gdface.facelog.client.thrift.PersonBean.class,
2835                    PersonBean.class);
2836                }},
2837                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
2838                @Override
2839                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
2840                    service.getPersonByMobilePhoneReal(mobilePhone,TypeTransformer.getInstance().to(
2841                    token,
2842                    Token.class,
2843                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
2844                }});
2845        }
2846        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2847            throw new ServiceRuntimeException(e);
2848        }
2849        catch (Throwable e) {
2850            Throwables.throwIfUnchecked(e);
2851            throw new RuntimeException(e);
2852        }
2853    }
2854    @Override
2855    public PersonBean getPersonByPapersNum(final String papersNum) 
2856        {
2857        try{
2858            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
2859                @Override
2860                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
2861                    return TypeTransformer.getInstance().to(
2862                    input,
2863                    net.gdface.facelog.client.thrift.PersonBean.class,
2864                    PersonBean.class);
2865                }},
2866                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
2867                @Override
2868                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
2869                    service.getPersonByPapersNum(papersNum,nativeCallback);
2870                }});
2871        }
2872        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2873            throw new ServiceRuntimeException(e);
2874        }
2875        catch (Throwable e) {
2876            Throwables.throwIfUnchecked(e);
2877            throw new RuntimeException(e);
2878        }
2879    }
2880    @Override
2881    public PersonBean getPersonByPapersNum(final String papersNum,
2882        final Token token) 
2883        {
2884        try{
2885            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
2886                @Override
2887                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
2888                    return TypeTransformer.getInstance().to(
2889                    input,
2890                    net.gdface.facelog.client.thrift.PersonBean.class,
2891                    PersonBean.class);
2892                }},
2893                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
2894                @Override
2895                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
2896                    service.getPersonByPapersNumReal(papersNum,TypeTransformer.getInstance().to(
2897                    token,
2898                    Token.class,
2899                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
2900                }});
2901        }
2902        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2903            throw new ServiceRuntimeException(e);
2904        }
2905        catch (Throwable e) {
2906            Throwables.throwIfUnchecked(e);
2907            throw new RuntimeException(e);
2908        }
2909    }
2910    @Override
2911    public PersonGroupBean getPersonGroup(final int personGroupId) 
2912        {
2913        try{
2914            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonGroupBean,PersonGroupBean>() {
2915                @Override
2916                public PersonGroupBean apply(net.gdface.facelog.client.thrift.PersonGroupBean input) {
2917                    return TypeTransformer.getInstance().to(
2918                    input,
2919                    net.gdface.facelog.client.thrift.PersonGroupBean.class,
2920                    PersonGroupBean.class);
2921                }},
2922                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonGroupBean>(){
2923                @Override
2924                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonGroupBean> nativeCallback){
2925                    service.getPersonGroup(personGroupId,nativeCallback);
2926                }});
2927        }
2928        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2929            throw new ServiceRuntimeException(e);
2930        }
2931        catch (Throwable e) {
2932            Throwables.throwIfUnchecked(e);
2933            throw new RuntimeException(e);
2934        }
2935    }
2936    @Override
2937    public List<PersonGroupBean> getPersonGroups(final List<Integer> groupIdList) 
2938        {
2939        try{
2940            return syncCall(new Function<List<net.gdface.facelog.client.thrift.PersonGroupBean>,List<PersonGroupBean>>() {
2941                @Override
2942                public List<PersonGroupBean> apply(List<net.gdface.facelog.client.thrift.PersonGroupBean> input) {
2943                    return TypeTransformer.getInstance().to(
2944                    input,
2945                    net.gdface.facelog.client.thrift.PersonGroupBean.class,
2946                    PersonGroupBean.class);
2947                }},
2948                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.PersonGroupBean>>(){
2949                @Override
2950                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.PersonGroupBean>> nativeCallback){
2951                    service.getPersonGroups(TypeTransformer.getInstance().to(
2952                    groupIdList,
2953                    Integer.class,
2954                    Integer.class),nativeCallback);
2955                }});
2956        }
2957        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2958            throw new ServiceRuntimeException(e);
2959        }
2960        catch (Throwable e) {
2961            Throwables.throwIfUnchecked(e);
2962            throw new RuntimeException(e);
2963        }
2964    }
2965    @Override
2966    public List<Integer> getPersonGroupsBelongs(final int personId) 
2967        {
2968        try{
2969            return syncCall(new Function<List<Integer>,List<Integer>>() {
2970                @Override
2971                public List<Integer> apply(List<Integer> input) {
2972                    return TypeTransformer.getInstance().to(
2973                    input,
2974                    Integer.class,
2975                    Integer.class);
2976                }},
2977                new ServiceAsyncCall<List<Integer>>(){
2978                @Override
2979                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
2980                    service.getPersonGroupsBelongs(personId,nativeCallback);
2981                }});
2982        }
2983        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
2984            throw new ServiceRuntimeException(e);
2985        }
2986        catch (Throwable e) {
2987            Throwables.throwIfUnchecked(e);
2988            throw new RuntimeException(e);
2989        }
2990    }
2991    @Override
2992    public List<Integer> getPersonGroupsPermittedBy(final int deviceGroupId) 
2993        {
2994        try{
2995            return syncCall(new Function<List<Integer>,List<Integer>>() {
2996                @Override
2997                public List<Integer> apply(List<Integer> input) {
2998                    return TypeTransformer.getInstance().to(
2999                    input,
3000                    Integer.class,
3001                    Integer.class);
3002                }},
3003                new ServiceAsyncCall<List<Integer>>(){
3004                @Override
3005                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3006                    service.getPersonGroupsPermittedBy(deviceGroupId,nativeCallback);
3007                }});
3008        }
3009        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3010            throw new ServiceRuntimeException(e);
3011        }
3012        catch (Throwable e) {
3013            Throwables.throwIfUnchecked(e);
3014            throw new RuntimeException(e);
3015        }
3016    }
3017    @Override
3018    public PermitBean getPersonPermit(final int deviceId,
3019        final int personId) 
3020        {
3021        try{
3022            return syncCall(new Function<net.gdface.facelog.client.thrift.PermitBean,PermitBean>() {
3023                @Override
3024                public PermitBean apply(net.gdface.facelog.client.thrift.PermitBean input) {
3025                    return TypeTransformer.getInstance().to(
3026                    input,
3027                    net.gdface.facelog.client.thrift.PermitBean.class,
3028                    PermitBean.class);
3029                }},
3030                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PermitBean>(){
3031                @Override
3032                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PermitBean> nativeCallback){
3033                    service.getPersonPermit(deviceId,personId,nativeCallback);
3034                }});
3035        }
3036        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3037            throw new ServiceRuntimeException(e);
3038        }
3039        catch (Throwable e) {
3040            Throwables.throwIfUnchecked(e);
3041            throw new RuntimeException(e);
3042        }
3043    }
3044    @Override
3045    public List<PermitBean> getPersonPermits(final int deviceId,
3046        final List<Integer> personIdList) 
3047        {
3048        try{
3049            return syncCall(new Function<List<net.gdface.facelog.client.thrift.PermitBean>,List<PermitBean>>() {
3050                @Override
3051                public List<PermitBean> apply(List<net.gdface.facelog.client.thrift.PermitBean> input) {
3052                    return TypeTransformer.getInstance().to(
3053                    input,
3054                    net.gdface.facelog.client.thrift.PermitBean.class,
3055                    PermitBean.class);
3056                }},
3057                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.PermitBean>>(){
3058                @Override
3059                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.PermitBean>> nativeCallback){
3060                    service.getPersonPermits(deviceId,TypeTransformer.getInstance().to(
3061                    personIdList,
3062                    Integer.class,
3063                    Integer.class),nativeCallback);
3064                }});
3065        }
3066        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3067            throw new ServiceRuntimeException(e);
3068        }
3069        catch (Throwable e) {
3070            Throwables.throwIfUnchecked(e);
3071            throw new RuntimeException(e);
3072        }
3073    }
3074    @Override
3075    public List<PersonBean> getPersons(final List<Integer> idList) 
3076        {
3077        try{
3078            return syncCall(new Function<List<net.gdface.facelog.client.thrift.PersonBean>,List<PersonBean>>() {
3079                @Override
3080                public List<PersonBean> apply(List<net.gdface.facelog.client.thrift.PersonBean> input) {
3081                    return TypeTransformer.getInstance().to(
3082                    input,
3083                    net.gdface.facelog.client.thrift.PersonBean.class,
3084                    PersonBean.class);
3085                }},
3086                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.PersonBean>>(){
3087                @Override
3088                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.PersonBean>> nativeCallback){
3089                    service.getPersons(TypeTransformer.getInstance().to(
3090                    idList,
3091                    Integer.class,
3092                    Integer.class),nativeCallback);
3093                }});
3094        }
3095        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3096            throw new ServiceRuntimeException(e);
3097        }
3098        catch (Throwable e) {
3099            Throwables.throwIfUnchecked(e);
3100            throw new RuntimeException(e);
3101        }
3102    }
3103    @Override
3104    public List<PersonBean> getPersons(final List<Integer> idList,
3105        final Token token) 
3106        {
3107        try{
3108            return syncCall(new Function<List<net.gdface.facelog.client.thrift.PersonBean>,List<PersonBean>>() {
3109                @Override
3110                public List<PersonBean> apply(List<net.gdface.facelog.client.thrift.PersonBean> input) {
3111                    return TypeTransformer.getInstance().to(
3112                    input,
3113                    net.gdface.facelog.client.thrift.PersonBean.class,
3114                    PersonBean.class);
3115                }},
3116                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.PersonBean>>(){
3117                @Override
3118                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.PersonBean>> nativeCallback){
3119                    service.getPersonsReal(TypeTransformer.getInstance().to(
3120                    idList,
3121                    Integer.class,
3122                    Integer.class),TypeTransformer.getInstance().to(
3123                    token,
3124                    Token.class,
3125                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3126                }});
3127        }
3128        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3129            throw new ServiceRuntimeException(e);
3130        }
3131        catch (Throwable e) {
3132            Throwables.throwIfUnchecked(e);
3133            throw new RuntimeException(e);
3134        }
3135    }
3136    @Override
3137    public List<Integer> getPersonsOfGroup(final int personGroupId) 
3138        {
3139        try{
3140            return syncCall(new Function<List<Integer>,List<Integer>>() {
3141                @Override
3142                public List<Integer> apply(List<Integer> input) {
3143                    return TypeTransformer.getInstance().to(
3144                    input,
3145                    Integer.class,
3146                    Integer.class);
3147                }},
3148                new ServiceAsyncCall<List<Integer>>(){
3149                @Override
3150                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3151                    service.getPersonsOfGroup(personGroupId,nativeCallback);
3152                }});
3153        }
3154        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3155            throw new ServiceRuntimeException(e);
3156        }
3157        catch (Throwable e) {
3158            Throwables.throwIfUnchecked(e);
3159            throw new RuntimeException(e);
3160        }
3161    }
3162    @Override
3163    public List<Integer> getPersonsPermittedOnDevice(final int deviceId,
3164        final boolean ignoreSchedule,
3165        final List<Integer> excludePersonIds,
3166        final Long timestamp) 
3167        {
3168        try{
3169            return syncCall(new Function<List<Integer>,List<Integer>>() {
3170                @Override
3171                public List<Integer> apply(List<Integer> input) {
3172                    return TypeTransformer.getInstance().to(
3173                    input,
3174                    Integer.class,
3175                    Integer.class);
3176                }},
3177                new ServiceAsyncCall<List<Integer>>(){
3178                @Override
3179                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3180                    service.getPersonsPermittedOnDevice(deviceId,ignoreSchedule,TypeTransformer.getInstance().to(
3181                    excludePersonIds,
3182                    Integer.class,
3183                    Integer.class),timestamp,nativeCallback);
3184                }});
3185        }
3186        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3187            throw new ServiceRuntimeException(e);
3188        }
3189        catch (Throwable e) {
3190            Throwables.throwIfUnchecked(e);
3191            throw new RuntimeException(e);
3192        }
3193    }
3194    @Override
3195    public Map<String, String> getProperties(final String prefix,
3196        final Token token) 
3197        {
3198        try{
3199            return syncCall(new Function<Map<String,String>,Map<String, String>>() {
3200                @Override
3201                public Map<String, String> apply(Map<String,String> input) {
3202                    return TypeTransformer.getInstance().to(
3203                    input,
3204                    String.class,
3205                    String.class,
3206                    String.class,
3207                    String.class);
3208                }},
3209                new ServiceAsyncCall<Map<String,String>>(){
3210                @Override
3211                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Map<String,String>> nativeCallback){
3212                    service.getProperties(prefix,TypeTransformer.getInstance().to(
3213                    token,
3214                    Token.class,
3215                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3216                }});
3217        }
3218        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3219            throw new ServiceRuntimeException(e);
3220        }
3221        catch (Throwable e) {
3222            Throwables.throwIfUnchecked(e);
3223            throw new RuntimeException(e);
3224        }
3225    }
3226    @Override
3227    public String getProperty(final String key,
3228        final Token token) 
3229        {
3230        try{
3231            return syncCall(new Function<String,String>() {
3232                @Override
3233                public String apply(String input) {
3234                    return input;
3235                }},
3236                new ServiceAsyncCall<String>(){
3237                @Override
3238                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<String> nativeCallback){
3239                    service.getProperty(key,TypeTransformer.getInstance().to(
3240                    token,
3241                    Token.class,
3242                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3243                }});
3244        }
3245        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3246            throw new ServiceRuntimeException(e);
3247        }
3248        catch (Throwable e) {
3249            Throwables.throwIfUnchecked(e);
3250            throw new RuntimeException(e);
3251        }
3252    }
3253    @Override
3254    public Map<MQParam, String> getRedisParameters(final Token token) 
3255        {
3256        try{
3257            return syncCall(new Function<Map<net.gdface.facelog.client.thrift.MQParam,String>,Map<MQParam, String>>() {
3258                @Override
3259                public Map<MQParam, String> apply(Map<net.gdface.facelog.client.thrift.MQParam,String> input) {
3260                    return TypeTransformer.getInstance().to(
3261                    input,
3262                    net.gdface.facelog.client.thrift.MQParam.class,
3263                    String.class,
3264                    MQParam.class,
3265                    String.class);
3266                }},
3267                new ServiceAsyncCall<Map<net.gdface.facelog.client.thrift.MQParam,String>>(){
3268                @Override
3269                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Map<net.gdface.facelog.client.thrift.MQParam,String>> nativeCallback){
3270                    service.getRedisParameters(TypeTransformer.getInstance().to(
3271                    token,
3272                    Token.class,
3273                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3274                }});
3275        }
3276        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3277            throw new ServiceRuntimeException(e);
3278        }
3279        catch (Throwable e) {
3280            Throwables.throwIfUnchecked(e);
3281            throw new RuntimeException(e);
3282        }
3283    }
3284    @Override
3285    public Map<String, String> getServiceConfig(final Token token) 
3286        {
3287        try{
3288            return syncCall(new Function<Map<String,String>,Map<String, String>>() {
3289                @Override
3290                public Map<String, String> apply(Map<String,String> input) {
3291                    return TypeTransformer.getInstance().to(
3292                    input,
3293                    String.class,
3294                    String.class,
3295                    String.class,
3296                    String.class);
3297                }},
3298                new ServiceAsyncCall<Map<String,String>>(){
3299                @Override
3300                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Map<String,String>> nativeCallback){
3301                    service.getServiceConfig(TypeTransformer.getInstance().to(
3302                    token,
3303                    Token.class,
3304                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3305                }});
3306        }
3307        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3308            throw new ServiceRuntimeException(e);
3309        }
3310        catch (Throwable e) {
3311            Throwables.throwIfUnchecked(e);
3312            throw new RuntimeException(e);
3313        }
3314    }
3315    @Override
3316    public List<Integer> getSubDeviceGroup(final int deviceGroupId) 
3317        {
3318        try{
3319            return syncCall(new Function<List<Integer>,List<Integer>>() {
3320                @Override
3321                public List<Integer> apply(List<Integer> input) {
3322                    return TypeTransformer.getInstance().to(
3323                    input,
3324                    Integer.class,
3325                    Integer.class);
3326                }},
3327                new ServiceAsyncCall<List<Integer>>(){
3328                @Override
3329                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3330                    service.getSubDeviceGroup(deviceGroupId,nativeCallback);
3331                }});
3332        }
3333        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3334            throw new ServiceRuntimeException(e);
3335        }
3336        catch (Throwable e) {
3337            Throwables.throwIfUnchecked(e);
3338            throw new RuntimeException(e);
3339        }
3340    }
3341    @Override
3342    public List<Integer> getSubPersonGroup(final int personGroupId) 
3343        {
3344        try{
3345            return syncCall(new Function<List<Integer>,List<Integer>>() {
3346                @Override
3347                public List<Integer> apply(List<Integer> input) {
3348                    return TypeTransformer.getInstance().to(
3349                    input,
3350                    Integer.class,
3351                    Integer.class);
3352                }},
3353                new ServiceAsyncCall<List<Integer>>(){
3354                @Override
3355                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3356                    service.getSubPersonGroup(personGroupId,nativeCallback);
3357                }});
3358        }
3359        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3360            throw new ServiceRuntimeException(e);
3361        }
3362        catch (Throwable e) {
3363            Throwables.throwIfUnchecked(e);
3364            throw new RuntimeException(e);
3365        }
3366    }
3367    @Override
3368    public TmpwdTargetInfo getTargetInfo4PwdOnDevice(final String pwd,
3369        final Token token) 
3370        {
3371        try{
3372            return syncCall(new Function<net.gdface.facelog.client.thrift.TmpwdTargetInfo,TmpwdTargetInfo>() {
3373                @Override
3374                public TmpwdTargetInfo apply(net.gdface.facelog.client.thrift.TmpwdTargetInfo input) {
3375                    return TypeTransformer.getInstance().to(
3376                    input,
3377                    net.gdface.facelog.client.thrift.TmpwdTargetInfo.class,
3378                    TmpwdTargetInfo.class);
3379                }},
3380                new ServiceAsyncCall<net.gdface.facelog.client.thrift.TmpwdTargetInfo>(){
3381                @Override
3382                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.TmpwdTargetInfo> nativeCallback){
3383                    service.getTargetInfo4PwdOnDevice(pwd,TypeTransformer.getInstance().to(
3384                    token,
3385                    Token.class,
3386                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3387                }});
3388        }
3389        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3390            throw new ServiceRuntimeException(e);
3391        }
3392        catch (Throwable e) {
3393            Throwables.throwIfUnchecked(e);
3394            throw new RuntimeException(e);
3395        }
3396    }
3397    @Override
3398    public int initTopGroup(final TopGroupInfo groupInfo,
3399        final Token token) 
3400        {
3401        try{
3402            return syncCall(new Function<Integer,Integer>() {
3403                @Override
3404                public Integer apply(Integer input) {
3405                    return input;
3406                }},
3407                new ServiceAsyncCall<Integer>(){
3408                @Override
3409                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
3410                    service.initTopGroup(TypeTransformer.getInstance().to(
3411                    groupInfo,
3412                    TopGroupInfo.class,
3413                    net.gdface.facelog.client.thrift.TopGroupInfo.class),TypeTransformer.getInstance().to(
3414                    token,
3415                    Token.class,
3416                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3417                }});
3418        }
3419        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3420            throw new ServiceRuntimeException(e);
3421        }
3422        catch (Throwable e) {
3423            Throwables.throwIfUnchecked(e);
3424            throw new RuntimeException(e);
3425        }
3426    }
3427    @Override
3428    public boolean isDisable(final int personId) 
3429        {
3430        try{
3431            return syncCall(new Function<Boolean,Boolean>() {
3432                @Override
3433                public Boolean apply(Boolean input) {
3434                    return input;
3435                }},
3436                new ServiceAsyncCall<Boolean>(){
3437                @Override
3438                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
3439                    service.isDisable(personId,nativeCallback);
3440                }});
3441        }
3442        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3443            throw new ServiceRuntimeException(e);
3444        }
3445        catch (Throwable e) {
3446            Throwables.throwIfUnchecked(e);
3447            throw new RuntimeException(e);
3448        }
3449    }
3450    @Override
3451    public boolean isLocal(){
3452        return false;
3453    }
3454    @Override
3455    public boolean isValidAckChannel(final String ackChannel) 
3456        {
3457        try{
3458            return syncCall(new Function<Boolean,Boolean>() {
3459                @Override
3460                public Boolean apply(Boolean input) {
3461                    return input;
3462                }},
3463                new ServiceAsyncCall<Boolean>(){
3464                @Override
3465                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
3466                    service.isValidAckChannel(ackChannel,nativeCallback);
3467                }});
3468        }
3469        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3470            throw new ServiceRuntimeException(e);
3471        }
3472        catch (Throwable e) {
3473            Throwables.throwIfUnchecked(e);
3474            throw new RuntimeException(e);
3475        }
3476    }
3477    @Override
3478    public boolean isValidCmdSn(final int cmdSn) 
3479        {
3480        try{
3481            return syncCall(new Function<Boolean,Boolean>() {
3482                @Override
3483                public Boolean apply(Boolean input) {
3484                    return input;
3485                }},
3486                new ServiceAsyncCall<Boolean>(){
3487                @Override
3488                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
3489                    service.isValidCmdSn(cmdSn,nativeCallback);
3490                }});
3491        }
3492        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3493            throw new ServiceRuntimeException(e);
3494        }
3495        catch (Throwable e) {
3496            Throwables.throwIfUnchecked(e);
3497            throw new RuntimeException(e);
3498        }
3499    }
3500    @Override
3501    public boolean isValidDeviceToken(final Token token) 
3502        {
3503        try{
3504            return syncCall(new Function<Boolean,Boolean>() {
3505                @Override
3506                public Boolean apply(Boolean input) {
3507                    return input;
3508                }},
3509                new ServiceAsyncCall<Boolean>(){
3510                @Override
3511                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
3512                    service.isValidDeviceToken(TypeTransformer.getInstance().to(
3513                    token,
3514                    Token.class,
3515                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3516                }});
3517        }
3518        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3519            throw new ServiceRuntimeException(e);
3520        }
3521        catch (Throwable e) {
3522            Throwables.throwIfUnchecked(e);
3523            throw new RuntimeException(e);
3524        }
3525    }
3526    @Override
3527    public boolean isValidPassword(final String userId,
3528        final String password,
3529        final boolean isMd5) 
3530        {
3531        try{
3532            return syncCall(new Function<Boolean,Boolean>() {
3533                @Override
3534                public Boolean apply(Boolean input) {
3535                    return input;
3536                }},
3537                new ServiceAsyncCall<Boolean>(){
3538                @Override
3539                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
3540                    service.isValidPassword(userId,password,isMd5,nativeCallback);
3541                }});
3542        }
3543        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3544            throw new ServiceRuntimeException(e);
3545        }
3546        catch (Throwable e) {
3547            Throwables.throwIfUnchecked(e);
3548            throw new RuntimeException(e);
3549        }
3550    }
3551    @Override
3552    public boolean isValidPersonToken(final Token token) 
3553        {
3554        try{
3555            return syncCall(new Function<Boolean,Boolean>() {
3556                @Override
3557                public Boolean apply(Boolean input) {
3558                    return input;
3559                }},
3560                new ServiceAsyncCall<Boolean>(){
3561                @Override
3562                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
3563                    service.isValidPersonToken(TypeTransformer.getInstance().to(
3564                    token,
3565                    Token.class,
3566                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3567                }});
3568        }
3569        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3570            throw new ServiceRuntimeException(e);
3571        }
3572        catch (Throwable e) {
3573            Throwables.throwIfUnchecked(e);
3574            throw new RuntimeException(e);
3575        }
3576    }
3577    @Override
3578    public boolean isValidRootToken(final Token token) 
3579        {
3580        try{
3581            return syncCall(new Function<Boolean,Boolean>() {
3582                @Override
3583                public Boolean apply(Boolean input) {
3584                    return input;
3585                }},
3586                new ServiceAsyncCall<Boolean>(){
3587                @Override
3588                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
3589                    service.isValidRootToken(TypeTransformer.getInstance().to(
3590                    token,
3591                    Token.class,
3592                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3593                }});
3594        }
3595        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3596            throw new ServiceRuntimeException(e);
3597        }
3598        catch (Throwable e) {
3599            Throwables.throwIfUnchecked(e);
3600            throw new RuntimeException(e);
3601        }
3602    }
3603    @Override
3604    public boolean isValidToken(final Token token) 
3605        {
3606        try{
3607            return syncCall(new Function<Boolean,Boolean>() {
3608                @Override
3609                public Boolean apply(Boolean input) {
3610                    return input;
3611                }},
3612                new ServiceAsyncCall<Boolean>(){
3613                @Override
3614                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
3615                    service.isValidToken(TypeTransformer.getInstance().to(
3616                    token,
3617                    Token.class,
3618                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3619                }});
3620        }
3621        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3622            throw new ServiceRuntimeException(e);
3623        }
3624        catch (Throwable e) {
3625            Throwables.throwIfUnchecked(e);
3626            throw new RuntimeException(e);
3627        }
3628    }
3629    @Override
3630    public boolean isValidUserToken(final Token token) 
3631        {
3632        try{
3633            return syncCall(new Function<Boolean,Boolean>() {
3634                @Override
3635                public Boolean apply(Boolean input) {
3636                    return input;
3637                }},
3638                new ServiceAsyncCall<Boolean>(){
3639                @Override
3640                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Boolean> nativeCallback){
3641                    service.isValidUserToken(TypeTransformer.getInstance().to(
3642                    token,
3643                    Token.class,
3644                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
3645                }});
3646        }
3647        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3648            throw new ServiceRuntimeException(e);
3649        }
3650        catch (Throwable e) {
3651            Throwables.throwIfUnchecked(e);
3652            throw new RuntimeException(e);
3653        }
3654    }
3655    @Override
3656    public String iso8601Time() 
3657        {
3658        try{
3659            return syncCall(new Function<String,String>() {
3660                @Override
3661                public String apply(String input) {
3662                    return input;
3663                }},
3664                new ServiceAsyncCall<String>(){
3665                @Override
3666                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<String> nativeCallback){
3667                    service.iso8601Time(nativeCallback);
3668                }});
3669        }
3670        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3671            throw new ServiceRuntimeException(e);
3672        }
3673        catch (Throwable e) {
3674            Throwables.throwIfUnchecked(e);
3675            throw new RuntimeException(e);
3676        }
3677    }
3678    @Override
3679    public List<Integer> listOfParentForDeviceGroup(final int deviceGroupId) 
3680        {
3681        try{
3682            return syncCall(new Function<List<Integer>,List<Integer>>() {
3683                @Override
3684                public List<Integer> apply(List<Integer> input) {
3685                    return TypeTransformer.getInstance().to(
3686                    input,
3687                    Integer.class,
3688                    Integer.class);
3689                }},
3690                new ServiceAsyncCall<List<Integer>>(){
3691                @Override
3692                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3693                    service.listOfParentForDeviceGroup(deviceGroupId,nativeCallback);
3694                }});
3695        }
3696        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3697            throw new ServiceRuntimeException(e);
3698        }
3699        catch (Throwable e) {
3700            Throwables.throwIfUnchecked(e);
3701            throw new RuntimeException(e);
3702        }
3703    }
3704    @Override
3705    public List<Integer> listOfParentForPersonGroup(final int personGroupId) 
3706        {
3707        try{
3708            return syncCall(new Function<List<Integer>,List<Integer>>() {
3709                @Override
3710                public List<Integer> apply(List<Integer> input) {
3711                    return TypeTransformer.getInstance().to(
3712                    input,
3713                    Integer.class,
3714                    Integer.class);
3715                }},
3716                new ServiceAsyncCall<List<Integer>>(){
3717                @Override
3718                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3719                    service.listOfParentForPersonGroup(personGroupId,nativeCallback);
3720                }});
3721        }
3722        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3723            throw new ServiceRuntimeException(e);
3724        }
3725        catch (Throwable e) {
3726            Throwables.throwIfUnchecked(e);
3727            throw new RuntimeException(e);
3728        }
3729    }
3730    @Override
3731    public List<Integer> loadAllPerson() 
3732        {
3733        try{
3734            return syncCall(new Function<List<Integer>,List<Integer>>() {
3735                @Override
3736                public List<Integer> apply(List<Integer> input) {
3737                    return TypeTransformer.getInstance().to(
3738                    input,
3739                    Integer.class,
3740                    Integer.class);
3741                }},
3742                new ServiceAsyncCall<List<Integer>>(){
3743                @Override
3744                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3745                    service.loadAllPerson(nativeCallback);
3746                }});
3747        }
3748        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3749            throw new ServiceRuntimeException(e);
3750        }
3751        catch (Throwable e) {
3752            Throwables.throwIfUnchecked(e);
3753            throw new RuntimeException(e);
3754        }
3755    }
3756    @Override
3757    public List<DeviceBean> loadDeviceByWhere(final String where,
3758        final int startRow,
3759        final int numRows) 
3760        {
3761        try{
3762            return syncCall(new Function<List<net.gdface.facelog.client.thrift.DeviceBean>,List<DeviceBean>>() {
3763                @Override
3764                public List<DeviceBean> apply(List<net.gdface.facelog.client.thrift.DeviceBean> input) {
3765                    return TypeTransformer.getInstance().to(
3766                    input,
3767                    net.gdface.facelog.client.thrift.DeviceBean.class,
3768                    DeviceBean.class);
3769                }},
3770                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.DeviceBean>>(){
3771                @Override
3772                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.DeviceBean>> nativeCallback){
3773                    service.loadDeviceByWhere(where,startRow,numRows,nativeCallback);
3774                }});
3775        }
3776        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3777            throw new ServiceRuntimeException(e);
3778        }
3779        catch (Throwable e) {
3780            Throwables.throwIfUnchecked(e);
3781            throw new RuntimeException(e);
3782        }
3783    }
3784    @Override
3785    public List<Integer> loadDeviceGroupByWhere(final String where,
3786        final int startRow,
3787        final int numRows) 
3788        {
3789        try{
3790            return syncCall(new Function<List<Integer>,List<Integer>>() {
3791                @Override
3792                public List<Integer> apply(List<Integer> input) {
3793                    return TypeTransformer.getInstance().to(
3794                    input,
3795                    Integer.class,
3796                    Integer.class);
3797                }},
3798                new ServiceAsyncCall<List<Integer>>(){
3799                @Override
3800                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3801                    service.loadDeviceGroupByWhere(where,startRow,numRows,nativeCallback);
3802                }});
3803        }
3804        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3805            throw new ServiceRuntimeException(e);
3806        }
3807        catch (Throwable e) {
3808            Throwables.throwIfUnchecked(e);
3809            throw new RuntimeException(e);
3810        }
3811    }
3812    @Override
3813    public List<Integer> loadDeviceGroupIdByWhere(final String where) 
3814        {
3815        try{
3816            return syncCall(new Function<List<Integer>,List<Integer>>() {
3817                @Override
3818                public List<Integer> apply(List<Integer> input) {
3819                    return TypeTransformer.getInstance().to(
3820                    input,
3821                    Integer.class,
3822                    Integer.class);
3823                }},
3824                new ServiceAsyncCall<List<Integer>>(){
3825                @Override
3826                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3827                    service.loadDeviceGroupIdByWhere(where,nativeCallback);
3828                }});
3829        }
3830        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3831            throw new ServiceRuntimeException(e);
3832        }
3833        catch (Throwable e) {
3834            Throwables.throwIfUnchecked(e);
3835            throw new RuntimeException(e);
3836        }
3837    }
3838    @Override
3839    public List<Integer> loadDeviceIdByWhere(final String where) 
3840        {
3841        try{
3842            return syncCall(new Function<List<Integer>,List<Integer>>() {
3843                @Override
3844                public List<Integer> apply(List<Integer> input) {
3845                    return TypeTransformer.getInstance().to(
3846                    input,
3847                    Integer.class,
3848                    Integer.class);
3849                }},
3850                new ServiceAsyncCall<List<Integer>>(){
3851                @Override
3852                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3853                    service.loadDeviceIdByWhere(where,nativeCallback);
3854                }});
3855        }
3856        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3857            throw new ServiceRuntimeException(e);
3858        }
3859        catch (Throwable e) {
3860            Throwables.throwIfUnchecked(e);
3861            throw new RuntimeException(e);
3862        }
3863    }
3864    @Override
3865    public List<Integer> loadDistinctIntegerColumn(final String table,
3866        final String column,
3867        final String where) 
3868        {
3869        try{
3870            return syncCall(new Function<List<Integer>,List<Integer>>() {
3871                @Override
3872                public List<Integer> apply(List<Integer> input) {
3873                    return TypeTransformer.getInstance().to(
3874                    input,
3875                    Integer.class,
3876                    Integer.class);
3877                }},
3878                new ServiceAsyncCall<List<Integer>>(){
3879                @Override
3880                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
3881                    service.loadDistinctIntegerColumn(table,column,where,nativeCallback);
3882                }});
3883        }
3884        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3885            throw new ServiceRuntimeException(e);
3886        }
3887        catch (Throwable e) {
3888            Throwables.throwIfUnchecked(e);
3889            throw new RuntimeException(e);
3890        }
3891    }
3892    @Override
3893    public List<String> loadDistinctStringColumn(final String table,
3894        final String column,
3895        final String where) 
3896        {
3897        try{
3898            return syncCall(new Function<List<String>,List<String>>() {
3899                @Override
3900                public List<String> apply(List<String> input) {
3901                    return TypeTransformer.getInstance().to(
3902                    input,
3903                    String.class,
3904                    String.class);
3905                }},
3906                new ServiceAsyncCall<List<String>>(){
3907                @Override
3908                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<String>> nativeCallback){
3909                    service.loadDistinctStringColumn(table,column,where,nativeCallback);
3910                }});
3911        }
3912        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3913            throw new ServiceRuntimeException(e);
3914        }
3915        catch (Throwable e) {
3916            Throwables.throwIfUnchecked(e);
3917            throw new RuntimeException(e);
3918        }
3919    }
3920    @Override
3921    public List<ErrorLogBean> loadErrorLogByWhere(final String where,
3922        final int startRow,
3923        final int numRows) 
3924        {
3925        try{
3926            return syncCall(new Function<List<net.gdface.facelog.client.thrift.ErrorLogBean>,List<ErrorLogBean>>() {
3927                @Override
3928                public List<ErrorLogBean> apply(List<net.gdface.facelog.client.thrift.ErrorLogBean> input) {
3929                    return TypeTransformer.getInstance().to(
3930                    input,
3931                    net.gdface.facelog.client.thrift.ErrorLogBean.class,
3932                    ErrorLogBean.class);
3933                }},
3934                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.ErrorLogBean>>(){
3935                @Override
3936                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.ErrorLogBean>> nativeCallback){
3937                    service.loadErrorLogByWhere(where,startRow,numRows,nativeCallback);
3938                }});
3939        }
3940        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3941            throw new ServiceRuntimeException(e);
3942        }
3943        catch (Throwable e) {
3944            Throwables.throwIfUnchecked(e);
3945            throw new RuntimeException(e);
3946        }
3947    }
3948    @Override
3949    public List<String> loadFeatureMd5ByUpdate(final String timestamp) 
3950        {
3951        try{
3952            return syncCall(new Function<List<String>,List<String>>() {
3953                @Override
3954                public List<String> apply(List<String> input) {
3955                    return TypeTransformer.getInstance().to(
3956                    input,
3957                    String.class,
3958                    String.class);
3959                }},
3960                new ServiceAsyncCall<List<String>>(){
3961                @Override
3962                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<String>> nativeCallback){
3963                    service.loadFeatureMd5ByUpdateTimeStr(timestamp,nativeCallback);
3964                }});
3965        }
3966        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3967            throw new ServiceRuntimeException(e);
3968        }
3969        catch (Throwable e) {
3970            Throwables.throwIfUnchecked(e);
3971            throw new RuntimeException(e);
3972        }
3973    }
3974    @Override
3975    public List<String> loadFeatureMd5ByUpdate(final long timestamp) 
3976        {
3977        try{
3978            return syncCall(new Function<List<String>,List<String>>() {
3979                @Override
3980                public List<String> apply(List<String> input) {
3981                    return TypeTransformer.getInstance().to(
3982                    input,
3983                    String.class,
3984                    String.class);
3985                }},
3986                new ServiceAsyncCall<List<String>>(){
3987                @Override
3988                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<String>> nativeCallback){
3989                    service.loadFeatureMd5ByUpdate(timestamp,nativeCallback);
3990                }});
3991        }
3992        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
3993            throw new ServiceRuntimeException(e);
3994        }
3995        catch (Throwable e) {
3996            Throwables.throwIfUnchecked(e);
3997            throw new RuntimeException(e);
3998        }
3999    }
4000    @Override
4001    public List<LogBean> loadLogByWhere(final String where,
4002        final int startRow,
4003        final int numRows) 
4004        {
4005        try{
4006            return syncCall(new Function<List<net.gdface.facelog.client.thrift.LogBean>,List<LogBean>>() {
4007                @Override
4008                public List<LogBean> apply(List<net.gdface.facelog.client.thrift.LogBean> input) {
4009                    return TypeTransformer.getInstance().to(
4010                    input,
4011                    net.gdface.facelog.client.thrift.LogBean.class,
4012                    LogBean.class);
4013                }},
4014                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.LogBean>>(){
4015                @Override
4016                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.LogBean>> nativeCallback){
4017                    service.loadLogByWhere(where,startRow,numRows,nativeCallback);
4018                }});
4019        }
4020        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4021            throw new ServiceRuntimeException(e);
4022        }
4023        catch (Throwable e) {
4024            Throwables.throwIfUnchecked(e);
4025            throw new RuntimeException(e);
4026        }
4027    }
4028    @Override
4029    public List<LogLightBean> loadLogLightByVerifyTime(final String timestamp,
4030        final int startRow,
4031        final int numRows) 
4032        {
4033        try{
4034            return syncCall(new Function<List<net.gdface.facelog.client.thrift.LogLightBean>,List<LogLightBean>>() {
4035                @Override
4036                public List<LogLightBean> apply(List<net.gdface.facelog.client.thrift.LogLightBean> input) {
4037                    return TypeTransformer.getInstance().to(
4038                    input,
4039                    net.gdface.facelog.client.thrift.LogLightBean.class,
4040                    LogLightBean.class);
4041                }},
4042                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.LogLightBean>>(){
4043                @Override
4044                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.LogLightBean>> nativeCallback){
4045                    service.loadLogLightByVerifyTimeTimestr(timestamp,startRow,numRows,nativeCallback);
4046                }});
4047        }
4048        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4049            throw new ServiceRuntimeException(e);
4050        }
4051        catch (Throwable e) {
4052            Throwables.throwIfUnchecked(e);
4053            throw new RuntimeException(e);
4054        }
4055    }
4056    @Override
4057    public List<LogLightBean> loadLogLightByVerifyTime(final long timestamp,
4058        final int startRow,
4059        final int numRows) 
4060        {
4061        try{
4062            return syncCall(new Function<List<net.gdface.facelog.client.thrift.LogLightBean>,List<LogLightBean>>() {
4063                @Override
4064                public List<LogLightBean> apply(List<net.gdface.facelog.client.thrift.LogLightBean> input) {
4065                    return TypeTransformer.getInstance().to(
4066                    input,
4067                    net.gdface.facelog.client.thrift.LogLightBean.class,
4068                    LogLightBean.class);
4069                }},
4070                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.LogLightBean>>(){
4071                @Override
4072                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.LogLightBean>> nativeCallback){
4073                    service.loadLogLightByVerifyTime(timestamp,startRow,numRows,nativeCallback);
4074                }});
4075        }
4076        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4077            throw new ServiceRuntimeException(e);
4078        }
4079        catch (Throwable e) {
4080            Throwables.throwIfUnchecked(e);
4081            throw new RuntimeException(e);
4082        }
4083    }
4084    @Override
4085    public List<LogLightBean> loadLogLightByWhere(final String where,
4086        final int startRow,
4087        final int numRows) 
4088        {
4089        try{
4090            return syncCall(new Function<List<net.gdface.facelog.client.thrift.LogLightBean>,List<LogLightBean>>() {
4091                @Override
4092                public List<LogLightBean> apply(List<net.gdface.facelog.client.thrift.LogLightBean> input) {
4093                    return TypeTransformer.getInstance().to(
4094                    input,
4095                    net.gdface.facelog.client.thrift.LogLightBean.class,
4096                    LogLightBean.class);
4097                }},
4098                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.LogLightBean>>(){
4099                @Override
4100                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.LogLightBean>> nativeCallback){
4101                    service.loadLogLightByWhere(where,startRow,numRows,nativeCallback);
4102                }});
4103        }
4104        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4105            throw new ServiceRuntimeException(e);
4106        }
4107        catch (Throwable e) {
4108            Throwables.throwIfUnchecked(e);
4109            throw new RuntimeException(e);
4110        }
4111    }
4112    @Override
4113    public List<PermitBean> loadPermitByUpdate(final String timestamp) 
4114        {
4115        try{
4116            return syncCall(new Function<List<net.gdface.facelog.client.thrift.PermitBean>,List<PermitBean>>() {
4117                @Override
4118                public List<PermitBean> apply(List<net.gdface.facelog.client.thrift.PermitBean> input) {
4119                    return TypeTransformer.getInstance().to(
4120                    input,
4121                    net.gdface.facelog.client.thrift.PermitBean.class,
4122                    PermitBean.class);
4123                }},
4124                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.PermitBean>>(){
4125                @Override
4126                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.PermitBean>> nativeCallback){
4127                    service.loadPermitByUpdateTimestr(timestamp,nativeCallback);
4128                }});
4129        }
4130        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4131            throw new ServiceRuntimeException(e);
4132        }
4133        catch (Throwable e) {
4134            Throwables.throwIfUnchecked(e);
4135            throw new RuntimeException(e);
4136        }
4137    }
4138    @Override
4139    public List<PermitBean> loadPermitByUpdate(final long timestamp) 
4140        {
4141        try{
4142            return syncCall(new Function<List<net.gdface.facelog.client.thrift.PermitBean>,List<PermitBean>>() {
4143                @Override
4144                public List<PermitBean> apply(List<net.gdface.facelog.client.thrift.PermitBean> input) {
4145                    return TypeTransformer.getInstance().to(
4146                    input,
4147                    net.gdface.facelog.client.thrift.PermitBean.class,
4148                    PermitBean.class);
4149                }},
4150                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.PermitBean>>(){
4151                @Override
4152                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.PermitBean>> nativeCallback){
4153                    service.loadPermitByUpdate(timestamp,nativeCallback);
4154                }});
4155        }
4156        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4157            throw new ServiceRuntimeException(e);
4158        }
4159        catch (Throwable e) {
4160            Throwables.throwIfUnchecked(e);
4161            throw new RuntimeException(e);
4162        }
4163    }
4164    @Override
4165    public List<PersonBean> loadPersonByWhere(final String where,
4166        final int startRow,
4167        final int numRows) 
4168        {
4169        try{
4170            return syncCall(new Function<List<net.gdface.facelog.client.thrift.PersonBean>,List<PersonBean>>() {
4171                @Override
4172                public List<PersonBean> apply(List<net.gdface.facelog.client.thrift.PersonBean> input) {
4173                    return TypeTransformer.getInstance().to(
4174                    input,
4175                    net.gdface.facelog.client.thrift.PersonBean.class,
4176                    PersonBean.class);
4177                }},
4178                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.PersonBean>>(){
4179                @Override
4180                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.PersonBean>> nativeCallback){
4181                    service.loadPersonByWhere(where,startRow,numRows,nativeCallback);
4182                }});
4183        }
4184        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4185            throw new ServiceRuntimeException(e);
4186        }
4187        catch (Throwable e) {
4188            Throwables.throwIfUnchecked(e);
4189            throw new RuntimeException(e);
4190        }
4191    }
4192    @Override
4193    public List<PersonBean> loadPersonByWhere(final String where,
4194        final int startRow,
4195        final int numRows,
4196        final Token token) 
4197        {
4198        try{
4199            return syncCall(new Function<List<net.gdface.facelog.client.thrift.PersonBean>,List<PersonBean>>() {
4200                @Override
4201                public List<PersonBean> apply(List<net.gdface.facelog.client.thrift.PersonBean> input) {
4202                    return TypeTransformer.getInstance().to(
4203                    input,
4204                    net.gdface.facelog.client.thrift.PersonBean.class,
4205                    PersonBean.class);
4206                }},
4207                new ServiceAsyncCall<List<net.gdface.facelog.client.thrift.PersonBean>>(){
4208                @Override
4209                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<net.gdface.facelog.client.thrift.PersonBean>> nativeCallback){
4210                    service.loadPersonByWhereReal(where,startRow,numRows,TypeTransformer.getInstance().to(
4211                    token,
4212                    Token.class,
4213                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4214                }});
4215        }
4216        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4217            throw new ServiceRuntimeException(e);
4218        }
4219        catch (Throwable e) {
4220            Throwables.throwIfUnchecked(e);
4221            throw new RuntimeException(e);
4222        }
4223    }
4224    @Override
4225    public List<Integer> loadPersonGroupByWhere(final String where,
4226        final int startRow,
4227        final int numRows) 
4228        {
4229        try{
4230            return syncCall(new Function<List<Integer>,List<Integer>>() {
4231                @Override
4232                public List<Integer> apply(List<Integer> input) {
4233                    return TypeTransformer.getInstance().to(
4234                    input,
4235                    Integer.class,
4236                    Integer.class);
4237                }},
4238                new ServiceAsyncCall<List<Integer>>(){
4239                @Override
4240                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
4241                    service.loadPersonGroupByWhere(where,startRow,numRows,nativeCallback);
4242                }});
4243        }
4244        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4245            throw new ServiceRuntimeException(e);
4246        }
4247        catch (Throwable e) {
4248            Throwables.throwIfUnchecked(e);
4249            throw new RuntimeException(e);
4250        }
4251    }
4252    @Override
4253    public List<Integer> loadPersonGroupIdByWhere(final String where) 
4254        {
4255        try{
4256            return syncCall(new Function<List<Integer>,List<Integer>>() {
4257                @Override
4258                public List<Integer> apply(List<Integer> input) {
4259                    return TypeTransformer.getInstance().to(
4260                    input,
4261                    Integer.class,
4262                    Integer.class);
4263                }},
4264                new ServiceAsyncCall<List<Integer>>(){
4265                @Override
4266                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
4267                    service.loadPersonGroupIdByWhere(where,nativeCallback);
4268                }});
4269        }
4270        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4271            throw new ServiceRuntimeException(e);
4272        }
4273        catch (Throwable e) {
4274            Throwables.throwIfUnchecked(e);
4275            throw new RuntimeException(e);
4276        }
4277    }
4278    @Override
4279    public List<Integer> loadPersonIdByUpdateTime(final String timestamp) 
4280        {
4281        try{
4282            return syncCall(new Function<List<Integer>,List<Integer>>() {
4283                @Override
4284                public List<Integer> apply(List<Integer> input) {
4285                    return TypeTransformer.getInstance().to(
4286                    input,
4287                    Integer.class,
4288                    Integer.class);
4289                }},
4290                new ServiceAsyncCall<List<Integer>>(){
4291                @Override
4292                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
4293                    service.loadPersonIdByUpdateTimeTimeStr(timestamp,nativeCallback);
4294                }});
4295        }
4296        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4297            throw new ServiceRuntimeException(e);
4298        }
4299        catch (Throwable e) {
4300            Throwables.throwIfUnchecked(e);
4301            throw new RuntimeException(e);
4302        }
4303    }
4304    @Override
4305    public List<Integer> loadPersonIdByUpdateTime(final long timestamp) 
4306        {
4307        try{
4308            return syncCall(new Function<List<Integer>,List<Integer>>() {
4309                @Override
4310                public List<Integer> apply(List<Integer> input) {
4311                    return TypeTransformer.getInstance().to(
4312                    input,
4313                    Integer.class,
4314                    Integer.class);
4315                }},
4316                new ServiceAsyncCall<List<Integer>>(){
4317                @Override
4318                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
4319                    service.loadPersonIdByUpdateTime(timestamp,nativeCallback);
4320                }});
4321        }
4322        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4323            throw new ServiceRuntimeException(e);
4324        }
4325        catch (Throwable e) {
4326            Throwables.throwIfUnchecked(e);
4327            throw new RuntimeException(e);
4328        }
4329    }
4330    @Override
4331    public List<Integer> loadPersonIdByWhere(final String where) 
4332        {
4333        try{
4334            return syncCall(new Function<List<Integer>,List<Integer>>() {
4335                @Override
4336                public List<Integer> apply(List<Integer> input) {
4337                    return TypeTransformer.getInstance().to(
4338                    input,
4339                    Integer.class,
4340                    Integer.class);
4341                }},
4342                new ServiceAsyncCall<List<Integer>>(){
4343                @Override
4344                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
4345                    service.loadPersonIdByWhere(where,nativeCallback);
4346                }});
4347        }
4348        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4349            throw new ServiceRuntimeException(e);
4350        }
4351        catch (Throwable e) {
4352            Throwables.throwIfUnchecked(e);
4353            throw new RuntimeException(e);
4354        }
4355    }
4356    @Override
4357    public List<Integer> loadUpdatedPersons(final String timestamp) 
4358        {
4359        try{
4360            return syncCall(new Function<List<Integer>,List<Integer>>() {
4361                @Override
4362                public List<Integer> apply(List<Integer> input) {
4363                    return TypeTransformer.getInstance().to(
4364                    input,
4365                    Integer.class,
4366                    Integer.class);
4367                }},
4368                new ServiceAsyncCall<List<Integer>>(){
4369                @Override
4370                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
4371                    service.loadUpdatedPersonsTimestr(timestamp,nativeCallback);
4372                }});
4373        }
4374        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4375            throw new ServiceRuntimeException(e);
4376        }
4377        catch (Throwable e) {
4378            Throwables.throwIfUnchecked(e);
4379            throw new RuntimeException(e);
4380        }
4381    }
4382    @Override
4383    public List<Integer> loadUpdatedPersons(final long timestamp) 
4384        {
4385        try{
4386            return syncCall(new Function<List<Integer>,List<Integer>>() {
4387                @Override
4388                public List<Integer> apply(List<Integer> input) {
4389                    return TypeTransformer.getInstance().to(
4390                    input,
4391                    Integer.class,
4392                    Integer.class);
4393                }},
4394                new ServiceAsyncCall<List<Integer>>(){
4395                @Override
4396                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<List<Integer>> nativeCallback){
4397                    service.loadUpdatedPersons(timestamp,nativeCallback);
4398                }});
4399        }
4400        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4401            throw new ServiceRuntimeException(e);
4402        }
4403        catch (Throwable e) {
4404            Throwables.throwIfUnchecked(e);
4405            throw new RuntimeException(e);
4406        }
4407    }
4408    @Override
4409    public LockWakeupResponse lockWakeup(final DeviceBean deviceBean,
4410        final boolean ignoreSchedule,
4411        final String sdkVersion) 
4412        throws ServiceSecurityException{
4413        try{
4414            return syncCall(new Function<net.gdface.facelog.client.thrift.LockWakeupResponse,LockWakeupResponse>() {
4415                @Override
4416                public LockWakeupResponse apply(net.gdface.facelog.client.thrift.LockWakeupResponse input) {
4417                    return TypeTransformer.getInstance().to(
4418                    input,
4419                    net.gdface.facelog.client.thrift.LockWakeupResponse.class,
4420                    LockWakeupResponse.class);
4421                }},
4422                new ServiceAsyncCall<net.gdface.facelog.client.thrift.LockWakeupResponse>(){
4423                @Override
4424                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.LockWakeupResponse> nativeCallback){
4425                    service.lockWakeup(TypeTransformer.getInstance().to(
4426                    deviceBean,
4427                    DeviceBean.class,
4428                    net.gdface.facelog.client.thrift.DeviceBean.class),ignoreSchedule,sdkVersion,nativeCallback);
4429                }});
4430        }
4431        catch(net.gdface.facelog.client.thrift.ServiceSecurityException e){
4432            throw TypeTransformer.getInstance().to(
4433                    e,
4434                    net.gdface.facelog.client.thrift.ServiceSecurityException.class,
4435                    ServiceSecurityException.class);
4436        }
4437        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4438            throw new ServiceRuntimeException(e);
4439        }
4440        catch (Throwable e) {
4441            Throwables.throwIfUnchecked(e);
4442            throw new RuntimeException(e);
4443        }
4444    }
4445    @Override
4446    public void offline(final Token token) 
4447        throws ServiceSecurityException{
4448        try{
4449             syncCall(new Function<Void,Void>() {
4450                @Override
4451                public Void apply(Void input) {
4452                    return input;
4453                }},
4454                new ServiceAsyncCall<Void>(){
4455                @Override
4456                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
4457                    service.offline(TypeTransformer.getInstance().to(
4458                    token,
4459                    Token.class,
4460                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4461                }});
4462        }
4463        catch(net.gdface.facelog.client.thrift.ServiceSecurityException e){
4464            throw TypeTransformer.getInstance().to(
4465                    e,
4466                    net.gdface.facelog.client.thrift.ServiceSecurityException.class,
4467                    ServiceSecurityException.class);
4468        }
4469        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4470            throw new ServiceRuntimeException(e);
4471        }
4472        catch (Throwable e) {
4473            Throwables.throwIfUnchecked(e);
4474            throw new RuntimeException(e);
4475        }
4476    }
4477    @Override
4478    public Token online(final DeviceBean device) 
4479        throws ServiceSecurityException{
4480        try{
4481            return syncCall(new Function<net.gdface.facelog.client.thrift.Token,Token>() {
4482                @Override
4483                public Token apply(net.gdface.facelog.client.thrift.Token input) {
4484                    return TypeTransformer.getInstance().to(
4485                    input,
4486                    net.gdface.facelog.client.thrift.Token.class,
4487                    Token.class);
4488                }},
4489                new ServiceAsyncCall<net.gdface.facelog.client.thrift.Token>(){
4490                @Override
4491                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.Token> nativeCallback){
4492                    service.online(TypeTransformer.getInstance().to(
4493                    device,
4494                    DeviceBean.class,
4495                    net.gdface.facelog.client.thrift.DeviceBean.class),nativeCallback);
4496                }});
4497        }
4498        catch(net.gdface.facelog.client.thrift.ServiceSecurityException e){
4499            throw TypeTransformer.getInstance().to(
4500                    e,
4501                    net.gdface.facelog.client.thrift.ServiceSecurityException.class,
4502                    ServiceSecurityException.class);
4503        }
4504        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4505            throw new ServiceRuntimeException(e);
4506        }
4507        catch (Throwable e) {
4508            Throwables.throwIfUnchecked(e);
4509            throw new RuntimeException(e);
4510        }
4511    }
4512    @Override
4513    public DeviceBean registerDevice(final DeviceBean newDevice) 
4514        throws ServiceSecurityException{
4515        try{
4516            return syncCall(new Function<net.gdface.facelog.client.thrift.DeviceBean,DeviceBean>() {
4517                @Override
4518                public DeviceBean apply(net.gdface.facelog.client.thrift.DeviceBean input) {
4519                    return TypeTransformer.getInstance().to(
4520                    input,
4521                    net.gdface.facelog.client.thrift.DeviceBean.class,
4522                    DeviceBean.class);
4523                }},
4524                new ServiceAsyncCall<net.gdface.facelog.client.thrift.DeviceBean>(){
4525                @Override
4526                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.DeviceBean> nativeCallback){
4527                    service.registerDevice(TypeTransformer.getInstance().to(
4528                    newDevice,
4529                    DeviceBean.class,
4530                    net.gdface.facelog.client.thrift.DeviceBean.class),nativeCallback);
4531                }});
4532        }
4533        catch(net.gdface.facelog.client.thrift.ServiceSecurityException e){
4534            throw TypeTransformer.getInstance().to(
4535                    e,
4536                    net.gdface.facelog.client.thrift.ServiceSecurityException.class,
4537                    ServiceSecurityException.class);
4538        }
4539        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4540            throw new ServiceRuntimeException(e);
4541        }
4542        catch (Throwable e) {
4543            Throwables.throwIfUnchecked(e);
4544            throw new RuntimeException(e);
4545        }
4546    }
4547    @Override
4548    public void releasePersonToken(final Token token) 
4549        throws ServiceSecurityException{
4550        try{
4551             syncCall(new Function<Void,Void>() {
4552                @Override
4553                public Void apply(Void input) {
4554                    return input;
4555                }},
4556                new ServiceAsyncCall<Void>(){
4557                @Override
4558                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
4559                    service.releasePersonToken(TypeTransformer.getInstance().to(
4560                    token,
4561                    Token.class,
4562                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4563                }});
4564        }
4565        catch(net.gdface.facelog.client.thrift.ServiceSecurityException e){
4566            throw TypeTransformer.getInstance().to(
4567                    e,
4568                    net.gdface.facelog.client.thrift.ServiceSecurityException.class,
4569                    ServiceSecurityException.class);
4570        }
4571        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4572            throw new ServiceRuntimeException(e);
4573        }
4574        catch (Throwable e) {
4575            Throwables.throwIfUnchecked(e);
4576            throw new RuntimeException(e);
4577        }
4578    }
4579    @Override
4580    public void releaseRootToken(final Token token) 
4581        throws ServiceSecurityException{
4582        try{
4583             syncCall(new Function<Void,Void>() {
4584                @Override
4585                public Void apply(Void input) {
4586                    return input;
4587                }},
4588                new ServiceAsyncCall<Void>(){
4589                @Override
4590                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
4591                    service.releaseRootToken(TypeTransformer.getInstance().to(
4592                    token,
4593                    Token.class,
4594                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4595                }});
4596        }
4597        catch(net.gdface.facelog.client.thrift.ServiceSecurityException e){
4598            throw TypeTransformer.getInstance().to(
4599                    e,
4600                    net.gdface.facelog.client.thrift.ServiceSecurityException.class,
4601                    ServiceSecurityException.class);
4602        }
4603        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4604            throw new ServiceRuntimeException(e);
4605        }
4606        catch (Throwable e) {
4607            Throwables.throwIfUnchecked(e);
4608            throw new RuntimeException(e);
4609        }
4610    }
4611    @Override
4612    public void releaseUserToken(final Token token) 
4613        throws ServiceSecurityException{
4614        try{
4615             syncCall(new Function<Void,Void>() {
4616                @Override
4617                public Void apply(Void input) {
4618                    return input;
4619                }},
4620                new ServiceAsyncCall<Void>(){
4621                @Override
4622                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
4623                    service.releaseUserToken(TypeTransformer.getInstance().to(
4624                    token,
4625                    Token.class,
4626                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4627                }});
4628        }
4629        catch(net.gdface.facelog.client.thrift.ServiceSecurityException e){
4630            throw TypeTransformer.getInstance().to(
4631                    e,
4632                    net.gdface.facelog.client.thrift.ServiceSecurityException.class,
4633                    ServiceSecurityException.class);
4634        }
4635        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4636            throw new ServiceRuntimeException(e);
4637        }
4638        catch (Throwable e) {
4639            Throwables.throwIfUnchecked(e);
4640            throw new RuntimeException(e);
4641        }
4642    }
4643    @Override
4644    public void replaceFeature(final int personId,
4645        final String featureMd5,
4646        final boolean deleteOldFeatureImage,
4647        final Token token) 
4648        {
4649        try{
4650             syncCall(new Function<Void,Void>() {
4651                @Override
4652                public Void apply(Void input) {
4653                    return input;
4654                }},
4655                new ServiceAsyncCall<Void>(){
4656                @Override
4657                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
4658                    service.replaceFeature(personId,featureMd5,deleteOldFeatureImage,TypeTransformer.getInstance().to(
4659                    token,
4660                    Token.class,
4661                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4662                }});
4663        }
4664        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4665            throw new ServiceRuntimeException(e);
4666        }
4667        catch (Throwable e) {
4668            Throwables.throwIfUnchecked(e);
4669            throw new RuntimeException(e);
4670        }
4671    }
4672    @Override
4673    public Integer rootGroupOfDevice(final int deviceId) 
4674        {
4675        try{
4676            return syncCall(new Function<Integer,Integer>() {
4677                @Override
4678                public Integer apply(Integer input) {
4679                    return input;
4680                }},
4681                new ServiceAsyncCall<Integer>(){
4682                @Override
4683                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
4684                    service.rootGroupOfDevice(deviceId,nativeCallback);
4685                }});
4686        }
4687        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4688            throw new ServiceRuntimeException(e);
4689        }
4690        catch (Throwable e) {
4691            Throwables.throwIfUnchecked(e);
4692            throw new RuntimeException(e);
4693        }
4694    }
4695    @Override
4696    public Integer rootGroupOfDeviceGroup(final int groupId) 
4697        {
4698        try{
4699            return syncCall(new Function<Integer,Integer>() {
4700                @Override
4701                public Integer apply(Integer input) {
4702                    return input;
4703                }},
4704                new ServiceAsyncCall<Integer>(){
4705                @Override
4706                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
4707                    service.rootGroupOfDeviceGroup(groupId,nativeCallback);
4708                }});
4709        }
4710        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4711            throw new ServiceRuntimeException(e);
4712        }
4713        catch (Throwable e) {
4714            Throwables.throwIfUnchecked(e);
4715            throw new RuntimeException(e);
4716        }
4717    }
4718    @Override
4719    public Integer rootGroupOfPerson(final int personId) 
4720        {
4721        try{
4722            return syncCall(new Function<Integer,Integer>() {
4723                @Override
4724                public Integer apply(Integer input) {
4725                    return input;
4726                }},
4727                new ServiceAsyncCall<Integer>(){
4728                @Override
4729                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
4730                    service.rootGroupOfPerson(personId,nativeCallback);
4731                }});
4732        }
4733        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4734            throw new ServiceRuntimeException(e);
4735        }
4736        catch (Throwable e) {
4737            Throwables.throwIfUnchecked(e);
4738            throw new RuntimeException(e);
4739        }
4740    }
4741    @Override
4742    public Integer rootGroupOfPersonGroup(final int groupId) 
4743        {
4744        try{
4745            return syncCall(new Function<Integer,Integer>() {
4746                @Override
4747                public Integer apply(Integer input) {
4748                    return input;
4749                }},
4750                new ServiceAsyncCall<Integer>(){
4751                @Override
4752                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
4753                    service.rootGroupOfPersonGroup(groupId,nativeCallback);
4754                }});
4755        }
4756        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4757            throw new ServiceRuntimeException(e);
4758        }
4759        catch (Throwable e) {
4760            Throwables.throwIfUnchecked(e);
4761            throw new RuntimeException(e);
4762        }
4763    }
4764    @Override
4765    public String runCmd(final List<Integer> target,
4766        final boolean group,
4767        final String cmdpath,
4768        final String jsonArgs,
4769        final String ackChannel,
4770        final Token token) 
4771        {
4772        try{
4773            return syncCall(new Function<String,String>() {
4774                @Override
4775                public String apply(String input) {
4776                    return input;
4777                }},
4778                new ServiceAsyncCall<String>(){
4779                @Override
4780                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<String> nativeCallback){
4781                    service.runCmd(TypeTransformer.getInstance().to(
4782                    target,
4783                    Integer.class,
4784                    Integer.class),group,cmdpath,jsonArgs,ackChannel,TypeTransformer.getInstance().to(
4785                    token,
4786                    Token.class,
4787                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4788                }});
4789        }
4790        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4791            throw new ServiceRuntimeException(e);
4792        }
4793        catch (Throwable e) {
4794            Throwables.throwIfUnchecked(e);
4795            throw new RuntimeException(e);
4796        }
4797    }
4798    @Override
4799    public Integer runTask(final String taskQueue,
4800        final String cmdpath,
4801        final String jsonArgs,
4802        final String ackChannel,
4803        final Token token) 
4804        {
4805        try{
4806            return syncCall(new Function<Integer,Integer>() {
4807                @Override
4808                public Integer apply(Integer input) {
4809                    return input;
4810                }},
4811                new ServiceAsyncCall<Integer>(){
4812                @Override
4813                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
4814                    service.runTask(taskQueue,cmdpath,jsonArgs,ackChannel,TypeTransformer.getInstance().to(
4815                    token,
4816                    Token.class,
4817                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4818                }});
4819        }
4820        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4821            throw new ServiceRuntimeException(e);
4822        }
4823        catch (Throwable e) {
4824            Throwables.throwIfUnchecked(e);
4825            throw new RuntimeException(e);
4826        }
4827    }
4828    @Override
4829    public String runTaskSync(final String taskQueue,
4830        final String cmdpath,
4831        final String jsonArgs,
4832        final int timeoutSecs,
4833        final Token token) 
4834        {
4835        try{
4836            return syncCall(new Function<String,String>() {
4837                @Override
4838                public String apply(String input) {
4839                    return input;
4840                }},
4841                new ServiceAsyncCall<String>(){
4842                @Override
4843                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<String> nativeCallback){
4844                    service.runTaskSync(taskQueue,cmdpath,jsonArgs,timeoutSecs,TypeTransformer.getInstance().to(
4845                    token,
4846                    Token.class,
4847                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4848                }});
4849        }
4850        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4851            throw new ServiceRuntimeException(e);
4852        }
4853        catch (Throwable e) {
4854            Throwables.throwIfUnchecked(e);
4855            throw new RuntimeException(e);
4856        }
4857    }
4858    @Override
4859    public DeviceBean saveDevice(final DeviceBean deviceBean,
4860        final Token token) 
4861        {
4862        try{
4863            return syncCall(new Function<net.gdface.facelog.client.thrift.DeviceBean,DeviceBean>() {
4864                @Override
4865                public DeviceBean apply(net.gdface.facelog.client.thrift.DeviceBean input) {
4866                    return TypeTransformer.getInstance().to(
4867                    input,
4868                    net.gdface.facelog.client.thrift.DeviceBean.class,
4869                    DeviceBean.class);
4870                }},
4871                new ServiceAsyncCall<net.gdface.facelog.client.thrift.DeviceBean>(){
4872                @Override
4873                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.DeviceBean> nativeCallback){
4874                    service.saveDevice(TypeTransformer.getInstance().to(
4875                    deviceBean,
4876                    DeviceBean.class,
4877                    net.gdface.facelog.client.thrift.DeviceBean.class),TypeTransformer.getInstance().to(
4878                    token,
4879                    Token.class,
4880                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4881                }});
4882        }
4883        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4884            throw new ServiceRuntimeException(e);
4885        }
4886        catch (Throwable e) {
4887            Throwables.throwIfUnchecked(e);
4888            throw new RuntimeException(e);
4889        }
4890    }
4891    @Override
4892    public DeviceGroupBean saveDeviceGroup(final DeviceGroupBean deviceGroupBean,
4893        final Token token) 
4894        {
4895        try{
4896            return syncCall(new Function<net.gdface.facelog.client.thrift.DeviceGroupBean,DeviceGroupBean>() {
4897                @Override
4898                public DeviceGroupBean apply(net.gdface.facelog.client.thrift.DeviceGroupBean input) {
4899                    return TypeTransformer.getInstance().to(
4900                    input,
4901                    net.gdface.facelog.client.thrift.DeviceGroupBean.class,
4902                    DeviceGroupBean.class);
4903                }},
4904                new ServiceAsyncCall<net.gdface.facelog.client.thrift.DeviceGroupBean>(){
4905                @Override
4906                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.DeviceGroupBean> nativeCallback){
4907                    service.saveDeviceGroup(TypeTransformer.getInstance().to(
4908                    deviceGroupBean,
4909                    DeviceGroupBean.class,
4910                    net.gdface.facelog.client.thrift.DeviceGroupBean.class),TypeTransformer.getInstance().to(
4911                    token,
4912                    Token.class,
4913                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4914                }});
4915        }
4916        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4917            throw new ServiceRuntimeException(e);
4918        }
4919        catch (Throwable e) {
4920            Throwables.throwIfUnchecked(e);
4921            throw new RuntimeException(e);
4922        }
4923    }
4924    @Override
4925    public PermitBean savePermit(final int deviceGroupId,
4926        final int personGroupId,
4927        final String column,
4928        final String value,
4929        final Token token) 
4930        {
4931        try{
4932            return syncCall(new Function<net.gdface.facelog.client.thrift.PermitBean,PermitBean>() {
4933                @Override
4934                public PermitBean apply(net.gdface.facelog.client.thrift.PermitBean input) {
4935                    return TypeTransformer.getInstance().to(
4936                    input,
4937                    net.gdface.facelog.client.thrift.PermitBean.class,
4938                    PermitBean.class);
4939                }},
4940                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PermitBean>(){
4941                @Override
4942                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PermitBean> nativeCallback){
4943                    service.savePermitWithColumn(deviceGroupId,personGroupId,column,value,TypeTransformer.getInstance().to(
4944                    token,
4945                    Token.class,
4946                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4947                }});
4948        }
4949        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4950            throw new ServiceRuntimeException(e);
4951        }
4952        catch (Throwable e) {
4953            Throwables.throwIfUnchecked(e);
4954            throw new RuntimeException(e);
4955        }
4956    }
4957    @Override
4958    public PermitBean savePermit(final PermitBean permitBean,
4959        final Token token) 
4960        {
4961        try{
4962            return syncCall(new Function<net.gdface.facelog.client.thrift.PermitBean,PermitBean>() {
4963                @Override
4964                public PermitBean apply(net.gdface.facelog.client.thrift.PermitBean input) {
4965                    return TypeTransformer.getInstance().to(
4966                    input,
4967                    net.gdface.facelog.client.thrift.PermitBean.class,
4968                    PermitBean.class);
4969                }},
4970                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PermitBean>(){
4971                @Override
4972                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PermitBean> nativeCallback){
4973                    service.savePermit(TypeTransformer.getInstance().to(
4974                    permitBean,
4975                    PermitBean.class,
4976                    net.gdface.facelog.client.thrift.PermitBean.class),TypeTransformer.getInstance().to(
4977                    token,
4978                    Token.class,
4979                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
4980                }});
4981        }
4982        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
4983            throw new ServiceRuntimeException(e);
4984        }
4985        catch (Throwable e) {
4986            Throwables.throwIfUnchecked(e);
4987            throw new RuntimeException(e);
4988        }
4989    }
4990    @Override
4991    public PersonBean savePerson(final PersonBean personBean,
4992        final byte[] idPhoto,
4993        final byte[] feature,
4994        final String featureVersion,
4995        final byte[] featureImage,
4996        final FaceBean faceBean,
4997        final Token token) 
4998        {
4999        try{
5000            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
5001                @Override
5002                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
5003                    return TypeTransformer.getInstance().to(
5004                    input,
5005                    net.gdface.facelog.client.thrift.PersonBean.class,
5006                    PersonBean.class);
5007                }},
5008                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
5009                @Override
5010                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
5011                    service.savePersonFull(TypeTransformer.getInstance().to(
5012                    personBean,
5013                    PersonBean.class,
5014                    net.gdface.facelog.client.thrift.PersonBean.class),TypeTransformer.getInstance().to(
5015                    idPhoto,
5016                    byte[].class,
5017                    okio.ByteString.class),TypeTransformer.getInstance().to(
5018                    feature,
5019                    byte[].class,
5020                    okio.ByteString.class),featureVersion,TypeTransformer.getInstance().to(
5021                    featureImage,
5022                    byte[].class,
5023                    okio.ByteString.class),TypeTransformer.getInstance().to(
5024                    faceBean,
5025                    FaceBean.class,
5026                    net.gdface.facelog.client.thrift.FaceBean.class),TypeTransformer.getInstance().to(
5027                    token,
5028                    Token.class,
5029                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5030                }});
5031        }
5032        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5033            throw new ServiceRuntimeException(e);
5034        }
5035        catch (Throwable e) {
5036            Throwables.throwIfUnchecked(e);
5037            throw new RuntimeException(e);
5038        }
5039    }
5040    @Override
5041    public PersonBean savePerson(final PersonBean personBean,
5042        final byte[] idPhoto,
5043        final byte[] feature,
5044        final String featureVersion,
5045        final List<byte[]> photos,
5046        final List<FaceBean> faces,
5047        final Token token) 
5048        {
5049        try{
5050            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
5051                @Override
5052                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
5053                    return TypeTransformer.getInstance().to(
5054                    input,
5055                    net.gdface.facelog.client.thrift.PersonBean.class,
5056                    PersonBean.class);
5057                }},
5058                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
5059                @Override
5060                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
5061                    service.savePersonWithPhotoAndFeatureMultiImage(TypeTransformer.getInstance().to(
5062                    personBean,
5063                    PersonBean.class,
5064                    net.gdface.facelog.client.thrift.PersonBean.class),TypeTransformer.getInstance().to(
5065                    idPhoto,
5066                    byte[].class,
5067                    okio.ByteString.class),TypeTransformer.getInstance().to(
5068                    feature,
5069                    byte[].class,
5070                    okio.ByteString.class),featureVersion,TypeTransformer.getInstance().to(
5071                    photos,
5072                    byte[].class,
5073                    okio.ByteString.class),TypeTransformer.getInstance().to(
5074                    faces,
5075                    FaceBean.class,
5076                    net.gdface.facelog.client.thrift.FaceBean.class),TypeTransformer.getInstance().to(
5077                    token,
5078                    Token.class,
5079                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5080                }});
5081        }
5082        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5083            throw new ServiceRuntimeException(e);
5084        }
5085        catch (Throwable e) {
5086            Throwables.throwIfUnchecked(e);
5087            throw new RuntimeException(e);
5088        }
5089    }
5090    @Override
5091    public PersonBean savePerson(final PersonBean personBean,
5092        final byte[] idPhoto,
5093        final byte[] feature,
5094        final String featureVersion,
5095        final List<FaceBean> faceBeans,
5096        final Token token) 
5097        {
5098        try{
5099            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
5100                @Override
5101                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
5102                    return TypeTransformer.getInstance().to(
5103                    input,
5104                    net.gdface.facelog.client.thrift.PersonBean.class,
5105                    PersonBean.class);
5106                }},
5107                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
5108                @Override
5109                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
5110                    service.savePersonWithPhotoAndFeatureMultiFaces(TypeTransformer.getInstance().to(
5111                    personBean,
5112                    PersonBean.class,
5113                    net.gdface.facelog.client.thrift.PersonBean.class),TypeTransformer.getInstance().to(
5114                    idPhoto,
5115                    byte[].class,
5116                    okio.ByteString.class),TypeTransformer.getInstance().to(
5117                    feature,
5118                    byte[].class,
5119                    okio.ByteString.class),featureVersion,TypeTransformer.getInstance().to(
5120                    faceBeans,
5121                    FaceBean.class,
5122                    net.gdface.facelog.client.thrift.FaceBean.class),TypeTransformer.getInstance().to(
5123                    token,
5124                    Token.class,
5125                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5126                }});
5127        }
5128        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5129            throw new ServiceRuntimeException(e);
5130        }
5131        catch (Throwable e) {
5132            Throwables.throwIfUnchecked(e);
5133            throw new RuntimeException(e);
5134        }
5135    }
5136    @Override
5137    public PersonBean savePerson(final PersonBean personBean,
5138        final byte[] idPhoto,
5139        final Token token) 
5140        {
5141        try{
5142            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
5143                @Override
5144                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
5145                    return TypeTransformer.getInstance().to(
5146                    input,
5147                    net.gdface.facelog.client.thrift.PersonBean.class,
5148                    PersonBean.class);
5149                }},
5150                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
5151                @Override
5152                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
5153                    service.savePersonWithPhoto(TypeTransformer.getInstance().to(
5154                    personBean,
5155                    PersonBean.class,
5156                    net.gdface.facelog.client.thrift.PersonBean.class),TypeTransformer.getInstance().to(
5157                    idPhoto,
5158                    byte[].class,
5159                    okio.ByteString.class),TypeTransformer.getInstance().to(
5160                    token,
5161                    Token.class,
5162                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5163                }});
5164        }
5165        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5166            throw new ServiceRuntimeException(e);
5167        }
5168        catch (Throwable e) {
5169            Throwables.throwIfUnchecked(e);
5170            throw new RuntimeException(e);
5171        }
5172    }
5173    @Override
5174    public PersonBean savePerson(final PersonBean personBean,
5175        final byte[] idPhoto,
5176        final FeatureBean featureBean,
5177        final Token token) 
5178        {
5179        try{
5180            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
5181                @Override
5182                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
5183                    return TypeTransformer.getInstance().to(
5184                    input,
5185                    net.gdface.facelog.client.thrift.PersonBean.class,
5186                    PersonBean.class);
5187                }},
5188                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
5189                @Override
5190                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
5191                    service.savePersonWithPhotoAndFeature(TypeTransformer.getInstance().to(
5192                    personBean,
5193                    PersonBean.class,
5194                    net.gdface.facelog.client.thrift.PersonBean.class),TypeTransformer.getInstance().to(
5195                    idPhoto,
5196                    byte[].class,
5197                    okio.ByteString.class),TypeTransformer.getInstance().to(
5198                    featureBean,
5199                    FeatureBean.class,
5200                    net.gdface.facelog.client.thrift.FeatureBean.class),TypeTransformer.getInstance().to(
5201                    token,
5202                    Token.class,
5203                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5204                }});
5205        }
5206        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5207            throw new ServiceRuntimeException(e);
5208        }
5209        catch (Throwable e) {
5210            Throwables.throwIfUnchecked(e);
5211            throw new RuntimeException(e);
5212        }
5213    }
5214    @Override
5215    public PersonBean savePerson(final PersonBean personBean,
5216        final String idPhotoMd5,
5217        final String featureMd5,
5218        final Token token) 
5219        {
5220        try{
5221            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
5222                @Override
5223                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
5224                    return TypeTransformer.getInstance().to(
5225                    input,
5226                    net.gdface.facelog.client.thrift.PersonBean.class,
5227                    PersonBean.class);
5228                }},
5229                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
5230                @Override
5231                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
5232                    service.savePersonWithPhotoAndFeatureSaved(TypeTransformer.getInstance().to(
5233                    personBean,
5234                    PersonBean.class,
5235                    net.gdface.facelog.client.thrift.PersonBean.class),idPhotoMd5,featureMd5,TypeTransformer.getInstance().to(
5236                    token,
5237                    Token.class,
5238                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5239                }});
5240        }
5241        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5242            throw new ServiceRuntimeException(e);
5243        }
5244        catch (Throwable e) {
5245            Throwables.throwIfUnchecked(e);
5246            throw new RuntimeException(e);
5247        }
5248    }
5249    @Override
5250    public PersonBean savePerson(final PersonBean personBean,
5251        final Token token) 
5252        {
5253        try{
5254            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonBean,PersonBean>() {
5255                @Override
5256                public PersonBean apply(net.gdface.facelog.client.thrift.PersonBean input) {
5257                    return TypeTransformer.getInstance().to(
5258                    input,
5259                    net.gdface.facelog.client.thrift.PersonBean.class,
5260                    PersonBean.class);
5261                }},
5262                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonBean>(){
5263                @Override
5264                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonBean> nativeCallback){
5265                    service.savePerson(TypeTransformer.getInstance().to(
5266                    personBean,
5267                    PersonBean.class,
5268                    net.gdface.facelog.client.thrift.PersonBean.class),TypeTransformer.getInstance().to(
5269                    token,
5270                    Token.class,
5271                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5272                }});
5273        }
5274        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5275            throw new ServiceRuntimeException(e);
5276        }
5277        catch (Throwable e) {
5278            Throwables.throwIfUnchecked(e);
5279            throw new RuntimeException(e);
5280        }
5281    }
5282    @Override
5283    public PersonGroupBean savePersonGroup(final PersonGroupBean personGroupBean,
5284        final Token token) 
5285        {
5286        try{
5287            return syncCall(new Function<net.gdface.facelog.client.thrift.PersonGroupBean,PersonGroupBean>() {
5288                @Override
5289                public PersonGroupBean apply(net.gdface.facelog.client.thrift.PersonGroupBean input) {
5290                    return TypeTransformer.getInstance().to(
5291                    input,
5292                    net.gdface.facelog.client.thrift.PersonGroupBean.class,
5293                    PersonGroupBean.class);
5294                }},
5295                new ServiceAsyncCall<net.gdface.facelog.client.thrift.PersonGroupBean>(){
5296                @Override
5297                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.PersonGroupBean> nativeCallback){
5298                    service.savePersonGroup(TypeTransformer.getInstance().to(
5299                    personGroupBean,
5300                    PersonGroupBean.class,
5301                    net.gdface.facelog.client.thrift.PersonGroupBean.class),TypeTransformer.getInstance().to(
5302                    token,
5303                    Token.class,
5304                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5305                }});
5306        }
5307        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5308            throw new ServiceRuntimeException(e);
5309        }
5310        catch (Throwable e) {
5311            Throwables.throwIfUnchecked(e);
5312            throw new RuntimeException(e);
5313        }
5314    }
5315    @Override
5316    public int savePersons(final List<byte[]> photos,
5317        final List<PersonBean> persons,
5318        final Token token) 
5319        {
5320        try{
5321            return syncCall(new Function<Integer,Integer>() {
5322                @Override
5323                public Integer apply(Integer input) {
5324                    return input;
5325                }},
5326                new ServiceAsyncCall<Integer>(){
5327                @Override
5328                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Integer> nativeCallback){
5329                    service.savePersonsWithPhoto(TypeTransformer.getInstance().to(
5330                    photos,
5331                    byte[].class,
5332                    okio.ByteString.class),TypeTransformer.getInstance().to(
5333                    persons,
5334                    PersonBean.class,
5335                    net.gdface.facelog.client.thrift.PersonBean.class),TypeTransformer.getInstance().to(
5336                    token,
5337                    Token.class,
5338                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5339                }});
5340        }
5341        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5342            throw new ServiceRuntimeException(e);
5343        }
5344        catch (Throwable e) {
5345            Throwables.throwIfUnchecked(e);
5346            throw new RuntimeException(e);
5347        }
5348    }
5349    @Override
5350    public void savePersons(final List<PersonBean> persons,
5351        final Token token) 
5352        {
5353        try{
5354             syncCall(new Function<Void,Void>() {
5355                @Override
5356                public Void apply(Void input) {
5357                    return input;
5358                }},
5359                new ServiceAsyncCall<Void>(){
5360                @Override
5361                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
5362                    service.savePersons(TypeTransformer.getInstance().to(
5363                    persons,
5364                    PersonBean.class,
5365                    net.gdface.facelog.client.thrift.PersonBean.class),TypeTransformer.getInstance().to(
5366                    token,
5367                    Token.class,
5368                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5369                }});
5370        }
5371        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5372            throw new ServiceRuntimeException(e);
5373        }
5374        catch (Throwable e) {
5375            Throwables.throwIfUnchecked(e);
5376            throw new RuntimeException(e);
5377        }
5378    }
5379    @Override
5380    public void saveServiceConfig(final Token token) 
5381        {
5382        try{
5383             syncCall(new Function<Void,Void>() {
5384                @Override
5385                public Void apply(Void input) {
5386                    return input;
5387                }},
5388                new ServiceAsyncCall<Void>(){
5389                @Override
5390                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
5391                    service.saveServiceConfig(TypeTransformer.getInstance().to(
5392                    token,
5393                    Token.class,
5394                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5395                }});
5396        }
5397        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5398            throw new ServiceRuntimeException(e);
5399        }
5400        catch (Throwable e) {
5401            Throwables.throwIfUnchecked(e);
5402            throw new RuntimeException(e);
5403        }
5404    }
5405    @Override
5406    public String sdkTaskQueueOf(final String task,
5407        final String sdkVersion,
5408        final Token token) 
5409        {
5410        try{
5411            return syncCall(new Function<String,String>() {
5412                @Override
5413                public String apply(String input) {
5414                    return input;
5415                }},
5416                new ServiceAsyncCall<String>(){
5417                @Override
5418                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<String> nativeCallback){
5419                    service.sdkTaskQueueOf(task,sdkVersion,TypeTransformer.getInstance().to(
5420                    token,
5421                    Token.class,
5422                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5423                }});
5424        }
5425        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5426            throw new ServiceRuntimeException(e);
5427        }
5428        catch (Throwable e) {
5429            Throwables.throwIfUnchecked(e);
5430            throw new RuntimeException(e);
5431        }
5432    }
5433    @Override
5434    public void setPersonExpiryDate(final int personId,
5435        final String expiryDate,
5436        final Token token) 
5437        {
5438        try{
5439             syncCall(new Function<Void,Void>() {
5440                @Override
5441                public Void apply(Void input) {
5442                    return input;
5443                }},
5444                new ServiceAsyncCall<Void>(){
5445                @Override
5446                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
5447                    service.setPersonExpiryDateTimeStr(personId,expiryDate,TypeTransformer.getInstance().to(
5448                    token,
5449                    Token.class,
5450                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5451                }});
5452        }
5453        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5454            throw new ServiceRuntimeException(e);
5455        }
5456        catch (Throwable e) {
5457            Throwables.throwIfUnchecked(e);
5458            throw new RuntimeException(e);
5459        }
5460    }
5461    @Override
5462    public void setPersonExpiryDate(final int personId,
5463        final long expiryDate,
5464        final Token token) 
5465        {
5466        try{
5467             syncCall(new Function<Void,Void>() {
5468                @Override
5469                public Void apply(Void input) {
5470                    return input;
5471                }},
5472                new ServiceAsyncCall<Void>(){
5473                @Override
5474                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
5475                    service.setPersonExpiryDate(personId,expiryDate,TypeTransformer.getInstance().to(
5476                    token,
5477                    Token.class,
5478                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5479                }});
5480        }
5481        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5482            throw new ServiceRuntimeException(e);
5483        }
5484        catch (Throwable e) {
5485            Throwables.throwIfUnchecked(e);
5486            throw new RuntimeException(e);
5487        }
5488    }
5489    @Override
5490    public void setPersonExpiryDate(final List<Integer> personIdList,
5491        final long expiryDate,
5492        final Token token) 
5493        {
5494        try{
5495             syncCall(new Function<Void,Void>() {
5496                @Override
5497                public Void apply(Void input) {
5498                    return input;
5499                }},
5500                new ServiceAsyncCall<Void>(){
5501                @Override
5502                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
5503                    service.setPersonExpiryDateList(TypeTransformer.getInstance().to(
5504                    personIdList,
5505                    Integer.class,
5506                    Integer.class),expiryDate,TypeTransformer.getInstance().to(
5507                    token,
5508                    Token.class,
5509                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5510                }});
5511        }
5512        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5513            throw new ServiceRuntimeException(e);
5514        }
5515        catch (Throwable e) {
5516            Throwables.throwIfUnchecked(e);
5517            throw new RuntimeException(e);
5518        }
5519    }
5520    @Override
5521    public void setProperties(final Map<String, String> config,
5522        final Token token) 
5523        {
5524        try{
5525             syncCall(new Function<Void,Void>() {
5526                @Override
5527                public Void apply(Void input) {
5528                    return input;
5529                }},
5530                new ServiceAsyncCall<Void>(){
5531                @Override
5532                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
5533                    service.setProperties(TypeTransformer.getInstance().to(
5534                    config,
5535                    String.class,
5536                    String.class,
5537                    String.class,
5538                    String.class),TypeTransformer.getInstance().to(
5539                    token,
5540                    Token.class,
5541                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5542                }});
5543        }
5544        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5545            throw new ServiceRuntimeException(e);
5546        }
5547        catch (Throwable e) {
5548            Throwables.throwIfUnchecked(e);
5549            throw new RuntimeException(e);
5550        }
5551    }
5552    @Override
5553    public void setProperty(final String key,
5554        final String value,
5555        final Token token) 
5556        {
5557        try{
5558             syncCall(new Function<Void,Void>() {
5559                @Override
5560                public Void apply(Void input) {
5561                    return input;
5562                }},
5563                new ServiceAsyncCall<Void>(){
5564                @Override
5565                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
5566                    service.setProperty(key,value,TypeTransformer.getInstance().to(
5567                    token,
5568                    Token.class,
5569                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5570                }});
5571        }
5572        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5573            throw new ServiceRuntimeException(e);
5574        }
5575        catch (Throwable e) {
5576            Throwables.throwIfUnchecked(e);
5577            throw new RuntimeException(e);
5578        }
5579    }
5580    @Override
5581    public String taskQueueOf(final String task,
5582        final Token token) 
5583        {
5584        try{
5585            return syncCall(new Function<String,String>() {
5586                @Override
5587                public String apply(String input) {
5588                    return input;
5589                }},
5590                new ServiceAsyncCall<String>(){
5591                @Override
5592                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<String> nativeCallback){
5593                    service.taskQueueOf(task,TypeTransformer.getInstance().to(
5594                    token,
5595                    Token.class,
5596                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5597                }});
5598        }
5599        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5600            throw new ServiceRuntimeException(e);
5601        }
5602        catch (Throwable e) {
5603            Throwables.throwIfUnchecked(e);
5604            throw new RuntimeException(e);
5605        }
5606    }
5607    @Override
5608    public void unbindBorder(final int personGroupId,
5609        final int deviceGroupId,
5610        final Token token) 
5611        {
5612        try{
5613             syncCall(new Function<Void,Void>() {
5614                @Override
5615                public Void apply(Void input) {
5616                    return input;
5617                }},
5618                new ServiceAsyncCall<Void>(){
5619                @Override
5620                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
5621                    service.unbindBorder(personGroupId,deviceGroupId,TypeTransformer.getInstance().to(
5622                    token,
5623                    Token.class,
5624                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5625                }});
5626        }
5627        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5628            throw new ServiceRuntimeException(e);
5629        }
5630        catch (Throwable e) {
5631            Throwables.throwIfUnchecked(e);
5632            throw new RuntimeException(e);
5633        }
5634    }
5635    @Override
5636    public void unregisterDevice(final Token token) 
5637        throws ServiceSecurityException{
5638        try{
5639             syncCall(new Function<Void,Void>() {
5640                @Override
5641                public Void apply(Void input) {
5642                    return input;
5643                }},
5644                new ServiceAsyncCall<Void>(){
5645                @Override
5646                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Void> nativeCallback){
5647                    service.unregisterDevice(TypeTransformer.getInstance().to(
5648                    token,
5649                    Token.class,
5650                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5651                }});
5652        }
5653        catch(net.gdface.facelog.client.thrift.ServiceSecurityException e){
5654            throw TypeTransformer.getInstance().to(
5655                    e,
5656                    net.gdface.facelog.client.thrift.ServiceSecurityException.class,
5657                    ServiceSecurityException.class);
5658        }
5659        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5660            throw new ServiceRuntimeException(e);
5661        }
5662        catch (Throwable e) {
5663            Throwables.throwIfUnchecked(e);
5664            throw new RuntimeException(e);
5665        }
5666    }
5667    @Override
5668    public DeviceBean updateDevice(final DeviceBean deviceBean,
5669        final Token token) 
5670        {
5671        try{
5672            return syncCall(new Function<net.gdface.facelog.client.thrift.DeviceBean,DeviceBean>() {
5673                @Override
5674                public DeviceBean apply(net.gdface.facelog.client.thrift.DeviceBean input) {
5675                    return TypeTransformer.getInstance().to(
5676                    input,
5677                    net.gdface.facelog.client.thrift.DeviceBean.class,
5678                    DeviceBean.class);
5679                }},
5680                new ServiceAsyncCall<net.gdface.facelog.client.thrift.DeviceBean>(){
5681                @Override
5682                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<net.gdface.facelog.client.thrift.DeviceBean> nativeCallback){
5683                    service.updateDevice(TypeTransformer.getInstance().to(
5684                    deviceBean,
5685                    DeviceBean.class,
5686                    net.gdface.facelog.client.thrift.DeviceBean.class),TypeTransformer.getInstance().to(
5687                    token,
5688                    Token.class,
5689                    net.gdface.facelog.client.thrift.Token.class),nativeCallback);
5690                }});
5691        }
5692        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5693            throw new ServiceRuntimeException(e);
5694        }
5695        catch (Throwable e) {
5696            Throwables.throwIfUnchecked(e);
5697            throw new RuntimeException(e);
5698        }
5699    }
5700    @Override
5701    public String version() 
5702        {
5703        try{
5704            return syncCall(new Function<String,String>() {
5705                @Override
5706                public String apply(String input) {
5707                    return input;
5708                }},
5709                new ServiceAsyncCall<String>(){
5710                @Override
5711                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<String> nativeCallback){
5712                    service.version(nativeCallback);
5713                }});
5714        }
5715        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5716            throw new ServiceRuntimeException(e);
5717        }
5718        catch (Throwable e) {
5719            Throwables.throwIfUnchecked(e);
5720            throw new RuntimeException(e);
5721        }
5722    }
5723    @Override
5724    public Map<String, String> versionInfo() 
5725        {
5726        try{
5727            return syncCall(new Function<Map<String,String>,Map<String, String>>() {
5728                @Override
5729                public Map<String, String> apply(Map<String,String> input) {
5730                    return TypeTransformer.getInstance().to(
5731                    input,
5732                    String.class,
5733                    String.class,
5734                    String.class,
5735                    String.class);
5736                }},
5737                new ServiceAsyncCall<Map<String,String>>(){
5738                @Override
5739                public void call(net.gdface.facelog.client.thrift.IFaceLogClient service,ServiceMethodCallback<Map<String,String>> nativeCallback){
5740                    service.versionInfo(nativeCallback);
5741                }});
5742        }
5743        catch(net.gdface.facelog.client.thrift.ServiceRuntimeException e){
5744            throw new ServiceRuntimeException(e);
5745        }
5746        catch (Throwable e) {
5747            Throwables.throwIfUnchecked(e);
5748            throw new RuntimeException(e);
5749        }
5750    }
5751}