Get started
What is needed
- Java 8
- dependency to the Smint.io core library added to your project
Todo
-
Start-up the sync library
Utilize class SmintIoSynchronization and create an instance, providing your (proposed) required implementations:
final ISmintIoSynchronization smintIoSync = new SmintIoSynchronization( new DefaultSyncTargetFactory() .setSettingsProvider(() -> settings) .setAuthTokenStorage(new MyAuthTokenStorage()) .setJobDataStorage(new MyJobStorageHandler()) .setDataFactory(new MySyncTargetDataFactory()) .setSyncTargetProvider(() -> new MySyncTarget()) ).start();
-
Implement settings provider
ISettingsModel
. Settings will be read a lot, so implement some caching technique in case you will read the data from the database. -
Implement storage provider for OAuth access data
IAuthTokenStorage
. -
implement storage handler for Job data storage
ISyncJobDataStorage
. - implement synchronization target (DAM) data factory
ISyncTargetDataFactory
.public class MySyncTargetDataFactory implements ISyncTargetDataFactory { @Override public ISyncBinaryAsset createSyncBinaryAsset() { return new MySyncBinaryAssetImpl(); } @Override public ISyncCompoundAsset createSyncCompoundAsset() { return new MySyncCompoundAssetImpl(); } @Override public ISyncLicenseTerm createSyncLicenseTerm() { return new MySyncLicenseTermImpl(); } @Override public ISyncReleaseDetails createSyncReleaseDetails() { return new MySyncReleaseDetailsImpl(); } @Override public ISyncDownloadConstraints createSyncDownloadConstraints() { return new MySyncDownloadConstraintsImpl(); } }
- (major) implement synchronization target (DAM) abstraction
ISyncTarget
.public class MySyncTarget implements ISyncTarget { }
-
implement the interfaces representing meta data and asset data instances see Packages “target”
- implement OAuth authentification with the user utilizing the Package “authenticator”, see the OAuth example