Index: AXimpl/MessageInProcessor.cls.xml
===================================================================
diff -u -r49618 -r49635
--- AXimpl/MessageInProcessor.cls.xml (.../MessageInProcessor.cls.xml) (revision 49618)
+++ AXimpl/MessageInProcessor.cls.xml (.../MessageInProcessor.cls.xml) (revision 49635)
@@ -28,8 +28,13 @@
1
+
+AXimpl.VerwerkBestandOpnieuwAanvraagRepository
+1
+
+
-FileAPI:TECH.File.FileAPI,XmlCorrelater:TECH.XMLCorrelater,EventRaiser:AXimpl.EventRaiser,ConfigIn:AXimpl.ConfigIn
+FileAPI:TECH.File.FileAPI,XmlCorrelater:TECH.XMLCorrelater,EventRaiser:AXimpl.EventRaiser,ConfigIn:AXimpl.ConfigIn,VerwerkBestandOpnieuwAanvraagRepository:AXimpl.VerwerkBestandOpnieuwAanvraagRepository
1
1
%Status
@@ -39,6 +44,7 @@
Set ..XmlCorrelater = $$$Inject(XmlCorrelater,##class(TECH.XMLCorrelater).%New())
Set ..EventRaiser = $$$Inject(EventRaiser,##class(AXimpl.EventRaiser).%New())
Set ..ConfigIn = $$$Inject(ConfigIn,##class(AXimpl.ConfigIn).%New())
+ Set ..VerwerkBestandOpnieuwAanvraagRepository = $$$Inject(VerwerkBestandOpnieuwAanvraagRepository,##class(VerwerkBestandOpnieuwAanvraagRepository).%New())
Set ..Logger = ##class(vhLib.Logger).%New()
quit $$$OK
@@ -79,6 +85,7 @@
Do ..EventRaiser.RaiseRequestReceivedEvent(SubPath,FullFilename,..FileAPI.GeefFileReader(FullFilename).GeefStream())
Do ..FileAPI.DeleteFile(FullFilename)
;eind verwerking
+ Do ..MarkeerVerwerkBestandOpnieuwAanvraagVerwerkt(FullFilename)
Set VerwerkVolgende = $$$False
}
Set VerwerkVolgende = $$$False
@@ -87,11 +94,13 @@
#dim Exception As TECH.IException = ##class(TECH.ExceptionHandler).Catch()
if Exception.%IsA(##class(AXimpl.VerwerkAXBerichtLaterOpnieuwException).%ClassName(1)) {
Do ..Logger.Info("Verwerk AX bericht '"_FullFilename_"' later opnieuw", Exception.ToString())
+ Do ..RegistreerVerwerkBestandOpnieuwAanvraag(FullFilename)
} else {
+ Set VerwerkVolgende = $$$False
Do ..LogException(FullFilename, Exception)
Do ..EventRaiser.RaiseCorruptedRequestReceivedEvent(FullFilename,..FileAPI.GeefFileReader(FullFilename).GeefStream())
Do ..MoveFileToErrorMap(FullFilename , SubPath)
- Set VerwerkVolgende = $$$False
+ Do ..MarkeerVerwerkBestandOpnieuwAanvraagVerwerkt(FullFilename)
}
} catch {
#dim InnerException As TECH.IException = ##class(TECH.ExceptionHandler).Catch()
@@ -141,6 +150,37 @@
Do ..Logger.ErrorMail("Verwerking inkomende AX bestand", ExceptionMessage)
]]>
+
+
+Filenaam:%String
+1
+
+
+
+
+Filenaam:%String
+1
+
+
Index: vhUnitTest/AXimpl/MessageInProcessor/Verwerk/Test.cls.xml
===================================================================
diff -u -r49618 -r49635
--- vhUnitTest/AXimpl/MessageInProcessor/Verwerk/Test.cls.xml (.../Test.cls.xml) (revision 49618)
+++ vhUnitTest/AXimpl/MessageInProcessor/Verwerk/Test.cls.xml (.../Test.cls.xml) (revision 49635)
@@ -18,13 +18,20 @@
1
+
+AXimpl.VerwerkBestandOpnieuwAanvraagRepository
+1
+
+
aTestName:%String
@@ -193,9 +200,18 @@
Do ConfigInMock.VerwachtMethodCall("GetRequestEnvelope", "SalesOrder/Create").DanReturn("AXif.Dynamics.SalesOrderIn.Envelope")
Do ConfigInMock.VerwachtMethodCall("GetConverter", "SalesOrder/Create").DanReturn(SalesOrderConverterMock)
- #dim MessageInProcessor As AXimpl.MessageInProcessor = ..InitResponseProcessor(FileAPIMock,XmlCorrelaterMock,,ConfigInMock)
+ Set VerwerkBestandOpnieuwAanvraagRepositoryMock = ##class(vhTest.Mock.AXimpl.VerwerkBestandOpnieuwAanvraagRepository).%New()
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("BestaatViaBestandnaam",FileList.GetAt(1)).DanReturn($$$False)
+ Set Aanvraag = ##class(AXimpl.VerwerkBestandOpnieuwAanvraag).%New()
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("Maak").DanReturn(Aanvraag)
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("Bewaar",Aanvraag).DanDoeNiks()
+
+ #dim MessageInProcessor As AXimpl.MessageInProcessor = ..InitResponseProcessor(FileAPIMock,XmlCorrelaterMock,,ConfigInMock,VerwerkBestandOpnieuwAanvraagRepositoryMock)
Do MessageInProcessor.Verwerk()
-
+
+ Do $$$AssertEquals(Aanvraag.Teller,1)
+ Do $$$AssertEquals(Aanvraag.BestandNaam,FileList.GetAt(1))
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.Verifieer()
Do ConfigInMock.Verifieer()
Do SalesOrderConverterMock.Verifieer()
Do XmlCorrelaterMock.Verifieer()
@@ -225,15 +241,78 @@
Set ConfigInMock = ##class(vhTest.Mock.AXimpl.ConfigIn).%New()
Do ConfigInMock.IndienMethodCall("GetRequestEnvelope", "SalesOrder/Create").DanReturn("AXif.Dynamics.SalesOrderIn.Envelope")
Do ConfigInMock.IndienMethodCall("GetConverter", "SalesOrder/Create").DanReturn(SalesOrderConverterMock)
+
+ Set VerwerkBestandOpnieuwAanvraagRepositoryMock = ##class(vhTest.Mock.AXimpl.VerwerkBestandOpnieuwAanvraagRepository).%New()
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("BestaatViaBestandnaam",FileList.GetAt(1)).DanReturn($$$True)
+ Set Aanvraag1 = ##class(AXimpl.VerwerkBestandOpnieuwAanvraag).%New()
+ set Aanvraag1.Teller = 5
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("GeefViaBestandNaam",FileList.GetAt(1)).DanReturn(Aanvraag1)
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("Bewaar",Aanvraag1).DanDoeNiks()
- #dim MessageInProcessor As AXimpl.MessageInProcessor = ..InitResponseProcessor(FileAPIMock,XmlCorrelaterMock,,ConfigInMock)
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("BestaatViaBestandnaam",FileList.GetAt(2)).DanReturn($$$False)
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("BestaatViaBestandnaam",FileList.GetAt(3)).DanReturn($$$False)
+
+ Set Aanvraag = ##class(AXimpl.VerwerkBestandOpnieuwAanvraag).%New()
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("Maak").DanReturn(Aanvraag).ExactAantalKeer(2)
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.VerwachtMethodCall("Bewaar",Aanvraag).DanDoeNiks()
+
+ #dim MessageInProcessor As AXimpl.MessageInProcessor = ..InitResponseProcessor(FileAPIMock,XmlCorrelaterMock,,ConfigInMock,VerwerkBestandOpnieuwAanvraagRepositoryMock)
Do MessageInProcessor.Verwerk()
+
+ Do $$$AssertEquals(Aanvraag1.Teller,6)
+ Do $$$AssertEquals(Aanvraag.Teller,1)
+
+ Do VerwerkBestandOpnieuwAanvraagRepositoryMock.Verifieer()
+ Do FileAPIMock.Verifieer()
+]]>
+
+
+
+
+1
-FileAPI:TECH.File.FileAPI=..FileAPI,XmlCorrelater:TECH.XMLCorrelater=..XmlCorrelater,EventRaiser:AXimpl.EventRaiser=..EventRaiser,ConfigInMock:AXimpl.ConfigIn=""
+FileAPI:TECH.File.FileAPI=..FileAPI,XmlCorrelater:TECH.XMLCorrelater=..XmlCorrelater,EventRaiser:AXimpl.EventRaiser=..EventRaiser,ConfigInMock:AXimpl.ConfigIn="",VerwerkBestandOpnieuwAanvraagRepository:AXimpl.VerwerkBestandOpnieuwAanvraagRepository=..VerwerkBestandOpnieuwAanvraagRepository
1
AXimpl.MessageInProcessor
-