/* Options: Date: 2026-06-13 13:29:55 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://riskstoreng-dev.nephila.com/api //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ReProcessAnalysisRequest.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/riskstore/rollup/reprocess", Verbs="POST") open class ReProcessAnalysisRequest : IReturn, IPost { /** * The analysis id to run */ @ApiMember(DataType="integer", Description="The analysis id to run", Format="int64", IsRequired=true) open var analysisId:Long? = null /** * Pass true when the analysis is still in processing state and you know it will not finish */ @ApiMember(DataType="boolean", Description="Pass true when the analysis is still in processing state and you know it will not finish") open var forceRerunWhenProcessing:Boolean? = null /** * Pass true to make sure the analysis results are not removed */ @ApiMember(DataType="boolean", Description="Pass true to make sure the analysis results are not removed") open var permanentlySaveResults:Boolean? = null /** * Take the minimum simulation count when we have different simulations between event sets */ @ApiMember(DataType="boolean", Description="Take the minimum simulation count when we have different simulations between event sets") open var ignoreSimulationCountMismatch:Boolean? = null companion object { private val responseType = RollupResponse::class.java } override fun getResponseType(): Any? = ReProcessAnalysisRequest.responseType } open class RollupResponse { open var analysis:Analysis? = null open var portfolioMetrics:ArrayList? = null open var results:ArrayList? = null open var responseStatus:ResponseStatus? = null open var unresolvedDealIds:ArrayList? = null open var unlinkedDealIds:ArrayList>? = null open var message:String? = null } @DataContract open class AnalysisResult : IObjectWithId { @DataMember(Order=1) override var id:Long? = null @DataMember(Order=2) open var analysisId:Long? = null @DataMember(Order=3) open var analysisConfigurationId:Long? = null @DataMember(Order=4) open var container:String? = null @DataMember(Order=5) open var blobName:String? = null @DataMember(Order=6) open var resultTableName:String? = null @DataMember(Order=7) open var analysisType:AnalysisType? = null @DataMember(Order=8) open var simulationLossPerspective:SimulationLossPerspective? = null @DataMember(Order=9) open var reinsurancePremiumLossType:ReinsurancePremiumLossType? = null @DataMember(Order=10) open var outputLevel:ResultOutputLevel? = null @DataMember(Order=11) open var metaRiskId:Int? = null @DataMember(Order=12) open var analysisPortfolioEventSetResults:ArrayList? = null @DataMember(Order=13) override var rowIdentifier:UUID? = null } enum class ProcessingStatus(val value:Int) { New(0), Processing(1), Failed(10), Successful(20), } @DataContract open class Analysis : IObjectWithId { @DataMember(Order=1) override var id:Long? = null @DataMember(Order=2) open var name:String? = null @DataMember(Order=3) open var modelAsOfDate:Date? = null @DataMember(Order=4) open var perspectiveId:Int? = null @DataMember(Order=5) open var configurations:ArrayList? = null @DataMember(Order=6) open var deals:ArrayList? = null @DataMember(Order=7) open var eventIdFilters:ArrayList? = null @DataMember(Order=8) open var createdBy:String? = null @DataMember(Order=9) open var createdDateUtc:Date? = null @DataMember(Order=10) open var completedDateUtc:Date? = null @DataMember(Order=11) open var legacyAnalysisId:Long? = null @DataMember(Order=12) open var resultPersistenceTracking:ArrayList? = null @DataMember(Order=13) open var processingStatus:ProcessingStatus? = null @DataMember(Order=14) open var saveResults:Boolean? = null @DataMember(Order=15) open var eventSourceSystem:String? = null @DataMember(Order=16) open var updatedDateUtc:Date? = null @DataMember(Order=17) open var isExpired:Boolean? = null @DataMember(Order=18) override var rowIdentifier:UUID? = null @DataMember(Order=19) open var errorMessage:String? = null /** * Take the minimum simulation count when we have different simulations between event sets */ @DataMember(Order=20) @ApiMember(DataType="boolean", Description="Take the minimum simulation count when we have different simulations between event sets") open var ignoreSimulationCountMismatch:Boolean? = null @DataMember(Order=21) @Ignore() open var finalStatus:ProcessingStatus? = null } open class AnalysisPortfolioMetric : IHasAnalysisResultId { open var analysisType:AnalysisType? = null open var simulationLossPerspective:SimulationLossPerspective? = null open var reinsurancePremiumLossType:ReinsurancePremiumLossType? = null open var metricDescription:String? = null open var portfolioName:String? = null open var metric:Double? = null open var metaRiskId:Int? = null open var simulation:Int? = null override var analysisResultId:Long? = null } enum class AnalysisType { NotSet, Standard, RunOff, } enum class SimulationLossPerspective { NotSet, Agg, Occ, } enum class ReinsurancePremiumLossType { NotSet, Net, Gross, } enum class ResultOutputLevel { NotSet, PortfolioMetrics, Curve, Ylt, TailIntensity, DealYlt, DealElt, DealEltWithIndustryLoss, PortfolioElt, PortfolioEltWithIndustryLoss, EventSetGeneration, PortfolioRaps, DealRaps, PortfolioSepyIndustryLoss, DealSepyIndustryLoss, } open class AnalysisPortfolioEventSetResult : IObjectWithId, IHasAnalysisId { @DataMember(Order=1) override var id:Long? = null @DataMember(Order=2) override var analysisId:Long? = null @DataMember(Order=3) open var analysisPortfolioEventSetConfigurationId:Long? = null @DataMember(Order=4) open var analysisResultId:Long? = null @DataMember(Order=5) open var portfolioName:String? = null @DataMember(Order=6) override var rowIdentifier:UUID? = null } interface IObjectWithId { var id:Long? var rowIdentifier:UUID? } @DataContract open class AnalysisConfiguration : IObjectWithId, IHasAnalysisId { @DataMember(Order=1) override var id:Long? = null @DataMember(Order=2) override var analysisId:Long? = null @DataMember(Order=3) open var windowStartDate:Date? = null @DataMember(Order=4) open var windowEndDate:Date? = null @DataMember(Order=5) open var standardEnabled:Boolean? = null @DataMember(Order=6) open var runOffEnabled:Boolean? = null @DataMember(Order=7) open var aggregateEnabled:Boolean? = null @DataMember(Order=8) open var occurrenceEnabled:Boolean? = null @DataMember(Order=9) open var nettEnabled:Boolean? = null @DataMember(Order=10) open var grossEnabled:Boolean? = null @DataMember(Order=11) open var tailIntensityPercentageStart:BigDecimal? = null @DataMember(Order=12) open var tailIntensityPercentageEnd:BigDecimal? = null @DataMember(Order=13) open var metaRiskId:Int? = null @DataMember(Order=14) open var outputLevel:ResultOutputLevel? = null @DataMember(Order=15) open var processingStatus:ProcessingStatus? = null @DataMember(Order=16) open var eventLossFloorStartRange:BigDecimal? = null @DataMember(Order=17) open var eventLossFloorEndRange:BigDecimal? = null @DataMember(Order=18) open var analysisPortfolioEventSetConfigurations:ArrayList? = null @DataMember(Order=19) override var rowIdentifier:UUID? = null } @DataContract open class AnalysisDeal : IObjectWithId, IHasAnalysisId { @DataMember(Order=1) override var id:Long? = null @DataMember(Order=2) override var analysisId:Long? = null @DataMember(Order=3) open var sourceDealId:String? = null @DataMember(Order=4) open var dealRef:String? = null @DataMember(Order=5) open var sourceDealSystem:String? = null @DataMember(Order=6) open var eventSetId:Long? = null @DataMember(Order=7) open var rol:Double? = null @DataMember(Order=8) open var limit:Double? = null @DataMember(Order=9) open var inceptionDate:Date? = null @DataMember(Order=10) open var expiryDate:Date? = null @DataMember(Order=11) open var transactionType:TransactionType? = null @DataMember(Order=12) open var allocations:ArrayList? = null @DataMember(Order=13) open var perspectiveIdOverride:Int? = null @DataMember(Order=14) open var eventSetIdOverride:Long? = null @DataMember(Order=15) open var modelAsOfDateOverride:Date? = null @DataMember(Order=16) open var sourceModelSystemOverride:String? = null @DataMember(Order=17) open var sourceModelIdOverride:String? = null @DataMember(Order=18) open var sourceEventSetIdOverride:String? = null @DataMember(Order=19) open var eventSourceSystemOverride:String? = null @DataMember(Order=20) override var rowIdentifier:UUID? = null } @DataContract open class AnalysisEventIdFilter : IObjectWithId, IHasAnalysisId { @DataMember(Order=1) override var id:Long? = null @DataMember(Order=2) override var analysisId:Long? = null @DataMember(Order=3) open var eventSourceId:Int? = null @DataMember(Order=4) open var eventId:Long? = null @DataMember(Order=5) override var rowIdentifier:UUID? = null } @DataContract open class MessageTracking { @DataMember(Order=1) open var id:UUID? = null @DataMember(Order=2) open var analysisId:Long? = null @DataMember(Order=3) open var processingStatus:ProcessingStatus? = null @DataMember(Order=4) open var messageType:MessageType? = null @DataMember(Order=5) open var createdDateUtc:Date? = null @DataMember(Order=6) open var updatedDateUtc:Date? = null } interface IHasAnalysisResultId { var analysisResultId:Long? } interface IHasAnalysisId { var analysisId:Long? } open class AnalysisPortfolioEventSetConfiguration : IObjectWithId, IHasAnalysisId { @DataMember(Order=1) override var id:Long? = null @DataMember(Order=2) override var analysisId:Long? = null @DataMember(Order=3) open var analysisConfigurationId:Long? = null @DataMember(Order=4) open var portfolioName:String? = null @DataMember(Order=5) open var modelId:String? = null @DataMember(Order=6) override var rowIdentifier:UUID? = null } enum class TransactionType { NotSet, S, B, } @DataContract open class AnalysisPortfolioAllocation : IObjectWithId { @DataMember(Order=1) override var id:Long? = null @DataMember(Order=2) open var analysisDealId:Long? = null @DataMember(Order=3) @Validate(Validator="NotEmpty", Message="PortfolioName is mandatory") open var portfolioName:String? = null @DataMember(Order=4) open var allocationPercentage:Double? = null @DataMember(Order=5) override var rowIdentifier:UUID? = null } enum class MessageType { NotSet, Persistence, Archival, }