private BuildMessage makeMessage( final String msg ) { final BuildMessage buildMessage = new BuildMessage(); buildMessage.setLevel( BuildMessage.Level.ERROR ); buildMessage.setText( msg ); return buildMessage; }
private BuildResults convertMessages( final Results kieBuildResults ) { final BuildResults results = new BuildResults(); results.setArtifactID( artifactId ); for ( final Message message : kieBuildResults.getMessages() ) { results.addBuildMessage( convertMessage( message ) ); } return results; }
/** * HashCode implementation fo Messages. Property "id" is not used in the generation as * it is inconsistent for identical error messages generated in a different sequence during * validation by the underlying KieBuilder. */ @Override public int hashCode() { int result = level != null ? level.hashCode() : 0; result = 31 * result + ( path != null ? path.hashCode() : 0 ); result = 31 * result + line; result = 31 * result + column; result = 31 * result + ( text != null ? text.hashCode() : 0 ); result = 31 * result + ( artifactID != null ? artifactID.hashCode() : 0 ); return result; }
private BuildMessage convertMessage( final Message message ) { final BuildMessage m = new BuildMessage(); switch ( message.getLevel() ) { case ERROR: m.setLevel( BuildMessage.Level.ERROR ); break; case WARNING: m.setLevel( BuildMessage.Level.WARNING ); break; case INFO: m.setLevel( BuildMessage.Level.INFO ); break; } m.setId( message.getId() ); m.setArtifactID( artifactId ); m.setLine( message.getLine() ); if ( message.getPath() != null && !message.getPath().isEmpty() ) { m.setPath( handles.get( RESOURCE_PATH + "/" + message.getPath() ) ); } m.setColumn( message.getColumn() ); m.setText( message.getText() ); return m; }
private IncrementalBuildResults convertMessages( final IncrementalResults kieIncrementalResults ) { final IncrementalBuildResults results = new IncrementalBuildResults(); results.setArtifactID( artifactId ); for ( final Message message : kieIncrementalResults.getAddedMessages() ) { results.addAddedMessage( convertMessage( message ) ); } for ( final Message message : kieIncrementalResults.getRemovedMessages() ) { results.addRemovedMessage( convertMessage( message ) ); } return results; }
public BuildResults build() { //KieBuilder is not re-usable for successive "full" builds kieBuilder = kieServices.newKieBuilder( kieFileSystem ); final Results kieResults = kieBuilder.buildAll().getResults(); final BuildResults results = convertMessages( kieResults ); if ( !results.getMessages().isEmpty() ) { return results; } kieContainer = kieServices.newKieContainer( kieBuilder.getKieModule().getReleaseId() ); //Check external imports are available. These are loaded when a DMO is requested, but it's better to report them early final org.kie.commons.java.nio.file.Path nioExternalImportsPath = moduleDirectory.resolve( "project.imports" ); if ( Files.exists( nioExternalImportsPath ) ) { final org.uberfire.backend.vfs.Path externalImportsPath = paths.convert( nioExternalImportsPath ); final PackageConfiguration packageConfiguration = projectService.load( externalImportsPath ); final Imports imports = packageConfiguration.getImports(); for ( final Import item : imports.getImports() ) { try { Class clazz = this.getClass().getClassLoader().loadClass( item.getType() ); } catch ( ClassNotFoundException cnfe ) { results.addBuildMessage( makeMessage( ERROR_CLASS_NOT_FOUND, cnfe ) ); } } } return results; }
@Override public void buildAndDeploy( final Path pathToPom ) { //Build final BuildResults results = doBuild( pathToPom ); buildResultsEvent.fire( results ); //Deploy, if no errors if ( results.getMessages().isEmpty() ) { final POM pom = pomService.load( pathToPom ); final Builder builder = cache.assertBuilder( pathToPom ); final InternalKieModule kieModule = (InternalKieModule) builder.getKieModule(); final ByteArrayInputStream input = new ByteArrayInputStream( kieModule.getBytes() ); m2RepoService.deployJar( input, pom.getGav() ); } }
private DataModelOracle makePackageDataModelOracle( final Path projectPath, final Path packagePath ) { final String packageName = projectService.resolvePackageName( packagePath ); final PackageDataModelOracleBuilder dmoBuilder = PackageDataModelOracleBuilder.newDataModelBuilder( packageName ); final ProjectDefinition projectDefinition = cacheProjects.assertProjectDataModelOracle( projectPath ); dmoBuilder.setProjectDefinition( projectDefinition ); //Add Guvnor enumerations loadEnumsForPackage( dmoBuilder, packagePath ); //Add DSLs loadDslsForPackage( dmoBuilder, packagePath ); //Add Globals loadGlobalsForPackage( dmoBuilder, packagePath ); //Report any incremental Build errors to Users if ( !dmoBuilder.getErrors().isEmpty() ) { final IncrementalBuildResults results = new IncrementalBuildResults(); final List<String> errors = dmoBuilder.getErrors(); for ( final String error : errors ) { results.addAddedMessage( makeMessage( error ) ); } incrementalBuildResultsEvent.fire( results ); } return dmoBuilder.build(); }
private BuildMessage makeMessage( final String prefix, final Exception e ) { final BuildMessage buildMessage = new BuildMessage(); buildMessage.setLevel( BuildMessage.Level.ERROR ); buildMessage.setText( prefix + ": " + e.getMessage() ); return buildMessage; }
typeMetaInfo.isEvent() ); } catch ( IOException ioe ) { results.addBuildMessage( makeMessage( ERROR_IO, ioe ) ); } catch ( ClassNotFoundException cnfe ) { results.addBuildMessage( makeMessage( ERROR_CLASS_NOT_FOUND, cnfe ) ); } catch ( IOException ioe ) { results.addBuildMessage( makeMessage( ERROR_IO, ioe ) ); if ( !results.getMessages().isEmpty() ) { buildResultsEvent.fire( results );
@Test public void testBuilderSimpleKProject() throws Exception { Paths paths = getReference( Paths.class ); IOService ioService = getReference( IOService.class ); ProjectService projectService = getReference( ProjectService.class ); URL url = this.getClass().getResource( "/GuvnorM2RepoDependencyExample1" ); SimpleFileSystemProvider p = new SimpleFileSystemProvider(); org.kie.commons.java.nio.file.Path path = p.getPath( url.toURI() ); final Builder builder = new Builder( path, "guvnor-m2repo-dependency-example1", paths, ioService, projectService ); final BuildResults results = builder.build(); assertTrue( results.getMessages().isEmpty() ); }
private BuildMessage makeMessage( final String prefix, final Exception e ) { final BuildMessage buildMessage = new BuildMessage(); buildMessage.setLevel( BuildMessage.Level.ERROR ); buildMessage.setText( prefix + ": " + e.getMessage() ); return buildMessage; }
@Test public void testBuilderKProjectHasDependency() throws Exception { Paths paths = getReference( Paths.class ); IOService ioService = getReference( IOService.class ); ProjectService projectService = getReference( ProjectService.class ); URL url = this.getClass().getResource( "/GuvnorM2RepoDependencyExample2" ); SimpleFileSystemProvider p = new SimpleFileSystemProvider(); org.kie.commons.java.nio.file.Path path = p.getPath( url.toURI() ); final Builder builder = new Builder( path, "guvnor-m2repo-dependency-example2", paths, ioService, projectService ); final BuildResults results = builder.build(); assertTrue( results.getMessages().isEmpty() ); }
@Test public void testKProjectContainsXLS() throws Exception { Paths paths = getReference( Paths.class ); IOService ioService = getReference( IOService.class ); ProjectService projectService = getReference( ProjectService.class ); URL url = this.getClass().getResource( "/ExampleWithExcel" ); SimpleFileSystemProvider p = new SimpleFileSystemProvider(); org.kie.commons.java.nio.file.Path path = p.getPath( url.toURI() ); final Builder builder = new Builder( path, "example-with-excel", paths, ioService, projectService ); final BuildResults results = builder.build(); assertTrue( results.getMessages().isEmpty() ); }
assertTrue( results.getMessages().isEmpty() );