// Create workflow start provenance message
  protected void recordStart(Context context, Item myitem, Action action)
      throws SQLException, IOException, AuthorizeException {
    // get date
    DCDate now = DCDate.getCurrent();

    // Create provenance description
    String provmessage = "";

    if (myitem.getSubmitter() != null) {
      provmessage =
          "Submitted by "
              + myitem.getSubmitter().getFullName()
              + " ("
              + myitem.getSubmitter().getEmail()
              + ") on "
              + now.toString()
              + " workflow start="
              + action.getProvenanceStartId()
              + "\n";
    } else
    // null submitter
    {
      provmessage =
          "Submitted by unknown (probably automated) on"
              + now.toString()
              + " workflow start="
              + action.getProvenanceStartId()
              + "\n";
    }

    // add sizes and checksums of bitstreams
    provmessage += installItemService.getBitstreamProvenanceMessage(context, myitem);

    // Add message to the DC
    itemService.addMetadata(
        context, myitem, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", provmessage);
    itemService.update(context, myitem);
  }
  private void renderRejectPage(Division div) throws WingException {
    Request request = ObjectModelHelper.getRequest(objectModel);

    List form = div.addList("reject-workflow", List.TYPE_FORM);

    form.addItem(T_info2);

    TextArea reason = form.addItem().addTextArea("reason");
    reason.setLabel(T_reason);
    reason.setRequired();
    reason.setSize(15, 50);

    if (Action.getErrorFields(request).contains("reason")) reason.addError(T_reason_required);

    div.addHidden("page").setValue(ReviewAction.REJECT_PAGE);

    org.dspace.app.xmlui.wing.element.Item actions = form.addItem();
    actions.addButton("submit_reject").setValue(T_submit_reject);
    actions.addButton("submit_cancel").setValue(T_submit_cancel);
  }