001
014
015 package com.liferay.portlet.documentlibrary.service.impl;
016
017 import com.liferay.portal.kernel.dao.orm.DynamicQuery;
018 import com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil;
019 import com.liferay.portal.kernel.dao.orm.Projection;
020 import com.liferay.portal.kernel.dao.orm.ProjectionFactoryUtil;
021 import com.liferay.portal.kernel.dao.orm.Property;
022 import com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil;
023 import com.liferay.portlet.documentlibrary.model.DLSyncEvent;
024 import com.liferay.portlet.documentlibrary.service.base.DLSyncEventLocalServiceBaseImpl;
025
026 import java.util.List;
027
028
031 public class DLSyncEventLocalServiceImpl
032 extends DLSyncEventLocalServiceBaseImpl {
033
034 @Override
035 public DLSyncEvent addDLSyncEvent(String event, String type, long typePK) {
036 DLSyncEvent dlSyncEvent = dlSyncEventPersistence.fetchByTypePK(typePK);
037
038 if (dlSyncEvent == null) {
039 long dlSyncEventId = counterLocalService.increment();
040
041 dlSyncEvent = dlSyncEventPersistence.create(dlSyncEventId);
042
043 dlSyncEvent.setType(type);
044 dlSyncEvent.setTypePK(typePK);
045 }
046
047 dlSyncEvent.setModifiedTime(System.currentTimeMillis());
048 dlSyncEvent.setEvent(event);
049
050 return dlSyncEventPersistence.update(dlSyncEvent);
051 }
052
053 @Override
054 public void deleteDLSyncEvents() {
055 dlSyncEventPersistence.removeAll();
056 }
057
058 @Override
059 public List<DLSyncEvent> getDLSyncEvents(long modifiedTime) {
060 return dlSyncEventPersistence.findByModifiedTime(modifiedTime);
061 }
062
063 @Override
064 public List<DLSyncEvent> getLatestDLSyncEvents() {
065 DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(
066 DLSyncEvent.class);
067
068 Property property = PropertyFactoryUtil.forName("modifiedTime");
069
070 DynamicQuery modifiedTimeDynamicQuery =
071 DynamicQueryFactoryUtil.forClass(DLSyncEvent.class);
072
073 Projection projection = ProjectionFactoryUtil.max("modifiedTime");
074
075 modifiedTimeDynamicQuery.setProjection(projection);
076
077 dynamicQuery.add(property.eq(modifiedTimeDynamicQuery));
078
079 return dlSyncEventPersistence.findWithDynamicQuery(dynamicQuery);
080 }
081
082 }