[Erp5-report] r30391 - in /erp5/trunk/products/ERP5: Tool/ interfaces/
nobody at svn.erp5.org
nobody at svn.erp5.org
Sat Nov 7 11:45:53 CET 2009
Author: jp
Date: Sat Nov 7 11:45:53 2009
New Revision: 30391
URL: http://svn.erp5.org?rev=30391&view=rev
Log:
renamed
Added:
erp5/trunk/products/ERP5/interfaces/delivery_solver_factory.py
- copied, changed from r30388, erp5/trunk/products/ERP5/interfaces/solver_tool.py
Removed:
erp5/trunk/products/ERP5/interfaces/solver_tool.py
Modified:
erp5/trunk/products/ERP5/Tool/SolverTool.py
Modified: erp5/trunk/products/ERP5/Tool/SolverTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/SolverTool.py?rev=30391&r1=30390&r2=30391&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/SolverTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Tool/SolverTool.py [utf8] Sat Nov 7 11:45:53 2009
@@ -27,11 +27,13 @@
#
##############################################################################
+import zope.interface
+
from Products.CMFCore.utils import getToolByName
from AccessControl import ClassSecurityInfo
from Globals import InitializeClass, DTMLFile
-from Products.ERP5Type import Permissions
+from Products.ERP5Type import Permissions, interfaces
from Products.ERP5Type.Tool.BaseTool import BaseTool
from Products.ERP5 import _dtmldir
@@ -39,46 +41,68 @@
from zLOG import LOG
class SolverTool(BaseTool):
+ """
+ The SolverTool provides API to find out which solver can
+ be applied in which case and contains SolverProcess instances
+ which are used to keep track of solver decisions, solver
+ history and global optimisation.
+
+ NOTE: this class is experimental and is subject to be removed
+ """
+ id = 'portal_solvers'
+ meta_type = 'ERP5 Solver Tool'
+ portal_type = 'Solver Tool'
+ allowed_types = ( 'ERP5 Solver Process', )
+
+ # Declarative Security
+ security = ClassSecurityInfo()
+
+ #
+ # ZMI methods
+ #
+ security.declareProtected( Permissions.ManagePortal, 'manage_overview' )
+ manage_overview = DTMLFile( 'explainSolverTool', _dtmldir )
+
+ # Declarative interfaces
+ zope.interface.implements(interfaces.IDeliverySolverFactory,
+ )
+
+ # Implementation
+ def filtered_meta_types(self, user=None):
+ # Filters the list of available meta types.
+ all = SolverTool.inheritedAttribute('filtered_meta_types')(self)
+ meta_types = []
+ for meta_type in self.all_meta_types():
+ if meta_type['name'] in self.allowed_types:
+ meta_types.append(meta_type)
+ return meta_types
+
+ def tpValues(self) :
+ """ show the content in the left pane of the ZMI """
+ return self.objectValues()
+
+ # ISolverTool implementation
+ def newDeliverySolver(self, class_name, movement_list):
"""
- The SolverTool provides API to find out which solver can
- be applied in which case and contains SolverProcess instances
- which are used to keep track of solver decisions, solver
- history and global optimisation.
+ """
+ raise NotImplementedError
- NOTE: this class is experimental and is subject to be removed
+ def getDeliverySolverClassNameList(self):
"""
- id = 'portal_solvers'
- meta_type = 'ERP5 Solver Tool'
- portal_type = 'Solver Tool'
- allowed_types = ( 'ERP5 Solver Process', )
+ """
+ raise NotImplementedError
- # Declarative Security
- security = ClassSecurityInfo()
+ def getDeliverySolverTranslatedItemList(self, class_name_list=None):
+ """
+ """
+ raise NotImplementedError
- #
- # ZMI methods
- #
- security.declareProtected( Permissions.ManagePortal, 'manage_overview' )
- manage_overview = DTMLFile( 'explainSolverTool', _dtmldir )
+ def getDeliverySolverTranslatedTitle(self, class_name):
+ """
+ """
+ raise NotImplementedError
- def filtered_meta_types(self, user=None):
- # Filters the list of available meta types.
- all = SolverTool.inheritedAttribute('filtered_meta_types')(self)
- meta_types = []
- for meta_type in self.all_meta_types():
- if meta_type['name'] in self.allowed_types:
- meta_types.append(meta_type)
- return meta_types
-
- def tpValues(self) :
- """ show the content in the left pane of the ZMI """
- return self.objectValues()
-
- def buildSolvedSimulationMovement(self, movement):
- """
- Builds a Temp Simulation Movement
-
- Update a given simulation movement which has been
- affected by the SolverProcess
- """
-
+ def getDeliverySolverTranslatedDescription(self, class_name):
+ """
+ """
+ raise NotImplementedError
Copied: erp5/trunk/products/ERP5/interfaces/delivery_solver_factory.py (from r30388, erp5/trunk/products/ERP5/interfaces/solver_tool.py)
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/interfaces/delivery_solver_factory.py?p2=erp5/trunk/products/ERP5/interfaces/delivery_solver_factory.py&p1=erp5/trunk/products/ERP5/interfaces/solver_tool.py&r1=30388&r2=30391&rev=30391&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/interfaces/solver_tool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/interfaces/delivery_solver_factory.py [utf8] Sat Nov 7 11:45:53 2009
@@ -29,10 +29,10 @@
from zope.interface import Interface
-class ISolverTool(Interface):
- """Solver Tool interface specification
+class IDeliverySolverFactory(Interface):
+ """Delivery Solver Factory interface specification
- Solver Tool provides methods to create delivery
+ IDeliverySolverFactory provides methods to create delivery
solver instances and retrieve metadata related to delivery
solvers.
Removed: erp5/trunk/products/ERP5/interfaces/solver_tool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/interfaces/solver_tool.py?rev=30390&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/interfaces/solver_tool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/interfaces/solver_tool.py (removed)
@@ -1,85 +1,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
-# Jean-Paul Smets-Solanes <jp at nexedi.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsability of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# garantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-##############################################################################
-
-from zope.interface import Interface
-
-class ISolverTool(Interface):
- """Solver Tool interface specification
-
- Solver Tool provides methods to create delivery
- solver instances and retrieve metadata related to delivery
- solvers.
-
- NOTE:
- - wouldn't it be better to use ERP5 document
- classes for delivery solvers.
- (only meaningful reason: use activities to
- setTotalQuantity on 10,000+ movements)
- """
-
- def newDeliverySolver(class_name, movement_list):
- """
- Return a new instance of delivery solver of the given
- class_name and with appropriate parameters.
-
- class_name -- the class name of the delivery solver.
-
- movement_list -- movements to initialise the instance with
- """
-
- def getDeliverySolverClassNameList():
- """
- Return the list of class names of available delivery solvers.
- """
-
- def getDeliverySolverTranslatedItemList(class_name_list=None):
- """
- Return the list of class names and translated titles of available
- delivery solvers. Use this method to fill listfields in user interface
- forms.
-
- class_name_list -- optionnal parameter to filter results only
- with provided class names
- """
-
- def getDeliverySolverTranslatedTitle(class_name):
- """
- Return the title to be used in the user interface for the
- delivery solver with given class_name
-
- class_name -- the class name of a delivery solver
- """
-
- def getDeliverySolverTranslatedDescription(class_name):
- """
- Return the description to be used in the user interface for the
- delivery solver with given class_name
-
- class_name -- the class name of a delivery solver
- """
More information about the Erp5-report
mailing list