class TicketAdminServiceImpl extends AbstractTicketService implements TicketAdminService {

	@Override
	public boolean deleteTicket(final String ticketId) throws JargonException {

		Tag ticketOperationResponse = null;
		boolean response = true;

		if ((ticketId == null) || (ticketId.isEmpty())) {
			throw new IllegalArgumentException("cannot delete ticket with null or empty ticketId");
		}

		log.info("deleting ticket id/string:{}", ticketId);

		TicketAdminInp ticketPI = TicketAdminInp.instanceForDelete(ticketId);
		log.info(EXECUTING_TICKET_PI);

		ProtocolExtensionPoint pep = irodsAccessObjectFactory.getProtocolExtensionPoint(irodsAccount);
		try {
			ticketOperationResponse = pep.irodsFunction(ticketPI);
		} catch (JargonException e) {
			if (e.getUnderlyingIRODSExceptionCode() == ErrorEnum.CAT_TICKET_INVALID.getInt()) {
				response = false;
			}
		}

		log.info("received response from ticket operation:{}", ticketOperationResponse);

		return response;

	}

	  TicketAdminServiceImpl(final IRODSAccessObjectFactory irodsAccessObjectFactory, final IRODSAccount irodsAccount);

}