@Override public Path save( final Path path, final KModuleModel content, final Metadata metadata, final String comment ) { if ( metadata == null ) { ioService.write( paths.convert( path ), moduleContentHandler.toString( content ), makeCommentedOption( comment ) ); } else { ioService.write( paths.convert( path ), moduleContentHandler.toString( content ), metadataService.setUpAttributes( path, metadata ), makeCommentedOption( comment ) ); } //Signal update to interested parties resourceUpdatedEvent.fire( new ResourceUpdatedEvent( path ) ); return path; }
@Override public Path setUpKModuleStructure( final Path projectRoot ) { // Create project structure final org.kie.commons.java.nio.file.Path nioRoot = paths.convert( projectRoot ); ioService.createDirectory( nioRoot.resolve( "src/main/java" ) ); ioService.createDirectory( nioRoot.resolve( "src/main/resources" ) ); ioService.createDirectory( nioRoot.resolve( "src/test/java" ) ); ioService.createDirectory( nioRoot.resolve( "src/test/resources" ) ); final org.kie.commons.java.nio.file.Path pathToKModuleXML = nioRoot.resolve( "src/main/resources/META-INF/kmodule.xml" ); ioService.createFile( pathToKModuleXML ); ioService.write( pathToKModuleXML, moduleContentHandler.toString( new KModuleModel() ) ); //Don't raise a NewResourceAdded event as this is handled at the Project level in ProjectServices return paths.convert( pathToKModuleXML ); }