/** * This method returns the set of APIs for given subscriber * * @param String user * @return List<API> * @throws org.wso2.carbon.appmgt.api.AppManagementException if failed to get SubscribedAPIs */ public List<SubscribedAppExtension> getSubscribedApps(String user) throws AppManagementException { ArrayList<SubscribedAppExtension> subscribedApps = new ArrayList<SubscribedAppExtension>(); Connection connection = null; PreparedStatement ps = null; ResultSet result = null; try { connection = APIMgtDBUtil.getConnection(); String sqlQuery = "SELECT " + " SUBS.SUBSCRIPTION_ID" + " ,API.APP_PROVIDER AS APP_PROVIDER" + " ,API.APP_NAME AS APP_NAME" + " ,API.APP_VERSION AS APP_VERSION" + " ,API.APP_ID AS APP_ID" + " ,SUBS.SUBSCRIPTION_TIME AS SUBSCRIPTION_TIME" + " ,SUBS.EVALUATION_PERIOD AS EVALUATION_PERIOD" + " ,SUBS.EXPIRED_ON AS EXPIRED_ON" + " ,SUBS.IS_PAID AS IS_PAID" + " FROM " + " APM_SUBSCRIBER SUB, APM_SUBSCRIPTION_EXT SUBS, APM_APP API " + " WHERE " + " SUB.USER_ID = ? " + " AND SUB.TENANT_ID = ? " + " AND SUB.SUBSCRIBER_ID=SUBS.SUBSCRIBER_ID " + " AND API.APP_ID=SUBS.APP_ID"; ps = connection.prepareStatement(sqlQuery); ps.setString(1, user); int tenantId = IdentityUtil.getTenantIdOFUser(user); ps.setInt(2, tenantId); result = ps.executeQuery(); if (result == null) { return subscribedApps; } while (result.next()) { APIIdentifier apiIdentifier = new APIIdentifier( AppManagerUtil.replaceEmailDomain(result.getString("APP_PROVIDER")), result.getString("APP_NAME"), result.getString("APP_VERSION")); apiIdentifier.setApplicationId(result.getString("APP_ID")); SubscribedAppExtension subscribedAPI = new SubscribedAppExtension(apiIdentifier); subscribedAPI.setSubscriptionID(result.getInt("SUBSCRIPTION_ID")); subscribedAPI.setSubscriptionTime(result.getTimestamp("SUBSCRIPTION_TIME")); subscribedAPI.setEvaluationPeriod(result.getInt("EVALUATION_PERIOD")); subscribedAPI.setExpireOn(result.getTimestamp("EXPIRED_ON")); subscribedAPI.setPaid(result.getBoolean("IS_PAID")); subscribedApps.add(subscribedAPI); } } catch (SQLException e) { handleException("Failed to get SubscribedAPI of : " + user, e); } catch (IdentityException e) { handleException("Failed get tenant id of user " + user, e); } finally { APIMgtDBUtil.closeAllConnections(ps, connection, result); } return subscribedApps; }