Details
Description
The method org.sonar.plugins.squid.bridges.DesignBridge.saveEdge(SourceCodeEdge edge, SensorContext context, Dependency parentDependency) needs to be updated. When the resourceIndex doesn't contain a given Resource, the bridge should not try to save the dependency.
[INFO] Package design analysis... [ERROR] an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session ) org.hibernate.AssertionFailure: null id in org.sonar.api.design.DependencyDto entry (don't flush the Session after an exception occurs) at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:78) [hibernate-c ore-3.3.2.GA.jar:3.3.2.GA] at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:187) [hibernat e-core-3.3.2.GA.jar:3.3.2.GA] at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:143) [hibe rnate-core-3.3.2.GA.jar:3.3.2.GA] at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219) [hibernat e-core-3.3.2.GA.jar:3.3.2.GA] at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java: 99) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:49) [hibernate-core-3.3.2.GA .jar:3.3.2.GA] at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:54) [hibernate-entitymanager-3.4.0.GA.jar:3.4.0.GA] at org.sonar.api.database.DatabaseSession.commit(DatabaseSession.java:77) [sonar-plugin-api-2.1.2.jar:na] at org.sonar.batch.ProjectBatch.commit(ProjectBatch.java:119) [sonar-batch-2.1.2.jar:na] at org.sonar.batch.ProjectBatch.stop(ProjectBatch.java:112) [sonar-batch-2.1.2.jar:na] at org.sonar.batch.ProjectBatch.execute(ProjectBatch.java:59) [sonar-batch-2.1.2.jar:na] at org.sonar.batch.AggregatorBatch.analyzeProject(AggregatorBatch.java:109) [sonar-batch-2.1.2.jar:na] at org.sonar.batch.AggregatorBatch.analyzeProjects(AggregatorBatch.java:101) [sonar-batch-2.1.2.jar:na] at org.sonar.batch.AggregatorBatch.execute(AggregatorBatch.java:85) [sonar-batch-2.1.2.jar:na] at org.sonar.maven2.BatchMojo.executeBatch(BatchMojo.java:149) [sonar-core-maven-plugin-20100616113719.jar:na] at org.sonar.maven2.BatchMojo.execute(BatchMojo.java:131) [sonar-core-maven-plugin-20100616113719.jar:na] at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [maven-2.2.1-uber.jar:2.2.1] at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:82) [sonar-maven-plugin-1.0-beta-1.jar:na] at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:65) [sonar-maven-plugin-1.0-beta-1.jar:na] at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:117) [sonar-maven-plugin-1.0-beta-1.jar:na] at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [maven-2.2.1-uber.jar:2.2.1] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) [maven-2.2.1-uber .jar:2.2.1] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) [maven-2 .2.1-uber.jar:2.2.1] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) [maven-2.2.1-uber. jar:2.2.1] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) [ maven-2.2.1-uber.jar:2.2.1] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284) [maven-2.2 .1-uber.jar:2.2.1] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) [maven-2.2.1-uber.jar: 2.2.1] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) [maven-2.2.1-uber.jar:2.2.1] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) [maven-2.2.1-uber.jar:2.2.1] at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) [maven-2.2.1-uber.jar:2.2.1] at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) [maven-2.2.1-uber.jar:2.2.1] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.6.0_13] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [na:1.6.0_13] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_13] at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_13] at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) [classworlds-1.1.jar:1.1] at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) [classworlds-1.1.jar:1.1] at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) [classworlds-1.1.jar:1.1] at org.codehaus.classworlds.Launcher.main(Launcher.java:375) [classworlds-1.1.jar:1.1] [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Can not execute Sonar