Package no.priv.bang.ukelonn.backend
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
The OSGi component that provides the business logic of the ukelonn
webapp.
- Author:
- Steinar Bang
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate DataSourceprivate Locale(package private) static final String(package private) static final Stringprivate org.osgi.service.log.Loggerprivate org.osgi.service.log.LogServiceprivate ConcurrentHashMap<String, ConcurrentLinkedQueue<no.priv.bang.ukelonn.beans.Notification>> private static final String(package private) static final Stringprivate no.priv.bang.osgiservice.users.UserManagementService(package private) static final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidno.priv.bang.ukelonn.beans.AccountaddAccount(no.priv.bang.ukelonn.beans.User user) (package private) voidaddAdminroleToUserAdmin(Optional<no.priv.bang.osgiservice.users.Role> ukelonnadmin) (package private) doubleaddBonus(double transactionAmount) (package private) intHack!(package private) voidaddParametersToDeleteJobsStatement(int accountId, PreparedStatement statement) (package private) Optional<no.priv.bang.osgiservice.users.Role> addRoleIfNotPresent(String rolename, String description) private voidList<no.priv.bang.ukelonn.beans.LocaleBean> (package private) voidbuildBonusFromResultSetAndAddToList(List<no.priv.bang.ukelonn.beans.Bonus> allbonuses, ResultSet results) List<no.priv.bang.ukelonn.beans.Bonus> createBonus(no.priv.bang.ukelonn.beans.Bonus newBonus) List<no.priv.bang.ukelonn.beans.TransactionType> createJobtype(no.priv.bang.ukelonn.beans.TransactionType jobtype) List<no.priv.bang.ukelonn.beans.TransactionType> createPaymenttype(no.priv.bang.ukelonn.beans.TransactionType paymenttype) List<no.priv.bang.ukelonn.beans.Bonus> deleteBonus(no.priv.bang.ukelonn.beans.Bonus removedBonus) List<no.priv.bang.ukelonn.beans.Transaction> deleteJobsFromAccount(int accountId, List<Integer> idsOfJobsToDelete) displayTexts(Locale locale) List<no.priv.bang.ukelonn.beans.SumYearMonth> earningsSumOverMonth(String username) List<no.priv.bang.ukelonn.beans.SumYear> earningsSumOverYear(String username) no.priv.bang.ukelonn.beans.AccountgetAccount(String username) List<no.priv.bang.ukelonn.beans.Account> List<no.priv.bang.ukelonn.beans.Bonus> List<no.priv.bang.ukelonn.beans.Bonus> List<no.priv.bang.ukelonn.beans.Transaction> getJobs(int accountId, int pageNumber, int pageSize) List<no.priv.bang.ukelonn.beans.TransactionType> org.osgi.service.log.LogServiceprivate ConcurrentLinkedQueue<no.priv.bang.ukelonn.beans.Notification> getNotificationQueueForUser(String username) List<no.priv.bang.ukelonn.beans.Transaction> getPayments(int accountId, int pageNumber, int pageSize) List<no.priv.bang.ukelonn.beans.TransactionType> (package private) StringgetResourceAsString(String resourceName) (package private) List<no.priv.bang.ukelonn.beans.Transaction> getTransactionsFromAccount(int accountId, String sqlTemplate, String transactionType, int pageNumber, int pageSize) (package private) static booleanhasUserWithNonEmptyUsername(no.priv.bang.ukelonn.beans.PasswordsWithUser passwords) (package private) static StringBuilderprivate voidprivate voidlogWarning(String message, Exception e) (package private) static List<no.priv.bang.ukelonn.beans.Transaction> makePaymentAmountsPositive(List<no.priv.bang.ukelonn.beans.Transaction> payments) no.priv.bang.ukelonn.beans.AccountmapAccount(ResultSet results) (package private) static no.priv.bang.ukelonn.beans.TransactionmapTransaction(ResultSet resultset) (package private) static no.priv.bang.ukelonn.beans.TransactionTypemapTransactionType(ResultSet resultset) List<no.priv.bang.ukelonn.beans.Bonus> modifyBonus(no.priv.bang.ukelonn.beans.Bonus updatedBonus) List<no.priv.bang.ukelonn.beans.TransactionType> modifyJobtype(no.priv.bang.ukelonn.beans.TransactionType jobtype) List<no.priv.bang.ukelonn.beans.TransactionType> modifyPaymenttype(no.priv.bang.ukelonn.beans.TransactionType paymenttype) List<no.priv.bang.ukelonn.beans.Notification> notificationsTo(String username) voidnotificationTo(String username, no.priv.bang.ukelonn.beans.Notification notification) (package private) static booleanpasswordsEqualsAndNotEmpty(no.priv.bang.ukelonn.beans.PasswordsWithUser passwords) no.priv.bang.ukelonn.beans.AccountregisterPayment(no.priv.bang.ukelonn.beans.PerformedTransaction payment) no.priv.bang.ukelonn.beans.AccountregisterPerformedJob(no.priv.bang.ukelonn.beans.PerformedTransaction job) voidsetDataSource(DataSource datasource) voidsetLogservice(org.osgi.service.log.LogService logservice) voidsetUserAdmin(no.priv.bang.osgiservice.users.UserManagementService useradmin) transformResourceBundleToMap(Locale locale) private static voidtrySettingPreparedStatementParameterThatMayNotBePresent(PreparedStatement statement, int parameterId, int parameterValue) List<no.priv.bang.ukelonn.beans.Transaction> updateJob(no.priv.bang.ukelonn.beans.UpdatedTransaction editedJob) Methods inherited from class no.priv.bang.ukelonn.backend.UkelonnServiceBase
getMessage
-
Field Details
-
RESOURCES_BASENAME
- See Also:
-
datasource
-
useradmin
private no.priv.bang.osgiservice.users.UserManagementService useradmin -
logservice
private org.osgi.service.log.LogService logservice -
logger
private org.osgi.service.log.Logger logger -
notificationQueues
private ConcurrentHashMap<String,ConcurrentLinkedQueue<no.priv.bang.ukelonn.beans.Notification>> notificationQueues -
defaultLocale
-
LAST_NAME
- See Also:
-
FIRST_NAME
- See Also:
-
USERNAME
- See Also:
-
USER_ID
- See Also:
-
-
Constructor Details
-
UkelonnServiceProvider
public UkelonnServiceProvider()
-
-
Method Details
-
activate
-
setDataSource
-
getDataSource
- Specified by:
getDataSourcein interfaceno.priv.bang.ukelonn.UkelonnService- Overrides:
getDataSourcein classUkelonnServiceBase
-
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:
getLogservicein interfaceno.priv.bang.ukelonn.UkelonnService- Overrides:
getLogservicein classUkelonnServiceBase
-
getAccounts
-
getAccount
-
registerPerformedJob
public no.priv.bang.ukelonn.beans.Account registerPerformedJob(no.priv.bang.ukelonn.beans.PerformedTransaction job) -
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
-
deleteJobsFromAccount
-
addParametersToDeleteJobsStatement
-
updateJob
public List<no.priv.bang.ukelonn.beans.Transaction> updateJob(no.priv.bang.ukelonn.beans.UpdatedTransaction editedJob) -
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
-
earningsSumOverMonth
-
notificationsTo
-
notificationTo
-
getActiveBonuses
-
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
-
availableLocales
-
displayTexts
-
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
-
hasUserWithNonEmptyUsername
static boolean hasUserWithNonEmptyUsername(no.priv.bang.ukelonn.beans.PasswordsWithUser passwords) -
trySettingPreparedStatementParameterThatMayNotBePresent
private static void trySettingPreparedStatementParameterThatMayNotBePresent(PreparedStatement statement, int parameterId, int parameterValue) -
logError
-
logWarning
-
addDummyPaymentToAccountSoThatAccountWillAppearInAccountsView
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
-
mapAccount
- Throws:
SQLException
-
addRolesIfNotPresent
private void addRolesIfNotPresent() -
addRoleIfNotPresent
-
addAdminroleToUserAdmin
-
mapTransaction
static no.priv.bang.ukelonn.beans.Transaction mapTransaction(ResultSet resultset) throws SQLException - Throws:
SQLException
-
makePaymentAmountsPositive
-
mapTransactionType
static no.priv.bang.ukelonn.beans.TransactionType mapTransactionType(ResultSet resultset) throws SQLException - Throws:
SQLException
-
transformResourceBundleToMap
-