<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> SuggestionCompletionLoader loader = new SuggestionCompletionLoader();<br><br> List<JarInputStream> jars = getJars(rulesPackage);<br>
List<String> enums = getEnumerations(rulesPackage);<br> String importSection = getImportSection(rulesPackage);<br><br> loader.getSuggestionEngine(importSection, jars, new ArrayList(), enums);<br>
<br> if (loader.hasErrors()) {<br> StringBuilder sb = new StringBuilder();<br> for (Iterator iter = loader.getErrors().iterator(); iter.hasNext();) {<br> sb.append((String) iter.next());<br>
<br> if (iter.hasNext()) {<br> sb.append("\n");<br> }<br> }<br><br> throw new IllegalStateException("Invalid Package! " + sb.toString());<br>
}<br> }<br><br>2. then create the snapshot<br><br>private void createPackageSnapshot() {<br> String snapshots[] = rulesRepository.listPackageSnapshots(RULE_PACKAGE_NAME);<br><br> // the repo doesn't have an overwrite, so if this snapshot already exists, we need to remove it before<br>
// creating it again<br> for (String snapshot : snapshots) {<br><br> if (snapshot.equals(cmdbVersion)) {<br> rulesRepository.removePackageSnapshot(RULE_PACKAGE_NAME, cmdbVersion);<br>
break;<br> }<br> }<br><br> // create snapshot for this version<br> rulesRepository.createPackageSnapshot(RULE_PACKAGE_NAME, cmdbVersion);<br><br> PackageItem snapshot = rulesRepository.loadPackageSnapshot(RULE_PACKAGE_NAME, cmdbVersion);<br>
snapshot.updateCheckinComment("Updated for CMDB Version " + cmdbVersion);<br> }<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"><<a href="mailto:mproctor@codehaus.org">mproctor@codehaus.org</a>></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"><<a href="mailto:dsinclair@chariotsolutions.com" target="_blank">dsinclair@chariotsolutions.com</a>></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: <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>
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)<br>
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)<br>
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)<br>
at java.lang.Class.forName0(Native Method)<br>
at java.lang.Class.forName(Class.java:247)<br>
at
org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:85)<br>
at
org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:97)<br>
at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)<br>
at
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)<br>
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)<br>
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)<br>
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)<br>
at org.drools.rule.Package.readExternal(Package.java:198)<br>
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)<br>
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)<br>
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)<br>
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)<br>
at
org.drools.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:185)<br>
at
org.drools.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:154)<br>
at
org.drools.agent.HttpClientImpl.fetchPackage(HttpClientImpl.java:47)<br>
at org.drools.agent.URLScanner.readPackage(URLScanner.java:142)<br>
at org.drools.agent.URLScanner.getChangeSet(URLScanner.java:114)<br>
at
org.drools.agent.URLScanner.loadPackageChanges(URLScanner.java:90)<br>
at
org.drools.agent.RuleAgent.checkForChanges(RuleAgent.java:393)<br>
at
org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:345)<br>
at org.drools.agent.RuleAgent.configure(RuleAgent.java:330)<br>
at org.drools.agent.RuleAgent.init(RuleAgent.java:246)<br>
at org.drools.agent.RuleAgent.init(RuleAgent.java:195)<br>
at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:188)<br>
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>