<div dir="ltr">Thanks Mark. I did that manually and it worked. <br><br>I have a follow up question though. I have automated the process of updating/creating a package and its assocaited models, enums, import section, etc. I saw that how the header was stored has changed from on the package node to a sud-node, but it <i>appears </i>that the validate/create snapshot process may have changed. I used to do the following<br>
<br>1. Validate the package after modification/creation<br><br>private void validatePackage(PackageItem rulesPackage) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SuggestionCompletionLoader loader = new SuggestionCompletionLoader();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;JarInputStream&gt; jars = getJars(rulesPackage);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;String&gt; enums = getEnumerations(rulesPackage);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String importSection = getImportSection(rulesPackage);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; loader.getSuggestionEngine(importSection, jars, new ArrayList(), enums);<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (loader.hasErrors()) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringBuilder sb = new StringBuilder();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (Iterator iter = loader.getErrors().iterator(); iter.hasNext();) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sb.append((String) iter.next());<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (iter.hasNext()) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sb.append(&quot;\n&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new IllegalStateException(&quot;Invalid Package! &quot; + sb.toString());<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br><br>2. then&nbsp; create the snapshot<br><br>private void createPackageSnapshot() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String snapshots[] = rulesRepository.listPackageSnapshots(RULE_PACKAGE_NAME);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // the repo doesn&#39;t have an overwrite, so if this snapshot already exists, we need to remove it before<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // creating it again<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (String snapshot : snapshots) {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (snapshot.equals(cmdbVersion)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rulesRepository.removePackageSnapshot(RULE_PACKAGE_NAME, cmdbVersion);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // create snapshot for this version<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rulesRepository.createPackageSnapshot(RULE_PACKAGE_NAME, cmdbVersion);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PackageItem snapshot = rulesRepository.loadPackageSnapshot(RULE_PACKAGE_NAME, cmdbVersion);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; snapshot.updateCheckinComment(&quot;Updated for CMDB Version &quot; + cmdbVersion);<br>&nbsp;&nbsp;&nbsp; }<br><br>This used to work fine, <a href="http://i.e.it">i.e.it</a> would result in the binary content of the package being available.<br>
<br>So, back to my original question, did this change?<br><br>thanks much<br><br>dave<br><br>ps - I have modified my code to now build the compiled package too<br><br><div class="gmail_quote">On Wed, Oct 1, 2008 at 1:44 PM, Mark Proctor <span dir="ltr">&lt;<a href="mailto:mproctor@codehaus.org">mproctor@codehaus.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


  

<div bgcolor="#ffffff" text="#000000">
When migrating to new versions of Drools you need to rebuild your
packages, PackageCompilationData does not exist any more.<br>
<br>
Mark<br>
David Sinclair wrote:
<blockquote type="cite"><div><div></div><div class="Wj3C7c">
  <div dir="ltr">Please not that this was a migrated package, so that
may be the underlying problem<br>
  <br>
  <div class="gmail_quote">On Wed, Oct 1, 2008 at 12:05 PM, David
Sinclair <span dir="ltr">&lt;<a href="mailto:dsinclair@chariotsolutions.com" target="_blank">dsinclair@chariotsolutions.com</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div dir="ltr">I have upgrade my application to use the milestone 2
code and am having a problem loading a package from guvnor via the rule
agent. I am getting a class not found exception for
org.drools.rule.PackageCompilationData. Here is the stack from the app.
Looking at the code it appears the PackageCompilationData has been
removed. <br>
    <br>
RuleAgent(Drools) INFO (Wed Oct 01 11:55:19 EDT 2008): Configuring with
newInstance=false, secondsToRefresh=60<br>
RuleAgent(Drools) INFO (Wed Oct 01 11:55:19 EDT 2008): Configuring
package provider : URLScanner monitoring URLs:&nbsp; <a href="http://localhost:8080/drools-guvnor" target="_blank">http://localhost:8080/drools-guvnor</a><br>
/org.drools.guvnor.Guvnor/package/com.sungard.cmdb.rules/0.7-SNAPSHOT<br>
PackageName: com.sungard.cmdb.rules<br>
PackageVersion: 0.7-SNAPSHOT<br>
PackageIsLatest: false<br>
PackageIsSource: false<br>
RuleAgent(Drools) EXCEPTION (Wed Oct 01 11:55:22 EDT 2008):
org.drools.rule.PackageCompilationData. Stack trace should follow.<br>
java.lang.ClassNotFoundException: org.drools.rule.PackageCompilationData<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.lang.Class.forName0(Native Method)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.lang.Class.forName(Class.java:247)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:85)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:97)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.rule.Package.readExternal(Package.java:198)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:185)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:154)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.agent.HttpClientImpl.fetchPackage(HttpClientImpl.java:47)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.agent.URLScanner.readPackage(URLScanner.java:142)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.agent.URLScanner.getChangeSet(URLScanner.java:114)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.agent.URLScanner.loadPackageChanges(URLScanner.java:90)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.agent.RuleAgent.checkForChanges(RuleAgent.java:393)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:345)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.agent.RuleAgent.configure(RuleAgent.java:330)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.agent.RuleAgent.init(RuleAgent.java:246)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.agent.RuleAgent.init(RuleAgent.java:195)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:188)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:156)<br>
    <br>
thanks<br>
    <br>
dave<br>
    </div>
  </blockquote>
  </div>
  <br>
  </div>
  </div></div><pre><hr size="4" width="90%">
_______________________________________________
rules-dev mailing list
<a href="mailto:rules-dev@lists.jboss.org" target="_blank">rules-dev@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a>
  </pre>
</blockquote>
<br>
</div>

<br>_______________________________________________<br>
rules-dev mailing list<br>
<a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
<br></blockquote></div><br></div>