All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.gdface.sdk.thrift.FaceApiThriftClient Maven / Gradle / Ivy

There is a newer version: 2.2.10
Show newest version
package net.gdface.sdk.thrift;
import java.nio.ByteBuffer;
import java.util.List;
import java.util.Map;
import net.gdface.image.ImageErrorException;
import net.gdface.sdk.CodeInfo;
import net.gdface.sdk.FRect;
import net.gdface.sdk.FaceApi;
import net.gdface.sdk.NotFaceDetectedException;
import net.gdface.thrift.TypeTransformer;
import net.gdface.thrift.ClientFactory;

import com.facebook.swift.service.RuntimeTApplicationException;
import static com.google.common.base.Preconditions.*;

/**
 * 基于thrift/swift框架生成的client端代码提供{@link FaceApi}接口的RPC实现(线程安全)
* 转发所有{@link FaceApi}接口方法到{@link #delegate()}指定的实例
* 所有服务端抛出的{@link RuntimeException}异常被封装到{@link ServiceRuntimeException}中抛出
* Example:
*
 *        FaceApiThriftClient thriftInstance = ClientFactory
 *            .builder()
 *            .setHostAndPort("127.0.0.1",26413)
 *            .build(FaceApi.class, FaceApiThriftClient.class);
 * 
* 计算机生成代码(generated by automated tools ThriftServiceDecoratorGenerator @author guyadong)
* @author guyadong * */ public class FaceApiThriftClient implements FaceApi { private final ClientFactory factory; public FaceApiThriftClient(ClientFactory factory) { super(); this.factory = checkNotNull(factory,"factory is null"); } /** * 返回{@link net.gdface.sdk.thrift.client.FaceApi}实例 * @return */ protected net.gdface.sdk.thrift.client.FaceApi delegate() { return factory.applyInstance(net.gdface.sdk.thrift.client.FaceApi.class); } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("FaceApiThriftClient [factory="); builder.append(factory); builder.append(",interface="); builder.append(FaceApi.class.getName()); builder.append("]"); return builder.toString(); } @Override public double compare2Face(byte[] imgData1, CodeInfo facePos1, byte[] imgData2, CodeInfo facePos2) throws ImageErrorException,NotFaceDetectedException{ net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return instance.compare2Face(imgData1, TypeTransformer.getInstance().to( facePos1, CodeInfo.class, net.gdface.sdk.thrift.client.CodeInfo.class), imgData2, TypeTransformer.getInstance().to( facePos2, CodeInfo.class, net.gdface.sdk.thrift.client.CodeInfo.class)); } catch(net.gdface.sdk.thrift.client.ImageErrorException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.ImageErrorException.class, ImageErrorException.class); } catch(net.gdface.sdk.thrift.client.NotFaceDetectedException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.NotFaceDetectedException.class, NotFaceDetectedException.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } finally{ factory.releaseInstance(instance); } } @Override public double compareCode(byte[] code1, byte[] code2) { net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return instance.compareCode(code1, code2); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } finally{ factory.releaseInstance(instance); } } @Override public double[] compareCodes(byte[] code1, CodeInfo[] codes) { net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return TypeTransformer.getInstance().todoubleArray( instance.compareCodes(code1, TypeTransformer.getInstance().to( codes, CodeInfo.class, net.gdface.sdk.thrift.client.CodeInfo.class)), double.class, double.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } catch(RuntimeTApplicationException e){ return net.gdface.thrift.ThriftUtils.returnNull(e); } finally{ factory.releaseInstance(instance); } } @Override public Map compareFaces(byte[] code, byte[] imgData, int faceNum, FRect detectRectangle) throws ImageErrorException,NotFaceDetectedException{ net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return TypeTransformer.getInstance().to( instance.compareFaces(code, imgData, faceNum, TypeTransformer.getInstance().to( detectRectangle, FRect.class, net.gdface.sdk.thrift.client.FRect.class)), net.gdface.sdk.thrift.client.CodeInfo.class, Double.class, CodeInfo.class, Double.class); } catch(net.gdface.sdk.thrift.client.ImageErrorException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.ImageErrorException.class, ImageErrorException.class); } catch(net.gdface.sdk.thrift.client.NotFaceDetectedException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.NotFaceDetectedException.class, NotFaceDetectedException.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } catch(RuntimeTApplicationException e){ return net.gdface.thrift.ThriftUtils.returnNull(e); } finally{ factory.releaseInstance(instance); } } @Override public List compareFeatures(byte[] code1, List codes) { net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return TypeTransformer.getInstance().to( instance.compareFeatures(code1, TypeTransformer.getInstance().to( codes, byte[].class, byte[].class)), Double.class, Double.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } catch(RuntimeTApplicationException e){ return net.gdface.thrift.ThriftUtils.returnNull(e); } finally{ factory.releaseInstance(instance); } } @Override public double detectAndCompare2Face(byte[] imgData1, FRect detectRect1, byte[] imgData2, FRect detectRect2) throws ImageErrorException,NotFaceDetectedException{ net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return instance.detectAndCompare2Face(imgData1, TypeTransformer.getInstance().to( detectRect1, FRect.class, net.gdface.sdk.thrift.client.FRect.class), imgData2, TypeTransformer.getInstance().to( detectRect2, FRect.class, net.gdface.sdk.thrift.client.FRect.class)); } catch(net.gdface.sdk.thrift.client.ImageErrorException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.ImageErrorException.class, ImageErrorException.class); } catch(net.gdface.sdk.thrift.client.NotFaceDetectedException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.NotFaceDetectedException.class, NotFaceDetectedException.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } finally{ factory.releaseInstance(instance); } } @Override public CodeInfo[] detectAndGetCodeInfo(byte[] imgData, int faceNum, FRect detectRectangle) throws ImageErrorException,NotFaceDetectedException{ net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return TypeTransformer.getInstance().toArray( instance.detectAndGetCodeInfo(imgData, faceNum, TypeTransformer.getInstance().to( detectRectangle, FRect.class, net.gdface.sdk.thrift.client.FRect.class)), net.gdface.sdk.thrift.client.CodeInfo.class, CodeInfo.class); } catch(net.gdface.sdk.thrift.client.ImageErrorException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.ImageErrorException.class, ImageErrorException.class); } catch(net.gdface.sdk.thrift.client.NotFaceDetectedException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.NotFaceDetectedException.class, NotFaceDetectedException.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } catch(RuntimeTApplicationException e){ return net.gdface.thrift.ThriftUtils.returnNull(e); } finally{ factory.releaseInstance(instance); } } @Override public CodeInfo detectCenterFace(byte[] imgData) throws ImageErrorException,NotFaceDetectedException{ net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return TypeTransformer.getInstance().to( instance.detectCenterFace(imgData), net.gdface.sdk.thrift.client.CodeInfo.class, CodeInfo.class); } catch(net.gdface.sdk.thrift.client.ImageErrorException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.ImageErrorException.class, ImageErrorException.class); } catch(net.gdface.sdk.thrift.client.NotFaceDetectedException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.NotFaceDetectedException.class, NotFaceDetectedException.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } catch(RuntimeTApplicationException e){ return net.gdface.thrift.ThriftUtils.returnNull(e); } finally{ factory.releaseInstance(instance); } } @Override public CodeInfo[] detectFace(byte[] imgData, FRect detectRectangle) throws ImageErrorException{ net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return TypeTransformer.getInstance().toArray( instance.detectFace(imgData, TypeTransformer.getInstance().to( detectRectangle, FRect.class, net.gdface.sdk.thrift.client.FRect.class)), net.gdface.sdk.thrift.client.CodeInfo.class, CodeInfo.class); } catch(net.gdface.sdk.thrift.client.ImageErrorException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.ImageErrorException.class, ImageErrorException.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } catch(RuntimeTApplicationException e){ return net.gdface.thrift.ThriftUtils.returnNull(e); } finally{ factory.releaseInstance(instance); } } @Override public CodeInfo[] detectFaceAgain(byte[] imgData, FRect[] detectRects) { net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return TypeTransformer.getInstance().toArray( instance.detectFaceAgain(imgData, TypeTransformer.getInstance().to( detectRects, FRect.class, net.gdface.sdk.thrift.client.FRect.class)), net.gdface.sdk.thrift.client.CodeInfo.class, CodeInfo.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } catch(RuntimeTApplicationException e){ return net.gdface.thrift.ThriftUtils.returnNull(e); } finally{ factory.releaseInstance(instance); } } @Override public CodeInfo[] getCodeInfo(byte[] imgData, int faceNum, CodeInfo[] facePos) throws NotFaceDetectedException{ net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return TypeTransformer.getInstance().toArray( instance.getCodeInfo(imgData, faceNum, TypeTransformer.getInstance().to( facePos, CodeInfo.class, net.gdface.sdk.thrift.client.CodeInfo.class)), net.gdface.sdk.thrift.client.CodeInfo.class, CodeInfo.class); } catch(net.gdface.sdk.thrift.client.NotFaceDetectedException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.NotFaceDetectedException.class, NotFaceDetectedException.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } catch(RuntimeTApplicationException e){ return net.gdface.thrift.ThriftUtils.returnNull(e); } finally{ factory.releaseInstance(instance); } } @Override public byte[] getFeature(Map faces) throws NotFaceDetectedException{ net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return instance.getFeature(TypeTransformer.getInstance().to( faces, ByteBuffer.class, CodeInfo.class, byte[].class, net.gdface.sdk.thrift.client.CodeInfo.class)); } catch(net.gdface.sdk.thrift.client.NotFaceDetectedException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.NotFaceDetectedException.class, NotFaceDetectedException.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } catch(RuntimeTApplicationException e){ return net.gdface.thrift.ThriftUtils.returnNull(e); } finally{ factory.releaseInstance(instance); } } @Override public boolean hasFace(byte[] imgData, FRect detectRectangle) throws ImageErrorException{ net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return instance.hasFace(imgData, TypeTransformer.getInstance().to( detectRectangle, FRect.class, net.gdface.sdk.thrift.client.FRect.class)); } catch(net.gdface.sdk.thrift.client.ImageErrorException e){ throw TypeTransformer.getInstance().to( e, net.gdface.sdk.thrift.client.ImageErrorException.class, ImageErrorException.class); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } finally{ factory.releaseInstance(instance); } } @Override public boolean isLocal(){ return false; } @Override public boolean multiFaceFeature() { net.gdface.sdk.thrift.client.FaceApi instance = delegate(); try{ return instance.multiFaceFeature(); } catch(net.gdface.sdk.thrift.client.ServiceRuntimeException e){ throw new ServiceRuntimeException(e); } finally{ factory.releaseInstance(instance); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy