File tree Expand file tree Collapse file tree 8 files changed +45
-0
lines changed
test/library-tests/frameworks/spring/data Expand file tree Collapse file tree 8 files changed +45
-0
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ category : minorAnalysis
3
+ ---
4
+ * Added flow summary for ` org.springframework.data.repository.CrudRepository.save() ` .
Original file line number Diff line number Diff line change @@ -120,6 +120,7 @@ private module Frameworks {
120
120
private import semmle.code.java.frameworks.ratpack.RatpackExec
121
121
private import semmle.code.java.frameworks.spring.SpringCache
122
122
private import semmle.code.java.frameworks.spring.SpringContext
123
+ private import semmle.code.java.frameworks.spring.SpringData
123
124
private import semmle.code.java.frameworks.spring.SpringHttp
124
125
private import semmle.code.java.frameworks.spring.SpringUtil
125
126
private import semmle.code.java.frameworks.spring.SpringUi
Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ import semmle.code.java.frameworks.spring.SpringContext
13
13
import semmle.code.java.frameworks.spring.SpringComponentScan
14
14
import semmle.code.java.frameworks.spring.SpringConstructorArg
15
15
import semmle.code.java.frameworks.spring.SpringController
16
+ import semmle.code.java.frameworks.spring.SpringData
16
17
import semmle.code.java.frameworks.spring.SpringDescription
17
18
import semmle.code.java.frameworks.spring.SpringEntry
18
19
import semmle.code.java.frameworks.spring.SpringFlex
Original file line number Diff line number Diff line change
1
+ /**
2
+ * Provides classes and predicates for working with Spring classes and interfaces from
3
+ * `org.springframework.data`.
4
+ */
5
+
6
+ import java
7
+ private import semmle.code.java.dataflow.ExternalFlow
8
+
9
+ /**
10
+ * Provides models for the `org.springframework.data` package.
11
+ */
12
+ private class FlowSummaries extends SummaryModelCsv {
13
+ override predicate row ( string row ) {
14
+ row =
15
+ "org.springframework.data.repository;CrudRepository;true;save;;;Argument[0];ReturnValue;value;manual"
16
+ }
17
+ }
Original file line number Diff line number Diff line change
1
+ import org .springframework .data .repository .CrudRepository ;
2
+
3
+ class Struct {
4
+ public String field ;
5
+ public Struct (String f ){
6
+ this .field = f ;
7
+ }
8
+ }
9
+
10
+ public class Test {
11
+ String source () { return null ; }
12
+ void sink (Object o ) {}
13
+
14
+ void testCrudRepository (CrudRepository <Struct , Integer > cr ) {
15
+ Struct s = new Struct (source ());
16
+ s = cr .save (s );
17
+ sink (s .field ); //$hasValueFlow
18
+ }
19
+ }
Original file line number Diff line number Diff line change
1
+ //semmle-extractor-options: --javac-args -cp ${testdir}/../../../../stubs/spring-data-commons-2.5.1
Original file line number Diff line number Diff line change
1
+ import java
2
+ import TestUtilities.InlineFlowTest
You can’t perform that action at this time.
0 commit comments