001
014
015 package com.liferay.portal.repository.liferayrepository;
016
017 import com.liferay.portal.kernel.bean.BeanReference;
018 import com.liferay.portal.kernel.repository.LocalRepository;
019 import com.liferay.portal.kernel.repository.Repository;
020 import com.liferay.portal.kernel.repository.RepositoryFactory;
021 import com.liferay.portal.service.RepositoryLocalService;
022 import com.liferay.portal.service.RepositoryService;
023 import com.liferay.portal.service.ResourceLocalService;
024 import com.liferay.portlet.documentlibrary.service.DLAppHelperLocalService;
025 import com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService;
026 import com.liferay.portlet.documentlibrary.service.DLFileEntryService;
027 import com.liferay.portlet.documentlibrary.service.DLFileEntryTypeLocalService;
028 import com.liferay.portlet.documentlibrary.service.DLFileShortcutLocalService;
029 import com.liferay.portlet.documentlibrary.service.DLFileShortcutService;
030 import com.liferay.portlet.documentlibrary.service.DLFileVersionLocalService;
031 import com.liferay.portlet.documentlibrary.service.DLFileVersionService;
032 import com.liferay.portlet.documentlibrary.service.DLFolderLocalService;
033 import com.liferay.portlet.documentlibrary.service.DLFolderService;
034
035
038 public class LiferayRepositoryFactory implements RepositoryFactory {
039
040 @Override
041 public LocalRepository createLocalRepository(long repositoryId) {
042 long[] repositoryLocation = getRepositoryLocation(repositoryId);
043
044 return createLocalRepositoryInstance(repositoryLocation);
045 }
046
047 @Override
048 public Repository createRepository(long repositoryId) {
049 long[] repositoryLocation = getRepositoryLocation(repositoryId);
050
051 return createRepositoryInstance(repositoryLocation);
052 }
053
054 protected LocalRepository createLocalRepositoryInstance(
055 long[] repositoryLocation) {
056
057 long groupId = repositoryLocation[0];
058 long repositoryId = repositoryLocation[1];
059 long dlFolderId = repositoryLocation[2];
060
061 return new LiferayLocalRepository(
062 _repositoryLocalService, _repositoryService,
063 _dlAppHelperLocalService, _dlFileEntryLocalService,
064 _dlFileEntryService, _dlFileEntryTypeLocalService,
065 _dlFileShortcutLocalService, _dlFileShortcutService,
066 _dlFileVersionLocalService, _dlFileVersionService,
067 _dlFolderLocalService, _dlFolderService, _resourceLocalService,
068 groupId, repositoryId, dlFolderId);
069 }
070
071 protected Repository createRepositoryInstance(long[] repositoryLocation) {
072 long groupId = repositoryLocation[0];
073 long repositoryId = repositoryLocation[1];
074 long dlFolderId = repositoryLocation[2];
075
076 return new LiferayRepository(
077 _repositoryLocalService, _repositoryService,
078 _dlAppHelperLocalService, _dlFileEntryLocalService,
079 _dlFileEntryService, _dlFileEntryTypeLocalService,
080 _dlFileShortcutLocalService, _dlFileShortcutService,
081 _dlFileVersionLocalService, _dlFileVersionService,
082 _dlFolderLocalService, _dlFolderService, _resourceLocalService,
083 groupId, repositoryId, dlFolderId);
084 }
085
086 protected long[] getRepositoryLocation(long repositoryId) {
087 long dlFolderId = 0;
088 long groupId = 0;
089
090 com.liferay.portal.model.Repository repository =
091 _repositoryLocalService.fetchRepository(repositoryId);
092
093 if (repository == null) {
094 groupId = repositoryId;
095 }
096 else {
097 groupId = repository.getGroupId();
098 dlFolderId = repository.getDlFolderId();
099 }
100
101 return new long[] {groupId, repositoryId, dlFolderId};
102 }
103
104 @BeanReference(type = DLAppHelperLocalService.class)
105 private DLAppHelperLocalService _dlAppHelperLocalService;
106
107 @BeanReference(type = DLFileEntryLocalService.class)
108 private DLFileEntryLocalService _dlFileEntryLocalService;
109
110 @BeanReference(type = DLFileEntryService.class)
111 private DLFileEntryService _dlFileEntryService;
112
113 @BeanReference(type = DLFileEntryTypeLocalService.class)
114 private DLFileEntryTypeLocalService _dlFileEntryTypeLocalService;
115
116 @BeanReference(type = DLFileShortcutLocalService.class)
117 private DLFileShortcutLocalService _dlFileShortcutLocalService;
118
119 @BeanReference(type = DLFileShortcutService.class)
120 private DLFileShortcutService _dlFileShortcutService;
121
122 @BeanReference(type = DLFileVersionLocalService.class)
123 private DLFileVersionLocalService _dlFileVersionLocalService;
124
125 @BeanReference(type = DLFileVersionService.class)
126 private DLFileVersionService _dlFileVersionService;
127
128 @BeanReference(type = DLFolderLocalService.class)
129 private DLFolderLocalService _dlFolderLocalService;
130
131 @BeanReference(type = DLFolderService.class)
132 private DLFolderService _dlFolderService;
133
134 @BeanReference(type = RepositoryLocalService.class)
135 private RepositoryLocalService _repositoryLocalService;
136
137 @BeanReference(type = RepositoryService.class)
138 private RepositoryService _repositoryService;
139
140 @BeanReference(type = ResourceLocalService.class)
141 private ResourceLocalService _resourceLocalService;
142
143 }