try {
return deserKnowledgebase( item,
cl );
} catch ( ClassNotFoundException e ) {
log.error( e );
throw new DetailedSerializableException( "A required class was not found.",
e.getMessage() );
} catch ( Exception e ) {
log.error( e );
log.info( "...but trying to rebuild binaries..." );
try {
BuilderResult[] res = this.buildPackage( "",
true,
item );
if ( res != null && res.length > 0 ) {
throw new DetailedSerializableException( "There were errors when rebuilding the knowledgebase.",
"" );
}
try {
return deserKnowledgebase( item,
cl );
} catch ( Exception e2 ) {
throw new DetailedSerializableException( "Unable to reload knowledgebase.",
e.getMessage() );
}
} catch ( SerializableException e1 ) {
throw new DetailedSerializableException( "Unable to rebuild the rulebase.",
"" );
}
}
}