Skip to content

Commit

Permalink
Enable -Werror, -Wunused:imports and fix all warnings using scalafix (#…
Browse files Browse the repository at this point in the history
…290)

* Enable -Wunused:imports

* Fix all imports using scalafix

* Manually fix some imports

* Auto-fix rest of imports

* Manually fix last unused imports in .scala files

* Manually fix more unused imports in core and uploadgui

* Some more...

* Enable -Werror and ignore .scala.{xml,html} files

* Remove redundant: 'import Foo.{Bar, *}'
  • Loading branch information
ggVGc authored Feb 4, 2025
1 parent b95cce0 commit 4e05283
Show file tree
Hide file tree
Showing 234 changed files with 919 additions and 1,959 deletions.
6 changes: 4 additions & 2 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ val commonScalacOptions = Seq(
"-encoding", "UTF-8",
"-unchecked",
"-feature",
"-deprecation"
"-deprecation",
"-Werror",
"-Wunused:imports"
)

lazy val metaCore = (project in file("core"))
Expand Down Expand Up @@ -107,7 +109,7 @@ lazy val meta = (project in file("."))
.settings(
name := "meta",
version := "0.11.0",
scalacOptions ++= commonScalacOptions,
scalacOptions ++= (commonScalacOptions ++ Seq("-Wconf:src=.*(html|xml):s")),

excludeDependencies ++= Seq(
ExclusionRule("com.github.jsonld-java", "jsonld-java"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package se.lu.nateko.cp.meta.core
import java.net.URI
import eu.icoscp.envri.Envri
import se.lu.nateko.cp.meta.core.data.EnvriConfig
import spray.json.{JsonFormat, RootJsonFormat}
import spray.json.RootJsonFormat
import spray.json.DefaultJsonProtocol.*


Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
package se.lu.nateko.cp.meta.core.algo

import se.lu.nateko.cp.meta.core.algo.HierarchicalBitmap

/**
* Factory for HierarchivalBitmap[Long] suitable for representing java.time.Instant keys
* (converted to milliseconds since epoch). Internal constants for hierarchy-coordinate calculation
* algorithm are chosen so that the algorithm works correctly only for years from approximately 1420 AD to 2520 AD
*/
object DatetimeHierarchicalBitmap:
import HierarchicalBitmap.*
import HierarchicalBitmap.{Coord, Geo}

val SpilloverThreshold = 513

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,10 @@ package se.lu.nateko.cp.meta.core.crypto
import spray.json.*
import scala.util.Success
import scala.util.Failure
import DefaultJsonProtocol.*

object JsonSupport{

given RootJsonFormat[Sha256Sum] with{
import se.lu.nateko.cp.meta.core.crypto.Sha256Sum

def write(hash: Sha256Sum) = JsString(hash.base64Url)

def read(value: JsValue): Sha256Sum = value match{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import scala.util.Try
import scala.util.Failure
import scala.util.Success
import scala.util.control.NoStackTrace
import java.net.URI

object GeoJson {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package se.lu.nateko.cp.meta.core.data
import java.time.Instant
import java.net.URI

case class InstrumentDeployment(
instrument: UriResource,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ package se.lu.nateko.cp.meta.core.data

import java.net.URI
import java.time.LocalDate
import scala.util.Try
import spray.json.*
import se.lu.nateko.cp.meta.core.CommonJsonSupport

case class Station(
org: Organization,
Expand Down
18 changes: 4 additions & 14 deletions src/main/scala/se/lu/nateko/cp/meta/CpmetaConfig.scala
Original file line number Diff line number Diff line change
@@ -1,26 +1,16 @@
package se.lu.nateko.cp.meta

import com.typesafe.config.Config
import com.typesafe.config.ConfigFactory
import com.typesafe.config.ConfigRenderOptions
import com.typesafe.config.ConfigValueFactory
import eu.icoscp.envri.Envri
import se.lu.nateko.cp.cpauth.core.ConfigLoader.{appConfig, parseAs}
import se.lu.nateko.cp.cpauth.core.EmailConfig
import se.lu.nateko.cp.cpauth.core.PublicAuthConfig
import se.lu.nateko.cp.cpauth.core.UserId
import se.lu.nateko.cp.doi.core.DoiEndpointConfig
import se.lu.nateko.cp.doi.core.DoiMemberConfig
import se.lu.nateko.cp.cpauth.core.{EmailConfig, PublicAuthConfig}
import se.lu.nateko.cp.doi.core.{DoiEndpointConfig, DoiMemberConfig}
import se.lu.nateko.cp.meta.core.CommonJsonSupport.TypeField
import se.lu.nateko.cp.meta.core.MetaCoreConfig
import se.lu.nateko.cp.meta.core.data.OptionalOneOrSeq
import se.lu.nateko.cp.meta.core.toTypedJson
import se.lu.nateko.cp.meta.persistence.postgres.DbCredentials
import se.lu.nateko.cp.meta.persistence.postgres.DbServer
import se.lu.nateko.cp.meta.core.{MetaCoreConfig, toTypedJson}
import se.lu.nateko.cp.meta.persistence.postgres.{DbCredentials, DbServer}
import spray.json.*

import java.net.URI
import java.net.URL
import java.nio.file.Files
import java.nio.file.attribute.FileTime
import scala.collection.mutable.WeakHashMap
Expand Down
23 changes: 10 additions & 13 deletions src/main/scala/se/lu/nateko/cp/meta/Json.scala
Original file line number Diff line number Diff line change
@@ -1,23 +1,20 @@
package se.lu.nateko.cp.meta

import spray.json.*
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
import akka.http.scaladsl.marshalling.PredefinedToResponseMarshallers.liftMarshaller
import akka.http.scaladsl.marshalling.ToResponseMarshallable
import akka.http.scaladsl.model.{HttpEntity, HttpRequest}
import akka.http.scaladsl.unmarshalling.{FromRequestUnmarshaller, Unmarshaller}
import se.lu.nateko.cp.cpauth.core.UserId
import se.lu.nateko.cp.doi.*
import se.lu.nateko.cp.meta.core.CommonJsonSupport
import se.lu.nateko.cp.meta.core.crypto.JsonSupport.given
import se.lu.nateko.cp.meta.core.data.JsonSupport.given
import se.lu.nateko.cp.doi.*
import scala.util.Failure
import scala.util.Success
import akka.http.scaladsl.marshalling.ToResponseMarshaller
import akka.http.scaladsl.marshalling.PredefinedToResponseMarshallers.liftMarshaller
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
import akka.http.scaladsl.marshalling.ToResponseMarshallable
import akka.http.scaladsl.unmarshalling.FromRequestUnmarshaller
import akka.http.scaladsl.unmarshalling.Unmarshaller
import akka.http.scaladsl.model.HttpRequest
import akka.http.scaladsl.model.HttpEntity
import se.lu.nateko.cp.meta.core.data.GeoFeature
import se.lu.nateko.cp.meta.core.data.JsonSupport.given
import spray.json.*

import java.net.URI
import scala.util.{Failure, Success}

trait CpmetaJsonProtocol extends CommonJsonSupport{
import DefaultJsonProtocol.*
Expand Down
12 changes: 5 additions & 7 deletions src/main/scala/se/lu/nateko/cp/meta/Main.scala
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
package se.lu.nateko.cp.meta

import akka.actor.ActorSystem
import akka.event.Logging
import akka.http.scaladsl.Http
import akka.stream.Materializer
import se.lu.nateko.cp.cpauth.core.ConfigLoader.appConfig
import se.lu.nateko.cp.meta.core.data.EnvriConfigs
import se.lu.nateko.cp.meta.metaflow.MetaFlow
import se.lu.nateko.cp.meta.routes.MainRoute
import se.lu.nateko.cp.meta.services.citation.CitationClient.readCitCache
import se.lu.nateko.cp.meta.services.citation.CitationClient.readDoiCache
import se.lu.nateko.cp.meta.services.sparql.magic.index.IndexData
import se.lu.nateko.cp.meta.services.citation.CitationClient.{readCitCache, readDoiCache}
import se.lu.nateko.cp.meta.services.sparql.magic.IndexHandler
import scala.concurrent.Await
import scala.concurrent.Future
import se.lu.nateko.cp.meta.services.sparql.magic.index.IndexData

import scala.concurrent.duration.DurationInt
import akka.event.Logging
import scala.concurrent.ExecutionContext
import scala.concurrent.{Await, ExecutionContext, Future}

object Main extends App with CpmetaJsonProtocol{

Expand Down
51 changes: 14 additions & 37 deletions src/main/scala/se/lu/nateko/cp/meta/MetaDb.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,60 +2,37 @@ package se.lu.nateko.cp.meta

import akka.Done
import akka.actor.ActorSystem
import akka.event.Logging
import akka.stream.Materializer
import eu.icoscp.envri.Envri
import org.eclipse.rdf4j.model.IRI
import org.eclipse.rdf4j.model.ValueFactory
import org.eclipse.rdf4j.model.{IRI, ValueFactory}
import org.eclipse.rdf4j.repository.Repository
import org.eclipse.rdf4j.repository.sail.SailRepository
import org.semanticweb.owlapi.apibinding.OWLManager
import se.lu.nateko.cp.meta.api.RdfLens
import se.lu.nateko.cp.meta.api.RdfLenses
import se.lu.nateko.cp.meta.api.SparqlServer
import se.lu.nateko.cp.meta.core.data.EnvriConfigs
import se.lu.nateko.cp.meta.core.data.flattenToSeq
import se.lu.nateko.cp.meta.ingestion.BnodeStabilizers
import se.lu.nateko.cp.meta.ingestion.Extractor
import se.lu.nateko.cp.meta.ingestion.Ingester
import se.lu.nateko.cp.meta.ingestion.Ingestion
import se.lu.nateko.cp.meta.ingestion.StatementProvider
import se.lu.nateko.cp.meta.instanceserver.InstanceServer
import se.lu.nateko.cp.meta.instanceserver.LoggingInstanceServer
import se.lu.nateko.cp.meta.instanceserver.Rdf4jInstanceServer
import se.lu.nateko.cp.meta.instanceserver.TriplestoreConnection
import se.lu.nateko.cp.meta.instanceserver.WriteNotifyingInstanceServer
import se.lu.nateko.cp.meta.onto.InstOnto
import se.lu.nateko.cp.meta.onto.Onto
import se.lu.nateko.cp.meta.api.{RdfLens, RdfLenses, SparqlServer}
import se.lu.nateko.cp.meta.core.data.{EnvriConfigs, flattenToSeq}
import se.lu.nateko.cp.meta.ingestion.{BnodeStabilizers, Extractor, Ingester, Ingestion, StatementProvider}
import se.lu.nateko.cp.meta.instanceserver.{InstanceServer, LoggingInstanceServer, Rdf4jInstanceServer, TriplestoreConnection, WriteNotifyingInstanceServer}
import se.lu.nateko.cp.meta.onto.{InstOnto, Onto}
import se.lu.nateko.cp.meta.persistence.RdfUpdateLogIngester
import se.lu.nateko.cp.meta.persistence.postgres.PostgresRdfLog
import se.lu.nateko.cp.meta.services.FileStorageService
import se.lu.nateko.cp.meta.services.Rdf4jSparqlRunner
import se.lu.nateko.cp.meta.services.ServiceException
import se.lu.nateko.cp.meta.services.citation.CitationClient.CitationCache
import se.lu.nateko.cp.meta.services.citation.CitationClient.DoiCache
import se.lu.nateko.cp.meta.services.citation.CitationClient.{CitationCache, DoiCache}
import se.lu.nateko.cp.meta.services.citation.CitationProvider
import se.lu.nateko.cp.meta.services.labeling.StationLabelingService
import se.lu.nateko.cp.meta.services.linkeddata.Rdf4jUriSerializer
import se.lu.nateko.cp.meta.services.linkeddata.UriSerializer
import se.lu.nateko.cp.meta.services.linkeddata.{Rdf4jUriSerializer, UriSerializer}
import se.lu.nateko.cp.meta.services.sparql.Rdf4jSparqlServer
import se.lu.nateko.cp.meta.services.sparql.magic.index.IndexData
import se.lu.nateko.cp.meta.services.sparql.magic.CpNotifyingSail
import se.lu.nateko.cp.meta.services.sparql.magic.GeoIndexProvider
import se.lu.nateko.cp.meta.services.sparql.magic.IndexHandler
import se.lu.nateko.cp.meta.services.sparql.magic.StorageSail
import se.lu.nateko.cp.meta.services.upload.DataObjectInstanceServers
import se.lu.nateko.cp.meta.services.upload.StaticObjectReader
import se.lu.nateko.cp.meta.services.upload.UploadService
import se.lu.nateko.cp.meta.services.sparql.magic.{CpNotifyingSail, GeoIndexProvider, IndexHandler, StorageSail}
import se.lu.nateko.cp.meta.services.upload.etc.EtcUploadTransformer
import se.lu.nateko.cp.meta.services.upload.{DataObjectInstanceServers, StaticObjectReader, UploadService}
import se.lu.nateko.cp.meta.services.{FileStorageService, Rdf4jSparqlRunner, ServiceException}
import se.lu.nateko.cp.meta.utils.async.ok
import se.lu.nateko.cp.meta.utils.rdf4j.toRdf

import java.net.URI
import java.util.concurrent.Executors
import scala.concurrent.ExecutionContext
import scala.concurrent.Future
import scala.util.{Success, Failure}
import akka.event.Logging
import scala.concurrent.{ExecutionContext, Future}
import scala.util.{Failure, Success}


class MetaDb (
Expand Down
9 changes: 4 additions & 5 deletions src/main/scala/se/lu/nateko/cp/meta/UploadDtos.scala
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package se.lu.nateko.cp.meta

import java.net.URI
import java.time.Instant

import se.lu.nateko.cp.doi.*
import se.lu.nateko.cp.meta.core.crypto.Sha256Sum
import se.lu.nateko.cp.meta.core.data.*
import se.lu.nateko.cp.doi.*
import scala.util.Try

import java.net.URI
import java.time.Instant

sealed trait UploadDto{
def submitterId: String
Expand Down
14 changes: 5 additions & 9 deletions src/main/scala/se/lu/nateko/cp/meta/api/CustomVocab.scala
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
package se.lu.nateko.cp.meta.api

import java.net.URI
import java.time.Instant
import java.time.LocalDate
import java.time.LocalDateTime

import org.eclipse.rdf4j.model.Literal
import org.eclipse.rdf4j.model.IRI
import org.eclipse.rdf4j.model.ValueFactory
import org.eclipse.rdf4j.model.vocabulary.XSD
import org.eclipse.rdf4j.model.{IRI, Literal, ValueFactory}

import java.net.URI
import java.time.{Instant, LocalDate, LocalDateTime}

trait CustomVocab {
import CustomVocab.urlEncode

def factory: ValueFactory

protected class BaseUriProvider(val baseUri: String)
Expand Down
29 changes: 7 additions & 22 deletions src/main/scala/se/lu/nateko/cp/meta/api/HandleNetClient.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,13 @@ package se.lu.nateko.cp.meta.api

import akka.Done
import akka.actor.ActorSystem
import akka.http.scaladsl.ConnectionContext
import akka.http.scaladsl.Http
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.*
import akka.http.scaladsl.marshalling.Marshal
import akka.http.scaladsl.model.HttpMethods
import akka.http.scaladsl.model.HttpRequest
import akka.http.scaladsl.model.HttpResponse
import akka.http.scaladsl.model.RequestEntity
import akka.http.scaladsl.model.StatusCodes
import akka.http.scaladsl.model.Uri
import akka.http.scaladsl.model.headers.RawHeader
import akka.http.scaladsl.model.{HttpMethods, HttpRequest, HttpResponse, RequestEntity, Uri}
import akka.http.scaladsl.unmarshalling.Unmarshal
import akka.http.scaladsl.{ConnectionContext, Http}
import akka.stream.Materializer
import com.typesafe.sslconfig.akka.AkkaSSLConfig
import eu.icoscp.envri.Envri
import se.lu.nateko.cp.meta.HandleNetClientConfig
import se.lu.nateko.cp.meta.core.crypto.Sha256Sum
Expand All @@ -24,20 +17,12 @@ import se.lu.nateko.cp.meta.utils.async.*

import java.io.FileInputStream
import java.net.URI
import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths
import java.security.KeyFactory
import java.security.KeyStore
import java.security.SecureRandom
import java.nio.file.{Files, Path, Paths}
import java.security.cert.CertificateFactory
import java.security.interfaces.RSAPrivateKey
import java.security.interfaces.RSAPublicKey
import java.security.spec.PKCS8EncodedKeySpec
import java.security.spec.X509EncodedKeySpec
import javax.net.ssl.KeyManagerFactory
import javax.net.ssl.SSLContext
import javax.net.ssl.TrustManagerFactory
import java.security.interfaces.{RSAPrivateKey, RSAPublicKey}
import java.security.spec.{PKCS8EncodedKeySpec, X509EncodedKeySpec}
import java.security.{KeyFactory, KeyStore, SecureRandom}
import javax.net.ssl.{KeyManagerFactory, SSLContext, TrustManagerFactory}
import scala.concurrent.Future
import scala.concurrent.duration.DurationInt

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
package se.lu.nateko.cp.meta.api

import se.lu.nateko.cp.meta.core.data.FeatureCollection
import se.lu.nateko.cp.meta.core.data.GeoFeature
import se.lu.nateko.cp.meta.core.data.Person
import se.lu.nateko.cp.meta.core.data.Position
import se.lu.nateko.cp.meta.core.data.Station
import se.lu.nateko.cp.meta.metaflow.Role
import se.lu.nateko.cp.meta.services.citation.AttributionProvider
import spray.json.*
Expand Down
2 changes: 1 addition & 1 deletion src/main/scala/se/lu/nateko/cp/meta/api/RdfLenses.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package se.lu.nateko.cp.meta.api

import eu.icoscp.envri.Envri
import org.eclipse.rdf4j.model.ValueFactory
import se.lu.nateko.cp.meta.MetaFlowConfig
import se.lu.nateko.cp.meta.instanceserver.TriplestoreConnection
import se.lu.nateko.cp.meta.utils.Validated
import se.lu.nateko.cp.meta.utils.Validated.getOrElseV
Expand All @@ -10,7 +11,6 @@ import se.lu.nateko.cp.meta.utils.rdf4j.toRdf
import java.net.URI

import RdfLens.*
import se.lu.nateko.cp.meta.MetaFlowConfig


type RdfLens[C <: TriplestoreConnection] = TriplestoreConnection ?=> C
Expand Down
Loading

0 comments on commit 4e05283

Please sign in to comment.