Exemplo n.º 1
0
  protected List<Handler> buildHandlerChain(PortComponentHandlerType ht, ClassLoader classLoader) {
    List<Handler> handlerChain = new ArrayList<Handler>();
    try {
      LOG.log(Level.FINE, "loading handler", trimString(ht.getHandlerName().getValue()));

      Class<? extends Handler> handlerClass =
          Class.forName(trimString(ht.getHandlerClass().getValue()), true, classLoader)
              .asSubclass(Handler.class);

      Handler<?> handler = handlerClass.newInstance();
      LOG.fine("adding handler to chain: " + handler);
      configureHandler(handler, ht);
      handlerChain.add(handler);
    } catch (Exception e) {
      throw new WebServiceException(BUNDLE.getString("HANDLER_INSTANTIATION_EXC"), e);
    }
    return handlerChain;
  }
Exemplo n.º 2
0
  private void configureHandler(Handler<?> handler, PortComponentHandlerType h) {
    if (!handlerInitEnabled) {
      return;
    }

    if (h.getInitParam().size() == 0) {
      return;
    }

    Map<String, String> params = new HashMap<String, String>();

    for (ParamValueType param : h.getInitParam()) {
      params.put(
          trimString(param.getParamName() == null ? null : param.getParamName().getValue()),
          trimString(param.getParamValue() == null ? null : param.getParamValue().getValue()));
    }

    Method initMethod = getInitMethod(handler);
    if (initMethod != null) {
      initializeViaInitMethod(handler, params, initMethod);
    } else {
      initializeViaInjection(handler, params);
    }
  }