Package org.cyclos.impl.system
Class BaseSingleOwnedImageServiceImpl<O extends BaseEntity & ImageOwner<O,I>,I extends OwnedImage<O>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>
- java.lang.Object
-
- org.cyclos.impl.AbstractServerComponent
-
- org.cyclos.impl.AbstractNetworkedServerComponent
-
- org.cyclos.impl.BaseServiceImpl
-
- org.cyclos.impl.system.BaseImageServiceImpl<I,A,NP>
-
- org.cyclos.impl.system.BaseCategorizedImageServiceImpl<I,O,A,NP>
-
- org.cyclos.impl.system.BaseOwnedImageServiceImpl<O,I,A,NP>
-
- org.cyclos.impl.system.BaseSingleOwnedImageServiceImpl<O,I,A,NP>
-
- All Implemented Interfaces:
BaseCategorizedImageServiceLocal<I,O,NP>,BaseImageServiceLocal<I,NP>,BaseOwnedImageServiceLocal<O,I,NP>,Service,BaseCategorizedImageService<NP>,BaseImageService<NP>,BaseOwnedImageService<NP>
- Direct Known Subclasses:
AdCategoryImageServiceImpl,ContactInfoImageServiceImpl,IdentityProviderImageServiceImpl,OidcClientImageServiceImpl,VoucherCategoryImageServiceImpl,VoucherTypeImageServiceImpl
public abstract class BaseSingleOwnedImageServiceImpl<O extends BaseEntity & ImageOwner<O,I>,I extends OwnedImage<O>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity> extends BaseOwnedImageServiceImpl<O,I,A,NP>
Base service implementation for owned images
-
-
Field Summary
-
Fields inherited from class org.cyclos.impl.system.BaseOwnedImageServiceImpl
beanHandler, tempImageService
-
Fields inherited from class org.cyclos.impl.system.BaseCategorizedImageServiceImpl
categoryPath, categoryType
-
Fields inherited from class org.cyclos.impl.system.BaseImageServiceImpl
$, imageHandler, imageType, nature, storedFileHandler
-
Fields inherited from class org.cyclos.impl.AbstractNetworkedServerComponent
authHandler, conversionHandler, customFieldValueHandler, entityManagerHandler, groupsHandler, productsHandler, restBeanPropertyMapping, userLocatorHandler
-
Fields inherited from class org.cyclos.impl.AbstractServerComponent
accountHandler, configurationHandler, dataTranslationHandler, notificationHandler, profileFieldHandler, transactionHandler, translationHandler
-
-
Constructor Summary
Constructors Constructor Description BaseSingleOwnedImageServiceImpl(ImageNature nature, Class<O> ownerType, Class<I> imageType, A $, com.querydsl.core.types.dsl.EntityPathBase<O> ownerPath)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intnewOrder(O owner)Returns the order an image should have when added to the given ownerprotected voidphysicallyAddImage(O owner, I image)Physically add the given image to the ownerintremoveAll(O owner)Removes all images of the given categoryprotected intresolveMaxImages(O owner)Must be implemented in order to resolve the maximum images upload limit.ImageVOsave(NP ownerVO, String name, SerializableInputStream content, String contentType)Saves the given image for the given parameter (which depends on each image type), returning the descriptorprotected voidsetFirstImage(I image, O owner, Supplier<Boolean> mustSetGuard)This method MUST be used instead of directly set the image to the owner.protected voidvalidateMaxImages(O owner)-
Methods inherited from class org.cyclos.impl.system.BaseOwnedImageServiceImpl
customizeListByCategoryQuery, doAddImage, importTempImage, importTempImages, isCategoryActive, isTempValid, newImage, onAfterRemove, onAfterSave, onBeforeRemove, onOrderChanged, saveOrder
-
Methods inherited from class org.cyclos.impl.system.BaseCategorizedImageServiceImpl
count, findCategory, getListData, isRequired, list, listByCategory, remove, toCategory, validateMaxImages
-
Methods inherited from class org.cyclos.impl.system.BaseImageServiceImpl
find, findByKey, getImageNature, isKeepOriginalContent, readContent, readContentByKey, remove, removeAll, saveName, setDataAndPersist, setImageName
-
Methods inherited from class org.cyclos.impl.BaseServiceImpl
initializeNetworkMappings, registerNetworkMappings
-
Methods inherited from class org.cyclos.impl.AbstractNetworkedServerComponent
canManage, checkManagesUser, checkPermission, checkRelatesToUser, checkValue, clearAlreadyValidated, getBaseEntityManagerHandler, getConfiguration, getLoggedBasicUser, getLoggedUser, getProducts, getTranslatedName, getTranslatedValue, hasPermission, hasValue, inSameNetwork, inSameNetworkOrGlobal, isAdmin, isAlreadyValidated, isBroker, isGlobalAdmin, isGlobalAdminInNetwork, isGuest, isLoggedIn, isMember, isMemberOnly, isNetworkAdmin, isOperator, isRelatedToUser, isSystem, isUserManager, isUserManagerOf, message, message, permission, permission, permissionOptionalValue, permissionOptionalValue, setAlreadyValidated, toDate, toDateTime, validate
-
Methods inherited from class org.cyclos.impl.AbstractServerComponent
dataTranslationProxy, dataTranslationProxy, delete, detach, doDataTranslationProxy, find, flush, from, getApplicationContext, getFormatter, getFormatter, getFormatter, getLogger, getRemoteAddress, getSessionData, mailContentBuilder, message, message, persist, processBatch, processBatch, refresh, selectFrom, subQuery, update
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.cyclos.services.system.BaseCategorizedImageService
getListData, list
-
Methods inherited from interface org.cyclos.impl.system.BaseCategorizedImageServiceLocal
listByCategory
-
Methods inherited from interface org.cyclos.services.system.BaseImageService
remove, removeAll, saveName
-
Methods inherited from interface org.cyclos.impl.system.BaseImageServiceLocal
find, getImageNature, readContent, readContentByKey
-
-
-
-
Method Detail
-
removeAll
public int removeAll(O owner)
Description copied from interface:BaseCategorizedImageServiceLocalRemoves all images of the given category- Specified by:
removeAllin interfaceBaseCategorizedImageServiceLocal<O extends BaseEntity & ImageOwner<O,I>,I extends OwnedImage<O>,A extends com.querydsl.core.types.EntityPath<I>>- Overrides:
removeAllin classBaseOwnedImageServiceImpl<O extends BaseEntity & ImageOwner<O,I>,I extends OwnedImage<O>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>
-
save
public ImageVO save(NP ownerVO, String name, SerializableInputStream content, String contentType) throws FrameworkException
Description copied from interface:BaseImageServiceSaves the given image for the given parameter (which depends on each image type), returning the descriptor- Specified by:
savein interfaceBaseImageService<O extends BaseEntity & ImageOwner<O,I>>- Overrides:
savein classBaseCategorizedImageServiceImpl<I extends OwnedImage<O>,O extends BaseEntity & ImageOwner<O,I>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>- Throws:
FrameworkException
-
newOrder
protected int newOrder(O owner)
Description copied from class:BaseOwnedImageServiceImplReturns the order an image should have when added to the given owner- Overrides:
newOrderin classBaseOwnedImageServiceImpl<O extends BaseEntity & ImageOwner<O,I>,I extends OwnedImage<O>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>
-
physicallyAddImage
protected void physicallyAddImage(O owner, I image)
Description copied from class:BaseOwnedImageServiceImplPhysically add the given image to the owner- Overrides:
physicallyAddImagein classBaseOwnedImageServiceImpl<O extends BaseEntity & ImageOwner<O,I>,I extends OwnedImage<O>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>
-
resolveMaxImages
protected final int resolveMaxImages(O owner)
Description copied from class:BaseCategorizedImageServiceImplMust be implemented in order to resolve the maximum images upload limit. Returns a negative number for unlimited upload.- Specified by:
resolveMaxImagesin classBaseCategorizedImageServiceImpl<I extends OwnedImage<O>,O extends BaseEntity & ImageOwner<O,I>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>
-
setFirstImage
protected void setFirstImage(I image, O owner, Supplier<Boolean> mustSetGuard)
Description copied from class:BaseOwnedImageServiceImplThis method MUST be used instead of directly set the image to the owner. It supports concurrent modification of the owner entity using a lock (LockType.IMAGE_OWNER). If the image is directly set using theImageOwner.setImage(OwnedImage)method then anOptimisticLockExceptioncould happens.- Overrides:
setFirstImagein classBaseOwnedImageServiceImpl<O extends BaseEntity & ImageOwner<O,I>,I extends OwnedImage<O>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>- Parameters:
image- the image to be set. Could be null.mustSetGuard- The image will be set only if the given boolean supplier returns true. Take into account this guard will be invoked twice if the first time it returns true (one before entering the critical section and the other after the lock was acquired).
-
validateMaxImages
protected void validateMaxImages(O owner) throws MaxItemsException
- Overrides:
validateMaxImagesin classBaseCategorizedImageServiceImpl<I extends OwnedImage<O>,O extends BaseEntity & ImageOwner<O,I>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>- Throws:
MaxItemsException
-
-