Ejemplo n.º 1
0
  /**
   * Processes a KMIP-Request-Message stored in a <code>KMIPContainer</code> and returns a
   * corresponding KMIP-Response-Message. For test cases, there are two additional parameters that
   * may be set by the caller. The idea is, that the generated TTLV-Strings can be compared to the
   * expected TTLV-Strings.
   *
   * @param c : the <code>KMIPContainer</code> to be encoded and sent.
   * @param expectedTTLVRequest : the <code>String</code> to be compared to the encoded request
   *     message.
   * @param expectedTTLVResponse : the <code>String</code> to be compared to the decoded response
   *     message.
   * @return <code>KMIPContainer</code> with the response objects.
   */
  public KMIPContainer processRequest(
      KMIPContainer c, String expectedTTLVRequest, String expectedTTLVResponse) {
    // encode Request
    ArrayList<Byte> ttlv = encoder.encodeRequest(c);
    logger.info("Encoded Request from Client: (actual/expected)");
    KMIPUtils.printArrayListAsHexString(ttlv);
    logger.debug(expectedTTLVRequest);
    UCStringCompare.checkRequest(ttlv, expectedTTLVRequest);

    // send Request and check Response
    ArrayList<Byte> responseFromServer = transportLayer.send(ttlv);
    logger.info("Encoded Response from Server: (actual/expected)");
    KMIPUtils.printArrayListAsHexString(responseFromServer);
    logger.debug(expectedTTLVResponse);
    UCStringCompare.checkResponse(responseFromServer, expectedTTLVResponse);
    return decodeResponse(responseFromServer);
  }
Ejemplo n.º 2
0
 private Class<?> getClass(String path, String defaultPath) throws ClassNotFoundException {
   return Class.forName(KMIPUtils.getClassPath(path, defaultPath));
 }