Ejemplo n.º 1
0
 /**
  * Maps the OSG request type to the Walrus type, including BaseMessage handling for 'regarding'
  * and correlationId mapping
  *
  * @param outputClass
  * @param request
  * @return
  */
 public <O extends WalrusRequestType, I extends ObjectStorageRequestType> O proxyWalrusRequest(
     Class<O> outputClass, I request) {
   O outputRequest = (O) Classes.newInstance(outputClass);
   outputRequest = (O) (MessageProxy.mapExcludeNulls(request, outputRequest));
   outputRequest.regardingUserRequest(request);
   return outputRequest;
 }
Ejemplo n.º 2
0
 public <
         O extends ObjectStorageDataResponseType,
         T extends ObjectStorageDataRequestType,
         I extends WalrusDataResponseType>
     O proxyWalrusDataResponse(T initialRequest, I response) {
   O outputResponse = (O) initialRequest.getReply();
   outputResponse = (O) (MessageProxy.mapExcludeNulls(response, outputResponse));
   return outputResponse;
 }
Ejemplo n.º 3
0
  /**
   * control 代理工厂
   *
   * @param clazz
   * @return
   */
  public static <T> T getControlInstance(Class<T> clazz, MessageProxy mMethodCallBack) {
    Enhancer<T> enhancer;
    if (mMethodCallBack != null) {
      enhancer =
          new Enhancer<T>(
              mCacheDir,
              clazz,
              new Class[] {mMethodCallBack.getClass()},
              new Object[] {mMethodCallBack});
    } else {
      enhancer = new Enhancer<T>(mCacheDir, clazz);
    }

    enhancer.addCallBacks(new Interceptor[] {new AsyncMethodAtomInterceptor(mMethodCallBack)});
    enhancer.addFilter(new AsyncMethodFilter());
    return enhancer.create();
  }