@Test public void testNonPackageResourceUpdated() throws Exception { //This tests changes to a resource that is neither pom.xml nor kmodule.xml nor within a Package final Bean buildChangeListenerBean = (Bean) beanManager.getBeans( org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder.class ).iterator().next(); final CreationalContext cc = beanManager.createCreationalContext( buildChangeListenerBean ); final org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder buildChangeListener = (org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder) beanManager.getReference( buildChangeListenerBean, org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder.class, cc ); final URL resourceUrl = this.getClass().getResource( "/BuildChangeListenerRepo/project.imports" ); final org.uberfire.java.nio.file.Path nioResourcePath = fs.getPath( resourceUrl.toURI() ); final Path resourcePath = paths.convert( nioResourcePath ); //Perform incremental build (Without a full Build first) buildChangeListener.updateResource( resourcePath ); final BuildResults buildResults = buildResultsObserver.getBuildResults(); assertNull( buildResults ); final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNull( incrementalBuildResults ); }
protected void waitForIncrementalBuildResults(BuildResultsObserver buildResultsObserver, int timeoutMillis) throws InterruptedException { int alreadyWaitedMillis = 0; while (alreadyWaitedMillis < timeoutMillis) { if (buildResultsObserver.getIncrementalBuildResults() != null) { return; } else { Thread.sleep(WAIT_SLICE_MILLIS); alreadyWaitedMillis += WAIT_SLICE_MILLIS; } } Assert.fail("Incremental build results not available after " + timeoutMillis + "ms"); }
protected void waitForBuildResults(BuildResultsObserver buildResultsObserver, int timeoutMillis) throws InterruptedException { int alreadyWaitedMillis = 0; while (alreadyWaitedMillis < timeoutMillis) { if (buildResultsObserver.getBuildResults() != null) { return; } else { Thread.sleep(WAIT_SLICE_MILLIS); alreadyWaitedMillis += WAIT_SLICE_MILLIS; } } Assert.fail("Build results not available after " + timeoutMillis + "ms!"); }
@Test public void testNonPackageResourceUpdated() throws Exception { //This tests changes to a resource that is neither pom.xml nor kmodule.xml nor within a Package final URL resourceUrl = this.getClass().getResource("/BuildChangeListenerRepo/project.imports"); final org.uberfire.java.nio.file.Path nioResourcePath = fs.getPath(resourceUrl.toURI()); final Path resourcePath = paths.convert(nioResourcePath); //Force full build before attempting incremental changes final KieModule module = moduleService.resolveModule(resourcePath); final BuildResults buildResults = buildService.build(module); assertNotNull(buildResults); assertEquals(0, buildResults.getErrorMessages().size()); assertEquals(1, buildResults.getInformationMessages().size()); //Perform incremental build (Without a full Build first) buildChangeListener.updateResource(resourcePath); final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNull(incrementalBuildResults); }
@Test public void testResourceUpdated() throws Exception { final Bean buildChangeListenerBean = (Bean) beanManager.getBeans( org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder.class ).iterator().next(); final CreationalContext cc = beanManager.createCreationalContext( buildChangeListenerBean ); final org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder buildChangeListener = (org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder) beanManager.getReference( buildChangeListenerBean, org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder.class, cc ); final URL resourceUrl = this.getClass().getResource( "/BuildChangeListenerRepo/src/main/resources/update.drl" ); final org.uberfire.java.nio.file.Path nioResourcePath = fs.getPath( resourceUrl.toURI() ); final Path resourcePath = paths.convert( nioResourcePath ); //Perform incremental build (Without a full Build first) buildChangeListener.updateResource( resourcePath ); waitForBuildResults(buildResultsObserver); final BuildResults buildResults = buildResultsObserver.getBuildResults(); assertNotNull( buildResults ); assertEquals( 0, buildResults.getErrorMessages().size() ); assertEquals( 1, buildResults.getInformationMessages().size() ); final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNull( incrementalBuildResults ); }
@Test public void testResourceAdded() throws Exception { final URL resourceUrl = this.getClass().getResource("/BuildChangeListenerRepo/src/main/resources/add.drl"); final org.uberfire.java.nio.file.Path nioResourcePath = fs.getPath(resourceUrl.toURI()); final Path resourcePath = paths.convert(nioResourcePath); //Force full build before attempting incremental changes final KieModule module = moduleService.resolveModule(resourcePath); final BuildResults buildResults = buildService.build(module); assertNotNull(buildResults); assertEquals(0, buildResults.getErrorMessages().size()); assertEquals(1, buildResults.getInformationMessages().size()); //Perform incremental build buildChangeListener.addResource(resourcePath); waitForIncrementalBuildResults(buildResultsObserver); final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNotNull(incrementalBuildResults); assertEquals(0, incrementalBuildResults.getAddedMessages().size()); assertEquals(0, incrementalBuildResults.getRemovedMessages().size()); }
@Test public void testResourceAdded() throws Exception { final Bean buildChangeListenerBean = (Bean) beanManager.getBeans( org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder.class ).iterator().next(); final CreationalContext cc = beanManager.createCreationalContext( buildChangeListenerBean ); final org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder buildChangeListener = (org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder) beanManager.getReference( buildChangeListenerBean, org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder.class, cc ); final URL resourceUrl = this.getClass().getResource( "/BuildChangeListenerRepo/src/main/resources/add.drl" ); final org.uberfire.java.nio.file.Path nioResourcePath = fs.getPath( resourceUrl.toURI() ); final Path resourcePath = paths.convert( nioResourcePath ); //Perform incremental build (Without a full Build first) buildChangeListener.addResource( resourcePath ); waitForBuildResults(buildResultsObserver); final BuildResults buildResults = buildResultsObserver.getBuildResults(); assertNotNull( buildResults ); assertEquals( 0, buildResults.getErrorMessages().size() ); assertEquals( 1, buildResults.getInformationMessages().size() ); final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNull( incrementalBuildResults ); }
@Test public void testResourceUpdated() throws Exception { final URL resourceUrl = this.getClass().getResource("/BuildChangeListenerRepo/src/main/resources/update.drl"); final org.uberfire.java.nio.file.Path nioResourcePath = fs.getPath(resourceUrl.toURI()); final Path resourcePath = paths.convert(nioResourcePath); //Force full build before attempting incremental changes final KieModule module = moduleService.resolveModule(resourcePath); final BuildResults buildResults = buildService.build(module); assertNotNull(buildResults); assertEquals(0, buildResults.getErrorMessages().size()); assertEquals(1, buildResults.getInformationMessages().size()); //Perform incremental build buildChangeListener.updateResource(resourcePath); waitForIncrementalBuildResults(buildResultsObserver); final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNotNull(incrementalBuildResults); assertEquals(0, incrementalBuildResults.getAddedMessages().size()); assertEquals(0, incrementalBuildResults.getRemovedMessages().size()); }
@Test public void testResourceDeleted() throws Exception { final Bean buildChangeListenerBean = (Bean) beanManager.getBeans( org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder.class ).iterator().next(); final CreationalContext cc = beanManager.createCreationalContext( buildChangeListenerBean ); final org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder buildChangeListener = (org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder) beanManager.getReference( buildChangeListenerBean, org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder.class, cc ); final URL resourceUrl = this.getClass().getResource( "/BuildChangeListenerRepo/src/main/resources/delete.drl" ); final org.uberfire.java.nio.file.Path nioResourcePath = fs.getPath( resourceUrl.toURI() ); final Path resourcePath = paths.convert( nioResourcePath ); //Perform incremental build (Without a full Build first) buildChangeListener.deleteResource( resourcePath ); waitForBuildResults(buildResultsObserver); final BuildResults buildResults = buildResultsObserver.getBuildResults(); assertNotNull( buildResults ); assertEquals( 0, buildResults.getErrorMessages().size() ); assertEquals( 1, buildResults.getInformationMessages().size() ); final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNull( incrementalBuildResults ); }
@Test public void testResourceDeleted() throws Exception { final URL resourceUrl = this.getClass().getResource("/BuildChangeListenerRepo/src/main/resources/delete.drl"); final org.uberfire.java.nio.file.Path nioResourcePath = fs.getPath(resourceUrl.toURI()); final Path resourcePath = paths.convert(nioResourcePath); //Force full build before attempting incremental changes final KieModule module = moduleService.resolveModule(resourcePath); final BuildResults buildResults = buildService.build(module); assertNotNull(buildResults); assertEquals(0, buildResults.getErrorMessages().size()); assertEquals(1, buildResults.getInformationMessages().size()); //Perform incremental build buildChangeListener.deleteResource(resourcePath); waitForIncrementalBuildResults(buildResultsObserver); final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNotNull(incrementalBuildResults); assertEquals(0, incrementalBuildResults.getAddedMessages().size()); assertEquals(0, incrementalBuildResults.getRemovedMessages().size()); }
@Test public void testPomResourceUpdated() throws Exception { //This tests changes pom.xml final Bean buildChangeListenerBean = (Bean) beanManager.getBeans( org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder.class ).iterator().next(); final CreationalContext cc = beanManager.createCreationalContext( buildChangeListenerBean ); final org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder buildChangeListener = (org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder) beanManager.getReference( buildChangeListenerBean, org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder.class, cc ); final URL resourceUrl = this.getClass().getResource( "/BuildChangeListenerRepo/pom.xml" ); final org.uberfire.java.nio.file.Path nioResourcePath = fs.getPath( resourceUrl.toURI() ); final Path resourcePath = paths.convert( nioResourcePath ); //Perform incremental build (Without a full Build first) buildChangeListener.updateResource( resourcePath ); waitForBuildResults(buildResultsObserver); final BuildResults buildResults = buildResultsObserver.getBuildResults(); assertNotNull( buildResults ); assertEquals( 0, buildResults.getErrorMessages().size() ); assertEquals( 1, buildResults.getInformationMessages().size() ); final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNull( incrementalBuildResults ); }
final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNotNull(incrementalBuildResults); assertEquals(0,
final BuildResults buildResults = buildResultsObserver.getBuildResults(); assertNotNull( buildResults ); assertEquals( 0, buildResults.getInformationMessages().size() ); final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNull( incrementalBuildResults );
@Test public void testPomResourceUpdated() throws Exception { //This tests changes pom.xml final URL resourceUrl = this.getClass().getResource("/BuildChangeListenerRepo/pom.xml"); final org.uberfire.java.nio.file.Path nioResourcePath = fs.getPath(resourceUrl.toURI()); final Path resourcePath = paths.convert(nioResourcePath); //Force full build before attempting incremental changes final KieModule module = moduleService.resolveModule(resourcePath); final BuildResults buildResults = buildService.build(module); assertNotNull(buildResults); assertEquals(0, buildResults.getErrorMessages().size()); assertEquals(1, buildResults.getInformationMessages().size()); //Perform incremental build (Without a full Build first) buildChangeListener.updateResource(resourcePath); waitForBuildResults(buildResultsObserver); final BuildResults buildResults2 = buildResultsObserver.getBuildResults(); assertNotNull(buildResults2); assertEquals(0, buildResults.getErrorMessages().size()); assertEquals(1, buildResults.getInformationMessages().size()); final IncrementalBuildResults incrementalBuildResults = buildResultsObserver.getIncrementalBuildResults(); assertNull(incrementalBuildResults); }