Commit 3f7e9d60 authored by Kazuhiko Shiozaki's avatar Kazuhiko Shiozaki

make the prototype of AcceptSolver working.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@31295 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent dc12313d
...@@ -59,15 +59,24 @@ class AcceptSolver(XMLObject): ...@@ -59,15 +59,24 @@ class AcceptSolver(XMLObject):
# ISolver Implementation # ISolver Implementation
def solve(self): def solve(self):
""" """
Adopt new property to simulation movements, with keeping the
original one recorded.
""" """
# Adopt new property, keep the original one recorded solver_decision = self.getSolverRelatedValue()
solved_property = self.getPortalTypeValue().getTestedProperty() divergence_tester = solver_decision.getCausalityValue()
solved_property = divergence_tester.getTestedProperty()
for movement in self.getDeliveryValueList(): for movement in self.getDeliveryValueList():
new_value = movement.getProperty(solved_property) new_value = movement.getProperty(solved_property)
for simulation_movement in movement.getDeliveryRelatedValueList( for simulation_movement in movement.getDeliveryRelatedValueList(
portal_type='Simulation Movement'): portal_type='Simulation Movement'):
if not simulation_movement.isPropertyRecorded(solved_property): if not simulation_movement.isPropertyRecorded(solved_property):
simulation_movement.recordProperty(solved_property) simulation_movement.recordProperty(solved_property)
solved_property.setProperty(solved_property, new_value) # XXX hard coded
if solved_property == 'quantity':
simulation_movement.setProperty(
solved_property,
new_value * simulation_movement.getDeliveryRatio())
else:
simulation_movement.setProperty(solved_property, new_value)
# Finish solving # Finish solving
self.succeed() # self.succeed()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment