1 package org.openecomp.core.zusammen.plugin.collaboration.impl;
3 import com.amdocs.zusammen.datatypes.Id;
4 import com.amdocs.zusammen.datatypes.SessionContext;
5 import org.openecomp.core.zusammen.plugin.collaboration.VersionStageStore;
6 import org.openecomp.core.zusammen.plugin.dao.VersionStageRepository;
7 import org.openecomp.core.zusammen.plugin.dao.VersionStageRepositoryFactory;
8 import org.openecomp.core.zusammen.plugin.dao.types.StageEntity;
9 import org.openecomp.core.zusammen.plugin.dao.types.VersionContext;
10 import org.openecomp.core.zusammen.plugin.dao.types.VersionEntity;
12 import java.util.Optional;
14 import static org.openecomp.core.zusammen.plugin.ZusammenPluginUtil.getPrivateSpaceName;
16 public class VersionStageStoreImpl implements VersionStageStore {
18 public Optional<StageEntity<VersionEntity>> get(SessionContext context, Id itemId,
19 VersionEntity versionEntity) {
20 return getVersionStageRepository(context)
21 .get(context, new VersionContext(getPrivateSpaceName(context), itemId), versionEntity);
25 public void create(SessionContext context, Id itemId, StageEntity<VersionEntity> versionStage) {
26 getVersionStageRepository(context)
27 .create(context, new VersionContext(getPrivateSpaceName(context), itemId), versionStage);
31 public void delete(SessionContext context, Id itemId, VersionEntity version) {
32 getVersionStageRepository(context)
33 .delete(context, new VersionContext(getPrivateSpaceName(context), itemId), version);
36 protected VersionStageRepository getVersionStageRepository(SessionContext context) {
37 return VersionStageRepositoryFactory.getInstance().createInterface(context);