@Override public Path save( final Path resource, final RuleModel model, final Metadata metadata, final String comment ) { model.setPackageName( projectService.resolvePackageName( resource ) ); ioService.write( paths.convert( resource ), toSource( resource, model ), metadataService.setUpAttributes( resource, metadata ), makeCommentedOption( comment ) ); //Signal update to interested parties resourceUpdatedEvent.fire( new ResourceUpdatedEvent( resource ) ); return resource; }
@Override public Path create( final Path context, final String fileName, final RuleModel content, final String comment ) { content.setPackageName( projectService.resolvePackageName( context ) ); final org.kie.commons.java.nio.file.Path nioPath = paths.convert( context ).resolve( fileName ); final Path newPath = paths.convert( nioPath, false ); ioService.createFile( nioPath ); ioService.write( nioPath, toSource( newPath, content ), makeCommentedOption( comment ) ); //Signal creation to interested parties resourceAddedEvent.fire( new ResourceAddedEvent( newPath ) ); return newPath; }
private RuleModel getRuleModel( ExpandedDRLInfo expandedDRLInfo ) { //De-serialize model RuleDescr ruleDescr = parseDrl( expandedDRLInfo ); RuleModel model = new RuleModel(); model.name = ruleDescr.getName(); //De-serialize Package name final String packageName = PackageNameParser.parsePackageName( expandedDRLInfo.plainDrl ); model.setPackageName( packageName ); //De-serialize imports final Imports imports = ImportsParser.parseImports( expandedDRLInfo.plainDrl ); for ( Import item : imports.getImports() ) { model.getImports().addImport( item ); } boolean isJavaDialect = parseAttributes( model, ruleDescr.getAttributes() ); Map<String, String> boundParams = parseLhs( model, ruleDescr.getLhs(), expandedDRLInfo ); parseRhs( model, expandedDRLInfo.consequence != null ? expandedDRLInfo.consequence : (String)ruleDescr.getConsequence(), isJavaDialect, boundParams, expandedDRLInfo ); return model; }