@Override public Path save( final Path path, final POM content, final Metadata metadata, final String comment ) { try { if ( metadata == null ) { ioService.write( paths.convert( path ), pomContentHandler.toString( content ), makeCommentedOption( comment ) ); } else { ioService.write( paths.convert( path ), pomContentHandler.toString( content ), metadataService.setUpAttributes( path, metadata ), makeCommentedOption( comment ) ); } //Invalidate Project-level DMO cache as POM has changed. invalidateDMOProjectCache.fire( new InvalidateDMOProjectCacheEvent( path ) ); //Signal update to interested parties resourceUpdatedEvent.fire( new ResourceUpdatedEvent( path ) ); return path; } catch ( IOException e ) { throw new org.kie.commons.java.nio.IOException( e.getMessage() ); } }
@Override public Path create( final Path projectRoot, final String baseURL ) { org.kie.commons.java.nio.file.Path pathToPOMXML = null; try { final POM pomModel = new POM(); final Repository repository = new Repository(); repository.setId( "guvnor-m2-repo" ); repository.setName( "Guvnor M2 Repo" ); repository.setUrl( m2RepoService.getRepositoryURL( baseURL ) ); pomModel.addRepository( repository ); final org.kie.commons.java.nio.file.Path nioRoot = paths.convert( projectRoot ); pathToPOMXML = nioRoot.resolve( "pom.xml" ); ioService.createFile( pathToPOMXML ); ioService.write( pathToPOMXML, pomContentHandler.toString( pomModel ) ); //Don't raise a NewResourceAdded event as this is handled at the Project level in ProjectServices return paths.convert( pathToPOMXML ); } catch ( IOException e ) { throw new org.kie.commons.java.nio.IOException( e.getMessage() ); } }