public void testIPreparedComponentXQueryShareConnection() {
    startTest();
    info("Expected: Successful execution with object available"); // $NON-NLS-1$
    IRuntimeContext context =
        run(
            "test",
            "ipreparedcomponents",
            "ipreparedcomponent_xquery_shareconn.xaction"); //$NON-NLS-1$ //$NON-NLS-2$
                                                            // //$NON-NLS-3$
    assertEquals(
        Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"),
        IRuntimeContext.RUNTIME_STATUS_SUCCESS,
        context.getStatus()); // $NON-NLS-1$

    IActionParameter rtn1 = context.getOutputParameter("prepared_component"); // $NON-NLS-1$
    assertNotNull(rtn1);
    IPreparedComponent preparedComponent1 = (IPreparedComponent) rtn1.getValue();
    assertNotNull(preparedComponent1);
    IPentahoResultSet resultset1 = preparedComponent1.executePrepared(null);
    assertTrue(resultset1.getRowCount() >= 1);
    Object val1 = resultset1.getValueAt(0, 0);
    assertNotNull(val1);

    finishTest();
  }
  public void testIPreparedComponentXQueryPrepareLater() {
    startTest();
    info("Expected: Successful execution with object available"); // $NON-NLS-1$
    IRuntimeContext context =
        run(
            "test",
            "ipreparedcomponents",
            "ipreparedcomponent_xquery_preparelater.xaction"); //$NON-NLS-1$ //$NON-NLS-2$
                                                               // //$NON-NLS-3$
    assertEquals(
        Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"),
        IRuntimeContext.RUNTIME_STATUS_SUCCESS,
        context.getStatus()); // $NON-NLS-1$

    IActionParameter rtn1 = context.getOutputParameter("prepared_component"); // $NON-NLS-1$
    assertNotNull(rtn1);
    IPreparedComponent preparedComponent1 = (IPreparedComponent) rtn1.getValue();
    assertNotNull(preparedComponent1);
    IPentahoResultSet resultset1 = preparedComponent1.executePrepared(null);
    assertTrue(resultset1.getRowCount() >= 1);
    Object val1 = resultset1.getValueAt(0, 0);

    IActionParameter rtn2 = context.getOutputParameter("second_prepared_component"); // $NON-NLS-1$
    assertNotNull(rtn2);
    IPreparedComponent preparedComponent2 = (IPreparedComponent) rtn2.getValue();
    assertNotNull(preparedComponent2);
    HashMap map = new HashMap();
    map.put("POSITIONTITLE", "Engineer"); // $NON-NLS-1$ //$NON-NLS-2$
    IPentahoResultSet resultset2 = preparedComponent2.executePrepared(map);
    assertTrue(resultset2.getRowCount() >= 1);
    assertEquals(resultset1.getRowCount(), resultset2.getRowCount());

    Object val2 = resultset2.getValueAt(0, 0);

    assertEquals(
        "Values from the first and second query should be equal", val1, val2); // $NON-NLS-1$

    finishTest();
  }