aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/LoggerSolutionFoundHandler.xtend
blob: 39ef5f9a65a4d2b5d3d4ac95ba31ea40543c5738 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse

import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration
import org.apache.log4j.Logger
import org.eclipse.viatra.dse.api.SolutionTrajectory
import org.eclipse.viatra.dse.base.ThreadContext
import org.eclipse.viatra.dse.solutionstore.ISolutionFoundHandler
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor

@FinalFieldsConstructor
class LoggerSolutionFoundHandler implements ISolutionFoundHandler {
	val ViatraReasonerConfiguration configuration

	val logger = Logger.getLogger(SolutionCopier)

	override solutionFound(ThreadContext context, SolutionTrajectory trajectory) {
		configuration.progressMonitor.workedModelFound(configuration.solutionScope.numberOfRequiredSolutions)
		logger.debug("Found a solution.")
	}

	override solutionTriedToSave(ThreadContext context, SolutionTrajectory trajectory) {
		// We are not interested in invalid solutions, ignore.
	}
}