/** * Method for adding application creation events to database * * @param versionHashId version hash id * @param event application creation event * @return * @throws AppCloudException */ public boolean addAppCreationEvent(String versionHashId, Event event, int tenantId) throws AppCloudException { Connection dbConnection = DBUtil.getDBConnection(); PreparedStatement preparedStatement = null; try { preparedStatement = dbConnection.prepareStatement(SQLQueryConstants.ADD_APP_CREATION_EVENT); preparedStatement.setString(1, event.getEventName()); preparedStatement.setString(2, event.getEventStatus()); preparedStatement.setString(3, versionHashId); preparedStatement.setTimestamp(4, event.getTimestamp()); preparedStatement.setString(5, event.getEventDescription()); preparedStatement.setInt(6, tenantId); boolean result = preparedStatement.execute(); dbConnection.commit(); } catch (SQLException e) { String msg = "Error occurred while adding app creation event: " + event.getEventName() + " status: " + event.getEventStatus() + " timestamp: " + event.getTimestamp(); log.error(msg, e); throw new AppCloudException(msg, e); } finally { DBUtil.closePreparedStatement(preparedStatement); DBUtil.closeConnection(dbConnection); } return true; }
/** * Delete all the events related to a particular app version * * @param versionHashId version hash id * @return * @throws AppCloudException */ public boolean deleteAppVersionEvents(String versionHashId) throws AppCloudException { Connection dbConnection = DBUtil.getDBConnection(); PreparedStatement preparedStatement = null; try { preparedStatement = dbConnection.prepareStatement(SQLQueryConstants.DELETE_ALL_APP_VERSION_EVENTS); preparedStatement.setString(1, versionHashId); int result = preparedStatement.executeUpdate(); dbConnection.commit(); } catch (SQLException e) { String msg = "Error occurred while deleting all the events for the app version has id " + versionHashId; log.error(msg, e); throw new AppCloudException(msg, e); } finally { DBUtil.closePreparedStatement(preparedStatement); DBUtil.closeConnection(dbConnection); } return true; }
/** * Method to get event stream of an application * * @param versionHashId application id * @return * @throws AppCloudException */ public List<Event> getEventsOfApplication(String versionHashId) throws AppCloudException { Connection dbConnection = DBUtil.getDBConnection(); PreparedStatement preparedStatement = null; List<Event> eventList = new ArrayList<>(); try { preparedStatement = dbConnection.prepareStatement(SQLQueryConstants.GET_ALL_EVENTS_OF_APPLICATION); preparedStatement.setString(1, versionHashId); ResultSet resultSet = preparedStatement.executeQuery(); Event event; while (resultSet.next()) { event = new Event(); event.setEventName(resultSet.getString(SQLQueryConstants.NAME)); event.setEventStatus(resultSet.getString(SQLQueryConstants.STATUS)); event.setTimestamp(resultSet.getTimestamp(SQLQueryConstants.EVENT_TIMESTAMP)); event.setEventDescription(resultSet.getString(SQLQueryConstants.DESCRIPTION)); eventList.add(event); } } catch (SQLException e) { String msg = "Error while retrieving Application creation event stream for application with hash id : " + versionHashId; log.error(msg, e); throw new AppCloudException(msg, e); } finally { DBUtil.closePreparedStatement(preparedStatement); DBUtil.closeConnection(dbConnection); } return eventList; }