The Community Maintained High Velocity Web Framework For Java and Scala.
This report summarizes scanner evidence for playframework/playframework, a Scala project with 12,621 GitHub stars. SynthScan examined 263,872 lines of code across 2173 source files, recording 164 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 3.2 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 54 finding(s).
Are imports declared and package/API names verified? 110 finding(s).
Are wrappers, guards, and repeated structures necessary? 22 finding(s).
Which changes need focused human review? 164 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 164 distinct pattern matches across 8 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | documentation/manual/releases/release21/Migration21.md | 83 | ## play.db.ebean.Model.Finder.join() renamed to fetch() | COMMENT |
| CRITICAL | …l/working/scalaGuide/main/http/code/ScalaResults.scala | 82 | val result = scalaguide.http.scalaresults.full.CodeShow.HTML(Codec.javaSupported("iso-8859-1")) | CODE |
| CRITICAL | …ekko/code/javaguide/pekko/typed/PekkoTypedDocTest.java | 30 | Module module = new javaguide.pekko.typed.oo.multi.AppModule(); | CODE |
| CRITICAL | …aGuide/main/forms/code/javaguide/forms/csrf.scala.html | 5 | @form(CSRF(scalaguide.forms.csrf.routes.ItemsController.save())) { | CODE |
| CRITICAL | …aGuide/main/forms/code/javaguide/forms/csrf.scala.html | 11 | @form(scalaguide.forms.csrf.routes.ItemsController.save()) { | CODE |
| CRITICAL | …aGuide/main/http/code/javaguide/http/JavaResponse.java | 255 | return org.apache.pekko.stream.javadsl.Source.from(byteStrings); | CODE |
| CRITICAL | …aGuide/main/http/code/javaguide/http/JavaResponse.java | 291 | return org.apache.pekko.stream.javadsl.Source.from(byteStrings); | CODE |
| CRITICAL | …de/main/http/code/javaguide/http/JavaSessionFlash.java | 135 | return ok(javaguide.http.views.html.index.render(request.flash())); | CODE |
| CRITICAL | …aguide/http/routing/relative/controllers/Relative.java | 16 | return ok(javaguide.http.routing.relative.views.html.hello.render("Bob", request)); | CODE |
| CRITICAL | …de/javaguide/http/routing/controllers/Application.java | 45 | new javaguide.http.routing.reverse.controllers.routes(); | CODE |
| CRITICAL | …orking/javaGuide/main/ws/code/javaguide/ws/JavaWS.java | 339 | play.libs.ws.ahc.AhcWSClient.create( | CODE |
| CRITICAL | …orking/javaGuide/main/ws/code/javaguide/ws/JavaWS.java | 340 | play.libs.ws.ahc.AhcWSClientConfigFactory.forConfig( | CODE |
| CRITICAL | …ws/src/test/scala/play/api/libs/ws/ahc/AhcWSSpec.scala | 184 | List(new play.shaded.ahc.org.asynchttpclient.Param("param1", "value1")) | CODE |
| CRITICAL | …ws/src/test/scala/play/api/libs/ws/ahc/AhcWSSpec.scala | 222 | List(new play.shaded.ahc.org.asynchttpclient.Param("param1", "value1")) | CODE |
| CRITICAL | …ws/src/test/scala/play/api/libs/ws/ahc/AhcWSSpec.scala | 380 | Results.Ok(play.api.libs.json.Json.parse("""{ | CODE |
| CRITICAL | …/play-ahc-ws/src/main/java/play/test/WSTestClient.java | 86 | return new play.api.libs.ws.ahc.AhcWSClient( | CODE |
| CRITICAL | …/play-ahc-ws/src/main/java/play/test/WSTestClient.java | 87 | new play.api.libs.ws.ahc.StandaloneAhcWSClient(asyncHttpClient, materializer)); | CODE |
| CRITICAL | …ahc-ws/src/main/java/play/libs/ws/ahc/AhcWSClient.java | 63 | return new play.api.libs.ws.ahc.AhcWSClient( | CODE |
| CRITICAL | …ahc-ws/src/main/java/play/libs/ws/ahc/AhcWSClient.java | 64 | new play.api.libs.ws.ahc.StandaloneAhcWSClient( | CODE |
| CRITICAL | …tion-test/src/test/scala/play/it/libs/JavaWSSpec.scala | 151 | val source = org.apache.pekko.stream.javadsl.Source.single(ByteString("abc")) | CODE |
| CRITICAL | …tion-test/src/test/scala/play/it/libs/JavaWSSpec.scala | 171 | val source = org.apache.pekko.stream.javadsl.Source.from(util.Arrays.asList(dp, fp)) | CODE |
| CRITICAL | …tion-test/src/test/scala/play/it/libs/JavaWSSpec.scala | 189 | val source = org.apache.pekko.stream.javadsl.Source.from(util.Arrays.asList(dp, fp)) | CODE |
| CRITICAL | …tion-test/src/test/scala/play/it/libs/JavaWSSpec.scala | 205 | val source = org.apache.pekko.stream.javadsl.Source.from(util.Arrays.asList(dp, fp)) | CODE |
| CRITICAL | …st/src/test/scala/play/it/libs/json/JavaJsonSpec.scala | 87 | play.api.libs.json.jackson.JacksonJson.get.setObjectMapper(null) | CODE |
| CRITICAL | …st/src/test/scala/play/it/libs/json/JavaJsonSpec.scala | 101 | play.api.libs.json.jackson.JacksonJson.get.mapper().getRegisteredModuleIds.asScala must containTheSameElementsAs( | CODE |
| CRITICAL | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 591 | val dataSource = org.apache.pekko.stream.javadsl.Source.from(List("a", "b", "c").asJava) | CODE |
| CRITICAL | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 608 | org.apache.pekko.stream.javadsl.Source.from(util.Arrays.asList(objectNode)) | CODE |
| CRITICAL | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 621 | org.apache.pekko.stream.javadsl.Source.from(List("a", "b").asJava).map { t => EventSource.Event.event(t) } | CODE |
| CRITICAL | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 636 | val dataSource = org.apache.pekko.stream.javadsl.Source.single( | CODE |
| CRITICAL | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 729 | val dataSource = org.apache.pekko.stream.javadsl.Source.from(chunks.asJava) | CODE |
| CRITICAL | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 741 | val dataSource = org.apache.pekko.stream.javadsl.Source.from(chunks.asJava) | CODE |
| CRITICAL | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 753 | val dataSource = org.apache.pekko.stream.javadsl.Source.from(chunks.asJava) | CODE |
| CRITICAL | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 765 | val dataSource = org.apache.pekko.stream.javadsl.Source.from(chunks.asJava) | CODE |
| CRITICAL⚡ | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 776 | val source = org.apache.pekko.stream.javadsl.Source.single(ByteString("entity source")) | CODE |
| CRITICAL⚡ | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 783 | val source = org.apache.pekko.stream.javadsl.Source.single(ByteString("entity source")) | CODE |
| CRITICAL⚡ | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 793 | val source = org.apache.pekko.stream.javadsl.Source.single(ByteString("entity source")) | CODE |
| CRITICAL⚡ | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 803 | val source = org.apache.pekko.stream.javadsl.Source.single(ByteString("entity source")) | CODE |
| CRITICAL | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 880 | val dataSource = org.apache.pekko.stream.javadsl.Source.from(chunks.asJava) | CODE |
| CRITICAL | …/test/scala/play/it/http/JavaResultsHandlingSpec.scala | 887 | val source = org.apache.pekko.stream.javadsl.Source.single(ByteString("entity source")) | CODE |
| CRITICAL | …st/scala/play/it/http/parsing/FormBodyParserSpec.scala | 96 | org.apache.pekko.stream.javadsl.Source.single(ByteString.fromString(bodyString, bodyCharset.getOrElse("UTF-8"))) | CODE |
| CRITICAL | …st/scala/play/it/http/parsing/FormBodyParserSpec.scala | 100 | result.right.get.asScala.view.mapValues(_.toSeq).toMap must_== bodyData | CODE |
| CRITICAL | core/play/src/test/scala/play/api/mvc/RequestSpec.scala | 144 | val peer = PeerEndpoint(com.google.common.net.InetAddresses.forString("127.0.0.1"), None) | CODE |
| CRITICAL | core/play/src/main/java/play/mvc/Http.java | 1639 | return bodyJson(Json.parse(play.api.libs.json.Json.stringify(json))); | CODE |
| CRITICAL | core/play/src/main/java/play/mvc/WebSocket.java | 778 | play.api.libs.streams.PekkoStreams.onlyFirstCanFinishMerge(2), | CODE |
| CRITICAL | core/play/src/main/java/play/mvc/WebSocket.java | 819 | play.api.libs.streams.PekkoStreams.onlyFirstCanFinishMerge(2), | CODE |
| CRITICAL | …play/src/main/java/play/libs/streams/PekkoStreams.java | 40 | play.api.libs.streams.PekkoStreams.onlyFirstCanFinishMerge(2), | CODE |
| CRITICAL | core/play/src/main/scala/play/api/mvc/Cookie.scala | 81 | def asJava: play.mvc.Http.Cookie.SameSite = play.mvc.Http.Cookie.SameSite.parse(value).get | CODE |
| CRITICAL | …/src/main/scala/play/api/data/format/JodaFormats.scala | 41 | val formatter = org.joda.time.format.DateTimeFormat.forPattern(pattern).withZone(timeZone) | CODE |
| CRITICAL | …/src/main/scala/play/api/data/format/JodaFormats.scala | 64 | val formatter = org.joda.time.format.DateTimeFormat.forPattern(pattern) | CODE |
| CRITICAL | web/play-java-forms/src/main/java/play/data/Form.java | 762 | play.api.libs.json.Json.parse(play.libs.Json.stringify(request.body().asJson())), | CODE |
| CRITICAL | web/play-java-forms/src/main/java/play/data/Form.java | 946 | play.api.libs.json.Json.parse(play.libs.Json.stringify(data)), | CODE |
| CRITICAL | web/play-java-forms/src/main/java/play/data/Form.java | 980 | play.api.libs.json.Json.parse(play.libs.Json.stringify(data)), maxChars, maxDepth)), | CODE |
| CRITICAL | …ay-java-forms/src/main/java/play/data/DynamicForm.java | 304 | play.api.libs.json.Json.parse(play.libs.Json.stringify(data)), | CODE |
| CRITICAL | …rs/src/test/scala/play/filters/csp/CSPFilterSpec.scala | 322 | Action { implicit request => Ok(views.html.helper.CSPNonce.get.getOrElse("undefined")) } | CODE |
| CRITICAL | …rs-helpers/src/main/scala/views/html/helper/CSRF.scala | 16 | play.filters.csrf.CSRF.getToken.getOrElse( | CODE |
| CRITICAL | …cala/play/api/db/evolutions/EvolutionsReaderSpec.scala | 23 | java.util.concurrent.TimeUnit.MILLISECONDS.sleep(100L) | CODE |
| CRITICAL | …-pipeline/tests/public/javascripts/jquery-3.7.1.min.js | 2 | !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):f | CODE |
| CRITICAL | …ssets-pipeline/public/javascripts/jquery-1.11.3.min.js | 5 | return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,t | CODE |
| CRITICAL | …in/distribution/public/javascripts/jquery-2.2.0.min.js | 3 | }else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.a | CODE |
| CRITICAL | …g/play-scala/app/play/controllers/HomeController.scala | 35 | ObjectMapperConfigUtil.toConfigJson(play.api.libs.json.jackson.JacksonJson.get.mapper()) | CODE |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …calaGuide/main/tests/code/specs2/UserServiceSpec.scala | 23 | val actual = userService.isAdmin(User("11", "Steve", "user@example.org")) | CODE |
| LOW | …/core/server/common/ForwardedHeaderAuthoritySpec.scala | 175 | "X-Forwarded-Host: user@example.org", | CODE |
| LOW | …erver/common/ForwardedHeaderAtomicValidationSpec.scala | 112 | |Forwarded: for=203.0.113.43;proto=https;host="user@example.org" | CODE |
| LOW | …e/play/src/test/scala/play/mvc/RawBodyParserSpec.scala | 62 | val body = ByteString("lorem ipsum") | CODE |
| LOW | …e/play/src/test/scala/play/mvc/RawBodyParserSpec.scala | 98 | val body = ByteString("lorem ipsum") | CODE |
| LOW | …e/play/src/test/scala/play/mvc/RawBodyParserSpec.scala | 106 | val msg = ByteString("lorem ipsum") | CODE |
| LOW | …/play/src/test/scala/play/mvc/TextBodyParserSpec.scala | 70 | val body = ByteString("lorem ipsum") | CODE |
| LOW | …/play/src/test/scala/play/mvc/TextBodyParserSpec.scala | 74 | case text => text must beEqualTo("lorem ipsum") | CODE |
| LOW | …/play/src/test/scala/play/mvc/TextBodyParserSpec.scala | 112 | val body = ByteString("lorem ipsum") | CODE |
| LOW | …/play/src/test/scala/play/mvc/TextBodyParserSpec.scala | 116 | case text => text must beEqualTo("lorem ipsum") | CODE |
| LOW | …ay/src/test/scala/play/api/mvc/RawBodyParserSpec.scala | 44 | val body = ByteString("lorem ipsum") | CODE |
| LOW | …ay/src/test/scala/play/api/mvc/RawBodyParserSpec.scala | 56 | val body = ByteString("lorem ipsum") | CODE |
| LOW | …ay/src/test/scala/play/api/mvc/RawBodyParserSpec.scala | 81 | val body = ByteString("lorem ipsum") | CODE |
| LOW | …ay/src/test/scala/play/api/mvc/RawBodyParserSpec.scala | 89 | val msg = ByteString("lorem ipsum") | CODE |
| LOW | …y/src/test/scala/play/api/mvc/TextBodyParserSpec.scala | 67 | val body = ByteString("lorem ipsum") | CODE |
| LOW | …y/src/test/scala/play/api/mvc/TextBodyParserSpec.scala | 70 | case text => text must beEqualTo("lorem ipsum") | CODE |
| LOW | …y/src/test/scala/play/api/mvc/TextBodyParserSpec.scala | 99 | val body = ByteString("lorem ipsum") | CODE |
| LOW | …y/src/test/scala/play/api/mvc/TextBodyParserSpec.scala | 102 | case text => text must beEqualTo("lorem ipsum") | CODE |
| LOW | …ay/src/test/scala/play/api/mvc/RequestHeaderSpec.scala | 538 | initialRequestTarget("GET", "urn:example:test", "HTTP/1.1", Headers(HOST -> "user@example.com")) must beLeft | CODE |
| LOW | …/scala/play/api/mvc/request/RequestAuthoritySpec.scala | 162 | RequestAuthority.parseOrThrow("user@example.com") must throwA[IllegalArgumentException] | CODE |
| LOW | …/scala/play/api/mvc/request/RequestAuthoritySpec.scala | 167 | "user@example.com", | CODE |
| LOW | …/scala/play/api/mvc/request/RequestAuthoritySpec.scala | 234 | RequestAuthority.parse("user@example.com") must beLeft.like { | CODE |
| LOW | …/play/src/main/scala/views/helper/inputText.scala.html | 6 | * @inputText(field = myForm("name"), args = Symbol("size") -> 10, Symbol("placeholder") -> "Your name") | COMMENT |
| LOW⚡ | …src/test/scala/play/api/libs/openid/UserInfoSpec.scala | 32 | "openid.ext1.value.email" -> "user@example.com", | CODE |
| LOW⚡ | …src/test/scala/play/api/libs/openid/UserInfoSpec.scala | 42 | "openid.ext1.value.email" -> "user@example.com", // the email attribute *is* in the list of signed fields | CODE |
| LOW⚡ | …src/test/scala/play/api/libs/openid/UserInfoSpec.scala | 46 | userInfo.attributes.get("email") must beSome("user@example.com") | CODE |
| LOW | …lay-java-forms/src/test/scala/play/data/FormSpec.scala | 379 | "emails[1]" -> Array("admin@example.com") | CODE |
| LOW | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 102 | substitutions = Map("table" -> "users", "field" -> "username", "value" -> "John Doe"), | CODE |
| LOW | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 114 | substitutions = Map("table" -> "users", "field" -> "username", "value" -> "John Doe"), | CODE |
| LOW | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 124 | substitutions = Map("table" -> "users", "field" -> "username", "value" -> "John Doe"), | CODE |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 192 | substitutions = Map("taBlE" -> "users", "FIELD" -> "username", "vAlUe" -> "John Doe"), | CODE |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 195 | expectedEscapeDisabled = "INSERT INTO users(username) VALUES ('John Doe')", | CODE |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 196 | expectedEscapeEnabled = "INSERT INTO users(username) VALUES ('John Doe')" | CODE |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 202 | substitutions = Map("taBlE" -> "users", "FIELD" -> "username", "vAlUe" -> "John Doe"), | CODE |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 212 | substitutions = Map("table" -> "users", "field" -> "username", "value" -> "John Doe"), | CODE |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 242 | substitutions = Map("table" -> "users", "field" -> "username", "value" -> "John Doe"), | CODE |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 245 | expectedEscapeDisabled = "INSERT INTO users(username) VALUES ('John Doe')", | CODE |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 246 | expectedEscapeEnabled = "INSERT INTO users(username) VALUES ('John Doe')" | CODE |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 252 | substitutions = Map("table" -> "users", "field" -> "username", "value" -> "John Doe"), | CODE |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 268 | """va/g/d/e^/lue""" -> "John Doe" | STRING |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 272 | expectedEscapeDisabled = "INSERT INTO users(firstname, lastname, age) VALUES ('John Doe')", | CODE |
| LOW⚡ | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 273 | expectedEscapeEnabled = "INSERT INTO users(firstname, lastname, age) VALUES ('John Doe')" | CODE |
| LOW | …cala/play/api/db/evolutions/EvolutionsHelperSpec.scala | 285 | """va/g/d/e^/lue""" -> "John Doe" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …n/manual/releases/release25/migration25/Migration25.md | 175 | ## Replaced static controllers with dependency injection | COMMENT |
| MEDIUM | documentation/manual/releases/release31/Highlights31.md | 25 | Play modules can now override a scope annotation such as `@Singleton` when using Guice, including on classes from librar | CODE |
| MEDIUM | documentation/manual/tutorial/ImplementingHelloWorld.md | 54 | When you add a route to the `routes` file, Play's routes compiler will automatically generate a router class that calls | CODE |
| MEDIUM | …king/scalaGuide/advanced/extending/ScalaPlayModules.md | 9 | A [[module|ScalaDependencyInjection#Play-libraries]] can be written using any dependency injection framework. However, | CODE |
| MEDIUM | …king/scalaGuide/advanced/extending/ScalaPlayModules.md | 34 | Please see [[migration page|PluginsToModules#Wire-it-up]] and [[the dependency injection documentation|ScalaDependencyIn | CODE |
| MEDIUM | …tion/manual/working/scalaGuide/main/forms/ScalaCsrf.md | 170 | ## Using CSRF with compile time dependency injection | COMMENT |
| MEDIUM | …nual/working/commonGuide/pekko/PekkoClusterSharding.md | 19 | ### Runtime dependency injection | COMMENT |
| MEDIUM | …nual/working/commonGuide/pekko/PekkoClusterSharding.md | 23 | ### Compile-time dependency injection | COMMENT |
| MEDIUM | …ntation/manual/working/commonGuide/pekko/PekkoTyped.md | 57 | ### Compile-time dependency injection | COMMENT |
| MEDIUM | …ntation/manual/working/commonGuide/pekko/PekkoTyped.md | 67 | ### Runtime dependency injection | COMMENT |
| MEDIUM | …ntation/manual/working/commonGuide/pekko/PekkoTyped.md | 98 | ### Runtime dependency injection | COMMENT |
| MEDIUM | …ntation/manual/working/commonGuide/pekko/PekkoTyped.md | 102 | ### Compile-time dependency injection | COMMENT |
| MEDIUM | …orking/javaGuide/advanced/extending/JavaPlayModules.md | 9 | A [[module|JavaDependencyInjection#Play-libraries]] can be written using any dependency injection framework. However, w | CODE |
| MEDIUM | …orking/javaGuide/advanced/extending/JavaPlayModules.md | 36 | Please see [[migration page|PluginsToModules#Wire-it-up]] and [[the dependency injection documentation|JavaDependencyInj | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …e/main/application/code/ScalaHttpRequestHandlers.scala | 14 | class SimpleHttpRequestHandler @Inject() (router: Router, action: DefaultActionBuilder) extends HttpRequestHandler { | CODE |
| LOW | …e/main/application/code/ScalaHttpRequestHandlers.scala | 43 | class VirtualHostRequestHandler @Inject() ( | CODE |
| LOW | …http/code/javaguide/http/SimpleHttpRequestHandler.java | 17 | public class SimpleHttpRequestHandler implements HttpRequestHandler { | CODE |
| LOW | …/scala/play/core/server/netty/PlayRequestHandler.scala | 50 | private[play] class PlayRequestHandler( | CODE |
| LOW | …ws/src/test/scala/play/api/libs/ws/ahc/AhcWSSpec.scala | 155 | override def calculateAndAddSignature( | CODE |
| LOW | …/src/main/scala/play/api/libs/ws/ahc/AhcWSModule.scala | 135 | private def getOrCreateCache(cacheManager: CacheManager): JCache[EffectiveURIKey, ResponseEntry] = { | CODE |
| LOW | …figuration/src/main/scala/play/api/Configuration.scala | 238 | def getAndValidate[A](path: String, values: Set[A])(implicit loader: ConfigLoader[A]): A = { | CODE |
| LOW | …tion-test/src/test/scala/play/it/libs/JavaWSSpec.scala | 241 | def calculateAndAddSignature( | CODE |
| LOW | …ion-test/src/test/scala/play/it/libs/ScalaWSSpec.scala | 185 | def calculateAndAddSignature( | CODE |
| LOW | …ion-test/src/test/scala/play/it/libs/ScalaWSSpec.scala | 265 | def calculateAndAddSignature( | CODE |
| LOW | …src/test/scala/play/it/http/JavaCachedActionSpec.scala | 154 | override def getOrElseUpdate[A: ClassTag](key: String, expiration: Duration)(orElse: => Future[A]): Future[A] = { | CODE |
| LOW | …src/main/java/play/http/DefaultHttpRequestHandler.java | 12 | public class DefaultHttpRequestHandler implements HttpRequestHandler { | CODE |
| LOW | …/src/main/scala/play/api/http/HttpRequestHandler.scala | 99 | class DefaultHttpRequestHandler( | CODE |
| LOW | …/src/main/scala/play/api/http/HttpRequestHandler.scala | 276 | class JavaCompatibleHttpRequestHandler( | CODE |
| LOW | …lay/src/main/scala/play/api/data/format/PlayDate.scala | 19 | private[this] def getOrDefault(field: TemporalField, default: Int): Int = { | CODE |
| LOW | …src/main/scala/play/api/cache/ehcache/EhCacheApi.scala | 208 | override def getOrElseUpdate[A: ClassTag](key: String, expiration: Duration)(orElse: => A): A = { | STRING |
| LOW | …src/main/scala/play/api/cache/ehcache/EhCacheApi.scala | 250 | def getOrElseUpdate[A: ClassTag](key: String, expiration: Duration)(orElse: => Future[A]): Future[A] = { | STRING |
| LOW | …ache/src/main/scala/play/api/cache/AsyncCacheApi.scala | 44 | def getOrElseUpdate[A: ClassTag](key: String, expiration: Duration = Duration.Inf)(orElse: => Future[A]): Future[A] | CODE |
| LOW | …cache/src/main/scala/play/api/cache/SyncCacheApi.scala | 41 | def getOrElseUpdate[A: ClassTag](key: String, expiration: Duration = Duration.Inf)(orElse: => A): A | CODE |
| LOW | …cache/src/main/scala/play/api/cache/SyncCacheApi.scala | 66 | def getOrElseUpdate[A: ClassTag](key: String, expiration: Duration)(orElse: => A): A = { | CODE |
| LOW | …n/scala/play/api/cache/caffeine/CaffeineCacheApi.scala | 195 | override def getOrElseUpdate[A: ClassTag](key: String, expiration: Duration)(orElse: => A): A = { | STRING |
| LOW | …n/scala/play/api/cache/caffeine/CaffeineCacheApi.scala | 233 | def getOrElseUpdate[A: ClassTag](key: String, expiration: Duration)(orElse: => Future[A]): Future[A] = { | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | documentation/style/main.css | 81 | #getLogo{text-align:center;}#getLogo h3{font-size:16px;color:#80c846;margin:0 0 15px;} | COMMENT |
| LOW | …vaGuide/main/forms/code/javaguide/forms/JavaForms.java | 641 | } | COMMENT |
| LOW | …/scala/play/core/server/netty/PlayRequestHandler.scala | 321 | // The normal response to read complete is to issue another read, | COMMENT |
| LOW | …ala/play/core/server/common/WebSocketFlowHandler.scala | 121 | // acknowledgment. This guarantees appOut is available whenever a remote message needs to be pushed to it. | COMMENT |
| LOW | …/play/api/libs/logback/LogbackLoggerConfigurator.scala | 81 | // then you will see NullPointerException as the array list loggerContextListenerList | COMMENT |
| LOW | …/play/api/libs/logback/LogbackLoggerConfigurator.scala | 101 | // cost of constructing LogRecord instance regardless of whether the SLF4J logger | COMMENT |
| LOW | …rc/main/scala/play/core/utils/HttpHeaderEncoding.scala | 21 | } | COMMENT |
| LOW | core/play/src/main/scala/play/api/mvc/RangeResult.scala | 181 | def entityLength: Option[Long] | COMMENT |
| LOW | …/src/main/scala/play/api/http/HttpRequestHandler.scala | 201 | // If we've got a BuildLink (i.e. if we're running in dev mode) then run the WebCommands. | COMMENT |
| LOW | …/play/src/main/scala/play/api/controllers/Assets.scala | 181 | // - /a/b | COMMENT |
| LOW | …t/play-specs2/src/main/scala/play/api/test/Specs.scala | 61 | // Scala 2 will always run it for the initialization code of this abstract class (being the init code above where we | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ence/play-jdbc-api/src/main/java/play/db/Database.java | 32 | * <p>Don't forget to release the connection at some point by calling close(). | COMMENT |
| LOW | …ence/play-jdbc-api/src/main/java/play/db/Database.java | 41 | * <p>Don't forget to release the connection at some point by calling close(). | COMMENT |
| LOW | …lay-jdbc-api/src/main/scala/play/api/db/Database.scala | 35 | * Don't forget to release the connection at some point by calling close(). | COMMENT |
| LOW | …lay-jdbc-api/src/main/scala/play/api/db/Database.scala | 44 | * Don't forget to release the connection at some point by calling close(). | COMMENT |
| MEDIUM | dev-mode/sbt-plugin/src/main/scala/sbt/PlayRun.scala | 325 | // Note that I'm unable to pass system properties along with properties... if I do then I receive: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …data/internal/binding/beans/TypeConverterDelegate.java | 212 | // Definitely doesn't match: throw IllegalArgumentException/IllegalStateException | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …src/main/scala/play/api/db/evolutions/Evolutions.scala | 356 | * Execute the following code block with the evolutions for the database, cleaning up afterwards by running the downs. | COMMENT |