<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="&#1;" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="Section1">
<p class="MsoNormal"><span style="color:#1F497D">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">We have a set of rule files in DRL format.&nbsp; We couldn&#8217;t find a way (tool) of importing them into Guvnor as BRL file so that we can edit using the designer.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">We ended up using the DrlParser and XmlDumper to transform them from DRL to BRL.&nbsp; It produces the XML and when we add it to the repository using WebDav, Guvnor lists the files under Business Rule which is perfect.&nbsp;
 BUT when I try to open it, it throws the following error:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$Unkno<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">wnFieldException: No such field org.drools.ide.common.client.modeldriven.brl.Rul<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">eModel.rule-attribute<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">---- Debugging information ----<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : rule-attribute<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : org.drools.ide.common.client.modeldriven.brl.RuleModel<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">required-type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : org.drools.ide.common.client.modeldriven.brl.RuleModel<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">converter-type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : com.thoughtworks.xstream.converters.reflection.ReflectionC<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">onverter<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : /rule/rule-attribute<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : null<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">-------------------------------<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConv<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">erter.determineType(AbstractReflectionConverter.java:449)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConv<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">erter.doUnmarshal(AbstractReflectionConverter.java:290)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConv<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">erter.unmarshal(AbstractReflectionConverter.java:230)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshall<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">er.java:72)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(A<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">bstractReferenceUnmarshaller.java:65)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnm<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">arshaller.java:66)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnm<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">arshaller.java:50)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">.java:134)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarsh<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">al(AbstractTreeMarshallingStrategy.java:32)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1035)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1019)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.XStream.fromXML(XStream.java:895)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.thoughtworks.xstream.XStream.fromXML(XStream.java:886)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.ide.common.server.util.BRXMLPersistence.unmarshal(BRXMLPer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">sistence.java:191)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.guvnor.server.contenthandler.drools.BRLContentHandler.retr<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">ieveAssetContent(BRLContentHandler.java:41)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.guvnor.server.RepositoryAssetService.handlePackageItem(Rep<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">ositoryAssetService.java:132)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.guvnor.server.RepositoryAssetService.loadRuleAsset(Reposit<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">oryAssetService.java:118)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.guvnor.server.RepositoryAssetService$Proxy$_$$_WeldClientP<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">roxy.loadRuleAsset(RepositoryAssetService$Proxy$_$$_WeldClientProxy.java)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.guvnor.server.RepositoryServiceServlet.loadRuleAsset(Repos<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">itoryServiceServlet.java:403)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">java:39)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">sorImpl.java:25)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.lang.reflect.Method.invoke(Method.java:597)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:5<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">69)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(Remot<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">eServiceServlet.java:208)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(Remot<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">eServiceServlet.java:248)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(Ab<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">stractRemoteServiceServlet.java:62)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">icationFilterChain.java:290)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">ilterChain.java:206)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">alve.java:233)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">alve.java:191)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">ava:127)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">ava:102)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">ve.java:109)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">a:293)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcesso<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">r.java:877)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.pr<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">ocess(Http11AprProtocol.java:594)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:16<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">75)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C0504D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.lang.Thread.run(Thread.java:662)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I am able to re-produce the same error when I try to convert the BRL to DRL using BRDRLPersistence and BRXMLPersistence marshalling and unmarshalling.&nbsp; I checked that the field &#8216;rule-attribute&#8217; is indeed not
 present in org.drools.brms.client.modeldriven.brl.RuleModel.&nbsp; when I look at the example brl file from the sample mortgage, they don&#8217;t have &#8216;rule-attribute&#8217;, and it&#8217;s not only that specific node, the whole set of node names are different.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal">&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">public void convertDrlToBrl() throws IOException, DroolsParserException {<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Resource fileResource = new ClassPathResource(&quot;Beneficiary_User_KYC_Level_3_Daily_Limit.drl&quot;);<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DrlParser parser = new DrlParser();<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlDumper dumper = new XmlDumper();<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Reader source = new InputStreamReader(new FileInputStream(fileResource.getFile()));<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PackageDescr pkg = parser.parse(source);<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String xmlString = dumper.dump(pkg);<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(xmlString);<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; }<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;<o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; public void convertBrlToDrl() throws IOException {<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Resource fileResource = new ClassPathResource(&quot;Beneficiary_User_KYC_Level_3_Daily_Limit_BRL.brl&quot;);<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String fileAsString = FileUtils.readFileToString(fileResource.getFile());<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BRDRLPersistence write = (BRDRLPersistence) BRDRLPersistence.getInstance();<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BRXMLPersistence read = (BRXMLPersistence) BRXMLPersistence.getInstance();<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RuleModel ruleModel = read.unmarshal(fileAsString);<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String outputDRL = write.marshal(ruleModel);<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(outputDRL);<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; }<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;<o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Generated xml file:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal">===============================================<o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal">&lt;rule name=&quot;Beneficiary_User_KYC_Level_3_Daily_Limit_BRL&quot;&gt;<o:p></o:p></p>
<p class="MsoNormal">&lt;rule-attribute name=&quot;dialect&quot; value=&quot;mvel&quot; /&gt;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&lt;lhs&gt;&lt;pattern object-type=&quot;UserBean&quot; &gt;<o:p></o:p></p>
<p class="MsoNormal">&lt;field-constraint field-name=&quot;kycLevel&quot;&gt; <o:p></o:p></p>
<p class="MsoNormal">&lt;literal-restriction evaluator=&quot;==&quot; value=&quot;KYC_LEVEL_3&quot; /&gt;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&lt;/field-constraint&gt;<o:p></o:p></p>
<p class="MsoNormal">&lt;field-constraint field-name=&quot;userType&quot;&gt; <o:p></o:p></p>
<p class="MsoNormal">&lt;literal-restriction evaluator=&quot;==&quot; value=&quot;BENEFICIARY&quot; /&gt;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&lt;/field-constraint&gt;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&lt;/pattern&gt;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&lt;pattern object-type=&quot;Activity&quot; &gt;<o:p></o:p></p>
<p class="MsoNormal">&lt;field-constraint field-name=&quot;type&quot;&gt; <o:p></o:p></p>
<p class="MsoNormal">&lt;literal-restriction evaluator=&quot;!=&quot; value=&quot;TRANSACTION.SEND&quot; /&gt;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&lt;/field-constraint&gt;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&lt;/pattern&gt;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&lt;/lhs&gt;&lt;rhs&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Limit fact0 = new Limit();<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fact0.setType( &quot;DAILY_TRANSACTION_LIMIT&quot; );<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fact0.setValue( 10000 );<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fact0.setErrorMessage( &quot;Maximum daily total amount of N10,000 exceeded for {0}.&quot; );<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert(fact0 );<o:p></o:p></p>
<p class="MsoNormal">&lt;/rhs&gt;<o:p></o:p></p>
<p class="MsoNormal">&lt;/rule&gt;<o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">================================================<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Am I doing something wrong?&nbsp; Is there a better way of converting the DRLs to BRLs?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks in advance!<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:9.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#1F497D">Anirban Bandyopadhyay</span><span style="color:#00B050"><o:p></o:p></span></b></p>
</div>
<br>
<hr>
<font face="Arial" color="Gray" size="1">This message contains confidential and proprietary information of the sender, and is intended only for the person(s) to whom it is addressed. Any use, distribution, copying, disclosure or taking of any action in reliance
 upon it by any other person is strictly prohibited. If you have received this message in error, please notify the e-mail sender immediately, and delete the original message without making a copy.<br>
<br>
The Monitise group comprises: Monitise plc (Reg. No. 6011822), Monitise Group Limited (Reg. No. 5590897), Monitise International Limited (Reg. No. 5556711) and Monitise Europe Limited (Reg. No. 4831976). These companies are registered in England and Wales and
 their registered office address is: Warnford Court, 29 Throgmorton Street, London, EC2N 2AT United Kingdom.<br>
</font>
</body>
</html>