|
@@ -12,11 +12,20 @@ export class MessageSyncrhonizationService implements MessageSynchronisationServ
|
|
|
public async init(settings: MessageSynchronisationServiceSetting): Promise<void> {
|
|
|
this.settings = settings;
|
|
|
// Wrap promise so that init must be instantiated with resolve before proceeding with subscribe method
|
|
|
- let promiseInit : Promise<void> = new Promise((resolve, reject) => {
|
|
|
+ let promiseInit: Promise<void> = new Promise((resolve, reject) => {
|
|
|
try {
|
|
|
- this.sourceSrc.init(settings.incomingSource).then(() => {
|
|
|
- this.targetSrc.init(settings.target);
|
|
|
- }).then(() => resolve())
|
|
|
+ this.sourceSrc.init(settings.incomingSource).then((data) => {
|
|
|
+ if (!data) reject()
|
|
|
+ console.log(`File Storage:`)
|
|
|
+ data.forEach(e => console.log(e.appLogLocId))
|
|
|
+ }).then(() => {
|
|
|
+ this.targetSrc.init(settings.target).then((data) => {
|
|
|
+ if (!data) reject()
|
|
|
+ console.log(`Mongo Storage`)
|
|
|
+ data.forEach(e => console.log(e.appLogLocId))
|
|
|
+ resolve()
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
catch (e) {
|
|
|
console.error(e)
|
|
@@ -27,43 +36,35 @@ export class MessageSyncrhonizationService implements MessageSynchronisationServ
|
|
|
|
|
|
public subscribe(obs: Observable<string>): Observable<any> {
|
|
|
let subjectOutput = new Subject()
|
|
|
- obs.subscribe({
|
|
|
- next: element => {
|
|
|
- let data = JSON.parse(element)
|
|
|
- console.log(data.header.messageID)
|
|
|
- }
|
|
|
- })
|
|
|
|
|
|
// filter all source tags[0] log data
|
|
|
- let set1 = this.sourceSrc.filter(
|
|
|
- { msgTag: this.settings.incomingSource.tags[0] })
|
|
|
- let set2 = this.targetSrc.filter(
|
|
|
- { msgTag: this.settings.target.tags[0] }
|
|
|
- )
|
|
|
- this.compareResult(set1, set2).then((data) => {
|
|
|
- data.forEach(element => {
|
|
|
- subjectOutput.next(element)
|
|
|
- })
|
|
|
- })
|
|
|
+ let set1 = this.sourceSrc.filter({ msgTag: this.settings.incomingSource.tags[0] })
|
|
|
+ set1.then((data) => console.log(data.length))
|
|
|
+ let set2 = this.targetSrc.filter({ msgTag: this.settings.target.tags[0] })
|
|
|
+ set2.then((data) => console.log(data.length))
|
|
|
+
|
|
|
+ // this.compareResult(set1, set2).then((data) => {
|
|
|
+ // data.forEach(element => {
|
|
|
+ // subjectOutput.next(element)
|
|
|
+ // })
|
|
|
+ // })
|
|
|
|
|
|
return subjectOutput.asObservable()
|
|
|
}
|
|
|
|
|
|
// compare results and return differences
|
|
|
- private async compareResult(args: Promise<any>, args2: Promise<any>): Promise<any[]> {
|
|
|
- let dataset3
|
|
|
- await args.then((data) => {
|
|
|
- console.log(data)
|
|
|
- args2.then((data2) => {
|
|
|
- data.forEach((element) => {
|
|
|
- data2.forEach((element2) => {
|
|
|
- dataset3 = '' // missing messages
|
|
|
- })
|
|
|
- })
|
|
|
- })
|
|
|
+ private async compareResult(args: Promise<any>, args2: Promise<any>): Promise<any> {
|
|
|
+ let arr1 = []
|
|
|
+ let arr2 = []
|
|
|
+ args.then((element) => {
|
|
|
+ arr1.push(element)
|
|
|
})
|
|
|
-
|
|
|
- return dataset3
|
|
|
+ args2.then((element) => {
|
|
|
+ arr2.push(element)
|
|
|
+ })
|
|
|
+ console.log(arr1)
|
|
|
+ console.log(arr2)
|
|
|
+ return arr1
|
|
|
}
|
|
|
|
|
|
}
|