6#include <imtbase/IRevisionController.h>
7#include <imtbase/TFilterableCollectionWrap.h>
8#include <imtrepo/IRepositoryFileTransformationStepsProvider.h>
9#include <imtrepo/IRepositoryTransformationController.h>
10#include <imtrepo/CFileCollectionCompBase.h>
27 public imtbase::TFilterableCollectionWrap<CFileCollectionCompBase>,
32 typedef imtbase::TFilterableCollectionWrap <CFileCollectionCompBase> BaseClass;
35 I_ASSIGN(m_productVersionIdAttrPtr,
"ProductVersionID",
"ID of the product version",
true, 89107);
36 I_ASSIGN(m_isEnableRevisionHistoryAttrPtr,
"IsEnableRevisionHistory",
"Allow saving item revisions",
true,
false);
37 I_ASSIGN(m_restoreRevisionRightIdAttrPtr,
"RestoreRevisionRightId",
"Restore to revision right id",
true,
"RestoreRevision");
38 I_ASSIGN(m_transformationControllerCompPtr,
"TransformationController",
"Controller for down- and upgrade of the repository data",
false,
"TransformationController");
39 I_ASSIGN_TO(m_transformationStepsProviderCompPtr, m_transformationControllerCompPtr,
true);
45 virtual RevisionInfoList GetRevisionInfoList(
const imtbase::IObjectCollection& collection,
const QByteArray& objectId)
const override;
46 virtual int BackupRevision(
const imtbase::IObjectCollection& collection,
const Id& objectId,
const QString& userComment = QString())
const override;
48 virtual bool ExportRevision(
const imtbase::IObjectCollection& collection,
const Id& objectId,
int revision,
const QString& filePath)
const override;
49 virtual bool DeleteRevision(IObjectCollection& collection,
const ICollectionInfo::Id& objectId,
int revision)
const override;
52 virtual FileCollectionLayout GetCollectionFileLayout()
const override;
57 virtual bool RemoveElementSet(
58 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
61 virtual bool SetElementName(
const Id& elementId,
const QString& name, ilog::IMessageConsumer* logPtr =
nullptr)
override;
64 virtual bool ExportFile(
67 const QString& targetFilePath = QString())
const override;
68 virtual Id ImportFile(
70 const QByteArray& typeId,
71 const QString& sourceFilePath = QString(),
72 const QString& objectName = QString())
const override;
75 virtual int GetSupportedOperations()
const override;
76 virtual bool CopyFrom(
const IChangeable&
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
77 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
80 struct RevisionsContentsItem:
public imtbase::IRevisionController::RevisionInfo
82 RevisionsContentsItem()
83 :repositoryRevision(0)
90 int repositoryRevision;
94 typedef QMap<int, RevisionsContentsItem> RevisionsContentsMap;
96 class RevisionsContents:
public RevisionsContentsMap,
virtual public iser::ISerializable
100 virtual bool Serialize(iser::IArchive& archive)
override;
103 virtual bool LoadRevisionsContents(
const IFileObjectCollection& collection,
const QByteArray& objectId, RevisionsContents& revisionsContents)
const;
104 virtual bool SaveRevisionsContents(
const IFileObjectCollection& collection,
const QByteArray& objectId, RevisionsContents& revisionsContents)
const;
111 virtual bool TransformRepositoryItem(
const RepositoryItemInfo& repositoryItemInfo,
int fromRepositoryRevision,
int toRepositoryRevision)
const;
114 virtual QString CalculateFolderPathInRepository(
115 const QString& localFilePath,
116 const QString& resourceName,
117 const QByteArray& typeId,
118 ilog::IMessageConsumer* messageConsumerPtr)
const override;
119 virtual QString CalculateTargetFilePath(
120 const QString& filePath,
121 const QString& objectName,
122 const QByteArray& typeId)
const override;
123 virtual QString CalculateTargetFilePath(
124 const QString& targetFolderPath,
125 const QString& localFilePath)
const override;
128 virtual void OnComponentCreated()
override;
129 virtual void OnComponentDestroyed()
override;
132 I_ATTR(
int, m_productVersionIdAttrPtr);
136 I_ATTR(
bool, m_isEnableRevisionHistoryAttrPtr);
141 I_ATTR(QByteArray, m_restoreRevisionRightIdAttrPtr);
virtual bool UpdateRepositoryFormat()