Class UkelonnServiceProvider

java.lang.Object
no.priv.bang.ukelonn.backend.UkelonnServiceBase
no.priv.bang.ukelonn.backend.UkelonnServiceProvider
All Implemented Interfaces:
no.priv.bang.ukelonn.UkelonnService

public class UkelonnServiceProvider extends UkelonnServiceBase
The OSGi component that provides the business logic of the ukelonn webapp.
Author:
Steinar Bang
  • Field Details

  • Constructor Details

    • UkelonnServiceProvider

      public UkelonnServiceProvider()
  • Method Details

    • activate

      public void activate(Map<String,Object> config)
    • setDataSource

      public void setDataSource(DataSource datasource)
    • getDataSource

      public DataSource getDataSource()
      Specified by:
      getDataSource in interface no.priv.bang.ukelonn.UkelonnService
      Overrides:
      getDataSource in class UkelonnServiceBase
    • setUserAdmin

      public void setUserAdmin(no.priv.bang.osgiservice.users.UserManagementService useradmin)
    • setLogservice

      public void setLogservice(org.osgi.service.log.LogService logservice)
    • getLogservice

      public org.osgi.service.log.LogService getLogservice()
      Specified by:
      getLogservice in interface no.priv.bang.ukelonn.UkelonnService
      Overrides:
      getLogservice in class UkelonnServiceBase
    • getAccounts

      public List<no.priv.bang.ukelonn.beans.Account> getAccounts()
    • getAccount

      public no.priv.bang.ukelonn.beans.Account getAccount(String username)
    • registerPerformedJob

      public no.priv.bang.ukelonn.beans.Account registerPerformedJob(no.priv.bang.ukelonn.beans.PerformedTransaction job)
    • getJobTypes

      public List<no.priv.bang.ukelonn.beans.TransactionType> getJobTypes()
    • getJobs

      public List<no.priv.bang.ukelonn.beans.Transaction> getJobs(int accountId, int pageNumber, int pageSize)
    • getPayments

      public List<no.priv.bang.ukelonn.beans.Transaction> getPayments(int accountId, int pageNumber, int pageSize)
    • getTransactionsFromAccount

      List<no.priv.bang.ukelonn.beans.Transaction> getTransactionsFromAccount(int accountId, String sqlTemplate, String transactionType, int pageNumber, int pageSize)
    • deleteJobsFromAccount

      public List<no.priv.bang.ukelonn.beans.Transaction> deleteJobsFromAccount(int accountId, List<Integer> idsOfJobsToDelete)
    • addParametersToDeleteJobsStatement

      void addParametersToDeleteJobsStatement(int accountId, PreparedStatement statement)
    • updateJob

      public List<no.priv.bang.ukelonn.beans.Transaction> updateJob(no.priv.bang.ukelonn.beans.UpdatedTransaction editedJob)
    • getPaymenttypes

      public List<no.priv.bang.ukelonn.beans.TransactionType> getPaymenttypes()
    • registerPayment

      public no.priv.bang.ukelonn.beans.Account registerPayment(no.priv.bang.ukelonn.beans.PerformedTransaction payment)
    • modifyJobtype

      public List<no.priv.bang.ukelonn.beans.TransactionType> modifyJobtype(no.priv.bang.ukelonn.beans.TransactionType jobtype)
    • createJobtype

      public List<no.priv.bang.ukelonn.beans.TransactionType> createJobtype(no.priv.bang.ukelonn.beans.TransactionType jobtype)
    • modifyPaymenttype

      public List<no.priv.bang.ukelonn.beans.TransactionType> modifyPaymenttype(no.priv.bang.ukelonn.beans.TransactionType paymenttype)
    • createPaymenttype

      public List<no.priv.bang.ukelonn.beans.TransactionType> createPaymenttype(no.priv.bang.ukelonn.beans.TransactionType paymenttype)
    • addAccount

      public no.priv.bang.ukelonn.beans.Account addAccount(no.priv.bang.ukelonn.beans.User user)
    • earningsSumOverYear

      public List<no.priv.bang.ukelonn.beans.SumYear> earningsSumOverYear(String username)
    • earningsSumOverMonth

      public List<no.priv.bang.ukelonn.beans.SumYearMonth> earningsSumOverMonth(String username)
    • notificationsTo

      public List<no.priv.bang.ukelonn.beans.Notification> notificationsTo(String username)
    • notificationTo

      public void notificationTo(String username, no.priv.bang.ukelonn.beans.Notification notification)
    • getActiveBonuses

      public List<no.priv.bang.ukelonn.beans.Bonus> getActiveBonuses()
    • getAllBonuses

      public List<no.priv.bang.ukelonn.beans.Bonus> getAllBonuses()
    • createBonus

      public List<no.priv.bang.ukelonn.beans.Bonus> createBonus(no.priv.bang.ukelonn.beans.Bonus newBonus)
    • modifyBonus

      public List<no.priv.bang.ukelonn.beans.Bonus> modifyBonus(no.priv.bang.ukelonn.beans.Bonus updatedBonus)
    • deleteBonus

      public List<no.priv.bang.ukelonn.beans.Bonus> deleteBonus(no.priv.bang.ukelonn.beans.Bonus removedBonus)
    • defaultLocale

      public Locale defaultLocale()
    • availableLocales

      public List<no.priv.bang.ukelonn.beans.LocaleBean> availableLocales()
    • displayTexts

      public Map<String,String> displayTexts(Locale locale)
    • getNotificationQueueForUser

      private ConcurrentLinkedQueue<no.priv.bang.ukelonn.beans.Notification> getNotificationQueueForUser(String username)
    • addBonus

      double addBonus(double transactionAmount)
    • buildBonusFromResultSetAndAddToList

      void buildBonusFromResultSetAndAddToList(List<no.priv.bang.ukelonn.beans.Bonus> allbonuses, ResultSet results) throws SQLException
      Throws:
      SQLException
    • passwordsEqualsAndNotEmpty

      static boolean passwordsEqualsAndNotEmpty(no.priv.bang.ukelonn.beans.PasswordsWithUser passwords)
    • joinIds

      static StringBuilder joinIds(List<Integer> ids)
    • hasUserWithNonEmptyUsername

      static boolean hasUserWithNonEmptyUsername(no.priv.bang.ukelonn.beans.PasswordsWithUser passwords)
    • trySettingPreparedStatementParameterThatMayNotBePresent

      private static void trySettingPreparedStatementParameterThatMayNotBePresent(PreparedStatement statement, int parameterId, int parameterValue)
    • logError

      private void logError(String message, Exception e)
    • logWarning

      private void logWarning(String message, Exception e)
    • addDummyPaymentToAccountSoThatAccountWillAppearInAccountsView

      int addDummyPaymentToAccountSoThatAccountWillAppearInAccountsView(String username)
      Hack! Because of the sum() column of accounts_view, accounts without transactions won't appear in the accounts list, so all accounts are created with a payment of 0 kroner.
      Parameters:
      username - Used as the key to do the update to the account
      Returns:
      the update status
    • getResourceAsString

      String getResourceAsString(String resourceName)
    • mapAccount

      public no.priv.bang.ukelonn.beans.Account mapAccount(ResultSet results) throws SQLException
      Throws:
      SQLException
    • addRolesIfNotPresent

      private void addRolesIfNotPresent()
    • addRoleIfNotPresent

      Optional<no.priv.bang.osgiservice.users.Role> addRoleIfNotPresent(String rolename, String description)
    • addAdminroleToUserAdmin

      void addAdminroleToUserAdmin(Optional<no.priv.bang.osgiservice.users.Role> ukelonnadmin)
    • mapTransaction

      static no.priv.bang.ukelonn.beans.Transaction mapTransaction(ResultSet resultset) throws SQLException
      Throws:
      SQLException
    • makePaymentAmountsPositive

      static List<no.priv.bang.ukelonn.beans.Transaction> makePaymentAmountsPositive(List<no.priv.bang.ukelonn.beans.Transaction> payments)
    • mapTransactionType

      static no.priv.bang.ukelonn.beans.TransactionType mapTransactionType(ResultSet resultset) throws SQLException
      Throws:
      SQLException
    • transformResourceBundleToMap

      Map<String,String> transformResourceBundleToMap(Locale locale)