001 /** 002 * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved. 003 * 004 * This library is free software; you can redistribute it and/or modify it under 005 * the terms of the GNU Lesser General Public License as published by the Free 006 * Software Foundation; either version 2.1 of the License, or (at your option) 007 * any later version. 008 * 009 * This library is distributed in the hope that it will be useful, but WITHOUT 010 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 011 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 012 * details. 013 */ 014 015 package com.liferay.portlet.social.service; 016 017 import com.liferay.portal.kernel.exception.PortalException; 018 import com.liferay.portal.kernel.exception.SystemException; 019 import com.liferay.portal.kernel.transaction.Isolation; 020 import com.liferay.portal.kernel.transaction.Propagation; 021 import com.liferay.portal.kernel.transaction.Transactional; 022 import com.liferay.portal.service.PersistedModelLocalService; 023 024 /** 025 * The interface for the social equity log local service. 026 * 027 * <p> 028 * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM. 029 * </p> 030 * 031 * @author Brian Wing Shun Chan 032 * @see SocialEquityLogLocalServiceUtil 033 * @see com.liferay.portlet.social.service.base.SocialEquityLogLocalServiceBaseImpl 034 * @see com.liferay.portlet.social.service.impl.SocialEquityLogLocalServiceImpl 035 * @generated 036 */ 037 @Transactional(isolation = Isolation.PORTAL, rollbackFor = { 038 PortalException.class, SystemException.class}) 039 public interface SocialEquityLogLocalService extends PersistedModelLocalService { 040 /* 041 * NOTE FOR DEVELOPERS: 042 * 043 * Never modify or reference this interface directly. Always use {@link SocialEquityLogLocalServiceUtil} to access the social equity log local service. Add custom service methods to {@link com.liferay.portlet.social.service.impl.SocialEquityLogLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. 044 */ 045 046 /** 047 * Adds the social equity log to the database. Also notifies the appropriate model listeners. 048 * 049 * @param socialEquityLog the social equity log 050 * @return the social equity log that was added 051 * @throws SystemException if a system exception occurred 052 */ 053 public com.liferay.portlet.social.model.SocialEquityLog addSocialEquityLog( 054 com.liferay.portlet.social.model.SocialEquityLog socialEquityLog) 055 throws com.liferay.portal.kernel.exception.SystemException; 056 057 /** 058 * Creates a new social equity log with the primary key. Does not add the social equity log to the database. 059 * 060 * @param equityLogId the primary key for the new social equity log 061 * @return the new social equity log 062 */ 063 public com.liferay.portlet.social.model.SocialEquityLog createSocialEquityLog( 064 long equityLogId); 065 066 /** 067 * Deletes the social equity log with the primary key from the database. Also notifies the appropriate model listeners. 068 * 069 * @param equityLogId the primary key of the social equity log 070 * @throws PortalException if a social equity log with the primary key could not be found 071 * @throws SystemException if a system exception occurred 072 */ 073 public void deleteSocialEquityLog(long equityLogId) 074 throws com.liferay.portal.kernel.exception.PortalException, 075 com.liferay.portal.kernel.exception.SystemException; 076 077 /** 078 * Deletes the social equity log from the database. Also notifies the appropriate model listeners. 079 * 080 * @param socialEquityLog the social equity log 081 * @throws SystemException if a system exception occurred 082 */ 083 public void deleteSocialEquityLog( 084 com.liferay.portlet.social.model.SocialEquityLog socialEquityLog) 085 throws com.liferay.portal.kernel.exception.SystemException; 086 087 /** 088 * Performs a dynamic query on the database and returns the matching rows. 089 * 090 * @param dynamicQuery the dynamic query 091 * @return the matching rows 092 * @throws SystemException if a system exception occurred 093 */ 094 @SuppressWarnings("rawtypes") 095 public java.util.List dynamicQuery( 096 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) 097 throws com.liferay.portal.kernel.exception.SystemException; 098 099 /** 100 * Performs a dynamic query on the database and returns a range of the matching rows. 101 * 102 * <p> 103 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. 104 * </p> 105 * 106 * @param dynamicQuery the dynamic query 107 * @param start the lower bound of the range of model instances 108 * @param end the upper bound of the range of model instances (not inclusive) 109 * @return the range of matching rows 110 * @throws SystemException if a system exception occurred 111 */ 112 @SuppressWarnings("rawtypes") 113 public java.util.List dynamicQuery( 114 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 115 int end) throws com.liferay.portal.kernel.exception.SystemException; 116 117 /** 118 * Performs a dynamic query on the database and returns an ordered range of the matching rows. 119 * 120 * <p> 121 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. 122 * </p> 123 * 124 * @param dynamicQuery the dynamic query 125 * @param start the lower bound of the range of model instances 126 * @param end the upper bound of the range of model instances (not inclusive) 127 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>) 128 * @return the ordered range of matching rows 129 * @throws SystemException if a system exception occurred 130 */ 131 @SuppressWarnings("rawtypes") 132 public java.util.List dynamicQuery( 133 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 134 int end, 135 com.liferay.portal.kernel.util.OrderByComparator orderByComparator) 136 throws com.liferay.portal.kernel.exception.SystemException; 137 138 /** 139 * Returns the number of rows that match the dynamic query. 140 * 141 * @param dynamicQuery the dynamic query 142 * @return the number of rows that match the dynamic query 143 * @throws SystemException if a system exception occurred 144 */ 145 public long dynamicQueryCount( 146 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) 147 throws com.liferay.portal.kernel.exception.SystemException; 148 149 /** 150 * Returns the social equity log with the primary key. 151 * 152 * @param equityLogId the primary key of the social equity log 153 * @return the social equity log 154 * @throws PortalException if a social equity log with the primary key could not be found 155 * @throws SystemException if a system exception occurred 156 */ 157 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 158 public com.liferay.portlet.social.model.SocialEquityLog getSocialEquityLog( 159 long equityLogId) 160 throws com.liferay.portal.kernel.exception.PortalException, 161 com.liferay.portal.kernel.exception.SystemException; 162 163 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 164 public com.liferay.portal.model.PersistedModel getPersistedModel( 165 java.io.Serializable primaryKeyObj) 166 throws com.liferay.portal.kernel.exception.PortalException, 167 com.liferay.portal.kernel.exception.SystemException; 168 169 /** 170 * Returns a range of all the social equity logs. 171 * 172 * <p> 173 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. 174 * </p> 175 * 176 * @param start the lower bound of the range of social equity logs 177 * @param end the upper bound of the range of social equity logs (not inclusive) 178 * @return the range of social equity logs 179 * @throws SystemException if a system exception occurred 180 */ 181 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 182 public java.util.List<com.liferay.portlet.social.model.SocialEquityLog> getSocialEquityLogs( 183 int start, int end) 184 throws com.liferay.portal.kernel.exception.SystemException; 185 186 /** 187 * Returns the number of social equity logs. 188 * 189 * @return the number of social equity logs 190 * @throws SystemException if a system exception occurred 191 */ 192 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 193 public int getSocialEquityLogsCount() 194 throws com.liferay.portal.kernel.exception.SystemException; 195 196 /** 197 * Updates the social equity log in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 198 * 199 * @param socialEquityLog the social equity log 200 * @return the social equity log that was updated 201 * @throws SystemException if a system exception occurred 202 */ 203 public com.liferay.portlet.social.model.SocialEquityLog updateSocialEquityLog( 204 com.liferay.portlet.social.model.SocialEquityLog socialEquityLog) 205 throws com.liferay.portal.kernel.exception.SystemException; 206 207 /** 208 * Updates the social equity log in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 209 * 210 * @param socialEquityLog the social equity log 211 * @param merge whether to merge the social equity log with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation. 212 * @return the social equity log that was updated 213 * @throws SystemException if a system exception occurred 214 */ 215 public com.liferay.portlet.social.model.SocialEquityLog updateSocialEquityLog( 216 com.liferay.portlet.social.model.SocialEquityLog socialEquityLog, 217 boolean merge) 218 throws com.liferay.portal.kernel.exception.SystemException; 219 220 /** 221 * Returns the Spring bean ID for this bean. 222 * 223 * @return the Spring bean ID for this bean 224 */ 225 public java.lang.String getBeanIdentifier(); 226 227 /** 228 * Sets the Spring bean ID for this bean. 229 * 230 * @param beanIdentifier the Spring bean ID for this bean 231 */ 232 public void setBeanIdentifier(java.lang.String beanIdentifier); 233 234 /** 235 * Records the social equity action and adjusts social equity scores. 236 * 237 * @param userId the primary key of the acting user 238 * @param assetEntryId the primary key of the target asset entry 239 * @param actionId the ID of the action 240 * @throws PortalException if the asset entry could not be found 241 * @throws SystemException if a system exception occurred 242 * @deprecated Replaced by {@link #addEquityLogs(long, long, String, 243 String)} to support the <code>extraData</code> parameter 244 */ 245 public void addEquityLogs(long userId, long assetEntryId, 246 java.lang.String actionId) 247 throws com.liferay.portal.kernel.exception.PortalException, 248 com.liferay.portal.kernel.exception.SystemException; 249 250 /** 251 * Records the social equity action and adjusts social equity scores based 252 * on the user's action done on the target asset entry. 253 * 254 * <p> 255 * The <code>extraData</code> parameter can contain further information 256 * about the action such as the file name for a download action. It is used 257 * to distinguish between otherwise equal actions, such as multiple 258 * downloads of message boards attachments. 259 * </p> 260 * 261 * @param userId the primary key of the acting user 262 * @param assetEntryId the primary key of the target asset entry 263 * @param actionId the ID of the action 264 * @param extraData the extra data associated with the action 265 * @throws PortalException if the asset entry could not be found 266 * @throws SystemException if a system exception occurred 267 */ 268 public void addEquityLogs(long userId, long assetEntryId, 269 java.lang.String actionId, java.lang.String extraData) 270 throws com.liferay.portal.kernel.exception.PortalException, 271 com.liferay.portal.kernel.exception.SystemException; 272 273 /** 274 * Records the social equity action and adjusts social equity scores based 275 * on the user's action done on the target asset entry identified by the 276 * className/classPK pair. 277 * 278 * <p> 279 * The <code>extraData</code> parameter can contain further information 280 * about the action such as the file name for a download action. It is used 281 * to distinguish between otherwise equal actions, such as multiple 282 * downloads of message boards attachments. 283 * </p> 284 * 285 * @param userId the primary key of the acting user 286 * @param className the class name of the target asset 287 * @param classPK the primary key of the target asset (not the asset entry 288 referring to it) 289 * @param actionId the ID of the action 290 * @param extraData the extra data associated with the action 291 * @throws PortalException if the asset entry could not be found 292 * @throws SystemException if a system exception occurred 293 */ 294 public void addEquityLogs(long userId, java.lang.String className, 295 long classPK, java.lang.String actionId, java.lang.String extraData) 296 throws com.liferay.portal.kernel.exception.PortalException, 297 com.liferay.portal.kernel.exception.SystemException; 298 299 /** 300 * Inserts a new row for the asset entry into the 301 * <code>SocialEquityAssetEntry</code> table. 302 * 303 * <p> 304 * This method should not be used directly by portlets. It is made public 305 * so that it can be in its own transaction to safeguard against 306 * concurrency issues. 307 * </p> 308 * 309 * @param assetEntry the asset entry 310 * @throws SystemException if a system exception occurred 311 */ 312 public void addSocialEquityAssetEntry( 313 com.liferay.portlet.asset.model.AssetEntry assetEntry) 314 throws com.liferay.portal.kernel.exception.SystemException; 315 316 /** 317 * Inserts a new row for the user into the <code>SocialEquityUser</code> 318 * table. 319 * 320 * <p> 321 * This method should not be used directly by portlets. It is made public 322 * so that it can be in its own transaction to safeguard against 323 * concurrency issues. 324 * </p> 325 * 326 * @param groupId the primary key of the group the user is currently 327 acting in 328 * @param user the acting user 329 * @throws SystemException if a system exception occurred 330 */ 331 public void addSocialEquityUser(long groupId, 332 com.liferay.portal.model.User user) 333 throws com.liferay.portal.kernel.exception.SystemException; 334 335 /** 336 * This is a cleanup method to remove expired actions and any data 337 * associated with them. 338 * 339 * <p> 340 * <i>This method should normally only be called by the portal.</i> 341 * </p> 342 * 343 * <p> 344 * By default it is run by the scheduler once a day, but the frequency can 345 * be modified by overriding the 346 * <code>social.equity.equity.log.check.interval</code> property found in 347 * <code>portal.properties</code>. 348 * </p> 349 * 350 * @throws SystemException if a system exception occurred 351 */ 352 public void checkEquityLogs() 353 throws com.liferay.portal.kernel.exception.SystemException; 354 355 /** 356 * Removes all actions associated with the asset and adjusts equity scores 357 * accordingly. 358 * 359 * <p> 360 * This method is called by the <code>AssetEntry</code> service 361 * automatically when an asset entry is deleted. 362 * </p> 363 * 364 * @param assetEntryId the primary key of the asset entry 365 * @throws SystemException if a system exception occurred 366 */ 367 public void deactivateEquityLogs(long assetEntryId) 368 throws com.liferay.portal.kernel.exception.SystemException; 369 370 /** 371 * Removes actions identified by the acting user, the action ID and the 372 * target asset's primary key. 373 * 374 * @param userId the primary key of the acting user 375 * @param assetEntryId the primary key of the target asset entry 376 * @param actionId the ID of the action 377 * @throws PortalException if the asset entry could not be found 378 * @throws SystemException if a system exception occurred 379 * @deprecated Replaced by {@link #deactivateEquityLogs(long, String, long, 380 String, String)} to support the <code>extraData</code> 381 parameter 382 */ 383 public void deactivateEquityLogs(long userId, long assetEntryId, 384 java.lang.String actionId) 385 throws com.liferay.portal.kernel.exception.PortalException, 386 com.liferay.portal.kernel.exception.SystemException; 387 388 /** 389 * Removes actions identified by the acting user, the action ID and the 390 * target asset's className/classPK pair. 391 * 392 * @param userId the primary key of the acting user 393 * @param className the class name of the target asset 394 * @param classPK the primary key of the target asset (not the asset 395 entry referring to it) 396 * @param actionId the ID of the action 397 * @throws PortalException if the asset entry cannot be retrieved 398 * @throws SystemException if a system exception occurred 399 * @deprecated Replaced by {@link #deactivateEquityLogs(long, String, long, 400 String, String)} to support the <code>extraData</code> 401 parameter 402 */ 403 public void deactivateEquityLogs(long userId, java.lang.String className, 404 long classPK, java.lang.String actionId) 405 throws com.liferay.portal.kernel.exception.PortalException, 406 com.liferay.portal.kernel.exception.SystemException; 407 408 /** 409 * Removes actions identified by the acting user, the action ID and the 410 * target asset's className/classPK pair. 411 * 412 * <p> 413 * The <code>extraData</code> parameter can be used to further identify the 414 * action. 415 * </p> 416 * 417 * @param userId the primary key of the acting user 418 * @param className the class name of the target asset 419 * @param classPK the primary key of the target asset (not the asset entry 420 referring to it) 421 * @param actionId the ID of the action 422 * @param extraData the extra data associated with the action 423 * @throws PortalException if the asset entry cannot be retrieved 424 * @throws SystemException if a system exception occurred 425 */ 426 public void deactivateEquityLogs(long userId, java.lang.String className, 427 long classPK, java.lang.String actionId, java.lang.String extraData) 428 throws com.liferay.portal.kernel.exception.PortalException, 429 com.liferay.portal.kernel.exception.SystemException; 430 431 /** 432 * Removes actions identified by action ID done on an asset by any user. 433 * 434 * @param className the class name of the target asset 435 * @param classPK the primary key of the target asset (not the asset entry 436 referring to it) 437 * @param actionId the ID of the action 438 * @param extraData the extra data associated with the action 439 * @throws PortalException if the asset entry cannot be retrieved 440 * @throws SystemException if a system exception occurred 441 */ 442 public void deactivateEquityLogs(java.lang.String className, long classPK, 443 java.lang.String actionId, java.lang.String extraData) 444 throws com.liferay.portal.kernel.exception.PortalException, 445 com.liferay.portal.kernel.exception.SystemException; 446 447 /** 448 * Removes all actions done by the user. 449 * 450 * <p> 451 * This method is called by the portal when a user is deleted. 452 * </p> 453 * 454 * @param userId the primary key of the user 455 * @throws SystemException if a system exception occurred 456 */ 457 public void deactivateUserEquityLogs(long userId) 458 throws com.liferay.portal.kernel.exception.SystemException; 459 460 /** 461 * Increments the information equity value of the asset by the number set 462 * in the equity payload. 463 * 464 * <p> 465 * This method is annotated with the <code>BufferedIncrement</code> 466 * annotation, which means that in case of heavy load, invocations of this 467 * method can be aggregated into one method call containing the sum of the 468 * individual increments. 469 * </p> 470 * 471 * <p> 472 * <i>This method should not be called directly by portlets. It is made 473 * public only to accommodate the <code>BufferedIncrement</code> 474 * annotation.</i> 475 * </p> 476 * 477 * @param assetEntryId the primary key of the target asset entry 478 * @param equityPayload the equity payload containing the increments 479 * @throws SystemException if a system exception occurred 480 */ 481 public void incrementSocialEquityAssetEntry_IQ(long assetEntryId, 482 com.liferay.portlet.social.model.SocialEquityIncrementPayload equityPayload) 483 throws com.liferay.portal.kernel.exception.SystemException; 484 485 /** 486 * Increments the contribution equity value of the user by the number set 487 * in the equity payload. 488 * 489 * <p> 490 * This method is annotated with the <code>BufferedIncrement</code> 491 * annotation, which means that in case of heavy load, invocations of this 492 * method can be aggregated into one method call containing the sum of the 493 * individual increments. 494 * </p> 495 * 496 * <P> 497 * <i>This method should not be called directly by portlets. It is made 498 * public only to accommodate the <code>BufferedIncrement</code> 499 * annotation.</i> 500 * </p> 501 * 502 * @param groupId the primary key of the group in which the user is acting 503 * @param userId the primary key of the acting user 504 * @param equityPayload the equity payload containing the increments 505 * @throws SystemException if a system exception occurred 506 */ 507 public void incrementSocialEquityUser_CQ(long groupId, long userId, 508 com.liferay.portlet.social.model.SocialEquityIncrementPayload equityPayload) 509 throws com.liferay.portal.kernel.exception.SystemException; 510 511 /** 512 * Increments the participation equity value of the user by the number set 513 * in the equity payload. 514 * 515 * <p> 516 * This method is annotated with the <code>BufferedIncrement</code> 517 * annotation, which means that in case of heavy load, invocations of this 518 * method can be aggregated into one method call containing the sum of the 519 * individual increments. 520 * </p> 521 * 522 * <p> 523 * <i>This method should not be called directly by portlets. It is made 524 * public only to accommodate the <code>BufferedIncrement</code> 525 * annotation. </i> 526 * </p> 527 * 528 * @param groupId the primary key of the group in which the user is acting 529 * @param userId the primary key of the acting user 530 * @param equityPayload the equity payload containing the increments 531 * @throws SystemException if a system exception occurred 532 */ 533 public void incrementSocialEquityUser_PQ(long groupId, long userId, 534 com.liferay.portlet.social.model.SocialEquityIncrementPayload equityPayload) 535 throws com.liferay.portal.kernel.exception.SystemException; 536 537 /** 538 * Updates user ranking for all groups. 539 */ 540 public void updateRanks(); 541 542 /** 543 * Updates user ranking for a group. 544 * 545 * @param groupId the primary key of the group 546 */ 547 public void updateRanks(long groupId); 548 }