[rules-dev] file per asset type

Mark Proctor mproctor at codehaus.org
Wed Oct 1 19:47:27 EDT 2008


Been thinking about this more, the reason for this is the lack of 
orthogonality in:
addPackageFromXML, addProcessFromXML
Process is just another package type, thus we are creating exceptions in 
our terminology. Now we do already have pre-agreed file extensions, 
maybe we can create enums for these and insist they are used as an argument.
kbuilder.addResource( reader/url, KnowledgeType.DRL )

So the support knowledge types could be in the KnowledgeType drl as:
DRL, DSLR, RM, XLS, CSV

we could even say that when URL is used, we don't need to use the 
KnowledgeType, that's only for Reader.
kbuilder.addResource( url )
kbuilder.addResource( reader, KnowledgeType.DRL )

Although when loading dsls you need another argument:
kbuilder.addResource( reader, reader )
we already know that's a DSL, so not sure if the enum makes sense there

Thoughts?

Mark Proctor wrote:
> What do people think of insisting on a file per type. So functions go 
> in one file, rules in another and declare models in another. They all 
> end up in the same package object, but we enforce a separation at both 
> the file and api level.
> kbuilder.addRulesFromURL( url );
> kbuilder.addModelFromURL( url );
> kbuilder.addFunctionsFromURL( url );
> kbuilder.addProcessFromURL( url );
>
> Really more thinking about orthogonality of api and design here. We 
> have the following situation
> kbuilder.addPackageFromXML()
> kbuilder.addProcessFromXML()
> Processes live in a package, so to a package there is no difference 
> from a process to a rule - yet we are losing that orthogonality in the 
> api to handle the special case.
>
> What do people think, I'm just trying to find a better way to get some 
> language orthogonality. I don't think we are likely to do this, but 
> just throwing it out for discussion.
>
> I think ideally we would like kbuilder.addResource( url/reader ), but 
> not sure if we can easily determine each file type, we can't do it by 
> file extensions as readers have none.
>
> Mark
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>




More information about the rules-dev mailing list