From: <fra...@us...> - 2009-08-09 21:35:17
|
Revision: 1816 http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1816&view=rev Author: frankrimlinger Date: 2009-08-09 21:35:09 +0000 (Sun, 09 Aug 2009) Log Message: ----------- Rev 1814 says rule add/delete operations are no longer handled by the messaging system. This is wrong. There is no change here, except that the notifyChanged() routine in MangoModelUtilities has been rewritten to just do a notifyDelete() followed by a notifyAdd(). The broken message ModifyCoreMangoObjectMsg is no longer needed and has been deleted. The AddActiveObjectMsg and DestroyActiveObjectMsg are already hooked up "naturally" to the corresponding ActiveObject routines, which ultimately filter down to rule indexing as appropriate. Fixed some bugs in this plumbing, and also routed name changes through a different message, so that needless deleting and adding is avoided. Prevented certain name changes that would cause trouble, as a stop-gap measure. Also fixed long-standing and annoying refresh bug in the rulebase window. The one thing that has been let go is order in which rewrite rules fire. The apparent order of the rules in the rule base is NOT preserved during rewriting if there have been rule modifications. However, rules which are order dependent for proper functioning should have been implemented as agents in the first place. Template rule instantiation/destruction is now strictly just-in-time, according to the "rule template" document. Rulebase modification during an active session is now a well-defined, reliable thing to do. This opens the door for all kinds of dynamic rule building projects. But before this happens, the rule base really needs to be broken apart into separate entities with individualized persistence data access/editing characteristics. Template indexing code is written. All template indexing creation code seems to be working, need to write the rest of the RuleFilter code and test the rewriter and then test template index removal. Also test rule/tier modification on-the-fly. Then finish spec for Class_MangoFormal, and then dissolve the HeapPtr class into the typing system. Revision Links: -------------- http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1814&view=rev Modified Paths: -------------- branches/mango/Mango/Mango/src/mango/core/CoreMangoActiveObject.java branches/mango/Mango/Mango/src/mango/core/CoreRule.java branches/mango/Mango/Mango/src/mango/core/CoreRuleBase.java branches/mango/Mango/Mango/src/mango/core/CoreTier.java branches/mango/Mango/Mango/src/mango/core/gui/tablemodel/CoreRuleBaseTableModel.java branches/mango/Mango/Mango/src/mango/core/gui/tablemodel/CoreTierTableModel.java branches/mango/Mango/Mango/src/mango/core/gui/tablemodel/MangoModelUtilities.java branches/mango/Mango/Mango/src/mango/core/gui/window/CoreRuleBaseWindowFactory.java branches/mango/Mango/Mango/src/mango/util/LOG.java branches/mango/Mango/Mango/src/mango/worker/engine/rule/ActiveObject.java branches/mango/Mango/Mango/src/mango/worker/engine/rule/Rule.java branches/mango/Mango/Mango/src/mango/worker/engine/rule/TemplateRuleManager.java branches/mango/Mango/Mango/src/mango/worker/engine/rule/Tier.java branches/mango/Mango/Mango/src/mango/worker/msg/NewWorkerMsg.java branches/mango/Mango/Mango/src/mango/worker/msg/RulebaseMsg.java branches/mango/Mango/doc/rule template.txt branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip Added Paths: ----------- branches/mango/Mango/Mango/src/mango/worker/engine/rule/Pair.java branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/AddActiveObjectMsg.java branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/DestroyActiveObjectMsg.java branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/NameChangeActiveObjectMsg.java Removed Paths: ------------- branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/AddCoreMangoObjectMsg.java branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/DeleteCoreMangoObjectMsg.java branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/ModifyCoreMangoObjectMsg.java This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |